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.*; import com.zy.asrs.entity.param.BalconyWrkMastParam; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; 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.List; /** * Created by Monkey D. Luffy on 2023.09.17 * 徐工汉云..............以下.............上饶江铜.............自动上报月台 */ @Slf4j @Service @Transactional public class RailwayPlatformHandler extends AbstractHandler { @Autowired private WrkMastService wrkMastService; @Autowired private WrkDetlService wrkDetlService; @Autowired private CommonService commonService; @Autowired private StaDescService staDescService; @Autowired private ApiLogService apiLogService; @Autowired private BasDevpService basDevpService; @Autowired private OrderService orderService; @Value("${srXghyErp.url}") private String erpUrl; @Value("${srXghyErp.railwayPlatformpath}") private String railwayPlatformpath; public ReturnT start(int staNo) { try { BasDevp basDevp = basDevpService.selectById(staNo); if (!Cools.isEmpty(basDevp) && !Cools.isEmpty(basDevp.getWrkNo()) && (basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>9999) && basDevp.getWrkNo()!=32222){ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper().eq("wrk_no", basDevp.getWrkNo()).eq("sta_no", staNo).eq("wrk_sts", 55L)); if (!Cools.isEmpty(wrkMast)){ List wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); BalconyWrkMastParam balconyWrkMastParam = new BalconyWrkMastParam(wrkMast, wrkDetls); ReturnT result = null; balconyWrkMastParam.setBalcony(1); result = postMesData(railwayPlatformpath,balconyWrkMastParam); // System.out.println(result); if (result.getCode()==200){ wrkMast.setWrkSts(56L); wrkMastService.updateById(wrkMast); return SUCCESS; }else { log.error("出库信息上传中控失败,月台编号{}",1); } } } }catch (Exception e){ log.error("异常!!!"+e); return FAIL; } 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.getString("result").equals("Y")) { success = true; } else { log.error("请求接口失败!!!url:{};request:{};response:{}"+erpUrl+erpPath, JSON.toJSONString(combParam), response); throw new CoolException("上报erp系统失败"); } } catch (Exception e) { log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } finally { try { // 保存接口日志 apiLogService.save( "上报erp系统", erpUrl + erpPath, null, erpUrl, JSON.toJSONString(combParam), response, success ); } catch (Exception e) { log.error("", e); } } } return SUCCESS; } }