From c3510da29a7974c6af7ff3de1ade3db429d6f848 Mon Sep 17 00:00:00 2001 From: 李宇 <986321569@qq.com> Date: 星期三, 18 八月 2021 14:27:59 +0800 Subject: [PATCH] 申购管理申请履历显示所有历史单据,提交时如有无效试剂耗材报错 --- src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java index dd7524f..bfcc6c4 100644 --- a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java +++ b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java @@ -1,6 +1,7 @@ package com.nanometer.smartlab.service; import com.nanometer.smartlab.dao.BaseMetaDao; +import com.nanometer.smartlab.dao.OpeReagentStatusDao; import com.nanometer.smartlab.dao.SysWarehouseDao; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.dto.InWarehouseInfoDto; @@ -23,10 +24,8 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; /** * Created by cmower on 17/11/20. @@ -52,6 +51,10 @@ OpeUseFlowService opeUseFlowService; @Resource OpeWarehouseReserveService opeWarehouseReserveService; + @Resource + private SysLaboratoryService sysLaboratoryService; + @Resource + private OpeReagentStatusDao opeReagentStatusDao; @Transactional(propagation = Propagation.REQUIRED) public List<SysWarehouse> getSysWarehouseList(String type, String name, Integer first, Integer pageSize) { @@ -168,7 +171,7 @@ public List<SysWarehouse> getAllSysWarehouseList() { return this.sysWarehouseDao.getAllSysWarehouseList(); } - + @Transactional(propagation = Propagation.REQUIRED) public boolean isSysWarehouseExist(String barCode, String editId) { try { @@ -307,6 +310,7 @@ opeWarehouseReserve.setArticleNumber(inWarehouseInfo.getArticleNumber()); opeWarehouseReserve.setReserve(0); opeWarehouseReserve.setWarehouseId(inWarehouseInfo.getWarehouseId()); + opeWarehouseReserve.setUserId("admin"); } //库存加1 opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() + 1); @@ -324,6 +328,8 @@ @Override @Transactional public void reagentReceiving(ReagentReceivingDto reagentReceiving) { + String number = new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()); + String receiptNum = "BS" + number; reagentReceiving.getReagentCode().forEach(code->{ // @@ -333,8 +339,49 @@ ors.setContainerId(reagentReceiving.getLabContainerId()); ors.setHouseId(reagentReceiving.getLabId()); ors.setUserId(reagentReceiving.getApplyUserId()); - opeReagentStatusService.updateReagentStatus(ors); + + if (opeReagentStatusService.isAllowWarehouseUse(ors)) { + // 减少库存 + OpeWarehouseReserve opeWarehouseReserve = opeWarehouseReserveService.getOpeWarehouseReserve( + ors.getReagent().getId(), ors.getArticleNumber()); + opeWarehouseReserve.setReserve(opeWarehouseReserve.getReserve() - 1); + opeWarehouseReserveService.updateOpeWarehouseReserve(opeWarehouseReserve); + } + ors.setStatus(ArrivalStatus.NOREGISTER); + opeReagentStatusDao.updateOpeReagentStatusDao(ors); + OpeUseFlow opeUseFlow = new OpeUseFlow(); + opeUseFlow.setReagentCode(ors.getReagentCode()); + opeUseFlow.setStatus(ors.getStatus()); + opeUseFlow.setHouseId(ors.getHouseId()); + opeUseFlow.setContainerId(ors.getContainerId()); + opeUseFlow.setUserId(ors.getUserId()); + opeUseFlow.setPlace(ors.getPlace()); + opeUseFlow.setRemainder(ors.getRemainder()); + //新增 领用单号 + opeUseFlow.setReceiptNumber(receiptNum); + + Map<String, String> metaMap = new HashMap<>(); + metaMap.put("groupId", "operate_status"); + metaMap.put("metaKey", String.valueOf(OperateStatus.WAREHOUSEOUT.getKey())); + List<BaseMeta> baseMetaList = baseMetaDao.getBaseMetaList(metaMap); + opeUseFlow.setOperateState(baseMetaList.get(0).getId()); + this.opeUseFlowService.insertOpeUseFlow(opeUseFlow); + }); } + + @Override + @Transactional + public void updateSysWarehouse2(SysWarehouse sysWarehouse, SysLaboratory sysLaboratory) { + //1.0更新自己 + this.updateSysWarehouse(sysWarehouse); + //2.更新实验室 + sysLaboratory.setInfoCode(sysWarehouse.getInfoCode()); + sysLaboratory.setBarCode(sysWarehouse.getBarCode()); + sysLaboratory.setLocation1(sysWarehouse.getLocation1()); + sysLaboratory.setLocation2(sysWarehouse.getLocation2()); + sysLaboratory.setDepartment(sysWarehouse.getDepartment()); + sysLaboratoryService.updateSysLaboratory(sysLaboratory); + } } -- Gitblit v1.9.2