From 59940663316f3672d6441a4f47d9fb60d85f8c7d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 20 Nov 2021 20:31:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=93=E5=AD=98=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/udi/admin/constant/Constant.java | 21 +++ .../udi/admin/constant/CookieConstant.java | 18 ++ .../controller/inout/BusRoleRlController.java | 159 ++++++++++++++++++ .../inout/BussinessTypeController.java | 110 ++++++++++++ .../inout/CodeNeedRlController.java | 55 ++++++ .../admin/controller/inout/InoutUtils.java | 29 +++- .../inout/InvProductsController.java | 100 +++++++++++ .../controller/inout/OrderController.java | 8 +- .../controller/inout/UdiInfoController.java | 76 ++++++++- .../inout/UdiRelevanceController.java | 41 ++++- .../controller/inout/UdiTraceController.java | 149 ++++++++++++++-- .../inout/UnitMaintainController.java | 29 ++++ .../udi/admin/dao/inout/BusRoleRlDao.java | 24 +++ .../udi/admin/dao/inout/BussinessTypeDao.java | 25 +++ .../udi/admin/dao/inout/CodeNeedRlDao.java | 20 +++ .../udi/admin/dao/inout/ScheduledDao.java | 18 ++ .../admin/entity/inout/BusRoleRlEntity.java | 12 ++ .../entity/inout/BussinessTypeEntity.java | 10 +- .../admin/entity/inout/CodeNeedRlEntity.java | 27 +++ .../admin/entity/inout/ErpOrderEntity.java | 4 +- .../entity/inout/InvProductDetailEntity.java | 19 +++ .../admin/entity/inout/InvProductEntity.java | 34 ++++ .../admin/entity/inout/ScheduledEntity.java | 12 ++ .../admin/entity/inout/UdiCompanyEntity.java | 20 +++ .../udi/admin/entity/inout/UdiInfoEntity.java | 10 ++ .../entity/inout/UnitMaintainEntity.java | 1 + .../entity/receipt/BussinessTypeEntity.java | 14 -- .../udi/admin/entity/udid/DeviceEntity.java | 14 ++ .../com/glxp/udi/admin/mongo/MongoDBName.java | 3 + .../service/InvProductDetailMdService.java | 105 ++++++++++++ .../mongo/service/InvProductMdService.java | 129 ++++++++++++++ .../admin/mongo/service/OrderMdService.java | 47 ++++++ .../mongo/service/WarehouseMdService.java | 14 +- .../admin/mongo/utils/MongoPageHelper.java | 2 +- .../req/inout/BusRoleRlFilterRequest.java | 21 +++ .../req/inout/CodeNeedRlFilterRequest.java | 12 ++ .../inout/FilterInvProductDetailRequest.java | 17 ++ .../req/inout/FilterInvProductRequest.java | 28 +++ .../admin/req/inout/FilterUdiInfoRequest.java | 19 +++ .../udi/admin/req/inout/ScheduledRequest.java | 9 + .../req/inout/WarehouseQueryRequest.java | 3 + .../receipt/BussinessTypeFilterRequest.java | 7 +- .../admin/res/basic/BussinessTypResponse.java | 22 +++ .../admin/res/basic/ProductInfoResponse.java | 12 ++ .../admin/res/inout/BusRoleRlResponse.java | 21 +++ .../admin/service/inout/BusRoleRlService.java | 21 +++ .../service/inout/BussinessTypeService.java | 12 +- .../service/inout/CodeNeedRlService.java | 18 ++ .../inout/impl/BusRoleRlServiceImpl.java | 63 +++++++ .../inout/impl/BussinessTypeServiceImpl.java | 96 +++++++++++ .../inout/impl/CodeNeedRlServiceImpl.java | 45 +++++ .../inout/impl/UdiInfoServiceImpl.java | 6 +- .../thread/BasicUpdateProductService.java | 96 +++++++++++ .../admin/thread/InvProductsTrService.java | 108 ++++++++++++ .../udi/admin/thread/TransInoutService.java | 121 ++++++------- .../glxp/udi/admin/thread/TransInoutTask.java | 152 +++++++++++++++++ .../glxp/udi/admin/thread/VailIsUseDy.java | 10 ++ .../main/resources/application-pro.properties | 7 +- .../mybatis/mapper/inout/BusRoleRlDao.xml | 70 ++++++++ .../mybatis/mapper/inout/BussinessTypeDao.xml | 85 ++++++++++ .../mybatis/mapper/inout/CodeNeedRlDao.xml | 60 +++++++ .../mybatis/mapper/inout/ScheduleDao.xml | 40 +++++ .../mybatis/mapper/inout/UdiInfoDao.xml | 5 +- .../mapper/receipt/BussinessTypeDao.xml | 46 ----- 64 files changed, 2416 insertions(+), 175 deletions(-) create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/constant/Constant.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BusRoleRlController.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BussinessTypeController.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/controller/inout/CodeNeedRlController.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InvProductsController.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BusRoleRlDao.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BussinessTypeDao.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/dao/inout/CodeNeedRlDao.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/dao/inout/ScheduledDao.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BusRoleRlEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/CodeNeedRlEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductDetailEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ScheduledEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiCompanyEntity.java delete mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/receipt/BussinessTypeEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductDetailMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/req/inout/BusRoleRlFilterRequest.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/req/inout/CodeNeedRlFilterRequest.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductDetailRequest.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductRequest.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/req/inout/ScheduledRequest.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/res/basic/BussinessTypResponse.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/res/basic/ProductInfoResponse.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/res/inout/BusRoleRlResponse.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/service/inout/BusRoleRlService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/service/inout/CodeNeedRlService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BusRoleRlServiceImpl.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BussinessTypeServiceImpl.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/CodeNeedRlServiceImpl.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/thread/BasicUpdateProductService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/thread/InvProductsTrService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutTask.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/thread/VailIsUseDy.java create mode 100644 api-udims/src/main/resources/mybatis/mapper/inout/BusRoleRlDao.xml create mode 100644 api-udims/src/main/resources/mybatis/mapper/inout/BussinessTypeDao.xml create mode 100644 api-udims/src/main/resources/mybatis/mapper/inout/CodeNeedRlDao.xml create mode 100644 api-udims/src/main/resources/mybatis/mapper/inout/ScheduleDao.xml delete mode 100644 api-udims/src/main/resources/mybatis/mapper/receipt/BussinessTypeDao.xml diff --git a/api-udims/src/main/java/com/glxp/udi/admin/constant/Constant.java b/api-udims/src/main/java/com/glxp/udi/admin/constant/Constant.java new file mode 100644 index 0000000..7896338 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/constant/Constant.java @@ -0,0 +1,21 @@ +package com.glxp.udi.admin.constant; + +public class Constant { + + public static final Integer DITYPE_DI = 1; //主标识 + public static final Integer DITYPE_SYDY = 2; //使用单元标识 + public static final Integer DITYPE_PK = 4; //包装标识 + public static final Integer DITYPE_SELF = 3; //本体标识 + + + public static final int USEDY_TRUE = 1; //使用单元入库 + public static final int USEDY_FALSE = 0; //不使用单元入库 + + + public static final String ORDER_STATUS_SUCCESS = "success"; + public static final String ORDER_STATUS_ERROR = "error"; + public static final String ORDER_STATUS_NEW = "new"; + public static final String ORDER_STATUS_PROCESS = "process"; + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/constant/CookieConstant.java b/api-udims/src/main/java/com/glxp/udi/admin/constant/CookieConstant.java index 1d6a16d..35d8710 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/constant/CookieConstant.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/constant/CookieConstant.java @@ -6,6 +6,24 @@ package com.glxp.udi.admin.constant; public interface CookieConstant { String TOKEN = "token"; + String test = "0106922943800643102024112111021722110221101002" + + "0126922943800647102024112111021722110221101" + + "0126922943800647102024112111021722110221101" + + "010697121760652811200226172302271020022632100001" + + "010697121760652811200226172302271020022632100003" + + "" + + "010692294380065010PCH000111210112172301112100001" + + "0106922943800650172301111121011210PCH00012100003" + + "01069229438006501723011110PCH00012100004" + + "010692294380065010PCH00012100007" + + "01069012345678921055511111111175555552195656" + + "010692294380065010PCH000111210112172301112100001" + + "010692294380065010PCH00011121011217230111" + + "01069229438006501723011110PCH00012100004" + + "010692294380065010PCH000111210112172301112100001" + + "010692294380065010PCH000111210112172301112100001" + + "0126922943800647102024\u001D112111021722110221101"+ + "01269229438006541121012117230121102021011604\u001D2100001"; Integer EXPIRE = 7200; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BusRoleRlController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BusRoleRlController.java new file mode 100644 index 0000000..70ae0a2 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BusRoleRlController.java @@ -0,0 +1,159 @@ +package com.glxp.udi.admin.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.udi.admin.entity.auth.AuthAdmin; +import com.glxp.udi.admin.entity.auth.CustomerInfoEntity; +import com.glxp.udi.admin.entity.inout.BusRoleRlEntity; +import com.glxp.udi.admin.entity.inout.BussinessTypeEntity; +import com.glxp.udi.admin.exception.JsonException; +import com.glxp.udi.admin.req.inout.BusRoleRlFilterRequest; +import com.glxp.udi.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.res.inout.BusRoleRlResponse; +import com.glxp.udi.admin.service.auth.AuthAdminService; +import com.glxp.udi.admin.service.auth.CustomerInfoService; +import com.glxp.udi.admin.service.inout.BusRoleRlService; +import com.glxp.udi.admin.service.inout.BussinessTypeService; +import com.glxp.udi.common.enums.ResultEnum; +import com.glxp.udi.common.res.BaseResponse; +import com.glxp.udi.common.util.ResultVOUtils; +import org.springframework.beans.BeanUtils; +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 org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.List; + +@RestController +public class BusRoleRlController { + + @Resource + private BusRoleRlService busRoleRlService; + @Resource + private CustomerInfoService customerInfoService; + @Resource + private BussinessTypeService bussinessTypeService; + @Resource + private AuthAdminService authAdminService; + + @GetMapping("/udiwms/busRl/filter") + public BaseResponse filterbBusRl(BusRoleRlFilterRequest busRoleRlFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List busRoleRlResponses; + busRoleRlResponses = busRoleRlService.filterJoinList(busRoleRlFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(busRoleRlResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(busRoleRlResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/busRl/filterAll") + public BaseResponse filterbBusRlAll(BusRoleRlFilterRequest busRoleRlFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + BeanUtils.copyProperties(busRoleRlFilterRequest, bussinessTypeFilterRequest); + List bussinessTypeEntities; + bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest); + + List busRoleRlResponses; + busRoleRlResponses = busRoleRlService.filterList(busRoleRlFilterRequest); + + for (BussinessTypeEntity bussinessTypeEntity : bussinessTypeEntities) { + for (BusRoleRlEntity busRoleRlResponse : busRoleRlResponses) { + if (bussinessTypeEntity.getAction().equals(busRoleRlResponse.getBusAction())) { + bussinessTypeEntity.setCheck(true); + } + } + } + + PageInfo pageInfo; + pageInfo = new PageInfo<>(bussinessTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(bussinessTypeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/bussinessType/filter") + public BaseResponse filterByRole(BusRoleRlFilterRequest busRoleRlFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + if (authAdmin.getCustomerId() == 110) {//系统管理员角色 + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + BeanUtils.copyProperties(busRoleRlFilterRequest, bussinessTypeFilterRequest); + 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); + + } else { + CustomerInfoEntity customerInfoEntity = customerInfoService. + selectById(authAdmin.getCustomerId()); + busRoleRlFilterRequest.setRoleId(customerInfoEntity.getRoleId() + ""); + List busRoleRlResponses; + busRoleRlResponses = busRoleRlService.filterJoinList(busRoleRlFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(busRoleRlResponses); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(busRoleRlResponses); + return ResultVOUtils.success(pageSimpleResponse); + } + + } + + + @PostMapping("/udiwms/busRl/update") + public BaseResponse postBusRl(@RequestBody BusRoleRlFilterRequest busRoleRlFilterRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + busRoleRlService.deleteById(busRoleRlFilterRequest.getRoleId() + ""); + if (busRoleRlFilterRequest.getActions() != null && busRoleRlFilterRequest.getActions().size() > 0) { + for (String action : busRoleRlFilterRequest.getActions()) { + BusRoleRlEntity busRoleRlEntity = new BusRoleRlEntity(); + busRoleRlEntity.setRoleId(busRoleRlFilterRequest.getRoleId()); + busRoleRlEntity.setBusAction(action); + busRoleRlService.insertBusRoleRl(busRoleRlEntity); + } + + return ResultVOUtils.success("关联成功"); + } else { + return ResultVOUtils.success("未选择业务单据类型!"); + } + + + } + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BussinessTypeController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BussinessTypeController.java new file mode 100644 index 0000000..29052aa --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/BussinessTypeController.java @@ -0,0 +1,110 @@ +package com.glxp.udi.admin.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.udi.admin.entity.inout.BussinessTypeEntity; +import com.glxp.udi.admin.req.inout.DeleteRequest; +import com.glxp.udi.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.res.basic.BussinessTypResponse; +import com.glxp.udi.admin.service.inout.BussinessTypeService; +import com.glxp.udi.common.enums.ResultEnum; +import com.glxp.udi.common.res.BaseResponse; +import com.glxp.udi.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 BussinessTypeController { + + + @Resource + private BussinessTypeService bussinessTypeService; + + +// @GetMapping("/udiwms/bussinessType/filter") +// public BaseResponse filterBussinessType(BussinessTypeFilterRequest 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); +// } + + @GetMapping("/udiwms/bussinessType/joinFilter") + public BaseResponse filterJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List bussinessTypeEntities; + bussinessTypeEntities = bussinessTypeService.filterJoinList(bussinessTypeFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(bussinessTypeEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(bussinessTypeEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/bussinessType/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/bussinessType/update") + public BaseResponse updateBussinessType(@RequestBody BussinessTypeEntity bussinessTypeEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessTypeService.updateBussinessType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + + @PostMapping("/udiwms/bussinessType/insert") + public BaseResponse insertBussinessType(@RequestBody BussinessTypeEntity bussinessTypeEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (bussinessTypeEntity != null) { + bussinessTypeService.insertBussinessType(bussinessTypeEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("添加成功"); + } + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/CodeNeedRlController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/CodeNeedRlController.java new file mode 100644 index 0000000..d7ba52c --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/CodeNeedRlController.java @@ -0,0 +1,55 @@ +package com.glxp.udi.admin.controller.inout; + +import com.github.pagehelper.PageInfo; +import com.glxp.udi.admin.entity.inout.CodeNeedRlEntity; +import com.glxp.udi.admin.req.inout.CodeNeedRlFilterRequest; +import com.glxp.udi.admin.req.inout.DeleteRequest; +import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.service.inout.CodeNeedRlService; +import com.glxp.udi.common.enums.ResultEnum; +import com.glxp.udi.common.res.BaseResponse; +import com.glxp.udi.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 CodeNeedRlController { + + @Resource + CodeNeedRlService codeNeedRlService; + + @GetMapping("/udims/io/getNeedRlCodes") + public BaseResponse getNeedRlCodes(CodeNeedRlFilterRequest codeNeedRlFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List codeNeedRlEntities = codeNeedRlService.filterList(codeNeedRlFilterRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(codeNeedRlEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(codeNeedRlEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @PostMapping("/udims/io/delNeedRlCode") + public BaseResponse delNeedRlCode(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + codeNeedRlService.deleteById(id); + return ResultVOUtils.success("删除成功"); + } + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InoutUtils.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InoutUtils.java index 1395681..c5a7ccc 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InoutUtils.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InoutUtils.java @@ -1,6 +1,7 @@ package com.glxp.udi.admin.controller.inout; +import com.glxp.udi.admin.constant.Constant; import com.glxp.udi.admin.constant.TypeConstant; import com.glxp.udi.admin.entity.info.SetupEntity; import com.glxp.udi.admin.entity.inout.*; @@ -14,15 +15,22 @@ import com.glxp.udi.admin.service.inout.UdiRelevanceService; import com.glxp.udi.admin.service.receipts.ProductInfoService; import com.glxp.udi.admin.util.FilterUdiUtils; import org.springframework.beans.BeanUtils; +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 InoutUtils { String udiUrl = ""; + + @Resource + UdiInfoService udiInfoService; + public InoutUtils() { } @@ -39,7 +47,7 @@ public class InoutUtils { List warehouseEntityList = warehouseService.findByCode(filterWarehouseRequest); WarehouseEntity warehouseData = new WarehouseEntity(); - BeanUtils.copyProperties(warehousetemp,warehouseData); + BeanUtils.copyProperties(warehousetemp, warehouseData); if (warehouseEntityList == null || warehouseEntityList.size() == 0) { //数据库为null,可以添加 return nullVail(warehousetemp, setupEntity); } @@ -248,6 +256,18 @@ public class InoutUtils { return udiInfoEntity; } + + public String vailIsUseDy(WarehousetempEntity warehouseEntity) { + UdiInfoEntity udiInfoEntity = getUdiInfo(udiInfoService, null, warehouseEntity.getCode()); + if (udiInfoEntity.getDiType() == Constant.DITYPE_SYDY) { + if (udiInfoEntity.getIsUseDy() != Constant.USEDY_TRUE) { + return "该产品未勾选以使用单元入库"; + } + } + return null; + } + + public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, OrderDetailMdService orderDetailMdService, List warehouseEntityList) { @@ -273,6 +293,8 @@ public class InoutUtils { if (temp != null) { detailCodeEntity.setCount(temp.getCount() + detailCodeEntity.getCount()); } + + sortMaps.put(key, detailCodeEntity); } @@ -288,14 +310,17 @@ public class InoutUtils { erpOrderEntity.setPackRatio(erpDetailCodeEntity.getPackRatio()); erpOrderEntity.setCoName(erpDetailCodeEntity.getCpmctymc()); erpOrderEntity.setLotno(erpDetailCodeEntity.getBatchNo()); + erpOrderEntity.setProduceDate(erpDetailCodeEntity.getProduceDate()); + erpOrderEntity.setExpireDate(erpDetailCodeEntity.getExpireDate()); erpOrderEntity.setCount(erpDetailCodeEntity.getCount()); erpOrderEntity.setOrderIdFk(warehouseEntityList.get(0).getOrderId()); erpOrderEntity.setProductCompany(erpDetailCodeEntity.getYlqxzcrbarmc()); erpOrderEntity.setAuthCode(erpDetailCodeEntity.getZczbhhzbapzbh()); + erpOrderEntity.setUuidFk(erpDetailCodeEntity.getUuid()); erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh()); erpOrderEntities.add(erpOrderEntity); } - if (!erpOrderEntities.isEmpty()){ + if (!erpOrderEntities.isEmpty()) { orderDetailMdService.insertOrderDetail(erpOrderEntities); } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InvProductsController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InvProductsController.java new file mode 100644 index 0000000..166d8ed --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/InvProductsController.java @@ -0,0 +1,100 @@ +package com.glxp.udi.admin.controller.inout; + +import com.glxp.udi.admin.entity.inout.InvProductDetailEntity; +import com.glxp.udi.admin.entity.inout.InvProductEntity; +import com.glxp.udi.admin.entity.inout.UdiInfoEntity; +import com.glxp.udi.admin.mongo.service.InvProductDetailMdService; +import com.glxp.udi.admin.mongo.service.InvProductMdService; +import com.glxp.udi.admin.mongo.utils.PageResult; +import com.glxp.udi.admin.req.inout.DeleteRequest; +import com.glxp.udi.admin.req.inout.FilterInvProductDetailRequest; +import com.glxp.udi.admin.req.inout.FilterInvProductRequest; +import com.glxp.udi.admin.req.inout.FilterUdiInfoRequest; +import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.service.inout.UdiInfoService; +import com.glxp.udi.common.enums.ResultEnum; +import com.glxp.udi.common.res.BaseResponse; +import com.glxp.udi.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.ArrayList; +import java.util.List; + +@RestController +public class InvProductsController { + + @Resource + InvProductMdService invProductService; + @Resource + InvProductDetailMdService invProductDetailService; + @Resource + UdiInfoService udiInfoService; + + @GetMapping("udims/inv/products/filter") + public BaseResponse filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + + if ((filterInvProductRequest.getProductsName() != null && !filterInvProductRequest.getProductsName().isEmpty()) + || (filterInvProductRequest.getNameCode() != null && !filterInvProductRequest.getNameCode().isEmpty())) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setNameCode(filterInvProductRequest.getNameCode()); + filterUdiInfoRequest.setCpmctymc(filterInvProductRequest.getProductsName()); + List udiInfoEntities = udiInfoService.filterAllUdiInfo(filterUdiInfoRequest); + List uuids = new ArrayList<>(); + for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { + uuids.add(udiInfoEntity.getUuid()); + } + filterInvProductRequest.setUuids(uuids); + if (uuids.size() <= 0) + return ResultVOUtils.success(new PageSimpleResponse<>()); + } + PageResult invProductEntityPageResult = invProductService.filterInvProduct(filterInvProductRequest); + + List invProductEntities = invProductEntityPageResult.getList(); + for (InvProductEntity invProductEntity : invProductEntities) { + UdiInfoEntity udiInfoEntity = udiInfoService.findByUuid(invProductEntity.getRelIdFk()); + invProductEntity.setNameCode(udiInfoEntity.getNameCode()); + invProductEntity.setProductsName(udiInfoEntity.getCpmctymc()); + invProductEntity.setGgxh(udiInfoEntity.getGgxh()); + } + + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(invProductEntityPageResult.getTotal()); + pageSimpleResponse.setList(invProductEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @GetMapping("udims/inv/products/filterDetail") + public BaseResponse filterInvProductDetail(FilterInvProductDetailRequest filterInvProductRequest) { + PageResult pageResult = invProductDetailService.filterInvProduct(filterInvProductRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageResult.getTotal()); + pageSimpleResponse.setList(pageResult.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("udims/inv/products/delete") + public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + String id = deleteRequest.getId(); + InvProductEntity invProductEntity = invProductService.selectById(id); + if (invProductEntity != null) { + invProductService.deleteById(id); + invProductDetailService.deleteByProductId(invProductEntity.getId() + ""); + return ResultVOUtils.success("删除成功"); + } else { + return ResultVOUtils.error(500, "删除失败!"); + } + + + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/OrderController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/OrderController.java index bef1e4d..1f70daa 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/OrderController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/OrderController.java @@ -2,6 +2,7 @@ package com.glxp.udi.admin.controller.inout; import com.github.pagehelper.PageInfo; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; +import com.glxp.udi.admin.constant.Constant; import com.glxp.udi.admin.entity.auth.AuthAdmin; import com.glxp.udi.admin.entity.inout.ErpOrderEntity; import com.glxp.udi.admin.entity.inout.OrderEntity; @@ -79,7 +80,7 @@ public class OrderController { } AuthAdmin authAdmin = new GetAuthAdminUtil(authAdminService).getAuthAdmin(attributes); orderFilterRequest.setCustomerId(authAdmin.getCustomerId()); - orderFilterRequest.setStatus("success"); +// orderFilterRequest.setStatus(Constant.ORDER_STATUS_SUCCESS); // if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { // FilterWarehouseRequest filterWarehouseRequest = new FilterWarehouseRequest(); // filterWarehouseRequest.setCustomerId(authAdmin.getCustomerId()); @@ -141,7 +142,10 @@ public class OrderController { @AuthRuleAnnotation("") @GetMapping("admin/warehouse/inout/order/listerror") public BaseResponse listOrderError(OrderFilterRequest orderFilterRequest) { - orderFilterRequest.setIsError("success"); + + // orderFilterRequest.setIsError("success"); + + orderFilterRequest.setStatus(Constant.ORDER_STATUS_ERROR); PageResult pageResult = orderMdService.filterList(orderFilterRequest); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiInfoController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiInfoController.java index ce19ea5..fe4ae86 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiInfoController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiInfoController.java @@ -1,13 +1,16 @@ package com.glxp.udi.admin.controller.inout; import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.entity.auth.AuthAdmin; +import com.glxp.udi.admin.entity.inout.UdiCompanyEntity; import com.glxp.udi.admin.entity.inout.UdiInfoEntity; import com.glxp.udi.admin.entity.udid.UdiEntity; import com.glxp.udi.admin.exception.JsonException; import com.glxp.udi.admin.req.inout.FilterUdiInfoRequest; import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.res.basic.ProductInfoResponse; import com.glxp.udi.admin.service.auth.AuthAdminService; import com.glxp.udi.admin.service.inout.UdiInfoService; import com.glxp.udi.admin.util.FilterUdiUtils; @@ -26,6 +29,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -37,7 +41,6 @@ public class UdiInfoController { UdiInfoService udiInfoService; @Resource AuthAdminService authAdminService; - @Value("${UDI_SERVER_URL}") private String udiUrl; @@ -65,7 +68,49 @@ public class UdiInfoController { String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterUdi", paramMap); try { - BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); + + String customerId = getCustomerId(); + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + }); + + if (productInfoFilterRequest.getIsCheck() != null && productInfoFilterRequest.getIsCheck()) { + List udiInfoEntities = udiDlDeviceResponse.getData().getList(); + + if (udiInfoEntities != null && udiInfoEntities.size() > 0) { + for (UdiInfoEntity udiInfoEntity : udiInfoEntities) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setCustomerId(customerId); + filterUdiInfoRequest.setUuid(udiInfoEntity.getUuid()); + List udiRelevanceEntities = udiInfoService.filterUdiInfo(filterUdiInfoRequest); + if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 0) { + udiInfoEntity.setCheck(true); + } else { + udiInfoEntity.setCheck(false); + } + } + } + } + return udiDlDeviceResponse; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接UDI数据下载服务出错!"); + } + } + + + //获取同步库医疗器械注册人信息 + @GetMapping("udiwms/udiinfo/filterCompany") + public BaseResponse filterCompany(FilterUdiInfoRequest productInfoFilterRequest) { + + Map paramMap = new HashMap<>(16); + paramMap.put("page", productInfoFilterRequest.getPage()); + paramMap.put("limit", productInfoFilterRequest.getLimit()); + paramMap.put("ylqxzcrbarmc", productInfoFilterRequest.getYlqxzcrbarmc()); + + String response = HttpClient.mipsGet(udiUrl + "/udi/company/filter", paramMap); + try { + BaseResponse> udiDlDeviceResponse = (BaseResponse>) JSONObject.parseObject(response, BaseResponse.class); return udiDlDeviceResponse; } catch (Exception e) { e.printStackTrace(); @@ -112,4 +157,31 @@ public class UdiInfoController { udiInfoService.updateUdiInfoByUuid(udiInfoEntity); return ResultVOUtils.success("更新成功"); } + + + @GetMapping("/udidl/wms/findBydi") + public BaseResponse findByDi(FilterUdiInfoRequest filterUdiInfoRequest) { + Map paramMap = new HashMap<>(16); + paramMap.put("nameCode", filterUdiInfoRequest.getNameCode()); + String response = HttpClient.mipsGet(udiUrl + "/udidl/wms/findBydi", paramMap); + try { + BaseResponse udiDlDeviceResponse = (BaseResponse) JSONObject.parseObject(response, BaseResponse.class); + return udiDlDeviceResponse; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接UDI数据下载服务出错!"); + } + } + + + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiRelevanceController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiRelevanceController.java index 5d3d018..0cf94fb 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiRelevanceController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiRelevanceController.java @@ -14,6 +14,7 @@ import com.glxp.udi.admin.res.inout.UdiRelevanceResponse; import com.glxp.udi.admin.service.auth.AuthAdminService; import com.glxp.udi.admin.service.inout.UdiInfoService; import com.glxp.udi.admin.service.inout.WarehouseService; +import com.glxp.udi.admin.thread.BasicUpdateProductService; import com.glxp.udi.admin.util.GetAuthAdminUtil; import com.glxp.udi.common.enums.ResultEnum; import com.glxp.udi.common.res.BaseResponse; @@ -29,6 +30,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.stream.Collectors; @@ -43,6 +45,8 @@ public class UdiRelevanceController { WarehouseService warehouseService; @Resource AuthAdminService authAdminService; + @Resource + BasicUpdateProductService basicUpdateProductService; //客户端器械信息下载 @GetMapping("/udi/udirel/download") @@ -91,14 +95,15 @@ public class UdiRelevanceController { filterUdiInfoRequest.setCustomerId(authAdmin.getCustomerId() + ""); List udiRelevanceResponses = null; + filterUdiInfoRequest.setDiType(1); udiRelevanceResponses = udiInfoService.filterUdiInfoGp(filterUdiInfoRequest); - if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { - for (UdiInfoEntity udiRelevanceResponse : udiRelevanceResponses) { - if (udiRelevanceResponse.getDiType() == 2 && udiRelevanceResponse.getIsUseDy() != 1) { - udiRelevanceResponse.setNameCode(udiRelevanceResponse.getSjcpbm()); - } - } - } +// if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { +// for (UdiInfoEntity udiRelevanceResponse : udiRelevanceResponses) { +// if (udiRelevanceResponse.getDiType() == 2 && udiRelevanceResponse.getIsUseDy() != 1) { +// udiRelevanceResponse.setNameCode(udiRelevanceResponse.getSjcpbm()); +// } +// } +// } PageInfo pageInfo; pageInfo = new PageInfo<>(udiRelevanceResponses); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -121,7 +126,7 @@ public class UdiRelevanceController { List udiInfoEntities = udiInfoService.findByUuids(ids); if (udiInfoEntities != null && udiInfoEntities.size() > 0) { for (int i = 0; i < udiInfoEntities.size(); i++) { - List warehouseEntityList = warehouseService.searchCode(udiInfoEntities.get(i).getNameCode(),authAdmin.getCustomerId()); + List warehouseEntityList = warehouseService.searchCode(udiInfoEntities.get(i).getNameCode(), authAdmin.getCustomerId()); if (warehouseEntityList != null && warehouseEntityList.size() > 0) { return ResultVOUtils.error(500, "改产品已被" + warehouseEntityList.get(0).getOrderId() + "订单关联不能删除"); } @@ -146,7 +151,7 @@ public class UdiRelevanceController { for (String key : keys) { FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setUuid(key); - filterUdiInfoRequest.setCustomerId(authAdmin.getCustomerId()+""); + filterUdiInfoRequest.setCustomerId(authAdmin.getCustomerId() + ""); List udiInfoEntities = udiInfoService.filterAllUdiInfo(filterUdiInfoRequest); if (udiInfoEntities == null || udiInfoEntities.isEmpty()) { udiInfoEntities = new UdiDlHttpClient(udiUrl).getUdiByUuid(key); @@ -164,5 +169,23 @@ public class UdiRelevanceController { return ResultVOUtils.success("合并成功"); } + //选入查询结果的所有DI + @AuthRuleAnnotation("") + @GetMapping("/udi/udirel/combineAll") + public BaseResponse combineAll(FilterUdiInfoRequest productInfoFilterRequest) { + productInfoFilterRequest.setCustomerId(getCustomerId()); + basicUpdateProductService.relAllUdi(productInfoFilterRequest); + return ResultVOUtils.success("后台已开始导入,请稍后刷新查看"); + } + public String getCustomerId() { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + HttpServletRequest request = attributes.getRequest(); + String userId = request.getHeader("ADMIN_ID"); + AuthAdmin authAdmin = authAdminService.findById(Long.parseLong(userId)); + return authAdmin.getCustomerId() + ""; + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiTraceController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiTraceController.java index b432fba..6365565 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiTraceController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UdiTraceController.java @@ -4,12 +4,16 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageInfo; import com.glxp.udi.admin.entity.auth.AuthAdmin; +import com.glxp.udi.admin.entity.inout.OrderMdEntity; import com.glxp.udi.admin.entity.inout.TraceUploadEntity; import com.glxp.udi.admin.entity.inout.UdiInfoEntity; import com.glxp.udi.admin.entity.inout.WarehouseEntity; import com.glxp.udi.admin.entity.udid.UdiEntity; import com.glxp.udi.admin.exception.JsonException; +import com.glxp.udi.admin.mongo.service.OrderMdService; +import com.glxp.udi.admin.mongo.service.WarehouseMdService; import com.glxp.udi.admin.req.inout.FilterUdiInfoRequest; +import com.glxp.udi.admin.req.inout.OrderFilterRequest; import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; import com.glxp.udi.admin.res.PageSimpleResponse; import com.glxp.udi.admin.res.inout.UdiRelevanceResponse; @@ -35,7 +39,7 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; @RestController @@ -44,6 +48,8 @@ public class UdiTraceController { @Resource private WarehouseService warehouseService; @Resource + private WarehouseMdService warehouseMdService; + @Resource UdiRelevanceService udiRelevanceService; @Resource UdiInfoService udiInfoService; @@ -52,6 +58,8 @@ public class UdiTraceController { private static final Logger logger = LoggerFactory.getLogger(UdiTraceController.class); @Resource AuthAdminService authAdminService; + @Resource + private OrderMdService orderMdService; @GetMapping("/udiwarehouse/trace/filter") public BaseResponse list(WarehouseQueryRequest warehouseQueryRequest) { @@ -60,28 +68,72 @@ public class UdiTraceController { throw new JsonException(ResultEnum.NOT_NETWORK); } AuthAdmin authAdmin = new GetAuthAdminUtil(authAdminService).getAuthAdmin(attributes); - warehouseQueryRequest.setCustomerId(authAdmin.getCustomerId()); - List warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest); + if (authAdmin.getCustomerId() != 110) + warehouseQueryRequest.setCustomerId(authAdmin.getCustomerId()); +// List warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest); + + + List warehouseEntityList = warehouseMdService.filterWarehouse(warehouseQueryRequest); if (warehouseEntityList != null && warehouseEntityList.size() > 0) { WarehouseEntity warehouseEntity = warehouseEntityList.get(0); UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); String udi = udiEntity.getUdi(); FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); filterUdiInfoRequest.setNameCode(udi); + UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(udi); +// List udiTraceResponseList = warehouseEntityList.stream().map(item -> +// { +// UdiTraceResponse udiTraceResponse = new UdiTraceResponse(); +// BeanUtils.copyProperties(item, udiTraceResponse); +// if (udiInfoEntity != null) { +// udiTraceResponse.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); +// udiTraceResponse.setCpmctymc(udiInfoEntity.getCpmctymc()); +// udiTraceResponse.setGgxh(udiInfoEntity.getGgxh()); +// } +// return udiTraceResponse; +// }).collect(Collectors.toList()); + + //查找父级或者子级 + List udiInfoEntities = udiInfoService.findByUuids(udiInfoEntity.getUuid()); + List udiTraceResponseList = new ArrayList<>(); + if (udiInfoEntities != null && udiInfoEntities.size() > 0) { + + for (UdiInfoEntity temp : udiInfoEntities) { + WarehouseQueryRequest queryRequest = new WarehouseQueryRequest(); + queryRequest.setBatchNo(temp.getBatchNo()); + queryRequest.setUdi(temp.getNameCode()); + if (authAdmin.getCustomerId() != 110) + queryRequest.setCustomerId(authAdmin.getCustomerId()); + List warehouseEntities = warehouseMdService.filterWarehouse(queryRequest); + + List udiTraceResponses = warehouseEntities.stream().map(item -> + { + UdiTraceResponse udiTraceResponse = new UdiTraceResponse(); + BeanUtils.copyProperties(item, udiTraceResponse); + if (udiInfoEntity != null) { + udiTraceResponse.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); + udiTraceResponse.setCpmctymc(udiInfoEntity.getCpmctymc()); + udiTraceResponse.setGgxh(udiInfoEntity.getGgxh()); + } + return udiTraceResponse; + }).collect(Collectors.toList()); + + Map filterMap = new HashMap<>(); + if (udiTraceResponses != null && udiTraceResponses.size() > 0) { + for (UdiTraceResponse udiTraceResponse : udiTraceResponses) { + filterMap.put(udiTraceResponse.getOrderId(), udiTraceResponse); + } + for (UdiTraceResponse udiTraceResponse : filterMap.values()) { + udiTraceResponseList.add(udiTraceResponse); + } + + } - UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(udi); - List udiTraceResponseList = warehouseEntityList.stream().map(item -> - { - UdiTraceResponse udiTraceResponse = new UdiTraceResponse(); - BeanUtils.copyProperties(item, udiTraceResponse); - if (udiInfoEntity != null) { - udiTraceResponse.setYlqxzcrbarmc(udiInfoEntity.getYlqxzcrbarmc()); - udiTraceResponse.setCpmctymc(udiInfoEntity.getCpmctymc()); - udiTraceResponse.setGgxh(udiInfoEntity.getGgxh()); } - return udiTraceResponse; - }).collect(Collectors.toList()); + } + + PageInfo pageInfo; pageInfo = new PageInfo<>(udiTraceResponseList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -93,6 +145,75 @@ public class UdiTraceController { } } + + @GetMapping("/udims/trace/filter") + public BaseResponse filterTrace(WarehouseQueryRequest warehouseQueryRequest) { + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + List orderMdEntities = new ArrayList<>(); + AuthAdmin authAdmin = new GetAuthAdminUtil(authAdminService).getAuthAdmin(attributes); + if (authAdmin.getCustomerId() != 110) + warehouseQueryRequest.setCustomerId(authAdmin.getCustomerId()); + if (warehouseQueryRequest.getCode() != null && !"".equals(warehouseQueryRequest.getCode())) { + if (warehouseQueryRequest.getFilterType() == null || warehouseQueryRequest.getFilterType() == 1) { + List temps = filterUdiTrace(warehouseQueryRequest); + orderMdEntities.addAll(temps); + } else { + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseQueryRequest.getCode()); + if (udiEntity == null) + return ResultVOUtils.error(500, "UDI码格式错误!"); + UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(udiEntity.getUdi()); + List udiInfoEntities = udiInfoService.findByUuids(udiInfoEntity.getUuid()); + if (udiInfoEntities != null && udiInfoEntities.size() > 0) { + for (UdiInfoEntity temp : udiInfoEntities) { + WarehouseQueryRequest queryRequest = new WarehouseQueryRequest(); + queryRequest.setBatchNo(udiEntity.getBatchNo()); + queryRequest.setUdi(temp.getNameCode()); + if (authAdmin.getCustomerId() != 110) + queryRequest.setCustomerId(authAdmin.getCustomerId()); + + List temps = filterUdiTrace(queryRequest); + orderMdEntities.addAll(temps); + } + } + + } + } + + PageInfo pageInfo; + pageInfo = new PageInfo<>(orderMdEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderMdEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + public List filterUdiTrace(WarehouseQueryRequest warehouseQueryRequest) { + List orderMdEntities = new ArrayList<>(); + List warehouseEntityList = warehouseMdService.filterWarehouse(warehouseQueryRequest); + List orderS = new ArrayList<>(); + warehouseEntityList.stream().filter( + v -> { + boolean flag = !orderS.contains(v.getOrderId()); + if (flag) + orderS.add(v.getOrderId()); + return flag; + } + ).collect(Collectors.toList()); + + + for (String orderId : orderS) { + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(orderId); + List temps = orderMdService.findAll(orderFilterRequest); + orderMdEntities.addAll(temps); + } + Collections.sort(orderMdEntities, Comparator.comparing(OrderMdEntity::getId)); + return orderMdEntities; + } + @GetMapping("/coor/trace/findCode") public BaseResponse findCode(WarehouseQueryRequest warehouseQueryRequest) { List warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest); diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UnitMaintainController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UnitMaintainController.java index 07f9539..69e9c9c 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UnitMaintainController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/UnitMaintainController.java @@ -88,6 +88,35 @@ public class UnitMaintainController { return ResultVOUtils.success(pageSimpleResponse); } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/unit/download") + public BaseResponse downloadUnitB(UnitMaintainFilterRequest unitMaintainFilterRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); + if (attributes == null) { + throw new JsonException(ResultEnum.NOT_NETWORK); + } + AuthAdmin authAdmin = new GetAuthAdminUtil(authAdminService).getAuthAdmin(attributes); + unitMaintainFilterRequest.setCustomerId(authAdmin.getCustomerId() + ""); + + List unitMaintainEntities; + unitMaintainEntities = unitMaintainService.filterList(unitMaintainFilterRequest); + for (UnitMaintainEntity unitMaintainEntity : unitMaintainEntities) { + unitMaintainEntity.setErpId(unitMaintainEntity.getUnitId()); + } + PageInfo pageInfo; + pageInfo = new PageInfo<>(unitMaintainEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(unitMaintainEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + @PostMapping("/warehouse/unitMaintain/add") public BaseResponse addUnitMaintain(@RequestBody UnitMaintainEntity unitMaintainEntity, BindingResult bindingResult) { diff --git a/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BusRoleRlDao.java b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BusRoleRlDao.java new file mode 100644 index 0000000..5c65d27 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BusRoleRlDao.java @@ -0,0 +1,24 @@ +package com.glxp.udi.admin.dao.inout; + +import com.glxp.udi.admin.entity.inout.BusRoleRlEntity; +import com.glxp.udi.admin.req.inout.BusRoleRlFilterRequest; +import com.glxp.udi.admin.res.inout.BusRoleRlResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BusRoleRlDao { + + List filterList(BusRoleRlFilterRequest bussinessTypeFilterRequest); + + List filterJoinList(BusRoleRlFilterRequest bussinessTypeFilterRequest); + + boolean insertBusRoleRl(BusRoleRlEntity bussinessTypeEntity); + + boolean updateBusRoleRl(BusRoleRlEntity bussinessTypeEntity); + + boolean deleteById(@Param("id") String id); + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BussinessTypeDao.java b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BussinessTypeDao.java new file mode 100644 index 0000000..77c8ac6 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/BussinessTypeDao.java @@ -0,0 +1,25 @@ +package com.glxp.udi.admin.dao.inout; + +import com.glxp.udi.admin.entity.inout.BussinessTypeEntity; +import com.glxp.udi.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.udi.admin.res.basic.BussinessTypResponse; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface BussinessTypeDao { + + List filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest); + + List filterJoinList(BussinessTypeFilterRequest bussinessTypeFilterRequest); + + boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); + + boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); + + boolean deleteById(@Param("id") String id); + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/CodeNeedRlDao.java b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/CodeNeedRlDao.java new file mode 100644 index 0000000..81fe5a5 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/CodeNeedRlDao.java @@ -0,0 +1,20 @@ +package com.glxp.udi.admin.dao.inout; + +import com.glxp.udi.admin.entity.inout.CodeNeedRlEntity; +import com.glxp.udi.admin.req.inout.CodeNeedRlFilterRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface CodeNeedRlDao { + + List filterList(CodeNeedRlFilterRequest codeNeedRlFilterRequest); + + boolean insertCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity); + + boolean updateCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity); + + boolean deleteById(@Param("id") String id); +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/ScheduledDao.java b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/ScheduledDao.java new file mode 100644 index 0000000..15f8c5d --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/dao/inout/ScheduledDao.java @@ -0,0 +1,18 @@ +package com.glxp.udi.admin.dao.inout; + +import com.glxp.udi.admin.entity.inout.ScheduledEntity; +import com.glxp.udi.admin.req.inout.ScheduledRequest; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface ScheduledDao { + + ScheduledEntity findScheduled(ScheduledRequest scheduledRequest); + + boolean modifyScheduled(ScheduledEntity scheduledEntity); + + boolean insertScheduled(ScheduledEntity scheduledEntity); + + boolean deleteScheduled(String id); + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BusRoleRlEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BusRoleRlEntity.java new file mode 100644 index 0000000..5775283 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BusRoleRlEntity.java @@ -0,0 +1,12 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +@Data +public class BusRoleRlEntity { + private Integer id; + private String roleId; + private String busAction; + private String busActionName; + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BussinessTypeEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BussinessTypeEntity.java index ec3854d..0aed6bf 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BussinessTypeEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/BussinessTypeEntity.java @@ -5,10 +5,14 @@ import lombok.Data; @Data public class BussinessTypeEntity { private Integer id; - private String thirdId; - private String udiwmsType; - private String thirdType; + private String action; + private String name; + private Boolean enable; private String remark; + private String mainAction; + private String thirdSysFk; + private String localAction; + private Boolean check; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/CodeNeedRlEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/CodeNeedRlEntity.java new file mode 100644 index 0000000..a1beb00 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/CodeNeedRlEntity.java @@ -0,0 +1,27 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +@Data +public class CodeNeedRlEntity { + + private Integer id; + private String code; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private String udi; + private Integer count; + private String orderIdFk; + private String cpmctymc; + private String ggxh; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String diType; + private Long customerId; + private String cplb; + private String flbm; + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ErpOrderEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ErpOrderEntity.java index 65c660f..0c20508 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ErpOrderEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ErpOrderEntity.java @@ -20,11 +20,13 @@ public class ErpOrderEntity { private Integer dtlgoodsqty; private String credate; private Integer reCount; - + private String uuidFk; private String nameCode; private String productCompany; private String coName; + private String produceDate; + private String expireDate; private String authCode; private String packSpec; private String packRatio; diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductDetailEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductDetailEntity.java new file mode 100644 index 0000000..6a76a51 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductDetailEntity.java @@ -0,0 +1,19 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class InvProductDetailEntity { + private String id; + private String code; + private String productIdFk; + private String orderIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + private Date updateTime; + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductEntity.java new file mode 100644 index 0000000..78ead52 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/InvProductEntity.java @@ -0,0 +1,34 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +@Data +public class InvProductEntity { + private String id; + private String productsName; + private String nameCode; + private String relIdFk; + private String ggxh; + private String batchNo; + private String productionDate; + private String expireDate; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private Integer inCount; + private Integer outCount; + private Integer reCount; + private String customerId; + + public Integer getInCount() { + if (inCount == null) + return 0; + return inCount; + } + + public Integer getOutCount() { + if (outCount == null) + return 0; + return outCount; + } + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ScheduledEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ScheduledEntity.java new file mode 100644 index 0000000..2740449 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/ScheduledEntity.java @@ -0,0 +1,12 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +@Data +public class ScheduledEntity { + + private int id; + private String cronName; + private String cron; + private String customerId; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiCompanyEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiCompanyEntity.java new file mode 100644 index 0000000..db3a683 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiCompanyEntity.java @@ -0,0 +1,20 @@ +package com.glxp.udi.admin.entity.inout; + +import lombok.Data; + +import java.util.Date; + +@Data +public class UdiCompanyEntity { + + private int id; + private String tyshxydm; + private String ylqxzcrbarmc; + private String ylqxzcrbarywmc; + private String qylxrdh; + private String qylxrcz; + private String qylxryx; + private String deviceRecordKey; + private Date updateTime; + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiInfoEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiInfoEntity.java index 83a8415..31e93c6 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiInfoEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UdiInfoEntity.java @@ -41,6 +41,8 @@ public class UdiInfoEntity { private String code; private Integer count; + private Boolean isCheck; + public Integer getId() { return id; } @@ -339,4 +341,12 @@ public class UdiInfoEntity { public void setCustomerId(String customerId) { this.customerId = customerId; } + + public Boolean getCheck() { + return isCheck; + } + + public void setCheck(Boolean check) { + isCheck = check; + } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UnitMaintainEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UnitMaintainEntity.java index dfd03ab..bde21cf 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UnitMaintainEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/UnitMaintainEntity.java @@ -15,5 +15,6 @@ public class UnitMaintainEntity { private String type; private String customerId; private String creditNo; + private String erpId; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/receipt/BussinessTypeEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/receipt/BussinessTypeEntity.java deleted file mode 100644 index efae318..0000000 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/receipt/BussinessTypeEntity.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.glxp.udi.admin.entity.receipt; - -import lombok.Data; - -@Data -public class BussinessTypeEntity { - private Integer id; - private String thirdId; - private String udiwmsType; - private String thirdType; - private String remark; - - -} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/udid/DeviceEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/udid/DeviceEntity.java index 3b0712b..11030cd 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/udid/DeviceEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/udid/DeviceEntity.java @@ -117,6 +117,20 @@ public class DeviceEntity { private String tsrq; + public String getTsrq() { + + if(tsrq!=null && tsrq.length()>=4){ + if(Integer.parseInt(tsrq)<2000){ + return null; + } + } + return tsrq; + } + + public void setTsrq(String tsrq) { + this.tsrq = tsrq; + } + private String tyshxydm; private Integer versionnumber; diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java index ad5da73..3c84028 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java @@ -6,4 +6,7 @@ public class MongoDBName { public static final String NAME_CODE_ERROR = "io_code_temp"; //临时码表 public static final String NAME_CODE = "io_code"; //正式码表 public static final String NAME_ORDER_DETAIL = "io_order_detail"; //正式码表 + public static final String NAME_INV_PRODUCT = "io_inv_product"; + public static final String NAME_INV_PRODUCT_DETAIL = "io_inv_product_detail"; + } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductDetailMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductDetailMdService.java new file mode 100644 index 0000000..96427b3 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductDetailMdService.java @@ -0,0 +1,105 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.InvProductDetailEntity; +import com.glxp.udi.admin.mongo.MongoDBName; +import com.glxp.udi.admin.mongo.utils.MongoPageHelper; +import com.glxp.udi.admin.mongo.utils.PageResult; +import com.glxp.udi.admin.req.inout.FilterInvProductDetailRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +@Service +public class InvProductDetailMdService { + + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + public PageResult filterInvProduct(FilterInvProductDetailRequest filterInvProductDetailRequest) { + Query query = new Query(); + if (filterInvProductDetailRequest.getCode() != null && !filterInvProductDetailRequest.getCode().isEmpty()) { + query.addCriteria(Criteria.where("code").is(filterInvProductDetailRequest.getCode())); + } + if (filterInvProductDetailRequest.getProductIdFk() != null && !filterInvProductDetailRequest.getProductIdFk().isEmpty()) { + query.addCriteria(Criteria.where("productIdFk").is(filterInvProductDetailRequest.getProductIdFk())); + } + if (filterInvProductDetailRequest.getMainAction() != null && !filterInvProductDetailRequest.getMainAction().isEmpty()) { + query.addCriteria(Criteria.where("mainAction").is(filterInvProductDetailRequest.getMainAction())); + } + if (filterInvProductDetailRequest.getCustomerId() != null && !filterInvProductDetailRequest.getCustomerId().isEmpty()) { + query.addCriteria(Criteria.where("customerId").is(filterInvProductDetailRequest.getCustomerId())); + } + return mongoPageHelper.pageQuery(query, InvProductDetailEntity.class, + filterInvProductDetailRequest.getLimit(), filterInvProductDetailRequest.getPage(), + filterInvProductDetailRequest.getLastId(), MongoDBName.NAME_INV_PRODUCT_DETAIL); + + } + + public void insertInvProduct(InvProductDetailEntity invProductDetailEntity) { + mongoTemplate.insert(invProductDetailEntity, MongoDBName.NAME_INV_PRODUCT_DETAIL); + } + + public void insertInvProducts(List invProductDetailEntitys) { + if (invProductDetailEntitys != null) { + Collection invProductDetailEntityCollection = new ArrayList<>(); + invProductDetailEntityCollection.addAll(invProductDetailEntitys); + mongoTemplate.insert(invProductDetailEntityCollection, MongoDBName.NAME_INV_PRODUCT_DETAIL); + } + + } + + public void updateInvProduct(InvProductDetailEntity invProductDetailEntity) { + Query query = new Query(); + query.addCriteria(new Criteria().and("id").is(invProductDetailEntity.getId())); + Update update = new Update(); + + if (invProductDetailEntity.getCount() != null) { + update.set("count", invProductDetailEntity.getCount()); + } + if (invProductDetailEntity.getCode() != null) { + update.set("code", invProductDetailEntity.getCode()); + } + if (invProductDetailEntity.getProductIdFk() != null) { + update.set("productIdFk", invProductDetailEntity.getProductIdFk()); + } + if (invProductDetailEntity.getOrderIdFk() != null) { + update.set("orderIdFk", invProductDetailEntity.getOrderIdFk()); + } + if (invProductDetailEntity.getCustomerId() != null) { + update.set("customerId", invProductDetailEntity.getCustomerId()); + } + if (invProductDetailEntity.getMainAction() != null) { + update.set("mainAction", invProductDetailEntity.getMainAction()); + } + if (invProductDetailEntity.getAction() != null) { + update.set("action", invProductDetailEntity.getAction()); + } + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_INV_PRODUCT_DETAIL); + } + + public void deleteById(String id) { + Query query = new Query(); + if (id != null) { + query.addCriteria(Criteria.where("id").is(id)); + } + mongoTemplate.remove(query, InvProductDetailEntity.class, MongoDBName.NAME_INV_PRODUCT_DETAIL); + } + + public void deleteByProductId(String productIdFk) { + Query query = new Query(); + if (productIdFk != null) { + query.addCriteria(Criteria.where("productIdFk").is(productIdFk)); + } + mongoTemplate.remove(query, InvProductDetailEntity.class, MongoDBName.NAME_INV_PRODUCT_DETAIL); + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductMdService.java new file mode 100644 index 0000000..f1631db --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/InvProductMdService.java @@ -0,0 +1,129 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.InvProductEntity; +import com.glxp.udi.admin.mongo.MongoDBName; +import com.glxp.udi.admin.mongo.utils.MongoPageHelper; +import com.glxp.udi.admin.mongo.utils.PageResult; +import com.glxp.udi.admin.req.inout.FilterInvProductRequest; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class InvProductMdService { + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + public PageResult filterInvProduct(FilterInvProductRequest filterInvProductRequest) { + Query query = new Query(); + if (filterInvProductRequest.getUuids() != null && filterInvProductRequest.getUuids().size() > 0) { + query.addCriteria(Criteria.where("relIdFk").in(filterInvProductRequest.getUuids())); + } + if (filterInvProductRequest.getBatchNo() != null && !filterInvProductRequest.getBatchNo().isEmpty()) { + query.addCriteria(Criteria.where("batchNo").is(filterInvProductRequest.getBatchNo())); + } + if (filterInvProductRequest.getCustomerId() != null && !filterInvProductRequest.getCustomerId().isEmpty()) { + query.addCriteria(Criteria.where("customerId").is(filterInvProductRequest.getCustomerId())); + } + return mongoPageHelper.pageQuery(query, InvProductEntity.class, + filterInvProductRequest.getLimit(), filterInvProductRequest.getPage(), filterInvProductRequest.getLastId(), MongoDBName.NAME_INV_PRODUCT); + } + + + public InvProductEntity selectByUuid(String relIdFk, String batchNo) { + Query query = new Query(); + if (relIdFk != null && !relIdFk.isEmpty()) { + query.addCriteria(Criteria.where("relIdFk").is(relIdFk)); + } + if (batchNo != null && !batchNo.isEmpty()) { + query.addCriteria(Criteria.where("batchNo").is(batchNo)); + } + List invProductEntities = mongoTemplate.find(query, InvProductEntity.class, MongoDBName.NAME_INV_PRODUCT); + if (invProductEntities != null && invProductEntities.size() > 0) { + return invProductEntities.get(0); + } + return null; + } + + public InvProductEntity selectById(String id) { + Query query = new Query(); + if (id != null && !id.isEmpty()) { + query.addCriteria(Criteria.where("id").is(id)); + } + List invProductEntities = mongoTemplate.find(query, InvProductEntity.class, MongoDBName.NAME_INV_PRODUCT); + if (invProductEntities != null && invProductEntities.size() > 0) { + return invProductEntities.get(0); + } + return null; + } + + + public void insertInvProduct(InvProductEntity invProductEntity) { + mongoTemplate.insert(invProductEntity, MongoDBName.NAME_INV_PRODUCT); + } + + public void updateInvProduct(InvProductEntity invProductEntity) { + Query query = new Query(); + query.addCriteria(new Criteria().and("id").is(invProductEntity.getId())); + Update update = new Update(); + + if (invProductEntity.getInCount() != null) { + update.set("inCount", invProductEntity.getInCount()); + } + if (invProductEntity.getOutCount() != null) { + update.set("outCount", invProductEntity.getOutCount()); + } + if (invProductEntity.getProductsName() != null) { + update.set("productsName", invProductEntity.getProductsName()); + } + if (invProductEntity.getNameCode() != null) { + update.set("nameCode", invProductEntity.getNameCode()); + } + if (invProductEntity.getRelIdFk() != null) { + update.set("relIdFk", invProductEntity.getRelIdFk()); + } + if (invProductEntity.getGgxh() != null) { + update.set("ggxh", invProductEntity.getGgxh()); + } + if (invProductEntity.getBatchNo() != null) { + update.set("batchNo", invProductEntity.getBatchNo()); + } + if (invProductEntity.getProductionDate() != null) { + update.set("productionDate", invProductEntity.getProductionDate()); + } + if (invProductEntity.getExpireDate() != null) { + update.set("expireDate", invProductEntity.getExpireDate()); + } + if (invProductEntity.getYlqxzcrbarmc() != null) { + update.set("ylqxzcrbarmc", invProductEntity.getYlqxzcrbarmc()); + } + if (invProductEntity.getZczbhhzbapzbh() != null) { + update.set("zczbhhzbapzbh", invProductEntity.getZczbhhzbapzbh()); + } + if (invProductEntity.getReCount() != null) { + update.set("reCount", invProductEntity.getReCount()); + } + if (invProductEntity.getCustomerId() != null) { + update.set("customerId", invProductEntity.getCustomerId()); + } + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_INV_PRODUCT); + } + + + public void deleteById(String id) { + Query query = new Query(); + if (id != null) { + query.addCriteria(Criteria.where("id").is(id)); + } + mongoTemplate.remove(query, InvProductEntity.class, MongoDBName.NAME_INV_PRODUCT); + } + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java index 2dd46cf..d1feda5 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java @@ -20,6 +20,7 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Collection; import java.util.Date; +import java.util.List; @Service public class OrderMdService { @@ -81,6 +82,52 @@ public class OrderMdService { } + public List findAll(OrderFilterRequest orderFilterRequest) { + Query query = new Query(); + if (orderFilterRequest.getId() != null && !orderFilterRequest.getId().isEmpty()) { + query.addCriteria(Criteria.where("orderId").is(orderFilterRequest.getId())); + } + if (orderFilterRequest.getMainAction() != null && !orderFilterRequest.getMainAction().isEmpty()) { + query.addCriteria(Criteria.where("mainAction").is(orderFilterRequest.getMainAction())); + } + if (orderFilterRequest.getAction() != null && !orderFilterRequest.getAction().isEmpty()) { + query.addCriteria(Criteria.where("action").is(orderFilterRequest.getAction())); + } + if (orderFilterRequest.getAction() == null || orderFilterRequest.getAction().isEmpty()) { + query.addCriteria(Criteria.where("action").ne("StockCheck")); + } + if (orderFilterRequest.getStatus() != null && !orderFilterRequest.getStatus().isEmpty()) { + query.addCriteria(Criteria.where("status").is(orderFilterRequest.getStatus())); + } + if (orderFilterRequest.getExportStatus() != null && !orderFilterRequest.getExportStatus().isEmpty()) { + query.addCriteria(Criteria.where("exportStatus").is(orderFilterRequest.getExportStatus())); + } + if (orderFilterRequest.getCustomerId() != null) { + if (orderFilterRequest.getStartTime() != null && !orderFilterRequest.getStartTime().isEmpty() + && orderFilterRequest.getEndTime() != null && !orderFilterRequest.getEndTime().isEmpty()) { + Date sdate, edate = null; + if (orderFilterRequest.getStartTime().contains("T")) { + sdate = DateUtil.convertTimeFormat(orderFilterRequest.getStartTime()); + } else { + sdate = DateUtil.parseDate(orderFilterRequest.getStartTime()); + } + if (orderFilterRequest.getEndTime().contains("T")) { + edate = DateUtil.convertTimeFormat(orderFilterRequest.getEndTime()); + } else { + edate = DateUtil.parseDate(orderFilterRequest.getEndTime()); + } + query.addCriteria(Criteria.where("customerId").is(orderFilterRequest.getCustomerId()).andOperator(Criteria.where("actDate").gte(DateUtil.dateToISODate(sdate) + ), Criteria.where("actDate").lt(DateUtil.dateToISODate(edate)))); + } else + query.addCriteria(Criteria.where("customerId").is(orderFilterRequest.getCustomerId())); + } + + if (orderFilterRequest.getIsError() != null) { + query.addCriteria(Criteria.where("status").ne(orderFilterRequest.getIsError())); + } + return mongoTemplate.find(query, OrderMdEntity.class, MongoDBName.NAME_ORDER); + } + public void updateOrder(OrderMdEntity orderMdEntity) { Query query = new Query(); if (orderMdEntity.getOrderId() != null && !orderMdEntity.getOrderId().isEmpty()) { diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java index eec4c81..0531387 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java @@ -40,9 +40,9 @@ public class WarehouseMdService { if (warehouseQueryRequest.getOrderId() != null && !warehouseQueryRequest.getOrderId().isEmpty()) { query.addCriteria(Criteria.where("orderId").is(warehouseQueryRequest.getOrderId())); } - if (warehouseQueryRequest.getCustomerId() != null) { - query.addCriteria(Criteria.where("customerId").is(warehouseQueryRequest.getCustomerId())); - } +// if (warehouseQueryRequest.getCustomerId() != null) { +// query.addCriteria(Criteria.where("customerId").is(warehouseQueryRequest.getCustomerId())); +// } return mongoPageHelper.pageQuery(query, WarehouseEntity.class, warehouseQueryRequest.getLimit(), warehouseQueryRequest.getPage(), warehouseQueryRequest.getLastId(), MongoDBName.NAME_CODE); } @@ -62,6 +62,14 @@ public class WarehouseMdService { if (warehouseQueryRequest.getCustomerId() != null) { query.addCriteria(Criteria.where("customerId").is(warehouseQueryRequest.getCustomerId())); } + if (warehouseQueryRequest.getBatchNo() != null) { + query.addCriteria(Criteria.where("batchNo").is(warehouseQueryRequest.getBatchNo())); + } + if (warehouseQueryRequest.getUdi() != null) { + query.addCriteria(Criteria.where("udi").is(warehouseQueryRequest.getUdi())); + } + + return mongoTemplate.find(query, WarehouseEntity.class, MongoDBName.NAME_CODE); } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java index f7a1a1e..5fe95b4 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java @@ -94,7 +94,7 @@ public class MongoPageHelper { final List entityList = mongoTemplate .find(query.addCriteria(criteria) - .with(new Sort(Collections.singletonList(new Order(Direction.ASC, ID)))), + .with(new Sort(Collections.singletonList(new Order(Direction.DESC, ID)))), entityClass, tableName); final PageResult pageResult = new PageResult<>(); diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/BusRoleRlFilterRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/BusRoleRlFilterRequest.java new file mode 100644 index 0000000..b77a57b --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/BusRoleRlFilterRequest.java @@ -0,0 +1,21 @@ +package com.glxp.udi.admin.req.inout; + +import com.glxp.udi.admin.req.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class BusRoleRlFilterRequest extends ListPageRequest { + + private Integer id; + private String roleId; + List actions; + private String busAction; + private String busActionName; + private String customerId; + private String action; + private String name; + private String mainAction; + private Boolean enabled; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/CodeNeedRlFilterRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/CodeNeedRlFilterRequest.java new file mode 100644 index 0000000..2f7f063 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/CodeNeedRlFilterRequest.java @@ -0,0 +1,12 @@ +package com.glxp.udi.admin.req.inout; + +import com.glxp.udi.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class CodeNeedRlFilterRequest extends ListPageRequest { + + private String code; + private String ylqxzcrbarmc; + private Long customerId; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductDetailRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductDetailRequest.java new file mode 100644 index 0000000..7c10da6 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductDetailRequest.java @@ -0,0 +1,17 @@ +package com.glxp.udi.admin.req.inout; + +import com.glxp.udi.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class FilterInvProductDetailRequest extends ListPageRequest { + + private String id; + private String code; + private String productIdFk; + private String customerId; + private String mainAction; + private String action; + private Integer count; + private String lastId; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductRequest.java new file mode 100644 index 0000000..07bfa47 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterInvProductRequest.java @@ -0,0 +1,28 @@ +package com.glxp.udi.admin.req.inout; + +import com.glxp.udi.admin.req.ListPageRequest; +import lombok.Data; + +import java.util.List; + +@Data +public class FilterInvProductRequest extends ListPageRequest { + + private String id; + private String cpmctymc; + private String productsName; + private String nameCode; + private String relIdFk; + private String ggxh; + private String batchNo; + private String productionDate; + private String expireDate; + private String ylqxzcrbarmc; + private String zczbhhzbapzbh; + private String customerId; + private String lastId; + + private List uuids; + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterUdiInfoRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterUdiInfoRequest.java index 1f17205..7eaa011 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterUdiInfoRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterUdiInfoRequest.java @@ -13,5 +13,24 @@ public class FilterUdiInfoRequest extends ListPageRequest { private String ggxh; private String thirdId; private String customerId; + private Integer diType; + private Boolean isCheck; + + + private String thirdCode; + private String thirdSys; + + private String lastUpdateTime; + private String zczbhhzbapzbh; + + + private String unionCode; + private String udiCode; + private String thrPiId; + private String unionFilterStr;//产品名称,规格,批文,生产厂家联合查询 + + + + private Integer filterType; //0:全部,1.对照完成,2.未对照DI,3.未对照产品编码,4.未对照其他产品编码 } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/ScheduledRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/ScheduledRequest.java new file mode 100644 index 0000000..daf2dad --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/ScheduledRequest.java @@ -0,0 +1,9 @@ +package com.glxp.udi.admin.req.inout; + +import lombok.Data; + +@Data +public class ScheduledRequest { + private String cronName; + private String customerId; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/WarehouseQueryRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/WarehouseQueryRequest.java index a784a77..35f0147 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/WarehouseQueryRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/WarehouseQueryRequest.java @@ -10,5 +10,8 @@ public class WarehouseQueryRequest extends ListPageRequest { private String orderId; private String code; private Long customerId; + private String batchNo; + private String udi; private String lastId; + private Integer filterType; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/receipt/BussinessTypeFilterRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/receipt/BussinessTypeFilterRequest.java index 474e9f6..58b92d1 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/receipt/BussinessTypeFilterRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/receipt/BussinessTypeFilterRequest.java @@ -6,7 +6,10 @@ import lombok.Data; @Data public class BussinessTypeFilterRequest extends ListPageRequest { - private String udiwmsType; - private String thirdType; + + private String action; + private String name; + private String mainAction; + private Boolean enabled; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/res/basic/BussinessTypResponse.java b/api-udims/src/main/java/com/glxp/udi/admin/res/basic/BussinessTypResponse.java new file mode 100644 index 0000000..1f2d22e --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/res/basic/BussinessTypResponse.java @@ -0,0 +1,22 @@ +package com.glxp.udi.admin.res.basic; + +import lombok.Data; + +@Data +public class BussinessTypResponse { + + private Integer id; + private String action; + private String name; + private Boolean enable; + private String remark; + private String mainAction; + private String thirdSysFk; + private String thirdId; + private String thirdName; + private Boolean enabled; + private String localAction; + + + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/res/basic/ProductInfoResponse.java b/api-udims/src/main/java/com/glxp/udi/admin/res/basic/ProductInfoResponse.java new file mode 100644 index 0000000..207247d --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/res/basic/ProductInfoResponse.java @@ -0,0 +1,12 @@ +package com.glxp.udi.admin.res.basic; + +import com.glxp.udi.admin.entity.receipt.ProductInfoEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class ProductInfoResponse { + ProductInfoEntity productInfoEntity; + List packages; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/res/inout/BusRoleRlResponse.java b/api-udims/src/main/java/com/glxp/udi/admin/res/inout/BusRoleRlResponse.java new file mode 100644 index 0000000..11fbc6e --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/res/inout/BusRoleRlResponse.java @@ -0,0 +1,21 @@ +package com.glxp.udi.admin.res.inout; + +import lombok.Data; + +@Data +public class BusRoleRlResponse { + + + private Integer id; + private String action; + private String name; + private Boolean enable; + private String remark; + private String mainAction; + private String thirdSysFk; + private String localAction; + private Boolean check; + private Integer roleId; + private String busAction; + private String busActionName; +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BusRoleRlService.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BusRoleRlService.java new file mode 100644 index 0000000..c01e88a --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BusRoleRlService.java @@ -0,0 +1,21 @@ +package com.glxp.udi.admin.service.inout; + +import com.glxp.udi.admin.entity.inout.BusRoleRlEntity; +import com.glxp.udi.admin.req.inout.BusRoleRlFilterRequest; +import com.glxp.udi.admin.res.inout.BusRoleRlResponse; + +import java.util.List; + +public interface BusRoleRlService { + + + List filterList(BusRoleRlFilterRequest bussinessTypeFilterRequest); + + List filterJoinList(BusRoleRlFilterRequest bussinessTypeFilterRequest); + + boolean insertBusRoleRl(BusRoleRlEntity bussinessTypeEntity); + + boolean updateBusRoleRl(BusRoleRlEntity bussinessTypeEntity); + + boolean deleteById(String id); +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BussinessTypeService.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BussinessTypeService.java index 63dc64d..68c4958 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BussinessTypeService.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/BussinessTypeService.java @@ -1,8 +1,9 @@ package com.glxp.udi.admin.service.inout; -import com.glxp.udi.admin.entity.receipt.BussinessTypeEntity; +import com.glxp.udi.admin.entity.inout.BussinessTypeEntity; import com.glxp.udi.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.udi.admin.res.basic.BussinessTypResponse; import java.util.List; @@ -10,6 +11,15 @@ public interface BussinessTypeService { List filterList(BussinessTypeFilterRequest bussinessTypeFilterRequest); + List filterJoinList(BussinessTypeFilterRequest bussinessTypeFilterRequest); + + BussinessTypeEntity findBTByAction(String action); + + BussinessTypeEntity findBTByName(String name); + + BussinessTypResponse findJoinBTByAction(String action); + + boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity); boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity); diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/CodeNeedRlService.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/CodeNeedRlService.java new file mode 100644 index 0000000..c12db5a --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/CodeNeedRlService.java @@ -0,0 +1,18 @@ +package com.glxp.udi.admin.service.inout; + +import com.glxp.udi.admin.entity.inout.CodeNeedRlEntity; +import com.glxp.udi.admin.req.inout.CodeNeedRlFilterRequest; + +import java.util.List; + +public interface CodeNeedRlService { + + + List filterList(CodeNeedRlFilterRequest codeNeedRlFilterRequest); + + boolean insertCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity); + + boolean updateCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity); + + boolean deleteById(String id); +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BusRoleRlServiceImpl.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BusRoleRlServiceImpl.java new file mode 100644 index 0000000..b41b617 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BusRoleRlServiceImpl.java @@ -0,0 +1,63 @@ +package com.glxp.udi.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.udi.admin.dao.inout.BusRoleRlDao; +import com.glxp.udi.admin.entity.inout.BusRoleRlEntity; +import com.glxp.udi.admin.req.inout.BusRoleRlFilterRequest; +import com.glxp.udi.admin.res.inout.BusRoleRlResponse; +import com.glxp.udi.admin.service.inout.BusRoleRlService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class BusRoleRlServiceImpl implements BusRoleRlService { + + + @Resource + BusRoleRlDao busRoleRlDao; + + @Override + + public List filterList(BusRoleRlFilterRequest 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 = busRoleRlDao.filterList(bussinessTypeFilterRequest); + return data; + } + + @Override + public List filterJoinList(BusRoleRlFilterRequest 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 = busRoleRlDao.filterJoinList(bussinessTypeFilterRequest); + return data; + } + + @Override + public boolean insertBusRoleRl(BusRoleRlEntity bussinessTypeEntity) { + return busRoleRlDao.insertBusRoleRl(bussinessTypeEntity); + } + + @Override + public boolean updateBusRoleRl(BusRoleRlEntity bussinessTypeEntity) { + return busRoleRlDao.updateBusRoleRl(bussinessTypeEntity); + } + + @Override + public boolean deleteById(String id) { + return busRoleRlDao.deleteById(id); + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BussinessTypeServiceImpl.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BussinessTypeServiceImpl.java new file mode 100644 index 0000000..0af5a5c --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/BussinessTypeServiceImpl.java @@ -0,0 +1,96 @@ +package com.glxp.udi.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.udi.admin.dao.inout.BussinessTypeDao; +import com.glxp.udi.admin.entity.inout.BussinessTypeEntity; +import com.glxp.udi.admin.req.receipt.BussinessTypeFilterRequest; +import com.glxp.udi.admin.res.basic.BussinessTypResponse; +import com.glxp.udi.admin.service.inout.BussinessTypeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class BussinessTypeServiceImpl implements BussinessTypeService { + + @Resource + BussinessTypeDao bussinessTypeDao; + + @Override + public List filterList(BussinessTypeFilterRequest 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 = bussinessTypeDao.filterList(bussinessTypeFilterRequest); + return data; + } + + @Override + public List filterJoinList(BussinessTypeFilterRequest 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 = bussinessTypeDao.filterJoinList(bussinessTypeFilterRequest); + return data; + } + + @Override + public BussinessTypeEntity findBTByAction(String action) { + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setAction(action); + List data = bussinessTypeDao.filterList(bussinessTypeFilterRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public BussinessTypeEntity findBTByName(String action) { + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setName(action); + List data = bussinessTypeDao.filterList(bussinessTypeFilterRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + @Override + public BussinessTypResponse findJoinBTByAction(String action) { + BussinessTypeFilterRequest bussinessTypeFilterRequest = new BussinessTypeFilterRequest(); + bussinessTypeFilterRequest.setAction(action); + bussinessTypeFilterRequest.setEnabled(true); + List data = bussinessTypeDao.filterJoinList(bussinessTypeFilterRequest); + if (data != null && data.size() > 0) { + return data.get(0); + } + return null; + } + + + @Override + public boolean insertBussinessType(BussinessTypeEntity bussinessTypeEntity) { + return bussinessTypeDao.insertBussinessType(bussinessTypeEntity); + } + + @Override + public boolean updateBussinessType(BussinessTypeEntity bussinessTypeEntity) { + return bussinessTypeDao.updateBussinessType(bussinessTypeEntity); + } + + @Override + public boolean deleteById(String id) { + return bussinessTypeDao.deleteById(id); + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/CodeNeedRlServiceImpl.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/CodeNeedRlServiceImpl.java new file mode 100644 index 0000000..9c16852 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/CodeNeedRlServiceImpl.java @@ -0,0 +1,45 @@ +package com.glxp.udi.admin.service.inout.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.udi.admin.dao.inout.CodeNeedRlDao; +import com.glxp.udi.admin.entity.inout.CodeNeedRlEntity; +import com.glxp.udi.admin.req.inout.CodeNeedRlFilterRequest; +import com.glxp.udi.admin.service.inout.CodeNeedRlService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Service +public class CodeNeedRlServiceImpl implements CodeNeedRlService { + + @Resource + CodeNeedRlDao codeNeedRlDao; + + @Override + public List filterList(CodeNeedRlFilterRequest codeNeedRlFilterRequest) { + if (codeNeedRlFilterRequest == null) { + return Collections.emptyList(); + } + int offset = (codeNeedRlFilterRequest.getPage() - 1) * codeNeedRlFilterRequest.getLimit(); + PageHelper.offsetPage(offset, codeNeedRlFilterRequest.getLimit()); + List data = codeNeedRlDao.filterList(codeNeedRlFilterRequest); + return data; + } + + @Override + public boolean insertCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity) { + return codeNeedRlDao.insertCodeNeedRl(codeNeedRlEntity); + } + + @Override + public boolean updateCodeNeedRl(CodeNeedRlEntity codeNeedRlEntity) { + return codeNeedRlDao.updateCodeNeedRl(codeNeedRlEntity); + } + + @Override + public boolean deleteById(String id) { + return codeNeedRlDao.deleteById(id); + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/UdiInfoServiceImpl.java b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/UdiInfoServiceImpl.java index 8f565aa..7b8db50 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/UdiInfoServiceImpl.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/service/inout/impl/UdiInfoServiceImpl.java @@ -23,8 +23,10 @@ public class UdiInfoServiceImpl implements UdiInfoService { if (filterUdiInfoRequest == null) { return Collections.emptyList(); } - int offset = (filterUdiInfoRequest.getPage() - 1) * filterUdiInfoRequest.getLimit(); - PageHelper.offsetPage(offset, filterUdiInfoRequest.getLimit()); + if(filterUdiInfoRequest.getPage()!=null){ + int offset = (filterUdiInfoRequest.getPage() - 1) * filterUdiInfoRequest.getLimit(); + PageHelper.offsetPage(offset, filterUdiInfoRequest.getLimit()); + } List data = udiInfoDao.filterUdiInfo(filterUdiInfoRequest); return data; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/thread/BasicUpdateProductService.java b/api-udims/src/main/java/com/glxp/udi/admin/thread/BasicUpdateProductService.java new file mode 100644 index 0000000..b698b14 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/thread/BasicUpdateProductService.java @@ -0,0 +1,96 @@ +package com.glxp.udi.admin.thread; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.udi.admin.entity.inout.UdiInfoEntity; +import com.glxp.udi.admin.entity.udid.UdiEntity; +import com.glxp.udi.admin.req.inout.FilterUdiInfoRequest; +import com.glxp.udi.admin.res.PageSimpleResponse; +import com.glxp.udi.admin.service.inout.UdiInfoService; +import com.glxp.udi.admin.util.FilterUdiUtils; +import com.glxp.udi.admin.util.HttpClient; +import com.glxp.udi.common.res.BaseResponse; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class BasicUpdateProductService { + + @Value("${UDI_SERVER_URL}") + private String udiUrl; + @Resource + UdiInfoService udiInfoService; + + + @Async + public void relAllUdi(FilterUdiInfoRequest productInfoFilterRequest) { + int page = 1; + int limit = 100; + while (true) { + productInfoFilterRequest.setPage(page); + productInfoFilterRequest.setLimit(limit); + List udiInfoEntities = getUdiInfoEntity(productInfoFilterRequest); + if (udiInfoEntities != null && udiInfoEntities.size() > 0) { + for(UdiInfoEntity udiInfoEntity:udiInfoEntities){ + udiInfoEntity.setCustomerId(productInfoFilterRequest.getCustomerId()); + } + udiInfoService.insertUdiInfos(udiInfoEntities); + if (udiInfoEntities.size() < limit) { + break; + } else { + page++; + } + } else { + break; + } + + } + + + } + + + public List getUdiInfoEntity(FilterUdiInfoRequest productInfoFilterRequest) { + String nameCode = null; + if (productInfoFilterRequest.getNameCode() != null) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(productInfoFilterRequest.getNameCode()); + if (udiEntity != null) { + nameCode = udiEntity.getUdi(); + } else { + nameCode = productInfoFilterRequest.getNameCode(); + } + } + Map paramMap = new HashMap<>(16); + paramMap.put("page", productInfoFilterRequest.getPage()); + paramMap.put("limit", productInfoFilterRequest.getLimit()); + paramMap.put("ylqxzcrbarmc", productInfoFilterRequest.getYlqxzcrbarmc()); + paramMap.put("cpmctymc", productInfoFilterRequest.getCpmctymc()); + paramMap.put("nameCode", nameCode); + paramMap.put("ggxh", productInfoFilterRequest.getGgxh()); + paramMap.put("zczbhhzbapzbh", productInfoFilterRequest.getZczbhhzbapzbh()); + paramMap.put("uuid", productInfoFilterRequest.getUuid()); + + String response = HttpClient.mipsGet(udiUrl + "/udidl/device/filterUdi", paramMap); + try { + + BaseResponse> udiDlDeviceResponse = + JSONObject.parseObject(response, new TypeReference>>() { + + }); + if (udiDlDeviceResponse != null) { + List udiInfoEntities = udiDlDeviceResponse.getData().getList(); + return udiInfoEntities; + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return null; + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/thread/InvProductsTrService.java b/api-udims/src/main/java/com/glxp/udi/admin/thread/InvProductsTrService.java new file mode 100644 index 0000000..00f656f --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/thread/InvProductsTrService.java @@ -0,0 +1,108 @@ +package com.glxp.udi.admin.thread; + +import com.glxp.udi.admin.constant.TypeConstant; +import com.glxp.udi.admin.entity.inout.*; +import com.glxp.udi.admin.mongo.service.*; +import com.glxp.udi.admin.req.inout.FilterErpOrderRequest; +import com.glxp.udi.admin.req.inout.OrderFilterRequest; +import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; +import com.glxp.udi.admin.service.inout.UdiInfoService; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.*; + +@Service +public class InvProductsTrService { + + + @Resource + private OrderMdService orderService; + @Resource + private OrderDetailMdService myErpOrderService; + @Resource + private WarehouseMdService codesService; + @Resource + private UdiInfoService udiInfoService; + + @Resource + private InvProductMdService invProductService; + @Resource + private InvProductDetailMdService invProductDetailService; + + + @Async + public void genInvProducts(String orderId) { + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(orderId); + List orderMdEntities = orderService.findAll(orderFilterRequest); + OrderMdEntity orderEntity = orderMdEntities.get(0); + if (orderEntity.getStatus().equals("success")) { + FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); + filterErpOrderRequest.setOrderId(orderId); + List erpOrderEntities = myErpOrderService.filterOrderDetails(filterErpOrderRequest); + if (erpOrderEntities != null && erpOrderEntities.size() > 0) { + for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { + + String nameCode = erpOrderEntity.getNameCode(); + UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(nameCode); + InvProductEntity invProductEntity = invProductService.selectByUuid(udiInfoEntity.getUuid(), erpOrderEntity.getLotno()); + if (invProductEntity == null) { + invProductEntity = new InvProductEntity(); + invProductEntity.setRelIdFk(udiInfoEntity.getUuid()); + invProductEntity.setBatchNo(erpOrderEntity.getLotno()); + invProductEntity.setCustomerId(orderEntity.getCustomerId() + ""); + invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); + invProductEntity.setProductionDate(erpOrderEntity.getProduceDate()); + invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); + invProductEntity.setNameCode(erpOrderEntity.getNameCode()); + invProductEntity.setProductsName(erpOrderEntity.getCoName()); + invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); + invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); + if (orderEntity.getMainAction().equals(TypeConstant.TYPE_OUT)) { + invProductEntity.setOutCount(erpOrderEntity.getCount()); + } else if (orderEntity.getMainAction().equals(TypeConstant.TYPE_PUT)) { + invProductEntity.setInCount(erpOrderEntity.getCount()); + } + invProductService.insertInvProduct(invProductEntity); + invProductEntity = invProductService.selectByUuid(invProductEntity.getRelIdFk(), invProductEntity.getBatchNo()); + } else { + if (orderEntity.getMainAction().equals(TypeConstant.TYPE_OUT)) { + invProductEntity.setOutCount(invProductEntity.getOutCount() + erpOrderEntity.getCount()); + } else if (orderEntity.getMainAction().equals(TypeConstant.TYPE_PUT)) { + invProductEntity.setInCount(invProductEntity.getInCount() + erpOrderEntity.getCount()); + } + invProductService.updateInvProduct(invProductEntity); + } + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + List warehouseEntities = codesService.filterWarehouse(warehouseQueryRequest); + if (warehouseEntities != null && warehouseEntities.size() > 0) { + + for (WarehouseEntity warehouseEntity : warehouseEntities) { + UdiInfoEntity tempUdi = udiInfoService.findByNameCode(warehouseEntity.getUdi()); + if (tempUdi.getUuid().equals(erpOrderEntity.getUuidFk())) { + if ((warehouseEntity.getBatchNo() == null && erpOrderEntity.getLotno() == null) || + warehouseEntity.getBatchNo().equals(erpOrderEntity.getLotno())) { + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + invProductDetailEntity.setProductIdFk(invProductEntity.getId() + ""); + invProductDetailEntity.setCode(warehouseEntity.getCode()); + invProductDetailEntity.setOrderIdFk(warehouseEntity.getOrderId()); + invProductDetailEntity.setCount(warehouseEntity.getCount()); + invProductDetailEntity.setAction(warehouseEntity.getAction()); + invProductDetailEntity.setMainAction(warehouseEntity.getMainAction()); + invProductDetailEntity.setUpdateTime(new Date()); + invProductDetailEntity.setCustomerId(orderEntity.getCustomerId() + ""); + invProductDetailService.insertInvProduct(invProductDetailEntity); + } + } + } + + } + } + } + } + + } +} \ No newline at end of file diff --git a/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutService.java b/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutService.java index d0bdded..e5dac0f 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutService.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutService.java @@ -1,9 +1,9 @@ package com.glxp.udi.admin.thread; +import com.glxp.udi.admin.constant.Constant; import com.glxp.udi.admin.controller.inout.InoutUtils; -import com.glxp.udi.admin.entity.inout.OrderMdEntity; -import com.glxp.udi.admin.entity.inout.WarehouseEntity; -import com.glxp.udi.admin.entity.inout.WarehousetempEntity; +import com.glxp.udi.admin.entity.inout.*; +import com.glxp.udi.admin.entity.udid.UdiEntity; import com.glxp.udi.admin.mongo.service.OrderDetailMdService; import com.glxp.udi.admin.mongo.service.OrderMdService; import com.glxp.udi.admin.mongo.service.WarehouseMdService; @@ -13,13 +13,11 @@ import com.glxp.udi.admin.req.inout.DeleteRequest; import com.glxp.udi.admin.req.inout.PostOrderRequest; import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; import com.glxp.udi.admin.service.info.SetupService; -import com.glxp.udi.admin.service.inout.MyErpOrderService; +import com.glxp.udi.admin.service.inout.CodeNeedRlService; import com.glxp.udi.admin.service.inout.UdiInfoService; import com.glxp.udi.admin.service.inout.UdiRelevanceService; -import com.glxp.udi.admin.service.receipts.MipsBarcodeService; -import com.glxp.udi.admin.service.receipts.ProductInfoService; -import com.glxp.udi.admin.service.receipts.ProductService; import com.glxp.udi.admin.util.DateUtil; +import com.glxp.udi.admin.util.FilterUdiUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; @@ -38,17 +36,9 @@ public class TransInoutService { private static final Logger logger = LoggerFactory.getLogger(TransInoutService.class); - @Resource - private MipsBarcodeService mipsBarcodeService; - @Resource - private ProductInfoService productInfoService; - @Resource - private MyErpOrderService myErpOrderService; @Resource UdiRelevanceService udiRelevanceService; @Resource - ProductService productService; - @Resource SetupService setupService; @Resource private UdiInfoService udiInfoService; @@ -60,14 +50,18 @@ public class TransInoutService { @Resource private OrderMdService orderService; - @Resource private WarehouseTempMdService warehouseTempMdService; - @Resource private WarehouseMdService warehouseMdService; @Resource private OrderDetailMdService orderDetailMdService; + @Resource + private CodeNeedRlService codeNeedRlService; + @Resource + private InoutUtils inoutUtilService; + @Resource + private InvProductsTrService invProductsTrService; @Async public void transInout(PostOrderRequest postOrderRequest, long customerId) { @@ -92,15 +86,15 @@ public class TransInoutService { orderSaveRequest.setMainAction(warehousetempEntity.getMainAction()); orderSaveRequest.setFromCorp(warehousetempEntity.getFromCorp()); orderSaveRequest.setFromType("手持终端"); - orderSaveRequest.setStatus("process"); + orderSaveRequest.setStatus(Constant.ORDER_STATUS_PROCESS); orderSaveRequest.setExportStatus("未上传"); orderService.insertOrder(orderSaveRequest); for (int index = 0; index < warehousetempList.size(); index++) { warehousetempList.get(index).setOrderId(orderId); + warehousetempList.get(index).setCustomerId(customerId); } warehouseTempMdService.insertTempWarehouses(warehousetempList); List filterList = warehousetempList; - List insertList = new ArrayList<>(); //更新状态,正在处理 OrderMdEntity tempEntity = new OrderMdEntity(); @@ -108,58 +102,9 @@ public class TransInoutService { tempEntity.setRemark("正在处理"); orderService.updateOrder(tempEntity); - String result; - for (int j = 0; j < filterList.size(); j++) { - WarehousetempEntity warehousetemp = filterList.get(j); - result = new InoutUtils().filterCode(warehouseMdService, warehousetemp, setupService); - if (result == null) { - insertList.add(warehousetemp); - } else { - //更新状态,失败 - OrderMdEntity tempEntity1 = new OrderMdEntity(); - tempEntity1.setOrderId(filterList.get(0).getOrderId()); - tempEntity1.setStatus("error"); - tempEntity1.setRemark(result); - orderService.updateOrder(tempEntity1); - insertList.clear(); - break; - } - } - postOrders.get(i).setOrderId(orderId); - - if (insertList.size() > 0) { - orderId = insertList.get(0).getOrderId(); - List warehouseEntities = insertList.stream().map(e -> { - WarehouseEntity warehouseEntity = new WarehouseEntity(); - BeanUtils.copyProperties(e, warehouseEntity); - return warehouseEntity; - }).collect(Collectors.toList()); - warehouseMdService.insertWarehouses(warehouseEntities); - - //更新状态,成功 - OrderMdEntity tempEntity2 = new OrderMdEntity(); - tempEntity2.setOrderId(filterList.get(0).getOrderId()); - tempEntity2.setStatus("success"); - orderService.updateOrder(tempEntity2); - - //删除零时表数据 - DeleteRequest deleteRequest = new DeleteRequest(); - deleteRequest.setOrderId(orderId); - warehouseTempMdService.deleteCode(deleteRequest); - insertList.clear(); - } } } - //生成对照表 - for (int i = 0; i < postOrders.size(); i++) { - PostOrderRequest.PostOrder postOrder = postOrders.get(i); - WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); - warehouseQueryRequest.setOrderId(postOrder.getOrderId()); - List transData = warehouseMdService.filterWarehouse(warehouseQueryRequest); - new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, transData); - - } } } @@ -174,8 +119,19 @@ public class TransInoutService { for (int j = 0; j < warehousetempList.size(); j++) { WarehousetempEntity warehousetemp = warehousetempList.get(j); result = new InoutUtils().filterCode(warehouseMdService, warehousetemp, setupService); + if (result == null) { - insertList.add(warehousetemp); + result = inoutUtilService.vailIsUseDy(warehousetemp); + if (result == null) + insertList.add(warehousetemp); + else { + OrderMdEntity tempEntity = new OrderMdEntity(); + tempEntity.setOrderId(orderId); + tempEntity.setRemark(result); + orderService.updateOrder(tempEntity); + insertList.clear(); + return; + } } else { OrderMdEntity tempEntity = new OrderMdEntity(); tempEntity.setOrderId(orderId); @@ -189,6 +145,7 @@ public class TransInoutService { List warehouseEntities = insertList.stream().map(e -> { WarehouseEntity warehouseEntity = new WarehouseEntity(); BeanUtils.copyProperties(e, warehouseEntity); + filterNeedRlCode(warehouseEntity); return warehouseEntity; }).collect(Collectors.toList()); warehouseMdService.insertWarehouses(warehouseEntities); @@ -210,6 +167,7 @@ public class TransInoutService { warehouseQueryRequest.setOrderId(orderId); List transData = warehouseMdService.filterWarehouse(warehouseQueryRequest); new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, transData); + invProductsTrService.genInvProducts(orderId); } } else { return; @@ -217,4 +175,29 @@ public class TransInoutService { } + @Async + public void filterNeedRlCode(WarehouseEntity warehouseEntity) { + UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); + if (udiEntity != null) { + String udi = udiEntity.getUdi(); + UdiInfoEntity udiInfoEntity = udiInfoService.findByNameCode(udi); + if (udiInfoEntity != null && (udiInfoEntity.getDiType() == 4 + || (udiInfoEntity.getDiType() == 1 && udiInfoEntity.getIsUseDy() == 1))) { + CodeNeedRlEntity codeNeedRlEntity = new CodeNeedRlEntity(); + codeNeedRlEntity.setCode(warehouseEntity.getCode()); + codeNeedRlEntity.setOrderIdFk(warehouseEntity.getOrderId()); + BeanUtils.copyProperties(udiInfoEntity, codeNeedRlEntity); + BeanUtils.copyProperties(udiEntity, codeNeedRlEntity); + codeNeedRlEntity.setCount(warehouseEntity.getCount()); + codeNeedRlEntity.setCode(warehouseEntity.getCode()); + codeNeedRlEntity.setCustomerId(warehouseEntity.getCustomerId()); + codeNeedRlService.insertCodeNeedRl(codeNeedRlEntity); + } else { + logger.error(udi + "产品信息未维护!"); + } + + } + } + + } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutTask.java b/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutTask.java new file mode 100644 index 0000000..ac76540 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/thread/TransInoutTask.java @@ -0,0 +1,152 @@ +package com.glxp.udi.admin.thread; + +import com.glxp.udi.admin.controller.inout.InoutUtils; +import com.glxp.udi.admin.dao.inout.ScheduledDao; +import com.glxp.udi.admin.entity.inout.OrderMdEntity; +import com.glxp.udi.admin.entity.inout.ScheduledEntity; +import com.glxp.udi.admin.entity.inout.WarehouseEntity; +import com.glxp.udi.admin.entity.inout.WarehousetempEntity; +import com.glxp.udi.admin.mongo.service.OrderDetailMdService; +import com.glxp.udi.admin.mongo.service.OrderMdService; +import com.glxp.udi.admin.mongo.service.WarehouseMdService; +import com.glxp.udi.admin.mongo.service.WarehouseTempMdService; +import com.glxp.udi.admin.req.inout.*; +import com.glxp.udi.admin.service.info.SetupService; +import com.glxp.udi.admin.service.inout.UdiInfoService; +import com.glxp.udi.admin.service.inout.UdiRelevanceService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.EnableScheduling; +import org.springframework.scheduling.annotation.SchedulingConfigurer; +import org.springframework.scheduling.config.ScheduledTaskRegistrar; +import org.springframework.scheduling.support.CronTrigger; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Component +@EnableScheduling +public class TransInoutTask implements SchedulingConfigurer { + + final Logger logger = LoggerFactory.getLogger(TransInoutTask.class); + + @Resource + UdiRelevanceService udiRelevanceService; + @Resource + SetupService setupService; + @Resource + private UdiInfoService udiInfoService; + @Value("${UCLOD_SERVER_URL}") + private String ucloudUrl; + @Value("${UDI_SERVER_URL}") + private String udiUrl; + + + @Resource + private OrderMdService orderService; + @Resource + private WarehouseTempMdService warehouseTempMdService; + @Resource + private WarehouseMdService warehouseMdService; + @Resource + private OrderDetailMdService orderDetailMdService; + @Resource + protected ScheduledDao scheduledDao; + @Resource + TransInoutService transInoutService; + @Resource + private InoutUtils inoutUtilService; + @Resource + private InvProductsTrService invProductsTrService; + + @Override + public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { + scheduledTaskRegistrar.addTriggerTask(() -> process(), + triggerContext -> { + ScheduledRequest scheduledRequest = new ScheduledRequest(); + scheduledRequest.setCronName("transInout"); + ScheduledEntity scheduledEntity = scheduledDao.findScheduled(scheduledRequest); + String cron = scheduledEntity.getCron(); + if (cron.isEmpty()) { + logger.error("cron is null"); + } + return new CronTrigger(cron).nextExecutionTime(triggerContext); + }); + } + + + private void process() { + logger.info("定时任务:零时表转正式表"); + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setStatus("process"); + List orderMdEntities = orderService.findAll(orderFilterRequest); + if (orderMdEntities != null && orderMdEntities.size() > 0) { + for (OrderMdEntity orderMdEntity : orderMdEntities) { + //读数据库最新数据,避免异步时处理两次 + OrderFilterRequest temp = new OrderFilterRequest(); + temp.setId(orderMdEntity.getId()); + List currents = orderService.findAll(orderFilterRequest); + if (currents != null && currents.size() > 0) { + OrderMdEntity currentEntity = currents.get(0); + if (currentEntity.getStatus().equals("process")) { + List insertList = new ArrayList<>(); + List filterList = warehouseTempMdService.findTempByOrderId(currentEntity.getOrderId()); + String result; + for (int j = 0; j < filterList.size(); j++) { + WarehousetempEntity warehousetemp = filterList.get(j); + result = new InoutUtils().filterCode(warehouseMdService, warehousetemp, setupService); + if (result == null) { + result = inoutUtilService.vailIsUseDy(warehousetemp); + if (result == null) + insertList.add(warehousetemp); + else { + currentEntity.setStatus("error"); + orderService.updateOrder(currentEntity); + insertList.clear(); + return; + } + } else { + //更新状态,失败 + currentEntity.setStatus("error"); + orderService.updateOrder(currentEntity); + insertList.clear(); + break; + } + } + if (insertList.size() > 0) { + List warehouseEntities = insertList.stream().map(e -> { + WarehouseEntity warehouseEntity = new WarehouseEntity(); + BeanUtils.copyProperties(e, warehouseEntity); + transInoutService.filterNeedRlCode(warehouseEntity); + return warehouseEntity; + }).collect(Collectors.toList()); + warehouseMdService.insertWarehouses(warehouseEntities); + + //更新状态,成功 + currentEntity.setStatus("success"); + orderService.updateOrder(currentEntity); + + //删除零时表数据 + DeleteRequest deleteRequest = new DeleteRequest(); + deleteRequest.setOrderId(currentEntity.getOrderId()); + warehouseTempMdService.deleteCode(deleteRequest); + insertList.clear(); + + //生成订单详情 + new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, warehouseEntities); + invProductsTrService.genInvProducts(currentEntity.getOrderId()); + } + + } + } + } + } + + + } +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/thread/VailIsUseDy.java b/api-udims/src/main/java/com/glxp/udi/admin/thread/VailIsUseDy.java new file mode 100644 index 0000000..94503d2 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/thread/VailIsUseDy.java @@ -0,0 +1,10 @@ +package com.glxp.udi.admin.thread; + +import org.springframework.stereotype.Service; + +@Service +public class VailIsUseDy { + + + +} diff --git a/api-udims/src/main/resources/application-pro.properties b/api-udims/src/main/resources/application-pro.properties index 8fd353c..9969d11 100644 --- a/api-udims/src/main/resources/application-pro.properties +++ b/api-udims/src/main/resources/application-pro.properties @@ -3,7 +3,8 @@ server.port=9995 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/udims?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root -spring.datasource.password=123456 +spring.datasource.password=mysql@2020 +#spring.datasource.password=123456 server.servlet.context-path= spring.data.mongodb.database=udiwms spring.data.mongodb.username=root @@ -19,7 +20,7 @@ cors.allowed-methods=GET,POST,PUT,DELETE,PATCH,OPTIONS cors.allowed-Credentials=true #mips服务地址 UDIC_MIPSDOWNLOAD_URL=http://127.0.0.1:8080/UDIC_MIPSDL_Server -UDI_SERVER_URL=http://127.0.0.1:8080/UDI_DL_Server +#UDI_SERVER_URL=http://127.0.0.1:8080/UDI_DL_Server UCLOD_SERVER_URL=http://127.0.0.1:9997 -#UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server +UDI_SERVER_URL=https://www.udims.com/UDI_DL_Server COOR_UPLOAD_ORDER=http://127.0.0.1:9987/udi/upload diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/BusRoleRlDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/BusRoleRlDao.xml new file mode 100644 index 0000000..cd6c93b --- /dev/null +++ b/api-udims/src/main/resources/mybatis/mapper/inout/BusRoleRlDao.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + replace INTO basic_bussiness_role + (roleId,busAction,busActionName) + values + ( + #{roleId},#{busAction},#{busActionName} + ) + + + + UPDATE basic_bussiness_role + + roleId = #{roleId}, + busAction = #{busAction}, + busActionName = #{busActionName}, + + WHERE id = #{id} + + + + DELETE FROM basic_bussiness_role WHERE roleId = #{id} + + + + diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/BussinessTypeDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/BussinessTypeDao.xml new file mode 100644 index 0000000..09de7cc --- /dev/null +++ b/api-udims/src/main/resources/mybatis/mapper/inout/BussinessTypeDao.xml @@ -0,0 +1,85 @@ + + + + + + + + + + + replace INTO basic_bussiness_type + (action,name,enable,remark,mainAction,localAction,thirdSysFk) + values + ( + #{action}, + #{name}, + #{enable}, + #{remark}, + #{mainAction},#{localAction},#{thirdSysFk} + ) + + + + UPDATE basic_bussiness_type + + action = #{action}, + name = #{name}, + enable = #{enable}, + remark = #{remark}, + mainAction = #{mainAction}, + localAction=#{localAction}, + thirdSysFk=#{thirdSysFk}, + + WHERE id = #{id} + + + + DELETE FROM basic_bussiness_type WHERE id = #{id} + + + + + diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/CodeNeedRlDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/CodeNeedRlDao.xml new file mode 100644 index 0000000..e2955dc --- /dev/null +++ b/api-udims/src/main/resources/mybatis/mapper/inout/CodeNeedRlDao.xml @@ -0,0 +1,60 @@ + + + + + + + replace INTO io_code_need_rl + ( + code,batchNo,produceDate,expireDate,serialNo,udi,count, + orderIdFk,cpmctymc,ggxh,ylqxzcrbarmc,zczbhhzbapzbh,diType,customerId,cplb,flbm + ) + values + ( + #{code},#{batchNo},#{produceDate},#{expireDate},#{serialNo},#{udi},#{count},#{orderIdFk},#{cpmctymc}, + #{ggxh},#{ylqxzcrbarmc},#{zczbhhzbapzbh},#{diType},#{customerId},#{cplb},#{flbm} + ) + + + + + UPDATE io_code_need_rl + + code=#{code}, + batchNo=#{batchNo}, + produceDate=#{produceDate}, + expireDate=#{expireDate}, + serialNo=#{serialNo}, + udi=#{udi}, + count=#{count}, + orderIdFk=#{orderIdFk}, + cpmctymc=#{cpmctymc}, + ggxh=#{ggxh}, + ylqxzcrbarmc=#{ylqxzcrbarmc}, + zczbhhzbapzbh=#{zczbhhzbapzbh}, + flbm=#{flbm}, + qxlb=#{qxlb}, + diType=#{diType}, + + WHERE id = #{id} + + + + + DELETE FROM io_code_need_rl WHERE id = #{id} + + \ No newline at end of file diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/ScheduleDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/ScheduleDao.xml new file mode 100644 index 0000000..3d6a9c1 --- /dev/null +++ b/api-udims/src/main/resources/mybatis/mapper/inout/ScheduleDao.xml @@ -0,0 +1,40 @@ + + + + + + + + insert INTO io_scheduled + (cronName,cron,customerId) + values + ( + #{cronName}, + #{cron}, + #{customerId} + ) + + + + + delete from io_scheduled where id = #{id} + + + + + + + diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/UdiInfoDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/UdiInfoDao.xml index 4788eeb..0cf0727 100644 --- a/api-udims/src/main/resources/mybatis/mapper/inout/UdiInfoDao.xml +++ b/api-udims/src/main/resources/mybatis/mapper/inout/UdiInfoDao.xml @@ -44,6 +44,9 @@ AND customerId = #{customerId} + + AND diType = #{diType} + group by uuid @@ -51,7 +54,7 @@ - SELECT * FROM bussiness_type where - udiwmsType LIKE concat('%',#{udiwmsType},'%') - - and thirdType LIKE concat('%',#{thirdType},'%') - - - - - - - INSERT INTO bussiness_type - (thirdId,udiwmsType,thirdType,remark) - values - ( - #{thirdId}, - #{udiwmsType}, - #{thirdType}, - #{remark} - ) - - - - UPDATE bussiness_type SET - thirdId = #{thirdId}, - udiwmsType = #{udiwmsType}, - thirdType = #{thirdType}, - remark = #{remark} - WHERE id = #{id} - - - - DELETE FROM bussiness_type WHERE id = #{id} - - - - -