cp
2024-10-30 431f88fdade07a22b636714f1690cee3a55668d0
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/TestController.java
@@ -10,6 +10,7 @@
import com.zy.asrs.common.utils.Utils;
import com.zy.asrs.common.web.BaseController;
import com.zy.asrs.common.wms.entity.Order;
import com.zy.asrs.common.wms.entity.OrderDetl;
import com.zy.asrs.common.wms.entity.WrkDetl;
import com.zy.asrs.common.wms.entity.WrkMast;
import com.zy.asrs.common.wms.service.*;
@@ -33,6 +34,8 @@
    private WrkDetlService wrkDetlService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private OperateLogService operateLogService;
@@ -64,14 +67,14 @@
            }
        }
        if (wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getWrkSts() == 200) {
        if (!wrkDetlsKeyOrder.isEmpty()) {
            //上报念初ERP   【 上报三方平台 】
            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
            String nowFormat = dateFormat.format(new Date());
            ArrayList<LinkedHashMap<String, Object>> mats = new ArrayList<>();
            String orderNo = "";
            for (WrkDetl wrkDetl : wrkDetls) {
            for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
                orderNo = wrkDetl.getOrderNo();
                LinkedHashMap<String, Object> mat = new LinkedHashMap<>();
                mat.put("GoodsCode", wrkDetl.getMatnr());
@@ -99,7 +102,7 @@
                param.put("FromDanCode", orderNo);
                param.put("Data", mats);
                String response = null;
                String response = "";
                try {
                    response = new HttpHandler.Builder()
                            .setUri(ERP_URL)
@@ -125,6 +128,8 @@
                    operateLog.setResponse(response);
                    operateLog.setCreateTime(new Date());
                    operateLog.setSystem("WMS");
                    operateLog.setUserId(9527L);
                    operateLog.setIp("127.0.0.1");
                    operateLogService.save(operateLog);
                }
            }
@@ -133,4 +138,73 @@
        return R.ok();
    }
    @GetMapping("/test1")
    public R test1(@RequestParam String orderNo) {
        Order order = orderService.selectByNo(orderNo, 1L);
        List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().eq(OrderDetl::getOrderId, order.getId()));
        //上报念初ERP   【 上报三方平台 】
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
        String nowFormat = dateFormat.format(new Date());
        ArrayList<LinkedHashMap<String, Object>> mats = new ArrayList<>();
        for (OrderDetl orderDetl : orderDetls) {
            LinkedHashMap<String, Object> mat = new LinkedHashMap<>();
            mat.put("GoodsCode", orderDetl.getMatnr());
            mat.put("Num", orderDetl.getAnfme());
            if (!Cools.isEmpty(orderDetl.getBatch())) {
                mat.put("BatchNo", orderDetl.getBatch());
            }
            if (!Cools.isEmpty(orderDetl.getThreeCode())) {
                mat.put("DepotName", orderDetl.getThreeCode());
            }
            if (!Cools.isEmpty(orderDetl.getSupp())) {
                mat.put("FromDanCode", orderDetl.getSupp());
            }
            if (!Cools.isEmpty(orderDetl.getSuppCode())) {
                mat.put("FromNo", orderDetl.getSuppCode());
            }
            mats.add(mat);
        }
        LinkedHashMap<String, Object> param = new LinkedHashMap<>();
        param.put("Login", ERP_LOGIN);
        param.put("DanType", order.getDocType$());
        param.put("Date", nowFormat);
        param.put("FromDanCode", orderNo);
        param.put("Data", mats);
        String response = "";
        try {
            response = new HttpHandler.Builder()
                    .setUri(ERP_URL)
                    .setPath(ERP_REPORT + Utils.ncErpDataEncode(param))
                    .build()
                    .doGet();
            JSONObject jsonObject = JSON.parseObject(response);
            JSONArray result = jsonObject.getJSONArray("result");
            Object object = result.get(0);
            JSONObject data = JSON.parseObject(object.toString());
            if (data.getBoolean("State")) {
                //上报成功
            } else {
                //上报失败
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //记录上报数据
            OperateLog operateLog = new OperateLog();
            operateLog.setAction("上报ERP," + ERP_URL + ERP_REPORT);
            operateLog.setRequest(Utils.ncErpDataEncode(param));
            operateLog.setResponse(response);
            operateLog.setCreateTime(new Date());
            operateLog.setSystem("WMS");
            operateLog.setUserId(9527L);
            operateLog.setIp("127.0.0.1");
            operateLogService.save(operateLog);
        }
        return R.ok();
    }
}