From bcdf535bededf72571120b6df185a4633d4fd562 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 9 Oct 2021 09:34:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9C=AC=E5=9C=B0=E5=8D=95?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/BasicThirdSysController.java | 9 ++ .../basic/BussinessLocalTypeController.java | 74 +++++++++ .../inout/OrderDetailController.java | 86 +++++++++-- .../dao/basic/BussinessLocalTypeDao.java | 23 +++ .../api/admin/dao/inout/StockOrderDao.java | 31 ++++ .../admin/dao/inout/StockOrderDetailDao.java | 26 ++++ .../basic/BasicThirdSysDetailEntity.java | 1 + .../basic/BussinessLocalTypeEntity.java | 15 ++ .../entity/basic/BussinessTypeEntity.java | 1 + .../BussinessLocalTypeFilterRequest.java | 15 ++ .../req/basic/FilterBasicThirdSysRequest.java | 1 + .../admin/req/inout/FilterOrderRequest.java | 2 + .../inout/StockOrderDetailFilterRequest.java | 21 +++ .../req/inout/StockOrderFilterRequest.java | 22 +++ .../admin/req/inout/StockOrderIdsRequest.java | 13 ++ .../req/inout/StockOrderPostRequest.java | 26 ++++ .../req/inout/StockOrderQueryRequest.java | 9 ++ .../admin/res/basic/BussinessTypResponse.java | 1 + .../basic/BussinessLocalTypeService.java | 21 +++ .../impl/BussinessLocalTypeServiceImpl.java | 66 ++++++++ .../basic/impl/BussinessTypeServiceImpl.java | 19 ++- .../inout/StockOrderDetailService.java | 24 +++ .../service/inout/StockOrderService.java | 33 ++++ .../impl/StockOrderDetailServiceImpl.java | 61 ++++++++ .../inout/impl/StockOrderServiceImpl.java | 95 ++++++++++++ .../admin/service/thrsys/ThrDataService.java | 82 +++++++++- .../api/admin/thread/IoTransInoutService.java | 97 ++++++++---- .../mapper/basic/BussinessLocalTypeDao.xml | 57 +++++++ .../mybatis/mapper/basic/BussinessTypeDao.xml | 7 +- .../mybatis/mapper/inout/StockOrderDao.xml | 145 ++++++++++++++++++ .../mybatis/mapper/inout/StockOrderDetail.xml | 104 +++++++++++++ 31 files changed, 1139 insertions(+), 48 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDetailDao.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderDetailFilterRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderFilterRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderIdsRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderPostRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderQueryRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderDetailService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderService.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderDetailServiceImpl.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderServiceImpl.java create mode 100644 api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml create mode 100644 api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java index 7ea6ab0c..f5e69eae 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BasicThirdSysController.java @@ -63,7 +63,16 @@ public class BasicThirdSysController { // filterBasicThirdSysRequest.setMainSys(null); // } // } + basicThirdSysEntities = basicThirdSysService.filterBasicThiSys(filterBasicThirdSysRequest); +// if (filterBasicThirdSysRequest.getIsBuType() != null && filterBasicThirdSysRequest.getIsBuType()) { +// BasicThirdSysEntity basicThirdSysEntity = new BasicThirdSysEntity(); +// basicThirdSysEntity.setThirdId("local"); +// basicThirdSysEntity.setThirdName("本地系统"); +// basicThirdSysEntities.add(basicThirdSysEntity); +// +// } + PageInfo pageInfo; pageInfo = new PageInfo<>(basicThirdSysEntities); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java new file mode 100644 index 00000000..a4cd6c32 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/BussinessLocalTypeController.java @@ -0,0 +1,74 @@ +package com.glxp.api.admin.controller.basic; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; +import com.glxp.api.admin.req.inout.DeleteRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +public class BussinessLocalTypeController { + + + @Resource + private BussinessLocalTypeService bussinessTypeService; + + + @GetMapping("/udiwms/localBusType/filter") + public BaseResponse filterBussinessType(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List bussinessTypeEntities; + bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(bussinessTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(bussinessTypeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/localBusType/delete") + public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + bussinessTypeService.deleteById(id); + return ResultVOUtils.success("删除成功"); + } + + @PostMapping("/udiwms/localBusType/update") + public BaseResponse updateBussinessType(@RequestBody BussinessLocalTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessTypeService.updateBusLocalType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java index 5e05cbbc..2197f2fe 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java @@ -6,8 +6,7 @@ import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; -import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; +import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.admin.entity.thrsys.ThrOrderEntity; import com.glxp.api.admin.httpclient.ErpOrderClient; @@ -16,23 +15,20 @@ import com.glxp.api.admin.req.thrsys.FilterThrOrderRequest; import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.res.inout.ErpOrderResponse; import com.glxp.api.admin.res.inout.PurchaseinResponse; -import com.glxp.api.admin.entity.inout.OrderEntity; -import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.basic.UdiInfoService; import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.info.SystemParamConfigService; -import com.glxp.api.admin.service.inout.OrderDetailService; -import com.glxp.api.admin.service.inout.OrderService; -import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.service.thrsys.ThrOrderDetailService; import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.thread.IoTransInoutService; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; +import org.aspectj.lang.annotation.DeclareWarning; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; @@ -72,6 +68,12 @@ public class OrderDetailController { @Resource private ThrOrderDetailService thrOrderDetailService; + @Resource + private StockOrderService stockOrderService; + @Resource + private StockOrderDetailService stockOrderDetailService; + + @GetMapping("/udiwms/erpOrder/filter") public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest, BindingResult bindingResult) { @@ -82,17 +84,39 @@ public class OrderDetailController { BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(filterErpOrderRequest.getBillAction(), "orderQueryUrl"); - if (basicThirdSysDetailEntity.getValue() == null) { - return ResultVOUtils.error(500, "业务单据查询接口未定义"); - } - if (!basicThirdSysDetailEntity.getEnabled()) { + + if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) { return ResultVOUtils.error(500, "第三方业务单据服务未启用"); } + if (filterErpOrderRequest.getIsDownThrSys() != null && filterErpOrderRequest.getIsDownThrSys()) { return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); } + + if (filterErpOrderRequest.getIsLocal() != null && filterErpOrderRequest.getIsLocal()) { + return getLoaclData(filterErpOrderRequest); + } + if (basicThirdSysDetailEntity.getFromType() == 0) { - return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); + if (basicThirdSysDetailEntity.getValue() == null) { + return ResultVOUtils.error(500, "业务单据查询接口未定义"); + } + BaseResponse> baseResponse = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest); + +// +// if (basicThirdSysDetailEntity.getLocalAction() != null) { +// if (baseResponse.getData().getList() != null) { +// BaseResponse> loca = getLoaclData(filterErpOrderRequest); +// baseResponse.getData().getList().addAll(loca.getData().getList()); +// } +// } +// +// if ((baseResponse == null || baseResponse.getCode() != 20000 || baseResponse.getData().getList().size() == 0) +// && basicThirdSysDetailEntity.getIsLocal()) { +// return +// } + + return baseResponse; } else { FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); @@ -119,6 +143,9 @@ public class OrderDetailController { erpOrderResponse.setSubErpOrders(subErpOrders); erpOrderResponses.add(erpOrderResponse); } + } else { +// if (basicThirdSysDetailEntity.getIsLocal()) +// return getLoaclData(filterErpOrderRequest); } PageInfo pageInfo; pageInfo = new PageInfo<>(data); @@ -128,11 +155,44 @@ public class OrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } + } + public BaseResponse getLoaclData(FilterOrderRequest filterErpOrderRequest) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + BeanUtils.copyProperties(filterErpOrderRequest, stockOrderFilterRequest); + stockOrderFilterRequest.setBillType(filterErpOrderRequest.getLocalAction()); + stockOrderFilterRequest.setPage(filterErpOrderRequest.getPage()); + stockOrderFilterRequest.setLimit(filterErpOrderRequest.getLimit()); + List erpOrderResponses = new ArrayList<>(); + List data = stockOrderService.filterListOr(stockOrderFilterRequest); + if (data != null && data.size() > 0) { + for (StockOrderEntity thrOrderEntity : data) { + StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest); + ErpOrderResponse erpOrderResponse = new ErpOrderResponse(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder(); + BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder); + subErpOrders.add(subErpOrder); + } + } + erpOrderResponse.setSubErpOrders(subErpOrders); + erpOrderResponses.add(erpOrderResponse); + } + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(data); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(erpOrderResponses); + return ResultVOUtils.success(pageSimpleResponse); } - @GetMapping("/warehouse/getMyErpOrders") public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest, BindingResult bindingResult) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java new file mode 100644 index 00000000..30b4990a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/basic/BussinessLocalTypeDao.java @@ -0,0 +1,23 @@ +package com.glxp.api.admin.dao.basic; + +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; +import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BussinessLocalTypeDao { + + List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + BussinessLocalTypeEntity findBTByAction(String action); + + BussinessLocalTypeEntity findBTByName(String name); + + boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity); + + boolean deleteById(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDao.java new file mode 100644 index 00000000..9853de57 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDao.java @@ -0,0 +1,31 @@ +package com.glxp.api.admin.dao.inout; + +import com.glxp.api.admin.entity.inout.StockOrderEntity; +import com.glxp.api.admin.req.inout.StockOrderFilterRequest; +import com.glxp.api.admin.req.inout.StockOrderQueryRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StockOrderDao { + + List listStockOrder(StockOrderQueryRequest stockOrderQueryRequest); + + List listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest); + + boolean insertStockOrder(StockOrderEntity stockOrderEntity); + + boolean updateById(StockOrderEntity stockOrderEntity); + + boolean deleteByOrderId(@Param("orderId") String orderId); + + boolean deleteById(@Param("id") String id); + + boolean updateByStatus(@Param("orderId") String orderId, @Param("status") Integer status); + + List filterListOr(StockOrderFilterRequest stockOrderFilterRequest); + + StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDetailDao.java new file mode 100644 index 00000000..09ffba54 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/StockOrderDetailDao.java @@ -0,0 +1,26 @@ +package com.glxp.api.admin.dao.inout; + +import com.glxp.api.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StockOrderDetailDao { + + List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); + + boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity); + + boolean insertStockOrderDetails(@Param("stockOrderDetailEntities") List stockOrderDetailEntitys); + + boolean updateById(StockOrderDetailEntity stockOrderDetailEntity); + + boolean deleteById(@Param("id") String id); + + boolean deleteByOrderIdFk(@Param("id") String id); + + StockOrderDetailEntity findOne(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java index a22513c1..f05d7b27 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BasicThirdSysDetailEntity.java @@ -15,6 +15,7 @@ public class BasicThirdSysDetailEntity { private String thirdSysFk; private String name; private Integer fromType; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java new file mode 100644 index 00000000..09d48cc1 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessLocalTypeEntity.java @@ -0,0 +1,15 @@ +package com.glxp.api.admin.entity.basic; + +import lombok.Data; + +@Data +public class BussinessLocalTypeEntity { + + private Integer id; + private String action; + private String name; + private String remark; + private Boolean enable; + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java index 98526285..70f8f206 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/basic/BussinessTypeEntity.java @@ -11,5 +11,6 @@ public class BussinessTypeEntity { private String remark; private String mainAction; private String thirdSysFk; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java new file mode 100644 index 00000000..87e7acca --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/BussinessLocalTypeFilterRequest.java @@ -0,0 +1,15 @@ +package com.glxp.api.admin.req.basic; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class BussinessLocalTypeFilterRequest extends ListPageRequest { + + private String action; + private String name; + private String mainAction; + private Boolean enabled; + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterBasicThirdSysRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterBasicThirdSysRequest.java index 498cb943..ea7e4d68 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterBasicThirdSysRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterBasicThirdSysRequest.java @@ -12,5 +12,6 @@ public class FilterBasicThirdSysRequest extends ListPageRequest { private Integer fromType; private Boolean mainSys; private Boolean filter; + private Boolean isBuType; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java index 98d57878..683ea2ab 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/FilterOrderRequest.java @@ -14,5 +14,7 @@ public class FilterOrderRequest { private Integer page; private Boolean isDownThrSys; private String corpName; + private Boolean isLocal; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderDetailFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderDetailFilterRequest.java new file mode 100644 index 00000000..e1ebe3b6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderDetailFilterRequest.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.req.inout; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class StockOrderDetailFilterRequest extends ListPageRequest { + + private String id; + private String orderIdFk; + private String productId; + private String productName; + private String spec; + private String batchNo; + private String expireDate; + private String productDate; + private String count; + private String reCount; + private String sweepCount; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderFilterRequest.java new file mode 100644 index 00000000..3479487f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderFilterRequest.java @@ -0,0 +1,22 @@ +package com.glxp.api.admin.req.inout; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class StockOrderFilterRequest extends ListPageRequest { + + private String id; + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billFlag; + private String thirdSysFk; + private String status; + private String statusInfo; + private String type; + private String sourceType; + private String status2; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderIdsRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderIdsRequest.java new file mode 100644 index 00000000..ab8b8f7a --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderIdsRequest.java @@ -0,0 +1,13 @@ +package com.glxp.api.admin.req.inout; + +import lombok.Data; + +import java.util.List; + +@Data +public class StockOrderIdsRequest { + + String id; + List ids; + boolean filterUDIType; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderPostRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderPostRequest.java new file mode 100644 index 00000000..7f2df6d9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderPostRequest.java @@ -0,0 +1,26 @@ +package com.glxp.api.admin.req.inout; + +import com.glxp.api.admin.entity.inout.StockOrderDetailEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class StockOrderPostRequest { + + private String id; + private String billNo; + private String billdate; + private String corpId; + private String corpName; + private String billType; + private String billFlag; + private String thirdSysFk; + private String status; + private String statusInfo; + private String type; + private String sourceType; + private String status2; + + private List subErpOrders; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderQueryRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderQueryRequest.java new file mode 100644 index 00000000..b906d537 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/StockOrderQueryRequest.java @@ -0,0 +1,9 @@ +package com.glxp.api.admin.req.inout; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class StockOrderQueryRequest extends ListPageRequest { + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java index 22f27b21..b7b6a559 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/BussinessTypResponse.java @@ -15,5 +15,6 @@ public class BussinessTypResponse { private String thirdId; private String thirdName; private Boolean enabled; + private String localAction; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java new file mode 100644 index 00000000..854f76e6 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/BussinessLocalTypeService.java @@ -0,0 +1,21 @@ +package com.glxp.api.admin.service.basic; + +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; + +import java.util.List; + +public interface BussinessLocalTypeService { + + + List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest); + + + BussinessLocalTypeEntity findBTByAction(String action); + + BussinessLocalTypeEntity findBTByName(String name); + + boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity); + + boolean deleteById(String id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java new file mode 100644 index 00000000..6a4ca2b8 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessLocalTypeServiceImpl.java @@ -0,0 +1,66 @@ +package com.glxp.api.admin.service.basic.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.basic.BussinessLocalTypeDao; +import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity; +import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest; +import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.api.admin.service.basic.BussinessLocalTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService { + + @Resource + BussinessLocalTypeDao bussinessLocalTypeDao; + + @Override + public List filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) { + if (bussinessTypeFilterRequest == null) { + return Collections.emptyList(); + } + if (bussinessTypeFilterRequest.getPage() != null) { + int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit(); + PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit()); + } + List data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest); + return data; + } + + @Override + public BussinessLocalTypeEntity findBTByAction(String action) { + BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); + bussinessTypeFilterRequest.setAction(action); + List data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public BussinessLocalTypeEntity findBTByName(String name) { + BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest(); + bussinessTypeFilterRequest.setName(name); + List data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity) { + return bussinessLocalTypeDao.updateBusLocalType(bussinessTypeEntity); + } + + @Override + public boolean deleteById(String id) { + return bussinessLocalTypeDao.deleteById(id); + } +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java index 11dbedc2..5658017e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/basic/impl/BussinessTypeServiceImpl.java @@ -87,7 +87,24 @@ public class BussinessTypeServiceImpl implements BussinessTypeService { BussinessTypResponse bussinessTypResponse = findJoinBTByAction(action); if (bussinessTypResponse != null) { BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey(key, bussinessTypResponse.getThirdSysFk()); - return basicThirdSysDetailEntity; + if (basicThirdSysDetailEntity == null) { + basicThirdSysDetailEntity = new BasicThirdSysDetailEntity(); + basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction()); + basicThirdSysDetailEntity.setEnabled(true); + return basicThirdSysDetailEntity; + } else { + basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction()); + return basicThirdSysDetailEntity; + } + } else { + BussinessTypeEntity bussinessTypResponse2 = findBTByAction(action); + if (bussinessTypResponse2 != null){ + BasicThirdSysDetailEntity basicThirdSysDetailEntity = new BasicThirdSysDetailEntity(); + basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse2.getLocalAction()); + basicThirdSysDetailEntity.setEnabled(true); + return basicThirdSysDetailEntity; + } + } return null; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderDetailService.java new file mode 100644 index 00000000..60b369a4 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.api.admin.service.inout; + +import com.glxp.api.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +public interface StockOrderDetailService { + + List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); + + boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity); + + boolean insertStockOrderDetails(List stockOrderDetailEntities); + + boolean updateById(StockOrderDetailEntity stockOrderDetailEntity); + + boolean deleteById(String id); + + boolean deleteByOrderIdFk(String id); + + StockOrderDetailEntity findOne(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderService.java new file mode 100644 index 00000000..369994e9 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/StockOrderService.java @@ -0,0 +1,33 @@ +package com.glxp.api.admin.service.inout; + + +import com.glxp.api.admin.entity.inout.StockOrderEntity; +import com.glxp.api.admin.req.inout.StockOrderFilterRequest; +import com.glxp.api.admin.req.inout.StockOrderQueryRequest; + +import java.util.List; + +public interface StockOrderService { + + List listStockOrders(StockOrderQueryRequest stockOrderQueryRequest); + + List listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest); + + boolean insertStockOrder(StockOrderEntity orderEntity); + + boolean updateById(StockOrderEntity stockOrderEntity); + + boolean deleteByOrderId(String orderId); + + boolean deleteById(String id); + + boolean updateByStatus(String orderId, Integer status); + + List findAllOrders(StockOrderFilterRequest stockOrderFilterRequest); + + List filterListOr(StockOrderFilterRequest stockOrderFilterRequest); + + StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest); + + StockOrderEntity findById(String orderId); +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderDetailServiceImpl.java new file mode 100644 index 00000000..38dcee37 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderDetailServiceImpl.java @@ -0,0 +1,61 @@ +package com.glxp.api.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inout.StockOrderDetailDao; +import com.glxp.api.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest; +import com.glxp.api.admin.service.inout.StockOrderDetailService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class StockOrderDetailServiceImpl implements StockOrderDetailService { + + @Resource + StockOrderDetailDao stockOrderDetailDao; + + @Override + public List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest) { + if (stockOrderDetailFilterRequest == null) { + return Collections.emptyList(); + } + if (stockOrderDetailFilterRequest.getPage() != null) { + int offset = (stockOrderDetailFilterRequest.getPage() - 1) * stockOrderDetailFilterRequest.getLimit(); + PageHelper.offsetPage(offset, stockOrderDetailFilterRequest.getLimit()); + } + return stockOrderDetailDao.filterStockOrderDetail(stockOrderDetailFilterRequest); + } + + @Override + public boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity) { + return stockOrderDetailDao.insertStockOrderDetail(stockOrderDetailEntity); + } + + @Override + public boolean insertStockOrderDetails(List StockOrderDetailEntitys) { + return stockOrderDetailDao.insertStockOrderDetails(StockOrderDetailEntitys); + } + + @Override + public boolean updateById(StockOrderDetailEntity stockOrderDetailEntity) { + return stockOrderDetailDao.updateById(stockOrderDetailEntity); + } + + @Override + public boolean deleteById(String id) { + return stockOrderDetailDao.deleteById(id); + } + @Override + public boolean deleteByOrderIdFk(String id) { + return stockOrderDetailDao.deleteByOrderIdFk(id); + } + + @Override + public StockOrderDetailEntity findOne(String id) { + return stockOrderDetailDao.findOne(id); + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderServiceImpl.java new file mode 100644 index 00000000..4b99ae95 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/StockOrderServiceImpl.java @@ -0,0 +1,95 @@ +package com.glxp.api.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inout.StockOrderDao; +import com.glxp.api.admin.entity.inout.StockOrderEntity; +import com.glxp.api.admin.req.inout.StockOrderFilterRequest; +import com.glxp.api.admin.req.inout.StockOrderQueryRequest; +import com.glxp.api.admin.service.inout.StockOrderService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class StockOrderServiceImpl implements StockOrderService { + + @Resource + StockOrderDao stockOrderDao; + + @Override + public List listStockOrders(StockOrderQueryRequest stockOrderQueryRequest) { + if (stockOrderQueryRequest == null) { + return Collections.emptyList(); + } + int offset = (stockOrderQueryRequest.getPage() - 1) * stockOrderQueryRequest.getLimit(); + PageHelper.offsetPage(offset, stockOrderQueryRequest.getLimit()); + return stockOrderDao.listStockOrder(stockOrderQueryRequest); + } + + + @Override + public boolean insertStockOrder(StockOrderEntity stockOrderEntity) { + return stockOrderDao.insertStockOrder(stockOrderEntity); + } + + @Override + public List listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest) { + if (stockOrderQueryRequest == null) { + return Collections.emptyList(); + } + int offset = (stockOrderQueryRequest.getPage() - 1) * stockOrderQueryRequest.getLimit(); + PageHelper.offsetPage(offset, stockOrderQueryRequest.getLimit()); + return stockOrderDao.listStockOrderNoDealWith(stockOrderQueryRequest); + } + + @Override + public boolean updateById(StockOrderEntity stockOrderEntity) { + return stockOrderDao.updateById(stockOrderEntity); + } + + @Override + public boolean deleteByOrderId(String orderId) { + return stockOrderDao.deleteByOrderId(orderId); + } + + @Override + public boolean deleteById(String id) { + return stockOrderDao.deleteById(id); + } + + @Override + public boolean updateByStatus(String orderId, Integer status) { + return stockOrderDao.updateByStatus(orderId, status); + } + + @Override + public List findAllOrders(StockOrderFilterRequest stockOrderFilterRequest) { + return stockOrderDao.filterListOr(stockOrderFilterRequest); + } + + @Override + public List filterListOr(StockOrderFilterRequest stockOrderFilterRequest) { + if (stockOrderFilterRequest == null) { + return Collections.emptyList(); + } + int offset = (stockOrderFilterRequest.getPage() - 1) * stockOrderFilterRequest.getLimit(); + PageHelper.offsetPage(offset, stockOrderFilterRequest.getLimit()); + return stockOrderDao.filterListOr(stockOrderFilterRequest); + } + + @Override + public StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest) { + return stockOrderDao.findOne(stockOrderFilterRequest); + } + + @Override + public StockOrderEntity findById(String orderId) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setId(orderId); + return stockOrderDao.findOne(stockOrderFilterRequest); + } + + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java index ae8beddf..73114eb2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/thrsys/ThrDataService.java @@ -2,14 +2,22 @@ package com.glxp.api.admin.service.thrsys; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; +import com.glxp.api.admin.entity.inout.ErpOrderEntity; +import com.glxp.api.admin.entity.inout.StockOrderDetailEntity; +import com.glxp.api.admin.entity.inout.StockOrderEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.httpclient.ErpBasicClient; import com.glxp.api.admin.req.basic.FilterErpGoodsRequest; +import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest; +import com.glxp.api.admin.req.inout.StockOrderFilterRequest; import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.ErpProductsResponse; +import com.glxp.api.admin.res.inout.ErpOrderResponse; import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; import com.glxp.api.admin.service.basic.BasicThirdSysService; +import com.glxp.api.admin.service.inout.StockOrderDetailService; +import com.glxp.api.admin.service.inout.StockOrderService; import com.glxp.api.admin.thread.IoModifyErpTask; import com.glxp.api.common.res.BaseResponse; import org.slf4j.Logger; @@ -18,6 +26,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; /** @@ -31,19 +40,22 @@ public class ThrDataService { private BasicThirdSysDetailService basicThirdSysDetailService; @Resource private ThrProductsService thrProductsService; - + @Resource + private StockOrderService stockOrderService; + @Resource + private StockOrderDetailService stockOrderDetailService; final Logger logger = LoggerFactory.getLogger(ThrDataService.class); public ThrProductsEntity getProducts(String code, String thirdSys) { BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("piQueryUrl", thirdSys); - if(basicThirdSysDetailEntity==null || !basicThirdSysDetailEntity.getEnabled()){ + if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) { logger.info("第三方产品信息服务未启用"); return null; } - if ( basicThirdSysDetailEntity.getFromType() == 0 ) { + if (basicThirdSysDetailEntity.getFromType() == 0) { FilterErpGoodsRequest filterErpGoodsRequest = new FilterErpGoodsRequest(); filterErpGoodsRequest.setCode(code); filterErpGoodsRequest.setPage(1); @@ -69,4 +81,68 @@ public class ThrDataService { return null; } + + public List getStockOrders(List billCodes) { + if (billCodes != null && billCodes.size() > 0) { + for (String billCode : billCodes) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(billCode); + List data = stockOrderService.findAllOrders(stockOrderFilterRequest); + List erpOrderEntities = new ArrayList<>(); + if (data != null && data.size() > 0) { + for (StockOrderEntity thrOrderEntity : data) { + StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest); + + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderEntity erpOrderResponse = new ErpOrderEntity(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderResponse); + erpOrderEntities.add(erpOrderResponse); + } + } + } + } + return erpOrderEntities; + + } + + } + return null; + } + + public List getCacheOrders(List billCodes) { + if (billCodes != null && billCodes.size() > 0) { + for (String billCode : billCodes) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(billCode); + List data = stockOrderService.findAllOrders(stockOrderFilterRequest); + List erpOrderEntities = new ArrayList<>(); + if (data != null && data.size() > 0) { + for (StockOrderEntity thrOrderEntity : data) { + StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest(); + filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + ""); + List thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest); + + List subErpOrders = new ArrayList<>(); + if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) { + for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { + ErpOrderEntity erpOrderResponse = new ErpOrderEntity(); + BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse); + BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderResponse); + erpOrderEntities.add(erpOrderResponse); + } + } + } + } + return erpOrderEntities; + + } + + } + return null; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java index fae6a83c..adea25c7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java @@ -26,6 +26,8 @@ import com.glxp.api.admin.service.inout.CodesTempService; import com.glxp.api.admin.service.inout.OrderDetailService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inout.CodesService; +import com.glxp.api.admin.service.thrsys.ThrDataService; +import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.util.FilterUdiUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,6 +64,10 @@ public class IoTransInoutService { private SystemParamConfigService systemParamConfigService; @Resource private BussinessTypeService bussinessTypeService; + @Resource + private ThrOrderService thrOrderService; + @Resource + ThrDataService thrDataService; //生成订单,插入零时表 @Async @@ -198,39 +204,48 @@ public class IoTransInoutService { if (erpIds != null && erpIds.size() > 0) { BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(orderEntity.getAction(), "orderQueryUrl"); - if (basicThirdSysDetailEntity.getEnabled() && basicThirdSysDetailEntity.getFromType() == 0) { - if (basicThirdSysDetailEntity.getValue() == null) { - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderEntity.setRemark("获取ERP出入库单据接口地址未定义"); - orderService.updateOrder(orderEntity); - } else { - String erpOrderUrl = basicThirdSysDetailEntity.getValue(); - List cloudErps = new ErpOrderClient(erpOrderUrl).getErpOrder(erpIds, orderEntity.getAction()); - if (cloudErps != null && cloudErps.size() > 0) { - List returnOrders = new ContrastErpUtil().transErp(cloudErps, udiRelevanceService, orderEntity.getId()); - ErpOrderEntity temp = returnOrders.get(0); - for (int i = 0; i < returnOrders.size(); i++) { - if (!temp.getCompanyname().equals(returnOrders.get(i).getCompanyname())) { - orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); - orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderEntity.setRemark("选择Erp订单往来单位不一致"); - orderService.updateOrder(orderEntity); - return; - } - } - myErpOrderService.deleteByOrderId(orderEntity.getId()); - myErpOrderService.insertErpOrders(returnOrders); - new ContrastErpUtil(udiUrl).contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService); - } else { + if (basicThirdSysDetailEntity.getThirdSysFk() == null && basicThirdSysDetailEntity.getLocalAction() != null) { + List erpOrderEntities = thrDataService.getStockOrders(erpIds); + checkThirdOrder(erpOrderEntities, orderEntity, transData); + } else if (basicThirdSysDetailEntity != null && basicThirdSysDetailEntity.getEnabled()) { + if (basicThirdSysDetailEntity.getFromType() == 0) { + if (basicThirdSysDetailEntity.getValue() == null) {//实时拉取 orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); - orderEntity.setRemark("获取ERP出入库单据失败"); + orderEntity.setRemark("获取ERP出入库单据接口地址未定义"); orderService.updateOrder(orderEntity); - myErpOrderService.deleteByOrderId(orderEntity.getId()); - new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData); + } else { + String erpOrderUrl = basicThirdSysDetailEntity.getValue(); + List cloudErps = new ErpOrderClient(erpOrderUrl).getErpOrder(erpIds, orderEntity.getAction()); + + if (basicThirdSysDetailEntity.getLocalAction() != null) { + List erpOrderEntities = thrDataService.getStockOrders(erpIds); + if (cloudErps == null) { + cloudErps = new ArrayList<>(); + } + cloudErps.addAll(erpOrderEntities); + checkThirdOrder(erpOrderEntities, orderEntity, transData); + + } else { + checkThirdOrder(cloudErps, orderEntity, transData); + } + + } + } else { //缓存表拉取 + List erpOrderEntities = thrOrderService.filterAllOrders(erpIds, basicThirdSysDetailEntity.getThirdSysFk()); + if (basicThirdSysDetailEntity.getLocalAction() != null) { + List temps = thrDataService.getStockOrders(erpIds); + if (erpOrderEntities == null) { + erpOrderEntities = new ArrayList<>(); + } + erpOrderEntities.addAll(temps); + checkThirdOrder(erpOrderEntities, orderEntity, transData); + + } else { + checkThirdOrder(erpOrderEntities, orderEntity, transData); } } + } else { orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); @@ -251,6 +266,32 @@ public class IoTransInoutService { } } + public void checkThirdOrder(List cloudErps, OrderEntity orderEntity, List transData) { + if (cloudErps != null && cloudErps.size() > 0) { + List returnOrders = new ContrastErpUtil().transErp(cloudErps, udiRelevanceService, orderEntity.getId()); + ErpOrderEntity temp = returnOrders.get(0); + for (int i = 0; i < returnOrders.size(); i++) { + if (!temp.getCompanyname().equals(returnOrders.get(i).getCompanyname())) { + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderEntity.setRemark("选择Erp订单往来单位不一致"); + orderService.updateOrder(orderEntity); + return; + } + } + myErpOrderService.deleteByOrderId(orderEntity.getId()); + myErpOrderService.insertErpOrders(returnOrders); + new ContrastErpUtil(udiUrl).contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService); + } else { + orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL); + orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS); + orderEntity.setRemark("获取ERP出入库单据失败"); + orderService.updateOrder(orderEntity); + myErpOrderService.deleteByOrderId(orderEntity.getId()); + new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData); + } + } + //重码校验错误重新提交 @Async public void repeatCommit(CommitRequest commitRequest) { diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml new file mode 100644 index 00000000..cf7315da --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessLocalTypeDao.xml @@ -0,0 +1,57 @@ + + + + + + + + + + INSERT INTO basic_bustype_local + (action,name,enable,remark) + values + ( + #{action}, + #{name}, + #{enable}, + #{remark}, + ) + + + + UPDATE basic_bustype_local + + action = #{action}, + name = #{name}, + enable = #{enable}, + remark = #{remark}, + + WHERE id = #{id} + + + + DELETE FROM basic_bustype_local WHERE id = #{id} + + + + + diff --git a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml index b32e60c6..52c801a6 100644 --- a/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/basic/BussinessTypeDao.xml @@ -49,14 +49,14 @@ INSERT INTO basic_bussiness_type - (action,name,enable,remark,mainAction) + (action,name,enable,remark,mainAction,localAction) values ( #{action}, #{name}, #{enable}, #{remark}, - #{mainAction} + #{mainAction},#{localAction} ) @@ -68,7 +68,8 @@ enable = #{enable}, remark = #{remark}, mainAction = #{mainAction}, - thirdSysFk=#{thirdSysFk} + thirdSysFk=#{thirdSysFk}, + localAction=#{localAction}, WHERE id = #{id} diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml new file mode 100644 index 00000000..39817e38 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDao.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag, + thirdSysFk, status, statusInfo, type, sourceType, status2) + values ( + #{id}, + #{billNo}, + #{billdate}, + #{corpId}, + #{corpName}, + #{billType}, + #{billFlag}, + #{thirdSysFk}, + #{status}, + #{statusInfo}, + #{type}, + #{sourceType}, + #{status2} + ) + + + UPDATE stock_order + + billNo=#{billNo}, + billdate=#{billdate}, + corpId=#{corpId}, + corpName=#{corpName}, + billType=#{billType}, + billFlag=#{billFlag}, + thirdSysFk=#{thirdSysFk}, + status=#{status}, + statusInfo=#{statusInfo}, + type=#{type}, + sourceType=#{sourceType}, + status2=#{status2}, + + WHERE id = #{id} + + + + DELETE + FROM stock_order + WHERE id = #{orderId} + + + + DELETE + FROM stock_order + WHERE id = #{id} + + + + UPDATE stock_order + SET `status` = #{status} + where id = #{orderId} + + + + + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml new file mode 100644 index 00000000..c342f700 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderDetail.xml @@ -0,0 +1,104 @@ + + + + + + + + + replace + INTO stock_order_detail(id, + orderIdFk,productId,productName,spec,batchNo,productDate, + expireDate,count,reCount,sweepCount) + values( + #{id}, + #{orderIdFk}, + #{productId}, + #{productName}, + #{spec}, + #{batchNo}, + #{productDate}, + #{expireDate}, + #{count}, + #{reCount}, + #{sweepCount} + ) + + + + replace INTO stock_order_detail(id, + orderIdFk,productId,productName,spec,batchNo,productDate, + expireDate,count,reCount,sweepCount) + values + + ( + #{item.id}, + #{item.orderIdFk}, + #{item.productId}, + #{item.productName}, + #{item.spec}, + #{item.batchNo}, + #{item.productDate}, + #{item.expireDate}, + #{item.count}, + #{item.reCount}, + #{item.sweepCount} + ) + + + + + + UPDATE stock_order_detail + + batchNo=#{batchNo}, + productDate=#{productDate}, + expireDate=#{expireDate}, + sweepCount=#{sweepCount}, + reCount=#{reCount}, + + WHERE id = #{id} + + + + DELETE + FROM stock_order_detail + WHERE id = #{id} + + + + DELETE + FROM stock_order_detail + WHERE orderIdFk = #{id} + + + + + \ No newline at end of file