From bdb2ae10053cd96900e6bf0900dc606a3daca55f Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 02 四月 2025 15:17:51 +0800 Subject: [PATCH] 工作档入库 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java | 40 ++++++++++++++++++- rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java | 5 ++ rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Stock.java | 33 +++++++++------- 3 files changed, 61 insertions(+), 17 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Stock.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Stock.java index 670c7d5..4c92d50 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Stock.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Stock.java @@ -2,6 +2,8 @@ import java.text.SimpleDateFormat; import java.util.Date; + +import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import com.baomidou.mybatisplus.annotation.TableLogic; import java.text.SimpleDateFormat; @@ -24,6 +26,7 @@ import java.util.Date; @Data +@Accessors(chain = true) @TableName("man_stock") public class Stock implements Serializable { @@ -40,25 +43,27 @@ * ASN鍗曟嵁锛� 甯﹀嚭PO鍗� */ @ApiModelProperty(value= "ASN鍗曟嵁锛� 甯﹀嚭PO鍗�") - private String asnOrder; + private Long asnId; + @ApiModelProperty("璁㈠崟缂栫爜") + private String asnCode; /** * ERP鍑瘉 */ - @ApiModelProperty(value= "ERP鍑瘉") - private String erpToken; + @ApiModelProperty(value= "plat鍑瘉") + private String platToken; /** - * ERP鍗曞彿 + * plat鍗曞彿 */ - @ApiModelProperty(value= "ERP鍗曞彿") - private String erpOrder; + @ApiModelProperty(value= "plat鍗曞彿") + private String platOrderNo; /** - * ERP搴撳瓨鍦板潃 + * plat搴撳瓨鍦板潃 */ - @ApiModelProperty(value= "ERP搴撳瓨鍦板潃") - private String erpStkAdr; + @ApiModelProperty(value= "plat搴撳瓨鍦板潃") + private String platStkAdr; /** * 鍚堝悓鏍囪瘑 @@ -144,11 +149,11 @@ public Stock() {} - public Stock(String asnOrder,String erpToken,String erpOrder,String erpStkAdr,String contractId,String lockReason,Short lockStatus,String locker,Date lockedTime,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { - this.asnOrder = asnOrder; - this.erpToken = erpToken; - this.erpOrder = erpOrder; - this.erpStkAdr = erpStkAdr; + public Stock(String asnOrder,String platToken,String platOrder,String platStkAdr,String contractId,String lockReason,Short lockStatus,String locker,Date lockedTime,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) { + this.platOrderNo = asnOrder; + this.platToken = platToken; + this.platOrderNo = platOrder; + this.platStkAdr = platStkAdr; this.contractId = contractId; this.lockReason = lockReason; this.lockStatus = lockStatus; diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java index 4ce0193..11a0603 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/schedules/TaskSchedules.java @@ -3,15 +3,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.api.entity.enums.TaskStsType; -import com.vincent.rsf.server.manager.entity.Task; -import com.vincent.rsf.server.manager.entity.TaskItem; +import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.service.*; +import com.vincent.rsf.server.system.constant.SerialRuleCode; +import com.vincent.rsf.server.system.utils.SerialRuleUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.List; +import java.util.Map; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -27,6 +31,12 @@ private TaskItemService taskItemService; @Autowired private StockItemService stockItemService; + @Autowired + private PurchaseService purchaseService; + @Autowired + private AsnOrderService asnOrderService; + @Autowired + private AsnOrderItemService asnOrderItemService; @Autowired private StockService stockService; @Autowired @@ -50,9 +60,33 @@ if (taskItems.isEmpty()) { throw new CoolException("浠诲姟鏄庣粏涓虹┖锛侊紒"); } - taskItems.forEach(item -> { + //鑾峰彇鍗曟嵁鏄庣粏ID + List<Long> ids = taskItems.stream().map(TaskItem::getOrderItemId).collect(Collectors.toList()); + List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getAsnId, ids)); + if (items.isEmpty()) { + throw new CoolException("鏁版嵁閿欒锛氭槑缁嗗崟鎹笉瀛樺湪"); + } + /**鑾峰彇璁㈠崟*/ + List<Long> orders = items.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList()); + Map<Long, List<AsnOrderItem>> listMap = items.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId)); + listMap.keySet().forEach(key -> { + AsnOrder order = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getId, key)); + Stock stock = new Stock(); + if (!Objects.isNull(order.getPoCode()) && StringUtils.isNotBlank(order.getPoCode())) { + Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getCode, order.getPoCode())); + stock.setPlatOrderNo(purchase.getPlatCode()).setPlatToken(purchase.getPlatId()); + } + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_STOCK_CODE, null); + if (StringUtils.isBlank(ruleCode)) { + throw new CoolException("褰撳墠涓氬姟锛�" + SerialRuleCode.SYS_STOCK_CODE + "锛岀紪鐮佽鍒欎笉瀛樺湪锛侊紒"); + } + stock.setAsnId(order.getId()).setAsnCode(order.getCode()); + if (!stockService.save(stock)) { + throw new CoolException("搴撳瓨淇濆瓨澶辫触锛侊紒"); + } }); + } } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java index cb7bab2..9c1961c 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/system/constant/SerialRuleCode.java @@ -48,4 +48,9 @@ * 浠诲姟缂栫爜鐢熸垚瑙勫垯 */ public final static String SYS_TASK_CODE = "sys_task_code"; + + /** + * 浠撳簱缂栫爜瑙勫垯 + */ + public final static String SYS_STOCK_CODE = "sys_stock_code"; } -- Gitblit v1.9.1