From 3521070a2fda24b1d534e21018ce8017e01f595a Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期一, 29 七月 2024 10:05:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 231 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 184 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index 1a69600..f249d38 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.R; @@ -11,6 +12,8 @@ import com.zy.asrs.entity.param.*; import com.zy.asrs.entity.result.OpenOrderCompeteResult; import com.zy.asrs.entity.result.StockVo; +import com.zy.asrs.entity.result.ZphjcdgzVo; +import com.zy.asrs.entity.result.ZphjcdwcVo; import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; @@ -27,7 +30,9 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.net.CookieStore; import java.util.*; +import java.util.stream.Collectors; /** * Created by vincent on 2022/4/9 @@ -69,6 +74,8 @@ @Autowired private WrkDetlSingleService wrkDetlSingleService; @Autowired + private WrkMastLogService wrkMastLogService; + @Autowired private WrkMastStaService wrkMastStaService; @Autowired private WrkMastStaLogService wrkMastStaLogService; @@ -76,6 +83,8 @@ private StaDescService staDescService; @Autowired private LocMastService locMastService; + @Autowired + private ApiLogService apiLogService; @Override @Transactional @@ -999,11 +1008,15 @@ // 鏍规嵁婧愮珯鐐瑰鎵惧簱浣� // StartupDto dto = commonService.getLocNo(1, 1, param.getPalletizingNo(), null,null,null, locTypeDto); - StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto); + StartupDto dto = commonService.getLocNo(1, param.getPalletizingNo(), locTypeDto,0); // 杩斿洖GWCS鐩爣淇℃伅 pushStaNoToGwcs(param.getPalletizingNo(),dto.getStaNo(),dto.getWorkNo()); + int iotype = 1; + if (Cools.isEmpty(param.getMatList())) { + iotype = 10; + } int workNo = dto.getWorkNo(); Date now = new Date(); // 鐢熸垚宸ヤ綔妗� @@ -1011,7 +1024,7 @@ wrkMast.setWrkNo(workNo); wrkMast.setIoTime(new Date()); wrkMast.setWrkSts(1L); // 宸ヤ綔鐘舵�侊細璁惧涓婅蛋 - wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 + wrkMast.setIoType(iotype); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱 wrkMast.setIoPri(13D); // 浼樺厛绾� wrkMast.setCrnNo(dto.getCrnNo()); wrkMast.setSourceStaNo(param.getPalletizingNo()); @@ -1032,46 +1045,49 @@ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); } - List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList(); - for (GwmsGenerateInventoryDto.MatList obj :matList) { - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.setWrkNo(wrkMast.getWrkNo()); - obj.getRolls().forEach(roll -> { - Mat mat = matService.selectByMatnr(roll.getSpecs()); - if (mat == null) { - mat = new Mat(); - mat.setTagId(6L); - mat.setMatnr(roll.getSpecs()); - mat.setMaktx(roll.getSpecs()); - mat.setSpecs(roll.getSpecs()); - mat.setStatus(1); - mat.setCreateTime(now); - mat.setUpdateTime(now); - if (!matService.insert(mat)) { - throw new CoolException("鐗╂枡瀵煎叆澶辫触锛�"); - } - } + if (!Cools.isEmpty(param.getMatList())) { + List<GwmsGenerateInventoryDto.MatList> matList = param.getMatList(); + for (GwmsGenerateInventoryDto.MatList obj :matList) { + WrkDetl wrkDetl = new WrkDetl(); wrkDetl.setWrkNo(wrkMast.getWrkNo()); - wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸 - wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸 - wrkDetl.setBatch(roll.getBoxNo()); // 绠卞彿 - wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿 - wrkDetl.setBrand(""); // 鏈ㄧ绫诲瀷 - wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鍚� - wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃� - wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲� - wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸 - wrkDetl.setPrice(roll.getLength()); - wrkDetl.setSpecs(String.valueOf(roll.getSplices())); - wrkDetl.setAnfme(1.0); - wrkDetl.setIoTime(now); - wrkDetl.setAppeTime(now); - wrkDetl.setModiTime(now); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); - } - }); + obj.getRolls().forEach(roll -> { +// Mat mat = matService.selectByMatnr(roll.getSpecs()); +// if (mat == null) { +// mat = new Mat(); +// mat.setTagId(6L); +// mat.setMatnr(roll.getSpecs()); +// mat.setMaktx(roll.getSpecs()); +// mat.setSpecs(roll.getSpecs()); +// mat.setStatus(1); +// mat.setCreateTime(now); +// mat.setUpdateTime(now); +// if (!matService.insert(mat)) { +// throw new CoolException("鐗╂枡瀵煎叆澶辫触锛�"); +// } +// } + wrkDetl.setWrkNo(wrkMast.getWrkNo()); + wrkDetl.setMatnr(roll.getSpecs()); // 瑙勬牸 + wrkDetl.setMaktx(roll.getSpecs()); //瑙勬牸 + wrkDetl.setBatch(roll.getBoxNo()); // 绠卞彿 + wrkDetl.setModel(roll.getRollNo()); // 鍗峰彿 + wrkDetl.setBrand(obj.getPackageGroupNo()); // 鍖呰缁勫彿 + wrkDetl.setZpallet(param.getBarcode()); // 鎵樼洏鍚� + wrkDetl.setOrigin(obj.getBoxPos()); // 鏈ㄧ鍦ㄦ墭鐩樹綅缃� + wrkDetl.setWeight(roll.getNetWeight()); // 鍑�閲� + wrkDetl.setVolume(roll.getGrossWeight()); // 姣涢噸 + wrkDetl.setPrice(roll.getLength()); + wrkDetl.setSpecs(String.valueOf(roll.getSplices())); + wrkDetl.setAnfme(1.0); + wrkDetl.setIoTime(now); + wrkDetl.setAppeTime(now); + wrkDetl.setModiTime(now); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触"); + } + }); + } } + // 鏇存柊鐩爣搴撲綅鐘舵�� LocMast locMast = locMastService.selectById(dto.getLocNo()); @@ -1295,10 +1311,131 @@ return "鍑哄簱鎴愬姛"; } - @Autowired - private ApiLogService apiLogService; + @Override + @Transactional + public R zphjDw(ZphjckdwParam param) { + // 鏍规嵁浠诲姟鍙峰緱鍒板伐浣滀富妗� + if (Cools.isEmpty(param.getWorkNo())) { + throw new CoolException("宸ヤ綔鍙蜂笉鑳戒负绌猴紒"); + } + WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo()); + if (wrkMast == null) { + throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�"); + } + if (wrkMast.getWrkSts() != 2 || wrkMast.getIoType() != 103) { + throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�2/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�"); + } + // 鏇存柊宸ヤ綔妗g姸鎬�2.璁惧涓婅蛋->42.绛夊緟鐮佸灈 + wrkMast.setWrkSts(42L); + wrkMastService.updateById(wrkMast); - private void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo) { + // 鏌ヨ瑕佹媶鐨勪綅缃紝鍙湁涓�涓� + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + List<String> collect = wrkDetls.stream().map(WrkDetl::getOrigin).distinct().collect(Collectors.toList()); + String position = collect.get(0); + + // 杩斿洖鎷嗗灈瑙勫垯 + ZphjcdgzVo zphjcdgzVo = new ZphjcdgzVo(); + zphjcdgzVo.setWorkNo(wrkMast.getWrkNo()); + zphjcdgzVo.setPosition(position); + + return R.ok(zphjcdgzVo); + } + + @Override + @Transactional + public R zphjCdwc(ZphjcdwcParam param) { + + if (Cools.isEmpty(param.getWorkNo())) { + throw new CoolException("宸ヤ綔鍙蜂笉鑳戒负绌猴紒"); + } + WrkMast wrkMast = wrkMastService.selectById(param.getWorkNo()); + if (wrkMast == null) { + throw new CoolException("宸ヤ綔妗d笉瀛樺湪锛�"); + } + if (wrkMast.getWrkSts() != 42 || wrkMast.getIoType() != 103) { + throw new CoolException("宸ヤ綔妗e綋鍓嶇姸鎬佷笉涓�42/鍑哄簱绫诲瀷涓嶄负鎷f枡锛�"); + } + + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (!wrkMastLogService.save(wrkMast.getWrkNo())) { + throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + } + // 鑾峰彇鐩爣绔� + Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() + .eq("type_no", wrkMast.getIoType() - 50) + .eq("stn_no", wrkMast.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯 + .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 + StaDesc staDesc = staDescService.selectOne(wrapper); + if (Cools.isEmpty(staDesc)) { + throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�"); + } + // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�) + Integer staNo = staDesc.getCrnStn(); + // 鏇存柊宸ヤ綔绫诲瀷103->53 + wrkMast.setIoType(53); + wrkMast.setWrkSts(52L); // 宸ヤ綔鐘舵��42->52.璁惧涓婅蛋锛堟媶鍨涘畬鎴愶級 + // 鐩爣绔欑偣婧愮珯鐐硅浆鎹� + wrkMast.setSourceStaNo(wrkMast.getStaNo()); + wrkMast.setStaNo(staNo); + // 鐩爣搴撲綅=婧愬簱浣� + wrkMast.setLocNo(wrkMast.getSourceLocNo()); + // 婧愬簱浣嶆竻闄� + wrkMast.setSourceLocNo(""); + wrkMast.setModiTime(new Date()); + + int outStaNo = 0; // 鍑哄簱婧愮珯鐐� + if (staNo == 3044 || staNo == 3045) { + outStaNo = 3046; + } else if(staNo == 3040 || staNo == 3041) { + outStaNo = 3042; + } + if (outStaNo == 0) { + throw new CoolException("鍑哄簱婧愮珯鐐硅浆鎹㈡湁璇細" + staNo); + } + + // 鑾峰彇鍑哄簱鐗╂枡 + List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo())); + int descFlag = getType(wrkDetls); + + // get0鍘熸墭鐩樺洖娴佷俊鎭紝get1鎷嗗灈鍑烘潵鐗╂枡鍑哄簱淇℃伅 + List<ZphjcdwcVo> zphjcdwcVos = new ArrayList<>(); + ZphjcdwcVo zphjcdwcVo1 = new ZphjcdwcVo(); + zphjcdwcVo1.setWorkNo(wrkMast.getWrkNo()); + zphjcdwcVo1.setStaNo(wrkMast.getStaNo()); + zphjcdwcVo1.setSourceStaNo(wrkMast.getSourceStaNo()); + zphjcdwcVos.add(zphjcdwcVo1); + + ZphjcdwcVo zphjcdwcVo2 = new ZphjcdwcVo(); + zphjcdwcVo2.setSourceStaNo(outStaNo); + zphjcdwcVo2.setStaNo(3106); // 3106/3077 + zphjcdwcVo2.setDescFlag(descFlag); + zphjcdwcVos.add(zphjcdwcVo2); + + // 鏇存柊宸ヤ綔涓绘。 + wrkMastService.updateById(wrkMast); + // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� + LocMast locMast = locMastService.selectById(wrkMast.getLocNo()); + locMast.setLocSts("Q"); + locMast.setModiTime(new Date()); + if (!locMastService.updateById(locMast)) { + throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�"); + } + + // 涓嬪彂鍥炲簱鐨勭洰鏍囩珯鐐瑰拰鎷嗗灈鐨勫嚭搴撶洰鏍囩珯鐐圭粰gwcs + return R.ok(zphjcdwcVos); + } + + /** + * 鏍规嵁鍑哄簱鐗╂枡鏄庣粏鍒ゆ柇鏄惁鍘昏创鏍�(鍗曞嵎璐存爣锛屽鍗蜂笉璐存爣) + * @param wrkDetls 鐗╂枡鏄庣粏 + * @return 0.澶氬嵎涓嶈创鏍囪矾寰勶紝1.鍗曞嵎璐存爣璺緞 + */ + private int getType(List<WrkDetl> wrkDetls) { + return wrkDetls.size() > 1 ? 0 : 1; // 涓�鏉¤褰曞氨鏄竴鍗� + } + + public void pushStaNoToGwcs(Integer palletizingNo, Integer staNo, Integer workNo) { boolean success = false; // 鑾峰彇璇锋眰澶� Map<String, Object> headers = getHeaders(); @@ -1312,8 +1449,8 @@ String response = ""; try { response = new HttpHandler.Builder() - .setUri(MesConstant.URL) - .setPath(MesConstant.PAKIN_URL) + .setUri(MesConstant.GWCS_IP_PORT) + .setPath(MesConstant.GWCS_FPKW_URL) .setHeaders(headers) .setJson(body) .build() @@ -1337,10 +1474,10 @@ // 淇濆瓨鎺ュ彛鏃ュ織 apiLogService.save( "鍏ュ簱", - MesConstant.URL + MesConstant.PAKIN_URL, + MesConstant.GWCS_IP_PORT + MesConstant.GWCS_FPKW_URL, null, "127.0.0.1", - jsonObject.toJSONString(), + body, response, success ); -- Gitblit v1.9.1