| 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; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |