Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r25588 -r25611 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 25588) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 25611) @@ -34,7 +34,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.hibernate.Query; -import org.springframework.beans.factory.annotation.Autowired; import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -142,7 +141,7 @@ private SterilizerManager sterilizerManager; private TimeoutManager timeoutManager; - @Autowired + private SterilisationManager sterilisationManager; private BarcodeManager barcodeManager; @@ -167,8 +166,11 @@ private TousseDefinitionManager tousseDefinitionManager; - - public void setTousseDefinitionManager( + public void setSterilisationManager(SterilisationManager sterilisationManager) { + this.sterilisationManager = sterilisationManager; + } + + public void setTousseDefinitionManager( TousseDefinitionManager tousseDefinitionManager) { this.tousseDefinitionManager = tousseDefinitionManager; } Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r25570 -r25611 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 25570) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 25611) @@ -36,6 +36,7 @@ import org.springframework.security.authentication.encoding.Md5PasswordEncoder; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.stereotype.Component; import sun.misc.BASE64Decoder; @@ -186,278 +187,116 @@ /** * @author Jam 2013-11-7 下午4:38:51 Honey Well 70E + * JSON WebService 处理 */ + +@Component("serviceManager") public class ServiceManagerImpl implements ServiceManager { private final Logger logger = Logger.getLogger(this.getClass()); + @Autowired private ObjectDao objectDao; + @Autowired private OrgUnitManager orgUnitManager; + @Autowired private InvoicePlanManager invoicePlanManager; + @Autowired private InvoiceManager invoiceManager; + @Autowired private BarcodeManager barcodeManager; + @Autowired private TousseInstanceManager tousseInstanceManager; + @Autowired private SupplyRoomConfigManager supplyRoomConfigManager; + @Autowired private UseRecordManager useRecordManager; + @Autowired private WashAndDisinfectRecordManager washAndDisinfectRecordManager; + @Autowired private DateQueryAdapter dateQueryAdapter; + @Autowired private SterilizationRecordManager sterilizationRecordManager; + @Autowired private SterilisationManager sterilisationManager; + @Autowired private OperationDefineDao operationDefineDao; + @Autowired private InvoiceDepartmentManage invoiceDepartmentManage; + @Autowired private ReviewedBasketManager reviewedBasketManager; + @Autowired private ProxyDisinfectionManager proxyDisinfectionManager; + @Autowired private SerialNumManager serialNumManager; + @Autowired private TaskGroupManager taskGroupManager; + @Autowired private ReturnGoodsRecordManager returnGoodsRecordManager; + @Autowired private PrintConfigManager printConfigManager; + @Autowired private UserManager userManager; + @Autowired private UserDetailsService daoUserDetail; + @Autowired private TousseItemManager tousseItemManager; + @Autowired private TousseDefinitionManager tousseDefinitionManager; + @Autowired private RecyclingApplicationManager recyclingApplicationManager; + @Autowired private PackingManager packingManager; + @Autowired private WareHouseManager wareHouseManager; + @Autowired private HttpOptionManager httpOptionManager; + @Autowired private KeyValueManager keyValueManager; + @Autowired private SterileLoadingManager sterileLoadingManager; + @Autowired private DepartmentGroupManager departmentGroupManager; + @Autowired private TousseTransitionRecordManager tousseTransitionRecordManager; + @Autowired private PositionManager positionManager; + @Autowired private OperationReservationManager operationReservationManager; + @Autowired private WashTransitionRecordManager washTransitionRecordManager; + @Autowired private WashTransitionItemManager washTransitionItemManager; + @Autowired private WashTransitionMaterialManager washTransitionMaterialManager; + @Autowired private LogManager appLogManager; + @Autowired private TousseTransitionPlanManager tousseTransitionPlanManager; + @Autowired private UrgentLevelManager urgentLevelManager; + @Autowired private CssdHandleTousseManager cssdHandleTousseManager; + @Autowired private SterilizationTransitionManager sterilizationTransitionManager; + @Autowired private SterilizationTransitionItemManager sterilizationTransitionItemManager; + @Autowired private SignRecordManager signRecordManager; + @Autowired private SterileUnloadScanTousseManager sterileUnloadScanTousseManager; + @Autowired private ContainerManager containerManager; + @Autowired private TousseReturnDisinfectRecordManager tousseReturnDisinfectRecordManager; @Autowired private QualityMonitoringInstanceManager qualityMonitoringInstanceManager; @Autowired private QualityMonitoringDefinitionManager qualityMonitoringDefinitionManager; - @Autowired private SysUserManager sysUserManager; - public void setTousseReturnDisinfectRecordManager( - TousseReturnDisinfectRecordManager tousseReturnDisinfectRecordManager) { - this.tousseReturnDisinfectRecordManager = tousseReturnDisinfectRecordManager; - } - - public void setContainerManager(ContainerManager containerManager) { - this.containerManager = containerManager; - } - - public void setSterileUnloadScanTousseManager( - SterileUnloadScanTousseManager sterileUnloadScanTousseManager) { - this.sterileUnloadScanTousseManager = sterileUnloadScanTousseManager; - } - - public void setSignRecordManager(SignRecordManager signRecordManager) { - this.signRecordManager = signRecordManager; - } - - public void setSterilizationTransitionItemManager( - SterilizationTransitionItemManager sterilizationTransitionItemManager) { - this.sterilizationTransitionItemManager = sterilizationTransitionItemManager; - } - - public void setSterilizationTransitionManager( - SterilizationTransitionManager sterilizationTransitionManager) { - this.sterilizationTransitionManager = sterilizationTransitionManager; - } - - public void setCssdHandleTousseManager( - CssdHandleTousseManager cssdHandleTousseManager) { - this.cssdHandleTousseManager = cssdHandleTousseManager; - } - - public void setUrgentLevelManager(UrgentLevelManager urgentLevelManager) { - this.urgentLevelManager = urgentLevelManager; - } - - public void setTousseTransitionPlanManager( - TousseTransitionPlanManager tousseTransitionPlanManager) { - this.tousseTransitionPlanManager = tousseTransitionPlanManager; - } - - public void setPackingManager(PackingManager packingManager) { - this.packingManager = packingManager; - } - - public void setAppLogManager(LogManager appLogManager) { - this.appLogManager = appLogManager; - } - - public void setRecyclingApplicationManager( - RecyclingApplicationManager recyclingApplicationManager) { - this.recyclingApplicationManager = recyclingApplicationManager; - } - - public void setTousseDefinitionManager( - TousseDefinitionManager tousseDefinitionManager) { - this.tousseDefinitionManager = tousseDefinitionManager; - } - - public void setTousseItemManager(TousseItemManager tousseItemManager) { - this.tousseItemManager = tousseItemManager; - } - - public void setPrintConfigManager(PrintConfigManager printConfigManager) { - this.printConfigManager = printConfigManager; - } - - public void setUserManager(UserManager userManager) { - this.userManager = userManager; - } - - public void setReturnGoodsRecordManager( - ReturnGoodsRecordManager returnGoodsRecordManager) { - this.returnGoodsRecordManager = returnGoodsRecordManager; - } - - public void setInvoiceManager(InvoiceManager invoiceManager) { - this.invoiceManager = invoiceManager; - } - - public void setTaskGroupManager(TaskGroupManager taskGroupManager) { - this.taskGroupManager = taskGroupManager; - } - - public void setWareHouseManager(WareHouseManager wareHouseManager) { - this.wareHouseManager = wareHouseManager; - } - - public void setHttpOptionManager(HttpOptionManager httpOptionManager) { - this.httpOptionManager = httpOptionManager; - } - private final Md5PasswordEncoder passwordEncoder = new Md5PasswordEncoder(); - public void setReviewedBasketManager( - ReviewedBasketManager reviewedBasketManager) { - this.reviewedBasketManager = reviewedBasketManager; - } - - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; - } - - public void setOrgUnitManager(OrgUnitManager orgUnitManager) { - this.orgUnitManager = orgUnitManager; - } - - public void setInvoicePlanManager(InvoicePlanManager invoicePlanManager) { - this.invoicePlanManager = invoicePlanManager; - } - - public void setBarcodeManager(BarcodeManager barcodeManager) { - this.barcodeManager = barcodeManager; - } - - public void setTousseInstanceManager( - TousseInstanceManager tousseInstanceManager) { - this.tousseInstanceManager = tousseInstanceManager; - } - - public void setSupplyRoomConfigManager( - SupplyRoomConfigManager supplyRoomConfigManager) { - this.supplyRoomConfigManager = supplyRoomConfigManager; - } - - public void setUseRecordManager(UseRecordManager useRecordManager) { - this.useRecordManager = useRecordManager; - } - - public void setWashAndDisinfectRecordManager( - WashAndDisinfectRecordManager washAndDisinfectRecordManager) { - this.washAndDisinfectRecordManager = washAndDisinfectRecordManager; - } - - public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { - this.dateQueryAdapter = dateQueryAdapter; - } - - public void setSterilizationRecordManager( - SterilizationRecordManager sterilizationRecordManager) { - this.sterilizationRecordManager = sterilizationRecordManager; - } - - public void setSterilisationManager(SterilisationManager sterilisationManager) { - this.sterilisationManager = sterilisationManager; - } - - public void setOperationDefineDao(OperationDefineDao operationDefineDao) { - this.operationDefineDao = operationDefineDao; - } - - public void setInvoiceDepartmentManage( - InvoiceDepartmentManage invoiceDepartmentManage) { - this.invoiceDepartmentManage = invoiceDepartmentManage; - } - - public void setProxyDisinfectionManager( - ProxyDisinfectionManager proxyDisinfectionManager) { - this.proxyDisinfectionManager = proxyDisinfectionManager; - } - - public void setSerialNumManager(SerialNumManager serialNumManager) { - this.serialNumManager = serialNumManager; - } - - - public void setDaoUserDetail(UserDetailsService daoUserDetail) { - this.daoUserDetail = daoUserDetail; - } - - public void setKeyValueManager(KeyValueManager keyValueManager) { - this.keyValueManager = keyValueManager; - } - - public void setSterileLoadingManager(SterileLoadingManager sterileLoadingManager) { - this.sterileLoadingManager = sterileLoadingManager; - } - - public void setDepartmentGroupManager( - DepartmentGroupManager departmentGroupManager) { - this.departmentGroupManager = departmentGroupManager; - } - - public void setTousseTransitionRecordManager( - TousseTransitionRecordManager tousseTransitionRecordManager) { - this.tousseTransitionRecordManager = tousseTransitionRecordManager; - } - - public void setPositionManager(PositionManager positionManager) { - this.positionManager = positionManager; - } - - public void setOperationReservationManager( - OperationReservationManager operationReservationManager) { - this.operationReservationManager = operationReservationManager; - } - - public void setWashTransitionRecordManager( - WashTransitionRecordManager washTransitionRecordManager) { - this.washTransitionRecordManager = washTransitionRecordManager; - } - - public void setWashTransitionItemManager( - WashTransitionItemManager washTransitionItemManager) { - this.washTransitionItemManager = washTransitionItemManager; - } - - public void setWashTransitionMaterialManager( - WashTransitionMaterialManager washTransitionMaterialManager) { - this.washTransitionMaterialManager = washTransitionMaterialManager; - } - @Override public String invoke(String remoteAddr, String jsonParams) { JSONObject jsonObject = null; Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java =================================================================== diff -u -r24299 -r25611 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java (.../SatisfactionSurveyTemplateManagerImpl.java) (revision 24299) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java (.../SatisfactionSurveyTemplateManagerImpl.java) (revision 25611) @@ -10,7 +10,8 @@ import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.springframework.stereotype.Service; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -40,42 +41,23 @@ * * 2013-9-10 上午10:44:48 */ -@Service("satisfactionSurveyTemplateManagerTarget") +@Component("satisfactionSurveyTemplateManager") public class SatisfactionSurveyTemplateManagerImpl implements SatisfactionSurveyTemplateManager { + @Autowired private ObjectDao objectDao; - + @Autowired private OperationManager operationManager; - + @Autowired private DateQueryAdapter dateQueryAdapter; - + @Autowired private DirectoryHelper directoryHelper; - + @Autowired private FormDefinitionManager formDefinitionManager; protected Logger logger = Logger.getLogger(this.getClass()); - public void setFormDefinitionManager(FormDefinitionManager formDefinitionManager) { - this.formDefinitionManager = formDefinitionManager; - } - - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; - } - - public void setOperationManager(OperationManager operationManager) { - this.operationManager = operationManager; - } - - public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { - this.dateQueryAdapter = dateQueryAdapter; - } - - public void setDirectoryHelper(DirectoryHelper directoryHelper) { - this.directoryHelper = directoryHelper; - } - @Transactional(readOnly = false, propagation = Propagation.REQUIRED) public void saveOrUpdate( SatisfactionSurveyTemplate satisfactionSurveyTemplate) { Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java =================================================================== diff -u -r25416 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 25416) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManager.java (.../RecyclingApplicationManager.java) (revision 25611) @@ -205,13 +205,6 @@ public boolean returnEditApplication(String id); /** - * 获取借物单待归还(物品和数量的Map). - * @param borrowApplicationId 借物单id - * @return 返回值为未归还数量,即 [待归还数量 = 申请借物数量 - 申请归还数量(若已回收,则为回收数量为准,否则申请归还的数量为准)] - */ - public Map getUnreturnTousse(Long borrowApplicationId); - - /** * 创建“申请还物单”
* applyReturnTousses参数为申请归还的物品
* 传入actualReturnTousses作为输出参数,此方法会把实际归还的物品放入map中
@@ -292,13 +285,6 @@ public void addDisinfectTousseItem(InvoicePlan plan, Integer prepareRecycleAmount, TousseDefinition td, TousseItem item); /** - * 根据借物单id查找能归还的数量(计算方式:待归还数量(该借物单的已发货数量-该借物单的所有还原物单的已归还数量之和)). - * @param borrowApplicationId 借物单id - * @return 返回格式(key:物品名字,value: 数量) - */ - Map getCanReturnAmount(Long borrowApplicationId); - - /** * 根据借物单id查找能归还的数量(计算方式:待归还数量(即该借物单的已发货数量-该借物单的所有还原物单的已归还数量之和)-已经转申请单的数量). * @param borrowApplicationId 借物单id * @return 返回格式(key:物品名字,value: 数量) @@ -357,13 +343,6 @@ public RecyclingApplication newRecyclingApplication(String applicant,String depart,String departCoding); /** - * 根据借物单id来查找该借物单上的物品被转换成申请单的情况. - * @param borrowApplicationId 借物单id - * @return 返回的参数是具体的转换情况 - */ - List> getConvertAppAmountDetail(Long borrowApplicationId); - - /** * 干预申请数量的操作. * @param recyclingApplication 此次提交的申请单对象 * @param oldRecyclingApplication 原来的申请的的vo对象,用于比较此次提交的申请单是否发生变化(用于写日志) Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java =================================================================== diff -u -r23915 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 23915) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 25611) @@ -409,7 +409,7 @@ //未归还的器械包汇总 Map unReturnTousseSummaryMap = new HashMap(); for (InvoicePlan invoicePlan : borrowApplications) { - Map unreturnTousses = recyclingApplicationManager.getUnreturnTousse(invoicePlan.getId()); + Map unreturnTousses = invoicePlanManager.getUnreturnTousse(invoicePlan.getId()); boolean exist = CollectionUtils.containsAny(unreturnTousses.keySet(), tousseNameList); if(exist){ if (result.length() > 0) { @@ -449,7 +449,7 @@ } public String getAvailableForReturnTousses(String borrowApplicationIdStr) { - Map unreturnTousses = recyclingApplicationManager.getCanReturnAmount(Long.valueOf(borrowApplicationIdStr)); + Map unreturnTousses = invoicePlanManager.getCanReturnAmount(Long.valueOf(borrowApplicationIdStr)); // Map unreturnTousses = recyclingApplicationManager // .getUnreturnTousse(Long.valueOf(borrowApplicationIdStr)); Collection unreturnTousseResult = new ArrayList<>(); Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r25550 -r25611 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 25550) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 25611) @@ -20,7 +20,6 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; -import org.springframework.beans.factory.annotation.Autowired; import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; @@ -62,8 +61,6 @@ import com.forgon.disinfectsystem.packing.service.PackingManager; import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManager; -import com.forgon.disinfectsystem.stockmanage.cssdstock.service.TousseStockManager; -import com.forgon.disinfectsystem.stockmanage.departmentstock.service.DepartmentStockManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseInstanceManager; import com.forgon.disinfectsystem.vo.DisposableGoodsStorageAdjustVo; @@ -93,8 +90,6 @@ private InitDbConnection dbConnection; - private TousseStockManager tousseStockManager; - private DiposableGoodsManager diposableGoodsManager; private TousseInstanceManager tousseInstanceManager; @@ -109,8 +104,6 @@ private PackingManager packingManager; - private DepartmentStockManager departmentStockManager; - private SupplyRoomConfigManager supplyRoomConfigManager; private WriteBackInventoryHelper writeBackInventoryHelper; @@ -130,9 +123,12 @@ private InvoiceManager invoiceManager; - @Autowired private InvoicePlanManager invoicePlanManager; + public void setInvoicePlanManager(InvoicePlanManager invoicePlanManager) { + this.invoicePlanManager = invoicePlanManager; + } + public void setDbConnection(InitDbConnection dbConnection) { this.dbConnection = dbConnection; } @@ -142,11 +138,6 @@ this.writeBackInventoryHelper = writeBackInventoryHelper; } - public void setDepartmentStockManager( - DepartmentStockManager departmentStockManager) { - this.departmentStockManager = departmentStockManager; - } - public void setPackingManager(PackingManager packingManager) { this.packingManager = packingManager; } @@ -180,10 +171,6 @@ this.diposableGoodsManager = diposableGoodsManager; } - public void setTousseStockManager(TousseStockManager tousseStockManager) { - this.tousseStockManager = tousseStockManager; - } - public void setObjectDao(ObjectDao objectDao) { this.objectDao = objectDao; } Index: ssts-web/src/main/resources/spring/applicationContext-service.xml =================================================================== diff -u -r25607 -r25611 --- ssts-web/src/main/resources/spring/applicationContext-service.xml (.../applicationContext-service.xml) (revision 25607) +++ ssts-web/src/main/resources/spring/applicationContext-service.xml (.../applicationContext-service.xml) (revision 25611) @@ -219,7 +219,7 @@ - @@ -229,7 +229,7 @@ - + @@ -624,7 +624,6 @@ - Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java =================================================================== diff -u -r25521 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 25521) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/action/RecyclingApplicationAction.java (.../RecyclingApplicationAction.java) (revision 25611) @@ -690,7 +690,7 @@ */ public void loadTousseLeaseItems() { try { - LoadTousseLeaseItemsResultBuilder resultBuilder = new LoadTousseLeaseItemsResultBuilder(recyclingApplicationManager, objectDao,tousseDefinitionManager); + LoadTousseLeaseItemsResultBuilder resultBuilder = new LoadTousseLeaseItemsResultBuilder(invoicePlanManager, objectDao,tousseDefinitionManager); JSONArray result = resultBuilder.buildLoadTousseLeaseItems(recyclingApplication); StrutsResponseUtils.output(result); } @@ -726,7 +726,7 @@ String str="{loginUserName:\'"+loginUserName+"\',applicant:\'"+recyclingApplication.getApplicant()+"\',depart:\'"+recyclingApplication.getDepart() +"\',handleDepart:\'"+recyclingApplication.getHandleDepart()+"\',wareHouse:\'"+wareHouseName.substring(0,wareHouseName.length())+"\'}"; try { - LoadTousseLeaseItemsResultBuilder resultBuilder = new LoadTousseLeaseItemsResultBuilder(recyclingApplicationManager, objectDao,tousseDefinitionManager); + LoadTousseLeaseItemsResultBuilder resultBuilder = new LoadTousseLeaseItemsResultBuilder(invoicePlanManager, objectDao,tousseDefinitionManager); JSONArray table = resultBuilder.buildLoadTousseLeaseItems(recyclingApplication); String result="{table:"+table+",otherMsg:"+JSON.parse(str)+"}"; StrutsResponseUtils.output(JSON.parse(result)); Index: ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-ZHLed.xml =================================================================== diff -u --- ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-ZHLed.xml (revision 0) +++ ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-ZHLed.xml (revision 25611) @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/result/LoadTousseLeaseItemsResultBuilder.java =================================================================== diff -u -r23873 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/result/LoadTousseLeaseItemsResultBuilder.java (.../LoadTousseLeaseItemsResultBuilder.java) (revision 23873) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/result/LoadTousseLeaseItemsResultBuilder.java (.../LoadTousseLeaseItemsResultBuilder.java) (revision 25611) @@ -22,6 +22,7 @@ import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingItem; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; +import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.tools.hibernate.ObjectDao; @@ -36,16 +37,16 @@ private final SimpleDateFormat dateFormat = ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM; - private RecyclingApplicationManager recyclingApplicationManager; + private InvoicePlanManager invoicePlanManager; private ObjectDao objectDao; private TousseDefinitionManager tousseDefinitionManager; protected Logger logger = Logger.getLogger(this.getClass()); - public LoadTousseLeaseItemsResultBuilder(RecyclingApplicationManager recyclingApplicationManager, ObjectDao objectDao,TousseDefinitionManager tousseDefinitionManager) { - this.recyclingApplicationManager = recyclingApplicationManager; + public LoadTousseLeaseItemsResultBuilder(InvoicePlanManager invoicePlanManager, ObjectDao objectDao,TousseDefinitionManager tousseDefinitionManager) { + this.invoicePlanManager = invoicePlanManager; this.objectDao = objectDao; this.tousseDefinitionManager=tousseDefinitionManager; } @@ -146,7 +147,7 @@ */ private void buildAllReturnAmount(RecyclingApplication recyclingApplication, JSONArray children, TousseItem tousseItem) { if (InvoicePlan.RETURN_STATUS_RETURNED.equals(recyclingApplication.getReturnStatus())) { - Map canReturnAmount = recyclingApplicationManager.getCanReturnAmount(recyclingApplication.getId()); + Map canReturnAmount = invoicePlanManager.getCanReturnAmount(recyclingApplication.getId()); if (MapUtils.isNotEmpty(canReturnAmount)) { JSONObject json = new JSONObject(); List applicationItems = recyclingApplication.getApplicationItems(); @@ -173,7 +174,7 @@ * @Deprecated 该方法已注释,不再使用 since 20180526 */ private void buildConvertAppAmountDetail(RecyclingApplication recyclingApplication, JSONArray children, TousseItem tousseItem) { - List> convertAppAmountList = recyclingApplicationManager.getConvertAppAmountDetail(recyclingApplication.getId()); + List> convertAppAmountList = invoicePlanManager.getConvertAppAmountDetail(recyclingApplication.getId()); convertAppAmountList.stream().filter(item -> ObjectUtils.equals(tousseItem.getTousseName(), item.get("tousseName"))).findFirst().ifPresent(map -> { JSONObject json = new JSONObject(); json.put("id", map.getOrDefault("id", null)); Index: ssts-web/src/main/resources/spring/projects/xjjqzyy/applicationContext-modbus.xml =================================================================== diff -u --- ssts-web/src/main/resources/spring/projects/xjjqzyy/applicationContext-modbus.xml (revision 0) +++ ssts-web/src/main/resources/spring/projects/xjjqzyy/applicationContext-modbus.xml (revision 25611) @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r25096 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 25096) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 25611) @@ -19,7 +19,6 @@ import org.apache.commons.lang3.ArrayUtils; import org.hibernate.Query; import org.hibernate.Session; -import org.springframework.beans.factory.annotation.Autowired; import com.forgon.Constants; import com.forgon.directory.acegi.tools.AcegiHelper; @@ -101,9 +100,12 @@ private TousseItemManager tousseItemManager; - @Autowired private SupplierManager supplierManager; + public void setSupplierManager(SupplierManager supplierManager) { + this.supplierManager = supplierManager; + } + public void setMaterialDefinitionManager( MaterialDefinitionManager materialDefinitionManager) { this.materialDefinitionManager = materialDefinitionManager; Index: ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-handover.xml =================================================================== diff -u --- ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-handover.xml (revision 0) +++ ssts-web/src/main/resources/spring/projects/jmszxyy/applicationContext-handover.xml (revision 25611) @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + \ No newline at end of file Index: ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml =================================================================== diff -u -r25572 -r25611 --- ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 25572) +++ ssts-web/src/main/resources/spring/applicationContext-disinfectsystem-service.xml (.../applicationContext-disinfectsystem-service.xml) (revision 25611) @@ -243,11 +243,6 @@ - - - - - @@ -834,19 +829,6 @@ - - - - - - - - - - - @@ -1871,14 +1853,6 @@ - - - - - - - - @@ -2069,17 +2043,7 @@ - - - - - - - - - - @@ -2318,8 +2282,6 @@ - - Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r25458 -r25611 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 25458) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 25611) @@ -90,6 +90,7 @@ import com.forgon.disinfectsystem.expensiveGoods.service.ExpensiveGoodsStockManager; import com.forgon.disinfectsystem.foreigntousseapplication.service.ForeignTousseApplicationManager; import com.forgon.disinfectsystem.idcardinstance.service.IDCardInstanceManager; +import com.forgon.disinfectsystem.recyclingapplication.service.InvoicePlanManager; import com.forgon.disinfectsystem.recyclingapplication.service.RecyclingApplicationManager; import com.forgon.disinfectsystem.stockmanage.departmentstock.service.DepartmentStockManager; import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; @@ -138,6 +139,8 @@ private TousseItemManager tousseItemManager; private RecyclingApplicationManager recyclingApplicationManager; + + private InvoicePlanManager invoicePlanManager; private SupplyRoomConfigManager supplyRoomConfigManager; @@ -179,6 +182,10 @@ private InitDbConnection dbConnection; + public void setInvoicePlanManager(InvoicePlanManager invoicePlanManager) { + this.invoicePlanManager = invoicePlanManager; + } + public void setExpensiveGoodsInstanceManager( ExpensiveGoodsInstanceManager expensiveGoodsInstanceManager) { this.expensiveGoodsInstanceManager = expensiveGoodsInstanceManager; @@ -2724,7 +2731,7 @@ } boolean canTransferToAppFlag = true; //先得到待归还数量 - Map unReturnTousse = recyclingApplicationManager.getCanReturnAmount(borrowId); + Map unReturnTousse = invoicePlanManager.getCanReturnAmount(borrowId); //把这张借物单的相关信息存放在temp中 temp.putIfAbsent(borrowId, unReturnTousse); String tousseName = tousseInstance.getTousseName(); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r25408 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 25408) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 25611) @@ -18,6 +18,7 @@ import net.sf.json.JSONArray; import net.sf.json.JSONObject; +import org.apache.commons.collections4.Closure; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.Predicate; @@ -116,6 +117,7 @@ import com.forgon.tools.util.IntegerUtils; import com.forgon.tools.util.SqlUtils; import com.forgon.workflow.service.WorkFlowApprovalTaskManager; +import com.google.common.collect.Maps; /** @@ -147,7 +149,7 @@ private OrgUnitManager orgUnitManager; - private RecyclingApplicationManager recyclingApplicationManagerTarget; +// private RecyclingApplicationManager recyclingApplicationManagerTarget; private ApplicationLogManager applicationLogManager; @@ -235,10 +237,6 @@ this.dateQueryAdapter = dateQueryAdapter; } - public void setRecyclingApplicationManagerTarget(RecyclingApplicationManager recyclingApplicationManagerTarget) { - this.recyclingApplicationManagerTarget = recyclingApplicationManagerTarget; - } - @Override public InvoicePlan getInvoicePlanBySerialNumber(String serialNumber){ if(StringUtils.isNotBlank(serialNumber)){ @@ -2281,7 +2279,8 @@ } else { //如果还有归还待确认的申请还物单,那借物单的状态就是归还待确认 - List list = recyclingApplicationManagerTarget.getByProperty("parent.id", invoicePlan.getId()); + List list = (List)objectDao.findByProperty(RecyclingApplication.class.getSimpleName(), "parent.id", invoicePlan.getId()); + if(CollectionUtils.isNotEmpty(list) && CollectionUtils.isNotEmpty( list.stream().filter(p->p.recyclingStatusAwaitRecycle()).collect(Collectors.toSet()))){ returnStatus = InvoicePlan.RETURN_STATUS_AWAITCONFIRM; @@ -3135,7 +3134,7 @@ } temp.add(invoicePlanId); //用借物id去查询这张借物单待归还情况 - Map canReturnAmount = recyclingApplicationManagerTarget.getCanReturnAmount(invoicePlanId); + Map canReturnAmount = getCanReturnAmount(invoicePlanId); Map newMap = new HashMap<>(); newMap.put("departName", map.get("name")); //把这张借物单待归还的物品情况放在这个新的map里,过滤掉数量为0的 @@ -3150,8 +3149,92 @@ logger.debug("每张单待还结果如下:" + newList); return newList; } + @Override + public Map getCanReturnAmount(Long borrowApplicationId) { + Map unReturnTousse = this.getUnreturnTousse(borrowApplicationId); + logger.info("待归还的:" + unReturnTousse); + return unReturnTousse; + } + + @Override + public Map getUnreturnTousse(Long borrowApplicationId){ + RecyclingApplication borrowApplication = (RecyclingApplication) objectDao.getByProperty( + RecyclingApplication.class.getSimpleName(), "id", + borrowApplicationId); + if(borrowApplication == null){ + return new HashMap<>(); + } + + final Map unreturnTousseMap = new HashMap<>(); + + // 1、先获取借物单已发货的所有物品的已发数量 + CollectionUtils.forAllDo(borrowApplication.getApplicationItems(), new Closure(){ + @Override + public void execute(TousseItem borrowTousseItem) { + if(BooleanUtils.isTrue(borrowTousseItem.getIsTerminated())) //已终止 + return; + String tousseName = borrowTousseItem.getTousseName(); + int sendOutAmount = MapUtils.getInteger(unreturnTousseMap, tousseName, 0); + sendOutAmount += borrowTousseItem.getSendOutAmount(); + unreturnTousseMap.put(tousseName, sendOutAmount); + } + }); + + // 2、遍历所有已申请归还的物品,将unreturnedTousseMap对应的待发数量减去 + CollectionUtils.forAllDo(borrowApplication.getRecyclingApplications(), new Closure() { + @Override + public void execute(RecyclingApplication returnApplication) { + CollectionUtils.forAllDo(returnApplication.getApplicationItems(), new Closure(){ + @Override + public void execute(TousseItem returnedTousseItem) { + if(BooleanUtils.isTrue(returnedTousseItem.getIsTerminated())) //已终止 + return; + String tousseName = returnedTousseItem.getTousseName(); + Integer unreturnAmount = unreturnTousseMap.get(tousseName); + if(unreturnAmount != null){ + // 若已回收,则减去回收数量,否则减去申请归还的数量 + Integer returnedAmount = returnedTousseItem.getRecyclingAmount(); + if(returnedAmount == null || returnedAmount == 0) + returnedAmount = returnedTousseItem.getAmount(); + unreturnAmount -= returnedAmount; + unreturnTousseMap.put(tousseName, unreturnAmount); + } + }; + }); + } + }); + + // 借物单数据可能不正常,出现了未发货但已有还物单的借物单。 + // 所以这里要过滤掉无效的数据 + return Maps.filterValues(unreturnTousseMap, new com.google.common.base.Predicate() { + @Override + public boolean apply(Integer value) { + boolean valid = (value != null && value > 0); + return valid; + } + }); + } + + @Override + public List> getConvertAppAmountDetail(Long borrowApplicationId) { + StringBuilder sql = new StringBuilder() + .append("select po.ipId as \"id\",po.tiName as \"tousseName\",count(po.barcode) as \"convertAmount\",po.submitTime as \"submitTime\" ") + .append("from (select distinct ip.id ipId,tis.tousseName tiName,ra.id raId,ip.submitTime,bd.barcode ") + .append("from invoicePlan ip ") + .append("join Invoice i on i.invoicePlan_ID = ip.id ") + .append("join TousseInstance tis on tis.invoice_id = i.id ") + .append("join UseRecord ur on tis.useRecord_id = ur.id ") + .append("join barcodeDevice bd on tis.id = bd.id ") + .append("join RecyclingApplication ra on ra.userecord_id = ur.id ") + .append("where i.invoicePlanType = ? and ip.id = ? ) po ") + .append("group by po.ipId,po.tiName,po.submitTime "); + // .append("join TousseItem ti on ra.id = ti.recyclingApplication_ID and ti.tousseDefinitionId = tis.tousseDefinition_id ") + return objectDao.findSqlByParam(sql.toString(), new Object[]{InvoicePlan.TYPE_BORROWINGSINGLE, borrowApplicationId}); + } + + @Override public RecyclingApplicationVo invoicePlan2RecyclingApplicationVo( InvoicePlan invoicePlan,boolean sort) { RecyclingApplicationVo vo = null; Index: ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java =================================================================== diff -u -r25562 -r25611 --- ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25562) +++ ssts-reports/src/main/java/com/forgon/disinfectsystem/jasperreports/service/JasperReportManagerImpl.java (.../JasperReportManagerImpl.java) (revision 25611) @@ -44,6 +44,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.apache.log4j.Logger; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; @@ -263,6 +264,7 @@ * @author wangyi 2012-08-15 上午12:04 报表服务类 */ @SuppressWarnings("unused") +@Component("jasperReportManager") public class JasperReportManagerImpl implements JasperReportManager { private Logger logger = Logger.getLogger(this.getClass()); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r25420 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 25420) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 25611) @@ -30,7 +30,6 @@ import net.sf.json.JsonConfig; import org.apache.commons.beanutils.BeanUtils; -import org.apache.commons.collections4.Closure; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.Predicate; @@ -44,7 +43,6 @@ import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; -import org.springframework.beans.factory.annotation.Autowired; import com.alibaba.fastjson.JSON; import com.beust.jcommander.ParameterException; @@ -130,7 +128,6 @@ import com.forgon.tools.util.SqlUtils; import com.forgon.treenode.model.THTreeNode; import com.forgon.workflow.service.WorkFlowApprovalTaskManager; -import com.google.common.collect.Maps; /** * @author songwei 2012-3-23 下午16:59:34 @@ -178,7 +175,6 @@ private PrintConfigManager printConfigManager; - @Autowired private ForeignTousseApplicationManager foreignTousseApplicationManager; private volatile static ScheduledExecutorService executorService; @@ -193,6 +189,11 @@ return executorService; } + public void setForeignTousseApplicationManager( + ForeignTousseApplicationManager foreignTousseApplicationManager) { + this.foreignTousseApplicationManager = foreignTousseApplicationManager; + } + public void setPrintConfigManager(PrintConfigManager printConfigManager) { this.printConfigManager = printConfigManager; } @@ -4367,7 +4368,7 @@ // MultiValueMap actualAllReturnTousses = new MultiValueMap<>(); ReturnGoodVo returnGoodVo = new ReturnGoodVo(); for (InvoicePlan borrowApplication : borrowApplications) { - Map canReturnAmount = this.getCanReturnAmount(borrowApplication.getId()); + Map canReturnAmount = invoicePlanManagerTarget.getCanReturnAmount(borrowApplication.getId()); if (org.apache.commons.collections.MapUtils.isEmpty(canReturnAmount)) { continue; } @@ -4456,7 +4457,7 @@ // 将申请归还和待归还的物品做对比,获得实际应还的物品及数量 - Map unreturnTousseMap = getUnreturnTousse(borrowApplicationId); + Map unreturnTousseMap = invoicePlanManagerTarget.getUnreturnTousse(borrowApplicationId); Map actualReturnTousses = new HashMap<>(); for(Map.Entry unreturnEntry : unreturnTousseMap.entrySet()){ String tousseName = unreturnEntry.getKey(); @@ -4629,48 +4630,23 @@ return actualReturnTousses; } - - @Override - public List> getConvertAppAmountDetail(Long borrowApplicationId) { - StringBuilder sql = new StringBuilder() - .append("select po.ipId as \"id\",po.tiName as \"tousseName\",count(po.barcode) as \"convertAmount\",po.submitTime as \"submitTime\" ") - .append("from (select distinct ip.id ipId,tis.tousseName tiName,ra.id raId,ip.submitTime,bd.barcode ") - .append("from invoicePlan ip ") - .append("join Invoice i on i.invoicePlan_ID = ip.id ") - .append("join TousseInstance tis on tis.invoice_id = i.id ") - .append("join UseRecord ur on tis.useRecord_id = ur.id ") - .append("join barcodeDevice bd on tis.id = bd.id ") - .append("join RecyclingApplication ra on ra.userecord_id = ur.id ") - .append("where i.invoicePlanType = ? and ip.id = ? ) po ") - .append("group by po.ipId,po.tiName,po.submitTime "); - // .append("join TousseItem ti on ra.id = ti.recyclingApplication_ID and ti.tousseDefinitionId = tis.tousseDefinition_id ") - return objectDao.findSqlByParam(sql.toString(), new Object[]{InvoicePlan.TYPE_BORROWINGSINGLE, borrowApplicationId}); - } - /** * 根据借物单id来查找该借物单上的物品被转换成申请单的情况. * @param borrowApplicationId 借物单id * @return 返回参数有两个(key:物品的名称,value:该物品被转换成申请单的数量) */ private Map getConvertAppAmount(Long borrowApplicationId){ - List> list = this.getConvertAppAmountDetail(borrowApplicationId); + List> list = invoicePlanManagerTarget.getConvertAppAmountDetail(borrowApplicationId); Map resultMap = new HashMap<>(); for (Map objectMap : list) { resultMap.put(objectMap.get("tousseName").toString(), Integer.parseInt(objectMap.get("convertAmount").toString())); } return resultMap; } - - @Override - public Map getCanReturnAmount(Long borrowApplicationId) { - Map unReturnTousse = this.getUnreturnTousse(borrowApplicationId); - logger.info("待归还的:" + unReturnTousse); - return unReturnTousse; - } @Override public Map getCanReturnAmountIncludeSubtractConvertAppAmount(Long borrowApplicationId) { - Map unReturnTousse = this.getUnreturnTousse(borrowApplicationId); + Map unReturnTousse = invoicePlanManagerTarget.getUnreturnTousse(borrowApplicationId); logger.info("待归还的:" + unReturnTousse); Map convertAppAmount = this.getConvertAppAmount(borrowApplicationId); logger.info("已经换成使用记录的:" + convertAppAmount); @@ -4699,7 +4675,7 @@ @Override public void returnApplication(Long borrowId) { - Map unReturnTousse = this.getCanReturnAmount(borrowId); + Map unReturnTousse = invoicePlanManagerTarget.getCanReturnAmount(borrowId); if (MapUtils.isNotEmpty(unReturnTousse)){ throw new ParameterException("借物单还有东西没完全归还,不能使用这个功能归还!"); } @@ -4745,64 +4721,6 @@ return list; } - @Override - public Map getUnreturnTousse(Long borrowApplicationId){ - RecyclingApplication borrowApplication = (RecyclingApplication) objectDao.getByProperty( - RecyclingApplication.class.getSimpleName(), "id", - borrowApplicationId); - if(borrowApplication == null){ - return new HashMap<>(); - } - - final Map unreturnTousseMap = new HashMap<>(); - - // 1、先获取借物单已发货的所有物品的已发数量 - CollectionUtils.forAllDo(borrowApplication.getApplicationItems(), new Closure(){ - @Override - public void execute(TousseItem borrowTousseItem) { - if(BooleanUtils.isTrue(borrowTousseItem.getIsTerminated())) //已终止 - return; - String tousseName = borrowTousseItem.getTousseName(); - int sendOutAmount = MapUtils.getInteger(unreturnTousseMap, tousseName, 0); - sendOutAmount += borrowTousseItem.getSendOutAmount(); - unreturnTousseMap.put(tousseName, sendOutAmount); - } - }); - - // 2、遍历所有已申请归还的物品,将unreturnedTousseMap对应的待发数量减去 - CollectionUtils.forAllDo(borrowApplication.getRecyclingApplications(), new Closure() { - @Override - public void execute(RecyclingApplication returnApplication) { - CollectionUtils.forAllDo(returnApplication.getApplicationItems(), new Closure(){ - @Override - public void execute(TousseItem returnedTousseItem) { - if(BooleanUtils.isTrue(returnedTousseItem.getIsTerminated())) //已终止 - return; - String tousseName = returnedTousseItem.getTousseName(); - Integer unreturnAmount = unreturnTousseMap.get(tousseName); - if(unreturnAmount != null){ - // 若已回收,则减去回收数量,否则减去申请归还的数量 - Integer returnedAmount = returnedTousseItem.getRecyclingAmount(); - if(returnedAmount == null || returnedAmount == 0) - returnedAmount = returnedTousseItem.getAmount(); - unreturnAmount -= returnedAmount; - unreturnTousseMap.put(tousseName, unreturnAmount); - } - }; - }); - } - }); - - // 借物单数据可能不正常,出现了未发货但已有还物单的借物单。 - // 所以这里要过滤掉无效的数据 - return Maps.filterValues(unreturnTousseMap, new com.google.common.base.Predicate() { - @Override - public boolean apply(Integer value) { - boolean valid = (value != null && value > 0); - return valid; - } - }); - } /** * 创建申请单(根据申请科室、器械包的处理供应室生成一个或多个申请单) Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r24387 -r25611 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 24387) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 25611) @@ -302,4 +302,27 @@ * @return invoicePlan非空并且所有物品回收数量等于申请数量,就返回true,否则返回false。如果回收数量为null,也返回false */ public boolean allRecycled(InvoicePlan invoicePlan); + + /** + * 根据借物单id查找能归还的数量(计算方式:待归还数量(该借物单的已发货数量-该借物单的所有还原物单的已归还数量之和)). + * @param borrowApplicationId 借物单id + * @return 返回格式(key:物品名字,value: 数量) + */ + Map getCanReturnAmount(Long borrowApplicationId); + + /** + * 获取借物单待归还(物品和数量的Map). + * @param borrowApplicationId 借物单id + * @return 返回值为未归还数量,即 [待归还数量 = 申请借物数量 - 申请归还数量(若已回收,则为回收数量为准,否则申请归还的数量为准)] + */ + public Map getUnreturnTousse(Long borrowApplicationId); + + /** + * 根据借物单id来查找该借物单上的物品被转换成申请单的情况. + * @param borrowApplicationId 借物单id + * @return 返回的参数是具体的转换情况 + */ + List> getConvertAppAmountDetail(Long borrowApplicationId); + + } Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java =================================================================== diff -u -r24783 -r25611 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java (.../ImageFileManagerImpl.java) (revision 24783) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/imagefilemanager/service/ImageFileManagerImpl.java (.../ImageFileManagerImpl.java) (revision 25611) @@ -29,9 +29,6 @@ import org.hibernate.Query; import org.hibernate.Session; -import com.forgon.disinfectsystem.basedatamanager.supplier.service.ExpensiveGoodsSupplierManager; -import com.forgon.disinfectsystem.basedatamanager.supplier.service.RegistrationCertificationManager; -import com.forgon.disinfectsystem.basedatamanager.supplier.service.SupplierManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; import com.forgon.disinfectsystem.common.geom.SizeAndPosition; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveGoodsBill; @@ -44,9 +41,6 @@ import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.expensivegoods.AuthorizationCertification; import com.forgon.disinfectsystem.entity.qualitymonitoringmanager.qualitymonitoring.QualityMonitoringInstance; -import com.forgon.disinfectsystem.expensiveGoods.service.ExpensiveGoodsBillManager; -import com.forgon.disinfectsystem.tousse.materialdefinition.service.MaterialDefinitionManager; -import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.util.FileUtils; @@ -66,25 +60,7 @@ private ObjectDao objectDao; private SupplyRoomConfigManager supplyRoomConfigManager; - - private TousseDefinitionManager tousseDefinitionManager; - - private MaterialDefinitionManager materialDefinitionManager; - - private SupplierManager supplierManager; - - private RegistrationCertificationManager registrationCertificationManager; - - private ExpensiveGoodsBillManager expensiveGoodsBillManager; - - private ExpensiveGoodsSupplierManager expensiveGoodsSupplierManager; - - public void setExpensiveGoodsBillManager( - ExpensiveGoodsBillManager expensiveGoodsBillManager) { - this.expensiveGoodsBillManager = expensiveGoodsBillManager; - } - public void setSupplyRoomConfigManager( SupplyRoomConfigManager supplyRoomConfigManager) { this.supplyRoomConfigManager = supplyRoomConfigManager; @@ -94,26 +70,6 @@ this.objectDao = objectDao; } - public void setTousseDefinitionManager( - TousseDefinitionManager tousseDefinitionManager) { - this.tousseDefinitionManager = tousseDefinitionManager; - } - - public void setMaterialDefinitionManager( - MaterialDefinitionManager materialDefinitionManager) { - this.materialDefinitionManager = materialDefinitionManager; - } - - public void setRegistrationCertificationManager( - RegistrationCertificationManager registrationCertificationManager) { - this.registrationCertificationManager = registrationCertificationManager; - } - - public void setExpensiveGoodsSupplierManager( - ExpensiveGoodsSupplierManager expensiveGoodsSupplierManager) { - this.expensiveGoodsSupplierManager = expensiveGoodsSupplierManager; - } - @Override public ImageFile getImageFileById(String id) { if (StringUtils.isNotBlank(id)) { @@ -680,7 +636,9 @@ if (ImageFile.IMAGE_TYPE_TOUSSE.equals(objectType) || ImageFile.IMAGE_TYPE_SPECIFICATION .equals(objectType)) { - TousseDefinition tousse = tousseDefinitionManager.get(objectID); + + + TousseDefinition tousse = (TousseDefinition)objectDao.getById(TousseDefinition.class.getSimpleName(), objectID); if (tousse != null) { for (ImageFile imageFile : uploadImageList) { @@ -695,8 +653,7 @@ objectDao.saveOrUpdate(tousse); } } else if (ImageFile.IMAGE_TYPE_MATERIAL.equals(objectType)) { - MaterialDefinition material = materialDefinitionManager - .get(objectID); + MaterialDefinition material = (MaterialDefinition)objectDao.getById(MaterialDefinition.class.getSimpleName(), objectID); if (material != null) { for (ImageFile imageFile : uploadImageList) { @@ -710,7 +667,7 @@ objectDao.saveOrUpdate(material); } } else if (ImageFile.IMAGE_TYPE_MATERIAL_DETACHABLE.equals(objectType)) {//材料可拆图片 - MaterialDefinition material = materialDefinitionManager.get(objectID); + MaterialDefinition material = (MaterialDefinition)objectDao.getById(MaterialDefinition.class.getSimpleName(), objectID); if (material != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -721,7 +678,7 @@ objectDao.saveOrUpdate(material); } } else if (ImageFile.IMAGE_TYPE_MATERIAL_WASHQUALITYCHECKMETHOD.equals(objectType)) {//材料清洗质量检查方法图片 - MaterialDefinition material = materialDefinitionManager.get(objectID); + MaterialDefinition material = (MaterialDefinition)objectDao.getById(MaterialDefinition.class.getSimpleName(), objectID); if (material != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -732,7 +689,7 @@ objectDao.saveOrUpdate(material); } }else if (ImageFile.IMAGE_TYPE_MATERIAL_FUNCTIONCHECK.equals(objectType)) {//材料功能检查图片 - MaterialDefinition material = materialDefinitionManager.get(objectID); + MaterialDefinition material = (MaterialDefinition)objectDao.getById(MaterialDefinition.class.getSimpleName(), objectID); if (material != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -743,7 +700,7 @@ objectDao.saveOrUpdate(material); } }else if (ImageFile.IMAGE_TYPE_MATERIAL_WASHQUALITYCHECKPOINT.equals(objectType)) {//材料清洗质量检查关注点图片 - MaterialDefinition material = materialDefinitionManager.get(objectID); + MaterialDefinition material = (MaterialDefinition)objectDao.getById(MaterialDefinition.class.getSimpleName(), objectID); if (material != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -755,7 +712,7 @@ } }else if (ImageFile.IMAGE_TYPE_TOUSSEPACKING .equals(objectType)) { - TousseDefinition tousse = tousseDefinitionManager.get(objectID); + TousseDefinition tousse = (TousseDefinition)objectDao.getById(TousseDefinition.class.getSimpleName(), objectID); if (tousse != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -768,7 +725,7 @@ } }else if (ImageFile.IMAGE_TYPE_TOUSSE_WASHGUIDE.equals(objectType)) {//器械包定义:清洗操作指引图片 - TousseDefinition tousse = tousseDefinitionManager.get(objectID); + TousseDefinition tousse = (TousseDefinition)objectDao.getById(TousseDefinition.class.getSimpleName(), objectID); if (tousse != null) { for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); @@ -809,7 +766,7 @@ } }else if(ImageFile.IMAGE_TYPE_CERTIFICATION .equals(objectType)){ - RegistrationCertification registrationCertification = registrationCertificationManager.getById(objectID); + RegistrationCertification registrationCertification = (RegistrationCertification)objectDao.getById(RegistrationCertification.class.getSimpleName(), objectID); for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); imageFile.setObjectId(registrationCertification.getId().toString()); @@ -820,7 +777,7 @@ objectDao.saveOrUpdate(registrationCertification); }else if(ImageFile.IMAGE_TYPE_ExpensiveGoodsBill .equals(objectType)){ - ExpensiveGoodsBill expensiveGoodsBill = expensiveGoodsBillManager.getExpensiveGoodsBillById(objectID); + ExpensiveGoodsBill expensiveGoodsBill = (ExpensiveGoodsBill)objectDao.getById(ExpensiveGoodsBill.class.getSimpleName(), objectID); for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); imageFile.setObjectId(expensiveGoodsBill.getId().toString()); @@ -829,7 +786,7 @@ objectDao.saveOrUpdate(expensiveGoodsBill); }else if(ImageFile.IMAGE_TYPE_EXPENSIVESUPPLIER .equals(objectType)){ - ExpensiveGoodsSupplier expensiveGoodsSupplier = expensiveGoodsSupplierManager.getSupplierById(objectID); + ExpensiveGoodsSupplier expensiveGoodsSupplier = (ExpensiveGoodsSupplier)objectDao.getById(ExpensiveGoodsSupplier.class.getSimpleName(), objectID); for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); imageFile.setObjectId(expensiveGoodsSupplier.getId().toString()); @@ -849,7 +806,7 @@ objectDao.saveOrUpdate(authorizationCertification); }else if(ImageFile.IMAGE_TYPE_BUSINESSLICENSE .equals(objectType)){ - ExpensiveGoodsSupplier expensiveGoodsSupplier = expensiveGoodsSupplierManager.getSupplierById(objectID); + ExpensiveGoodsSupplier expensiveGoodsSupplier = (ExpensiveGoodsSupplier)objectDao.getById(ExpensiveGoodsSupplier.class.getSimpleName(), objectID); for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); imageFile.setObjectId(expensiveGoodsSupplier.getId().toString()); @@ -859,7 +816,7 @@ objectDao.saveOrUpdate(expensiveGoodsSupplier); }else if(ImageFile.IMAGE_TYPE_PRODUCTIONCERTIFICATE .equals(objectType)){ - ExpensiveGoodsSupplier expensiveGoodsSupplier = expensiveGoodsSupplierManager.getSupplierById(objectID); + ExpensiveGoodsSupplier expensiveGoodsSupplier = (ExpensiveGoodsSupplier)objectDao.getById(ExpensiveGoodsSupplier.class.getSimpleName(), objectID); for (ImageFile imageFile : uploadImageList) { setImageFileOrder(imageFile); imageFile.setObjectId(expensiveGoodsSupplier.getId().toString());