Index: ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java =================================================================== diff -u -r26279 -r26338 --- ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java (.../LabelTemplateAction.java) (revision 26279) +++ ssts-print/src/main/java/com/forgon/disinfectsystem/labeltemplate/action/LabelTemplateAction.java (.../LabelTemplateAction.java) (revision 26338) @@ -97,7 +97,9 @@ e.printStackTrace(); } } - + /** + * 判断标签模板是否被使用 + */ public void checkLabelTemplateIsUsed() { String id = StrutsParamUtils.getPraramValue("id", ""); try{ Index: ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnTousseByInvoicePlan.js =================================================================== diff -u -r18491 -r26338 --- ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnTousseByInvoicePlan.js (.../returnTousseByInvoicePlan.js) (revision 18491) +++ ssts-web/src/main/webapp/disinfectsystem/returnGoodsRecord/returnTousseByInvoicePlan.js (.../returnTousseByInvoicePlan.js) (revision 26338) @@ -934,11 +934,18 @@ // } //获取tree columns数据 - var returnTousseItemStr = getReturnTousseDetailGridData(true); + /*var returnTousseItemStr = getReturnTousseDetailGridData(true); if(!returnTousseItemStr){ showResult('退货详细信息列表不能为空'); return false; } + top.Ext.getCmp('returnTousseItemStr').setValue(returnTousseItemStr);*/ + var returnTousseItems = getReturnTousseDetailGridData2(); + if(returnTousseItems.length == 0){ + showResult('退货详细信息列表不能为空'); + return false; + } + var returnTousseItemStr = top.Ext.encode(returnTousseItems); top.Ext.getCmp('returnTousseItemStr').setValue(returnTousseItemStr); /*top.Ext.getCmp('returnOfPeople').setDisabled(false); top.Ext.getCmp('depart').setDisabled(false);*/ @@ -1257,6 +1264,34 @@ return returnTousseItemStr; } +//返回json格式 +function getReturnTousseDetailGridData2() { + var rootNode = top.Ext.getCmp('returnGoodsColumnTree').getRootNode(); + var tousses = []; + rootNode.eachChild(function(tousseNode) { + var tousse = {}; + top.Ext.apply(tousse,tousseNode.attributes); + tousses.push(tousse); + + tousse.tousses = getChildNodesInfo(tousseNode); + }); + return tousses; +} + +function getChildNodesInfo(pNode){ + var childNodes = []; + if(pNode.isLeaf()){ + return childNodes; + }else{ + pNode.eachChild(function(tousseNode) { + var tousse = {}; + top.Ext.apply(tousse,tousseNode.attributes.tousseInstance); + childNodes.push(tousse); + }); + } + return childNodes; +} + //把器械包添加到tree中 function addScanningTousseItemToTree(tousseInstance){ var barcode = tousseInstance.barcode; Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/action/ReturnGoodsRecordAction.java =================================================================== diff -u -r25550 -r26338 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/action/ReturnGoodsRecordAction.java (.../ReturnGoodsRecordAction.java) (revision 25550) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/action/ReturnGoodsRecordAction.java (.../ReturnGoodsRecordAction.java) (revision 26338) @@ -17,6 +17,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.FastDateFormat; import org.apache.struts2.convention.annotation.Action; @@ -634,17 +635,22 @@ for(int t=0;t applicationItems = re.getApplicationItems(); DeliverManager deliverManager = DeliverManagerFactory.createDeliverManager(re); - if (applicationItems != null) { + if (CollectionUtils.isNotEmpty(applicationItems)) { for (TousseItem item : applicationItems) { ApplicationItemVO vo = new ApplicationItemVO(); - vo.setInvoiceAmount(item.getSendOutAmount()); + Integer sendAmount = item.getSendOutAmount(); + // “已发货数量”-“已退货数量” + if(subtractReturnedGoodsAmounts) { + Long invoicePlanId = re.getId(); + if(invoicePlanId != null) { + String sql = String.format("select sum(rgi.amount) from ReturnGoodsRecord rgr join ReturnGoodsItem rgi on rgr.id=rgi.returnGoodsRecord_ID" + + " where rgr.invoicePlanId=%s" + + " group by rgi.tousseDefinition_id,rgi.tousseName", invoicePlanId.toString()); + int returnAmount = objectDao.countBySql(sql); + sendAmount = sendAmount - returnAmount; + } + } + vo.setInvoiceAmount(sendAmount); //设置“供应商名称”、“医生名称”、“拆分数量”、“已装配数量”、“已灭菌数量”、“已发货数量” if (item.isForeignTousse() && re instanceof ForeignTousseApplication && DatabaseUtil.isPoIdValid(item.getTousseDefinitionId())) { Index: ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js =================================================================== diff -u -r26259 -r26338 --- ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js (.../config.js) (revision 26259) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzzyyfy/config.js (.../config.js) (revision 26338) @@ -1,4 +1,4 @@ -var sstsConfig = { +var sstsConfig = { // 禁用标识牌功能 disableIdCard : false, // 回收时科室显示结算科室 @@ -151,6 +151,9 @@ //科室申领视图列表的排序规则;最后对象的value为空,默认取对应js文件里的defaultSortDirection的value,现在为DESC;默认排序:committedStatus asc,printed asc,orderByFiled asc,applicationTime desc orderRuleOfDepartApplicationView : '[{committedStatus:"ASC",},{printed:"ASC"},{depart:"ASC"},{orderByFiled:"ASC"},{applicationTime:""}]', //按包数打印消毒物品的数量 - printDisinfectionGoodsAmountByPackage:true - + printDisinfectionGoodsAmountByPackage:true, + //是否在“科室申请”页面启用“一次性物品退货”、“器械包退货”按钮,没配置或值为false,不启用该功能;值为true,启动该功能。 + enableReturnGoodsByInvoicePlan:true, + //“科室申请”页面"鼠标悬浮DIV"发货数量,是否减去退货数量,没配置或值为false,不启用该功能;值为true,启动该功能。 + applicationView_sendOutAmounts_subtractReturnedGoodsAmounts:true } \ No newline at end of file