From 2a78301791c91a5946fb49f9af5c9687adfd8f82 Mon Sep 17 00:00:00 2001
From: wangwei <1610949092@qq.com>
Date: Wed, 22 Mar 2023 09:38:00 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/thrsys/ThrProductsAddDiDao.xml | 22 +++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml
index 8f919f9b..7e9aedb5 100644
--- a/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml
+++ b/src/main/resources/mybatis/mapper/thrsys/ThrProductsAddDiDao.xml
@@ -115,11 +115,29 @@
AND tdi.customerId = #{customerId}
- AND ( tdi.sptm = #{code} OR p.nameCode = #{code} OR tdi.ybbm=#{code})
+ AND ( tdi.sptm = #{code} OR code = #{code} OR tdi.ybbm=#{code})
AND tdi.uuid = #{uuid}
+
+ AND tdi.name = #{name}
+
+
+ AND tdi.spec = #{spec}
+
+
+ AND tdi.status = #{checkStatus}
+
+
+ AND tdi.customerId = #{customerId}
+
+
+
+
+
+
+
order by tdi.createTime DESC
@@ -166,4 +184,4 @@
-
\ No newline at end of file
+
From 1d506f43ff45ddcf016586ede08bbcb962616f02 Mon Sep 17 00:00:00 2001
From: anthonywj
Date: Wed, 22 Mar 2023 11:09:22 +0800
Subject: [PATCH 2/3] =?UTF-8?q?=E9=A2=84=E9=AA=8C=E6=94=B6=E9=87=8D?=
=?UTF-8?q?=E6=96=B0=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/glxp/api/constant/ConstantStatus.java | 8 +++-
.../inout/IoCodeLostController.java | 6 ---
.../inout/IoCodeTempController.java | 6 +--
.../inv/InvPreinOrderController.java | 4 +-
.../api/entity/inout/IoCodeLostEntity.java | 4 ++
.../glxp/api/entity/inout/IoOrderEntity.java | 2 +-
.../api/entity/inv/InvPreinDetailEntity.java | 13 ++++++
.../req/inv/FilterInvPreinDetailRequest.java | 13 ++++++
.../api/res/inv/InvPreinDetailResponse.java | 12 +++++-
.../service/inout/IoCheckInoutService.java | 17 +++++---
.../api/service/inout/IoGenInvService.java | 3 ++
.../service/inv/InvPreinDetailService.java | 9 ++++-
.../inv/impl/InvPreinDetailServiceImpl.java | 34 ++++++++++++++--
.../mybatis/mapper/inv/InvPreinDetailDao.xml | 40 +++++++++++++++++--
src/main/resources/schemas/schema_v2.1.sql | 9 ++++-
15 files changed, 151 insertions(+), 29 deletions(-)
diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java
index d9b5d021..7cc8a386 100644
--- a/src/main/java/com/glxp/api/constant/ConstantStatus.java
+++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java
@@ -81,7 +81,6 @@ public class ConstantStatus {
public static final Integer BUS_TYPE_INVOICE = 4; //退货单单据类型
-
public static final Integer ACTION_TYPE_NORMAL = 1; //带票
public static final Integer ACTION_TYPE_PREIN = 2; //预验收
public static final Integer ACTION_TYPE_ADVANCE = 3; //寄售
@@ -270,4 +269,11 @@ public class ConstantStatus {
public static final int PRINT_SUCCESS = 1; //已打印
+ //预验收库存状态 1:在库,2:已退回;3.已使用
+
+ public static final int INVIN_IN = 1;
+ public static final int INVIN_BACK = 2;
+ public static final int INVIN_USE = 3;
+
+
}
diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java
index dc95649b..0ca40054 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoCodeLostController.java
@@ -1,18 +1,13 @@
package com.glxp.api.controller.inout;
-import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
-import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
-import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
-import com.glxp.api.res.inout.AcceptOrderResponse;
-import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.inout.IoCodeLostService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -21,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Date;
-import java.util.List;
@RestController
public class IoCodeLostController extends BaseController {
diff --git a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
index de39dc1b..426c8112 100644
--- a/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
+++ b/src/main/java/com/glxp/api/controller/inout/IoCodeTempController.java
@@ -448,7 +448,7 @@ public class IoCodeTempController extends BaseController {
//校验预验收是否已存在
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
- List invProductDetailEntities = invPreinDetailService.findByCode(code);
+ List invProductDetailEntities = invPreinDetailService.findUseByCode(code);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!");
}
@@ -457,7 +457,7 @@ public class IoCodeTempController extends BaseController {
//校验预验收库存是否已存在
if (bussinessTypeEntity.isScanPreIn()) {
- InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(code);
+ InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(code);
if (invProductDetailEntity == null) {
return ResultVOUtils.error(500, "预验收库存未存在此产品!");
} else {
@@ -469,7 +469,7 @@ public class IoCodeTempController extends BaseController {
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
- List invPreinDetailEntities = invPreinDetailService.findByCode(code);
+ List invPreinDetailEntities = invPreinDetailService.findUseByCode(code);
int count = 0;
for (InvPreinDetailEntity temp : invPreinDetailEntities) {
count = count + temp.getCount();
diff --git a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java
index 1325588a..9214c9a9 100644
--- a/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java
+++ b/src/main/java/com/glxp/api/controller/inv/InvPreinOrderController.java
@@ -77,7 +77,7 @@ public class InvPreinOrderController extends BaseController {
@AuthRuleAnnotation("")
@GetMapping("spms/prein/inv/products/getDetaiByCode")
public BaseResponse getDetaiByCode(FilterInvProductDetailRequest filterInvProductDetailRequest) {
- InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(filterInvProductDetailRequest.getCode());
+ InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(filterInvProductDetailRequest.getCode());
if (invProductDetailEntity == null) {
return ResultVOUtils.error(500, "预验收库存未存在此产品!");
} else {
@@ -88,7 +88,7 @@ public class InvPreinOrderController extends BaseController {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductDetailRequest.getCode());
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
- List invPreinDetailEntities = invPreinDetailService.findByCode(filterInvProductDetailRequest.getCode());
+ List invPreinDetailEntities = invPreinDetailService.findUseByCode(filterInvProductDetailRequest.getCode());
int count = 0;
for (InvPreinDetailEntity temp : invPreinDetailEntities) {
count = count + temp.getCount();
diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java
index 964590fb..bcd1a46a 100644
--- a/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java
+++ b/src/main/java/com/glxp/api/entity/inout/IoCodeLostEntity.java
@@ -72,6 +72,10 @@ public class IoCodeLostEntity {
@TableField(value = "remark")
private String remark;
+
+ @TableField(value = "nameCode")
+ private String nameCode;
+
public static final String COL_ID = "id";
public static final String COL_CODE = "code";
diff --git a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java
index e2ec5ebf..9ba457a3 100644
--- a/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java
+++ b/src/main/java/com/glxp/api/entity/inout/IoOrderEntity.java
@@ -223,7 +223,7 @@ public class IoOrderEntity {
@TableField(value = "processStatus")
private Integer processStatus; //退货单据处理状态
- @TableField(value = "processStatus")
+ @TableField(value = "inCodeStatus")
private int inCodeStatus; //内部码生成状态
}
diff --git a/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java
index 6d9ee65c..52c5f353 100644
--- a/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java
+++ b/src/main/java/com/glxp/api/entity/inv/InvPreinDetailEntity.java
@@ -60,6 +60,19 @@ public class InvPreinDetailEntity {
@TableField(value = "relId")
private Long relId;
+ /**
+ * 扫码数量
+ */
+ @TableField(value = "`originCount`")
+ private int originCount;
+
+ /**
+ * 实际数量
+ */
+ @TableField(value = "originReCount")
+ private int originReCount;
+
+
/**
* 扫码数量
*/
diff --git a/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java b/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java
index 29a6396b..67b722ef 100644
--- a/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java
+++ b/src/main/java/com/glxp/api/req/inv/FilterInvPreinDetailRequest.java
@@ -8,4 +8,17 @@ public class FilterInvPreinDetailRequest extends ListPageRequest {
private String orderId;
private String code;
+ private String productName;
+ private String ggxh;
+ private String manufactory;
+ private String zczbhhzbapzbh;
+ private String auditTime;
+ private String billNo;
+ private String invCode;
+ private String batchNo;
+ private String produceDate;
+ private String expireDate;
+ private String startAduditTime;
+ private String endAduditTime;
+ private String nameCode;
}
diff --git a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java
index a765fc1c..9b60912f 100644
--- a/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java
+++ b/src/main/java/com/glxp/api/res/inv/InvPreinDetailResponse.java
@@ -56,11 +56,21 @@ public class InvPreinDetailResponse {
*/
private int count;
+
+ private Integer originReCount;
+
/**
* 实际数量
*/
private int reCount;
-
+ private Integer status;
private String productName;
+ private String ggxh;
+ private String manufactory;
+ private String zczbhhzbapzbh;
+ private String auditTime;
+ private String billNo;
+ private String invName;
+
}
diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
index 6b4c9088..00e7fead 100644
--- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java
@@ -657,8 +657,12 @@ public class IoCheckInoutService {
for (IoCodeEntity warehouseEntity : codeList) {
List invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode());
if (invProductDetailEntities.size() > 0) {
- for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities)
+ for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) {
preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId());
+ invPreinDetailEntity.setStatus(ConstantStatus.INVIN_USE);
+ invPreinDetailService.update(invPreinDetailEntity);
+ }
+
}
}
if (preInOrder.size() > 0) {
@@ -673,7 +677,8 @@ public class IoCheckInoutService {
BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction());
//预验收不删除单号,方便后续查询
if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存;
- invPreinDetailService.deleteByOrderId(preInEntity.getBillNo());
+ invPreinDetailService.updateBack(preInEntity.getBillNo());
+// invPreinDetailService.deleteByOrderId(preInEntity.getBillNo());
} else { //预验收如果不带回,则清除已出库相关库存
for (IoCodeEntity codeEntity : codeList) {
if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
@@ -688,15 +693,17 @@ public class IoCheckInoutService {
if (count >= 0) {
isBreak = true;
if (count == 0) {
- invPreinDetailService.deleteByCode(key, codeEntity.getCode());
+// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
+ invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
invPreinDetailEntity.setCount(count);
invPreinDetailService.update(invPreinDetailEntity);
}
int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
if (reCount == 0) {
- invPreinDetailService.deleteByCode(key, codeEntity.getCode());
+// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else {
+ invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
invPreinDetailEntity.setReCount(reCount);
invPreinDetailService.update(invPreinDetailEntity);
}
@@ -705,7 +712,7 @@ public class IoCheckInoutService {
}
} else {
- invPreinDetailService.deleteByCode(key, codeEntity.getCode());
+// invPreinDetailService.deleteByCode(key, codeEntity.getCode());
}
}
diff --git a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java
index e1317469..e4cce5b1 100644
--- a/src/main/java/com/glxp/api/service/inout/IoGenInvService.java
+++ b/src/main/java/com/glxp/api/service/inout/IoGenInvService.java
@@ -186,6 +186,9 @@ public class IoGenInvService {
InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity();
BeanUtils.copyProperties(codeEntity, invPreinDetailEntity);
invPreinDetailEntity.setId(null);
+ invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
+ invPreinDetailEntity.setOriginCount(codeEntity.getCount());
+ invPreinDetailEntity.setOriginReCount(codeEntity.getReCount());
invPreinDetailEntities.add(invPreinDetailEntity);
});
diff --git a/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java b/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java
index b49123e5..2ded2a0c 100644
--- a/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java
+++ b/src/main/java/com/glxp/api/service/inv/InvPreinDetailService.java
@@ -17,7 +17,12 @@ public interface InvPreinDetailService {
List findByCode(String code);
- InvPreinDetailEntity findOneByCode(String code);
+// InvPreinDetailEntity findOneByCode(String code);
+
+
+ List findUseByCode(String code);
+
+ InvPreinDetailEntity findUseOneByCode(String code);
int deleteByOrderId(String orderId);
@@ -29,4 +34,6 @@ public interface InvPreinDetailService {
int update(InvPreinDetailEntity invPreinDetailEntity);
+ int updateBack(String orderId);
+
}
diff --git a/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java
index 5e6770a2..633a4e66 100644
--- a/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java
+++ b/src/main/java/com/glxp/api/service/inv/impl/InvPreinDetailServiceImpl.java
@@ -3,6 +3,7 @@ package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
+import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.inv.InvPreinDetailDao;
import com.glxp.api.dao.inv.InvPreinOrderDao;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
@@ -41,19 +42,34 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService {
}
@Override
- public List findByCode(String code) {
- return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code));
+ public List findUseByCode(String code) {
+ return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).eq("status", ConstantStatus.INVIN_IN));
}
@Override
- public InvPreinDetailEntity findOneByCode(String code) {
- List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).last("limit 1"));
+ public InvPreinDetailEntity findUseOneByCode(String code) {
+ List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code)
+ .eq("status", ConstantStatus.INVIN_IN).last("limit 1"));
if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
return invPreinDetailEntities.get(0);
}
return null;
}
+ @Override
+ public List findByCode(String code) {
+ return invPreinDetailDao.selectList(new QueryWrapper().eq("code", code));
+ }
+//
+// @Override
+// public InvPreinDetailEntity findOneByCode(String code) {
+// List invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper().eq("code", code).last("limit 1"));
+// if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
+// return invPreinDetailEntities.get(0);
+// }
+// return null;
+// }
+
@Override
public int deleteByOrderId(String orderId) {
return invPreinDetailDao.delete(new QueryWrapper().eq("orderId", orderId));
@@ -81,8 +97,18 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService {
@Override
public int update(InvPreinDetailEntity invPreinDetailEntity) {
+
+
return invPreinDetailDao.updateById(invPreinDetailEntity);
}
+ @Override
+ public int updateBack(String orderId) {
+ InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity();
+ invPreinDetailEntity.setStatus(ConstantStatus.INVIN_BACK);
+ invPreinDetailDao.update(invPreinDetailEntity, new QueryWrapper().eq("orderId", orderId).ne("status", ConstantStatus.INVIN_USE));
+ return 1;
+ }
+
}
diff --git a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml
index 9d50c12c..e7f7944c 100644
--- a/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml
+++ b/src/main/resources/mybatis/mapper/inv/InvPreinDetailDao.xml
@@ -4,16 +4,48 @@