Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r30660 -r31104 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 30660) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 31104) @@ -39,6 +39,7 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsIdentification; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; +import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; @@ -835,6 +836,20 @@ */ private Map saveForReturnDiposableGoods_internal(ReturnGoodsRecord returnGoodsRecord){ String depart = returnGoodsRecord.getDepart(); + // GZZYYFY-84 + // (1)结算科室的值,正常情况下前台要传给后台,如果设置的默认结算科室为空,前台也要取好值传给后台,设置的默认结算科室为空就是申请科室; + // (2)如果前台万一没传结算科室给后台,后台应查询申请科室的默认结算科室后赋值,会更可靠 + if(StringUtils.isBlank(returnGoodsRecord.getSettleAccountsDepartCoding())){ + String settleAccountsDepartCoding = returnGoodsRecord.getDepartCoding(); + String settleAccountsDepart = returnGoodsRecord.getDepart(); + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getApplyDepartDefaultSettleDepart(returnGoodsRecord.getDepartCoding()); + if(supplyRoomConfig != null){ + settleAccountsDepartCoding = supplyRoomConfig.getOrgUnitCoding(); + settleAccountsDepart = supplyRoomConfig.getOrgUnitName(); + } + returnGoodsRecord.setSettleAccountsDepart(settleAccountsDepart); + returnGoodsRecord.setSettleAccountsDepartCoding(settleAccountsDepartCoding); + } //退至哪个仓库-即目标仓库 Long returnTargetWarehouseID = returnGoodsRecord.getWarehouseID(); if(!DatabaseUtil.isPoIdValid(returnTargetWarehouseID)){ @@ -969,6 +984,22 @@ if (returnGoodsRecord.getId() != null) { throw new RuntimeException("目前不支持退货记录的修改!"); } + + // GZZYYFY-84 + // (1)结算科室的值,正常情况下前台要传给后台,如果设置的默认结算科室为空,前台也要取好值传给后台,设置的默认结算科室为空就是申请科室; + // (2)如果前台万一没传结算科室给后台,后台应查询申请科室的默认结算科室后赋值,会更可靠 + if(StringUtils.isBlank(returnGoodsRecord.getSettleAccountsDepartCoding())){ + String settleAccountsDepartCoding = returnGoodsRecord.getDepartCoding(); + String settleAccountsDepart = returnGoodsRecord.getDepart(); + SupplyRoomConfig supplyRoomConfig = supplyRoomConfigManager.getApplyDepartDefaultSettleDepart(returnGoodsRecord.getDepartCoding()); + if(supplyRoomConfig != null){ + settleAccountsDepartCoding = supplyRoomConfig.getOrgUnitCoding(); + settleAccountsDepart = supplyRoomConfig.getOrgUnitName(); + } + returnGoodsRecord.setSettleAccountsDepart(settleAccountsDepart); + returnGoodsRecord.setSettleAccountsDepartCoding(settleAccountsDepartCoding); + } + //设置退货记录的处理科室编码为当前用户所属科室编码 returnGoodsRecord.setHandleDepartCode(AcegiHelper.getLoginUser().getCurrentOrgUnitCode()); // 先保存一次,若重装,装配任务需记下退货记录Id