Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java =================================================================== diff -u -r22529 -r22578 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 22529) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 22578) @@ -19,7 +19,9 @@ import java.util.Map; import java.util.Set; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -395,10 +397,37 @@ .getDepartInvoicePlan(Arrays.asList(departCodes),applyDate ,tousseType,disposableGoodsType); vos = invoicePlanManager.filterQueryByPara(vos); - + setSentState((List)vos); StrutsResponseUtils.output(JSONArray.fromObject(vos)); } + private void setSentState(List vos){ + if(CollectionUtils.isEmpty(vos)){ + return; + } + HttpServletRequest request = StrutsParamUtils.getRequest(); + if(request == null){ + return; + } + HttpSession httpSession = request.getSession(); + if(httpSession == null){ + return; + } + Object o = httpSession.getAttribute("invoice_sentOrgUnitCodingList"); + if(o == null){ + return; + } + List invoice_sentOrgUnitCodingList = (List)o; + for (InvoicePlanVo invoicePlanVo : vos) { + String departCode = invoicePlanVo.getDepartCode(); + if(invoice_sentOrgUnitCodingList.contains(departCode)){ + invoicePlanVo.setSent(true); + }else{ + invoicePlanVo.setSent(false); + } + } + } + /** * 快速发货列表 */ Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/InvoicePlanVo.java =================================================================== diff -u -r22463 -r22578 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/InvoicePlanVo.java (.../InvoicePlanVo.java) (revision 22463) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/InvoicePlanVo.java (.../InvoicePlanVo.java) (revision 22578) @@ -23,6 +23,7 @@ private Collection applicationGoodsVos = new LinkedList(); + private boolean sent = false; public String getDepartCode() { return departCode; } @@ -105,5 +106,13 @@ Collection applicationGoodsVos) { this.applicationGoodsVos = applicationGoodsVos; } + + public boolean isSent() { + return sent; + } + + public void setSent(boolean sent) { + this.sent = sent; + } } Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java =================================================================== diff -u -r22291 -r22578 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 22291) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/action/InvoiceAction.java (.../InvoiceAction.java) (revision 22578) @@ -23,6 +23,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -1974,6 +1975,28 @@ } } + private void saveSentOrgUnitCodingList(String orgUnitCoding){ + if(StringUtils.isBlank(orgUnitCoding)){ + return; + } + HttpServletRequest request = StrutsParamUtils.getRequest(); + if(request == null){ + return; + } + HttpSession httpSession = request.getSession(); + if(httpSession == null){ + return; + } + Object o = httpSession.getAttribute("invoice_sentOrgUnitCodingList"); + if(o == null){ + o = new LinkedList(); + httpSession.setAttribute("invoice_sentOrgUnitCodingList", o); + } + List invoice_sentOrgUnitCodingList = (List)o; + if(!invoice_sentOrgUnitCodingList.contains(orgUnitCoding)){ + invoice_sentOrgUnitCodingList.add(orgUnitCoding); + } + } /** * 保存发货单(根据部门或申请单id) */ @@ -1992,7 +2015,7 @@ String personInChargeCode = StrutsParamUtils.getPraramValue("personInChargeCode", ""); String sourceWarehouseId = StrutsParamUtils.getPraramValue("sourceWarehouseId", ""); String sourceWarehouseName = StrutsParamUtils.getPraramValue("sourceWarehouseName", ""); - + boolean auxiliaryInvoice = StrutsParamUtils.getBoolPraramValue("auxiliaryInvoice", false); params.put("invoiceType", invoiceType); params.put("mode", mode); params.put("departCode", orgUnitCoding); @@ -2033,6 +2056,10 @@ try{ SubmitInvoiceContext invoiceContext = invoiceManager.submitInvoice(params); + // 发货成功的科室保存到session + if(auxiliaryInvoice){ + saveSentOrgUnitCodingList(orgUnitCoding); + } JSONObject json = JSONUtil.buildJsonObject(true, "保存成功!"); json.put("invoiceIds", invoiceContext.getInvoiceList().stream().map(p->p.getId()).collect(Collectors.toSet())); StrutsResponseUtils.output(json);