| | |
| | | import javax.annotation.Resource; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | import java.util.concurrent.TimeUnit; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | @Autowired |
| | | private DocTypeService docTypeService; |
| | | |
| | | private static final String baseUrl = "127.0.0.1:8081/jsjwms/open/asrs"; |
| | | private static final String baseUrl = "192.168.4.189:10006/api/U8Server"; |
| | | private static final Map<String, String> pathMap = new HashMap<String, String>() {{ |
| | | put("采购入库", "/purchasein_import"); |
| | | put("销售出库", "/saleout_import"); |
| | | put("产成品入库单", "/productin_import"); |
| | | put("材料出库单", "/materialout_import"); |
| | | put("采购到货单", "/purchasein_import"); |
| | | put("销售发货单", "/saleout_import"); |
| | | put("生产订单", "/productin_import"); |
| | | put("领料申请单", "/materialout_import"); |
| | | put("其他入库单", "/otherin_import"); |
| | | put("其他出库单", "/otherout_import"); |
| | | }}; |
| | |
| | | .setUri(baseUrl) |
| | | .setPath(path) |
| | | .setJson(requestJson) |
| | | .setTimeout(60, TimeUnit.SECONDS) |
| | | .build() |
| | | .doPost(); |
| | | List<U8ResultVo> list = JSON.parseArray(response, U8ResultVo.class); |
| | |
| | | List<String> successReceiptNos = list.stream().filter(u8ResultVo -> "T".equals(u8ResultVo.getResult())).map(U8ResultVo::getReceiptNo).collect(Collectors.toList()); |
| | | if (!successReceiptNos.isEmpty()) { |
| | | orderMapper.batchUpdateSettleByOrderNos(successReceiptNos); |
| | | success = true; |
| | | } |
| | | log.info("单据上报成功,单据编号:{}", successReceiptNos); |
| | | success = true; |
| | | } else { |
| | | errorMsg = response; |
| | | log.error(nameSpaces + "调用外部接口失败,url:{},request:{},response:{}", url, requestJson, response); |
| | |
| | | List<ReportU8Vo> list = new ArrayList<>(); |
| | | String now = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); |
| | | switch (docName) { |
| | | case "采购入库": |
| | | case "采购到货单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("103"); |
| | | reportU8Vo.setCrdcode("101"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | list.add(reportU8Vo); |
| | | } |
| | | break; |
| | | case "销售出库": |
| | | case "销售发货单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCwhcode("101"); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("203"); |
| | | reportU8Vo.setCrdcode("201"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | | String docType$ = order.getDocType$(); |
| | | // String docType$ = order.getDocType$(); |
| | | for (OrderDetl orderDetl : orderDetlList) { |
| | | ReportU8Vo.Item item = new ReportU8Vo.Item(); |
| | | item.setCinvcode(orderDetl.getMatnr()); |
| | | item.setIquantity(orderDetl.getQty()); |
| | | item.setAutoidSo(orderDetl.getSku()); |
| | | item.setSoautoidcol(docType$.equals("发货单") ? "IDLSID" : ""); |
| | | item.setSoautoidcol("IDLSID"); |
| | | item.setCbatch(orderDetl.getBatch()); |
| | | itemList.add(item); |
| | | } |
| | |
| | | list.add(reportU8Vo); |
| | | } |
| | | break; |
| | | case "产成品入库单": |
| | | case "生产订单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("101"); |
| | | reportU8Vo.setCrdcode("201"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setCrdcode("102"); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | list.add(reportU8Vo); |
| | | } |
| | | break; |
| | | case "材料出库单": |
| | | case "领料申请单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCwhcode("5"); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("203"); |
| | | reportU8Vo.setCrdcode("202"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | | String docType$ = order.getDocType$(); |
| | | // String docType$ = order.getDocType$(); |
| | | for (OrderDetl orderDetl : orderDetlList) { |
| | | ReportU8Vo.Item item = new ReportU8Vo.Item(); |
| | | item.setCinvcode(orderDetl.getMatnr()); |
| | | item.setIquantity(orderDetl.getQty()); |
| | | item.setAutoidAll(orderDetl.getSku()); |
| | | item.setAllcautoidcol(docType$.equals("生产订单") ? "AllocateId" : docType$.equals("委外订单") ? "MOMaterialsID" : |
| | | docType$.equals("领料申请单") ? "AutoID" : ""); |
| | | item.setAllcautoidcol("AutoID"); |
| | | item.setCbatch(orderDetl.getBatch()); |
| | | itemList.add(item); |
| | | } |
| | |
| | | case "其他入库单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCwhcode("109"); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("201"); |
| | | reportU8Vo.setCrdcode("199"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |
| | |
| | | case "其他出库单": |
| | | for (Order order : value) { |
| | | ReportU8Vo reportU8Vo = new ReportU8Vo(); |
| | | reportU8Vo.setCaccid("001"); |
| | | // reportU8Vo.setCaccid("001"); |
| | | reportU8Vo.setCvouchcode(order.getOrderNo()); |
| | | reportU8Vo.setDdate(now); |
| | | reportU8Vo.setCgltype(order.getDocType$()); |
| | | reportU8Vo.setCwhcode("109"); |
| | | reportU8Vo.setCgltype(docName); |
| | | reportU8Vo.setCwhcode("201"); |
| | | reportU8Vo.setCrdcode("299"); |
| | | reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | // reportU8Vo.setCmaker(order.getCreateBy$()); |
| | | reportU8Vo.setChandler(order.getUpdateBy$()); |
| | | List<ReportU8Vo.Item> itemList = new ArrayList<>(); |
| | | List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId()); |