Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js
===================================================================
diff -u -r14668 -r14719
--- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js (.../goodsApplicationViewVersion2.js) (revision 14668)
+++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsApplicationViewVersion2.js (.../goodsApplicationViewVersion2.js) (revision 14719)
@@ -17,9 +17,9 @@
//消毒物品申请单
Ext.get('disinfectGoodsApplication').addListener('click', function (e) {
- openApplication(invoicePlanForTousseType_Tousse, "");
- addAndEditUntracableTousse('', 0, "01", function () {
- });
+ openApplication(invoicePlanForTousseType_Tousse, disinfectGoodsApplicationForm);
+ // addAndEditUntracableTousse('', 0, "01", function () { });
+
});
}
Index: ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js
===================================================================
diff -u -r14686 -r14719
--- ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 14686)
+++ ssts-web/src/main/webapp/disinfectsystem/recyclingApplication/goodsTemplateApplicationView.js (.../goodsTemplateApplicationView.js) (revision 14719)
@@ -2715,7 +2715,8 @@
}else if(type == tousseLeaseApplicationForm){
addAndEditTousseLease(id);
}else if(type == disinfectGoodsApplicationForm){
- addAndEditUntracableTousse(id,null,"01",function(){});
+ // addAndEditUntracableTousse(id,null,"01",function(){});
+ RecyclingApplicationTableManager.getRecyclingApplicationAndVerifyEdit(id,setRecyclingApplicationForm);
}else if(type == foreignTousseApplicationForm){
addAndEditForeignTousseApplication(id);
}else if(type == customTousseApplicationForm){
@@ -2776,7 +2777,7 @@
if(type == comboApplicationForm || type == recyclingCreateApplicationForm){
comboApplication(recyclingApplication.id,"true",hiddenCommitButton,hiddenSaveButton,hiddenReturnButton,type, recyclingApplication.committedStatus);
}
- else if(type == tousseApplicationForm || type == diposableGoodsApplicationForm){
+ else if(type == tousseApplicationForm || type == diposableGoodsApplicationForm || type == disinfectGoodsApplicationForm){
comboApplication(recyclingApplication.id,"true",hiddenCommitButton,hiddenSaveButton,hiddenReturnButton,type, recyclingApplication.committedStatus);
}
@@ -2841,7 +2842,8 @@
if(type==customTousseApplicationForm) {//自定义器械包申请单
cell = "" + v + "";
} else if (type==disinfectGoodsApplicationForm){//消毒物品申请单
- cell = "" + v + "";
+ cell = "" + v + "";
+ // cell = "" + v + "";
} else if (type==foreignTousseApplicationForm){//外来器械包申请单
cell = "" + v + "";
} else if(type == tousseLeaseApplicationForm){
@@ -3277,7 +3279,8 @@
handleDepartStore.proxy.extraParams.tousseType = invoicePlanForTousseType;
comboGoodsStore.proxy.extraParams.cssdOrgUnitCode = "";
- addAndEditUntracableTousse('',0,"01",function(){});
+ comboApplication(0, "true",false,false,true,disinfectGoodsApplicationForm, false);//待发货
+ // addAndEditUntracableTousse('',0,"01",function(){});
}
},{
text : '申请外来器械',
Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java
===================================================================
diff -u -r14674 -r14719
--- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 14674)
+++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 14719)
@@ -1409,6 +1409,9 @@
else if (tousseType.indexOf(TousseItem.TYPE_DIPOSABLE_GOODS) >= 0){
tousseType = TousseItem.TYPE_DIPOSABLE_GOODS;
}
+ else if (tousseType.indexOf(TousseDefinition.PACKAGE_TYPE_DISINFECTION) >= 0){
+ tousseType = TousseDefinition.PACKAGE_TYPE_DISINFECTION;
+ }
else{
tousseType = "";
}
Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java
===================================================================
diff -u -r14604 -r14719
--- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 14604)
+++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 14719)
@@ -1,43 +1,5 @@
package com.forgon.disinfectsystem.recyclingapplication.action;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.net.URLDecoder;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.forgon.tools.string.StringTools;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-import net.sf.json.JsonConfig;
-import net.sf.json.util.CycleDetectionStrategy;
-import net.sf.json.util.PropertyFilter;
-
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.collections4.Predicate;
-import org.apache.commons.collections4.Transformer;
-import org.apache.commons.collections4.map.MultiValueMap;
-import org.apache.commons.lang3.BooleanUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.math.NumberUtils;
-import org.apache.struts2.convention.annotation.Action;
-import org.apache.struts2.convention.annotation.Namespace;
-import org.apache.struts2.convention.annotation.ParentPackage;
-import org.hibernate.Query;
-
import com.forgon.directory.acegi.tools.AcegiHelper;
import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager;
import com.forgon.disinfectsystem.common.Constants;
@@ -77,11 +39,37 @@
import com.forgon.tools.db.DatabaseUtil;
import com.forgon.tools.hibernate.ObjectDao;
import com.forgon.tools.json.JsonPropertyFilter;
+import com.forgon.tools.string.StringTools;
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+import net.sf.json.JsonConfig;
+import net.sf.json.util.CycleDetectionStrategy;
+import net.sf.json.util.PropertyFilter;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.collections4.Predicate;
+import org.apache.commons.collections4.Transformer;
+import org.apache.commons.collections4.map.MultiValueMap;
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.math.NumberUtils;
+import org.apache.struts2.convention.annotation.Action;
+import org.apache.struts2.convention.annotation.Namespace;
+import org.apache.struts2.convention.annotation.ParentPackage;
+import org.hibernate.Query;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.net.URLDecoder;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
/**
* @author songwei
*
@@ -658,6 +646,7 @@
public void loadDepartmentAppTemplate() {
String applicationFormType = StrutsParamUtils.getPraramValue("applicationType", "");
boolean isTousseApplicationForm = applicationFormType.equals(InvoicePlan.TYPE_TOUSSE_APPLICATION_FORM);
+ boolean isTousseDisinfectFrom = applicationFormType.equals(InvoicePlan.TYPE_DISINFECT_GOODS_APPLICATION_FORM);
// 模板Id
String templateId = StrutsParamUtils.getPraramValue("templateId", null);
// 申请单Id
@@ -766,7 +755,8 @@
// 供应室默认拿第一个模板(供应室支持多张模板,页面提供模板切换功能)
if (isSupplyRoom) {
- if (isTousseApplicationForm) {
+ //如果是机械包申请单或者消毒物品申请单
+ if (isTousseApplicationForm || isTousseDisinfectFrom) {
if (templates != null && templates.size() > 0) {
for (DepartmentAppTemplate template : templates) {
String templateType = template.getTemplateType();
@@ -777,11 +767,9 @@
.equals(templateType)) {
JSONArray toussesJsonArray = new JSONArray();
-
- departmentAppTemplateManager
- .tousseDefinitionTemplateItems2JsonArray(
- toussesJsonArray, template.getTousseDefinitionTemplateItems(),
- tousseDefinitionFloatPercent);
+ //如果是普通机械包申请单则要过滤掉消毒物品,如果是消毒物品申请单则要过滤机械包的普通物品(只留消毒物品)
+ List tempList = this.filterGoodByType(template,isTousseApplicationForm ? TousseDefinition.PACKAGE_TYPE_DISINFECTION:TousseDefinition.PACKAGE_TYPE_INSIDE);
+ departmentAppTemplateManager.tousseDefinitionTemplateItems2JsonArray(toussesJsonArray, tempList, tousseDefinitionFloatPercent);
updateItemsApplyInfo(applicationItemMap, toussesJsonArray,applicationId);
@@ -842,16 +830,16 @@
}
// 临床科室查询所有申请模板后合并所有模板
} else {
- if (isTousseApplicationForm) {
+ if (isTousseApplicationForm || isTousseDisinfectFrom) {
if (templates != null) {
for (DepartmentAppTemplate template : templates) {
JSONArray toussesJsonArray = new JSONArray();
- departmentAppTemplateManager
- .tousseDefinitionTemplateItems2JsonArray(
- toussesJsonArray, template.getTousseDefinitionTemplateItems(),
- tousseDefinitionFloatPercent);
+ //如果是普通机械包申请单则要过滤掉消毒物品,如果是消毒物品申请单则要过滤机械包的普通物品(只留消毒物品)
+ List tempList = this.filterGoodByType(template,isTousseApplicationForm ? TousseDefinition.PACKAGE_TYPE_DISINFECTION:TousseDefinition.PACKAGE_TYPE_INSIDE);
+
+ departmentAppTemplateManager.tousseDefinitionTemplateItems2JsonArray(toussesJsonArray, tempList, tousseDefinitionFloatPercent);
updateItemsApplyInfo(applicationItemMap, toussesJsonArray,applicationId);
@@ -948,7 +936,7 @@
}
// 增加组合申请单之前的逻辑
else {
- if (isTousseApplicationForm) {
+ if (isTousseApplicationForm || isTousseDisinfectFrom) {
if (rightStoreJson.length() > 0) {
rightStoreJson.append(",");
}
@@ -1001,6 +989,24 @@
setApplicationReaded(application, config);
}
+
+ /**
+ * 迭代模板查出来的物品,根据提供的物品种类来过滤相关的物品
+ * @param template 申请模板
+ * @param goodType 物品种类
+ * @return 返回过滤后的物品
+ */
+ private List filterGoodByType(DepartmentAppTemplate template,String goodType){
+ List tempList = new ArrayList<>();
+ List tempLists = template.getTousseDefinitionTemplateItems();
+ for (TousseDefinitionTemplateItem t : tempLists) {
+ if (!goodType.equals(t.getTousseDefinition().getTousseType())){
+ tempList.add(t);
+ }
+ }
+ return tempList;
+ }
+
private void setApplicationReaded(RecyclingApplication application,
SupplyRoomConfig config) {
String userOrgCode = AcegiHelper.getLoginUser().getCurrentOrgUnitCode();
Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java
===================================================================
diff -u -r14715 -r14719
--- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 14715)
+++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 14719)
@@ -1394,6 +1394,10 @@
mapList.addAll(searchTousseOrDiposableGoodsBySpellAndWbCode(
searchString, false, false, false,false,true,"1","0",false,showExternalCodeOfDisposableGoods,deptCode));
}
+ //只搜索消毒物品
+ else if (TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType)){
+ mapList = searchTousseBySimpleCodeAndAnyTousseTypeArr(searchString, new String[]{TousseDefinition.PACKAGE_TYPE_DISINFECTION},false);
+ }
// 搜索多种器械包(含消毒物品)和一次性物品,用于组合申请单
else{
mapList = searchTousseBySimpleCodeAndAnyTousseTypeArr(