Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r17611 -r17793 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 17611) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 17793) @@ -270,7 +270,7 @@ public JSONArray getInvoicePlansByOrgAndTousseType( Collection departCodes, String applyDate, String tousseType) { //查询发货计划 - Collection invoicePlans = getInvoicePlanListByOrgUnitCodingsAndTousseType( + Collection invoicePlans = getInvoicePlanListByOrgUnitCodingsAndTousseTypeOnlyForInvoicePlanList( departCodes, applyDate, tousseType); JSONArray invoicePlanArray = new JSONArray(); JSONObject invoicePlanTemp = new JSONObject(); @@ -285,6 +285,7 @@ invoicePlanTemp = new JSONObject(); invoicePlanTemp.put("id",String.valueOf(invoicePlan.getId())); invoicePlanTemp.put("typeAndserialNumber",invoicePlan.getSerialNumber() + " " + invoicePlan.getType()); + invoicePlanTemp.put("remark",invoicePlan.getRemark()); invoicePlanArray.add(invoicePlanTemp); } } @@ -684,6 +685,19 @@ Collections.singleton(orgUnitCoding), TimeQuantum.All); return list; } + /** + * 根据orgUnitCoding获取未发货的发货计划单,只是获取remark信息 + * + * @param orgUnitCoding + * @return + */ + public List getInvoicePlanByOrgUnitCodingForRemarkInfo(String orgUnitCoding){ + String sql = buildSqlForGetInvoicePlanByOrgUnitCodings(Collections.singleton(orgUnitCoding), TimeQuantum.All); + sql += " and po.remark is not null and po.remark!='' "; +// return objectDao.findBySql(InvoicePlan.class.getSimpleName(), sql); + String hql = String.format("select po from %s po %s ", InvoicePlan.class.getSimpleName(),sql); + return objectDao.findByHql(hql); + } public List getInvoicePlanByOrgUnitCoding_ForUpdate_TRANS_MANDATORY( String orgUnitCoding) { @@ -1058,6 +1072,23 @@ String hql = String.format("select distinct po from %s po inner join fetch po.applicationItems %s ORDER BY sequence, applicationTime", InvoicePlan.class.getSimpleName(),sql); return objectDao.findByHql(hql); } + + /** + * 根据时间段、物品类型和多个orgUnitCoding获取未发货的发货计划单,只用于获取申请单列表 + * @param orgUnitCodings + * @param applyDate + * @param tousseType + * @return List 发货计划单集合 + * @author SYF + * @since 2015-09-23 + */ + public List getInvoicePlanListByOrgUnitCodingsAndTousseTypeOnlyForInvoicePlanList( + Collection orgUnitCodings, String applyDate , String tousseType){ + String sql = + buildSqlForGetInvoicePlanByOrgUnitCodingsAndTousseType(orgUnitCodings, applyDate, tousseType); + String hql = String.format("select po from %s po %s ORDER BY applicationTime", InvoicePlan.class.getSimpleName(),sql); + return objectDao.findByHql(hql); + } /** * 更新代理灭菌外来器械包申请的状态 Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r17611 -r17793 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 17611) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 17793) @@ -75,6 +75,8 @@ public List getInvoicePlanByOrgUnitCoding(String orgUnitCoding); + public List getInvoicePlanByOrgUnitCodingForRemarkInfo(String orgUnitCoding); + public List getInvoicePlanByOrgUnitCoding_ForUpdate_TRANS_MANDATORY(String orgUnitCoding); /** @@ -116,6 +118,18 @@ public List getInvoicePlanListByOrgUnitCodingsAndTousseType( Collection orgUnitCodings, String applyDate , String tousseType); + /** + * 根据时间段、物品类型和多个orgUnitCoding获取未发货的发货计划单,只用于获取申请单列表 + * @param orgUnitCodings + * @param applyDate + * @param tousseType + * @return List 发货计划单集合 + * @author SYF + * @since 2015-09-23 + */ + public List getInvoicePlanListByOrgUnitCodingsAndTousseTypeOnlyForInvoicePlanList( + Collection orgUnitCodings, String applyDate , String tousseType); + public void updateProxyDisinfectionForeignTousseApplicationStataus( Set list, InvoicePlan invoicePlan); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java =================================================================== diff -u -r17246 -r17793 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 17246) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/InvoicePlanAction.java (.../InvoicePlanAction.java) (revision 17793) @@ -559,7 +559,7 @@ public void loadDepartApplicationInfo() { List list = invoicePlanManager - .getInvoicePlanByOrgUnitCoding(orgUnitCoding); + .getInvoicePlanByOrgUnitCodingForRemarkInfo(orgUnitCoding); StringBuilder sb = new StringBuilder(); String separator = "\r\n"; for (InvoicePlan invoicePlan : list) { Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js =================================================================== diff -u -r17261 -r17793 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 17261) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoicePlanExtractedForm.js (.../invoicePlanExtractedForm.js) (revision 17793) @@ -977,9 +977,20 @@ encodeURI(selectedTousseType), method : 'POST' }), - reader : new Ext.data.JsonReader({fields : [{name : 'id'},{name : 'typeAndserialNumber'}]}), + reader : new Ext.data.JsonReader({fields : [{name : 'id'},{name : 'typeAndserialNumber'},{name : 'remark'}]}), listeners: { load: function(thiz,records,options){ + // 设置备注 + var remarks = ''; + if(records.length > 0){ + for(var i = 0; i < records.length;++i){ + if(!isUndefinedOrNullOrEmpty(records[i].data.remark)){ + remarks += records[i].data.remark; + } + } + top.Ext.getCmp('remark2').setValue(remarks); + } + if(records.length > 0 && invoicePlanId){ var index; for(var index = 0; index < records.length;++index){ @@ -1691,17 +1702,17 @@ }] }); - Ext.Ajax.request({ - url : WWWROOT + '/disinfectSystem/invoicePlanAction!loadDepartApplicationInfo.do', - params : {orgUnitCoding : orgUnitCoding}, - success : function(response, options) { - var result = Ext.decode(response.responseText); - var remark = result.remark; - top.Ext.getCmp('remark2').setValue(remark); - }, - failure : function(form, action) { - } - }); +// Ext.Ajax.request({ +// url : WWWROOT + '/disinfectSystem/invoicePlanAction!loadDepartApplicationInfo.do', +// params : {orgUnitCoding : orgUnitCoding}, +// success : function(response, options) { +// var result = Ext.decode(response.responseText); +// var remark = result.remark; +// top.Ext.getCmp('remark2').setValue(remark); +// }, +// failure : function(form, action) { +// } +// }); var cookieSender = Ext.state.Manager.getProvider().get('cookieSender'); if(cookieSender){ top.Ext.getCmp('sender').setValue(cookieSender); Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r17770 -r17793 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17770) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 17793) @@ -376,6 +376,58 @@ } return appAmount; } + public static int getWaitDeliverAmount2(TousseItem tousseItem, + String invoiceOrigin, boolean afterRecyclingTousseDeliver, + boolean isBorrowTousse, ObjectDao objectDao) { + Integer appAmount = tousseItem.getAmount(); + String type = tousseItem.getTousseType(); + + if (!isBorrowTousse + && (TousseDefinition.PACKAGE_TYPE_INSIDE.equals(type) + || TousseDefinition.PACKAGE_TYPE_DISINFECTION + .equals(type) || TousseDefinition.PACKAGE_TYPE_CUSTOM + .equals(type))) { + if (SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)) { + appAmount = tousseItem.getRecyclingAmount(); + // 回收数量为空,即还没有回收 + if (appAmount == null) { + if (afterRecyclingTousseDeliver){ + // 回收后发货,则判断该物品是否需要回收 + String isRecycling = TousseDefinition.STR_YES; + isRecycling = tousseItem.getIsRecycling(); + // 如果不需要回收,则返回申请数量 + if (TousseDefinition.STR_NO.equals(isRecycling)){ + appAmount = tousseItem.getAmount(); + } + } + else{ + appAmount = tousseItem.getAmount(); + } + } + } else { + // 发货数量的依据为申请数量 + appAmount = tousseItem.getAmount(); + // 回收后发货 + if (afterRecyclingTousseDeliver){ + Integer recyclingAmount = tousseItem.getRecyclingAmount(); + if (recyclingAmount == null){ + // 回收后发货,则判断该物品是否需要回收 + String isRecycling = TousseDefinition.STR_YES; + isRecycling = tousseItem.getIsRecycling(); + // 如果需要回收,则返回0,不能进行发货 + if (TousseDefinition.STR_YES.equals(isRecycling)){ + appAmount = 0; + } + } + + } + } + } + if (appAmount == null) { + appAmount = 0; + } + return appAmount; + } /** * 获取发货单待发货物品数量(申请数量还是回收数量) * 如果是手术预约申请单或者是代理灭菌申请单及外部代理灭菌申请单,则都是申请数量 @@ -398,7 +450,7 @@ } boolean isBorrowTousse = InvoicePlan.TYPE_BORROWINGSINGLE .equals(invoicePlan.getType()); - return getWaitDeliverAmount(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, isBorrowTousse, objectDao); + return getWaitDeliverAmount2(tousseItem, invoiceOrigin, afterRecyclingTousseDeliver, isBorrowTousse, objectDao); } /**