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