src/main/java/com/nanometer/smartlab/api/ApiAction.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/nanometer/smartlab/entity/dto/ReagentReceivingDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/nanometer/smartlab/api/ApiAction.java
@@ -7,12 +7,15 @@ import com.google.common.collect.Maps; import com.nanometer.smartlab.controller.BaseController; import com.nanometer.smartlab.controller.MenuController; import com.nanometer.smartlab.dao.OpeReagentStatusDao; import com.nanometer.smartlab.dao.SysLaboratoryContainerDao; import com.nanometer.smartlab.dao.SysWarehouseContainerDao; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto; import com.nanometer.smartlab.entity.dto.ReagentReceivingDto; import com.nanometer.smartlab.entity.dto.SysWarehouseDto; import com.nanometer.smartlab.entity.enumtype.ApiStatus; import com.nanometer.smartlab.entity.enumtype.ArrivalStatus; import com.nanometer.smartlab.entity.enumtype.ReplaceDictType; import com.nanometer.smartlab.entity.enumtype.SeeFlag; import com.nanometer.smartlab.exception.ApiException; @@ -1275,6 +1278,30 @@ try { if (inWarehouseInfo.getReagentCode() != null && inWarehouseInfo.getReagentCode().size() > 0) { for (int i = 0; i < inWarehouseInfo.getReagentCode().size(); i++) { String code = inWarehouseInfo.getReagentCode().get(i); DangerousEncode dangerousEncode = new DangerousEncode(); //5-8位 String reagentCode = code.substring(4, 8); //数据库存储的前缀00空着 dangerousEncode.setReagentCode("00"+reagentCode); List<DangerousEncode> dangerousEncodes = dangerousEncodeService.selectAll(dangerousEncode,null,null); //1.编码存在校验 if (dangerousEncodes.size() <1){ return ResponseModel.getErrInstance("该试剂危化品编码不存在"); } //2.重复入库校验 无论任何状态 OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(code); if (ors != null) { return ResponseModel.getErrInstance("该试剂危化品编码已存在"); } } //3.入库 sysWarehouseService.putInWarehouse(inWarehouseInfo); return ResponseModel.getOkInstence("入库成功"); } else { @@ -1289,4 +1316,38 @@ } /** * @Description: 试剂领用到实验室 * @date 2020/12/24 14:19 */ @ResponseBody @RequestMapping("reagentReceiving") public Object reagentReceiving(@RequestBody ReagentReceivingDto reagentReceiving) { try { if (reagentReceiving.getReagentCode() != null && reagentReceiving.getReagentCode().size() > 0) { //1.校验仓库是否有该试剂 for (int i = 0; i < reagentReceiving.getReagentCode().size(); i++) { String reagentCode = reagentReceiving.getReagentCode().get(i); //去试剂状态查找 是否有此试剂条码 OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(reagentCode); if (ors == null || ors.getStatus() != ArrivalStatus.WAREHOUSE){ return ResponseModel.getErrInstance("仓库无此试剂"); } } //2.领用 sysWarehouseService.reagentReceiving(reagentReceiving); return ResponseModel.getOkInstence("领用成功"); } else { return ResponseModel.getErrInstance("无效试剂条码"); } } catch (Exception e) { e.printStackTrace(); logger.info(e); return ResponseModel.getErrInstance("系统出错"); } } } src/main/java/com/nanometer/smartlab/entity/dto/ReagentReceivingDto.java
对比新文件 @@ -0,0 +1,48 @@ package com.nanometer.smartlab.entity.dto; import java.util.*; public class ReagentReceivingDto { //试剂编码 private List<String> reagentCode; //申领人id private String applyUserId; //实验室id private String labId; //实验室下货柜id private String labContainerId; public List<String> getReagentCode() { return reagentCode; } public void setReagentCode(List<String> reagentCode) { this.reagentCode = reagentCode; } public String getApplyUserId() { return applyUserId; } public void setApplyUserId(String applyUserId) { this.applyUserId = applyUserId; } public String getLabId() { return labId; } public void setLabId(String labId) { this.labId = labId; } public String getLabContainerId() { return labContainerId; } public void setLabContainerId(String labContainerId) { this.labContainerId = labContainerId; } } src/main/java/com/nanometer/smartlab/service/SysWarehouseService.java
@@ -2,6 +2,7 @@ import com.nanometer.smartlab.entity.SysWarehouse; import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto; import com.nanometer.smartlab.entity.dto.ReagentReceivingDto; import com.nanometer.smartlab.entity.dto.SysWarehouseDto; import java.util.List; @@ -23,4 +24,7 @@ List<SysWarehouseDto> getWarehouseList(); void putInWarehouse(InWarehouseInfoDto inWarehouseInfo) throws Exception; void reagentReceiving(ReagentReceivingDto reagentReceiving); } src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
@@ -4,6 +4,7 @@ import com.nanometer.smartlab.dao.SysWarehouseDao; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto; import com.nanometer.smartlab.entity.dto.ReagentReceivingDto; import com.nanometer.smartlab.entity.dto.SysWarehouseDto; import com.nanometer.smartlab.entity.enumtype.*; import com.nanometer.smartlab.exception.AlarmCode; @@ -302,4 +303,21 @@ } } @Override @Transactional public void reagentReceiving(ReagentReceivingDto reagentReceiving) { reagentReceiving.getReagentCode().forEach(code->{ // OpeReagentStatus ors = opeReagentStatusService.getOpeReagentStatusByReagentCode(code); //1.更新试剂状态 在仓库-》领用 ors.setStatus(ArrivalStatus.PERSONAL); ors.setContainerId(reagentReceiving.getLabContainerId()); ors.setHouseId(reagentReceiving.getLabId()); ors.setUserId(reagentReceiving.getApplyUserId()); opeReagentStatusService.updateReagentStatus(ors); }); } }