Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r21836 -r21842 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 21836) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 21842) @@ -76,6 +76,7 @@ import com.forgon.disinfectsystem.packing.service.PackingManager; import com.forgon.disinfectsystem.recyclingapplication.factory.DeliverManagerFactory; import com.forgon.disinfectsystem.recyclingapplication.updateLog.ApplicationLogManager; +import com.forgon.disinfectsystem.recyclingapplication.vo.ExpensiveGoodsInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.ExpressInvoiceInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.GridDataVo; import com.forgon.disinfectsystem.recyclingapplication.vo.InvoicePlanVo; @@ -290,8 +291,38 @@ } return resultCol; } - @Override + public Collection getExpensiveGoodsInvoicePlanVOs( + Collection departCodes, String applyDate) { + List expressInvoiceInvoicePlanVoList = new ArrayList(); + String sql = buildSqlForGetInvoicePlanByOrgUnitCodingsAndTousseType( + departCodes, applyDate, null); + String hql = String + .format("select distinct po from %s po inner join fetch po.applicationItems %s and po.type='%s'", + InvoicePlan.class.getSimpleName(), sql, + InvoicePlan.TYPE_EXPENSIVEGOODS_FORM); + List list = objectDao.findByHql(hql); + if (CollectionUtils.isEmpty(list)) { + return expressInvoiceInvoicePlanVoList; + } + for (InvoicePlan invoicePlan : list) { + List applicationItems = invoicePlan + .getApplicationItems(); + if (CollectionUtils.isEmpty(applicationItems)) { + continue; + } + ExpensiveGoodsInvoicePlanVo vo = new ExpensiveGoodsInvoicePlanVo(); + vo.setDepart(invoicePlan.getDepart()); + vo.setDepartCode(invoicePlan.getDepartCoding()); + vo.setExpensiveGoodsInvoicePlanId(invoicePlan.getId()); + vo.setApplicationTime(invoicePlan.getApplicationTime()); + vo.setSerialNumber(invoicePlan.getSerialNumber()); + } + + return expressInvoiceInvoicePlanVoList; + + } + @Override public Collection getExpressInvoiceInvoiePlans(Collection departCodes, String applyDate, String tousseType){ Map expressInvoiceInvoicePlanVoMap = new HashMap(); List tousseDefinitionIdList = tousseDefinitionManager.getProperty("id", String.format("expressInvoice='%s'", Constants.STR_YES)); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r21777 -r21842 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 21777) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 21842) @@ -17,12 +17,12 @@ import com.forgon.disinfectsystem.entity.invoicemanager.LostMaterialItem; import com.forgon.disinfectsystem.entity.invoicemanager.TimeQuantum; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; +import com.forgon.disinfectsystem.recyclingapplication.vo.ExpensiveGoodsInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.ExpressInvoiceInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.InvoicePlanVo; import com.forgon.disinfectsystem.vo.ApplicationItemVO; import com.forgon.disinfectsystem.vo.RecyclingApplicationVo; import com.forgon.tools.hibernate.BasePoManager; -import com.google.gson.JsonArray; /** * @author WangYi @@ -44,6 +44,8 @@ */ public Collection getDepartInvoicePlan(Collection departCodes, String applyDate, String tousseType,String disposableGoodsType); + public Collection getExpensiveGoodsInvoicePlanVOs(Collection departCodes, String applyDate); + public Collection getExpressInvoiceInvoiePlans(Collection departCodes, String applyDate, String tousseType); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ExpensiveGoodsInvoicePlanVo.java =================================================================== diff -u --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ExpensiveGoodsInvoicePlanVo.java (revision 0) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/vo/ExpensiveGoodsInvoicePlanVo.java (revision 21842) @@ -0,0 +1,68 @@ +package com.forgon.disinfectsystem.recyclingapplication.vo; + +import java.util.Date; + +public class ExpensiveGoodsInvoicePlanVo { + + private String departCode; + + private String depart; + + private Long expensiveGoodsInvoicePlanId; + + /** + * 编号 + */ + private String serialNumber; + /** + * 申请时间,是指申请单第一次提交订单的时间,不是暂存的时间,也不是最后的修改时间。 + * 如果为使用记录转换的申请单,则申请时间记录最后一条使用记录转换的时间 + * + */ + private Date applicationTime; + + public String getRemark() { + return null; + } + + public String getDepartCode() { + return departCode; + } + + public String getDepart() { + return depart; + } + + public Long getExpensiveGoodsInvoicePlanId() { + return expensiveGoodsInvoicePlanId; + } + + public void setDepartCode(String departCode) { + this.departCode = departCode; + } + + public void setDepart(String depart) { + this.depart = depart; + } + + public void setExpensiveGoodsInvoicePlanId(Long expensiveGoodsInvoicePlanId) { + this.expensiveGoodsInvoicePlanId = expensiveGoodsInvoicePlanId; + } + + public String getSerialNumber() { + return serialNumber; + } + + public Date getApplicationTime() { + return applicationTime; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public void setApplicationTime(Date applicationTime) { + this.applicationTime = applicationTime; + } + +} Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java =================================================================== diff -u -r21777 -r21842 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 21777) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 21842) @@ -47,6 +47,7 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyItem; import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; +import com.forgon.disinfectsystem.recyclingapplication.vo.ExpensiveGoodsInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.ExpressInvoiceInvoicePlanVo; import com.forgon.disinfectsystem.recyclingapplication.vo.InvoicePlanVo; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; @@ -400,6 +401,18 @@ // StrutsResponseUtils.output(JSONArray.fromObject(vos)); StrutsResponseUtils.output(new Gson().toJson(vos,listType)); } + public void getExpensiveGoodsInvoicePlanVOs() { + String departCode = StrutsParamUtils.getPraramValue("departCode", ""); + String[] departCodes = StringUtils.split(departCode, ';'); + + String applyDate = StrutsParamUtils.getPraramValue("applyDate", ""); + + Collection vos = invoicePlanManager + .getExpensiveGoodsInvoicePlanVOs(Arrays.asList(departCodes),applyDate); + + + StrutsResponseUtils.output(JSONArray.fromObject(vos)); + } /** * 只查询发货计划单(不按部门及申请单类型统计)