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 | 190 ++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 176 insertions(+), 14 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 81b1045..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,9 @@ 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; @@ -12,26 +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.text.ParseException; import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +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; @@ -55,6 +61,19 @@ 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 @@ -551,6 +570,7 @@ } + /*...........................璧e窞鏂板..............浠ヤ笅.............璧e窞鏂板...........................*/ @Override @Transactional public void combPACK(CombParam param) { @@ -570,32 +590,174 @@ } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - java.util.Date date=null; + java.util.Date date1=null; try { - date= sdf.parse(param.getRequestTime()); + date1= sdf.parse(param.getRequestTime()); } catch (ParseException e) { e.printStackTrace(); } - java.sql.Date requestTime = new java.sql.Date(date.getTime()); + 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涓嶅瓨鍦�"); - } +// Mat mat = matService.selectByMatnr(param.getPackName()); +// if (Cools.isEmpty(mat)) { +// throw new CoolException(param.getPackName() + "鍟嗗搧妗f涓嶅瓨鍦�"); +// } WaitPakin waitPakin = new WaitPakin(); - waitPakin.sync(mat); +// 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(requestTime); + waitPakin.setAppeTime(new Date()); waitPakin.setModiUser(null); - waitPakin.setModiTime(requestTime); + 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