Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r26234 -r26276 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26234) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26276) @@ -3235,7 +3235,7 @@ List tousseDefinitions,InvoicePlan application,boolean isNotInvoice, List applicationItemList,String invoiceOrigin,RecyclingRecord record, List errorDamages,List urgentTousseItems, - List basketItemJson){ + List basketItemJson, RecyclingContext recyclingContext){ String tousseName = recyclingBasketItem.getTousseName(); Long tousseDefinitionID = recyclingBasketItem.getTousseDefinitionID(); // 此数量为篮筐内物品的数量,即为回收数量 @@ -3290,7 +3290,7 @@ if (amount != 0) { newUnPackingTousseInstanceOrDisinfectGoodsDefinition( record, application, amount, isNewAddTousse,td, appItem, - recyclingBasketItem, errorDamages,basketItemJson, urgentTousseItems,appTousseItemMap); + recyclingBasketItem, errorDamages,basketItemJson, urgentTousseItems,appTousseItemMap,recyclingContext.getMaterialsMapForSave().get(td.getId().toString())); } } } @@ -3338,7 +3338,7 @@ if(td.isDisinfection()){ newDisinfectTousseDefinition(application, td, appItem, recyclingBasketItem, errorDamages, basketItemJson, - urgentTousseItems, appTousseItemMap); + urgentTousseItems, appTousseItemMap, recyclingContext.getMaterialsMapForSave().get(td.getId().toString())); } } } @@ -3380,7 +3380,7 @@ List tousseDefinitions, List errorDamages, List basketItemJson, List urgentTousseItems,boolean isForeignTousseApplication,boolean isChangeApplyDepart, Map tousseDefIdTousseItemVoMap) { - + Map materialsMapForSave= recyclingContext.getMaterialsMapForSave(); InvoicePlan application = record.getRecyclingApplication(); String invoiceOrigin = supplyRoomConfigManager.getInvoiceOrigin(); RecyclingApplicationVo orignalApplication = invoicePlanManager.invoicePlan2RecyclingApplicationVo(application,false); @@ -3409,7 +3409,7 @@ //篮筐内的物品 for (RecyclingBasketItemVo json : itemJsonList) { addApplicationItem(json, appTousseItemMap, tousseDefinitions, application, isNotInvoice, - applicationItemList, invoiceOrigin, record, errorDamages, urgentTousseItems, basketItemJson); + applicationItemList, invoiceOrigin, record, errorDamages, urgentTousseItems, basketItemJson, recyclingContext); } //未入筐添加的物品 for(Map.Entry entry : tousseDefIdTousseItemVoMap.entrySet()){ @@ -3632,7 +3632,7 @@ newUnPackingTousseInstanceOrDisinfectGoodsDefinition( record, application, recyclingAmount, isNewAddTousse, td, item, json, errorDamages, - basketItemJson, urgentTousseItems,itemMap); + basketItemJson, urgentTousseItems,itemMap,materialsMapForSave.get(td.getId().toString())); } //未入筐添加的物品 for(Map.Entry entry : tousseDefIdTousseItemVoMap.entrySet()){ @@ -3812,14 +3812,14 @@ boolean isNewAddTousse, TousseDefinition td, TousseItem appItem, SimpleTousseItem basketItemJson, List errorDamageDetail, List basketItems, List urgentTousseItems, - Map toussItemMap) { + Map toussItemMap,JSONArray materialsJsonForSave) { TousseDefinition createInstanceTD = td; //创建消毒物品包定义 if(isNewAddTousse && td.isDisinfection()){ createInstanceTD = newDisinfectTousseDefinition(application, td, appItem, basketItemJson, errorDamageDetail, basketItems, - urgentTousseItems, toussItemMap); + urgentTousseItems, toussItemMap,materialsJsonForSave); } //创建不装配、不追溯的包实例 if(TousseDefinition.STR_NO.equals(td.getIsPacking())){ @@ -3834,14 +3834,26 @@ List errorDamageDetail, List basketItems, List urgentTousseItems, - Map toussItemMap) { + Map toussItemMap, JSONArray materialsJsonForSave) { TousseDefinition createInstanceTD; JSONArray materialArray = new JSONArray(); for(MaterialInstance mi : td.getMaterialInstances()){ JSONObject obj = new JSONObject(); - obj.put("name", CssdUtils.getMaterialName(mi.getMaterialDefinition())); + MaterialDefinition md = mi.getMaterialDefinition(); + obj.put("name", CssdUtils.getMaterialName(md)); obj.put("tousseType", "器械"); - obj.put("count", mi.getCount()); + int count = 0; + if(materialsJsonForSave != null && materialsJsonForSave.size() > 0){ + for (int i = 0; i < materialsJsonForSave.size(); i++) { + JSONObject materialJson = (JSONObject) materialsJsonForSave.get(i); + if(md.getId() == materialJson.optInt("materialId")){ + count = materialJson.optInt("count"); + } + } + }else{ + count = mi.getCount(); + } + obj.put("count", count); materialArray.add(obj); } createInstanceTD = tousseDefinitionManager.newDisinfectGoodsDefinition(td, @@ -4462,7 +4474,7 @@ * ] */ @Override - public JSONObject recycleTousseIntoBasket(String tousseDefinitionId, Integer amount, String idCardBarcode, + public JSONObject recycleTousseIntoBasket(String materialsInfo, String tousseDefinitionId, Integer amount, String idCardBarcode, String params,String tousseIntoBasketInfo,Long recyclingApplicationId){ String msg = ""; JSONObject data = new JSONObject(); @@ -4508,6 +4520,10 @@ JSONArray materials = new JSONArray(); Map basketGroupBarcodeMap = new HashMap(); + JSONArray materialsInfoArr = null; + if(StringUtils.isNotBlank(materialsInfo)){ + materialsInfoArr = JSONUtil.fromJson(materialsInfo, JSONArray.class); + } for (MaterialInstance mi : msList) { MaterialDefinition md = mi.getMaterialDefinition(); if(md == null){ @@ -4522,8 +4538,21 @@ return JSONUtil.buildJsonObject(false,msg2); } + //材料的数量,如果没修改就使用包定义的数量 + Integer miCount = 0; //材料入筐总数量 - Integer totalIntoBasketAmount = mi.getCount() * amount; + if(materialsInfoArr != null && materialsInfoArr.size() > 0){ + for (int i = 0; i < materialsInfoArr.size(); i++) { + JSONObject jsonObject = (JSONObject)materialsInfoArr.get(i); + if(md.getId() == jsonObject.optInt("materialId")){ + miCount = jsonObject.optInt("count"); + break; + } + } + }else{ + miCount = mi.getCount(); + } + Integer totalIntoBasketAmount = miCount * amount; List errorMsg = new ArrayList<>(); for(CustomIntoBasket typedBasket : typedBaskets){ @@ -4576,7 +4605,7 @@ totalIntoBasketAmount -= thisBasketCanIntoAmount; } }else{ - buildJsonObject(materials, mi, mi.getCount() * amount, basketBarcode,washClassifyType,0); + buildJsonObject(materials, mi, miCount * amount, basketBarcode,washClassifyType,0); tousseIntoBasketService.addTousseBasket(td.getId(), td.getName(), td.getTousseType(), typedBasket.getBarcode(), typedBasket.getName()); // addTousseDefinitionBasket(defIdBasketMap,td,typedBasket); totalIntoBasketAmount = 0; Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java =================================================================== diff -u -r26234 -r26276 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 26234) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/vo/RecyclingContext.java (.../RecyclingContext.java) (revision 26276) @@ -2,6 +2,7 @@ import java.util.Date; import java.util.List; +import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -130,6 +131,11 @@ */ private List recyclingPrintData; + /** + * jsonParam中的参数,修改的材料数量和相关数据(包定义id,材料定义id,材料数量) + */ + private Map materialsMapForSave; + public String getJsonParam() { return jsonParam; } @@ -256,6 +262,7 @@ // voluntarilyUrgentItems = jsonParamObject.optJSONArray("voluntarilyUrgentItems"); unrecycleTousseItemArray = jsonParamObject.optJSONArray("unrecycleTousseItemArray"); tousseIntoBasketInfo = jsonParamObject.optJSONArray("tousseIntoBasketInfo"); + materialsMapForSave = (Map)jsonParamObject.opt("materialsMapForSave"); } } public JSONObject getJsonParamObject() { @@ -303,5 +310,11 @@ public void setNeedPrint(Boolean needPrint) { this.needPrint = needPrint; } + public Map getMaterialsMapForSave() { + return materialsMapForSave; + } + public void setMaterialsMapForSave(Map materialsMapForSave) { + this.materialsMapForSave = materialsMapForSave; + } } Index: ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java =================================================================== diff -u -r26085 -r26276 --- ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java (.../TousseIntoBasketRestrictionsTests.java) (revision 26085) +++ ssts-web/src/test/java/test/forgon/disinfectsystem/recyclingrecord/service/TousseIntoBasketRestrictionsTests.java (.../TousseIntoBasketRestrictionsTests.java) (revision 26276) @@ -47,7 +47,7 @@ TousseDefinition td = tousseDefinitionManager.getTousseDefinitionByName("Test开胸包"); //空篮筐 String params = "[{barcode:'019000001',scanedGoods:[{name:'Test开口包',tousseDefinitionID:" + td2.getId() + ",type:'器械包',amount:5}]}]"; - JSONObject result = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,"",params,null,null); + JSONObject result = recyclingRecordManager.recycleTousseIntoBasket(null,"" + td.getId(),3,"",params,null,null); boolean success = result.optBoolean("success"); assertEquals(true, success); @@ -79,7 +79,7 @@ //篮筐内已经放入物品占80%体积,继续放60%的东西 String params2 = "[{barcode:'019000001',scanedGoods:[{name:'Test开胸包',putBasketMaxAmount:5,type:'器械包',amount:1},{name:'Test开口包',putBasketMaxAmount:0,type:'器械包',amount:3}]}]"; - JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,"",params2,null,null); + JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket(null,"" + td.getId(),3,"",params2,null,null); JSONObject data2 = result2.optJSONObject("data"); assertEquals(1, data2.optInt("amount")); @@ -97,12 +97,12 @@ //篮筐已满是否还能继续放东西 String params3 = "[{barcode:'019000001',scanedGoods:[{name:'Test开口包',type:'器械包',amount:3}]}]"; - JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket("" + td.getId(),3,"",params3,null,null); + JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket(null,"" + td.getId(),3,"",params3,null,null); boolean success2 = result3.optBoolean("success"); assertEquals(false, success2); String params4 = "[{barcode:'019000001',scanedGoods:[]}]"; - JSONObject result4 = recyclingRecordManager.recycleTousseIntoBasket(""+td2 .getId(),3,"",params4,null,null); + JSONObject result4 = recyclingRecordManager.recycleTousseIntoBasket(null,""+td2 .getId(),3,"",params4,null,null); JSONObject obj4 = result4.optJSONObject("data"); assertEquals(3, obj4.optInt("amount")); @@ -127,7 +127,7 @@ //当前发的物品占篮筐体积 1号篮筐 0.3125[(3*3)/80 + (4*3)/60] 2号篮筐 0.3[(2*3)/20] TousseDefinition td_Test开颅包 = tousseDefinitionManager.getTousseDefinitionByName("Test开颅包"); String params = "[{barcode:'019000001',scanedGoods:[]},{barcode:'019000002',scanedGoods:[]}]"; - JSONObject result = recyclingRecordManager.recycleTousseIntoBasket(""+td_Test开颅包.getId(),3,"",params,null,null); + JSONObject result = recyclingRecordManager.recycleTousseIntoBasket(null,""+td_Test开颅包.getId(),3,"",params,null,null); assertNotNull(result); JSONObject obj = result.optJSONObject("data"); assertEquals(3, obj.optInt("amount")); @@ -141,7 +141,7 @@ //1号篮筐: 0.3125 + (3*6)/80 + (4*6)/60 = 0.9375 //2号筐 :0.3 + (2*6)/20 = 0.9 String params2 = "[{barcode:'019000001',scanedGoods:[]},{barcode:'019000002',scanedGoods:[]}]"; - JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket(""+td_Test开颅包.getId(),8,"",params2,null,null); + JSONObject result2 = recyclingRecordManager.recycleTousseIntoBasket(null,""+td_Test开颅包.getId(),8,"",params2,null,null); assertNotNull(result2); boolean success = result2.optBoolean("success"); assertEquals(false, success); @@ -156,7 +156,7 @@ objectDao.saveOrUpdate(td); // (1-0.9375) / (1/60) = 3.7425[只能取3个] String params3 = "[{barcode:'019000001',scanedGoods:[]}]"; - JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket(""+td.getId(),4,"",params3,null,null); + JSONObject result3 = recyclingRecordManager.recycleTousseIntoBasket(null,""+td.getId(),4,"",params3,null,null); assertNotNull(result3); JSONObject obj3 = result3.optJSONObject("data"); assertEquals(3, obj3.optInt("amount")); Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionTousseItems.jsp =================================================================== diff -u -r25999 -r26276 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionTousseItems.jsp (.../disinfectionTousseItems.jsp) (revision 25999) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/disinfectionTousseItems.jsp (.../disinfectionTousseItems.jsp) (revision 26276) @@ -22,6 +22,7 @@ var WWWROOT = '${ctx}'; var tousseDefinitionID = '${param.tousseDefinitionID}'; var row = '${param.row}'; +var materials = '${param.materials}'; //动态加载JS和CSS document.write(''); @@ -61,33 +62,20 @@ var btSave=false; function submit(){ - var materialItems = null; + var materialItems = null; $("#materialItemsTable").children().first().children().each(function(i,element){ if(materialItems == null){ - materialItems = $('#materialDefinitionId'+i).val(); + materialItems = '[{"materialId":' + $('#materialDefinitionId'+i).val()+',"materialName":"'+$('#materialName'+i).text() + '"'; }else{ - materialItems += ';' + $('#materialDefinitionId'+i).val(); + materialItems += ',{"materialId":' + $('#materialDefinitionId'+i).val()+',"materialName":"'+$('#materialName'+i).text() + '"'; } - materialItems += ',' + $('#count'+i).text(); + materialItems += ',"count":' + $('#count'+i).text() + '}'; }); - if (btSave){ - return false; - } else { - btSave=true; - $.ajax({ - type:'post', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!amendDisinfectionTousseItems.do?id='+tousseDefinitionID+'&materialItems='+materialItems, - dataType:'text', - success:function(msg){ - alert(msg); - btSave = false; - closeLayer(); - }, - error:function(){ - btSave = false; - } - }); - } + materialItems += ']'; + var materialItemsJson = JSON.parse(materialItems); + window.parent.createMaterialInfo(materialItemsJson,row); + alert('修改成功。'); + closeLayer(); } function loadMaterialNotice(materialDefinitionId){ $.ajax({ @@ -132,23 +120,34 @@ } $(document).ready(function() { - $.ajax({ - type:'post', - url:WWWROOT + '/disinfectSystem/recyclingRecordAction!getMaterialInstancesByTousseId.do', - data:{id:tousseDefinitionID}, - dataType:'json', - success:function(msg){ - for(var i = 0 ;i < msg.length ;i++){ - var materialItemsElement = $(''+msg[i].materialDefinition.name+''+ - ''+msg[i].count+''+ + if(materials!=''){ + var materialsData = JSON.parse(materials); + for(var i = 0 ;i < materialsData.length ;i++){ + var materialItemsElement = $(''+materialsData[i].materialName+''+ + ''+materialsData[i].count+''+ ''+ ''); $("#materialItemsTable").append(materialItemsElement); - } - }, - error:function(){} - }); -}) + } + }else{//未修改过的材料数据,从后台获取 + $.ajax({ + type:'post', + url:WWWROOT + '/disinfectSystem/recyclingRecordAction!getMaterialInstancesByTousseId.do', + data:{id:tousseDefinitionID}, + dataType:'json', + success:function(msg){ + for(var i = 0 ;i < msg.length ;i++){ + var materialItemsElement = $(''+msg[i].materialDefinition.name+''+ + ''+msg[i].count+''+ + ''+ + ''); + $("#materialItemsTable").append(materialItemsElement); + } + }, + error:function(){} + }); + } +});
Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java =================================================================== diff -u -r25376 -r26276 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java (.../RecyclingRecordTableManager.java) (revision 25376) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/dwr/table/RecyclingRecordTableManager.java (.../RecyclingRecordTableManager.java) (revision 26276) @@ -365,8 +365,8 @@ * 篮筐是否装满 * @return */ - public String getTousseIntoBasketAmount(String tousseDefinitionId ,Integer amount, String idCardBarcode, String params,String tousseIntoBasketInfo,Long recyclingApplicationId){ - JSONObject result= recyclingRecordManager.recycleTousseIntoBasket(tousseDefinitionId, amount, idCardBarcode, params,tousseIntoBasketInfo,recyclingApplicationId); + public String getTousseIntoBasketAmount(String materials, String tousseDefinitionId ,Integer amount, String idCardBarcode, String params,String tousseIntoBasketInfo,Long recyclingApplicationId){ + JSONObject result= recyclingRecordManager.recycleTousseIntoBasket(materials, tousseDefinitionId, amount, idCardBarcode, params,tousseIntoBasketInfo,recyclingApplicationId); return result.toString(); } public String canAddThisBasketItem(String materialInstanceId,String scanedBasketAndMaterials,String tousseIntoBasketInfo,Long recyclingApplicationId){ Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManager.java =================================================================== diff -u -r26217 -r26276 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManager.java (.../RecyclingRecordManager.java) (revision 26217) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManager.java (.../RecyclingRecordManager.java) (revision 26276) @@ -60,8 +60,26 @@ public String recyclingOverdueTousse(RecyclingRecord record,String ids, String basketName, String basketBarcode); - - public JSONObject recycleTousseIntoBasket(String tousseDefinitionId, Integer amount, String idCardBarcode, + /** + * + * @param materials 修改后的材料信息 格式:[{ + "materialId": 776, + "materialName": "铝托盘", + "count": 46 +}, { + "materialId": 5, + "materialName": "刀柄", + "count": 5 +}] 如果为空,表示材料未修改,使用包定义的数量 + * @param tousseDefinitionId + * @param amount + * @param idCardBarcode + * @param params + * @param tousseIntoBasketInfo + * @param recyclingApplicationId + * @return + */ + public JSONObject recycleTousseIntoBasket(String materials, String tousseDefinitionId, Integer amount, String idCardBarcode, String params,String tousseIntoBasketInfo,Long recyclingApplicationId); /** * 材料入筐,按清洗分类类型及篮筐上限入筐 Index: ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js =================================================================== diff -u -r26220 -r26276 --- ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 26220) +++ ssts-web/src/main/webapp/disinfectsystem/touchScreen/recycle/recycleForTouchScreen.js (.../recycleForTouchScreen.js) (revision 26276) @@ -2,6 +2,7 @@ var deleteTousseItemArray = new Array(); // 科室绑定的篮筐的条码数组 var departBindingBasketBarcodes = []; +var materialsMapForSave = new Map(); /** * 不回收的器械包的集合。这个是由绑定带出来的器械包,并且不回收,在回收这里本来是不做处理的。现在要能修改原来的申请数量,相关的还有装配任务 */ @@ -1783,6 +1784,7 @@ var tousseName = $('#tousseName'+row).val(); var tousseDefinitionID = $('#tousseDefinitionID'+row).val(); var tousseType = $('#tousseType'+row).val(); + var materials = $('#materials'+row).val(); if(tousseType == '消毒物品' || tousseType == '灭菌物品'){ var width = 740; var height = 400; @@ -1794,7 +1796,7 @@ layerIndex=layer.open({ type : 2, title : ['消毒物品明细',true], - content : 'disinfectionTousseItems.jsp?resolution='+resolution+'&row='+row+'&tousseDefinitionID='+tousseDefinitionID, + content : 'disinfectionTousseItems.jsp?resolution='+resolution+'&row='+row+'&tousseDefinitionID='+tousseDefinitionID+'&materials='+encodeURIComponent(materials), area : [ width + 'px' , height + 'px'], border : [5, 0.3, '#fff', true], closeBtn : [2 , true], @@ -2024,7 +2026,7 @@ * @param idCardBarcode * @returns {Number} */ -function tousseIntoBasketFunction(tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseType){ +function tousseIntoBasketFunction(tousseDefinitionID,tousseName,recycleAmount,isCleanedEntirely,orgUnitName,idCardBarcode,tousseType,row){ var params = getScanedGoods(isCleanedEntirely); if(params.length <=0){ if(isCleanedEntirely == "是" && sstsConfig.cleanedEntirelyTousseIntoWashClassifyEmptyBasket){ @@ -2035,8 +2037,9 @@ } var loadedAmount = 0; var recyclingApplicationId = $('#recyclingApplicationId').val(); + var materials = $('#materials'+row).val(); DWREngine.setAsync(false); - RecyclingRecordTableManager.getTousseIntoBasketAmount(tousseDefinitionID,recycleAmount,idCardBarcode,JSON.stringify(params),JSON.stringify(getTousseIntoBasketInfo()),recyclingApplicationId,function(result){ + RecyclingRecordTableManager.getTousseIntoBasketAmount(materials,tousseDefinitionID,recycleAmount,idCardBarcode,JSON.stringify(params),JSON.stringify(getTousseIntoBasketInfo()),recyclingApplicationId,function(result){ var jsonObj = JSON.parse(result); if(!jsonObj.success){ @@ -2106,7 +2109,7 @@ var isCleanedEntirely = $('#isCleanedEntirely'+row).val(); var amount = parseInt($('#recycleAmount'+row).val(),10) - parseInt($('#loadedAmount'+row).val(),10); - + //回收数量扣减入筐操作 如果已经入筐就不能入筐,只能是手动从篮筐里面删除,因为程序不晓得从哪个篮筐里面扣减 var msg = ""; if(amount < 0){ @@ -2175,7 +2178,7 @@ if(amount == 0){ alertDiv('没有可以放入篮筐的器械包。'); }else{ - var loadedAmount = tousseIntoBasketFunction(tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"",tousseType); + var loadedAmount = tousseIntoBasketFunction(tousseDefinitionID,tousseName,amount,isCleanedEntirely,orgUnitName,"",tousseType,row); if(loadedAmount > 0){ $('#loadedAmount'+row).val(parseInt(loadedAmount,10)+parseInt($('#loadedAmount'+row).val(),10)); @@ -2360,6 +2363,7 @@ var errorDamageQmKey = toussItem.errorDamageQmKey?toussItem.errorDamageQmKey:""; //器械包实例或者标识牌实例条码 var barcode = toussItem.barcode?toussItem.barcode:""; + var materials = ""; var b = true; $('#tousseItemTable').children().first().children().each(function(i,element){ if(($('#tousseDefinitionID'+i).val() == tousseDefinitionID)||(tousseType == '消毒物品' && $('#tousseName'+i).val() == tousseName)){ @@ -2413,6 +2417,7 @@ ''+ ''+ ''+ + ''+ ''+ ''+ ''+ @@ -2666,7 +2671,11 @@ var tousseName = $('#tousseName'+index).val(); var applicationAmount = $('#applicationAmount'+index).val(); var recycleAmount = $('#recycleAmount'+index).val(); + var materialsJsonStr = $('#materials' + index).val(); var tousseDefinitionID = $('#tousseDefinitionID'+index).val(); + if(materialsJsonStr != ''){ + addMaterialsMapForSave(tousseDefinitionID,materialsJsonStr); + } var tousseRemark = $('#tousseRemark'+index).val(); var errorRemark = $('#hiddenErrorRemark'+index).val(); var damageRemark = $('#hiddenDamageRemark'+index).val(); @@ -2692,6 +2701,15 @@ return recyclingItemJsonArray; } /** + * 添加保存使用的材料数据 + * @param tousseDefinitionID 对应的包id + * @param materialsJsonStr 材料数据(材料id,count) + */ +function addMaterialsMapForSave(tousseDefinitionID,materialsJsonStr){ + var materialsJson = JSON.parse(materialsJsonStr); + materialsMapForSave[tousseDefinitionID]=materialsJson; +} +/** * 判断tousseItem表是否是空的。删除的项不算在内 */ function isTousseItemTableEmpty(){ @@ -2804,6 +2822,7 @@ paramJson.confirmation = confirmation; paramJson.tally = false; paramJson.recyclingItemArray = getRecyclingItemInfo(); + paramJson.materialsMapForSave = materialsMapForSave; return JSON.stringify(paramJson); } @@ -3053,7 +3072,7 @@ alertDiv("保存中,请稍候......", true); var jsonStr = getJsonParams(confirmation); - var jSONe = JSON.parse(jsonStr) + var jSONe = JSON.parse(jsonStr); if(IntheBoxState == true){ jSONe.tally = true; }else{ @@ -4705,3 +4724,11 @@ // refreshAllBasketTotalNum(); } } +/** + * 记录材料修改的数据 + * @param dataJson 材料修改数据 + * @param row 行号 + */ +function createMaterialInfo(dataJson,row){ + $("#materials"+row).val(JSON.stringify(dataJson)); +} \ No newline at end of file