From 177188e74cbb15581132578b7b2857957b667a94 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期二, 21 十月 2025 16:24:23 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 83 ++++++++++++++++++++++++++++++++---------
1 files changed, 64 insertions(+), 19 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 536b2ea..16cdac0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -3,12 +3,13 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.MatCode;
+import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.WrkDetl;
-import com.zy.asrs.entity.MatCodeCountDto;
import com.zy.asrs.mapper.WrkDetlMapper;
-import com.zy.asrs.service.MatCodeService;
+import com.zy.asrs.service.MatService;
import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.utils.MatUtils;
+import com.zy.common.model.DetlDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,36 +21,80 @@
public class WrkDetlServiceImpl extends ServiceImpl<WrkDetlMapper, WrkDetl> implements WrkDetlService {
@Autowired
- private MatCodeService matCodeService;
+ private MatService matService;
@Override
@Transactional
- public void createWorkDetail(Integer workNo, List<MatCodeCountDto> matCodeCountDtos, Long userId) {
- if (matCodeCountDtos.isEmpty()){
+ public void createWorkDetail(Integer workNo, List<DetlDto> detlDtos, String barcode, Long userId, Date now) {
+ if (detlDtos.isEmpty()){
return;
}
- for (MatCodeCountDto dto : matCodeCountDtos) {
- MatCode matCode = matCodeService.selectById(dto.getMatNo());
- if (Cools.isEmpty(matCode)){
- throw new CoolException("鐗╂枡鏉$爜鏁版嵁涓虹┖");
+ for (DetlDto dto : detlDtos) {
+ Mat mat = matService.selectByMatnr(dto.getMatnr());
+ if (Cools.isEmpty(mat)){
+ throw new CoolException(dto.getMatnr() + "鍟嗗搧缁存姢澶辫触");
}
// 淇濇寔宸ヤ綔妗f槑缁�
WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(mat);
wrkDetl.setWrkNo(workNo);
- wrkDetl.setIoTime(new Date());
- wrkDetl.setMatnr(matCode.getMatNo()); // 鐗╂枡缂栧彿
- wrkDetl.setAnfme((double) dto.getCount()); // 鏁伴噺
- wrkDetl.setLgnum("寰呭畾"); // todo
- wrkDetl.setTbnum(0); // todo
- wrkDetl.setTbpos(0); // todo
- wrkDetl.setZmatid("寰呭畾"); // todo
+ wrkDetl.setIoTime(now);
+ wrkDetl.setBatch(dto.getBatch());
+ wrkDetl.setAnfme(dto.getAnfme()); // 鏁伴噺
+ wrkDetl.setZpallet(barcode); // 鎵樼洏鏉$爜
wrkDetl.setAppeUser(userId);
- wrkDetl.setAppeTime(new Date());
+ wrkDetl.setAppeTime(now);
wrkDetl.setModiUser(userId);
- wrkDetl.setModiTime(new Date());
+ wrkDetl.setModiTime(now);
if (!this.insert(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
}
}
}
+
+ @Override
+ public List<WrkDetl> selectByWrkNo(Integer wrkNo) {
+ return this.baseMapper.selectByWrkNo(wrkNo);
+ }
+
+ @Override
+ public boolean updateAnfme(Double anfme, Integer wrkNo, String matnr, String batch) {
+ if (anfme <= 0) {
+ return this.baseMapper.deleteItem(wrkNo, matnr, batch) > 0;
+ } else {
+ boolean result = baseMapper.updateAnfme(anfme, wrkNo, matnr, batch) > 0;
+ if (!result) {
+ return false;
+ }
+
+ //璁$畻杈呭崟浣�
+ Double weight = MatUtils.calcWeight(matnr, anfme);
+ return baseMapper.updateWeight(weight, wrkNo, matnr, batch) > 0;
+ }
+ }
+
+ @Override
+ public List<WrkDetl> selectAndLogByOrderNo(String orderNo) {
+ return this.baseMapper.selectAndLogByOrderNo(orderNo);
+ }
+
+ @Override
+ public boolean updateInspect(Integer wrkNo, String matnr, String batch) {
+ return this.baseMapper.updateInspect(wrkNo, matnr, batch) > 0;
+ }
+
+ @Override
+ public List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr) {
+ return this.baseMapper.selectPakoutQuery(staNo, matnr);
+ }
+
+ @Override
+ public List<WrkDetl> selectAndLogByOrderNoGroupByMatnrOfSum(String orderNo) {
+ return this.baseMapper.selectAndLogByOrderNoGroupByMatnrOfSum(orderNo);
+ }
+
+ @Override
+ public boolean updateBarcode(Integer wrkNo, String barcode) {
+ return this.baseMapper.updateBarcode(wrkNo, barcode) > 0;
+ }
}
--
Gitblit v1.9.1