From 52918de392d2eec0fbbc75439d57875401f59052 Mon Sep 17 00:00:00 2001 From: 18516761980 <tqsxp@163.com> Date: 星期一, 26 九月 2022 17:40:28 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 224 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 220 insertions(+), 4 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 5d8970a..e70dae6 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -1,6 +1,10 @@ package com.zy.asrs.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.mapper.Wrapper; +import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SnowflakeIdWorker; @@ -11,24 +15,29 @@ import com.zy.asrs.entity.result.StockVo; import com.zy.asrs.mapper.TagMapper; import com.zy.asrs.service.*; +import com.zy.asrs.task.AbstractHandler; +import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.MatUtils; +import com.zy.common.constant.MesConstant; import com.zy.common.model.DetlDto; +import com.zy.common.utils.HttpHandler; import com.zy.common.utils.NodeUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.*; /** * Created by vincent on 2022/4/9 */ @Slf4j @Service -public class OpenServiceImpl implements OpenService { +public class OpenServiceImpl extends AbstractHandler<String> implements OpenService { @Autowired private OrderService orderService; @@ -48,6 +57,23 @@ private TagService tagService; @Autowired private TagMapper tagMapper; + @Autowired + private WaitPakinService waitPakinService; + @Autowired + private WrkDetlService wrkDetlService; + @Autowired + private TestMastService testMastService; + @Autowired + private LocMastService locMastService; + + @Autowired + private ApiLogService apiLogService; + + @Value("${mes.url}") + private String mesUrl; + + @Value("${mes.inPath}") + private String inpath; @Override @Transactional @@ -544,4 +570,194 @@ } + /*...........................璧e窞鏂板..............浠ヤ笅.............璧e窞鏂板...........................*/ + @Override + @Transactional + public void combPACK(CombParam param) { + if (Cools.isEmpty(param.getPackNo())) { + throw new CoolException(BaseRes.PARAM); + } + // 鍒ゆ柇鏄惁鏈夌浉鍚孭ack鐮佺殑鏁版嵁 + if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>(). + eq("zpallet", param.getPackNo()).eq("io_status", "N")) > 0) { + throw new CoolException(param.getPackNo() + "鏁版嵁姝e湪杩涜鍏ュ簱"); + } + + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getPackNo())); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getPackNo())); + if (countLoc > 0 || countWrk > 0) { + throw new CoolException("宸ヤ綔妗�/搴撳瓨鏉$爜鏁版嵁宸插瓨鍦�===>>" + param.getPackNo()); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + java.util.Date date1=null; + try { + date1= sdf.parse(param.getRequestTime()); + } catch (ParseException e) { + e.printStackTrace(); + } + java.sql.Date requestTime = new java.sql.Date(date1.getTime()); + + // 鐢熸垚鍏ュ簱閫氱煡妗� +// Mat mat = matService.selectByMatnr(param.getPackName()); +// if (Cools.isEmpty(mat)) { +// throw new CoolException(param.getPackName() + "鍟嗗搧妗f涓嶅瓨鍦�"); +// } + WaitPakin waitPakin = new WaitPakin(); +// waitPakin.sync(mat); + waitPakin.setMatnr(param.getPackName()); + waitPakin.setMaktx(param.getPackName()); + waitPakin.setZpallet(param.getPackNo()); // Pack鐮� + waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵�� + waitPakin.setAnfme(1.0); // 鏁伴噺 + waitPakin.setStatus("Y"); // 鐘舵�� + waitPakin.setManuDate(requestTime.toString()); + waitPakin.setAppeUser(null); + waitPakin.setAppeTime(new Date()); + waitPakin.setModiUser(null); + waitPakin.setModiTime(new Date()); + waitPakin.setDeadWarn(param.getSettingTimes()); + if (!waitPakinService.insert(waitPakin)) { + throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�"); + } + } + + @Override + @Transactional + public void infoReview(Review review) { + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo())); + if (!review.getBarcode().equals(locMast.getBarcode())){ + throw new CoolException("pack鐮佷笉鍚�"); + } + Wrapper wrapper = new EntityWrapper<TestMast>() + .eq("loc_no", review.getLocNo()) + .eq("barcode", review.getBarcode()) + .eq("user_Id", review.getUserId()); + if (null == locMast ||locMast.getPackStatus()!=1) { + throw new CoolException("浜у搧鐘舵�佷笉鏄� 1:寰呮祴璇�"); + } + TestMast testMast = testMastService.selectOne(wrapper); + if(null != testMast){ + if (testMast.getStatus()==1){ + testMast.setStatus(3); + testMast.setModiTime(new Date()); + if (!testMastService.update(testMast,wrapper)){ + throw new CoolException("鏇存柊娴嬭瘯鐘舵�佸け璐�"); + } + locMast.setPackStatus(2); + CombParam combParam = new CombParam(); + combParam.setPackNo(locMast.getBarcode()); + combParam.setLocno(locMast.getLocNo()); + combParam.setPackSts(2); + combParam.setRequestTime(DateUtils.convert(new Date())); + postMesData(inpath,combParam); + if (!locMastService.update(locMast,new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()))){ + throw new CoolException("鏇存柊浜у搧鐘舵�佸け璐�"); + } + }else if (Cools.isEmpty(testMast.getStatus())){ + throw new CoolException("鐘舵�佸紓甯�"); + }else { + throw new CoolException("鐘舵�佷笉鏄� 1:鐢宠涓�"); + } + } else { + throw new CoolException("娴嬭瘯鐢宠澶嶆牳澶辫触"); + } + } + + + @Override + @Transactional + public Boolean testFinish(Review review) { + Boolean success=true; + Wrapper wrapper = new EntityWrapper<TestMast>() + .eq("loc_no", review.getLocNo()) + .eq("barcode", review.getBarcode()) + .eq("user_Id", review.getUserId()); + LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo())); + if (null == locMast ||locMast.getPackStatus()!=2){ + throw new CoolException("浜у搧鐘舵�佷笉鏄� 2:娴嬭瘯涓�"); + }else if (!review.getBarcode().equals(locMast.getBarcode())){ + throw new CoolException("pack鐮佷笉鍚�"); + } + TestMast testMast = testMastService.selectOne(wrapper); + if(null != testMast){ + if (testMast.getStatus()==3){ + Date date = new Date(); + testMast.setStatus(4); + testMast.setModiTime(date); + if (!testMastService.update(testMast,wrapper)){ + throw new CoolException("鏇存敼娴嬭瘯鐘舵�佸け璐�"); + } + locMast.setPackStatus(3); + testMast.setModiTime(date); + CombParam combParam = new CombParam(); + combParam.setPackNo(locMast.getBarcode()); + combParam.setLocno(locMast.getLocNo()); + combParam.setPackSts(3); + combParam.setRequestTime(DateUtils.convert(new Date())); + postMesData(inpath,combParam); + if (!locMastService.update(locMast, new EntityWrapper<LocMast>().eq("loc_no", review.getLocNo()))){ + throw new CoolException("鏇存敼浜у搧鐘舵�佸け璐�"); + } + }else if (Cools.isEmpty(testMast.getStatus())){ + throw new CoolException("鐘舵�佸紓甯�"); + }else { + throw new CoolException("鐘舵�佷笉鏄� 3:娴嬭瘯涓�"); + } + } else { + throw new CoolException("鐘舵�佸紓甯�"); + } + return success; + } + + private ReturnT<String> postMesData(String mesPath, Object combParam){ + if(combParam != null){ + String response = ""; + boolean success = false; + try { + Map<String, Object> map = new HashMap<>(); + map.put("appkey","ea1f0459efc02a79f046f982767939ae"); + response = new HttpHandler.Builder().setHeaders(map) + .setUri(mesUrl) + .setPath(mesPath) + .setJson(JSON.toJSONString(combParam)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + if (jsonObject.getDate("isComplete").equals(true)){ + success = true; + }else if (jsonObject.getDate("isComplete").equals(false)){ + success = false; + }else { + log.error("杩斿洖鍊煎嚭閿�!!!url锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response); + throw new CoolException("杩斿洖鍊煎嚭閿�"); + } + } else { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(combParam), response); + throw new CoolException("涓婃姤mes绯荤粺澶辫触"); + } + } catch (Exception e) { + log.error("fail", e); +// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return FAIL.setMsg(e.getMessage()); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "鎴愬搧搴撳叆搴撲笂鎶�", + MesConstant.URL + MesConstant.PAKIN_URL, + null, + "127.0.0.1", + JSON.toJSONString(combParam), + response, + success + ); + } catch (Exception e) { log.error("", e); } + } + } + return SUCCESS; + } + /*...........................璧e窞鏂板..............浠ヤ笂.............璧e窞鏂板...........................*/ + } -- Gitblit v1.9.1