Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r16824 -r16856
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 16824)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 16856)
@@ -356,7 +356,8 @@
{hidden :SSTS_ForeignTousse_Recyc_Menu,text:"外来器械包管理",href:WWWROOT+'/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp?editMode=true',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_TousseInstanceManager_ViewMenu,text:"器械包信息",href:WWWROOT+'/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp',hrefTarget:linkTarget,leaf:true},
{hidden :SSTS_TousseInstanceManager_ViewMenu,text:"器械包库存",href:WWWROOT+'/disinfectsystem/toussemanager/toussegoodsstock/tousseGoodsStockView.jsp',hrefTarget:linkTarget,leaf:true},
- {hidden :(!sstsConfig.hasOwnProperty('disabeleTousseMaintain')) || sstsConfig.disabeleTousseMaintain,text:"器械包保养",href:WWWROOT+'/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp',hrefTarget:linkTarget,leaf:true}
+ {hidden :(!sstsConfig.hasOwnProperty('disabeleTousseMaintain')) || sstsConfig.disabeleTousseMaintain,text:"器械包保养",href:WWWROOT+'/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp',hrefTarget:linkTarget,leaf:true},
+ {hidden :SSTS_ComboTousseManager,text:"聚合包定义管理",href:WWWROOT+'/disinfectsystem/basedatamanager/tousse/comboTousse.jsp?editMode=true',hrefTarget:linkTarget,leaf:true}
]
},{
text:"干预管理",
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/ComboTousseComposite.java
===================================================================
diff -u -r16806 -r16856
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/ComboTousseComposite.java (.../ComboTousseComposite.java) (revision 16806)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/ComboTousseComposite.java (.../ComboTousseComposite.java) (revision 16856)
@@ -40,6 +40,11 @@
*/
private Long tousseDefinitionId;
+ /**
+ * 序列,用来保存聚合包下的器械包顺序
+ */
+ private Integer sequence;
+
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public Long getId() {
@@ -65,5 +70,12 @@
public void setTousseDefinitionId(Long tousseDefinitionId) {
this.tousseDefinitionId = tousseDefinitionId;
}
-
+
+ public Integer getSequence() {
+ return sequence;
+ }
+
+ public void setSequence(Integer sequence) {
+ this.sequence = sequence;
+ }
}
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/tousse/comboTousse.js (revision 16856)
@@ -0,0 +1,318 @@
+var entityName = "器械包管理";
+var grid;
+var toussePackingTearchingStore;
+
+function moveUp2(id) {
+ ImageFileTableManager.moveUpImageFile(id, function () {
+ toussePackingTearchingStore.reload();
+ });
+}
+function moveDown2(id) {
+ ImageFileTableManager.moveDownImageFile(id, function () {
+ toussePackingTearchingStore.reload();
+ });
+}
+
+function updateVideoUploadStatus(videoType, objectId) {
+ TousseDefinitionTableManager.updateVideoUploadStatus(objectId, videoType);
+}
+
+// 删除
+function deleteTousse(grid) {
+
+ var records = grid.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult("请选择要删除的器械包!");
+ return false;
+ }
+ var ids = null;
+ for (var i = 0, len = records.length; i < len; i++) {
+ if (ids == null) {
+ ids = records[i].data['id'];
+ } else {
+ ids = ids + ';' + records[i].data['id'];
+ }
+ }
+ top.Ext.MessageBox.confirm("请确认", "是否确定要删除选中的器械包信息?",
+ function (button, text) {
+ if ("yes" == button)
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!deleteTousseDefinition.do',
+ params: {ids: ids},
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ var success = result.success;
+ if (true != success) {
+ showResult(result.cause);
+ return;
+ } else {
+ showResult('删除成功');
+ grid.dwrReload();
+ }
+ },
+ failure: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ showResult(result.cause);
+ }
+ });
+ });
+
+}
+
+function printTousseDefinitionMaterial(ids) {
+ TousseDefinitionTableManager.getTousseDefinition(ids, function (jsonStr) {
+ var result = JSON.parse(jsonStr);
+ if (result.success) {
+ var tousses = result.tousseDefinitions;
+ if (tousses != null && tousses.length > 0) {
+ top.Ext.Msg.show({
+ title: '输入打印份数',
+ msg: '打印份数:',
+ width: 100,
+ buttons: Ext.MessageBox.OKCANCEL,
+ prompt: true,
+ fn: function (bu, txt) {
+ if (bu == 'ok') {
+ if (isNaN(txt) == false) {
+ Ext.MessageBox.progress('打印中', '请稍候...');
+ var curNumber = 0;
+ var count = Number(txt) * tousses.length;
+ for (var j = 0; j < Number(txt); j++) {
+ for (var i = 0; i < tousses.length; i++) {
+ var toussedef = tousses[i];
+ ++curNumber;
+ Ext.MessageBox.updateProgress((curNumber) / count, '第' + (curNumber) + '个,共' + count + '个');
+ printTousseDefinitionMaterialsInTousseView(toussedef, 0);
+ }
+ }
+ hideMessageBox(false);
+ } else {
+ showResult("打印份数必须是数字,请重新输入!");
+ }
+ }
+ },
+ animEl: 'addAddressBtn',
+ value: '1'
+ });
+ }
+ }
+ });
+}
+
+var refresh = function () {
+ grid.dwrReload();
+ grid.store.reload();
+};
+
+var loadFormData = function (grid) {
+ var records = grid.getSelectionModel().getSelections();
+ if (records.length == 0) {
+ showResult("请选择要修改的器械包!");
+ return false;
+ }
+ if (records.length > 1) {
+ showResult("一次只能修改一个器械包!");
+ return false;
+ }
+ id = records[0].data['id'];
+ var type = records[0].data['tousseType'];
+ if (type == PACKAGE_TYPE_FOREIGN) {
+ addAndEditForeignTousseDefinition(id);
+ } else if (type == PACKAGE_TYPE_CUSTOM) {
+ addAndEditCustomTousse(null, id, "00", refresh);
+ } else {
+ addAndEditTousse(id, records[0].data['isUploadVideo']);
+ }
+
+};
+
+/**
+ * 修改记录
+ * modifyRecord函数 触发modify函数调用,并传入当前列的值以及record.data对象
+ * 页面中需要定义 modify(v,data) 函数
+ */
+function modify(v, data) {
+ loadFormData(grid);
+}
+
+function str_no(v, data) {
+ if (v == "否") {
+ return "
" + v + "
";
+ } else {
+ return v;
+ }
+}
+
+function isDisable(v, data) {
+ if (v == "是") {
+ return "" + v + "
";
+ } else {
+ return v;
+ }
+}
+
+Ext.onReady(function () {
+ Ext.QuickTips.init();
+ // 记录cookie(3步)
+ $Id('parm_s_onlyShowDisable').value = onlyShowDisable;
+ var columns = [
+ {header: "器械包名称", width: 180, dataIndex: 'name', renderer: modifyRecord},
+ {header: "器械包类别", width: 90, dataIndex: 'tousseType'},
+ {
+ header: "装配类型",
+ width: 100,
+ dataIndex: 'packageType',
+ hidden: !sstsConfig.showTaskGroupAndPackageTypeAndSterilingMethod
+ },
+ {
+ header: "灭菌程序",
+ width: 80,
+ dataIndex: 'sterilingMethod',
+ hidden: !sstsConfig.showTaskGroupAndPackageTypeAndSterilingMethod
+ },
+ {
+ header: "所属任务组",
+ width: 100,
+ dataIndex: 'taskGroup',
+ hidden: !sstsConfig.showTaskGroupAndPackageTypeAndSterilingMethod
+ },
+ {header: "价格(元)", width: 65, dataIndex: 'price'},
+ {header: "借出单价(元/天)", width: 100, dataIndex: 'borrowPrice'},
+ {header: "大小", width: 60, dataIndex: 'packageSize'},
+ {header: "外部编码", width: 60, dataIndex: 'externalCode'},
+ {header: "已上传图片", width: 80, dataIndex: 'isUploadImage', renderer: str_no},
+ {header: "已上传视频", width: 80, dataIndex: 'isUploadVideo', renderer: str_no},
+ {header: "是否回收", width: 80, dataIndex: 'isRecycling', renderer: str_no},
+ {header: "是否装配", width: 80, dataIndex: 'isPacking', renderer: str_no},
+ {header: "是否打印", width: 80, dataIndex: 'isPrint', renderer: str_no},
+ {header: "是否追溯", width: 80, dataIndex: 'isTraceable', renderer: str_no},
+ {header: "是否审核", width: 80, dataIndex: 'isReview', renderer: str_no},
+ {header: "是否停用", width: 80, dataIndex: 'isDisable', renderer: isDisable},
+ {header: "拼音码", width: 80, dataIndex: 'spelling'},
+ {id: 'wbCode', header: "五笔码", width: 80, dataIndex: 'wbCode'}
+ ];
+
+ var readerDetail = [
+ {name: 'id'},
+ {name: 'name'},
+ {name: 'tousseType'},
+ {name: 'packageType'},
+ {name: 'sterilingMethod'},
+ {name: 'taskGroup'},
+ {name: 'price'},
+ {name: 'isPacking'},
+ {name: 'isRecycling'},
+ {name: 'isPrint'},
+ {name: 'isTraceable'},
+ {name: 'isReview'},
+ {name: 'borrowPrice'},
+ {name: 'packageSize'},
+ {name: 'externalCode'},
+ {name: 'isUploadImage'},
+ {name: 'isUploadVideo'},
+ {name: 'spelling'},
+ {name: 'isDisable'},
+ {name: 'wbCode'}
+ ];
+
+ var filters = new Ext.grid.GridFilters({
+ filters: [
+ {type: 'string', dataIndex: 'name'},
+ {type: 'string', dataIndex: 'tousseType'},
+ {type: 'string', dataIndex: 'isUploadImage'},
+ {type: 'numeric', dataIndex: 'price'},
+ {type: 'string', dataIndex: 'size'},
+ {type: 'string', dataIndex: 'spelling'},
+ {type: 'string', dataIndex: 'wbCode'},
+ {type: 'string', dataIndex: 'isPacking'},
+ {type: 'string', dataIndex: 'isRecycling'},
+ {type: 'string', dataIndex: 'isPrint'},
+ {type: 'string', dataIndex: 'isTraceable'},
+ {type: 'string', dataIndex: 'isReview'},
+ {type: 'numeric', dataIndex: 'borrowPrice'},
+ {type: 'string', dataIndex: 'packageSize'}
+ ]
+ });
+
+
+ var sign = true;
+ var tbar = [{
+ text: '添加',
+ hidden: SSTS_ComboTousse_add,
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ addAndEditTousse(0, '否');
+ }
+ }, '-', {
+ text: '添加外来器械包',
+ hidden: true,
+ iconCls: 'btn_ext_add_foreignTousse',
+ handler: function () {
+ addAndEditForeignTousseDefinition(0);
+ }
+ }, '-', {
+ text: '修改',
+ hidden: SSTS_ComboTousse_update,
+ iconCls: 'btn_ext_application_edit',
+ id: 'editTbar',
+ handler: function () {
+ loadFormData(grid);
+ }
+ }, '-', {
+ text: '删除',
+ hidden: SSTS_ComboTousse_delete,
+ iconCls: 'btn_ext_application_del',
+ handler: function () {
+ deleteTousse(grid);
+ }
+ }/*,'-'*/, {
+ text: '打印器械包明细单',
+ hidden: SSTS_ComboTousse_delete,
+ iconCls: 'icon_print',
+ handler: function () {
+ var rows = grid.getSelectionModel().getSelections();
+ if (rows.length == 0) {
+ showResult('请选择需要打印的器械包!');
+ return;
+ }
+ var ids = [];
+ for (var i = 0; i < rows.length; ++i) {
+ ids.push(rows[i].get("id"));
+ }
+ printTousseDefinitionMaterial(ids.join(';'));
+ }
+ }];
+ var dwrCallParams = null;
+
+ Ext.ux.ForgonPageGrid.prototype.getGridParameterMap = function () {
+ };
+
+ grid = new Ext.ux.ForgonPageGrid({
+ title: '器械包列表',
+ tbar: tbar,
+ pageSize: 20,
+ defaultSortField: 'id',
+ defaultSortDirection: 'ASC',
+ isCheckboxSelectionModel: true,
+ rememberSelected: false,
+ isShowSearchField: true,
+ columns: columns,
+ plugins: filters,
+ autoExpandColumn: 'wbCode',
+ searchDisableIndexes: ['isUploadImage', 'isUploadVideo'],
+ renderTo: 'gridDiv',
+ frame: false
+ }, readerDetail, TousseDefinitionTableManager.findTousseDefinitionTableList, dwrCallParams // 这个参数只是占位作用
+ );
+
+ var viewport = new Ext.Viewport({
+ layout: 'border',
+ items: [{
+ region: 'center',
+ margins: '0 0 0 0',
+ layout: 'fit',
+ items: grid
+ }]
+ });
+});
\ No newline at end of file
Index: ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml
===================================================================
diff -u -r16820 -r16856
--- ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 16820)
+++ ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 16856)
@@ -176,6 +176,8 @@
+
+
Index: forgon-tools/src/main/java/com/forgon/tools/hibernate/ObjectDao.java
===================================================================
diff -u -r16654 -r16856
--- forgon-tools/src/main/java/com/forgon/tools/hibernate/ObjectDao.java (.../ObjectDao.java) (revision 16654)
+++ forgon-tools/src/main/java/com/forgon/tools/hibernate/ObjectDao.java (.../ObjectDao.java) (revision 16856)
@@ -3,6 +3,7 @@
import java.sql.ResultSet;
import java.util.Collection;
import java.util.List;
+import java.util.Map;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
@@ -165,4 +166,22 @@
* @return
*/
public List getCollection_ForUpdate(String objectPOName,String propertyName,Collection values);
+
+
+ /**
+ * 使用预编译的本地sql查询
+ * @param sql 要查询的sql
+ * @param condition 预编译的条件(list类型)
+ * @return
+ */
+ List