Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java =================================================================== diff -u -r26520 -r28495 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java (.../MaterialErrorDamageDetailManagerImpl.java) (revision 26520) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/materialerrordamage/service/MaterialErrorDamageDetailManagerImpl.java (.../MaterialErrorDamageDetailManagerImpl.java) (revision 28495) @@ -160,7 +160,9 @@ if(data == null || data.size() == 0){ throw new RuntimeException("报损器械不能为空!"); } - String handleDepartCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); + LoginUserData loginUserData = AcegiHelper.getLoginUser(); + String handleDepartCode = loginUserData.getOrgUnitCodingFromSupplyRoomConfig(); + String handleDepartName = loginUserData.getOrgUnitNameCodingFromSupplyRoomConfig(); WareHouse wareHouse = wareHouseManager.getDefaultWareHouseByUnitCode(handleDepartCode); if(wareHouse == null){ throw new RuntimeException("仓库未定义!"); @@ -170,38 +172,53 @@ String materialName = itemJSON.optString("materialName"); Long materialDefinitionId = itemJSON.optLong("materialDefinitionId"); Long tousseDefinitionId = itemJSON.optLong("tousseDefinitionId"); + String tousseName = itemJSON.optString("tousseName"); + Long packingTaskId = itemJSON.optLong("packingTaskId"); Integer amount = itemJSON.optInt("amount"); if(StringUtils.isBlank(materialName)){ throw new RuntimeException("参数错误!"); } if(!DatabaseUtil.isPoIdValid(materialDefinitionId)){ - throw new RuntimeException("参数错误!"); + throw new RuntimeException("参数错误!materialDefinitionId为空"); } + MaterialDefinition md = (MaterialDefinition)objectDao.getByProperty(MaterialDefinition.class.getSimpleName(), "id", materialDefinitionId); + if(md == null){ + throw new RuntimeException(materialName+",未找到材料定义"); + } MaterialErrorDamageDetail item = new MaterialErrorDamageDetail(); + if(DatabaseUtil.isPoIdValid(tousseDefinitionId)){ + item.setTousseDefinitionId(tousseDefinitionId); + item.setTousseName(tousseName); + } item.setDepart(depart); item.setDepartCode(departCoding); + item.setDepartCodeForId(departCoding); item.setOperationTime(new Date()); item.setHandleDepartCode(handleDepartCode); - MaterialDefinition md = (MaterialDefinition)objectDao.getByProperty(MaterialDefinition.class.getSimpleName(), "id", materialDefinitionId); - if(md == null){ - throw new RuntimeException(materialName+",未找到材料定义"); - } + item.setHandleDepartName(handleDepartName); item.setMaterialCost(md.getCost()); item.setMaterialName(materialName); - item.setTousseDefinitionId(tousseDefinitionId); item.setMaterialDefinitionId(materialDefinitionId); item.setAmount(amount); item.setLinkType(linkType); item.setOperator(damageOfPeople); item.setWarehouseId(wareHouse.getId()); item.setWarehouseName(wareHouse.getName()); + if(DatabaseUtil.isPoIdValid(materialDefinitionId)){ + item.setPackingTaskId(packingTaskId); + } item.setType(type); if (MaterialErrorDamageDetail.TYPE_DAMAGE.equals(type)) { //添加器械包报损备注 - item.setDamageRemark(remark); + if(StringUtils.isNotBlank(remark)){ + item.setDamageRemark(remark); + } } else if (MaterialErrorDamageDetail.TYPE_ERROR.equals(type)){ //添加器械包丢失备注 - item.setErrorRemark(remark); + if(StringUtils.isNotBlank(remark)){ + item.setErrorRemark(remark); + } + item.setErrorType(MaterialErrorDamageDetail.ERRORTYPE_REDUCE); } objectDao.saveOrUpdate(item); }