Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeView.jsp
===================================================================
diff -u -r12331 -r15002
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeView.jsp (.../supplyRoomTypeView.jsp) (revision 12331)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeView.jsp (.../supplyRoomTypeView.jsp) (revision 15002)
@@ -8,6 +8,8 @@
<%@ include file="/common/includeExtJsAndCss.jsp"%>
+
+
Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js
===================================================================
diff -u -r14921 -r15002
--- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 14921)
+++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeForm.js (.../supplyRoomTypeForm.js) (revision 15002)
@@ -23,11 +23,6 @@
if (rows) {
for ( var i = 0; i < rows.length; i++) {
supplyRoom1Store3.remove(rows[i]);
- supplyRoom1Store3.each(function(record){
- if (record.get('sequence') > rows[i].data.sequence) {
- record.set('sequence',record.get('sequence') - 1);
- }
- });
}
}
};
@@ -41,18 +36,19 @@
}
};
+function setRecordSequence(store){
+ for(var i=0;i rows[i].data.sequence) {
- record.set('sequence', parseInt(record.get('sequence')) - 1);
- }
- });
- rows[i].set('sequence',total);
supplyRoom1Store3.remove(rows[i]);
supplyRoom1Store3.insert(total - 1, rows[i]);
}
@@ -162,7 +146,8 @@
{name : 'id'},
{name : 'departId'},
{name : 'name'},
- {name : 'sequence'}
+ {name : 'sequence'},
+ {name : 'newSequence'}
]
});
@@ -318,47 +303,19 @@
{name : 'name'}
]);
+ function setRecordSequenceAndGetSupplyRoomItemsStr(store){
+ setRecordSequence(store);// 设置序号
+ return buildJSONStringFromStore(store);
+ }
function getGridData() {
- var result = "";
- for ( var i = 0; i < supplyRoom1Store.getCount(); i++) {
- var record = supplyRoom1Store.getAt(i);
- if (result == null || result.length <= 0) {
- result = record.get('id') + "," +record.get('departId') + "," + record.get('name');
- } else {
- result += ";" + record.get('id') + "," +record.get('departId') + "," + record.get('name');
- }
- }
- $Id('supplyRoom_type_1').value = result;
- result = "";
- for ( var i = 0; i < supplyRoom1Store2.getCount(); i++) {
- var record = supplyRoom1Store2.getAt(i);
- if (result == null || result.length <= 0) {
- result = record.get('id') + "," +record.get('departId') + "," + record.get('name');
- } else {
- result += ";" + record.get('id') + "," +record.get('departId') + "," + record.get('name');
- }
- }
- $Id('supplyRoom_type_2').value = result;
- result = "";
- for ( var i = 0; i < supplyRoom1Store3.getCount(); i++) {
- var record = supplyRoom1Store3.getAt(i);
- if (result == null || result.length <= 0) {
- result = record.get('id') + "," +record.get('departId') + "," + record.get('name') + "," + record.get('sequence');
- } else {
- result += ";" + record.get('id') + "," +record.get('departId') + "," + record.get('name') + "," + record.get('sequence');
- }
- }
- $Id('supplyRoom_type_3').value = result;
- result = "";
- for ( var i = 0; i < supplyRoom1Store4.getCount(); i++) {
- var record = supplyRoom1Store4.getAt(i);
- if (result == null || result.length <= 0) {
- result = record.get('id') + "," +record.get('departId') + "," + record.get('name');
- } else {
- result += ";" + record.get('id') + "," +record.get('departId') + "," + record.get('name');
- }
- }
- $Id('supplyRoom_type_4').value = result;
+
+ $Id('supplyRoom_type_1').value = setRecordSequenceAndGetSupplyRoomItemsStr(supplyRoom1Store);
+ // 二级供应室
+ $Id('supplyRoom_type_2').value = setRecordSequenceAndGetSupplyRoomItemsStr(supplyRoom1Store2);
+ // 科室申领配置
+ $Id('supplyRoom_type_3').value = setRecordSequenceAndGetSupplyRoomItemsStr(supplyRoom1Store3);
+ // 结算科室配置
+ $Id('supplyRoom_type_4').value = setRecordSequenceAndGetSupplyRoomItemsStr(supplyRoom1Store4);
}
//验证科室是否重复添加
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java
===================================================================
diff -u -r14990 -r15002
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 14990)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/service/SupplyRoomConfigManagerImpl.java (.../SupplyRoomConfigManagerImpl.java) (revision 15002)
@@ -61,14 +61,6 @@
@Override
public void saveOrUpdate(SupplyRoomConfig supplyRoomConfig) {
// 类型为零是系统级别的参数,要过滤掉,否则会报空指针异常
- // 申领科室排序
- if (!supplyRoomConfig.getSupplyRoomType().equals(
- SupplyRoomConfig.SUPPLYROOM_TYPE_0)) {
- int maxSeq = this
- .getMaxSequenceFromSupplyRoomConfig(supplyRoomConfig
- .getSupplyRoomType());
- supplyRoomConfig.setSequence(maxSeq + 1);
- }
objectDao.saveOrUpdate(supplyRoomConfig);
}
Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java
===================================================================
diff -u -r14990 -r15002
--- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 14990)
+++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/supplyroomconfig/action/SupplyRoomConfigAction.java (.../SupplyRoomConfigAction.java) (revision 15002)
@@ -32,6 +32,8 @@
import com.forgon.systemsetting.service.HttpOptionManager;
import com.forgon.tools.Constants;
import com.forgon.tools.StrutsParamUtils;
+import com.forgon.tools.StrutsResponseUtils;
+import com.forgon.tools.db.DatabaseUtil;
import com.forgon.tools.hibernate.ObjectDao;
import com.forgon.tools.json.JSONUtil;
import com.forgon.tools.util.SqlUtils;
@@ -506,33 +508,37 @@
// 结算科室
getSupplyRoomConfigIds(supplyRoom_type_4, ids);
}
- private void processSupplyRoomCongfig(int supplyRoomType,String supplyRoom_type,List supplyRoomConfigToSave,Set supplyRoomConfigIdsToDelete){
- if (StringUtils.isNotBlank(supplyRoom_type)) {
+ private void processSupplyRoomCongfig(int supplyRoomType,String supplyRoom_type,List supplyRoomConfigToSave,Set supplyRoomConfigIdsToDelete,List supplyRoomConfigToUpdate){
+ JSONArray supplyRoomArr = JSONArray.fromObject(supplyRoom_type);
+ if(supplyRoomArr.size() == 0){
+ supplyRoomConfigManager.deleteAllSupplyRoomConfig(supplyRoomType);
+ return;
+ }else{
Set supplyRoomConfigIds = new HashSet();
- String[] rs = supplyRoom_type.split(";");
- for (String supplyRoomItem : rs) {
- String[] result = supplyRoomItem.split(",");
- String id = result[0];
- String departId = result[1];
- String name = result[2];
-
- if ("0".equals(id)) {
+ for(int i=0;i 3){
- String sequence = result[3];
- supplyRoomConfig.setSequence(Integer.parseInt(sequence));
- }
+ supplyRoomConfig.setSequence(newSequence);
supplyRoomConfigToSave.add(supplyRoomConfig);
} else {
- supplyRoomConfigIds.add(Long.valueOf(id));
+ if(newSequence != null && !newSequence.equals(sequence)){
+ // 序号有修改
+ supplyRoomConfigToUpdate.add(obj);
+ }
+ supplyRoomConfigIds.add(id);
}
}
getDeleteSupplyRoomConfig(supplyRoomType, supplyRoomConfigIds, supplyRoomConfigIdsToDelete);
- } else {
- supplyRoomConfigManager.deleteAllSupplyRoomConfig(supplyRoomType);
}
}
// 优化速度之后的版本
@@ -551,6 +557,8 @@
}
List supplyRoomConfigToSave = new LinkedList();
Set supplyRoomConfigIdsToDelete = new HashSet();
+ List supplyRoomConfigToUpdate = new LinkedList();
+
// Map idToSupplyRoomConfigMap = new HashMap();
// getAllSupplyRoomConfigIds(supplyRoomConfigIds);
@@ -562,20 +570,30 @@
// }
// }
// 1级供应室
- processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_1, supplyRoom_type_1, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete);
+ processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_1, supplyRoom_type_1, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete,supplyRoomConfigToUpdate);
// 2级供应室
- processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_2, supplyRoom_type_2, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete);
+ processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_2, supplyRoom_type_2, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete,supplyRoomConfigToUpdate);
// 申领科室
- processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_3, supplyRoom_type_3, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete);
+ processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_3, supplyRoom_type_3, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete,supplyRoomConfigToUpdate);
// 结算科室
- processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_4, supplyRoom_type_4, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete);
+ processSupplyRoomCongfig(SupplyRoomConfig.SUPPLYROOM_TYPE_4, supplyRoom_type_4, supplyRoomConfigToSave, supplyRoomConfigIdsToDelete,supplyRoomConfigToUpdate);
// 保存新的SupplyRoomCongfig
if(!supplyRoomConfigToSave.isEmpty()){
for (SupplyRoomConfig supplyRoomConfig : supplyRoomConfigToSave) {
supplyRoomConfigManager.saveOrUpdate(supplyRoomConfig);
}
}
+ // 更新SupplyRoomCongfig
+ if(supplyRoomConfigToUpdate.size() > 0){
+ for (JSONObject obj : supplyRoomConfigToUpdate) {
+ // 目前只能修改sequence
+ Long id = JSONUtil.optLong(obj, "id", null);
+ Integer newSequence = JSONUtil.optInteger(obj, "newSequence", null);
+ String sql = String.format("update %s set sequence=%s where id=%s", SupplyRoomConfig.class.getSimpleName(),newSequence,id);
+ objectDao.executeUpdate(sql);
+ }
+ }
// 删除SupplyRoomCongfig
if(!supplyRoomConfigIdsToDelete.isEmpty()){
supplyRoomConfigManager.deleteSupplyRoomConfigByIds(supplyRoomConfigIdsToDelete);
@@ -1027,28 +1045,8 @@
supplyRoomConfigList.addAll(supplyRoomConfigManager
.getSecondSupplyRoomList());
}
- for (SupplyRoomConfig supplyRoomConfig : supplyRoomConfigList) {
- if (StringUtils.isBlank(jsonStr)) {
- jsonStr = "{id : '" + supplyRoomConfig.getId()
- + "',departId :'"
- + supplyRoomConfig.getOrgUnitCoding()
- + "',name : '" + supplyRoomConfig.getOrgUnitName()
- + "'}";
- } else {
- jsonStr += "," + "{id : '" + supplyRoomConfig.getId()
- + "',departId :'"
- + supplyRoomConfig.getOrgUnitCoding()
- + "',name : '" + supplyRoomConfig.getOrgUnitName()
- + "'}";
- }
- }
- try {
- StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8");
- StrutsParamUtils.getResponse().getWriter()
- .println("[" + jsonStr + "]");
- } catch (IOException e) {
- e.printStackTrace();
- }
+ JSONArray jsonArray = supplyRoomConfigListToJSONArray(supplyRoomConfigList);
+ StrutsResponseUtils.output(jsonArray);
}
/**
* 获取一二级供应室 并且返回全部供应商选项
@@ -1234,21 +1232,27 @@
}
}
+ private JSONArray supplyRoomConfigListToJSONArray(List supplyRoomConfigList){
+ JSONArray jsonArray = new JSONArray();
+ for (SupplyRoomConfig supplyRoomConfig : supplyRoomConfigList) {
+
+ JSONObject obj = new JSONObject();
+ obj.put("id", supplyRoomConfig.getId());
+ obj.put("departId", supplyRoomConfig.getOrgUnitCoding());
+ obj.put("name", supplyRoomConfig.getOrgUnitName());
+ obj.put("sequence", supplyRoomConfig.getSequence());
+
+ jsonArray.add(obj);
+ }
+ return jsonArray;
+ }
public void loadSupplyRoomConfigRoom3() {
JSONArray jsonArray = new JSONArray();
try {
List supplyRoomConfigList = supplyRoomConfigManager
.getRecyclingApplicationDepart();
- for (SupplyRoomConfig supplyRoomConfig : supplyRoomConfigList) {
-
- JSONObject obj = new JSONObject();
- obj.put("id", supplyRoomConfig.getId());
- obj.put("departId", supplyRoomConfig.getOrgUnitCoding());
- obj.put("name", supplyRoomConfig.getOrgUnitName());
- obj.put("sequence", supplyRoomConfig.getSequence());
-
- jsonArray.add(obj);
- }
+
+ jsonArray = supplyRoomConfigListToJSONArray(supplyRoomConfigList);
try {
StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8");
StrutsParamUtils.getResponse().getWriter()
@@ -1266,16 +1270,7 @@
List supplyRoomConfigList = supplyRoomConfigManager
.getSupplyRoomType_4();
- for (SupplyRoomConfig supplyRoomConfig : supplyRoomConfigList) {
-
- JSONObject obj = new JSONObject();
- obj.put("id", supplyRoomConfig.getId());
- obj.put("departId", supplyRoomConfig.getOrgUnitCoding());
- obj.put("name", supplyRoomConfig.getOrgUnitName());
-
- jsonArray.add(obj);
-
- }
+ jsonArray = supplyRoomConfigListToJSONArray(supplyRoomConfigList);
try {
StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8");
StrutsParamUtils.getResponse().getWriter()