Commit a6026a5fcaf47c0c153b31c3adca065db74db6e3
1 parent
11b05893
入库单单号唯一性方法更新
Signed-off-by: TanYibin <5491541@qq.com>
Showing
3 changed files
with
12 additions
and
13 deletions
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<ReceiptHeader> { |
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<ReceiptHeader> { |
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<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<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 | } |
... | ... |