src/main/java/com/zy/asrs/service/ReportToThirdService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/constant/MesConstant.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/entity/NccSaleDbckmxb.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/mapper/NccSaleDbckmxbMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/task/PlanOrderTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/nc/NccSaleDbckmxbMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/ReportToThirdService.java
New file @@ -0,0 +1,12 @@ package com.zy.asrs.service; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import java.util.List; public interface ReportToThirdService { void report(Order order, List<OrderDetl> orderDetls, DocType docType); } src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
New file @@ -0,0 +1,103 @@ package com.zy.asrs.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.ReportToThirdService; 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 java.io.IOException; import java.util.List; @Service @Slf4j public class ReportToThirdServiceImpl implements ReportToThirdService { @Autowired private ApiLogService apiLogService; @Autowired private OrderService orderService; @Value("${NYNC.ip}") private String nyncIp; @Value("${NYNC.port}") private String port; @Value("${NYNC.saveRefDelivery}") private String saveRefDelivery; @Override public void report(Order order, List<OrderDetl> orderDetls, DocType docType) { Boolean http = false; switch (order.getDocType().toString()) { case "销售发货": http = http("", docType.getDocName(), nyncIp + port, saveRefDelivery); if (Cools.isEmpty(order.getShipCode()) || order.getShipCode().equalsIgnoreCase("1")) { } break; case "产成品入库": break; case "辅料采购入库": break; case "辅料及成品转库": break; case "自动包装入库": break; case "内部调拨": break; default: break; } if (http) { // 修改订单状态 4.完成 ===>> 6.已上报 if (!orderService.updateSettle(order.getId(), 6L, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } } private Boolean http(Object data, String docType, String url, String path) { String response = ""; boolean success = false; try { response = new HttpHandler.Builder() .setUri(url) .setPath(path) .setJson(JSON.toJSONString(data)) .build() .doPost(); JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(1)) { return true; } log.error("请求接口失败!!!url:{};request:{};response:{}", url + path, JSON.toJSONString(data), response); } catch (IOException e) { e.printStackTrace(); } finally { apiLogService.save( docType, url + path, null, "127.0.0.1", JSON.toJSONString(data), response, success ); } return false; } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -3,22 +3,15 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; import com.zy.asrs.service.ApiLogService; import com.zy.asrs.service.DocTypeService; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.asrs.utils.OrderInAndOutUtil; import com.zy.common.constant.MesConstant; import com.zy.common.model.DetlDto; import com.zy.common.model.MesPakinParam; import com.zy.common.model.MesPakoutParam; import com.zy.common.utils.HttpHandler; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -26,6 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -42,10 +36,11 @@ private OrderService orderService; @Autowired private OrderDetlService orderDetlService; @Autowired private ApiLogService apiLogService; @Autowired private DocTypeService docTypeService; @Autowired private ReportToThirdService reportToThirdService; @Transactional public ReturnT<String> startOrderIssuedOnceMore(Order order) { @@ -165,127 +160,17 @@ OrderInAndOutUtil.updateOrder(order.getPakinPakoutStatus$(),order.getId(),6L,null); return SUCCESS; } @Transactional public ReturnT<String> startOrderReport(Order order) { DocType docType = docTypeService.selectById(order.getDocType()); if (null == docType) { return SUCCESS; } long settle = 6L; List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); // 入库完成上报 if (docType.getPakin() == 1) { MesPakinParam pakinParam = new MesPakinParam(); pakinParam.setPakinTime(DateUtils.convert(order.getUpdateTime())); pakinParam.setLgortFrom("5008"); pakinParam.setLgortTo("5006"); for (OrderDetl orderDetl : orderDetls) { if (!orderDetl.getQty().equals(orderDetl.getAnfme())){ settle = 99L;//二次生成单据 } String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); pakinParam.getList().add(new MesPakinParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); } String response = ""; boolean success = false; try { // response = new HttpHandler.Builder() // .setUri(MesConstant.URL) // .setPath(MesConstant.PAKIN_URL) // .setJson(JSON.toJSONString(pakinParam)) // .build() // .doPost(); // JSONObject jsonObject = JSON.parseObject(response); // if (jsonObject.getInteger("code").equals(200)) { if (true) { success = true; // 修改订单状态 4.完成 ===>> 6.已上报 if (!orderService.updateSettle(order.getId(), settle, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKIN_URL, JSON.toJSONString(pakinParam), response); throw new CoolException("上报mes系统失败"); } } catch (Exception e) { log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } finally { try { // 保存接口日志 apiLogService.save( "成品库入库上报", MesConstant.URL + MesConstant.PAKIN_URL, null, "127.0.0.1", JSON.toJSONString(pakinParam), response, success ); } catch (Exception e) { log.error("", e); } } } // 出库完成上报 if (docType.getPakout() == 1) { MesPakoutParam pakoutParam = new MesPakoutParam(); pakoutParam.setTag(!order.getDocType$().equalsIgnoreCase("手动出库单")); pakoutParam.setPakoutTime(DateUtils.convert(order.getUpdateTime())); pakoutParam.setLgortFrom("5006"); pakoutParam.setLgortTo("1111"); if (!pakoutParam.isTag()) { pakoutParam.setKunnr("C1000"); } pakoutParam.setOrderNo(order.getOrderNo()); for (OrderDetl orderDetl : orderDetls) { if (!orderDetl.getQty().equals(orderDetl.getAnfme())){ settle = 99L;//二次生成单据 } String serial = Cools.isEmpty(orderDetl.getBatch()) ? "" : orderDetl.getBatch(); pakoutParam.getList().add(new MesPakoutParam.Detl(orderDetl.getMatnr() + (Cools.isEmpty(serial) ? "" : "-" + serial), orderDetl.getAnfme())); } String response = ""; boolean success = false; try { // response = new HttpHandler.Builder() // .setUri(MesConstant.URL) // .setPath(MesConstant.PAKOUT_URL) // .setJson(JSON.toJSONString(pakoutParam)) // .build() // .doPost(); // JSONObject jsonObject = JSON.parseObject(response); // if (jsonObject.getInteger("code").equals(200)) { if (true) { success = true; // 修改订单状态 4.完成 ===>> 6.已上报 if (!orderService.updateSettle(order.getId(), settle, null)) { throw new CoolException("服务器内部错误,请联系管理员"); } } else { log.error("请求接口失败!!!url:{};request:{};response:{}", MesConstant.URL+MesConstant.PAKOUT_URL, JSON.toJSONString(pakoutParam), response); throw new CoolException("上报mes系统失败"); } } catch (Exception e) { log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } finally { try { // 保存接口日志 apiLogService.save( "成品库出库上报", MesConstant.URL + MesConstant.PAKOUT_URL, null, "127.0.0.1", JSON.toJSONString(pakoutParam), response, success ); } catch (Exception e) { log.error("", e); } } } reportToThirdService.report(order, orderDetls, docType); return SUCCESS; } } src/main/java/com/zy/common/constant/MesConstant.java
File was deleted src/main/java/com/zy/nc/entity/NccSaleDbckmxb.java
New file @@ -0,0 +1,108 @@ package com.zy.nc.entity; import com.baomidou.mybatisplus.annotations.TableId; import com.baomidou.mybatisplus.annotations.TableName; import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; @Data @TableName("ncc_sale_dbckmxb") public class NccSaleDbckmxb implements Serializable { @TableId private String cgeneralhid; private String vbillcode; private String billtypename; private String dbilldate; private String cgeneralbid; private String zzbm; private String zzmc; private BigDecimal dblx; private String ckbm; private String ckmc; private String drzzbm; private String drzzmc; private String drckbm; private String drckmc; private BigDecimal djzt; private String kczt; private String wlbm; private String wlmc; private String zt; private String ccorrespondcode; private String zdw; private String fdw; private String bmbm; private String bmmc; private String khbm; private String khmc; private String khjc; private BigDecimal yfsl; private BigDecimal yfzsl; private BigDecimal sfzsl; private BigDecimal sffsl; private BigDecimal je; private String ts; private BigDecimal dr; private String btranendflag; private String csumid; private BigDecimal naccumoutbacknum; private BigDecimal naccumoutsignnum; private BigDecimal naccumvminum; private BigDecimal naccumwastnum; private BigDecimal ncorrespondastnum; private BigDecimal ncorrespondgrsnum; private BigDecimal ncorrespondnum; private BigDecimal ntotaltrannum; private BigDecimal ntranoutastnum; private BigDecimal ntranoutnum; } src/main/java/com/zy/nc/mapper/NccSaleDbckmxbMapper.java
New file @@ -0,0 +1,12 @@ package com.zy.nc.mapper; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.nc.entity.NccSaleDbckmxb; import org.apache.ibatis.annotations.Mapper; import org.springframework.stereotype.Repository; @Mapper @Repository public interface NccSaleDbckmxbMapper extends BaseMapper<NccSaleDbckmxb> { } src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -15,8 +15,16 @@ private PlanOrderHandler planOrderHandler; @Scheduled(cron = "0/3 * * * * ? ") public void execute() { ReturnT<String> returnT = planOrderHandler.start(); public void execute1() { ReturnT<String> returnT = planOrderHandler.start1(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); } } @Scheduled(cron = "0/3 * * * * ? ") public void execute2() { ReturnT<String> returnT = planOrderHandler.start2(); if (!returnT.isSuccess()) { log.error(returnT.getMsg()); } src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -3,7 +3,9 @@ import com.alibaba.fastjson.JSONObject; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.nc.entity.NccSaleDbckmxb; import com.zy.nc.entity.NccSaleXsckmx; import com.zy.nc.mapper.NccSaleDbckmxbMapper; import com.zy.nc.mapper.NccSaleXsckmxMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -16,10 +18,28 @@ @Autowired private NccSaleXsckmxMapper nccSaleXsckmxMapper; public ReturnT<String> start() { @Autowired private NccSaleDbckmxbMapper nccSaleDbckmxbMapper; /** * 发货 * * @return */ public ReturnT<String> start1() { NccSaleXsckmx nccSaleXsckmx = nccSaleXsckmxMapper.selectById("1001A1100000000H9KKJ"); log.info("shuju:{}", JSONObject.toJSON(nccSaleXsckmx)); return SUCCESS; } /** * 调拨 * * @return */ public ReturnT<String> start2() { NccSaleDbckmxb nccSaleDbckmxb = nccSaleDbckmxbMapper.selectById("1001A1100000000H9KKJ"); log.info("shuju:{}", JSONObject.toJSON(nccSaleDbckmxb)); return SUCCESS; } } src/main/resources/mapper/nc/NccSaleDbckmxbMapper.xml
New file @@ -0,0 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.zy.nc.mapper.NccSaleDbckmxbMapper"> </mapper>