Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r13425 -r13428 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 13425) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 13428) @@ -78,6 +78,7 @@ import com.forgon.disinfectsystem.entity.recyclingdamagerecord.RecyclingDamageRecord; import com.forgon.disinfectsystem.entity.recyclingerror.RecyclingError; import com.forgon.disinfectsystem.entity.recyclingrecord.RecyclingRecord; +import com.forgon.disinfectsystem.entity.returngoodsrecord.ReturnGoodsRecord; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; @@ -1094,6 +1095,25 @@ PackingTask packingTask = new PackingTask(); packingTask.setAmount(packingAmount); packingTask.setOrgUnitCoding(tousseDefinition.getHandlerDepartCode()); + //根据申请单/回收单/退货重装的id找出相应的单,然后装配任务的处理科室设置为该单的处理科室 + if(sourceId != null){ + if(PackingTask.TASK_APPLICATION == taskType){ + InvoicePlan invoicePlan = (InvoicePlan)objectDao.getBySql(InvoicePlan.class.getSimpleName(), "where id=" + sourceId); + if(invoicePlan != null){ + packingTask.setOrgUnitCoding(invoicePlan.getHandleDepartCoding()); + } + }else if(PackingTask.TASK_RECYCLINGRECORD == taskType){ + RecyclingRecord recyclingRecord = (RecyclingRecord)objectDao.getBySql(RecyclingRecord.class.getSimpleName(), "where id=" + sourceId); + if(recyclingRecord != null){ + packingTask.setOrgUnitCoding(recyclingRecord.getOrgUnitCoding()); + } + }else if(PackingTask.TASK_RETURNGOODS == taskType){ + ReturnGoodsRecord returnGoodsRecord = (ReturnGoodsRecord)objectDao.getBySql(ReturnGoodsRecord.class.getSimpleName(), "where id=" + sourceId); + if(returnGoodsRecord != null){ + packingTask.setOrgUnitCoding(returnGoodsRecord.getHandleDepartCode()); + } + } + } packingTask.setStatus(PackingTask.STATUS_AWAIT_PACKING); packingTask.setSupplementTime(null); packingTask.setUnPackAmount(packingAmount); Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r13425 -r13428 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 13425) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 13428) @@ -494,8 +494,10 @@ task.setTousseDefinition(td); task.setStartTime(new Date()); task.setStatus(PackingTask.STATUS_AWAIT_PACKING); - task.setOrgUnitCoding(td - .getHandlerDepartCode()); + /*task.setOrgUnitCoding(td + .getHandlerDepartCode());*/ + //之前装配任务的处理科室取值为包的处理科室,现4.1改为取单的处理科室 + task.setOrgUnitCoding(application.getHandleDepartCoding()); task.setSourceId(application.getId()); task.setTaskType(PackingTask.TASK_APPLICATION); task.setBasketBarcode(null);