From 9a5c44b2331a09f766a4ba6844756ff610565721 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 1 Nov 2021 11:30:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E6=8D=AE=EF=BC=8C?= =?UTF-8?q?=E6=89=AB=E7=A0=81=E5=8D=95=E6=8D=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sale/admin/constant/ConstantStatus.java | 7 ++ .../controller/auth/RegisterController.java | 32 +++--- .../controller/inout/OrderController.java | 7 +- .../inout/OrderDetailController.java | 4 +- .../inout/StockOrderController.java | 8 +- .../inout/StockOrderDetailController.java | 6 +- .../controller/inout/WareHouseController.java | 14 ++- .../inout/utils/ContrastErpUtil.java | 13 ++- .../controller/inout/utils/InoutUtils.java | 2 + .../admin/entity/inout/ErpOrderEntity.java | 6 +- .../req/inout/StockOrderFilterRequest.java | 4 +- .../admin/thread/IoTransInoutService.java | 101 ++++++++++++++++-- .../mybatis/mapper/basic/UdiInfoDao.xml | 16 +-- .../mybatis/mapper/inout/OrderDetail.xml | 8 +- .../mybatis/mapper/inout/StockOrderDao.xml | 8 +- 15 files changed, 176 insertions(+), 60 deletions(-) diff --git a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java index 3f228c1..2bbc596 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/constant/ConstantStatus.java @@ -29,8 +29,15 @@ public class ConstantStatus { public static String SORDER_DRAFT = "1";//草稿 public static String SORDER_ALLOC = "2";//未配货 public static String SORDER_CHECK = "3";//待校验 + public static String SORDER_CHECKED = "4";//已校验 public static String SORDER_PRINT_UN = "101";//101:未打印,102:已打印 public static String SORDER_PRINT_ED = "102";// + + //业务单据来源 + public static String ST_WEB_ADD = "1"; //前端新增 + public static String ST_THIRD_SEL = "2"; //第三方选入 + public static String ST_SCAN_ADD = "3"; //扫码单据转换 + } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java index 7162a09..a52da55 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/auth/RegisterController.java @@ -198,22 +198,22 @@ public class RegisterController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } log.info(httpSession.getId()); -// JSONObject userCode = (JSONObject) httpSession.getAttribute("code"); -// if (userCode == null) { -// return ResultVOUtils.error(500, "验证码已失效,请重新获取"); -// } -// long lastTime = userCode.getLong("createTime"); -// int checkCode = (Integer) userCode.get("code"); -// String phoneNum = userCode.getString("memPhone"); -// if ((System.currentTimeMillis() - lastTime) > 1000 * 60 * 5) { -// return ResultVOUtils.error(500, "验证码已过期,请重新获取"); -// } -// if (checkCode != userRegisterEntity.getCheckCode()) { -// return ResultVOUtils.error(500, "验证码错误,请重新获取"); -// } -// if (!phoneNum.equals(userRegisterEntity.getMobile())) { -// return ResultVOUtils.error(500, "手机号与获取验证码不一致"); -// } + JSONObject userCode = (JSONObject) httpSession.getAttribute("code"); + if (userCode == null) { + return ResultVOUtils.error(500, "验证码已失效,请重新获取"); + } + long lastTime = userCode.getLong("createTime"); + int checkCode = (Integer) userCode.get("code"); + String phoneNum = userCode.getString("memPhone"); + if ((System.currentTimeMillis() - lastTime) > 1000 * 60 * 5) { + return ResultVOUtils.error(500, "验证码已过期,请重新获取"); + } + if (checkCode != userRegisterEntity.getCheckCode()) { + return ResultVOUtils.error(500, "验证码错误,请重新获取"); + } + if (!phoneNum.equals(userRegisterEntity.getMobile())) { + return ResultVOUtils.error(500, "手机号与获取验证码不一致"); + } boolean isExitPhone = userRegisterService.isExit(userRegisterEntity.getMobile()); if (isExitPhone) { return ResultVOUtils.error(500, "该手机号已被注册"); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java index ebbc747..7591de7 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderController.java @@ -22,6 +22,7 @@ import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.inout.CodesService; import com.glxp.sale.admin.service.inout.OrderDetailService; import com.glxp.sale.admin.service.inout.OrderService; +import com.glxp.sale.admin.thread.IoTransInoutService; import com.glxp.sale.admin.util.FilterUdiUtils; import com.glxp.sale.common.enums.ResultEnum; import com.glxp.sale.common.res.BaseResponse; @@ -57,7 +58,8 @@ public class OrderController { private BussinessTypeService bussinessTypeService; @Value("${UCLOD_SERVER_URL}") private String ucloudUrl; - + @Resource + IoTransInoutService ioTransInoutService; @GetMapping("udiwms/inout/order/getUdi") public BaseResponse getUdi(@RequestParam("code") String code) { @@ -247,7 +249,7 @@ public class OrderController { orderDetailService.insertErpOrders(returnOrders); List warehouseEntityList = codesService.findByReceiptId(mainOrder); new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, orderDetailService, orderService, warehouseEntityList, - systemParamConfigService,bussinessTypeEntity); + systemParamConfigService, bussinessTypeEntity); } else { orderService.updateContrastStatus(mainOrder, "error"); orderService.updateRemark(mainOrder, "U8Cloud获取ERP单失败"); @@ -279,6 +281,7 @@ public class OrderController { new Thread(() -> { List datas = codesService.findByReceiptId(mainOrder); new InoutUtils().generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailService, datas); + ioTransInoutService.printOrder(mainOrder); }).start(); } } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java index 1ec8e88..4156b15 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/OrderDetailController.java @@ -158,9 +158,9 @@ public class OrderDetailController { stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction()); stockOrderEntity.setId(null); stockOrderEntity.setStatus(ConstantStatus.SORDER_DRAFT);//未提交 - stockOrderEntity.setSourceType("2");//外部提交 + stockOrderEntity.setSourceType(ConstantStatus.ST_THIRD_SEL);//外部提交 stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印 - stockOrderEntity.setBilldate(DateUtil.formatDate(new Date(), "yyyy-MM-dd")); + stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); boolean b = stockOrderService.insertStockOrder(stockOrderEntity); if (b) { FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest(); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java index 74120a5..0ab216f 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderController.java @@ -108,8 +108,9 @@ public class StockOrderController { BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity); stockOrderEntity.setStatus(ConstantStatus.SORDER_DRAFT);//未处理 stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印 - stockOrderEntity.setSourceType(2 + "");//外部提交 + stockOrderEntity.setSourceType(ConstantStatus.ST_THIRD_SEL);//外部提交 // stockOrderEntity.setId(String.valueOf(new Date().getTime())); + stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); boolean b = stockOrderService.insertStockOrder(stockOrderEntity); if (b) { List stockOrderDetailEntityList = stockOrderPostRequest.getSubErpOrders(); @@ -158,7 +159,7 @@ public class StockOrderController { StringUtils.isBlank(stockOrderEntity.getStatus()) ? 501 + ""//未提交 : stockOrderEntity.getStatus()); stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印 - stockOrderEntity.setSourceType(1 + "");//本地网页新增 + stockOrderEntity.setSourceType(ConstantStatus.ST_WEB_ADD);//本地网页新增 boolean b = false; if (stockOrderEntity.getStatus().equals("502")) {//已提交 SystemParamConfigEntity systemParamConfigEntity = @@ -172,8 +173,11 @@ public class StockOrderController { if (StringUtils.isBlank(stockOrderEntity.getId())) { CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(stockOrderPostRequest.getCustomerId())); + stockOrderEntity.setCorpId(companyEntity.getUnitIdFk()); + stockOrderEntity.setCorpName(companyEntity.getCompanyName()); stockOrderEntity.setUnitIdFk(companyEntity.getUnitIdFk()); stockOrderEntity.setCustomerId(stockOrderPostRequest.getCustomerId()); + stockOrderEntity.setBilldate(DateUtil.formatDate(new Date())); b = stockOrderService.insertStockOrder(stockOrderEntity); } else { stockOrderService.updateById(stockOrderEntity); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java index 5d73701..da08ed1 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/StockOrderDetailController.java @@ -158,8 +158,10 @@ public class StockOrderDetailController { @GetMapping("/udiwms/stock/order/detail/uploadCount") public BaseResponse uploadCount(@RequestParam("orderId") String orderId, @RequestParam("code") String code) { UdiEntity udiEntity = FilterUdiUtils.getUdi(code); - if (udiEntity == null) ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 1"); - if (StringUtils.isBlank(udiEntity.getUdi())) ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 2"); + if (udiEntity == null) + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 1"); + if (StringUtils.isBlank(udiEntity.getUdi())) + return ResultVOUtils.error(ResultEnum.DATA_ERROR, "条码错误 2"); UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(udiEntity.getUdi()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java index 0a15c81..a99d25a 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java @@ -5,6 +5,7 @@ import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.InoutUtils; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; +import com.glxp.sale.admin.entity.info.CompanyEntity; import com.glxp.sale.admin.entity.inout.ErpOrderEntity; import com.glxp.sale.admin.entity.inout.OrderEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; @@ -18,6 +19,7 @@ import com.glxp.sale.admin.res.inout.WarehouseResponse; import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; +import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.inout.CodesTempService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.inout.MyErpOrderService; @@ -59,7 +61,8 @@ public class WareHouseController { private IoTransInoutService ioTransInoutService; @Resource private CodesTempService codesTempService; - + @Resource + CompanyService companyService; @Resource private BussinessTypeService bussinessTypeService; @@ -201,6 +204,7 @@ public class WareHouseController { if (udiEntity == null) return ResultVOUtils.error(500, "UDI码格式错误!"); String orderId = addOrderRequest.getOrderId(); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getBillType()); if (StringUtils.isBlank(orderId)) { orderId = System.currentTimeMillis() + new Random().nextInt(10) + ""; @@ -210,14 +214,16 @@ public class WareHouseController { orderSaveRequest.setActDate(addOrderRequest.getActDate()); } - + CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId())); + orderSaveRequest.setFromCorpId(companyEntity.getUnitIdFk()); + orderSaveRequest.setFromCorp(companyEntity.getCompanyName()); orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction()); orderSaveRequest.setAction(bussinessTypeEntity.getAction()); orderSaveRequest.setActor(addOrderRequest.getActor()); orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId()); - orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); - orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); +// orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId()); +// orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp()); orderSaveRequest.setFromType(addOrderRequest.getFromType()); orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE); orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java index 8aceef0..ab68112 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/ContrastErpUtil.java @@ -19,18 +19,25 @@ import com.glxp.sale.admin.service.basic.UdiRelevanceService; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.inout.OrderDetailService; import com.glxp.sale.admin.service.inout.OrderService; +import com.glxp.sale.admin.thread.IoTransInoutService; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +@Service public class ContrastErpUtil { int erpTotalCount; List mErpOrderEntities; String udiUrl = ""; + @Resource + IoTransInoutService ioTransInoutService; + public ContrastErpUtil() { } @@ -62,7 +69,7 @@ public class ContrastErpUtil { } List udiRelevanceEntities = udiRelevanceService.selectByUuid(udiInfoEntity.getUuid()); if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { - UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities,bussinessTypeEntity); + UdiRelevanceEntity udiRelevanceEntity = checkGoodsId(udiRelevanceEntities, bussinessTypeEntity); if (udiRelevanceEntity != null) { udiInfoEntity.setThirdId(udiRelevanceEntity.getThirdId()); udiInfoEntity.setThirdName(udiRelevanceEntity.getThirdName()); @@ -105,10 +112,12 @@ public class ContrastErpUtil { if (errMsg != null) { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setRemark(errMsg); + orderService.updateOrder(orderEntity); } else { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_SUCCESS); + orderService.updateOrder(orderEntity); + ioTransInoutService.printOrder(orderEntity.getId()); } - orderService.updateOrder(orderEntity); if (errorData.size() > 0) { new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailService, errorData); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java index 74c2e4a..5e88e75 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/utils/InoutUtils.java @@ -211,6 +211,8 @@ public class InoutUtils { erpOrderEntity.setPackRatio(erpDetailCodeEntity.getPackRatio()); erpOrderEntity.setCoName(erpDetailCodeEntity.getCpmctymc()); erpOrderEntity.setBatchNo(erpDetailCodeEntity.getBatchNo()); + erpOrderEntity.setProductDate(erpDetailCodeEntity.getProduceDate()); + erpOrderEntity.setExpireDate(erpDetailCodeEntity.getExpireDate()); erpOrderEntity.setCount(erpDetailCodeEntity.getCount()); erpOrderEntity.setOrderIdFk(warehouseEntityList.get(0).getOrderId()); erpOrderEntity.setProductCompany(erpDetailCodeEntity.getYlqxzcrbarmc()); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java index 1afc07a..2dddb30 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/ErpOrderEntity.java @@ -36,8 +36,8 @@ public class ErpOrderEntity { private String warehouseCode; private String productDate; private String expireDate; - private int erpCount; - private int reCount; + private Integer erpCount; + private Integer reCount; private String nameCode; @@ -52,7 +52,7 @@ public class ErpOrderEntity { private String orderIdFk; private String nameCodes; private String status; - private int count; + private Integer count; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java index ccdaec9..ae32259 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/req/inout/StockOrderFilterRequest.java @@ -22,6 +22,6 @@ public class StockOrderFilterRequest extends ListPageRequest { private String printStatus; private String unitIdFk; private String customerId; - private String startDate; //起始日期 - private String endDate; //结束日期 + private String startTime; //起始日期 + private String endTime; //结束日期 } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java index 208741b..a39a54b 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/thread/IoTransInoutService.java @@ -7,22 +7,14 @@ import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.controller.inout.utils.InoutUtils; import com.glxp.sale.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; -import com.glxp.sale.admin.entity.inout.ErpOrderEntity; -import com.glxp.sale.admin.entity.inout.OrderEntity; -import com.glxp.sale.admin.entity.inout.WarehouseEntity; +import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.udid.UdiEntity; import com.glxp.sale.admin.httpclient.ErpOrderClient; -import com.glxp.sale.admin.req.inout.CommitRequest; -import com.glxp.sale.admin.req.inout.OrderFilterRequest; -import com.glxp.sale.admin.req.inout.PostOrderRequest; -import com.glxp.sale.admin.req.inout.WarehouseQueryRequest; +import com.glxp.sale.admin.req.inout.*; import com.glxp.sale.admin.service.basic.BussinessTypeService; import com.glxp.sale.admin.service.basic.UdiInfoService; import com.glxp.sale.admin.service.basic.UdiRelevanceService; -import com.glxp.sale.admin.service.inout.CodesService; -import com.glxp.sale.admin.service.inout.CodesTempService; -import com.glxp.sale.admin.service.inout.OrderDetailService; -import com.glxp.sale.admin.service.inout.OrderService; +import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.service.thrsys.ThrOrderService; @@ -49,6 +41,8 @@ public class IoTransInoutService { private OrderService orderService; @Resource private OrderDetailService myErpOrderService; + + @Resource UdiRelevanceService udiRelevanceService; @Resource @@ -66,6 +60,10 @@ public class IoTransInoutService { private ThrOrderService thrOrderService; @Resource ThrDataService thrDataService; + @Resource + StockOrderService stockOrderService; + @Resource + StockOrderDetailService stockOrderDetailService; //web端新增订单, @@ -226,6 +224,7 @@ public class IoTransInoutService { //因为只需用到条码,所以不需要重新读取 new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, insertList); orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); + printOrder(orderEntity.getId()); } List ids = new ArrayList<>(); @@ -315,5 +314,85 @@ public class IoTransInoutService { WebSocketServer.sendInfo("单据:" + orderId + "校验已完成,请刷新查看!", null); } + //校验ERP单后,订单详情转入等待打印 + @Async + public void printOrder(String orderId) { + OrderEntity orderEntity = orderService.findById(orderId); + if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_SUCCESS && orderEntity.getErpFk() == null + ) { + + //查询单据校验后生成的单据详情 + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); + + //生成业务单据记录 + StockOrderEntity stockOrderEntity = new StockOrderEntity(); + stockOrderEntity.setBillNo(orderEntity.getId()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + stockOrderEntity.setBillType(bussinessTypeEntity.getLocalAction()); + stockOrderEntity.setBilldate(orderEntity.getActDate()); + stockOrderEntity.setCustomerId(orderEntity.getCustomerId()); + stockOrderEntity.setUnitIdFk(orderEntity.getCustomerId()); + stockOrderEntity.setSourceType(ConstantStatus.ST_SCAN_ADD); + stockOrderEntity.setCorpId(orderEntity.getFromCorpId()); + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + stockOrderEntity.setCorpName(orderEntity.getFromCorp()); + stockOrderService.insertStockOrder(stockOrderEntity); + + //删除关联的业务单据详情 + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(stockOrderEntity.getBillNo()); + stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); + stockOrderDetailService.deleteByOrderIdFk(stockOrderEntity.getId()); + + //生成业务单据详情 + List stockOrderDetailEntities = new ArrayList<>(); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); + stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId()); + stockOrderDetailEntity.setProductId(erpOrderEntity.getGoodsid()); + stockOrderDetailEntity.setProductName(erpOrderEntity.getGoodsname()); + if (erpOrderEntity.getGoodsid() == null) + stockOrderDetailEntity.setProductId(erpOrderEntity.getNameCode()); + if (erpOrderEntity.getGoodsname() == null) + stockOrderDetailEntity.setProductName(erpOrderEntity.getCoName()); + stockOrderDetailEntity.setSpec(erpOrderEntity.getPackSpec()); + stockOrderDetailEntity.setBatchNo(erpOrderEntity.getBatchNo()); + stockOrderDetailEntity.setProductDate(erpOrderEntity.getProductDate()); + stockOrderDetailEntity.setExpireDate(erpOrderEntity.getExpireDate()); +// stockOrderDetailEntity.setYlqxzcrbarmc(erpOrderEntity.get()); + if (erpOrderEntity.getCount() != null) { + stockOrderDetailEntity.setSweepCount(erpOrderEntity.getCount() + ""); + } + if (erpOrderEntity.getReCount() != null) { + stockOrderDetailEntity.setReCount(erpOrderEntity.getReCount() + ""); + } + if (erpOrderEntity.getErpCount() != null) { + stockOrderDetailEntity.setCount(erpOrderEntity.getErpCount() + ""); + } + + + stockOrderDetailEntities.add(stockOrderDetailEntity); + } + stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntities); + } + } else if (orderEntity.getContrastStatus() == ConstantStatus.ORDER_CHECK_SUCCESS) { + String[] erpIds = orderEntity.getErpFk().split(","); + if (erpIds != null && erpIds.length > 0) { + for (int i = 0; i < erpIds.length; i++) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(erpIds[i]); + StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); + stockOrderEntity.setStatus(ConstantStatus.SORDER_CHECKED); + stockOrderService.updateById(stockOrderEntity); + } + } + + } + } } + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml index 4e60894..f41b21d 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/UdiInfoDao.xml @@ -32,11 +32,15 @@ basic_udirel.thirdName1,basic_udirel.thirdName2,basic_udirel.thirdName3,basic_udirel.thirdName4, basic_udirel.manufactory,basic_udirel.measname, basic_products.nameCode,basic_products.packRatio,basic_products.packLevel,basic_products.bhxjsl,basic_products.bhzxxsbzsl,basic_products.zxxsbzbhsydysl,basic_products.bhxjcpbm,basic_products.bzcj,basic_products.addType,basic_products.deviceRecordKey,basic_products.cpmctymc,basic_products.cplb,basic_products.flbm,basic_products.ggxh,basic_products.qxlb,basic_products.tyshxydm,basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh,basic_products.ylqxzcrbarywmc,basic_products.sydycpbs,basic_products.uuid,basic_products.sjcpbm,basic_products.versionNumber,basic_products.diType - FROM (basic_products - inner JOIN company_product_relevance - ON basic_products.uuid = company_product_relevance.productUuid) + + FROM (company_product_relevance inner JOIN basic_udirel - ON basic_products.uuid = basic_udirel.uuid + ON company_product_relevance.udiRlIdFk = basic_udirel.id) + inner JOIN basic_products + ON basic_udirel.uuid = basic_products.uuid + + + AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc},'%') @@ -70,12 +74,12 @@ AND company_product_relevance.customerId = #{customerId} - AND company_product_relevance.auditStatus = 1 + ORDER BY updateTime DESC - +