From ccc693f973698fc6b0d333ccab8068114c53921b Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期五, 28 十月 2022 16:44:36 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/WrkMastController.java | 198 +++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 183 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/WrkMastController.java b/src/main/java/com/zy/asrs/controller/WrkMastController.java
index 9c9d979..c3cc1ee 100644
--- a/src/main/java/com/zy/asrs/controller/WrkMastController.java
+++ b/src/main/java/com/zy/asrs/controller/WrkMastController.java
@@ -5,15 +5,17 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
-import com.zy.asrs.entity.WrkMast;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.common.web.BaseController;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
+import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.dto.WrkDetlWithCheck;
+import com.zy.asrs.service.*;
+import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@@ -23,6 +25,16 @@
@Autowired
private WrkMastService wrkMastService;
+ @Autowired
+ private WrkDetlService wrkDetlService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private LocDetlService locDetlService;
+ @Autowired
+ private MatService matService;
+ @Autowired
+ private CheckRecordService checkRecordService;
@RequestMapping(value = "/wrkMast/{id}/auth")
@ManagerAuth
@@ -36,10 +48,12 @@
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam(required = false)String orderByField,
@RequestParam(required = false)String orderByType,
+ @RequestParam(required = false)String condition,
@RequestParam Map<String, Object> param){
excludeTrash(param);
EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
convert(param, wrapper);
+ allLike(WrkMast.class, param.keySet(), wrapper, condition);
if (!Cools.isEmpty(orderByField)){
if (orderByField.endsWith("$")){
orderByField = orderByField.substring(0, orderByField.length()-1);
@@ -51,20 +65,21 @@
return R.ok(wrkMastService.selectPage(new Page<>(curr, limit), wrapper));
}
- private void convert(Map<String, Object> map, EntityWrapper wrapper){
+ private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
- if (entry.getKey().endsWith(">")) {
- wrapper.ge(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
- } else if (entry.getKey().endsWith("<")) {
- wrapper.le(Cools.deleteChar(entry.getKey()), DateUtils.convert(String.valueOf(entry.getValue())));
+ String val = String.valueOf(entry.getValue());
+ if (val.contains(RANGE_TIME_LINK)){
+ String[] dates = val.split(RANGE_TIME_LINK);
+ wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+ wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
} else {
- wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+ wrapper.eq(entry.getKey(), val);
}
}
}
@RequestMapping(value = "/wrkMast/add/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗f坊鍔�")
public R add(WrkMast wrkMast) {
wrkMast.setModiUser(getUserId());
wrkMast.setModiTime(new Date());
@@ -75,7 +90,7 @@
}
@RequestMapping(value = "/wrkMast/update/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗d慨鏀�")
public R update(WrkMast wrkMast){
if (Cools.isEmpty(wrkMast) || null==wrkMast.getWrkNo()){
return R.error();
@@ -87,7 +102,7 @@
}
@RequestMapping(value = "/wrkMast/delete/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗e垹闄�")
public R delete(@RequestParam String param){
List<WrkMast> list = JSONArray.parseArray(param, WrkMast.class);
if (Cools.isEmpty(list)){
@@ -100,7 +115,7 @@
}
@RequestMapping(value = "/wrkMast/export/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗e鍑�")
public R export(@RequestBody JSONObject param){
List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
EntityWrapper<WrkMast> wrapper = new EntityWrapper<>();
@@ -137,8 +152,11 @@
}
@RequestMapping(value = "/wrkMast/add/pri/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗e鍔犱紭鍏堢骇")
public R addPri(@RequestBody List<WrkMast> list) {
+ if (list.isEmpty()) {
+ return R.error("璇疯嚦灏戦�夋嫨涓�琛屾暟鎹�");
+ }
for (WrkMast entity : list){
entity.setIoPri(entity.getIoPri() + 1);
}
@@ -147,8 +165,11 @@
}
@RequestMapping(value = "/wrkMast/red/pri/auth")
- @ManagerAuth
+ @ManagerAuth(memo = "宸ヤ綔妗i檷浣庝紭鍏堢骇")
public R redPri(@RequestBody List<WrkMast> list) {
+ if (list.isEmpty()) {
+ return R.error("璇疯嚦灏戦�夋嫨涓�琛屾暟鎹�");
+ }
for (WrkMast entity : list){
entity.setIoPri(entity.getIoPri() - 1);
}
@@ -157,4 +178,151 @@
}
+ /********************************杈归攱鏂板**************************/
+ @GetMapping(value = "/wrkMast/checkDetl")
+ public R pickDetl(String barcode) {
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ if (Cools.isEmpty(wrkMast)) {
+ return R.error("鏃犳硶閫氳繃鎵樼洏鐮佹壘鍒板搴斿伐浣滄。");
+ }
+ if (wrkMast.getIoType() != 107) {
+ return R.error("宸ヤ綔妗i潪鎹℃枡浠诲姟");
+ }
+ if (wrkMast.getWrkSts() != 17){
+ return R.error("鐩樼偣浠诲姟姝e湪鎵ц涓�,璇风瓑寰呰澶囪繍琛岀粨鏉熷悗杩涜鎿嶄綔");
+ }
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+
+ return R.ok(wrkDetls);
+ }
+
+ /**
+ * 鏍规嵁鐩樼偣淇敼搴撳瓨
+ * @return
+ */
+ @Transactional
+ @PostMapping("/wrkMast/storeCheck")
+ @ManagerAuth(memo = "鏍规嵁鐩樼偣淇敼搴撳瓨")
+ public R storeCheck(@RequestBody List<WrkDetlWithCheck> wrkDetls){
+ Date now = new Date();
+ Integer confirmIsZero = 0;
+ if (wrkDetls == null || wrkDetls.size() <= 0){
+ return R.error("璇蜂紶鍏ユ暟鎹�");
+ }
+ if (Cools.isEmpty(wrkDetls.get(0).getBarcode())) {
+
+ return R.error("鎵樼洏鐮乕barcode]涓虹┖");
+ }
+ WrkMast wrkMast = wrkMastService.selectByBarcode(wrkDetls.get(0).getBarcode());
+
+ for (WrkDetlWithCheck wrkDetl : wrkDetls) {
+ if (Cools.isEmpty(wrkDetl.getBarcode())) {
+ return R.error("鎵樼洏鐮乕barcode]涓虹┖");
+ }
+ if (Cools.isEmpty(wrkDetl.getMatnr())) {
+ return R.error("鐗╂枡缂栫爜[matnr]涓虹┖");
+ }
+ Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ return R.error("鐗╂枡缂栫爜[matnr]鍦ㄧ墿鏂欐。妗堟壘涓嶅埌");
+
+ }
+ if (Cools.isEmpty(wrkDetl.getAnfme())) {
+ return R.error("鐩樼偣鍓嶆暟閲廩anfme]涓虹┖");
+ }
+ if (wrkDetl.getConfirmQty() == null) {
+ return R.error("鐩樼偣纭閲廩confirm]涓虹┖");
+ }
+ if (wrkDetl.getConfirmQty() == 0){
+ confirmIsZero++;
+ }
+
+ }
+ /**
+ * 濡傛灉鏁翠釜list閲岀殑confirmQty鏁伴噺鍏ㄦ槸0, 琛ㄧず鏁翠釜搴撲綅鏃犱换浣曞簱瀛�,鍒犲伐浣滄。, 搴撲綅鏀逛负O
+ */
+ if (confirmIsZero == wrkDetls.size()){
+ locDetlService.delete(new EntityWrapper<LocDetl>()
+ .eq("loc_no",wrkMast.getSourceLocNo()));
+ locMastService.updateLocSts(wrkMast.getSourceLocNo(),"O");
+ wrkMastService.delete(new EntityWrapper<WrkMast>()
+ .eq("wrk_no",wrkMast.getWrkNo()));
+ wrkDetlService.delete(new EntityWrapper<WrkDetl>()
+ .eq("wrk_no",wrkMast.getWrkNo()));
+ return R.ok("搴撳瓨娓呯悊鎴愬姛");
+ }else {
+ locMastService.updateLocSts(wrkMast.getSourceLocNo(),"F");
+ locDetlService.delete(new EntityWrapper<LocDetl>()
+ .eq("loc_no",wrkMast.getSourceLocNo()));
+ for (WrkDetlWithCheck wrkDetl : wrkDetls) {
+ LocDetl locDetl = new LocDetl();
+ Mat mat = matService.selectByMatnr(wrkDetl.getMatnr());
+ locDetl.sync(mat);
+ locDetl.setZpallet(wrkMast.getBarcode());
+ locDetl.setAnfme(wrkDetl.getConfirmQty());
+ locDetl.setBatch(wrkDetl.getBatch());
+ locDetl.setAppeTime(now);
+ locDetl.setModiTime(now);
+ locDetl.setAppeUser(getUserId());
+ locDetl.setModiUser(getUserId());
+ locDetl.setLocNo(wrkMast.getSourceLocNo());
+ locDetlService.insert(locDetl);
+
+ CheckRecord checkRecord = new CheckRecord();
+ checkRecord.sync(mat);
+ checkRecord.setAnfme(wrkDetl.getAnfme());
+ checkRecord.setBarcode(wrkMast.getBarcode());
+ checkRecord.setLocNo(wrkMast.getSourceLocNo());
+ checkRecord.setCreateTime(now);
+ checkRecord.setBatch(wrkDetl.getBatch());
+ checkRecord.setConfirmQty(locDetl.getAnfme());
+ checkRecordService.insert(checkRecord);
+
+ }
+ }
+
+ return R.ok("搴撳瓨鏇存柊宸叉垚鍔�");
+ }
+
+ @GetMapping("/wrkMast/pickToFill")
+ public R pickToFill(String barcode){
+ Date now = new Date();
+ if (Cools.isEmpty(barcode)) {
+ return R.error("鎵樼洏鐮佷负绌�,璇锋鏌�");
+ }
+ WrkMast wrkMast = wrkMastService.selectByBarcode(barcode);
+ if (Cools.isEmpty(wrkMast)) {
+ return R.error("鏃犳硶閫氳繃鎵樼洏鐮佹壘鍒拌宸ヤ綔妗�,璇锋鏌ユ墭鐩樼爜鏄惁姝g‘");
+ }
+ if (wrkMast.getIoType() != 103) {
+ return R.error("浠呮湁鎹℃枡鍑哄簱鍙互浣跨敤璇ュ姛鑳�");
+ }
+ if (wrkMast.getWrkSts() != 17) {
+ return R.error("鎹℃枡鍑哄簱鏈畬鎴�,璇风瓑寰呰澶囪繍琛屽畬鎴�");
+ }
+ wrkMast.setIoType(101);
+ wrkMast.setMemo("鎹℃枡杞叏鏉垮伐浣滄。");
+ wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>()
+ .eq("wrk_no",wrkMast.getWrkNo()));
+ wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo());
+ List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo());
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setWrkNo(wrkMast.getWrkNo());
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setZpallet(wrkDetl.getBarcode());
+ wrkDetl.setBarcode(wrkMast.getBarcode());
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setAppeUser(1L);
+ wrkDetl.setModiUser(1L);
+ wrkDetlService.insert(wrkDetl);
+
+ }
+ locMastService.updateLocSts(wrkMast.getSourceLocNo(),"R");
+ return R.ok();
+ }
+
+
}
--
Gitblit v1.9.1