| | |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.MesOrderReportParam; |
| | | import com.zy.asrs.entity.param.MesPakinReportParam; |
| | | import com.zy.asrs.entity.param.MesPakoutReportParam; |
| | | 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 io.swagger.models.auth.In; |
| | | import lombok.Synchronized; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | @Slf4j |
| | | @Service |
| | | public class AgvWrkMastHandler extends AbstractHandler<String> { |
| | | |
| | | //入库类型数组 |
| | | private static final int[] IN_TYPE_ARRAY = new int[1]; |
| | | //出库类型数组 |
| | | private static final int[] OUT_TYPE_ARRAY = new int[1]; |
| | | //移库类型数组 |
| | | private static final int[] MOVE_TYPE_ARRAY = new int[1]; |
| | | |
| | | @Value("${agvBasDev.maxWorkNum}") |
| | | private int maxWrokNum; |
| | |
| | | return wrkMast; |
| | | } |
| | | |
| | | private MesOrderReportParam generateMesParam(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){ |
| | | |
| | | private Object getReportParamByIoType(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){ |
| | | if(Cools.isEmpty(agvWrkDetls)){ |
| | | return null; |
| | | } |
| | | //区分不同任务类型的上报方式 |
| | | |
| | | if(Arrays.asList(IN_TYPE_ARRAY).contains(agvWrkMast.getIoType())){ |
| | | |
| | | } |
| | | if(Arrays.asList(OUT_TYPE_ARRAY).contains(agvWrkMast.getIoType())){ |
| | | |
| | | } |
| | | if(Arrays.asList(MOVE_TYPE_ARRAY).contains(agvWrkMast.getIoType())){ |
| | | return generateMesParam(agvWrkMast,agvWrkDetls); |
| | | } |
| | | |
| | | return null; |
| | | } |
| | | |
| | | private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){ |
| | | |
| | | for (AgvWrkDetl agvWrkDetl : agvWrkDetls){ |
| | | MesPakinReportParam mesPakinReportParam = new MesPakinReportParam(); |
| | | mesPakinReportParam.setInboundOrderCode(agvWrkDetl.getOrderNo()); |
| | | mesPakinReportParam.setBizType("0"); |
| | | mesPakinReportParam.setInventoryAttr(new MesPakinReportParam.InventoryAttr(agvWrkDetl.getThreeCode(),agvWrkDetl.getMatnr(),agvWrkMast.getLocNo())); |
| | | mesPakinReportParam.setNoQrCodeExecAmount(new MesPakinReportParam.NoQrCodeExecAmount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null)); |
| | | |
| | | doHttpRequest(mesPakinReportParam,getMesTokenInfo(),"上报mes单据信息",url,orderReportPath,null,"127.0.0.1"); |
| | | } |
| | | |
| | | } |
| | | |
| | | private void reportMesPakoutOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){ |
| | | for (AgvWrkDetl agvWrkDetl : agvWrkDetls){ |
| | | MesPakoutReportParam mesPakoutReportParam = new MesPakoutReportParam(); |
| | | mesPakoutReportParam.setStorageCode(agvWrkMast.getLocNo()); |
| | | AgvLocMast agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo()); |
| | | mesPakoutReportParam.setWareHouseCode(agvLocMast.getPltType().toString()); |
| | | mesPakoutReportParam.setMaterialCode(agvWrkDetl.getMatnr()); |
| | | mesPakoutReportParam.setBatchNos(Arrays.asList(agvWrkDetl.getBatch())); |
| | | mesPakoutReportParam.setAmount(new MesPakoutReportParam.Amount(agvWrkDetl.getAnfme(),agvWrkDetl.getUnit(),null)); |
| | | |
| | | doHttpRequest(mesPakoutReportParam,getMesTokenInfo(),"上报mes单据信息",url,orderReportPath,null,"127.0.0.1"); |
| | | |
| | | } |
| | | } |
| | | |
| | | private MesOrderReportParam generateMesParam(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls){ |
| | | |
| | | if(agvWrkMast.getIoType() == 53){ |
| | | String locNo = agvWrkMast.getLocNo(); |