From 644054957e6c926cee03cf99b1869ae2b1523ff4 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 07 四月 2025 14:32:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 8 +++
src/main/java/com/zy/common/utils/YyyyMmddUtils.java | 80 ++++++++++++++++++++++++++++++++++++++++
src/main/java/com/zy/asrs/entity/param/StockOutParam.java | 2 +
src/main/java/com/zy/asrs/controller/OutController.java | 2 +
4 files changed, 91 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index dc5d93d..a3db49b 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -169,7 +169,9 @@
param.setLocDetls(locDetls);
List<StockOutParam> stockOutParams = OutboundAllocationUtil.OutboundClassification(param);
+ Date now = new Date();
for (StockOutParam stockOutParam : stockOutParams){
+ stockOutParam.setNowTime(now);
workService.startupFullTakeStore(stockOutParam, getUserId());
}
diff --git a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
index ded467b..fe581d2 100644
--- a/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/StockOutParam.java
@@ -2,6 +2,7 @@
import lombok.Data;
+import java.util.Date;
import java.util.List;
/**
@@ -14,6 +15,7 @@
private Integer outSite;
private String orderNo;
private String cstmrName;
+ private Date nowTime;
// 鐗╂枡缂栧彿闆嗗悎
private List<LocDetl> locDetls;
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index ed93308..8901eb6 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -20,6 +20,7 @@
import com.zy.common.model.enums.WorkNoType;
import com.zy.common.properties.SlaveProperties;
import com.zy.common.service.CommonService;
+import com.zy.common.utils.YyyyMmddUtils;
import com.zy.common.web.WcsController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -165,6 +166,7 @@
@Transactional
public void startupFullTakeStore(StockOutParam param, Long userId) {
// 鐩爣绔欑偣鐘舵�佹娴�
+ Date now = param.getNowTime();
BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
// 鑾峰彇搴撲綅鏄庣粏
List<LocDetlDto> locDetlDtos = new ArrayList<>();
@@ -180,6 +182,7 @@
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
// 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+ staNo.setModiTime(now);
stockOut(staNo, locDetlDtos, null, userId);
}else {
throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
@@ -394,6 +397,7 @@
@Transactional
public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
Date now = new Date();
+ Date nowPri = staNo.getModiTime();
// 鍚堝苟鍚岀被椤�
Set<String> locNos = new HashSet<>();
List<OutLocDto> dtos = new ArrayList<>();
@@ -439,7 +443,9 @@
wrkMast.setWrkNo(workNo);
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
- wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+
+ Integer pri = YyyyMmddUtils.convertPri(nowPri);
+ wrkMast.setIoType(pri); // 鍏ュ嚭搴撶姸鎬�
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setCrnNo(locMast.getCrnNo());
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
diff --git a/src/main/java/com/zy/common/utils/YyyyMmddUtils.java b/src/main/java/com/zy/common/utils/YyyyMmddUtils.java
new file mode 100644
index 0000000..013ff33
--- /dev/null
+++ b/src/main/java/com/zy/common/utils/YyyyMmddUtils.java
@@ -0,0 +1,80 @@
+package com.zy.common.utils;
+
+import com.core.common.DateUtils;
+
+import java.time.Duration;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.ZoneId;
+import java.util.Date;
+
+public class YyyyMmddUtils {
+ public static String convertYyyyMMdd() {
+ return DateUtils.convert(new Date(), "MMdd");
+ }
+
+ public static String convertYyyyMMdd(Date date) {
+ return DateUtils.convert(date, "MMdd");
+ }
+
+ public static long convertYyyyMMdd100000() {
+ String convert = convertYyyyMMdd();
+ return 100000*(Long.valueOf(convert));
+ }
+
+ public static long convertYyyyMMdd100000(Date date) {
+ String convert = convertYyyyMMdd(date);
+ return 100000*(Long.valueOf(convert));
+ }
+
+ public static LocalTime convertToBeijingTime(Date date) {
+ return date.toInstant() // Date -> Instant锛堟椂闂存埑锛�
+ .atZone(ZoneId.of("Asia/Shanghai")) // 缁戝畾鍖椾含鏃跺尯锛圲TC+8锛�
+ .toLocalTime(); // 鎻愬彇鏃堕棿閮ㄥ垎
+ }
+
+ public static LocalDateTime convert(Date date) {
+ return date.toInstant() // 灏� Date 杞崲涓� Instant锛堟椂闂存埑锛�
+ .atZone(ZoneId.systemDefault()) // 缁戝畾绯荤粺榛樿鏃跺尯
+ .toLocalDateTime(); // 鎻愬彇鏃犳椂鍖虹殑鏃ユ湡鏃堕棿
+ }
+
+ // 鍩轰簬 java.time 鐨勫疄鐜帮紙绾跨▼瀹夊叏涓旂畝娲侊級
+ public static long getSecondsOfDay(Date date) {
+ // 1. 鑾峰彇褰撳ぉ闆剁偣鏃堕棿锛堢郴缁熸椂鍖猴級
+ LocalDateTime startOfDay = LocalDateTime.now().with(LocalTime.MIN);
+
+ // 2. 鑾峰彇褰撳墠鏃堕棿
+ LocalDateTime currentTime = convert(date);
+
+ // 3. 璁$畻鏃堕棿宸殑绉掓暟
+ long secondsSinceMidnight = Duration.between(startOfDay, currentTime).getSeconds();
+ return secondsSinceMidnight;
+ }
+
+ // 鍘熸柟娉曟敼閫狅紙甯� Date 鍙傛暟锛�
+ public static long convertYyyyMMdd100000ioPri(Date data) {
+ long ioPri = convertYyyyMMdd100000(data);
+ long secondsOfDay = getSecondsOfDay(data);
+ System.out.println(secondsOfDay);
+ return ioPri + (1000000 - secondsOfDay);
+ }
+
+ // 閲嶈浇鏂规硶锛堝吋瀹规棤 Date 鍙傛暟鐨勮皟鐢級
+ public static long convertYyyyMMdd1000000ioPri() {
+ return convertYyyyMMdd100000ioPri(new Date());
+ }
+
+ // 閲嶈浇鏂规硶锛堝吋瀹规棤 Date 鍙傛暟鐨勮皟鐢級
+ public static Integer convertPri(Date date) {
+ long datePri = convertYyyyMMdd100000ioPri(date);
+ return (int)datePri;
+ }
+
+ public static void main(String[] args) {
+ Date now = new Date();
+ long result = YyyyMmddUtils.convertYyyyMMdd100000ioPri(now);
+ System.out.println("璁$畻鍊硷細" + result);
+ System.out.println("璁$畻鍊硷細" + (int)result);
+ }
+}
--
Gitblit v1.9.1