New file |
| | |
| | | package com.zy.asrs.task.handler; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.common.Cools; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.WrkDetl; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.asrs.task.escalationParam.ScaleEscalationParam; |
| | | import com.zy.asrs.task.escalationParam.StaEscalationParam; |
| | | import com.zy.common.utils.HttpHandler; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.protocol.StaProtocol; |
| | | import com.zy.core.thread.SiemensDevpThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by Monkey D. Luffy on 2024.07.11 |
| | | * 亳州煜星..............以下.............亳州煜星.............1楼翻转重量信息上传处理失败 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @Transactional |
| | | public class ScaleEscalationHandler extends AbstractHandler<String> { |
| | | |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | | @Autowired |
| | | private WrkDetlService wrkDetlService; |
| | | @Autowired |
| | | private StaDescService staDescService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | @Autowired |
| | | private BasDevpService basDevpService; |
| | | |
| | | // @Value("${srHangJia.url}") |
| | | private String erpUrl = "10.10.11.100:8580"; |
| | | // @Value("${srHangJia.reportOutPath}") |
| | | private String reportOutPath = "mes/wms-service/boxWeight"; |
| | | |
| | | public ReturnT<String> start(int staNo) { |
| | | try{ |
| | | BasDevp basDevp = basDevpService.selectById(staNo); |
| | | if (Cools.isEmpty(basDevp) || basDevp.getReportSign()==1){ |
| | | return FAIL; |
| | | } |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); |
| | | StaProtocol staProtocol = devpThread.getStation().get(staNo); |
| | | if (staProtocol == null) { |
| | | return FAIL; |
| | | } else { |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | |
| | | if (!Cools.isEmpty(basDevp) && basDevp.getAutoing().equals("Y") && basDevp.getWrkNo()==0){ |
| | | if (staProtocol.isAutoing() && staProtocol.getWorkNo()==0 && staProtocol.isInEnable()){ |
| | | log.error("1楼翻转重量信息上传时,站点状态:"+JSON.toJSONString(staProtocol)); |
| | | ScaleEscalationParam scaleEscalationParam = new ScaleEscalationParam(basDevp.getGrossWt()); |
| | | ReturnT<String> result = postMesData(reportOutPath,scaleEscalationParam); |
| | | if (result.getCode()==200){ |
| | | basDevp.setReportSign(1); |
| | | basDevpService.updateById(basDevp); |
| | | return SUCCESS; |
| | | }else { |
| | | log.error("1楼翻转重量信息上传失败"); |
| | | } |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | log.error("异常!!!"+e); |
| | | return FAIL; |
| | | } |
| | | return FAIL; |
| | | } |
| | | |
| | | private ReturnT<String> postMesData(String erpPath,Object combParam){ |
| | | if(combParam != null){ |
| | | String response = ""; |
| | | boolean success = false; |
| | | try { |
| | | response = new HttpHandler.Builder() |
| | | .setUri(erpUrl) |
| | | .setPath(erpPath) |
| | | .setJson(JSON.toJSONString(combParam)) |
| | | .build() |
| | | .doPost(); |
| | | JSONObject jsonObject = JSON.parseObject(response); |
| | | if (jsonObject.getInteger("Code")==200) { |
| | | success = true; |
| | | } else { |
| | | log.error("1楼翻转重量信息上传请求接口失败!!!url:{};request:{};response:{}"+erpUrl+erpPath, 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( |
| | | "上报MES系统", |
| | | erpUrl + erpPath, |
| | | null, |
| | | erpUrl, |
| | | JSON.toJSONString(combParam), |
| | | response, |
| | | success |
| | | ); |
| | | } catch (Exception e) { log.error("", e); } |
| | | } |
| | | } |
| | | return SUCCESS; |
| | | } |
| | | |
| | | public Integer getStaOther(Integer staNo){ |
| | | switch (staNo){ |
| | | case 118: |
| | | return 119; |
| | | case 119: |
| | | return 118; |
| | | case 120: |
| | | return 121; |
| | | case 121: |
| | | return 120; |
| | | default: |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |