From b54dc0e6a1a6db14209bb0d7595017fb92c197c0 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期日, 07 二月 2021 14:23:47 +0800
Subject: [PATCH] 扫码枪新增领用单号
---
src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++-----
src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml | 11 +++++++++--
2 files changed, 45 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
index c563009..5b5b10b 100644
--- a/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/OpeUseFlowDao.xml
@@ -333,8 +333,15 @@
</select>
<insert id="insertOpeUseFlow" parameterType="com.nanometer.smartlab.entity.OpeUseFlow">
- insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate)
- values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState})
+ insert into ope_use_flow(id, reagent_code, status, house_id, container_id, user_id, remainder, place, store_type, valid_flag, create_time, realstatus, operatestate
+ <if test="receipt_number != null">
+ ,receipt_number
+ </if>
+ )
+ values (#{id}, #{reagentCode}, #{status}, #{houseId}, #{containerId}, #{userId}, #{remainder}, #{place}, #{storeType}, 1, #{createTime}, #{realstatus},#{operateState}
+ <if test="receipt_number != null">
+ ,#{receiptNumber}
+ </if>)
</insert>
diff --git a/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysWarehouseServiceImpl.java
index 1a2f3fb..814267c 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.
@@ -54,6 +53,8 @@
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) {
@@ -170,7 +171,7 @@
public List<SysWarehouse> getAllSysWarehouseList() {
return this.sysWarehouseDao.getAllSysWarehouseList();
}
-
+
@Transactional(propagation = Propagation.REQUIRED)
public boolean isSysWarehouseExist(String barCode, String editId) {
try {
@@ -327,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->{
//
@@ -337,6 +340,34 @@
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);
+
});
}
--
Gitblit v1.9.2