From c7a8a725c0d4db7f820425dc2d5aae0bf39829ef Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 10 Jul 2025 13:27:02 +0800 Subject: [PATCH] init --- .../po/service/impl/PoServiceImpl.java | 21 +---------- .../impl/ProductionIssueServiceImpl.java | 9 +++-- .../trans/service/TransHeaderService.java | 2 + .../service/impl/TransHeaderServiceImpl.java | 37 +++++++++++++++++++ 4 files changed, 45 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java b/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java index b7c99eb..cac08e0 100644 --- a/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java +++ b/src/main/java/com/gaotao/modules/po/service/impl/PoServiceImpl.java @@ -124,26 +124,7 @@ public class PoServiceImpl extends ServiceImpl implemen @Transactional public void saveTrans(TransDetailDto inData) { SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); - String transType = "CRT"; - // 获取流水号,出错不回滚 - TransNoControl transNo = transNoService.getTransNo(inData.getSite(),transType,8); - TransHeader transHeader = new TransHeader(); - transHeader.setSite(inData.getSite()); - transHeader.setTransNo(transNo.getNewTransNo()); - transHeader.setTransDate(new Date()); - transHeader.setTransTypeDb(transType); - // 仓库ID 从哪来 - transHeader.setWarehouseId("1"); - transHeader.setUserId(currentUser.getUserId().toString()); - transHeader.setUserName(currentUser.getUserDisplay()); - transHeader.setRemark(inData.getRemark()); - transHeader.setOrderRef1(inData.getOrderRef1()); - // 待定 待检验的出入库记录状态为待检验 - transHeader.setStatus("C"); - transHeader.setOrderRef2(inData.getOrderRef2()); - transHeader.setOrderRef3(inData.getOrderRef3()); - transHeader.setEnterDate(new Date()); - headerService.save(transHeader); + TransHeader transHeader = headerService.genTrans(inData); inData.setTransNo(transHeader.getTransNo()); detailService.save(inData); if ("Y".equals(inData.getNeedHandlingUnit())) { diff --git a/src/main/java/com/gaotao/modules/production/service/impl/ProductionIssueServiceImpl.java b/src/main/java/com/gaotao/modules/production/service/impl/ProductionIssueServiceImpl.java index 3eed71c..d4b9448 100644 --- a/src/main/java/com/gaotao/modules/production/service/impl/ProductionIssueServiceImpl.java +++ b/src/main/java/com/gaotao/modules/production/service/impl/ProductionIssueServiceImpl.java @@ -6,6 +6,7 @@ import com.gaotao.modules.production.entity.ProductionIssue; import com.gaotao.modules.production.entity.dto.*; import com.gaotao.modules.production.service.ProductionIssueService; import com.gaotao.modules.trans.entity.TransDetailDto; +import com.gaotao.modules.trans.entity.TransHeader; import com.gaotao.modules.trans.service.TransHeaderService; import com.gaotao.modules.trans.service.TransNoControlService; import com.gaotao.modules.handlingunit.service.HandlingUnitService; @@ -121,12 +122,12 @@ public class ProductionIssueServiceImpl implements ProductionIssueService { transDetailDto.setTransQty(material.getIssueQty()); // 调用现有的事务服务生成TransHeader和TransDetail - transHeaderService.saveTrans(transDetailDto); + TransHeader transHeader = transHeaderService.genTrans(transDetailDto); // 创建发料记录 ProductionIssue productionIssue = new ProductionIssue(); productionIssue.setSite(directIssueDto.getSite()); - productionIssue.setIssueNo(transDetailDto.getTransNo()); // 使用事务单号作为发料单号 + productionIssue.setIssueNo(transHeader.getTransNo()); // 使用事务单号作为发料单号 productionIssue.setIssueType("DIRECT"); productionIssue.setWorkOrderNo(directIssueDto.getWorkOrderNo()); productionIssue.setPartNo(material.getPartNo()); @@ -137,7 +138,7 @@ public class ProductionIssueServiceImpl implements ProductionIssueService { productionIssue.setWarehouseId(labelInfo.getWarehouseId()); productionIssue.setHandlingUnitId(labelInfo.getHandlingUnitId()); productionIssue.setStatusDb("ISSUED"); - productionIssue.setTransNo(transDetailDto.getTransNo()); + productionIssue.setTransNo(transHeader.getTransNo()); productionIssue.setIssueDate(new Date()); productionIssue.setOperatorName(directIssueDto.getOperatorName()); productionIssue.setRemark(directIssueDto.getRemark()); @@ -221,7 +222,7 @@ public class ProductionIssueServiceImpl implements ProductionIssueService { transDetailDto.setTransQty(material.getIssueQty()); // 调用现有的事务服务生成TransHeader和TransDetail - transHeaderService.saveTrans(transDetailDto); + transHeaderService.genTrans(transDetailDto); // 创建发料记录 ProductionIssue productionIssue = new ProductionIssue(); diff --git a/src/main/java/com/gaotao/modules/trans/service/TransHeaderService.java b/src/main/java/com/gaotao/modules/trans/service/TransHeaderService.java index 20a9dc3..5ff38ce 100644 --- a/src/main/java/com/gaotao/modules/trans/service/TransHeaderService.java +++ b/src/main/java/com/gaotao/modules/trans/service/TransHeaderService.java @@ -6,4 +6,6 @@ import com.gaotao.modules.trans.entity.TransHeader; public interface TransHeaderService extends IService { + public TransHeader genTrans(TransDetailDto indata); + } diff --git a/src/main/java/com/gaotao/modules/trans/service/impl/TransHeaderServiceImpl.java b/src/main/java/com/gaotao/modules/trans/service/impl/TransHeaderServiceImpl.java index 1a92e54..949faa9 100644 --- a/src/main/java/com/gaotao/modules/trans/service/impl/TransHeaderServiceImpl.java +++ b/src/main/java/com/gaotao/modules/trans/service/impl/TransHeaderServiceImpl.java @@ -2,12 +2,49 @@ package com.gaotao.modules.trans.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.gaotao.modules.sys.entity.SysUserEntity; import com.gaotao.modules.trans.dao.TransHeaderMapper; import com.gaotao.modules.trans.entity.*; import com.gaotao.modules.trans.service.TransHeaderService; +import com.gaotao.modules.trans.service.TransNoControlService; +import jakarta.transaction.Transactional; +import org.apache.shiro.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Date; + + @Service public class TransHeaderServiceImpl extends ServiceImpl implements TransHeaderService { + @Autowired + private TransNoControlService transNoService; + + @Override + @Transactional + public TransHeader genTrans(TransDetailDto inData) { + SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); + String transType = "CRT"; + // 获取流水号,出错不回滚 + TransNoControl transNo = transNoService.getTransNo(inData.getSite(),transType,8); + TransHeader transHeader = new TransHeader(); + transHeader.setSite(inData.getSite()); + transHeader.setTransNo(transNo.getNewTransNo()); + transHeader.setTransDate(new Date()); + transHeader.setTransTypeDb(transType); + // 仓库ID 从哪来 + transHeader.setWarehouseId("1"); + transHeader.setUserId(currentUser.getUserId().toString()); + transHeader.setUserName(currentUser.getUserDisplay()); + transHeader.setRemark(inData.getRemark()); + transHeader.setOrderRef1(inData.getOrderRef1()); + // 待定 待检验的出入库记录状态为待检验 + transHeader.setStatus("C"); + transHeader.setOrderRef2(inData.getOrderRef2()); + transHeader.setOrderRef3(inData.getOrderRef3()); + transHeader.setEnterDate(new Date()); + this.save(transHeader); + return transHeader; + } }