package com.zy.asrs.task.handler; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.exception.CoolException; import com.zy.asrs.entity.BasJarMast; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.utils.HttpHandler; 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.ArrayList; import java.util.List; /** * Created by Monkey D. Luffy on 2024.07.20 * 亳州煜星..............以下.............亳州煜星.............上传开式冷却信号 */ @Slf4j @Service @Transactional public class JarBurialEscalationHandler extends AbstractHandler { private static final Integer jarMaxLoc = 6; @Autowired private ApiLogService apiLogService; @Autowired private BasJarMastService basJarMastService; // @Value("${srHangJia.url}") private String erpUrl = "10.10.11.100:8580"; // @Value("${srHangJia.reportOutPath}") private String reportOutPath = "mes/wms-service/boxWeight"; public ReturnT start(int jarNo,Integer souStatus,Integer endStatus) { try{ List basJarMastList = basJarMastService.getJarMastByJarIdAndStatusList(jarNo, new ArrayList() {{ add(souStatus);//硫化完成 }}); if (basJarMastList.size() != jarMaxLoc){ return FAIL; } else { // ReturnT result = postMesData(reportOutPath,1); // if (result.getCode()==200){ Integer integer = basJarMastService.updateStatus(jarNo, souStatus, endStatus); if (basJarMastList.size()!=integer){ log.error("{}号硫化罐硫化完成后开门完成修改硫化档案状态结果数量不一致!!!查询资料数量={},更新返回数量={}",jarNo,basJarMastList.size(),integer); return FAIL; } return SUCCESS; // }else { // log.error("1楼翻转重量信息上传失败"); // } } }catch (Exception e){ log.error("异常!!!"+e); return FAIL; } } private ReturnT 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; } } }