Commit a6026a5fcaf47c0c153b31c3adca065db74db6e3

Authored by 谭毅彬
1 parent 11b05893

入库单单号唯一性方法更新

Signed-off-by: TanYibin <5491541@qq.com>
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/mapper/ReceiptHeaderMapper.java
1 package org.jeecg.modules.wms.receipt.receiptHeader.mapper; 1 package org.jeecg.modules.wms.receipt.receiptHeader.mapper;
2 2
3 -import java.util.List;  
4 -  
5 import org.apache.ibatis.annotations.Param; 3 import org.apache.ibatis.annotations.Param;
6 -import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 +import org.apache.ibatis.annotations.Select;
7 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; 5 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
8 6
  7 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  8 +
9 /** 9 /**
10 * @Description: 入库表主表 10 * @Description: 入库表主表
11 * @Author: jeecg-boot 11 * @Author: jeecg-boot
@@ -14,4 +14,8 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; @@ -14,4 +14,8 @@ import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
14 */ 14 */
15 public interface ReceiptHeaderMapper extends BaseMapper<ReceiptHeader> { 15 public interface ReceiptHeaderMapper extends BaseMapper<ReceiptHeader> {
16 16
  17 + @Select("select code from (select r.id, r.code from receipt_header r where r.type = #{receiptType} "
  18 + + "union all select h.id, h.code from receipt_header_history h where h.type = #{receiptType}) t order by t.id desc limit 1")
  19 + ReceiptHeader getMaxReceiptHeaderCode(@Param("receiptType") String receiptType);
  20 +
17 } 21 }
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/IReceiptHeaderService.java
@@ -31,8 +31,6 @@ public interface IReceiptHeaderService extends IService&lt;ReceiptHeader&gt; { @@ -31,8 +31,6 @@ public interface IReceiptHeaderService extends IService&lt;ReceiptHeader&gt; {
31 */ 31 */
32 public Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader); 32 public Result<ReceiptHeader> saveReceiptHeader(ReceiptHeader receiptHeader);
33 33
34 - public String createCode(String receiptType);  
35 -  
36 public boolean updateReceiptHeaderStatus(Integer id); 34 public boolean updateReceiptHeaderStatus(Integer id);
37 35
38 public boolean updateReceiptHeader(Integer id); 36 public boolean updateReceiptHeader(Integer id);
@@ -41,4 +39,6 @@ public interface IReceiptHeaderService extends IService&lt;ReceiptHeader&gt; { @@ -41,4 +39,6 @@ public interface IReceiptHeaderService extends IService&lt;ReceiptHeader&gt; {
41 39
42 public ReceiptHeader getReceiptHeaderByReferCode(String referCode, String warehouseCode); 40 public ReceiptHeader getReceiptHeaderByReferCode(String referCode, String warehouseCode);
43 41
  42 + String createReceiptCode(String receiptType);
  43 +
44 } 44 }
huaheng-wms-core/src/main/java/org/jeecg/modules/wms/receipt/receiptHeader/service/impl/ReceiptHeaderServiceImpl.java
@@ -3,7 +3,6 @@ package org.jeecg.modules.wms.receipt.receiptHeader.service.impl; @@ -3,7 +3,6 @@ package org.jeecg.modules.wms.receipt.receiptHeader.service.impl;
3 import java.io.Serializable; 3 import java.io.Serializable;
4 import java.math.BigDecimal; 4 import java.math.BigDecimal;
5 import java.text.SimpleDateFormat; 5 import java.text.SimpleDateFormat;
6 -import java.util.ArrayList;  
7 import java.util.Collection; 6 import java.util.Collection;
8 import java.util.Date; 7 import java.util.Date;
9 import java.util.List; 8 import java.util.List;
@@ -12,11 +11,9 @@ import javax.annotation.Resource; @@ -12,11 +11,9 @@ import javax.annotation.Resource;
12 11
13 import org.jeecg.common.api.vo.Result; 12 import org.jeecg.common.api.vo.Result;
14 import org.jeecg.common.exception.JeecgBootException; 13 import org.jeecg.common.exception.JeecgBootException;
15 -import org.jeecg.modules.wms.audit.entity.Audit;  
16 import org.jeecg.modules.wms.audit.service.IAuditService; 14 import org.jeecg.modules.wms.audit.service.IAuditService;
17 import org.jeecg.modules.wms.config.receiptType.entity.ReceiptType; 15 import org.jeecg.modules.wms.config.receiptType.entity.ReceiptType;
18 import org.jeecg.modules.wms.config.receiptType.service.IReceiptTypeService; 16 import org.jeecg.modules.wms.config.receiptType.service.IReceiptTypeService;
19 -import org.jeecg.modules.wms.flow.entity.FlowDetail;  
20 import org.jeecg.modules.wms.flow.service.IFlowDetailService; 17 import org.jeecg.modules.wms.flow.service.IFlowDetailService;
21 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail; 18 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptDetail;
22 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader; 19 import org.jeecg.modules.wms.receipt.receiptHeader.entity.ReceiptHeader;
@@ -112,7 +109,7 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl&lt;ReceiptHeaderMapper, R @@ -112,7 +109,7 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl&lt;ReceiptHeaderMapper, R
112 return Result.error("上游单号" + referCode + ",已经存在"); 109 return Result.error("上游单号" + referCode + ",已经存在");
113 } 110 }
114 } 111 }
115 - String code = createCode(receiptHeader.getType()); 112 + String code = createReceiptCode(receiptHeader.getType());
116 if (StringUtils.isEmpty(code)) { 113 if (StringUtils.isEmpty(code)) {
117 throw new JeecgBootException("根据入库单据类型" + receiptHeader.getType() + "生成单号失败"); 114 throw new JeecgBootException("根据入库单据类型" + receiptHeader.getType() + "生成单号失败");
118 } 115 }
@@ -128,14 +125,12 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl&lt;ReceiptHeaderMapper, R @@ -128,14 +125,12 @@ public class ReceiptHeaderServiceImpl extends ServiceImpl&lt;ReceiptHeaderMapper, R
128 125
129 @Override 126 @Override
130 @Transactional 127 @Transactional
131 - public String createCode(String receiptType) { 128 + public String createReceiptCode(String receiptType) {
132 String code = null; 129 String code = null;
133 Date now = new Date(); 130 Date now = new Date();
134 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); 131 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
135 - LambdaQueryWrapper<ReceiptHeader> receiptHeaderLambdaQueryWrapper = Wrappers.lambdaQuery();  
136 - receiptHeaderLambdaQueryWrapper.eq(ReceiptHeader::getType, receiptType).select(ReceiptHeader::getCode).orderByDesc(ReceiptHeader::getId).last("Limit 1");  
137 String maxCode = null; 132 String maxCode = null;
138 - ReceiptHeader receiptHeader = this.getOne(receiptHeaderLambdaQueryWrapper); 133 + ReceiptHeader receiptHeader = receiptHeaderMapper.getMaxReceiptHeaderCode(receiptType);
139 if (receiptHeader != null) { 134 if (receiptHeader != null) {
140 maxCode = receiptHeader.getCode(); 135 maxCode = receiptHeader.getCode();
141 } 136 }