From 2f932f2675b0e7cfa7c5466b058d93aec67d6f3c Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期一, 30 一月 2023 22:10:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 5da8620..b9b9617 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -63,6 +63,12 @@
     private ApiLogService apiLogService;
     @Autowired
     private WorkLogHandler workLogHandler;
+    @Autowired
+    private AdjDetlService adjDetlService;
+    @Autowired
+    private CheckRecordService checkRecordService;
+    @Autowired
+    private LocDetlService locDetlService;
 
     @Override
     @Transactional
@@ -94,6 +100,12 @@
             List<DetlDto> detlDtos = new ArrayList<>();
             param.getCombMats().forEach(elem -> {
                 DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getMemo());
+
+                if (Cools.isEmpty(detlDto.getBatch())){
+                    String batch = DateUtils.convert(new Date(),DateUtils.yyyyMMdd);
+                    detlDto.setBatch(batch);
+                }
+
                 if (DetlDto.has(detlDtos, detlDto)) {
                     DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
                     assert one != null;
@@ -180,6 +192,76 @@
         }
 
     }
+    @Override
+    @Transactional
+    public void adjustNew(MobileAdjustParam param, Long userId) {
+        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode()));
+        if (Cools.isEmpty(wrkMast)){
+            throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鏃犳湁鏁堝伐浣滄。");
+        }else if (wrkMast.getIoType()!=107){
+            throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鎵�灞炲伐浣滄。闈炵洏鐐逛换鍔�");
+        }else if (wrkMast.getWrkSts()!=17.0){
+            throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鎵�灞炲伐浣滄。宸ヤ綔鐘舵�佷笉鏄嚭搴撳畬鎴�");
+        }else { }
+
+        List<WrkDetl> wrkDetls = param.getWrkDetls();
+        String recordRecordLog="鎵樼洏鐮�"+param.getBarcode()+"鐩樼偣璁板綍锛�";
+        AdjDetl adjDetl=new AdjDetl();
+        adjDetl.setAppeTime(new Date());
+        adjDetl.setAppeUser(userId);
+        adjDetl.setModiTime(new Date());
+        adjDetl.setModiUser(userId);
+        adjDetl.setLocNo(wrkMast.getSourceLocNo());
+        CheckRecord checkRecord=new CheckRecord();
+        checkRecord.setLocNo(wrkMast.getSourceLocNo());
+        checkRecord.setBarcode(param.getBarcode());
+        checkRecord.setCreateTime(new Date());
+        for (WrkDetl wrkDetl:wrkDetls){
+            WrkDetl wrkDetlOld = wrkDetlService.selectOne(new EntityWrapper<WrkDetl>()
+                    .eq("wrk_no", wrkMast.getWrkNo())
+                    .eq("matnr",wrkDetl.getMatnr())
+//                    .eq("batch",Cools.isEmpty(wrkDetl.getBatch())?"":wrkDetl.getBatch())
+            );
+//            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+//                            .eq("loc_no", wrkMast.getLocNo())
+//                            .eq("matnr",wrkDetl.getMatnr())
+//                            .eq("batch",wrkDetl.getBatch())
+//            );
+
+            adjDetl.setMatnr(wrkDetl.getMatnr());
+            adjDetl.setBatch(wrkDetl.getBatch());
+            adjDetl.setAdjQty(wrkDetl.getAnfme());
+
+            checkRecord.setMatnr(wrkDetl.getMatnr());
+            checkRecord.setMaktx(wrkDetl.getMaktx());
+            checkRecord.setSpecs(wrkDetl.getSpecs());
+            checkRecord.setBatch(wrkDetl.getBatch());
+            checkRecord.setConfirmQty(wrkDetl.getAnfme());
+            if (Cools.isEmpty(wrkDetlOld)){
+                wrkDetl.setWrkNo(wrkMast.getWrkNo());
+                wrkDetlService.insert(wrkDetl);
+                recordRecordLog=recordRecordLog+"\n"+"鏂板涓�鏉℃槑缁�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鏁伴噺锛�"+wrkDetl.getAnfme();
+                adjDetl.setOriQty(0.0);
+                adjDetlService.insert(adjDetl);
+                checkRecord.setAnfme(0.0);
+                checkRecordService.insert(checkRecord);
+            }else if (wrkDetlOld.getAnfme()!=wrkDetl.getAnfme()){
+                wrkDetlService.updateAnfme(wrkDetl.getAnfme(),wrkMast.getWrkNo(),wrkDetl.getMatnr(),wrkDetl.getBatch());
+                recordRecordLog=recordRecordLog+"\n"+"鏇存柊涓�鏉℃槑缁�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鍘熸暟閲忥細"+wrkDetlOld.getAnfme()+"\t鏂版暟閲忥細"+wrkDetl.getAnfme();
+                adjDetl.setOriQty(wrkDetlOld.getAnfme());
+                adjDetlService.insert(adjDetl);
+
+                checkRecord.setAnfme(wrkDetlOld.getAnfme());
+                checkRecordService.insert(checkRecord);
+            }else if (wrkDetlOld.getAnfme()==wrkDetl.getAnfme()){
+                recordRecordLog=recordRecordLog+"\n"+"涓�鏉℃槑缁嗕繚鎸佷笉鍙�:"+"\t鍟嗗搧缂栧彿锛�"+wrkDetl.getMatnr()+"\t鎵瑰彿锛�"+wrkDetl.getBatch()+"\t鏁伴噺锛�"+wrkDetlOld.getAnfme();
+                continue;
+            }else {
+                throw new CoolException("鎵樼洏鐮�:"+param.getBarcode()+" 鏈煡寮傚父锛岃鑱旂郴绠$悊鍛�");
+            }
+        }
+        log.info(recordRecordLog);
+    }
 
     @Override
     @Transactional

--
Gitblit v1.9.1