From a202be5419787e3823393e6c8c3470d61573b48e Mon Sep 17 00:00:00 2001 From: anthonywj Date: Mon, 28 Jun 2021 09:05:33 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=87=BA=E5=85=A5=E5=BA=93=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E6=88=90mongodb=EF=BC=8Cbeta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api-udims/pom.xml | 9 + .../udi/admin/config/MongoConfiguration.java | 18 ++ .../admin/controller/inout/InoutUtils.java | 21 +- .../inout/MyErpOrderController.java | 38 +-- .../controller/inout/OrderController.java | 245 +++++++---------- .../controller/inout/WareHouseController.java | 84 ++---- .../admin/entity/inout/ErpOrderEntity.java | 27 +- .../udi/admin/entity/inout/OrderMdEntity.java | 29 ++ .../admin/entity/inout/WarehouseEntity.java | 2 +- .../entity/inout/WarehousetempEntity.java | 11 +- .../glxp/udi/admin/mongo/MongoDBClient.java | 93 +++++++ .../com/glxp/udi/admin/mongo/MongoDBName.java | 9 + .../mongo/service/OrderDetailMdService.java | 71 +++++ .../admin/mongo/service/OrderMdService.java | 145 ++++++++++ .../mongo/service/WarehouseMdService.java | 128 +++++++++ .../mongo/service/WarehouseTempMdService.java | 103 ++++++++ .../admin/mongo/utils/MongoPageHelper.java | 109 ++++++++ .../udi/admin/mongo/utils/PageResult.java | 44 ++++ .../udi/admin/req/inout/DeleteRequest.java | 2 + .../req/inout/FilterErpOrderRequest.java | 1 + .../admin/req/inout/OrderFilterRequest.java | 2 + .../udi/admin/req/inout/PostOrderRequest.java | 8 +- .../req/inout/WarehouseQueryRequest.java | 2 + .../udi/admin/thread/TransInoutService.java | 249 ++++++++---------- .../com/glxp/udi/admin/util/DateUtil.java | 31 ++- .../main/resources/application-pro.properties | 15 +- .../mybatis/mapper/inout/DruginfoMapper.xml | 2 +- .../mybatis/mapper/inout/WarehousetempDao.xml | 4 +- .../com/glxp/udi/admin/util/MongoDbTest.java | 92 +++++++ pom.xml | 1 + 30 files changed, 1190 insertions(+), 405 deletions(-) create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/config/MongoConfiguration.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/entity/inout/OrderMdEntity.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBClient.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderDetailMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseTempMdService.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java create mode 100644 api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/PageResult.java create mode 100644 api-udims/src/test/java/com/glxp/udi/admin/util/MongoDbTest.java diff --git a/api-udims/pom.xml b/api-udims/pom.xml index 918bfb3..7ccab1c 100644 --- a/api-udims/pom.xml +++ b/api-udims/pom.xml @@ -150,6 +150,15 @@ gson 2.8.5 + + org.springframework.boot + spring-boot-starter-data-mongodb + + + + + + diff --git a/api-udims/src/main/java/com/glxp/udi/admin/config/MongoConfiguration.java b/api-udims/src/main/java/com/glxp/udi/admin/config/MongoConfiguration.java new file mode 100644 index 0000000..6c8a241 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/config/MongoConfiguration.java @@ -0,0 +1,18 @@ +package com.glxp.udi.admin.config; + +import com.glxp.udi.admin.mongo.utils.MongoPageHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.mongodb.core.MongoTemplate; + +@Configuration +public class MongoConfiguration { + @Autowired + private MongoTemplate mongoTemplate; + + @Bean + public MongoPageHelper mongoPageHelper() { + return new MongoPageHelper(mongoTemplate); + } +} 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 f08ce99..1395681 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 @@ -5,15 +5,15 @@ import com.glxp.udi.admin.constant.TypeConstant; import com.glxp.udi.admin.entity.info.SetupEntity; 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.WarehouseMdService; import com.glxp.udi.admin.req.inout.FilterWarehouseRequest; import com.glxp.udi.admin.service.info.SetupService; -import com.glxp.udi.admin.service.inout.MyErpOrderService; import com.glxp.udi.admin.service.inout.UdiInfoService; import com.glxp.udi.admin.service.inout.UdiRelevanceService; -import com.glxp.udi.admin.service.inout.WarehouseService; import com.glxp.udi.admin.service.receipts.ProductInfoService; import com.glxp.udi.admin.util.FilterUdiUtils; -import com.glxp.udi.admin.util.WarehousBeanUtils; +import org.springframework.beans.BeanUtils; import java.util.ArrayList; import java.util.HashMap; @@ -31,13 +31,15 @@ public class InoutUtils { this.udiUrl = udiUrl; } - public String filterCode(WarehouseService warehouseService, Warehousetemp warehousetemp, SetupService setupService) { + public String filterCode(WarehouseMdService warehouseService, WarehousetempEntity warehousetemp, SetupService setupService) { SetupEntity setupEntity = setupService.selectSetup(); FilterWarehouseRequest filterWarehouseRequest = new FilterWarehouseRequest(); filterWarehouseRequest.setCode(warehousetemp.getCode()); filterWarehouseRequest.setCustomerId(warehousetemp.getCustomerId()); List warehouseEntityList = warehouseService.findByCode(filterWarehouseRequest); - WarehouseEntity warehouseData = new WarehousBeanUtils().tempToEntity(warehousetemp); + + WarehouseEntity warehouseData = new WarehouseEntity(); + BeanUtils.copyProperties(warehousetemp,warehouseData); if (warehouseEntityList == null || warehouseEntityList.size() == 0) { //数据库为null,可以添加 return nullVail(warehousetemp, setupEntity); } @@ -104,7 +106,7 @@ public class InoutUtils { return null; } - public String nullVail(Warehousetemp warehousetemp, SetupEntity setupEntity) { + public String nullVail(WarehousetempEntity warehousetemp, SetupEntity setupEntity) { if (warehousetemp.getAction().equals(TypeConstant.TYPE_PUT_RETURN)) { if (setupEntity.isReturnWareHouseIn()) { return null; @@ -247,7 +249,7 @@ public class InoutUtils { } public void generateConstrastDetail(UdiInfoService udiInfoService, UdiRelevanceService udiRelevanceService, - MyErpOrderService myErpOrderService, + OrderDetailMdService orderDetailMdService, List warehouseEntityList) { if (warehouseEntityList != null && warehouseEntityList.size() > 0) { List udiInfoEntities = new ArrayList<>(); @@ -293,8 +295,9 @@ public class InoutUtils { erpOrderEntity.setPackSpec(erpDetailCodeEntity.getGgxh()); erpOrderEntities.add(erpOrderEntity); } - if (!erpOrderEntities.isEmpty()) - myErpOrderService.insertErpOrders(erpOrderEntities); + if (!erpOrderEntities.isEmpty()){ + orderDetailMdService.insertOrderDetail(erpOrderEntities); + } } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/MyErpOrderController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/MyErpOrderController.java index 067782f..753a79d 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/MyErpOrderController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/MyErpOrderController.java @@ -2,6 +2,7 @@ package com.glxp.udi.admin.controller.inout; import com.github.pagehelper.PageInfo; import com.glxp.udi.admin.entity.inout.ErpOrderEntity; +import com.glxp.udi.admin.mongo.service.OrderDetailMdService; import com.glxp.udi.admin.req.inout.DeleteRequest; import com.glxp.udi.admin.req.inout.FilterErpOrderRequest; import com.glxp.udi.admin.res.PageSimpleResponse; @@ -25,6 +26,28 @@ public class MyErpOrderController { private String ucloudUrl; @Resource MyErpOrderService myErpOrderService; + @Resource + private OrderDetailMdService orderDetailMdService; + + @GetMapping(value = "/warehouse/inout/order/detail") + public BaseResponse orderDetail(FilterErpOrderRequest filterErpOrderRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (filterErpOrderRequest.getOrderId() == null || filterErpOrderRequest.getOrderId().equals("")) { + filterErpOrderRequest.setOrderId("1"); + } + filterErpOrderRequest.setPage(1); + filterErpOrderRequest.setLimit(100); + List erpOrderEntities = orderDetailMdService.filterOrderDetails(filterErpOrderRequest); + return ResultVOUtils.success(erpOrderEntities); + } + + /** + * ------------------------------------------------( + **/ + @GetMapping("/warehouse/getMyErpOrders") public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest, @@ -60,20 +83,5 @@ public class MyErpOrderController { } } - @GetMapping(value = "/warehouse/inout/order/detail") - public BaseResponse orderDetail(FilterErpOrderRequest filterErpOrderRequest, - BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - if (filterErpOrderRequest.getOrderId() == null || filterErpOrderRequest.getOrderId().equals("")) { - filterErpOrderRequest.setOrderId("1"); - } - filterErpOrderRequest.setPage(1); - filterErpOrderRequest.setLimit(100); - List erpOrderEntities = myErpOrderService.filterMyErpOrder(filterErpOrderRequest); - return ResultVOUtils.success(erpOrderEntities); - } - } 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 d5c344f..bef1e4d 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 @@ -3,11 +3,15 @@ package com.glxp.udi.admin.controller.inout; import com.github.pagehelper.PageInfo; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.entity.auth.AuthAdmin; -import com.glxp.udi.admin.entity.info.SetupEntity; import com.glxp.udi.admin.entity.inout.ErpOrderEntity; import com.glxp.udi.admin.entity.inout.OrderEntity; +import com.glxp.udi.admin.entity.inout.OrderMdEntity; import com.glxp.udi.admin.entity.inout.WarehouseEntity; import com.glxp.udi.admin.exception.JsonException; +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.utils.PageResult; import com.glxp.udi.admin.req.inout.*; import com.glxp.udi.admin.res.PageSimpleResponse; import com.glxp.udi.admin.service.auth.AuthAdminService; @@ -53,6 +57,12 @@ public class OrderController { private SetupService setupService; @Resource AuthAdminService authAdminService; + @Resource + private OrderDetailMdService orderDetailMdService; + @Resource + private OrderMdService orderMdService; + @Resource + private WarehouseMdService warehouseMdService; @AuthRuleAnnotation("") @GetMapping("/warehouse/inout/order/filter") @@ -70,22 +80,21 @@ public class OrderController { AuthAdmin authAdmin = new GetAuthAdminUtil(authAdminService).getAuthAdmin(attributes); orderFilterRequest.setCustomerId(authAdmin.getCustomerId()); orderFilterRequest.setStatus("success"); - List orderEntityList; - if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { - FilterWarehouseRequest filterWarehouseRequest = new FilterWarehouseRequest(); - filterWarehouseRequest.setCustomerId(authAdmin.getCustomerId()); - filterWarehouseRequest.setCode(orderFilterRequest.getCode()); - List warehouseEntityList = warehouseService.findByCode(filterWarehouseRequest); - orderEntityList = orderService.filterListByCode(warehouseEntityList); - } else { - orderEntityList = orderService.filterList(orderFilterRequest); - } - - PageInfo pageInfo; - pageInfo = new PageInfo<>(orderEntityList); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(orderEntityList); +// if (orderFilterRequest.getCode() != null && !orderFilterRequest.getCode().equals("")) { +// FilterWarehouseRequest filterWarehouseRequest = new FilterWarehouseRequest(); +// filterWarehouseRequest.setCustomerId(authAdmin.getCustomerId()); +// filterWarehouseRequest.setCode(orderFilterRequest.getCode()); +// List warehouseEntityList = warehouseService.findByCode(filterWarehouseRequest); +// orderEntityList = orderService.filterListByCode(warehouseEntityList); +// } else { +// +// } + + PageResult pageResult = + orderMdService.filterList(orderFilterRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageResult.getTotal()); + pageSimpleResponse.setList(pageResult.getList()); return ResultVOUtils.success(pageSimpleResponse); } @@ -116,6 +125,81 @@ public class OrderController { return ResultVOUtils.success(pageSimpleResponse); } + @PostMapping("warehouse/inout/order/deleteOrder") + public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + orderMdService.deleteOrder(deleteRequest); + orderDetailMdService.deleteOrderDetail(deleteRequest); + warehouseMdService.deleteCode(deleteRequest); + return ResultVOUtils.success("删除成功"); + } + + @AuthRuleAnnotation("") + @GetMapping("admin/warehouse/inout/order/listerror") + public BaseResponse listOrderError(OrderFilterRequest orderFilterRequest) { + orderFilterRequest.setIsError("success"); + PageResult pageResult = + orderMdService.filterList(orderFilterRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageResult.getTotal()); + pageSimpleResponse.setList(pageResult.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/warehouse/inout/order/mergeOrder") + public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + List orderList = orderMergeRequest.getOrderList(); + + if (orderList != null && orderList.size() > 1) { + for (String orderId : orderList) { + DeleteRequest deleteRequest = new DeleteRequest(); + deleteRequest.setOrderId(orderId); + orderDetailMdService.deleteOrderDetail(deleteRequest); + } + String mainOrder = orderList.get(0); + for (int i = 1; i < orderList.size(); i++) { + warehouseMdService.updateOrderId(orderList.get(i), mainOrder); + DeleteRequest deleteRequest = new DeleteRequest(); + deleteRequest.setOrderId(orderList.get(i)); + orderMdService.deleteOrder(deleteRequest); + } + new Thread(() -> { + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(mainOrder); + List transData = warehouseMdService.filterWarehouse(warehouseQueryRequest); + new InoutUtils().generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, transData); + }).start(); + } + + + return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); + } + + @PostMapping("/warehouse/inout/order/unit") + public BaseResponse updateUnit(@RequestBody @Valid OrderMdEntity orderEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + orderMdService.updateOrder(orderEntity); + warehouseMdService.updateUnit(orderEntity.getOrderId(), orderEntity.getFromCorpId(), orderEntity.getFromCorp()); + + return ResultVOUtils.success("添加成功"); + } + + /** * -----------------------暂不确定---------------------- */ @@ -134,17 +218,6 @@ public class OrderController { return ResultVOUtils.success(pageSimpleResponse); } - @AuthRuleAnnotation("") - @GetMapping("admin/warehouse/inout/order/listerror") - public BaseResponse listOrderError(OrderQueryRequest orderQueryRequest) { - List orderEntityList = orderService.listOrderError(orderQueryRequest); - PageInfo pageInfo; - pageInfo = new PageInfo<>(orderEntityList); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(orderEntityList); - return ResultVOUtils.success(pageSimpleResponse); - } @AuthRuleAnnotation("") @GetMapping("admin/warehouse/inout/order/listRepeat") @@ -176,89 +249,6 @@ public class OrderController { return ResultVOUtils.success("添加成功"); } - @AuthRuleAnnotation("") - @PostMapping("/warehouse/inout/order/mergeOrder") - public BaseResponse mergeOrder(@RequestBody OrderMergeRequest orderMergeRequest, BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - - List orderList = orderMergeRequest.getOrderList(); - SetupEntity setupEntity = setupService.selectSetup(); - if (!setupEntity.isForbidSameErp()) { - List mergeList = new ArrayList<>(); - if (orderList != null && orderList.size() > 1) { - for (String orderId : orderList) { - FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); - filterErpOrderRequest.setOrderId(orderId); - List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - mergeList.addAll(erpOrderEntities); - } - myErpOrderService.deleteByOrderId(orderId); - - } - String mainOrder = orderList.get(0); - for (int i = 1; i < orderList.size(); i++) { - warehouseService.updateOrderId(orderList.get(i), mainOrder); - orderService.deleteByOrderId(orderList.get(i)); - } - OrderEntity mainOrderEntity = orderService.findById(mainOrder); - List docids = getDocids(mergeList); - String docidStr = ""; - if (docids != null && docids.size() > 0) { - for (String temp : docids) { - docidStr = docidStr + "," + temp; - } - docidStr = docidStr.substring(1); - } - mainOrderEntity.setErpFk(docidStr); - orderService.updateOrder(mainOrderEntity); -// List erpOrderEntities = new UCloudHttpClient(ucloudUrl).getErpOrders(docids, mainOrderEntity.getAction()); -// if (erpOrderEntities != null && erpOrderEntities.size() > 0) { -// List returnOrders = new ContrastErpUtil().transErp(erpOrderEntities, udiRelevanceService, mainOrder); -// myErpOrderService.insertErpOrders(returnOrders); -// List warehouseEntityList = warehouseService.findByReceiptId(mainOrder); -// new ContrastErpUtil().contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, warehouseEntityList,setupService); -// } else { -// orderService.updateContrastStatus(mainOrder, "error"); -// orderService.updateRemark(mainOrder, "U8Cloud获取ERP单失败"); -// return ResultVOUtils.error(500, "U8Cloud获取ERP单失败"); -// } - } else { - return ResultVOUtils.error(ResultEnum.DATA_ERROR); - } - } else { - if (orderList != null && orderList.size() > 1) { - for (String orderId : orderList) { - FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); - filterErpOrderRequest.setOrderId(orderId); - List erpOrderEntities = myErpOrderService.filterAllMyErpOrder(filterErpOrderRequest); - if (erpOrderEntities != null && erpOrderEntities.size() > 0) { - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - if (erpOrderEntity.getDocid() != null) { - return ResultVOUtils.error(500, "已校验过订单不能合并!"); - } - } - } - myErpOrderService.deleteByOrderId(orderId); - } - String mainOrder = orderList.get(0); - for (int i = 1; i < orderList.size(); i++) { - warehouseService.updateOrderId(orderList.get(i), mainOrder); - orderService.deleteByOrderId(orderList.get(i)); - } - new Thread(() -> { - List datas = warehouseService.findByReceiptId(mainOrder); - new InoutUtils().generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); - }).start(); - } - } - - return ResultVOUtils.success("合并成功,后台正在数据转换,请稍后刷新重试!"); - } - public List getDocids(List mergeList) { List docids = new ArrayList<>(); @@ -274,39 +264,6 @@ public class OrderController { return false; } - @PostMapping("warehouse/inout/order/deleteOrder") - public BaseResponse deleteOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - String id = deleteRequest.getId(); - - orderService.deleteById(id); - myErpOrderService.deleteByOrderId(id); - return ResultVOUtils.success("删除成功"); - } - - - @PostMapping("/warehouse/inout/order/unit") - public BaseResponse updateUnit(@RequestBody @Valid OrderEntity orderEntity, - BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - - boolean b = orderService.updateUnit(orderEntity); - if (!b) { - return ResultVOUtils.error(ResultEnum.NOT_NETWORK); - } - - b = warehouseService.updateUnit(orderEntity.getId(), orderEntity.getFromCorpId(), orderEntity.getFromCorp()); - if (!b) { - return ResultVOUtils.error(ResultEnum.NOT_NETWORK); - } - return ResultVOUtils.success("添加成功"); - } @PostMapping("/warehouse/inout/order/updateExportStatus") public BaseResponse updateExportStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, diff --git a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java index bbf4179..d33d7e5 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/controller/inout/WareHouseController.java @@ -3,19 +3,19 @@ package com.glxp.udi.admin.controller.inout; import com.github.pagehelper.PageInfo; import com.glxp.udi.admin.annotation.AuthRuleAnnotation; import com.glxp.udi.admin.entity.auth.AuthAdmin; -import com.glxp.udi.admin.entity.inout.ErpOrderEntity; import com.glxp.udi.admin.entity.inout.WarehouseEntity; -import com.glxp.udi.admin.entity.inout.Warehousetemp; +import com.glxp.udi.admin.entity.inout.WarehousetempEntity; import com.glxp.udi.admin.exception.JsonException; +import com.glxp.udi.admin.mongo.service.WarehouseMdService; +import com.glxp.udi.admin.mongo.service.WarehouseTempMdService; +import com.glxp.udi.admin.mongo.utils.PageResult; import com.glxp.udi.admin.req.inout.*; import com.glxp.udi.admin.res.PageSimpleResponse; import com.glxp.udi.admin.res.inout.WarehouseResponse; import com.glxp.udi.admin.service.auth.AuthAdminService; -import com.glxp.udi.admin.service.info.SetupService; -import com.glxp.udi.admin.service.inout.*; +import com.glxp.udi.admin.service.inout.WarehouseService; import com.glxp.udi.admin.thread.TransInoutService; import com.glxp.udi.admin.util.GetAuthAdminUtil; -import com.glxp.udi.admin.util.WarehousBeanUtils; import com.glxp.udi.common.enums.ResultEnum; import com.glxp.udi.common.res.BaseResponse; import com.glxp.udi.common.util.ResultVOUtils; @@ -30,7 +30,6 @@ import org.springframework.web.context.request.ServletRequestAttributes; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -39,17 +38,12 @@ public class WareHouseController { @Resource private WarehouseService warehouseService; @Resource - private OrderService orderService; + private WarehouseMdService warehouseMdService; @Resource - private MyErpOrderService myErpOrderService; + private WarehouseTempMdService warehouseTempMdService; @Resource private TransInoutService transInoutService; - @Resource - private UdiInfoService udiInfoService; - @Resource - private UdiRelevanceService udiRelevanceService; - @Resource - private SetupService setupService; + @Resource AuthAdminService authAdminService; @@ -73,6 +67,24 @@ public class WareHouseController { return ResultVOUtils.success("导入成功"); } + @GetMapping("admin/warehouse/inout/findByOrderId") + public BaseResponse findByOrderId(WarehouseQueryRequest warehouseQueryRequest) { + PageResult pageResult = warehouseMdService.filterWarehouseByPage(warehouseQueryRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageResult.getTotal()); + pageSimpleResponse.setList(pageResult.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @GetMapping("admin/warehouse/inout/findErrorByOrderId") + public BaseResponse findErrorByOrderId(WarehouseQueryRequest warehouseQueryRequest) { + PageResult pageResult = warehouseTempMdService.filterWarehouseByPage(warehouseQueryRequest); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageResult.getTotal()); + pageSimpleResponse.setList(pageResult.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } /** * -----------------------暂不确定---------------------- @@ -131,22 +143,6 @@ public class WareHouseController { return ResultVOUtils.success(pageSimpleResponse); } - @GetMapping("admin/warehouse/inout/findByOrderId") - public BaseResponse findByOrderId(WarehouseQueryRequest warehouseQueryRequest) { - List warehouseEntityList = warehouseService.findByOrderId(warehouseQueryRequest); - List warehouseResponses = warehouseEntityList.stream().map(item -> - { - WarehouseResponse warehouseResponse = new WarehouseResponse(); - BeanUtils.copyProperties(item, warehouseResponse); - return warehouseResponse; - }).collect(Collectors.toList()); - PageInfo pageInfo; - pageInfo = new PageInfo<>(warehouseEntityList); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(warehouseResponses); - return ResultVOUtils.success(pageSimpleResponse); - } @GetMapping("admin/warehouse/inout/findAllByOrderId") public BaseResponse findAllByOrderId(WarehouseQueryRequest warehouseQueryRequest) { @@ -166,34 +162,6 @@ public class WareHouseController { } - @GetMapping("admin/warehouse/inout/findErrorByOrderId") - public BaseResponse findErrorByOrderId(WarehouseQueryRequest warehouseQueryRequest) { - List warehousetempList = warehouseService.findErrorByOrderId(warehouseQueryRequest); - List warehouseResponses = WarehousBeanUtils.tempsToWarehouseResponse(warehousetempList); - PageInfo pageInfo; - pageInfo = new PageInfo<>(warehousetempList); - PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); - pageSimpleResponse.setTotal(pageInfo.getTotal()); - pageSimpleResponse.setList(warehouseResponses); - return ResultVOUtils.success(pageSimpleResponse); - } - - - public void updateErpOrderId(List erpOrderEntities, String oldId, String newId) { - if (erpOrderEntities != null) { - List inserts = new ArrayList<>(); - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - if (erpOrderEntity.getOrderIdFk().equals(oldId)) { - erpOrderEntity.setOrderIdFk(newId); - inserts.add(erpOrderEntity); - } - } - myErpOrderService.insertErpOrders(inserts); - } - - } - - @PostMapping("/admin/warehouse/inout/save") public BaseResponse save(@RequestBody @Valid WarehouseSaveRequest warehouseSaveRequest, BindingResult bindingResult) { 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 0ea07c5..65c660f 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 @@ -6,22 +6,7 @@ import lombok.Data; public class ErpOrderEntity { - /** - * companyid : 31443 - * docid : 200959 - * iodtlid : 1108752 - * inoutid : 1064084 - * credate : 2020-10-14 10:24:56.0 - * goodsunit : 瓶 - * goodsid : 26 - * lotid : 84392 - * goodsname : 川贝清肺糖浆(120ml) - * companyname : 安徽阜阳医药集团有限公司 - * lotno : 1912198 - * dtlgoodsqty : 4000 - */ - - private long id; + private String id; private String companyid; private String docid; private String iodtlid; @@ -32,9 +17,9 @@ public class ErpOrderEntity { private String goodsname; private String companyname; private String lotno; - private int dtlgoodsqty; + private Integer dtlgoodsqty; private String credate; - private int reCount; + private Integer reCount; private String nameCode; @@ -43,11 +28,11 @@ public class ErpOrderEntity { private String authCode; private String packSpec; private String packRatio; - private int bhzxxsbzsl; - private int zxxsbzbhsydysl; + private Integer bhzxxsbzsl; + private Integer zxxsbzbhsydysl; private String isDownload; private String orderIdFk; - private int count; + private Integer count; private String nameCodes; private String status; diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/OrderMdEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/OrderMdEntity.java new file mode 100644 index 0000000..15776c5 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/OrderMdEntity.java @@ -0,0 +1,29 @@ +package com.glxp.udi.admin.entity.inout; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +@Data +public class OrderMdEntity { + + private String id; + private String orderId; + private String action; + private String corpOrderId; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date actDate; + private String fromCorpId; + private String actor; + private String mainAction; + private String fromCorp; + private String status; + private String remark; + private String exportStatus; + private String fromType; + private String contrastStatus; + private String erpFk; + private Long customerId; + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehouseEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehouseEntity.java index 594ca17..2e19c47 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehouseEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehouseEntity.java @@ -14,7 +14,7 @@ public class WarehouseEntity { private Integer wrongCode; private String upperCorpOrderId; private String fromCorpId; - private Long id; + private String id; private String fromCorp; private String orderId; private String batchNo; diff --git a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehousetempEntity.java b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehousetempEntity.java index e629701..eea5606 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehousetempEntity.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/entity/inout/WarehousetempEntity.java @@ -11,10 +11,10 @@ public class WarehousetempEntity { private String corpOrderId; private String actor; private String actDate; - private int wrongCode; + private Integer wrongCode; private String upperCorpOrderId; - private String fromCorpID; - private long id; + private String fromCorpId; + private String id; private String fromCorp; private String orderId; private String batchNo; @@ -23,7 +23,8 @@ public class WarehousetempEntity { private String serialNo; private String udi; private Integer count; - private int type; - private int oddCount; + private Integer type; private Long customerId; + + } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBClient.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBClient.java new file mode 100644 index 0000000..74cba2e --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBClient.java @@ -0,0 +1,93 @@ +package com.glxp.udi.admin.mongo; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; +import org.springframework.stereotype.Component; + +import java.util.Collection; +import java.util.List; + +/** + * @Desc TODO MongoDB 工具类 + */ +@Component +public class MongoDBClient { + + @Autowired + private MongoTemplate mongoTemplate; + + /* + * @ClassName MongoDBClient + * @Desc TODO 创建集合,并返回是否创建成功 -2:已存在 / -1:创建失败 / 1:创建成功 + * @Date 2019/4/1 10:59 + * @Version 1.0 + */ + public Integer createCollection(String collectionName){ + // 先判断集合是否存在 + if(mongoTemplate.collectionExists(collectionName)){ + return -2; + }else{ + // 创建一个集合 + mongoTemplate.createCollection(collectionName); + // 判断集合是否存在 + if(mongoTemplate.collectionExists(collectionName)){ + return 1; + }else{ + return -1; + } + } + } + + /* + * @ClassName MongoDBClient + * @Desc TODO 在指定集合中添加数据 + * @Date 2019/4/1 11:12 + * @Version 1.0 + */ + public void add(Collection batchToSave , String collectionName){ + mongoTemplate.insert(batchToSave,collectionName); + } + + /* + * @ClassName MongoDBClient + * @Desc TODO 根据条件和指定集合删除数据 + * @Date 2019/4/1 14:20 + * @Version 1.0 + */ + public void delete(Query query , Object obj , String collectionName){ + mongoTemplate.remove(query, obj.getClass(), collectionName); + } + + /* + * @ClassName MongoDBClient + * @Desc TODO 根据条件更新数据 + * @Date 2019/4/1 14:30 + * @Version 1.0 + */ + public void update(Query query , Update update , Object obj , String collectionName){ + mongoTemplate.updateMulti(query , update , obj.getClass() , collectionName); + } + + /* + * @ClassName MongoDBClient + * @Desc TODO 获取指定集合下的全部数据 + * @Date 2019/4/1 11:18 + * @Version 1.0 + */ + public List getAllByCollectionName(Object obj , String collectionName){ + return mongoTemplate.findAll(obj.getClass(),collectionName); + } + + /* + * @ClassName MongoDBClient + * @Desc TODO 根据条件和集合名称查询数据 + * @Date 2019/4/1 11:31 + * @Version 1.0 + */ + public List getByConditionAndCollectionName(Query query , Object obj , String collectionName){ + return mongoTemplate.find(query, obj.getClass() , collectionName); + } + +} 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 new file mode 100644 index 0000000..ad5da73 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/MongoDBName.java @@ -0,0 +1,9 @@ +package com.glxp.udi.admin.mongo; + +public class MongoDBName { + + public static final String NAME_ORDER = "io_order"; //订单表 + 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"; //正式码表 +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderDetailMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderDetailMdService.java new file mode 100644 index 0000000..d476883 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderDetailMdService.java @@ -0,0 +1,71 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.ErpOrderEntity; +import com.glxp.udi.admin.mongo.MongoDBName; +import com.glxp.udi.admin.mongo.utils.MongoPageHelper; +import com.glxp.udi.admin.req.inout.DeleteRequest; +import com.glxp.udi.admin.req.inout.FilterErpOrderRequest; +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 OrderDetailMdService { + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + public List filterOrderDetails(FilterErpOrderRequest filterErpOrderRequest) { + + Query query = new Query(); + if (filterErpOrderRequest.getOrderId() != null && !filterErpOrderRequest.getOrderId().isEmpty()) { + query.addCriteria(Criteria.where("orderIdFk").is(filterErpOrderRequest.getOrderId())); + } + if (filterErpOrderRequest.getCustomerId() != null) { + query.addCriteria(Criteria.where("customerId").is(filterErpOrderRequest.getCustomerId())); + } + return mongoTemplate.find(query, ErpOrderEntity.class, MongoDBName.NAME_ORDER_DETAIL); + } + + public void insertOrderDetail(List erpOrderEntities) { + if (erpOrderEntities != null) { + Collection warehouseEntityCollection = new ArrayList<>(); + warehouseEntityCollection.addAll(erpOrderEntities); + mongoTemplate.insert(warehouseEntityCollection, MongoDBName.NAME_ORDER_DETAIL); + } + } + + public void deleteOrderDetail(DeleteRequest deleteRequest) { + Query query = new Query(); + if (deleteRequest.getId() != null) { + query.addCriteria(Criteria.where("id").is(deleteRequest.getId())); + } + if (deleteRequest.getOrderId() != null) { + query.addCriteria(Criteria.where("orderIdFk").is(deleteRequest.getOrderId())); + } + mongoTemplate.remove(query, ErpOrderEntity.class, MongoDBName.NAME_ORDER_DETAIL); + } + + public void updateOrderDetail(ErpOrderEntity erpOrderEntity) { + Query query = new Query(); + query.addCriteria(new Criteria().and("id").is(erpOrderEntity.getId())); + Update update = new Update(); + + if (erpOrderEntity.getCount() != null) { + update.set("count", erpOrderEntity.getCount()); + } + if (erpOrderEntity.getReCount() != null) { + update.set("reCount", erpOrderEntity.getReCount()); + } + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_ORDER_DETAIL); + } +} 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 new file mode 100644 index 0000000..2dd46cf --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/OrderMdService.java @@ -0,0 +1,145 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.OrderMdEntity; +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.DeleteRequest; +import com.glxp.udi.admin.req.inout.OrderFilterRequest; +import com.glxp.udi.admin.util.DateUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +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.Date; + +@Service +public class OrderMdService { + + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + private static final Logger log = LoggerFactory.getLogger(OrderMdService.class); + + public PageResult filterList(OrderFilterRequest orderFilterRequest) { + Query query = new Query(); + if (orderFilterRequest.getId() != null && !orderFilterRequest.getId().isEmpty()) { + query.addCriteria(Criteria.where("id").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 mongoPageHelper.pageQuery(query, OrderMdEntity.class, + orderFilterRequest.getLimit(), orderFilterRequest.getPage(), orderFilterRequest.getLastId(), MongoDBName.NAME_ORDER); + + } + + public void updateOrder(OrderMdEntity orderMdEntity) { + Query query = new Query(); + if (orderMdEntity.getOrderId() != null && !orderMdEntity.getOrderId().isEmpty()) { + query.addCriteria(new Criteria().and("orderId").is(orderMdEntity.getOrderId())); + } else if (orderMdEntity.getId() != null && !orderMdEntity.getId().isEmpty()) { + query.addCriteria(new Criteria().and("id").is(orderMdEntity.getId())); + } else { + log.error("更新失败,未指定orderId"); + return; + } + + Update update = new Update(); + if (orderMdEntity.getId() != null) { + update.set("fromCorp", orderMdEntity.getFromCorp()); + } + if (orderMdEntity.getFromCorp() != null) { + update.set("fromCorp", orderMdEntity.getFromCorp()); + } + if (orderMdEntity.getFromCorpId() != null) { + update.set("fromCorpId", orderMdEntity.getFromCorpId()); + } + if (orderMdEntity.getActDate() != null) { + update.set("actDate", orderMdEntity.getActDate()); + } + if (orderMdEntity.getStatus() != null) { + update.set("status", orderMdEntity.getStatus()); + } + if (orderMdEntity.getRemark() != null) { + update.set("remark", orderMdEntity.getRemark()); + } + if (orderMdEntity.getExportStatus() != null) { + update.set("exportStatus", orderMdEntity.getExportStatus()); + } + if (orderMdEntity.getContrastStatus() != null) { + update.set("contrastStatus", orderMdEntity.getContrastStatus()); + } + if (orderMdEntity.getErpFk() != null) { + update.set("erpFk", orderMdEntity.getErpFk()); + } + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_ORDER); + } + + public void deleteOrder(DeleteRequest deleteRequest) { + Query query = new Query(); + if (deleteRequest.getId() != null) { + query.addCriteria(Criteria.where("id").is(deleteRequest.getId())); + } + if (deleteRequest.getOrderId() != null) { + query.addCriteria(Criteria.where("orderId").is(deleteRequest.getOrderId())); + } + mongoTemplate.remove(query, OrderMdEntity.class, MongoDBName.NAME_ORDER); + } + + + public void insertOrder(OrderMdEntity orderMdEntity) { + if (orderMdEntity != null) { + Collection orderMdEntities = new ArrayList<>(); + orderMdEntities.add(orderMdEntity); + mongoTemplate.insert(orderMdEntities, MongoDBName.NAME_ORDER); + } + } +} 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 new file mode 100644 index 0000000..eec4c81 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseMdService.java @@ -0,0 +1,128 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.WarehouseEntity; +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.DeleteRequest; +import com.glxp.udi.admin.req.inout.FilterWarehouseRequest; +import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; +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 WarehouseMdService { + + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + + public PageResult filterWarehouseByPage(WarehouseQueryRequest warehouseQueryRequest) { + + Query query = new Query(); + if (warehouseQueryRequest.getCode() != null && !warehouseQueryRequest.getCode().isEmpty()) { + query.addCriteria(Criteria.where("code").is(warehouseQueryRequest.getCode())); + } + if (warehouseQueryRequest.getCorpOrderId() != null && !warehouseQueryRequest.getCorpOrderId().isEmpty()) { + query.addCriteria(Criteria.where("corpOrderId").is(warehouseQueryRequest.getCorpOrderId())); + } + 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())); + } + return mongoPageHelper.pageQuery(query, WarehouseEntity.class, + warehouseQueryRequest.getLimit(), warehouseQueryRequest.getPage(), warehouseQueryRequest.getLastId(), MongoDBName.NAME_CODE); + } + + public List filterWarehouse(WarehouseQueryRequest warehouseQueryRequest) { + + Query query = new Query(); + if (warehouseQueryRequest.getCode() != null && !warehouseQueryRequest.getCode().isEmpty()) { + query.addCriteria(Criteria.where("code").is(warehouseQueryRequest.getCode())); + } + if (warehouseQueryRequest.getCorpOrderId() != null && !warehouseQueryRequest.getCorpOrderId().isEmpty()) { + query.addCriteria(Criteria.where("corpOrderId").is(warehouseQueryRequest.getCorpOrderId())); + } + 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())); + } + return mongoTemplate.find(query, WarehouseEntity.class, MongoDBName.NAME_CODE); + } + + + public void insertWarehouses(List warehouseEntities) { + if (warehouseEntities != null) { + Collection warehouseEntityCollection = new ArrayList<>(); + warehouseEntityCollection.addAll(warehouseEntities); + mongoTemplate.insert(warehouseEntityCollection, MongoDBName.NAME_CODE); + } + } + + + public List findByCode(FilterWarehouseRequest filterWarehouseRequest) { + Query query = new Query(); + query.addCriteria( + Criteria.where("customerId").is(filterWarehouseRequest.getCustomerId()) + .and("code").is(filterWarehouseRequest.getCode()) + ); + return mongoTemplate.find(query, WarehouseEntity.class, MongoDBName.NAME_CODE); + } + + + public List searchCode(String code, Long customerId) { + Query query = new Query(); + query.addCriteria( + Criteria.where("customerId").is(customerId) + .and("code").is(code) + .and("action").ne("StockCheck") + ); + return mongoTemplate.find(query, WarehouseEntity.class, MongoDBName.NAME_CODE); + } + + public void updateUnit(String orderId, String fromCorpId, String fromCorp) { + + Query query = new Query(); + query.addCriteria(new Criteria().and("orderId").is(orderId)); + Update update = new Update(); + update.set("fromCorp", fromCorp); + update.set("fromCorpId", fromCorpId); + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_CODE); + } + + public void updateOrderId(String orderId, String newOrderId) { + + Query query = new Query(); + query.addCriteria(new Criteria().and("orderId").is(orderId)); + Update update = new Update(); + update.set("orderId", newOrderId); + mongoTemplate.updateMulti(query, update, MongoDBName.NAME_CODE); + } + + public void deleteCode(DeleteRequest deleteRequest) { + Query query = new Query(); + if (deleteRequest.getId() != null) { + query.addCriteria(Criteria.where("id").is(deleteRequest.getId())); + } + if (deleteRequest.getOrderId() != null) { + query.addCriteria(Criteria.where("orderId").is(deleteRequest.getOrderId())); + } + mongoTemplate.remove(query, WarehouseEntity.class, MongoDBName.NAME_CODE); + } + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseTempMdService.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseTempMdService.java new file mode 100644 index 0000000..08397e7 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/service/WarehouseTempMdService.java @@ -0,0 +1,103 @@ +package com.glxp.udi.admin.mongo.service; + +import com.glxp.udi.admin.entity.inout.WarehouseEntity; +import com.glxp.udi.admin.entity.inout.WarehousetempEntity; +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.DeleteRequest; +import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; +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.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + +@Service +public class WarehouseTempMdService { + @Autowired + private MongoTemplate mongoTemplate; + @Resource + MongoPageHelper mongoPageHelper; + + + public PageResult filterWarehouseByPage(WarehouseQueryRequest warehouseQueryRequest) { + + Query query = new Query(); + if (warehouseQueryRequest.getCode() != null && !warehouseQueryRequest.getCode().isEmpty()) { + query.addCriteria(Criteria.where("code").is(warehouseQueryRequest.getCode())); + } + if (warehouseQueryRequest.getCorpOrderId() != null && !warehouseQueryRequest.getCorpOrderId().isEmpty()) { + query.addCriteria(Criteria.where("corpOrderId").is(warehouseQueryRequest.getCorpOrderId())); + } + 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())); + } + return mongoPageHelper.pageQuery(query, WarehousetempEntity.class, + warehouseQueryRequest.getLimit(), warehouseQueryRequest.getPage(), warehouseQueryRequest.getLastId(), MongoDBName.NAME_CODE_ERROR); + } + + public List filterWarehouse(WarehouseQueryRequest warehouseQueryRequest) { + + Query query = new Query(); + if (warehouseQueryRequest.getCode() != null && !warehouseQueryRequest.getCode().isEmpty()) { + query.addCriteria(Criteria.where("code").is(warehouseQueryRequest.getCode())); + } + if (warehouseQueryRequest.getCorpOrderId() != null && !warehouseQueryRequest.getCorpOrderId().isEmpty()) { + query.addCriteria(Criteria.where("corpOrderId").is(warehouseQueryRequest.getCorpOrderId())); + } + 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())); + } + return mongoTemplate.find(query, WarehousetempEntity.class, MongoDBName.NAME_CODE_ERROR); + } + + public List findTempByOrderId(String orderId) { + Query query = new Query(Criteria.where("orderId").is(orderId)); + List result = mongoTemplate.find(query, WarehousetempEntity.class, MongoDBName.NAME_CODE_ERROR); + return result; + } + + public void insertTempWarehouses(List warehouseEntities) { + if (warehouseEntities != null) { + Collection warehousetempEntityCollection = new ArrayList<>(); + warehousetempEntityCollection.addAll(warehouseEntities); + mongoTemplate.insert(warehousetempEntityCollection, MongoDBName.NAME_CODE_ERROR); + } + } + + public void deleteTempWarehouses(List ids) { + if (ids != null) { + for (String id : ids) { + Query query = new Query(); + query.addCriteria(Criteria.where("id").is(id)); + mongoTemplate.remove(query, MongoDBName.NAME_CODE_ERROR); + } + } + } + + + public void deleteCode(DeleteRequest deleteRequest) { + Query query = new Query(); + if (deleteRequest.getId() != null) { + query.addCriteria(Criteria.where("id").is(deleteRequest.getId())); + } + if (deleteRequest.getOrderId() != null) { + query.addCriteria(Criteria.where("orderId").is(deleteRequest.getOrderId())); + } + mongoTemplate.remove(query, WarehouseEntity.class, MongoDBName.NAME_CODE_ERROR); + } + + +} 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 new file mode 100644 index 0000000..f7a1a1e --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/MongoPageHelper.java @@ -0,0 +1,109 @@ +package com.glxp.udi.admin.mongo.utils; + +import org.apache.commons.lang3.StringUtils; +import org.bson.types.ObjectId; +import org.springframework.data.domain.Sort; +import org.springframework.data.domain.Sort.Direction; +import org.springframework.data.domain.Sort.Order; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; + +import java.util.Collections; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * MongoDB分页插件,需要结合Spring-data使用. + * + * @author Ryan Miao at 2018-06-07 15:19 + **/ +public class MongoPageHelper { + + private static final int FIRST_PAGE_NUM = 1; + private static final String ID = "_id"; + private final MongoTemplate mongoTemplate; + + public MongoPageHelper(MongoTemplate mongoTemplate) { + this.mongoTemplate = mongoTemplate; + } + + + /** + * 分页查询,直接返回集合类型的结果. + * + * @see MongoPageHelper#pageQuery(Query, + * Class, Integer, Integer, Function, + * String) + */ + public PageResult pageQuery(Query query, Class entityClass, Integer pageSize, + Integer pageNum, String tableName) { + return pageQuery(query, entityClass, pageSize, pageNum, Function.identity(), null, tableName); + } + + /** + * 分页查询,不考虑条件分页,直接使用skip-limit来分页. + * + * @see MongoPageHelper#pageQuery(Query, + * Class, Integer, Integer, Function, + * String) + */ + public PageResult pageQuery(Query query, Class entityClass, + Integer pageSize, Integer pageNum, Function mapper, String tableName) { + return pageQuery(query, entityClass, pageSize, pageNum, mapper, null); + } + + public PageResult pageQuery(Query query, Class entityClass, Integer pageSize, + Integer pageNum, String lastId, String tableName) { + return pageQuery(query, entityClass, pageSize, pageNum, Function.identity(), null, tableName); + } + + /** + * 分页查询. + * + * @param query Mongo Query对象,构造你自己的查询条件. + * @param entityClass Mongo collection定义的entity class,用来确定查询哪个集合. + * @param mapper 映射器,你从db查出来的list的元素类型是entityClass, 如果你想要转换成另一个对象,比如去掉敏感字段等,可以使用mapper来决定如何转换. + * @param pageSize 分页的大小. + * @param pageNum 当前页. + * @param lastId 条件分页参数, 区别于skip-limit,采用find(_id>lastId).limit分页. + * 如果不跳页,像朋友圈,微博这样下拉刷新的分页需求,需要传递上一页的最后一条记录的ObjectId。 如果是null,则返回pageNum那一页. + * @param collection定义的class类型. + * @param 最终返回时,展现给页面时的一条记录的类型。 + * @return PageResult,一个封装page信息的对象. + */ + public PageResult pageQuery(Query query, Class entityClass, + Integer pageSize, Integer pageNum, Function mapper, String lastId, String tableName) { + //分页逻辑 + long total = mongoTemplate.count(query, entityClass,tableName); + final Integer pages = (int) Math.ceil(total / (double) pageSize); + if (pageNum <= 0 || pageNum > pages) { + pageNum = FIRST_PAGE_NUM; + } + final Criteria criteria = new Criteria(); + if (StringUtils.isNotBlank(lastId)) { + if (pageNum != FIRST_PAGE_NUM) { + criteria.and(ID).gt(new ObjectId(lastId)); + } + query.limit(pageSize); + } else { + int skip = pageSize * (pageNum - 1); + query.skip(skip).limit(pageSize); + } + + final List entityList = mongoTemplate + .find(query.addCriteria(criteria) + .with(new Sort(Collections.singletonList(new Order(Direction.ASC, ID)))), + entityClass, tableName); + + final PageResult pageResult = new PageResult<>(); + pageResult.setTotal(total); + pageResult.setPages(pages); + pageResult.setPageSize(pageSize); + pageResult.setPageNum(pageNum); + pageResult.setList(entityList.stream().map(mapper).collect(Collectors.toList())); + return pageResult; + } + +} \ No newline at end of file diff --git a/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/PageResult.java b/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/PageResult.java new file mode 100644 index 0000000..5f82eb8 --- /dev/null +++ b/api-udims/src/main/java/com/glxp/udi/admin/mongo/utils/PageResult.java @@ -0,0 +1,44 @@ +package com.glxp.udi.admin.mongo.utils; + +import lombok.Data; + +import java.util.List; + +/** + * 分页结果. + * + * @author Ryan + */ +@Data +//@AllArgsConstructor +//@NoArgsConstructor +//@JsonInclude(Include.NON_NULL) +public class PageResult { + + /** + * 页码,从1开始 + */ + private Integer pageNum; + + /** + * 页面大小 + */ + private Integer pageSize; + + + /** + * 总数 + */ + private Long total; + + /** + * 总页数 + */ + private Integer pages; + + /** + * 数据 + */ + private List list; + +} diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/DeleteRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/DeleteRequest.java index 012e4a9..8ca7e7b 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/DeleteRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/DeleteRequest.java @@ -7,5 +7,7 @@ public class DeleteRequest { String id; Long customerId; + String orderId; + String orderIdFk; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterErpOrderRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterErpOrderRequest.java index 181413a..ab587eb 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterErpOrderRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/FilterErpOrderRequest.java @@ -18,6 +18,7 @@ public class FilterErpOrderRequest extends ListPageRequest { private String billAction; private String billcode; private String fbillflag; + Long customerId; List orderIds; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/OrderFilterRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/OrderFilterRequest.java index 53674f0..ec92003 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/OrderFilterRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/OrderFilterRequest.java @@ -19,5 +19,7 @@ public class OrderFilterRequest extends ListPageRequest { private String endTime; private String stockCheckFk; private Long customerId; + private String lastId; + private String isError; } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/PostOrderRequest.java b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/PostOrderRequest.java index a04173d..249431c 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/req/inout/PostOrderRequest.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/req/inout/PostOrderRequest.java @@ -1,6 +1,6 @@ package com.glxp.udi.admin.req.inout; -import com.glxp.udi.admin.entity.inout.WarehouseEntity; +import com.glxp.udi.admin.entity.inout.WarehousetempEntity; import lombok.Data; import java.util.List; @@ -19,7 +19,7 @@ public class PostOrderRequest { public static class PostOrder { public List erpOrders; - List codes; + List codes; private String billType; private String orderId; @@ -57,11 +57,11 @@ public class PostOrderRequest { this.erpOrders = erpOrders; } - public List getCodes() { + public List getCodes() { return codes; } - public void setCodes(List codes) { + public void setCodes(List codes) { this.codes = codes; } } 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 c35c937..a784a77 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 @@ -7,6 +7,8 @@ import lombok.Data; public class WarehouseQueryRequest extends ListPageRequest { private String corpOrderId; + private String orderId; private String code; private Long customerId; + private String lastId; } 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 4f0f13c..d0bdded 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,40 +1,43 @@ package com.glxp.udi.admin.thread; import com.glxp.udi.admin.controller.inout.InoutUtils; -import com.glxp.udi.admin.entity.inout.ErpOrderEntity; -import com.glxp.udi.admin.entity.inout.OrderEntity; +import com.glxp.udi.admin.entity.inout.OrderMdEntity; import com.glxp.udi.admin.entity.inout.WarehouseEntity; -import com.glxp.udi.admin.entity.inout.Warehousetemp; +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.CommitRequest; -import com.glxp.udi.admin.req.inout.FilterErpOrderRequest; -import com.glxp.udi.admin.req.inout.OrderFilterRequest; +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.*; +import com.glxp.udi.admin.service.inout.MyErpOrderService; +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.WarehousBeanUtils; +import com.glxp.udi.admin.util.DateUtil; 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.Async; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Date; import java.util.List; -import java.util.Map; +import java.util.stream.Collectors; @Service public class TransInoutService { private static final Logger logger = LoggerFactory.getLogger(TransInoutService.class); - @Resource - private WarehouseService warehouseService; - @Resource - private OrderService orderService; + @Resource private MipsBarcodeService mipsBarcodeService; @Resource @@ -54,6 +57,18 @@ public class TransInoutService { @Value("${UDI_SERVER_URL}") private String udiUrl; + + @Resource + private OrderMdService orderService; + + @Resource + private WarehouseTempMdService warehouseTempMdService; + + @Resource + private WarehouseMdService warehouseMdService; + @Resource + private OrderDetailMdService orderDetailMdService; + @Async public void transInout(PostOrderRequest postOrderRequest, long customerId) { @@ -61,57 +76,51 @@ public class TransInoutService { if (postOrders != null && postOrders.size() > 0) { for (int i = 0; i < postOrders.size(); i++) { PostOrderRequest.PostOrder postOrder = postOrders.get(i); - List warehouseEntityList = postOrder.getCodes(); - List warehousetempList = new WarehousBeanUtils().entityToTemp(warehouseEntityList, customerId); + List warehousetempList = postOrder.getCodes(); if (warehousetempList != null && warehousetempList.size() > 0) { - Warehousetemp warehouseEntity = warehousetempList.get(0); + WarehousetempEntity warehousetempEntity = warehousetempList.get(0); String orderId = System.currentTimeMillis() + i + ""; - OrderEntity orderSaveRequest = new OrderEntity(); - orderSaveRequest.setId(orderId); - if (warehouseEntity.getActdate() != null) { - orderSaveRequest.setActDate(warehouseEntity.getActdate()); - } + OrderMdEntity orderSaveRequest = new OrderMdEntity(); + orderSaveRequest.setOrderId(orderId); + Date actDate = DateUtil.parseDate(warehousetempEntity.getActDate()); + orderSaveRequest.setActDate(DateUtil.dateToISODate(actDate)); orderSaveRequest.setCustomerId(customerId); - orderSaveRequest.setAction(warehouseEntity.getAction()); - orderSaveRequest.setActor(warehouseEntity.getActor()); - orderSaveRequest.setCorpOrderId(warehouseEntity.getCorporderid()); - orderSaveRequest.setFromCorpId(warehouseEntity.getFromcorpid()); - orderSaveRequest.setMainAction(warehouseEntity.getMainaction()); - orderSaveRequest.setFromCorp(warehouseEntity.getFromcorp()); + orderSaveRequest.setAction(warehousetempEntity.getAction()); + orderSaveRequest.setActor(warehousetempEntity.getActor()); + orderSaveRequest.setCorpOrderId(warehousetempEntity.getCorpOrderId()); + orderSaveRequest.setFromCorpId(warehousetempEntity.getFromCorpId()); + orderSaveRequest.setMainAction(warehousetempEntity.getMainAction()); + orderSaveRequest.setFromCorp(warehousetempEntity.getFromCorp()); orderSaveRequest.setFromType("手持终端"); orderSaveRequest.setStatus("process"); orderSaveRequest.setExportStatus("未上传"); - orderSaveRequest.setStockCheckFk(postOrder.getStockIdFk()); - orderSaveRequest.setSignStatus("0"); - List docidsList = postOrder.getErpOrders(); - String docidStr = ""; - if (docidsList != null) { - for (String key : docidsList) { - docidStr = docidStr + "," + key; - } - if (docidStr.length() > 1) { - docidStr = docidStr.substring(1); - orderSaveRequest.setErpFk(docidStr); - } - } - orderService.insertOrder(orderSaveRequest); for (int index = 0; index < warehousetempList.size(); index++) { - warehousetempList.get(index).setOrderid(orderId); + warehousetempList.get(index).setOrderId(orderId); } - warehouseService.insertTempWarehouses(warehousetempList); - List filterList = warehousetempList; - List insertList = new ArrayList<>(); + warehouseTempMdService.insertTempWarehouses(warehousetempList); + List filterList = warehousetempList; + List insertList = new ArrayList<>(); + + //更新状态,正在处理 + OrderMdEntity tempEntity = new OrderMdEntity(); + tempEntity.setOrderId(filterList.get(0).getOrderId()); + tempEntity.setRemark("正在处理"); + orderService.updateOrder(tempEntity); + String result; - orderService.updateRemark(filterList.get(0).getOrderid(), "正在处理"); for (int j = 0; j < filterList.size(); j++) { - Warehousetemp warehousetemp = filterList.get(j); - result = new InoutUtils().filterCode(warehouseService, warehousetemp, setupService); + WarehousetempEntity warehousetemp = filterList.get(j); + result = new InoutUtils().filterCode(warehouseMdService, warehousetemp, setupService); if (result == null) { insertList.add(warehousetemp); } else { - orderService.updateOrderStatus(warehousetemp.getOrderid(), "error"); - orderService.updateRemark(warehousetemp.getOrderid(), result); + //更新状态,失败 + OrderMdEntity tempEntity1 = new OrderMdEntity(); + tempEntity1.setOrderId(filterList.get(0).getOrderId()); + tempEntity1.setStatus("error"); + tempEntity1.setRemark(result); + orderService.updateOrder(tempEntity1); insertList.clear(); break; } @@ -119,18 +128,24 @@ public class TransInoutService { postOrders.get(i).setOrderId(orderId); if (insertList.size() > 0) { - orderId = insertList.get(0).getOrderid(); - warehouseService.insertWarehouses(new WarehousBeanUtils().tempsToEntitys(insertList)); - Warehousetemp warehousetemp = insertList.get(0); - CommitRequest commitRequest = new CommitRequest(); - commitRequest.setOrderId(warehousetemp.getOrderid()); - List warehousetemps = warehouseService.findTempByOrderId(commitRequest); - orderService.updateOrderStatus(orderId, "success"); - List ids = new ArrayList<>(); - for (Warehousetemp w : warehousetemps) { - ids.add(w.getId()); - } - warehouseService.deleteTempWarehouses(ids); + 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(); } } @@ -139,8 +154,10 @@ public class TransInoutService { //生成对照表 for (int i = 0; i < postOrders.size(); i++) { PostOrderRequest.PostOrder postOrder = postOrders.get(i); - List transData = warehouseService.findByReceiptId(postOrder.getOrderId()); - new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData); + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(postOrder.getOrderId()); + List transData = warehouseMdService.filterWarehouse(warehouseQueryRequest); + new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, transData); } } @@ -149,53 +166,50 @@ public class TransInoutService { @Async public void repeatCommit(CommitRequest commitRequest) { - List warehousetempList = warehouseService.findTempByOrderId(commitRequest); + String orderId = commitRequest.getOrderId(); + List warehousetempList = warehouseTempMdService.findTempByOrderId(commitRequest.getOrderId()); if (warehousetempList != null && warehousetempList.size() > 0) { String result; - - List insertList = new ArrayList<>(); + List insertList = new ArrayList<>(); for (int j = 0; j < warehousetempList.size(); j++) { - Warehousetemp warehousetemp = warehousetempList.get(j); - result = new InoutUtils().filterCode(warehouseService, warehousetemp, setupService); + WarehousetempEntity warehousetemp = warehousetempList.get(j); + result = new InoutUtils().filterCode(warehouseMdService, warehousetemp, setupService); if (result == null) { insertList.add(warehousetemp); } else { - orderService.updateRemark(warehousetemp.getOrderid(), result); + OrderMdEntity tempEntity = new OrderMdEntity(); + tempEntity.setOrderId(orderId); + tempEntity.setRemark(result); + orderService.updateOrder(tempEntity); insertList.clear(); return; } } if (insertList.size() > 0) { - warehouseService.insertWarehouses(new WarehousBeanUtils().tempsToEntitys(insertList)); - orderService.updateOrderStatus(insertList.get(0).getOrderid(), "success"); - List ids = new ArrayList<>(); - for (Warehousetemp warehousetemp : insertList) { - ids.add(warehousetemp.getId()); - } - warehouseService.deleteTempWarehouses(ids); - String orderId = insertList.get(0).getOrderid(); - String type = insertList.get(0).getAction(); - - OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); - orderFilterRequest.setId(orderId); - OrderEntity orderEntity = orderService.findOne(orderFilterRequest); - String docidStr = orderEntity.getErpFk(); - String[] docidArray; - List docids = new ArrayList<>(); - if (docidStr != null && docidStr.length() > 0) { - docidArray = docidStr.split(","); - for (int i = 0; i < docidArray.length; i++) { - docids.add(docidArray[i]); - } - } - if (docids == null || docids.size() == 0) { - FilterErpOrderRequest filterErpOrderRequest = new FilterErpOrderRequest(); - filterErpOrderRequest.setOrderId(orderId); - docids = myErpOrderService.filterAllDocid(filterErpOrderRequest); - docids = getDocids(docids); - } - List datas = warehouseService.findByReceiptId(orderId); - new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, datas); + 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(orderId); + tempEntity2.setStatus("success"); + orderService.updateOrder(tempEntity2); + + + //删除零时表数据 + DeleteRequest deleteRequest = new DeleteRequest(); + deleteRequest.setOrderId(orderId); + warehouseTempMdService.deleteCode(deleteRequest); + + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setOrderId(orderId); + List transData = warehouseMdService.filterWarehouse(warehouseQueryRequest); + new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, orderDetailMdService, transData); } } else { return; @@ -203,39 +217,4 @@ public class TransInoutService { } - public void updateErpOrderId(List erpOrderEntities, String oldId, String newId) { - if (erpOrderEntities != null) { - List inserts = new ArrayList<>(); - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - if (erpOrderEntity.getOrderIdFk() == null || erpOrderEntity.getOrderIdFk().equals(oldId)) { - erpOrderEntity.setOrderIdFk(newId); - inserts.add(erpOrderEntity); - } - } - myErpOrderService.insertErpOrders(inserts); - } - - } - - public List getDocids(List ids) { - Map filter = new HashMap<>(); - List docids = new ArrayList<>(); - for (String id : ids) { - if (id.contains(",")) { - String[] dociArray = id.split(","); - if (dociArray != null && dociArray.length > 0) { - for (int i = 0; i < dociArray.length; i++) { - filter.put(dociArray[i], dociArray[i]); - } - } - } else { - filter.put(id, id); - } - } - for (String docid : filter.keySet()) { - docids.add(docid); - } - return docids; - - } } diff --git a/api-udims/src/main/java/com/glxp/udi/admin/util/DateUtil.java b/api-udims/src/main/java/com/glxp/udi/admin/util/DateUtil.java index 673c99d..9ebab88 100644 --- a/api-udims/src/main/java/com/glxp/udi/admin/util/DateUtil.java +++ b/api-udims/src/main/java/com/glxp/udi/admin/util/DateUtil.java @@ -19,7 +19,7 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM/dd HH", "yyyy/MM", "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM.dd HH", "yyyy.MM", "yyyy年MM月dd日", "yyyy年MM月dd日 HH时mm分ss秒", "yyyy年MM月dd日 HH时mm分", "yyyy年MM月dd日 HH时", "yyyy年MM月", - "yyyy"}; + "yyyy", "yyyy-MM-dd'T'HH:mm:ss:sssZ"}; /** * 得到日期字符串 ,转换格式(yyyy-MM-dd) @@ -149,17 +149,42 @@ public class DateUtil extends org.apache.commons.lang3.time.DateUtils { /** * 日期型字符串转化为日期 格式 see to DateUtils#parsePatterns */ - public static Date parseDate(Object str) { + public static Date parseDate(String str) { if (str == null) { return null; } + String tempTime = str.replace("Z", "UTC"); try { - return parseDate(str.toString(), parsePatterns); + return parseDate(tempTime, parsePatterns); } catch (ParseException e) { return null; } } + public static Date convertTimeFormat(String sourceTime) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");//注意格式化的表达式 + sourceTime = sourceTime.replace("Z", " UTC");//注意是空格+UTC + Date resDate = null; + try { + resDate = format.parse(sourceTime); + } catch (ParseException e) { + e.printStackTrace(); + } + return resDate; + } + + + public static Date dateToISODate(Date dateStr) { + Date parse = null; + try { + // 解析字符串时间 + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); + parse = format.parse(format.format(dateStr)); + } catch (ParseException e) { + e.printStackTrace(); + } + return parse; + } /** * 获取过去的天数 diff --git a/api-udims/src/main/resources/application-pro.properties b/api-udims/src/main/resources/application-pro.properties index ac7affe..8fd353c 100644 --- a/api-udims/src/main/resources/application-pro.properties +++ b/api-udims/src/main/resources/application-pro.properties @@ -1,21 +1,24 @@ # 生产环境 - 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=mysql@2020 +spring.datasource.password=123456 server.servlet.context-path= +spring.data.mongodb.database=udiwms +spring.data.mongodb.username=root +spring.data.mongodb.password=123456 +spring.data.mongodb.host=localhost +spring.data.mongodb.port=27017 +logging.level.org.springframework.data.mongodb.core.MongoTemplate=debug logging.level.com.glxp.udi.admin.dao=debug # 跨域设置 cors.allowed-origins=* cors.allowed-headers=Content-Type,ADMIN_ID,ADMIN_TOKEN cors.allowed-methods=GET,POST,PUT,DELETE,PATCH,OPTIONS -cors.allowed-Credentials = true - - +cors.allowed-Credentials=true #mips服务地址 -UDIC_MIPSDOWNLOAD_URL = http://127.0.0.1:8080/UDIC_MIPSDL_Server +UDIC_MIPSDOWNLOAD_URL=http://127.0.0.1:8080/UDIC_MIPSDL_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 diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/DruginfoMapper.xml b/api-udims/src/main/resources/mybatis/mapper/inout/DruginfoMapper.xml index 0c44e76..8b8268e 100644 --- a/api-udims/src/main/resources/mybatis/mapper/inout/DruginfoMapper.xml +++ b/api-udims/src/main/resources/mybatis/mapper/inout/DruginfoMapper.xml @@ -321,7 +321,7 @@ where nameCode = #{namecode,jdbcType=VARCHAR} - + diff --git a/api-udims/src/main/resources/mybatis/mapper/inout/WarehousetempDao.xml b/api-udims/src/main/resources/mybatis/mapper/inout/WarehousetempDao.xml index 3fd6566..0aa4f8c 100644 --- a/api-udims/src/main/resources/mybatis/mapper/inout/WarehousetempDao.xml +++ b/api-udims/src/main/resources/mybatis/mapper/inout/WarehousetempDao.xml @@ -13,7 +13,7 @@ (action, mainAction, code, corpOrderId, actor, actDate, wrongCode, upperCorpOrderId, - fromCorpID, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,udi,count,type,oddCount,customerId) + fromCorpID, fromCorp, orderId,batchNo,produceDate,expireDate,serialNo,udi,count,customerId) VALUES @@ -36,8 +36,6 @@ ,#{item.serialNo} ,#{item.udi} ,#{item.count} - ,#{item.type} - ,#{item.oddCount} ,#{item.customerId} ) diff --git a/api-udims/src/test/java/com/glxp/udi/admin/util/MongoDbTest.java b/api-udims/src/test/java/com/glxp/udi/admin/util/MongoDbTest.java new file mode 100644 index 0000000..281c8c8 --- /dev/null +++ b/api-udims/src/test/java/com/glxp/udi/admin/util/MongoDbTest.java @@ -0,0 +1,92 @@ +package com.glxp.udi.admin.util; + +import com.glxp.udi.BaseApiAdminApplicationTest; +import com.glxp.udi.admin.entity.inout.WarehouseEntity; +import com.glxp.udi.admin.entity.inout.WarehousetempEntity; +import com.glxp.udi.admin.mongo.service.WarehouseMdService; +import com.glxp.udi.admin.mongo.service.WarehouseTempMdService; +import com.glxp.udi.admin.mongo.utils.PageResult; +import com.glxp.udi.admin.req.inout.WarehouseQueryRequest; +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +public class MongoDbTest extends BaseApiAdminApplicationTest { + + @Resource + private WarehouseTempMdService warehousetempService; + @Resource + private WarehouseMdService warehouseMdService; + + + private static final Logger log = LoggerFactory.getLogger(MongoDbTest.class); + + @Test + public void insertTempWarehouses() { + List warehousetempEntityList = new ArrayList<>(); + for (int i = 0; i < 100; i++) { + WarehouseEntity warehousetempEntity = new WarehouseEntity(); + warehousetempEntity.setAction("1"); + warehousetempEntity.setMainAction("1"); + warehousetempEntity.setCode("1"); + warehousetempEntity.setCorpOrderId("1"); + warehousetempEntity.setActor("1"); + warehousetempEntity.setActDate("1"); + warehousetempEntity.setWrongCode(1); + warehousetempEntity.setUpperCorpOrderId("1"); + warehousetempEntity.setFromCorpId("1"); + warehousetempEntity.setFromCorp("1"); + warehousetempEntity.setOrderId("1"); + warehousetempEntity.setBatchNo("1"); + warehousetempEntity.setProduceDate("1"); + warehousetempEntity.setExpireDate("1"); + warehousetempEntity.setSerialNo("1"); + warehousetempEntity.setUdi("1"); + warehousetempEntity.setType(1); + warehousetempEntity.setCount(1); + warehousetempEntity.setCustomerId(1l); + warehousetempEntityList.add(warehousetempEntity); + } + + warehouseMdService.insertWarehouses(warehousetempEntityList); + + } + + @Test + public void deleteTempWarehouses() { + Set ids = new HashSet<>(); + ids.add("60d482458f9da70e386e9ef6"); + ids.add("60d482f38f9da74c98219d2e"); +// warehousetempService.deleteTempWarehouses(ids); + } + + @Test + public void findTempByOrderId() { + List warehousetempEntities = warehousetempService.findTempByOrderId("60d536408f9da749342ea53a"); + log.info(warehousetempEntities.size() + ""); + } + + + @Test + public void filterWarehouseByPage() { + WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest(); + warehouseQueryRequest.setCustomerId(110l); + warehouseQueryRequest.setOrderId("10"); + warehouseQueryRequest.setPage(1); + warehouseQueryRequest.setLimit(10); + PageResult warehouseEntityPageResult = warehouseMdService.filterWarehouseByPage(warehouseQueryRequest); + List warehouseEntities = warehouseMdService.filterWarehouse(warehouseQueryRequest); + log.info(warehouseEntityPageResult.getTotal() + ""); + } + + @Test + public void updateWarehouse() { + warehouseMdService.updateUnit("110","123456","厦门片仔癀"); + } +} diff --git a/pom.xml b/pom.xml index a6560c5..2bedd20 100644 --- a/pom.xml +++ b/pom.xml @@ -27,6 +27,7 @@ + From 59940663316f3672d6441a4f47d9fb60d85f8c7d Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sat, 20 Nov 2021 20:31:40 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=9F=A5=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} - - - - - From b29007ff08842b955a32306ecb0d1ca90557ec87 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Sun, 21 Nov 2021 09:08:23 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...lxp.sale.common.util.ResultVOUtilsTest.xml | 58 -- ...lxp.sale.common.util.ResultVOUtilsTest.txt | 4 - .../spring-configuration-metadata.json | 43 - .../target/classes/application-pro.properties | 19 - .../target/classes/application.properties | 8 - .../com/glxp/udi/ApiAdminApplication.class | Bin 1344 -> 0 bytes .../admin/annotation/AuthRuleAnnotation.class | Bin 450 -> 0 bytes .../udi/admin/aspect/AuthorizeAspect.class | Bin 4481 -> 0 bytes .../glxp/udi/admin/config/CorsConfig.class | Bin 3249 -> 0 bytes .../glxp/udi/admin/config/CorsFilter.class | Bin 1854 -> 0 bytes .../udi/admin/config/DruidStatFilter.class | Bin 650 -> 0 bytes .../admin/config/DruidStatViewServlet.class | Bin 797 -> 0 bytes .../admin/config/MasterDataSourceConfig.class | Bin 2437 -> 0 bytes .../udi/admin/config/PageHelperConfig.class | Bin 1116 -> 0 bytes .../admin/config/PublicFileUrlConfig.class | Bin 990 -> 0 bytes .../glxp/udi/admin/config/WebMvcConfig.class | Bin 1451 -> 0 bytes .../admin/constant/BussinessTypeUtils.class | Bin 2102 -> 0 bytes .../udi/admin/constant/CookieConstant.class | Bin 416 -> 0 bytes .../udi/admin/constant/TestConstant.class | Bin 412 -> 0 bytes .../udi/admin/constant/TypeConstant.class | Bin 1065 -> 0 bytes .../controller/auth/AuthAdminController.class | Bin 12557 -> 0 bytes .../auth/AuthPermissionRuleController.class | Bin 4978 -> 0 bytes .../controller/auth/AuthRoleController.class | Bin 10051 -> 0 bytes .../auth/CustomerContactController.class | Bin 3691 -> 0 bytes .../controller/auth/CustomerController.class | Bin 8420 -> 0 bytes .../controller/auth/LoginController.class | Bin 7871 -> 0 bytes .../controller/auth/RegisterController.class | Bin 16199 -> 0 bytes .../controller/device/DeviceController.class | Bin 18594 -> 0 bytes .../device/DownloadDeviceHelper.class | Bin 15349 -> 0 bytes .../controller/info/CompanyController.class | Bin 3007 -> 0 bytes .../info/EnterpriseCertController.class | Bin 6947 -> 0 bytes .../info/FacidentcodeController.class | Bin 9956 -> 0 bytes .../info/IdentifyCodeController.class | Bin 5322 -> 0 bytes .../info/StandagencyController.class | Bin 4541 -> 0 bytes .../inout/CodeContrastController.class | Bin 11013 -> 0 bytes .../controller/inout/DruginfoController.class | Bin 12399 -> 0 bytes .../controller/inout/OrderController.class | Bin 9074 -> 0 bytes .../controller/inout/UnitController.class | Bin 4607 -> 0 bytes .../inout/WareHouseController.class | Bin 19196 -> 0 bytes .../inout/WhitecodeController.class | Bin 5292 -> 0 bytes .../publish/PostIdentifyController.class | Bin 19545 -> 0 bytes .../publish/ProductClassifyController.class | Bin 5018 -> 0 bytes .../publish/SubUdiProductController.class | Bin 10707 -> 0 bytes .../publish/UdiDeviceIdController.class | Bin 11895 -> 0 bytes .../publish/UdiProductController.class | Bin 8542 -> 0 bytes .../receipts/BussinessTypeController.class | Bin 5216 -> 0 bytes .../receipts/ManuOrderController.class | Bin 8598 -> 0 bytes .../receipts/MipsBarcodeController.class | Bin 2788 -> 0 bytes .../receipts/ProductController.class | Bin 11146 -> 0 bytes .../receipts/ProductInfoController.class | Bin 16852 -> 0 bytes .../receipts/ReceiptsController.class | Bin 10473 -> 0 bytes .../receipts/UnitMaintainController.class | Bin 5552 -> 0 bytes .../udi/admin/dao/auth/AuthAdminDao.class | Bin 1316 -> 0 bytes .../admin/dao/auth/AuthPermissionDao.class | Bin 849 -> 0 bytes .../dao/auth/AuthPermissionRuleDao.class | Bin 1089 -> 0 bytes .../udi/admin/dao/auth/AuthRoleAdminDao.class | Bin 898 -> 0 bytes .../glxp/udi/admin/dao/auth/AuthRoleDao.class | Bin 1122 -> 0 bytes .../admin/dao/auth/CustomerContacDao.class | Bin 993 -> 0 bytes .../udi/admin/dao/auth/CustomerInfoDao.class | Bin 1276 -> 0 bytes .../udi/admin/dao/auth/UserRegisterDao.class | Bin 1089 -> 0 bytes .../admin/dao/contrast/CodeContrastDao.class | Bin 847 -> 0 bytes .../dao/contrast/CustomercontrastDao.class | Bin 1379 -> 0 bytes .../udi/admin/dao/contrast/WhitecodeDao.class | Bin 354 -> 0 bytes .../glxp/udi/admin/dao/info/CompanyDao.class | Bin 480 -> 0 bytes .../admin/dao/info/EnterpriseCertDao.class | Bin 1269 -> 0 bytes .../udi/admin/dao/info/EnterpriseDao.class | Bin 1030 -> 0 bytes .../udi/admin/dao/info/FacidentcodeDao.class | Bin 1244 -> 0 bytes .../udi/admin/dao/info/IdentifierDao.class | Bin 1432 -> 0 bytes .../udi/admin/dao/info/StandagencyDao.class | Bin 651 -> 0 bytes .../udi/admin/dao/inout/DruginfoDao.class | Bin 1696 -> 0 bytes .../udi/admin/dao/inout/DruginfoMapper.class | Bin 1579 -> 0 bytes .../udi/admin/dao/inout/ManuorderDao.class | Bin 970 -> 0 bytes .../glxp/udi/admin/dao/inout/OrderDao.class | Bin 1723 -> 0 bytes .../glxp/udi/admin/dao/inout/UnitDao.class | Bin 782 -> 0 bytes .../udi/admin/dao/inout/WarehouseDao.class | Bin 1633 -> 0 bytes .../admin/dao/inout/WarehousetempDao.class | Bin 1155 -> 0 bytes .../dao/publish/ProductClassifyDao.class | Bin 535 -> 0 bytes .../admin/dao/publish/UdiDeviceCliDao.class | Bin 1024 -> 0 bytes .../admin/dao/publish/UdiDeviceIdDao.class | Bin 1814 -> 0 bytes .../admin/dao/publish/UdiDeviceSrgDao.class | Bin 964 -> 0 bytes .../admin/dao/publish/UdiDevicepkDao.class | Bin 1025 -> 0 bytes .../udi/admin/dao/publish/UdiProductDao.class | Bin 1398 -> 0 bytes .../admin/dao/publish/UdiSubProductDao.class | Bin 1338 -> 0 bytes .../admin/dao/receipt/BussinessTypeDao.class | Bin 871 -> 0 bytes .../admin/dao/receipt/MipsBarcodeDao.class | Bin 982 -> 0 bytes .../udi/admin/dao/receipt/ProductDao.class | Bin 1304 -> 0 bytes .../admin/dao/receipt/ProductInfoDao.class | Bin 1194 -> 0 bytes .../udi/admin/dao/receipt/ReceiptDao.class | Bin 949 -> 0 bytes .../dao/receipt/ReceiptsdDetailDao.class | Bin 811 -> 0 bytes .../admin/dao/receipt/UnitMaintainDao.class | Bin 948 -> 0 bytes .../admin/dao/udid/ContactlistMapper.class | Bin 1413 -> 0 bytes .../udi/admin/dao/udid/DeviceMapper.class | Bin 2759 -> 0 bytes .../admin/dao/udid/DeviceclinicalMapper.class | Bin 1446 -> 0 bytes .../admin/dao/udid/DevicedownloadMapper.class | Bin 1480 -> 0 bytes .../admin/dao/udid/DevicepackageMapper.class | Bin 1435 -> 0 bytes .../admin/dao/udid/DevicestorageMapper.class | Bin 1435 -> 0 bytes .../udi/admin/entity/auth/AuthAdmin.class | Bin 6422 -> 0 bytes .../admin/entity/auth/AuthPermission.class | Bin 2914 -> 0 bytes .../entity/auth/AuthPermissionRule.class | Bin 5288 -> 0 bytes .../glxp/udi/admin/entity/auth/AuthRole.class | Bin 5026 -> 0 bytes .../udi/admin/entity/auth/AuthRoleAdmin.class | Bin 2403 -> 0 bytes .../entity/auth/CustomerContactEntity.class | Bin 4231 -> 0 bytes .../entity/auth/CustomerDetailEntity.class | Bin 9349 -> 0 bytes .../entity/auth/CustomerInfoEntity.class | Bin 7186 -> 0 bytes .../entity/auth/UpdateUserflagBean.class | Bin 2122 -> 0 bytes .../entity/auth/UserRegisterEntity.class | Bin 10066 -> 0 bytes .../contrast/CodeContrastDetailEntity.class | Bin 5315 -> 0 bytes .../entity/contrast/CodeContrastEntity.class | Bin 3902 -> 0 bytes .../contrast/CustomercontrastEntity.class | Bin 2583 -> 0 bytes .../contrast/DownloadInfoResponse.class | Bin 9122 -> 0 bytes .../entity/contrast/WhitecodeEntity.class | Bin 3430 -> 0 bytes .../udi/admin/entity/info/CompanyEntity.class | Bin 7735 -> 0 bytes .../entity/info/EnterpriseCertEntity.class | Bin 31839 -> 0 bytes .../admin/entity/info/EnterpriseEntity.class | Bin 27286 -> 0 bytes .../entity/info/FacidentcodeEntity.class | Bin 9198 -> 0 bytes .../admin/entity/info/IdentifierEntity.class | Bin 5354 -> 0 bytes .../info/RegisterInfoAttachEntity.class | Bin 4417 -> 0 bytes .../entity/info/RegisterInfoEntity.class | Bin 12581 -> 0 bytes .../admin/entity/info/StandagencyEntity.class | Bin 12535 -> 0 bytes .../udi/admin/entity/inout/AddScanBean.class | Bin 2771 -> 0 bytes .../admin/entity/inout/AddScanCodeBean.class | Bin 2229 -> 0 bytes .../udi/admin/entity/inout/Druginfo.class | Bin 3571 -> 0 bytes .../inout/DruginfoExample$Criteria.class | Bin 18509 -> 0 bytes .../inout/DruginfoExample$Criterion.class | Bin 2407 -> 0 bytes .../DruginfoExample$GeneratedCriteria.class | Bin 26287 -> 0 bytes .../admin/entity/inout/DruginfoExample.class | Bin 2790 -> 0 bytes .../admin/entity/inout/MipsDrugEntity.class | Bin 6645 -> 0 bytes .../udi/admin/entity/inout/OrderEntity.class | Bin 6032 -> 0 bytes .../glxp/udi/admin/entity/inout/Unit.class | Bin 4097 -> 0 bytes .../admin/entity/inout/WarehouseEntity.class | Bin 9887 -> 0 bytes .../entity/inout/WarehousetempEntity.class | Bin 9903 -> 0 bytes .../admin/entity/publish/PostDataBean.class | Bin 28463 -> 0 bytes .../publish/PostDeviceClinicalBean.class | Bin 2736 -> 0 bytes .../publish/PostDevicePackageBean.class | Bin 3278 -> 0 bytes .../publish/PostDeviceStorageBean.class | Bin 3131 -> 0 bytes .../entity/publish/PostIdentifyEntity.class | Bin 2781 -> 0 bytes .../entity/publish/PostSuccessBean.class | Bin 2881 -> 0 bytes .../publish/ProductClassifyEntity.class | Bin 4609 -> 0 bytes .../entity/publish/UdiDeviceCliEntity.class | Bin 8563 -> 0 bytes .../entity/publish/UdiDeviceIdEntity.class | Bin 20348 -> 0 bytes .../entity/publish/UdiDeviceSrgEntity.class | Bin 9133 -> 0 bytes .../entity/publish/UdiDevicepkEntity.class | Bin 9213 -> 0 bytes .../entity/publish/UdiProductEntity.class | Bin 8813 -> 0 bytes .../entity/publish/UdiSubProductEntity.class | Bin 27865 -> 0 bytes .../entity/receipt/BussinessTypeEntity.class | Bin 3382 -> 0 bytes .../entity/receipt/CountProductEntity.class | Bin 1617 -> 0 bytes .../entity/receipt/FilterDrugEntity.class | Bin 2388 -> 0 bytes .../entity/receipt/ManuOrderEntity.class | Bin 10206 -> 0 bytes .../entity/receipt/MipsBarcodeEntity.class | Bin 7243 -> 0 bytes .../entity/receipt/ProductInfoEntity.class | Bin 7354 -> 0 bytes .../entity/receipt/ProductOrderEntity.class | Bin 5060 -> 0 bytes .../admin/entity/receipt/ReceiptsEntity.class | Bin 10714 -> 0 bytes .../receipt/ReceiptsdDetailEntity.class | Bin 9193 -> 0 bytes .../entity/receipt/UnitMaintainEntity.class | Bin 4615 -> 0 bytes .../udi/admin/entity/udid/Contactlist.class | Bin 1955 -> 0 bytes .../udid/ContactlistExample$Criteria.class | Bin 9916 -> 0 bytes .../udid/ContactlistExample$Criterion.class | Bin 2416 -> 0 bytes ...ContactlistExample$GeneratedCriteria.class | Bin 14839 -> 0 bytes .../entity/udid/ContactlistExample.class | Bin 2413 -> 0 bytes .../glxp/udi/admin/entity/udid/Device.class | Bin 12399 -> 0 bytes .../udi/admin/entity/udid/DeviceEntity.class | Bin 34387 -> 0 bytes .../entity/udid/DeviceExample$Criteria.class | Bin 70724 -> 0 bytes .../entity/udid/DeviceExample$Criterion.class | Bin 2396 -> 0 bytes .../DeviceExample$GeneratedCriteria.class | Bin 98035 -> 0 bytes .../udi/admin/entity/udid/DeviceExample.class | Bin 2358 -> 0 bytes .../udi/admin/entity/udid/DeviceHistory.class | Bin 2496 -> 0 bytes .../admin/entity/udid/Deviceclinical.class | Bin 1946 -> 0 bytes .../udid/DeviceclinicalExample$Criteria.class | Bin 9865 -> 0 bytes .../DeviceclinicalExample$Criterion.class | Bin 2428 -> 0 bytes ...iceclinicalExample$GeneratedCriteria.class | Bin 14713 -> 0 bytes .../entity/udid/DeviceclinicalExample.class | Bin 2446 -> 0 bytes .../admin/entity/udid/Devicedownload.class | Bin 2980 -> 0 bytes .../udid/DevicedownloadExample$Criteria.class | Bin 16184 -> 0 bytes .../DevicedownloadExample$Criterion.class | Bin 2428 -> 0 bytes ...icedownloadExample$GeneratedCriteria.class | Bin 23488 -> 0 bytes .../entity/udid/DevicedownloadExample.class | Bin 2446 -> 0 bytes .../udi/admin/entity/udid/Devicepackage.class | Bin 2193 -> 0 bytes .../udid/DevicepackageExample$Criteria.class | Bin 11316 -> 0 bytes .../udid/DevicepackageExample$Criterion.class | Bin 2424 -> 0 bytes ...vicepackageExample$GeneratedCriteria.class | Bin 16821 -> 0 bytes .../entity/udid/DevicepackageExample.class | Bin 2435 -> 0 bytes .../udi/admin/entity/udid/Devicestorage.class | Bin 2172 -> 0 bytes .../udid/DevicestorageExample$Criteria.class | Bin 11237 -> 0 bytes .../udid/DevicestorageExample$Criterion.class | Bin 2424 -> 0 bytes ...vicestorageExample$GeneratedCriteria.class | Bin 16505 -> 0 bytes .../entity/udid/DevicestorageExample.class | Bin 2435 -> 0 bytes .../udi/admin/entity/udid/TokenEntity.class | Bin 1723 -> 0 bytes .../udi/admin/entity/udid/UdiEntity.class | Bin 1423 -> 0 bytes .../udi/admin/exception/JsonException.class | Bin 1107 -> 0 bytes .../handler/GlobalExceptionHandler.class | Bin 1821 -> 0 bytes .../glxp/udi/admin/req/ListPageRequest.class | Bin 2471 -> 0 bytes .../req/auth/AuthAdminQueryRequest.class | Bin 3772 -> 0 bytes .../admin/req/auth/AuthAdminSaveRequest.class | Bin 7387 -> 0 bytes .../auth/AuthPermissionRuleSaveRequest.class | Bin 4627 -> 0 bytes .../admin/req/auth/AuthRoleAuthRequest.class | Bin 2575 -> 0 bytes .../admin/req/auth/AuthRoleQueryRequest.class | Bin 2119 -> 0 bytes .../admin/req/auth/AuthRoleSaveRequest.class | Bin 4050 -> 0 bytes .../auth/CustomerContactFilterRequest.class | Bin 1709 -> 0 bytes .../req/auth/CustomerInfoFilterRequest.class | Bin 910 -> 0 bytes .../udi/admin/req/auth/LoginRequest.class | Bin 2161 -> 0 bytes .../admin/req/auth/RegisterCheckRequest.class | Bin 2489 -> 0 bytes .../admin/req/auth/ResetPasswdRequest.class | Bin 3183 -> 0 bytes .../req/auth/UpdatePasswordRequest.class | Bin 2879 -> 0 bytes .../req/auth/UserResisterFilterRequest.class | Bin 2056 -> 0 bytes .../req/contrast/CodeContrastRequest.class | Bin 1982 -> 0 bytes .../DeleteCustomerContrastRequest.class | Bin 2184 -> 0 bytes .../contrast/FilterCodeContrastRequest.class | Bin 3004 -> 0 bytes .../udi/admin/req/info/CompanyRequest.class | Bin 1600 -> 0 bytes .../info/DeleteEnterpriseCertRequest.class | Bin 1521 -> 0 bytes .../req/info/DeleteEnterpriseRequest.class | Bin 1505 -> 0 bytes .../req/info/DeleteFacidentcodeRequest.class | Bin 1513 -> 0 bytes .../req/info/DeleteIdentifierRequest.class | Bin 1505 -> 0 bytes .../req/info/DeleteStandagencyRequest.class | Bin 1509 -> 0 bytes .../info/FilterEnterpriseCertRequest.class | Bin 2905 -> 0 bytes .../req/info/FilterEnterpriseRequest.class | Bin 914 -> 0 bytes .../req/info/FilterFacidentcodeRequest.class | Bin 2940 -> 0 bytes .../req/info/FilterIdentifierRequest.class | Bin 4685 -> 0 bytes .../udi/admin/req/inout/AddScanRequest.class | Bin 1877 -> 0 bytes .../udi/admin/req/inout/CommitRequest.class | Bin 1502 -> 0 bytes .../admin/req/inout/DeleteCodeRequest.class | Bin 1774 -> 0 bytes .../udi/admin/req/inout/DeleteRequest.class | Bin 2030 -> 0 bytes .../admin/req/inout/DrugFilterRequest.class | Bin 2832 -> 0 bytes .../udi/admin/req/inout/DrugInfoRequest.class | Bin 1571 -> 0 bytes .../admin/req/inout/DrugsSaveRequest.class | Bin 1876 -> 0 bytes .../req/inout/OrderFilterByCodeRequest.class | Bin 1569 -> 0 bytes .../admin/req/inout/OrderFilterRequest.class | Bin 3283 -> 0 bytes .../admin/req/inout/OrderMergeRequest.class | Bin 1808 -> 0 bytes .../admin/req/inout/OrderQueryRequest.class | Bin 914 -> 0 bytes .../admin/req/inout/OrderSaveRequest.class | Bin 3602 -> 0 bytes .../udi/admin/req/inout/UnitKeyRequest.class | Bin 1522 -> 0 bytes .../udi/admin/req/inout/UnitSaveRequest.class | Bin 1853 -> 0 bytes .../req/inout/UpdateExportStatusRequest.class | Bin 2007 -> 0 bytes .../req/inout/WarehouseQueryRequest.class | Bin 2007 -> 0 bytes .../req/inout/WarehouseSaveRequest.class | Bin 5809 -> 0 bytes .../req/publish/AddSubProductRequest.class | Bin 3485 -> 0 bytes .../req/publish/AddUdiDeviceIdRequest.class | Bin 2668 -> 0 bytes .../publish/DeleteUdiDeviceCliRequest.class | Bin 1976 -> 0 bytes .../publish/DeleteUdiDeviceIdRequest.class | Bin 1515 -> 0 bytes .../publish/DeleteUdiDeviceSrgRequest.class | Bin 1976 -> 0 bytes .../publish/DeleteUdiDevicepkRequest.class | Bin 1972 -> 0 bytes .../req/publish/DeleteUdiProductRequest.class | Bin 2074 -> 0 bytes .../publish/DeleteUdiSubProductRequest.class | Bin 1523 -> 0 bytes .../admin/req/publish/FilterCliRequest.class | Bin 1553 -> 0 bytes .../req/publish/FilterDeviceIdRequest.class | Bin 3309 -> 0 bytes .../admin/req/publish/FilterPkgRequest.class | Bin 1525 -> 0 bytes .../req/publish/FilterUdiProductRequest.class | Bin 2061 -> 0 bytes .../publish/FilterUdiSubProductRequest.class | Bin 2501 -> 0 bytes .../PostIdentifyKeyRequest$DataSetBean.class | Bin 1005 -> 0 bytes .../req/publish/PostIdentifyKeyRequest.class | Bin 1382 -> 0 bytes .../req/publish/PostIdentifyRequest.class | Bin 1778 -> 0 bytes .../req/publish/ProductclassifyRequest.class | Bin 2416 -> 0 bytes .../admin/req/receipt/AddByCodeRequest.class | Bin 2060 -> 0 bytes .../admin/req/receipt/AddProductRequest.class | Bin 4775 -> 0 bytes .../AddReceiptRequest$ReceiptRequest.class | Bin 2580 -> 0 bytes .../admin/req/receipt/AddReceiptRequest.class | Bin 2063 -> 0 bytes .../receipt/BussinessTypeFilterRequest.class | Bin 2059 -> 0 bytes .../req/receipt/CombineDrugRequest.class | Bin 2248 -> 0 bytes .../admin/req/receipt/CombineRequest.class | Bin 2232 -> 0 bytes .../req/receipt/CombineUnitRequest.class | Bin 2248 -> 0 bytes .../req/receipt/ManuorderFilterRequest.class | Bin 2450 -> 0 bytes .../req/receipt/MipsBarcodeRequest.class | Bin 1971 -> 0 bytes .../req/receipt/ProductFilterRequest.class | Bin 3330 -> 0 bytes .../receipt/ProductInfoFilterRequest.class | Bin 3306 -> 0 bytes .../req/receipt/ProductMipsRequest.class | Bin 2056 -> 0 bytes .../req/receipt/ReceiptDetailRequest.class | Bin 1592 -> 0 bytes .../req/receipt/ReceiptFilterRequest.class | Bin 2834 -> 0 bytes .../receipt/UnitMaintainFilterRequest.class | Bin 1570 -> 0 bytes .../udi/admin/req/udid/DeviceDiRequest.class | Bin 1564 -> 0 bytes .../admin/req/udid/DeviceListRequest.class | Bin 1975 -> 0 bytes .../udi/admin/req/udid/DeviceRequest.class | Bin 2931 -> 0 bytes .../admin/req/udid/DeviceSearchRequest.class | Bin 3843 -> 0 bytes .../req/udid/DownloadDeviceRequest.class | Bin 1373 -> 0 bytes .../admin/req/udid/DownloadDiRequest.class | Bin 859 -> 0 bytes .../DownloadHistoryRequest$DataSetBean.class | Bin 785 -> 0 bytes .../req/udid/DownloadHistoryRequest.class | Bin 1596 -> 0 bytes .../udi/admin/req/udid/TokenRequest.class | Bin 1918 -> 0 bytes .../admin/req/udid/VerifyCodeRequest.class | Bin 1488 -> 0 bytes .../udi/admin/res/PageSimpleResponse.class | Bin 2505 -> 0 bytes .../glxp/udi/admin/res/ad/AdResponse.class | Bin 13251 -> 0 bytes .../udi/admin/res/ad/AdSimpleResponse.class | Bin 2948 -> 0 bytes .../udi/admin/res/ad/AdSiteResponse.class | Bin 3761 -> 0 bytes .../admin/res/auth/AuthAdminResponse.class | Bin 7615 -> 0 bytes .../res/auth/AuthAdminRoleResponse.class | Bin 2018 -> 0 bytes .../AuthPermissionRuleMergeResponse.class | Bin 5094 -> 0 bytes .../udi/admin/res/auth/AuthRoleResponse.class | Bin 4038 -> 0 bytes .../udi/admin/res/auth/CheckCodeRequest.class | Bin 1948 -> 0 bytes .../res/auth/LoginUserInfoResponse.class | Bin 4243 -> 0 bytes .../admin/res/basic/AllFCodeResponse.class | Bin 1908 -> 0 bytes .../res/basic/FacidentcodeResponse.class | Bin 5083 -> 0 bytes .../res/contrast/CodeContrastResponse.class | Bin 2543 -> 0 bytes .../res/contrast/WhitecodeResponse.class | Bin 1960 -> 0 bytes .../admin/res/inout/DruginfoResponse.class | Bin 6792 -> 0 bytes .../res/inout/MipsDrugResponse$DataBean.class | Bin 1220 -> 0 bytes .../admin/res/inout/MipsDrugResponse.class | Bin 1307 -> 0 bytes .../MipsManuorderResponse$DataBean.class | Bin 1249 -> 0 bytes .../res/inout/MipsManuorderResponse.class | Bin 1342 -> 0 bytes .../udi/admin/res/inout/OrderResponse.class | Bin 3590 -> 0 bytes .../admin/res/inout/ProductInfoResponse.class | Bin 6041 -> 0 bytes .../admin/res/inout/WarehouseResponse.class | Bin 5797 -> 0 bytes ...se$ErrorListBean$ErrorDetailListBean.class | Bin 1117 -> 0 bytes .../PostSaveResponse$ErrorListBean.class | Bin 1562 -> 0 bytes .../admin/res/publish/PostSaveResponse.class | Bin 2299 -> 0 bytes .../res/publish/ProductClassifyResponse.class | Bin 2810 -> 0 bytes .../res/publish/UdiDeviceIdResponse.class | Bin 31774 -> 0 bytes .../res/publish/UdiProductResponse.class | Bin 1920 -> 0 bytes ...ipsBarcodeResponse$DataBean$ListBean.class | Bin 2075 -> 0 bytes .../MipsBarcodeResponse$DataBean.class | Bin 1397 -> 0 bytes .../res/receipt/MipsBarcodeResponse.class | Bin 1340 -> 0 bytes .../res/receipt/SelectManuorderResponse.class | Bin 8325 -> 0 bytes .../udid/DataSetBean$ContactListBean.class | Bin 1133 -> 0 bytes .../udid/DataSetBean$DeviceClinicalBean.class | Bin 1124 -> 0 bytes .../udid/DataSetBean$DevicePackageBean.class | Bin 1371 -> 0 bytes .../udid/DataSetBean$DeviceStorageBean.class | Bin 1308 -> 0 bytes .../glxp/udi/admin/res/udid/DataSetBean.class | Bin 12498 -> 0 bytes .../res/udid/MedicalHistoryResonse.class | Bin 2088 -> 0 bytes .../udi/admin/res/udid/MedicalResonse.class | Bin 2064 -> 0 bytes .../res/udid/MedicalSingleResponse.class | Bin 1401 -> 0 bytes .../udi/admin/res/udid/ProgressResponse.class | Bin 2053 -> 0 bytes .../admin/service/auth/AuthAdminService.class | Bin 1247 -> 0 bytes .../admin/service/auth/AuthLoginService.class | Bin 327 -> 0 bytes .../auth/AuthPermissionRuleService.class | Bin 907 -> 0 bytes .../service/auth/AuthPermissionService.class | Bin 780 -> 0 bytes .../service/auth/AuthRoleAdminService.class | Bin 986 -> 0 bytes .../admin/service/auth/AuthRoleService.class | Bin 1159 -> 0 bytes .../service/auth/CustomerInfoService.class | Bin 1208 -> 0 bytes .../service/auth/UserRegisterService.class | Bin 1003 -> 0 bytes .../auth/impl/AuthAdminServiceImpl.class | Bin 3997 -> 0 bytes .../auth/impl/AuthLoginServiceImpl.class | Bin 4039 -> 0 bytes .../impl/AuthPermissionRuleServiceImpl.class | Bin 3304 -> 0 bytes .../auth/impl/AuthPermissionServiceImpl.class | Bin 2006 -> 0 bytes .../auth/impl/AuthRoleAdminServiceImpl.class | Bin 3862 -> 0 bytes .../auth/impl/AuthRoleServiceImpl.class | Bin 3577 -> 0 bytes .../auth/impl/CustomerContactService.class | Bin 933 -> 0 bytes .../impl/CustomerContactServiceImpl.class | Bin 2585 -> 0 bytes .../auth/impl/CustomerInfoServiceImpl.class | Bin 4825 -> 0 bytes .../auth/impl/UserRegisterServiceImpl.class | Bin 2899 -> 0 bytes .../contrast/CodeContrastService.class | Bin 1068 -> 0 bytes .../contrast/CustomercontrastService.class | Bin 1207 -> 0 bytes .../service/contrast/WhitecodeService.class | Bin 411 -> 0 bytes .../impl/CodeContrastServiceImpl.class | Bin 2789 -> 0 bytes .../impl/CustomercontrastServiceImpl.class | Bin 2602 -> 0 bytes .../contrast/impl/WhitecodeServiceImpl.class | Bin 1677 -> 0 bytes .../admin/service/info/CompanyService.class | Bin 411 -> 0 bytes .../service/info/EnterpriseCertService.class | Bin 980 -> 0 bytes .../service/info/FacidentcodeService.class | Bin 1072 -> 0 bytes .../service/info/IdentifierService.class | Bin 1218 -> 0 bytes .../service/info/StandagencyService.class | Bin 582 -> 0 bytes .../info/impl/CompanyServiceImpl.class | Bin 1225 -> 0 bytes .../info/impl/EnterpriseCertServiceImpl.class | Bin 2686 -> 0 bytes .../info/impl/FacidentcodeServiceImpl.class | Bin 2405 -> 0 bytes .../info/impl/IdentifierServiceImpl.class | Bin 3417 -> 0 bytes .../info/impl/StandagencyServiceImpl.class | Bin 1526 -> 0 bytes .../admin/service/inout/DeviceService.class | Bin 1976 -> 0 bytes .../admin/service/inout/DruginfoService.class | Bin 1362 -> 0 bytes .../admin/service/inout/OrderService.class | Bin 1429 -> 0 bytes .../udi/admin/service/inout/UnitService.class | Bin 839 -> 0 bytes .../service/inout/WarehouseService.class | Bin 1925 -> 0 bytes .../inout/impl/DeviceServiceImpl.class | Bin 12167 -> 0 bytes .../inout/impl/DruginfoServiceImpl.class | Bin 4406 -> 0 bytes .../service/inout/impl/OrderServiceImpl.class | Bin 4052 -> 0 bytes .../service/inout/impl/UnitServiceImpl.class | Bin 2792 -> 0 bytes .../inout/impl/WareHouseServiceImpl.class | Bin 5091 -> 0 bytes .../service/publish/UdiDeviceCliService.class | Bin 852 -> 0 bytes .../service/publish/UdiDeviceIdService.class | Bin 1642 -> 0 bytes .../service/publish/UdiDeviceSrgService.class | Bin 976 -> 0 bytes .../service/publish/UdiDevicepkService.class | Bin 956 -> 0 bytes .../service/publish/UdiProductService.class | Bin 1329 -> 0 bytes .../publish/UdiSubProductService.class | Bin 1166 -> 0 bytes .../impl/UdiDeviceCliServiceImpl.class | Bin 2069 -> 0 bytes .../publish/impl/UdiDeviceIdServiceImpl.class | Bin 4083 -> 0 bytes .../impl/UdiDeviceSrgServiceImpl.class | Bin 2067 -> 0 bytes .../publish/impl/UdiDevicepkServiceImpl.class | Bin 2040 -> 0 bytes .../publish/impl/UdiProductServiceImpl.class | Bin 3138 -> 0 bytes .../impl/UdiSubProductServiceImpl.class | Bin 3091 -> 0 bytes .../receipts/BussinessTypeService.class | Bin 700 -> 0 bytes .../service/receipts/ManuorderService.class | Bin 704 -> 0 bytes .../service/receipts/MipsBarcodeService.class | Bin 650 -> 0 bytes .../service/receipts/ProductInfoService.class | Bin 1005 -> 0 bytes .../service/receipts/ProductService.class | Bin 1028 -> 0 bytes .../receipts/ReceiptDetailService.class | Bin 646 -> 0 bytes .../service/receipts/ReceiptsService.class | Bin 762 -> 0 bytes .../receipts/UnitMaintainService.class | Bin 759 -> 0 bytes .../impl/BussinessTypeServiceImpl.class | Bin 2317 -> 0 bytes .../receipts/impl/ManuorderServiceImpl.class | Bin 2352 -> 0 bytes .../impl/MipsBarcodeServiceImpl.class | Bin 2294 -> 0 bytes .../impl/ProductInfoServiceImpl.class | Bin 3126 -> 0 bytes .../receipts/impl/ProductServiceImpl.class | Bin 3016 -> 0 bytes .../impl/ReceiptDetailServiceImpl.class | Bin 2051 -> 0 bytes .../receipts/impl/ReceiptsServiceImpl.class | Bin 2379 -> 0 bytes .../impl/UnitMaintainServiceImpl.class | Bin 2367 -> 0 bytes ...ecutorConfig$MyAsyncExceptionHandler.class | Bin 1905 -> 0 bytes .../udi/admin/thread/TaskExecutorConfig.class | Bin 2009 -> 0 bytes .../com/glxp/udi/admin/util/CacheUtils.class | Bin 3989 -> 0 bytes .../com/glxp/udi/admin/util/CheckUtils.class | Bin 2168 -> 0 bytes .../com/glxp/udi/admin/util/DateUtil.class | Bin 8055 -> 0 bytes .../glxp/udi/admin/util/FastJsonUtils$1.class | Bin 631 -> 0 bytes .../glxp/udi/admin/util/FastJsonUtils.class | Bin 1758 -> 0 bytes .../glxp/udi/admin/util/FilterUdiUtils.class | Bin 2844 -> 0 bytes .../com/glxp/udi/admin/util/HttpClient.class | Bin 4098 -> 0 bytes .../com/glxp/udi/admin/util/IpUtils.class | Bin 2438 -> 0 bytes .../com/glxp/udi/admin/util/JwtUtils.class | Bin 4003 -> 0 bytes .../com/glxp/udi/admin/util/Md5Utils.class | Bin 1378 -> 0 bytes .../glxp/udi/admin/util/PasswordUtils.class | Bin 483 -> 0 bytes .../admin/util/PermissionRuleTreeUtils.class | Bin 1968 -> 0 bytes .../glxp/udi/admin/util/PublicFileUtils.class | Bin 932 -> 0 bytes .../udi/admin/util/ReceiptBeanUtils.class | Bin 2956 -> 0 bytes .../com/glxp/udi/admin/util/TreeUtils.class | Bin 347 -> 0 bytes .../com/glxp/udi/admin/util/UdidConfig.class | Bin 600 -> 0 bytes .../com/glxp/udi/admin/util/UuidUtils.class | Bin 646 -> 0 bytes .../udi/admin/util/WarehousBeanUtils.class | Bin 9396 -> 0 bytes .../util/serializer/Date2LongSerializer.class | Bin 1360 -> 0 bytes .../target/classes/mybatis/configuration.xml | 63 -- .../target/classes/mybatis/db.properties | 5 - .../mybatis/mapper/auth/AuthAdminDao.xml | 141 --- .../mybatis/mapper/auth/AuthPermissionDao.xml | 38 - .../mapper/auth/AuthPermissionRuleDao.xml | 71 -- .../mybatis/mapper/auth/AuthRoleAdminDao.xml | 42 - .../mybatis/mapper/auth/AuthRoleDao.xml | 106 -- .../mapper/auth/CustomerContactDao.xml | 63 -- .../mybatis/mapper/auth/CustomerInfoDao.xml | 97 -- .../mybatis/mapper/auth/UserRegisterDao.xml | 94 -- .../mapper/contrast/CodeContrastDao.xml | 59 -- .../mapper/contrast/CustomercontrastDao.xml | 91 -- .../mapper/contrast/WhitecodeContrast.xml | 56 - .../mybatis/mapper/info/CompanyDao.xml | 55 - .../mybatis/mapper/info/EnterpriseCertDao.xml | 150 --- .../mybatis/mapper/info/FacidentcodeDao.xml | 91 -- .../mybatis/mapper/info/IdentifierDao.xml | 168 --- .../mybatis/mapper/info/StandagencyDao.xml | 63 -- .../mybatis/mapper/inout/DruginfoDao.xml | 61 -- .../mybatis/mapper/inout/DruginfoMapper.xml | 399 ------- .../classes/mybatis/mapper/inout/OrderDao.xml | 92 -- .../classes/mybatis/mapper/inout/UnitDao.xml | 37 - .../mybatis/mapper/inout/WarehouseDao.xml | 105 -- .../mybatis/mapper/inout/WarehousetempDao.xml | 56 - .../mapper/publish/ProductClassifyDao.xml | 10 - .../mapper/publish/UdiDeviceCliDao.xml | 64 -- .../mybatis/mapper/publish/UdiDeviceIdDao.xml | 197 ---- .../mapper/publish/UdiDeviceSrgDao.xml | 67 -- .../mybatis/mapper/publish/UdiDevicepkDao.xml | 64 -- .../mybatis/mapper/publish/UdiProductDao.xml | 92 -- .../mapper/publish/UdiSubProductDao.xml | 157 --- .../mapper/receipt/BussinessTypeDao.xml | 46 - .../mybatis/mapper/receipt/ManuOrderDao.xml | 88 -- .../mybatis/mapper/receipt/MipsBarcodeDao.xml | 62 -- .../mybatis/mapper/receipt/ProductInfoDao.xml | 122 --- .../mapper/receipt/ProductOrderDao.xml | 96 -- .../mybatis/mapper/receipt/ReceiptsDao.xml | 58 -- .../mapper/receipt/ReceiptsdDetailDao.xml | 40 - .../mapper/receipt/UnitMaintainDao.xml | 39 - .../mybatis/mapper/udid/ContactlistMapper.xml | 228 ---- .../mybatis/mapper/udid/DeviceMapper.xml | 977 ------------------ .../mapper/udid/DeviceclinicalMapper.xml | 226 ---- .../mapper/udid/DevicedownloadMapper.xml | 314 ------ .../mapper/udid/DevicepackageMapper.xml | 243 ----- .../mapper/udid/DevicestorageMapper.xml | 243 ----- .../target/classes/mybatis/mybatis-config.xml | 23 - .../udi/BaseApiAdminApplicationTest.class | Bin 532 -> 0 bytes .../auth/impl/AuthAdminServiceImplTest.class | Bin 3060 -> 0 bytes .../auth/impl/AuthLoginServiceImplTest.class | Bin 1021 -> 0 bytes .../AuthPermissionRuleServiceImplTest.class | Bin 1481 -> 0 bytes .../impl/AuthRoleAdminServiceImplTest.class | Bin 1896 -> 0 bytes .../auth/impl/AuthRoleServiceImplTest.class | Bin 1358 -> 0 bytes .../admin/service/auth/impl/MmpaTest.class | Bin 2271 -> 0 bytes .../glxp/udi/admin/util/JwtUtilsTest.class | Bin 4086 -> 0 bytes .../util/PermissionRuleTreeUtilsTest.class | Bin 1371 -> 0 bytes 466 files changed, 5791 deletions(-) delete mode 100644 api-common/target/surefire-reports/TEST-com.glxp.sale.common.util.ResultVOUtilsTest.xml delete mode 100644 api-common/target/surefire-reports/com.glxp.sale.common.util.ResultVOUtilsTest.txt delete mode 100644 api-udims/target/classes/META-INF/spring-configuration-metadata.json delete mode 100644 api-udims/target/classes/application-pro.properties delete mode 100644 api-udims/target/classes/application.properties delete mode 100644 api-udims/target/classes/com/glxp/udi/ApiAdminApplication.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/annotation/AuthRuleAnnotation.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/aspect/AuthorizeAspect.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/CorsConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/CorsFilter.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/DruidStatFilter.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/DruidStatViewServlet.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/MasterDataSourceConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/PageHelperConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/PublicFileUrlConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/config/WebMvcConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/constant/BussinessTypeUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/constant/CookieConstant.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/constant/TestConstant.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/constant/TypeConstant.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthAdminController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthPermissionRuleController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthRoleController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/CustomerContactController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/CustomerController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/LoginController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/auth/RegisterController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/device/DeviceController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/device/DownloadDeviceHelper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/info/CompanyController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/info/EnterpriseCertController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/info/FacidentcodeController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/info/IdentifyCodeController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/info/StandagencyController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/CodeContrastController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/DruginfoController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/OrderController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/UnitController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/WareHouseController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/inout/WhitecodeController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/publish/PostIdentifyController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/publish/ProductClassifyController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/publish/SubUdiProductController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/publish/UdiDeviceIdController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/publish/UdiProductController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/BussinessTypeController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/ManuOrderController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/MipsBarcodeController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/ProductController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/ProductInfoController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/ReceiptsController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/controller/receipts/UnitMaintainController.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/AuthAdminDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/AuthPermissionDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/AuthPermissionRuleDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/AuthRoleAdminDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/AuthRoleDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/CustomerContacDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/CustomerInfoDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/auth/UserRegisterDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/contrast/CodeContrastDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/contrast/CustomercontrastDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/contrast/WhitecodeDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/CompanyDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/EnterpriseCertDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/EnterpriseDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/FacidentcodeDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/IdentifierDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/info/StandagencyDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/DruginfoDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/DruginfoMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/ManuorderDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/OrderDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/UnitDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/WarehouseDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/inout/WarehousetempDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/ProductClassifyDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiDeviceCliDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiDeviceIdDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiDeviceSrgDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiDevicepkDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiProductDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/publish/UdiSubProductDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/BussinessTypeDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/MipsBarcodeDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/ProductDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/ProductInfoDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/ReceiptDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/ReceiptsdDetailDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/receipt/UnitMaintainDao.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/ContactlistMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/DeviceMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/DeviceclinicalMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/DevicedownloadMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/DevicepackageMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/dao/udid/DevicestorageMapper.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/AuthAdmin.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/AuthPermission.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/AuthPermissionRule.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/AuthRole.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/AuthRoleAdmin.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/CustomerContactEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/CustomerDetailEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/CustomerInfoEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/UpdateUserflagBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/auth/UserRegisterEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/contrast/CodeContrastDetailEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/contrast/CodeContrastEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/contrast/CustomercontrastEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/contrast/DownloadInfoResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/contrast/WhitecodeEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/CompanyEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/EnterpriseCertEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/EnterpriseEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/FacidentcodeEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/IdentifierEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/RegisterInfoAttachEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/RegisterInfoEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/info/StandagencyEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/AddScanBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/AddScanCodeBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/Druginfo.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/DruginfoExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/DruginfoExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/DruginfoExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/DruginfoExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/MipsDrugEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/OrderEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/Unit.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/WarehouseEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/inout/WarehousetempEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostDataBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostDeviceClinicalBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostDevicePackageBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostDeviceStorageBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostIdentifyEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/PostSuccessBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/ProductClassifyEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiDeviceCliEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiDeviceIdEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiDeviceSrgEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiDevicepkEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiProductEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/publish/UdiSubProductEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/BussinessTypeEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/CountProductEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/FilterDrugEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/ManuOrderEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/MipsBarcodeEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/ProductInfoEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/ProductOrderEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/ReceiptsEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/ReceiptsdDetailEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/receipt/UnitMaintainEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Contactlist.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/ContactlistExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/ContactlistExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/ContactlistExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/ContactlistExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Device.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceHistory.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Deviceclinical.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceclinicalExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceclinicalExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceclinicalExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DeviceclinicalExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Devicedownload.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicedownloadExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicedownloadExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicedownloadExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicedownloadExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Devicepackage.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicepackageExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicepackageExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicepackageExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicepackageExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/Devicestorage.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicestorageExample$Criteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicestorageExample$Criterion.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicestorageExample$GeneratedCriteria.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/DevicestorageExample.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/TokenEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/entity/udid/UdiEntity.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/exception/JsonException.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/handler/GlobalExceptionHandler.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/ListPageRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthAdminQueryRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthAdminSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthPermissionRuleSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthRoleAuthRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthRoleQueryRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/AuthRoleSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/CustomerContactFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/CustomerInfoFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/LoginRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/RegisterCheckRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/ResetPasswdRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/UpdatePasswordRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/auth/UserResisterFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/contrast/CodeContrastRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/contrast/DeleteCustomerContrastRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/contrast/FilterCodeContrastRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/CompanyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/DeleteEnterpriseCertRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/DeleteEnterpriseRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/DeleteFacidentcodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/DeleteIdentifierRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/DeleteStandagencyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/FilterEnterpriseCertRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/FilterEnterpriseRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/FilterFacidentcodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/info/FilterIdentifierRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/AddScanRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/CommitRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/DeleteCodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/DeleteRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/DrugFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/DrugInfoRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/DrugsSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/OrderFilterByCodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/OrderFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/OrderMergeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/OrderQueryRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/OrderSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/UnitKeyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/UnitSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/UpdateExportStatusRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/WarehouseQueryRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/inout/WarehouseSaveRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/AddSubProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/AddUdiDeviceIdRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiDeviceCliRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiDeviceIdRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiDeviceSrgRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiDevicepkRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/DeleteUdiSubProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/FilterCliRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/FilterDeviceIdRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/FilterPkgRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/FilterUdiProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/FilterUdiSubProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/PostIdentifyKeyRequest$DataSetBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/PostIdentifyKeyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/PostIdentifyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/publish/ProductclassifyRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/AddByCodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/AddProductRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/AddReceiptRequest$ReceiptRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/AddReceiptRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/BussinessTypeFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/CombineDrugRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/CombineRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/CombineUnitRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ManuorderFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/MipsBarcodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ProductFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ProductInfoFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ProductMipsRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ReceiptDetailRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/ReceiptFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/receipt/UnitMaintainFilterRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DeviceDiRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DeviceListRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DeviceRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DeviceSearchRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DownloadDeviceRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DownloadDiRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DownloadHistoryRequest$DataSetBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/DownloadHistoryRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/TokenRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/req/udid/VerifyCodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/PageSimpleResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/ad/AdResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/ad/AdSimpleResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/ad/AdSiteResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/AuthAdminResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/AuthAdminRoleResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/AuthPermissionRuleMergeResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/AuthRoleResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/CheckCodeRequest.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/auth/LoginUserInfoResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/basic/AllFCodeResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/basic/FacidentcodeResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/contrast/CodeContrastResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/contrast/WhitecodeResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/DruginfoResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/MipsDrugResponse$DataBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/MipsDrugResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/MipsManuorderResponse$DataBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/MipsManuorderResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/OrderResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/ProductInfoResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/inout/WarehouseResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/PostSaveResponse$ErrorListBean$ErrorDetailListBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/PostSaveResponse$ErrorListBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/PostSaveResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/ProductClassifyResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/UdiDeviceIdResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/publish/UdiProductResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/receipt/MipsBarcodeResponse$DataBean$ListBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/receipt/MipsBarcodeResponse$DataBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/receipt/MipsBarcodeResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/receipt/SelectManuorderResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/DataSetBean$ContactListBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/DataSetBean$DeviceClinicalBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/DataSetBean$DevicePackageBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/DataSetBean$DeviceStorageBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/DataSetBean.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/MedicalHistoryResonse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/MedicalResonse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/MedicalSingleResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/res/udid/ProgressResponse.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthAdminService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthLoginService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthPermissionRuleService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthPermissionService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthRoleAdminService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/AuthRoleService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/CustomerInfoService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/UserRegisterService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthAdminServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthLoginServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthPermissionRuleServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthPermissionServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthRoleAdminServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/AuthRoleServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/CustomerContactService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/CustomerContactServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/CustomerInfoServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/auth/impl/UserRegisterServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/CodeContrastService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/CustomercontrastService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/WhitecodeService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/impl/CodeContrastServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/impl/CustomercontrastServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/contrast/impl/WhitecodeServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/CompanyService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/EnterpriseCertService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/FacidentcodeService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/IdentifierService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/StandagencyService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/impl/CompanyServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/impl/EnterpriseCertServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/impl/FacidentcodeServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/impl/IdentifierServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/info/impl/StandagencyServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/DeviceService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/DruginfoService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/OrderService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/UnitService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/WarehouseService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/impl/DeviceServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/impl/DruginfoServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/impl/OrderServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/impl/UnitServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/inout/impl/WareHouseServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiDeviceCliService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiDeviceIdService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiDeviceSrgService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiDevicepkService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiProductService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/UdiSubProductService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiDeviceCliServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiDeviceIdServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiDeviceSrgServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiDevicepkServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiProductServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/publish/impl/UdiSubProductServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/BussinessTypeService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/ManuorderService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/MipsBarcodeService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/ProductInfoService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/ProductService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/ReceiptDetailService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/ReceiptsService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/UnitMaintainService.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/BussinessTypeServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/ManuorderServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/MipsBarcodeServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/ProductInfoServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/ProductServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/ReceiptDetailServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/ReceiptsServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/service/receipts/impl/UnitMaintainServiceImpl.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/thread/TaskExecutorConfig$MyAsyncExceptionHandler.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/thread/TaskExecutorConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/CacheUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/CheckUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/DateUtil.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/FastJsonUtils$1.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/FastJsonUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/FilterUdiUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/HttpClient.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/IpUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/JwtUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/Md5Utils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/PasswordUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/PermissionRuleTreeUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/PublicFileUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/ReceiptBeanUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/TreeUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/UdidConfig.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/UuidUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/WarehousBeanUtils.class delete mode 100644 api-udims/target/classes/com/glxp/udi/admin/util/serializer/Date2LongSerializer.class delete mode 100644 api-udims/target/classes/mybatis/configuration.xml delete mode 100644 api-udims/target/classes/mybatis/db.properties delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/AuthAdminDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/AuthPermissionDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/AuthPermissionRuleDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/AuthRoleAdminDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/AuthRoleDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/CustomerContactDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/CustomerInfoDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/auth/UserRegisterDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/contrast/CodeContrastDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/contrast/CustomercontrastDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/contrast/WhitecodeContrast.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/info/CompanyDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/info/EnterpriseCertDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/info/FacidentcodeDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/info/IdentifierDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/info/StandagencyDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/DruginfoDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/DruginfoMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/OrderDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/UnitDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/WarehouseDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/inout/WarehousetempDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/ProductClassifyDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiDeviceCliDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiDeviceIdDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiDeviceSrgDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiDevicepkDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiProductDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/publish/UdiSubProductDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/BussinessTypeDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/ManuOrderDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/MipsBarcodeDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/ProductInfoDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/ProductOrderDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/ReceiptsDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/ReceiptsdDetailDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/receipt/UnitMaintainDao.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/ContactlistMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/DeviceMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/DeviceclinicalMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/DevicedownloadMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/DevicepackageMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mapper/udid/DevicestorageMapper.xml delete mode 100644 api-udims/target/classes/mybatis/mybatis-config.xml delete mode 100644 api-udims/target/test-classes/com/glxp/udi/BaseApiAdminApplicationTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/AuthAdminServiceImplTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/AuthLoginServiceImplTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/AuthPermissionRuleServiceImplTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/AuthRoleAdminServiceImplTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/AuthRoleServiceImplTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/service/auth/impl/MmpaTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/util/JwtUtilsTest.class delete mode 100644 api-udims/target/test-classes/com/glxp/udi/admin/util/PermissionRuleTreeUtilsTest.class diff --git a/api-common/target/surefire-reports/TEST-com.glxp.sale.common.util.ResultVOUtilsTest.xml b/api-common/target/surefire-reports/TEST-com.glxp.sale.common.util.ResultVOUtilsTest.xml deleted file mode 100644 index 758fba0..0000000 --- a/api-common/target/surefire-reports/TEST-com.glxp.sale.common.util.ResultVOUtilsTest.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/api-common/target/surefire-reports/com.glxp.sale.common.util.ResultVOUtilsTest.txt b/api-common/target/surefire-reports/com.glxp.sale.common.util.ResultVOUtilsTest.txt deleted file mode 100644 index ba0c91d..0000000 --- a/api-common/target/surefire-reports/com.glxp.sale.common.util.ResultVOUtilsTest.txt +++ /dev/null @@ -1,4 +0,0 @@ -------------------------------------------------------------------------------- -Test set: com.glxp.sale.common.util.ResultVOUtilsTest -------------------------------------------------------------------------------- -Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 s - in com.glxp.sale.common.util.ResultVOUtilsTest diff --git a/api-udims/target/classes/META-INF/spring-configuration-metadata.json b/api-udims/target/classes/META-INF/spring-configuration-metadata.json deleted file mode 100644 index 62076a4..0000000 --- a/api-udims/target/classes/META-INF/spring-configuration-metadata.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "groups": [ - { - "name": "cors", - "type": "com.glxp.udi.admin.config.CorsConfig", - "sourceType": "com.glxp.udi.admin.config.CorsConfig" - }, - { - "name": "publish-file", - "type": "com.glxp.udi.admin.config.PublicFileUrlConfig", - "sourceType": "com.glxp.udi.admin.config.PublicFileUrlConfig" - }, - { - "name": "spring.datasource", - "type": "javax.sql.DataSource", - "sourceType": "com.glxp.udi.admin.config.MasterDataSourceConfig", - "sourceMethod": "masterDataSource()" - } - ], - "properties": [ - { - "name": "cors.allowed-headers", - "type": "java.lang.String", - "sourceType": "com.glxp.udi.admin.config.CorsConfig" - }, - { - "name": "cors.allowed-methods", - "type": "java.lang.String", - "sourceType": "com.glxp.udi.admin.config.CorsConfig" - }, - { - "name": "cors.allowed-origins", - "type": "java.lang.String", - "sourceType": "com.glxp.udi.admin.config.CorsConfig" - }, - { - "name": "cors.coallowed-credentials", - "type": "java.lang.String", - "sourceType": "com.glxp.udi.admin.config.CorsConfig" - } - ], - "hints": [] -} \ No newline at end of file diff --git a/api-udims/target/classes/application-pro.properties b/api-udims/target/classes/application-pro.properties deleted file mode 100644 index 324b383..0000000 --- a/api-udims/target/classes/application-pro.properties +++ /dev/null @@ -1,19 +0,0 @@ -# 生产环境 - -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 -server.servlet.context-path= -logging.level.com.glxp.udi.admin.dao=debug -# 跨域设置 -cors.allowed-origins=* -cors.allowed-headers=Content-Type,ADMIN_ID,ADMIN_TOKEN -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 - diff --git a/api-udims/target/classes/application.properties b/api-udims/target/classes/application.properties deleted file mode 100644 index 0f5d7b4..0000000 --- a/api-udims/target/classes/application.properties +++ /dev/null @@ -1,8 +0,0 @@ -spring.profiles.active=pro - -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver - -mybatis.config-location=classpath:mybatis/mybatis-config.xml -mybatis.mapper-locations=classpath:mybatis/mapper/*/*.xml - -spring.jmx.enabled=false \ No newline at end of file diff --git a/api-udims/target/classes/com/glxp/udi/ApiAdminApplication.class b/api-udims/target/classes/com/glxp/udi/ApiAdminApplication.class deleted file mode 100644 index 1b615718f75581714029243aea4050c37613ab1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1344 zcmbtUTWb?R6#k}3yKRhZO|`aOW9uc2;Jk<+kwO~~3h{!Gi1;)~rs?SJ%rZOM7Jrq# zs0jK4{88eW&8n-UT4*41_FU&XxB2${^H%_O(X3z!r2yqBrZK~?W9*10u~mAsYeggv zjD5rV#yEZ;`#h0$Ka`FqX&f8tcsDcLCUtkL+0n`=5vsS+GR!QH18Jb6;8Q)y+q+4vN8TyURYq2kQ zDD;T8Ly;t{R|QGe`P5n)ok@`gMmu@vc-!b*HA=1Mhq7=5iM_fNV3A?ruUjgpVJX1b zD$Ze<;r^ufSsnYS3Ww6>wJU_*9xE7v#H4m06NV>^BKC1Mlc66gbc>y(r{#ouG>4hCptfgW`xtd|| zk#u`z_*D3rbJCLG9Cah>0)abhOzhY3l0I3%g1lc0trK8isC2WYK2*NgD-%Zljvpw7 z)n}=8Dv~{wC_jE$8<(vHm1Og11R{0jSHTKC(LYisu6Mr7Z4<>tOYOP?pFxg^Nu7% mP%Bx$<*{WBihQt+>jb7w))aa@bGnh8H*t%oN7Nv?0sH_UwSOo8 diff --git a/api-udims/target/classes/com/glxp/udi/admin/annotation/AuthRuleAnnotation.class b/api-udims/target/classes/com/glxp/udi/admin/annotation/AuthRuleAnnotation.class deleted file mode 100644 index 0c70f2152d91733cfec7405d7020afb5c6ac72fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450 zcmaix&q@O^5XQf$w$b{piXbAQcqn=?J$Um}a7Dpd*{)tZrQ5KkWV2O|Q>6ZX$99u{!V=f)-1gnBP4@>t&* z%gn*w+Ltp8;V>+mH>rLxW79A9HYOaG@|K#2RGw(hCC--r2Ue%r`Di-Q4AnY8bl1Hh zoGzzB?HT6zFx&hGdCIJbrwoel`7yfh1Wf{Ag{{hKAReZ`8ow%7|2^y2;QNUEO=iR^ PNMj4z*qM164eb5^@mzxx diff --git a/api-udims/target/classes/com/glxp/udi/admin/aspect/AuthorizeAspect.class b/api-udims/target/classes/com/glxp/udi/admin/aspect/AuthorizeAspect.class deleted file mode 100644 index 031b87b3bcf34434b6752bb1e732616ee537c73f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4481 zcmb7H33n6M75<)(JX*$J6mSp_5(p3*gNGy}X(Wf(fE^oT8*F0-x{$FvmdD65jx+*0 z-P?4bOVXw*v`zQYy@jL(Cv8Hvq|FcLU+Fm<+Vp#Gw2Z(>=sD6X@4b89ec!$JyLaCD z?<=nX*oU{`2w|0mu#O0t1X^azGp126oxCwTIcw!Sfu=6ovAz8QtJ>PflRNNXRS#i=Q^IX;2A~h>9SSwj1m8S&>!x13sY86U|rtw zDldZftgSu!e=4qvXEdx9=)PU~QLA{Su!0pDS_F3G+&Lp(SeQ4;Q?_AF z&DoA&E#$0u&vqT-aLILgt8XzRafgO=I@Y6AV0(ikU*;%aIpw($p(vFLUN4^o5<|md zr-pjRCWc3j2<*(>j#MU&HP|5il@e%gyFD4{xn^wAu^D#>#Ot_A742E+^#!BkV`0pA z-n`MzOCva$DDD=B_8b}<7&_k>QsQX4X`YNT>wEIBYdc5zr%gI7 z8@2O}>6MGbVoQY{8kX1Q>8w$Kwp;WSt?2@_8-tcN<4)Cs^Kho(O*u(=_u z8il#V34y&Uc+Yek*E1D6^pw4sk#fQ6sSU;PetbZ~2X%Z1rvx_Ct&e#Yui?^JDaBVYYNZ9(Y#*z-9@C0dpO+_(f!Ls`ceoUM{YZJP0Idsfl(To$a> zYE-D{fyy{FEaDjrAJ*{^d{iK*Jln8@lrv+NhFB66+9##N$8~%HpA-l?YPgZeDtQ*g zr%3_|KIzZT==dx?$C}J?YD#`sA3R<)T~EqlbWXT@#j<4bCJYc~k$0q$6 z9#EeVNR5;o&z`f!?UFqiOb(u9Q>6?A!kM+wEf;eZCBp~ZDF)V>tnFAs<+(|#IA&6V z+9zig#?7KF-z$S*Z^ov|j+MgD=Z%}gm|L_coK;YcTSa@CK^XBh{O6o zEv*$OS{9qFGwJ4cQ^dZ&40K@!eE;1>bJy4=1X?jheWd{uxUb?}nZs3z;K1RSikB*_BHkv5C)~^%UGvSFBX8F}rRB zs*$8?1%z6f=2T5#6$@C?xLmGcasw-Ehe2~OP6*=_Tk_Ohvj0u#b zPD#S=1&Uw6sMYuP&0jJl0&BS*Z8Q$DopBw@@iJ^i^Xz`W|3=Ao>WMWI0^i_s6Yt;T zJ;FObsd)Vs-wfV`9Nl#V;u0T1_%^R{8rXvKyz2e}T)=nuCh%R(hLmuJdgs{9f;$3& zq9Q15NKpKH{J&Vj_j&sPeu!04Q)mtE&0O&MRcP1HJh=N!tbP@1PF%*?E4cIZ-AmXw zv?sY`8TW*c4)0mUPJwhpq?=OVtJsxpx`>vv<_kO^1@yN7+>1wf?V?1Q*9;ri{Wyll+4ps` ztRBJ)df9&TVFCR(hXMNaFkZwEe!=$iGF!yga9m;i99C04fgj<=+>1a~P?t|X!B1(I zhO77)F4A?IIP!C9SVb!?;FtIn!nEZD{F+Y@TJ$`AgWuB0$Kc?19MfpU1b&Z8{Kh^< zyDxJ#M)_8}gqIQLdo%t(;1aY(;0pKAu}mA%Xu5$`4b5-kUT7Nf8V32MVXFpH{W>5B zjD7rgNJjH`g^3y6uXHC&9(>TJ!8)thevt=J4+=q39U4q$4H(tY^ zX(Uaoxnu%=;jGNC2?ccsf912xGk^WxxLyLd5t093i-wYh#T#fNM%RJs2wf-W5};U! xia-^haepTceok*ysyUs^U&R++!dK-fL?Ey4B6x3bEQB`|y7HsxAAJ8O@IU2{?A!nV diff --git a/api-udims/target/classes/com/glxp/udi/admin/config/CorsConfig.class b/api-udims/target/classes/com/glxp/udi/admin/config/CorsConfig.class deleted file mode 100644 index 818de7d311f4d89d124f1b2b9e2d429cc2fc7720..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3249 zcma)8-EZ4e6#w1Cj-AY1yYy?>2CPul?*+yfEM1{n>9#_%mUR?1zUC%w>Mf0fc;CZRpR1f2vDf|nujH!;TV+K!u~Myk}_d+s^EbME=NC;t22Uw;R18e178 zkkp_UP>~YoyJdcA=Bs9{l3&@lWtBXE)H%Cmd#?#3$0yd)(2>@VF>nBez-Y-lEc&YR_JyOu9GwN1N{UvS*Uf=>z@G^8*jjMPmS3PH4SDKyXZJ$W zt}wGvtkgKL^Zd)EZvqL@1KnE`j zpP}=bxGFPlr}L?VjVhoz-j?MG^vj4wI}6B%;7j+gJHU}go#2Sw0ghbl1V`+g??znx z*lB??@xq=p&n(?8n)R?k>gv^{;vxfIV(+fIAb#EIOEIFV0-oK0b3+QxxE zX3c53CF`Os+oX5*8Jv`FMj&^!$-%L0t=kQoopZicb3D_t9XYkmEIV!`->A!ZwJGa- z$8m4VdFNSoy}TJgIs4=YY`VT88)-6DvB5U69PhKbMTPCUQ{%`Ycrg~d;W%D&Ro!*! zmh0J8qw}iOh)+AIx@&FPclk(49K{&nTuE@|D_l9dNhRd4^>ziDTH`%{mld|U`lY_oV{*(r}6rXcH zz??jon*1KBa)0Vi=-)z3-khHBuT}%;OzWI=<#3UniBuH#mxSNoDXJ{WybOP5%c6HRz8qq#?mST|CC&fK2}n z+3Ln3i=xOcsGuk~ONV8HtFjt0&h|$g#2NIr8pWwHIvHo!-z$EZ`T0T?pN#l|CNvtV z_syPD=KNwF>zmzTDfPaod(dWfFnLq*M+%A*n1*6KuLb$74ab{1+U>0J|d+OJ&cb@ zrTpao0R0IWiUwT>CLBUMq2lg2AsK^ETYwfu>12hlR2ys;+06~XS|@lHA0wa&W8?=` zP!rseuCgZczv1Ndhj=0T;tpPtrQw!+C7?$neKw#+B|RI^W0IcZvV+&V$7lOb#(bFL Z1aA6mWMYGRKhsm>Bq;k%WO6B#mEE`#d0|%-5y?)F0mihku@BQBZZsK_bV<`CW0u)hVIPo%k9r7eh z+k9>FrHBke>5fdLxyw*kSlsYYW|+4|yF3&6bs`MkHm1v0>2KXBUWlx#(oB?5VVG`2 zk;t-IQ>8|$q}E6hwNqQuvMtkb1UTm7ivY)Qg5h$cI=r3ic6l$BJd8Us<&jFaWScjY z&K}Cd2+dH5NT6_}Cn&9tJ2|_01y!8#aXP@4nEYg>z2GO?!sK{G>;PvBrxzAm`#oAW zTBhy#1bmzgFokmrhxGvd{4Q{67#*EE1p$q2)X9--`r4VlT!L^RS= znb1huLxvw(O1F8|wX@pNVMpvJ{X5?jVVd!+FfvNN;o-o6H+n|xNUFO|>7O zDxUW`n?nB@Qh0`HOGRO_5o&4WzS1+>lJb3ODP2P-x*t>BTD@WT?elsw)Vc!`ptjMM ztHmpZ*&(Z;_UC4V{`^s9{W&lcBRAXWAblFEbKNObeT`MA$; zD*xD|;*Zw`FFqbpH6QLlznFmyQJMQVehKZwi8-h=&oUWRIE<$cJm-|WVP2@)v}-e? z3v_mbbzSvzB*@#Y$UaA1v(RvX*li39oPJ}L;pn_hq+6o%2Av+A#JTkU4N2CD(OF#j z3+xZNj1fCKW1xa>=^i)(e24EzqO~44FXuAph8?R19NECJhFd7)S>MuGBZP zO?lPvrMH;)6DQx{OaUZMJNc_UdCtif_v9=5XiHbByOC? zIYKav2C>*<%;m^#y6k;qgafxx&&zy*JNS{BV0Cx#6X7i3KJJmXho4DXqPHd<;1S)A y703hG&0y!_;uo#j#%<-%p8XHG+1xk) diff --git a/api-udims/target/classes/com/glxp/udi/admin/config/DruidStatFilter.class b/api-udims/target/classes/com/glxp/udi/admin/config/DruidStatFilter.class deleted file mode 100644 index 0de446138a0329c0cdb1af15b8e6276ca54799e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 650 zcma)4U27CE6g}CGuH9B^Kde@L5ro=t*--G!QYCM#}iNHUYgkW*2m z=^Ni3IJFX;J`;glOSCPX(V^tsnQ)?_%I-gfzWm)uS{>7<^yQ+^(cg^OoeLdFdOsV^ z{2&`n)r4?XPYLs?Cag_b7d~}WVF$NAH^UqB=nABV(My+raG5gRrvp!q3KKdckE#d=3lvbewa@3J_m`cx3d8D-Rj~R-$ZpT&3OeFg0;eh9f;v&hE<~^g| zt3KZjf`3RXI%$|J!=VQ16)B_T+OFw3q+py?G#pf^x5N z?NugY0NSsq*0`MJZ9U%xskC68Me|%|4bi^zT|B#v5G4FP5{Gs)KI5&mQVo=`XUdg zP@E@*k1-gWuxlLw^hd1_m+2Fm@!4 z1-FG$<$I+gX)1=HrXAJ#`rD7bzxDi9#z$Y*mxa(E9U-vAhTJc0p{^5FWdC7GZ zKPs0@zA2O_xDC&g>kZ2;OOMb@PYNX&9wnBt*Yr;7=r;|FVvJ$1q#+rm2}dV=!u@x4 zSHyG-6AaIzLIk;$DK|gJt;^}a6OJ!TWw}mHIHD@OI41FF3{wVf>!|llx5lgXNu4*! z78m83<#5w=Dpr-}gs-I6+44p(O_bI?ScqdBGn(&NhM7ck@=L`SK4VDe^lPUjp)9|} zGcUZe3)1%~#cj&e^-kBNaN?LlzkYmfU|s`{_)>LpiD7|ZCyEQx^(41k?ly7Xw1w~2$>m8q$(pFwrN@&znL4T2+VpD! z2`n)fRjJyDK0`X(d8oC5(h^E9y@`}WJIA&+>0l1a23D}jFhLv51wpf}Nj$j@fhQ9m ziKG=h2X5d#9x&XX6x*`rEq#i*Fb|2M))|D%Up|C1LoA=!c$wMRqMU+5?b#Zg2noVh z!cj$GH{>wZ7^X-~DXpdysVNnxDODCO!)Pv(&u{Jjp55EX9K6`uWf<6S%TzU^S<8{T zjao^12cl%t%!J;yT@;?B$F0c$b!ZU{53|>mD{W(Dzu_pWCX1GD5n{%1T-D}v^@{Ux zlsr*fT$pmLNx~X%s3|aPMY;ujf{G{bt$Qx%Mp@G5Vc|5qAZY$#p5TV+o~&3W4C7(X zA+p*bN|Ti&y3!aF6r>98~}S3Se#747Ldy@Mj$4kKKuS>oiX$`7{j@v57O zZXgUd{hlsCMG+vk3pHf$vXEOR7vDNDWj!dT7;+4^Iv2ym3iY;}REKUkFLd*#9zmL0 z=#|gKQjd-vN1j!QMC0>H*wwn#^r|6jt71uy7#%#;<--sUFP3df7r|U~^G)fb8P+1B zMJS_3c@!&>u`VTreWzdsS~p6fO3bn&Yx^O|iX*|RuFuH^F z=vx|p*EL?m0IkuLOwY$;!RgKDJ(xTL`zvtyo}PLc1o?!XMreREp3;bZsPT<+ zjK5AcaqA4z9|l?M3Sx8xnIMc#kj)nMHg;(9I(J3b{q$Zq$K2~P+{vvhH*t669QSDS z#l&J0Up0|jX(H8$I7_?$%k*bq1tVCc)Ki$H_Z^~9Gc_L~wz42>viOO1Fici2@H1uf zlC1OrWU)(MgPKf0bJCmcc98BK&C`D&hCKaVX{P$HPjh`J1U`CvK;vKNT@1Kf!>>NJ F-vjbPsKfvO diff --git a/api-udims/target/classes/com/glxp/udi/admin/config/PageHelperConfig.class b/api-udims/target/classes/com/glxp/udi/admin/config/PageHelperConfig.class deleted file mode 100644 index c3ff2482fd0a1a70864e6e3ec58e312800034637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1116 zcma)6ZBG+H5Pr4=dL9Mp@mhRCL~WsPDrhuS6NDH)6eVIXe%!Xpb@6(4?(Hf35dVjM zfkYC2fIrGOdshp=#Bi6)&d$xtGtW%>>-UeJ0M_u(Mh^J`28tNO5JPF7f99^w1J8Za z+!rm)F!WRgQa@+NSE{=OSPXNmuVTOq`U!tY& zZmW>Iv=p%o8+i+(3?o_SrsO`=vQT0e>>kFSeBi=4*XG~cmbqiArwh}xJ1K#w7g&BqctrF5^8K&bTibAEggzkjxcwKo(R|Gn?aFsZS zxZ+*XuQQCc!X(hoQn_Q07BE-DP0Uj}r%0(yhH?++G_!6p*hCM9~w9EUh?hC;KgK;NJR7<>+hO)`iCNp|h%t|plx@giY zDp4t#It~98{fx|$18p#dNZzKKODCgqaPb)Id;0kfN%I-B;CD$DGY3>qr5o)8mMDn{ z{)#-kK>Y-T568IFIDt)PajWKxIAce+{J!Q)I@6g_{;OPZt{KZx?FcuPzEOA%rsO;< zlH(*NP{Jh2m?GOW6`P@dfij+8Hia{nmF&T>u!-!G?4{@iC5>{#`H&8)UVC_hLkbW%F$bU0BQh^hw zKGvyrPX$)Gy`hH-@M@?xa1jlG-M}P%6i+k12(>T6M5lgW(y@;GK{1MT@KVR>(8l{S zpMY0nv5_Hp1X}$C*MYM-jrKVEr3RXux*D29>Qtb-Z$c%|?CVs$E|QV5@8l>ZPpfYN z84sn^Y@ayGZlZGmzyDvA?Flq;Dac#(GM# z$awAfWOq#cphNpC(Vdl0=X)Wo&dViPf#8Fqca1Ecq+sv8ZxEkJDd94`{2LVBn!U3C zT){e70votWQ4D@U7L!!&e?@Hp=EDXBmnoDJa5(cGCt!^$61c`*K?dNVjZJcK)-96! zmA|0&iKO_eqBdFAm-4TkkiTk2X$c?kHx7uXhMd?1?C5V46SricMkL_bZt!!o$tZDyxDewJTq zVxm95A7#AL@=W|-EOe8(y}NtQx%ck5_t)?5KLIS@c^ZA_caU(A!~jEfN9+n7h|uS& zwH;YE3Wf4)#nAw_?9v6x00mmIh*E+fOR6ltHwO|3$ION)lwi}V-1Cu=;G zdN+`U*Q0Pt`CNoyWQ0*s$jgzA*QBpvqYoI;!t+){vq=C9AM=%yJl2gxEfp#~QFJ&< z4zg!z>|&>oV_;O$D8?L&ySRc0hF87wF=Rv#M0?U()yh|4%&?jNd_lF@^ru{0#WgCi zLtEC;lc7-}AmTUqPv_D?OLN1;v~AH*bt}?rM_!yHNzpHpweQ?>@$zv4qkU(s(CZImD#kri*#$e(HhBo_i!|QE~B-)rfh$9^o;uKcT23Bga;<&^e!Ck*rPm8Sn?M0j4$p diff --git a/api-udims/target/classes/com/glxp/udi/admin/constant/BussinessTypeUtils.class b/api-udims/target/classes/com/glxp/udi/admin/constant/BussinessTypeUtils.class deleted file mode 100644 index 0d6870448d251626231ae339405b846fc2d0739c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2102 zcmb7F>r)$596gr+SweU%uNEtPKxs%@QXkkVNabNm+q58|VC!>9*03ccncYp556*y& z;;8*pW^@K;bgCWuMXe(o)+; zLi3>l9xp2Ws6w?s;|=Ae5=tn^cxYnoh8i^mst2{CW)2B>0=+X{NCM4vP{z~}p(S!jnuGQw=kvFFh_~PaG8J7}Io`R#wlR zKWrC#H>EEW=XFuo=)4*&p^pmGj;3Pjl$uT`QB}gRJdtlMp;y2cF;me6J6pnW7K$hd z)hMoiQlMooMP7uMP;hr#G3GBTX&?IFk?^#DKezVvA6wsVe{^?y>vk6V8tN-UrUnIpBlX_0GHnF{Y z%loW5g~N#OooszPpyjCM^D0Ln{tEt91vepnCaAy+pVl-WVU|z76M$E7jiVY|$7_sY zGD9ltxlbO#dut~_P=@{Gsw<$22) z2M);e#(^)&bjN{bW%}d5VVMp&a8#y84t!arOAb6Q(_)lxxTijTN3uE2%exWl+1m=FmVA;fJdV>8gsm^vl?E#tAZ2pdHUP6-<*5srNwxk31F=O%OMdhtAwL;i_J)M|k2hlzOBHkoy2ItMX=BOP%3H8 z3E5VAO2~EfTo5V)sl+geW+I+=vye}mu})%NT*wp}zlT0a2jZ-3lsUr;_E13;oZXu0 o%p3#nQ^gjxxi^`PxTnjh9UMM`o?tyP5q7v1)^`rqT_$$?0P1XB*Z=?k diff --git a/api-udims/target/classes/com/glxp/udi/admin/constant/TestConstant.class b/api-udims/target/classes/com/glxp/udi/admin/constant/TestConstant.class deleted file mode 100644 index a771aa59aab3e50c05cc71b3c368ada282528026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 412 zcmZvYOHTqZ6ot>_HNyzI>?ofM}bgV$VVwcX#&wVRs||1IFB++)aZ`T zZ1vlNKZ;HfE{YDk61GqxwESo(g7E1KkvyHr6KS5XwL1(=@b;2J3BfuMELG_d{*8y&z;; z?I|JGjpm9_8EB)1$#SORiJXOe;*Fyu_SL0Mp|%yY^a#7~_WpIEBs$kKY>dZU> l-lvKk>~e21op4W=S35d>1--y|W+LoyEv)Z6uKP^v_yyXaU0?tJ diff --git a/api-udims/target/classes/com/glxp/udi/admin/constant/TypeConstant.class b/api-udims/target/classes/com/glxp/udi/admin/constant/TypeConstant.class deleted file mode 100644 index 2fd8596f5727373823cbe9f42e6f8612af6d8515..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1065 zcmZvbSyR+N6oqf2GVQ>?u(*J`pyEbca4Vluncz^QOe)Dp@if(Dx`seVrn0E~H6Q!| z{wT|v&N3bJ@k>t5J?D1k_n)7?0AL3`v|xt7mKU8WQE9DgLxsf@m` zAmbD+qt1$>QReXj7W00TC44U=ur&1>*jit8bPDqXR;(=cj#$zZFV`CNwZFTQcA4}aMu-@}y zJeU9b%b^cUd!NFl2>m^ZPnz!2&{|*DQ1}SfpdE4VoUTZrnLQo%U>T~08+$@vPK!p| z=97SVygE`Ls(U>zMP;|@9${;3e^}0ZL7?rVk#`~n6QI>0Qh1G@*NO9MQ@q1L>lQeZ_)~OY4KBefQVVGYC~{lkIpmJS3&>rGmylN^ zUPZnt@ipW%iPw>CN_-3Xj>LD7?@PRa{6OM|$XgOWMt&;sGvsZF737x^ze3)T_zkuu J@J@7p{}=hH?M46q diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthAdminController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthAdminController.class deleted file mode 100644 index c8cc2e7880662bc9e8239354f0eb6859a311c422..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12557 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 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthPermissionRuleController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthPermissionRuleController.class deleted file mode 100644 index e74a3222fc41069c95f8c8eacf67df6e7ce66b9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4978 zcmbtY`F9i775<(U2FqhZaBy&dViOv?U_=PefE?|By_Yx z7r2zOipizIS~*$Cn@J;IG)u{xRdQ{sP>^=gsJP3?G#}H_E}D*GTBVsvL0+y(2=pkK z`r%n=ubMe2kjgYr@A#uT=?*5R+R=$U8usdV4EqGm|IeBPw1Vll=|VwZU;jYH1E}Jf zg=B`^sRSO!ehu9^p1=Wt&KiChtF*+)t45(Br|t-J^0Pg!!JTp>lC3sw*DCKX!WXHqKcebAM_5Kd?q)^QR^fv4;I z=SR^hB|QLUq*E!l*{Q&7&8g&a(jfpB8Z13f&znGxEuG}3;Yg|~TO~)5BG2HohG%u= z!C8S5mc5j8%C=crx?>wfdEc_{CK)|5Z@46Ga?~v4Ip$j;(6($iW43MCG=iCNs|_E* za~jU;xPX+vu|}@QQl;o5eGOxLC;rpvne@a$c5LSA_|1j!bS6U-8k)a#u4n%9IxgZ8 z!?GmZaZ?uZo<#z~B0rzTDorZKAFvW^!qCNR+QOxn+dUzB$Y24{ltFccRb-^>z^ z4zsR8lxqy(ijJ3Xm86vlH-T6CTk|wTr9fMY5l-MbG8!gyOk%2W5wPXG9ZQL^O0wLm zNJmvcIy!CULp7k5T56e>b;qX1^8(M*F~hH!vgDfX`c8%^R<+bT=jH6@vPJZx2vgduo0Gc~Kq=PNoE z@T$N8li6as+v~W%xh)ZF#ha9$D~mdEDpA@er{)$W$L4NK&0JR`k%}ZNmy=sm2U)x= z4O*naZY&E#%)G*KMaNymhd5(;l|9$7qWmrCusnY&Wv0B`?yoZMo+?%3Za+z07s$ZA z234jLu8s;;1rm8#kggnEze*xCAjmE5hcgv&p(wMaV=fkCx>T}Uul_K22fawGC5>vQ zswGy%&Pf6pyKLo|eS0!yNlsRZi_)GmsDX^lSUIDRHEdIT2c0o@*`&&Jy%X<$2j{|Z z7Dl-y(7k;tS6d_x6+XkfLhfyv+!l$G>+K+WLWAs}zV3Q^*UOtWkA*~)o{>hzH&3P1 zMJ_PaiXIh64p<8|<&!~3&NSQw?#spGA|=8^x*}CL%BoZg^aV$`W~yTj%cH>S zThi3GskN$_YG~a~TQ1KJEhU`5VP$vyk!dzu%Nw36TQr$_t%5Fe5IFh%ykI_VH&5W% zdgodyqyl1*KUR$>*{XEZoz9xG(A$y}2Rmk6BX^g<4=Tgn3F$6d`DsHPf?TQ2H%FQ< z&8NZHh9EQ|+O*{*e!#TeW=!){AFi*6bF2robf9quJg?WnN42avwb8Ys^;4@Z)y;3+ z^x!ZsYUS6dJSOudi(4~ne2Jz$`XamhjX@yy|D;pP3DVajo|~2&Z5EkLp~S4W`;41v zpXp0)OS{@l@1&w8Zwf8*g!R>}O;4eZH_r&~tlY)b-IMKoe(hqr#x~BD7g#>m`ITfV zRPW&15P#uI1Rvv54TCqXkMpS%sA-?TC)o;o3O1$GiRsj^s@D(zEG9=VpZx(98~~3!JaR3{3{N=ir3W3 zZ3qWn;{bh!-|6{$S`KuDy$P&(VjNeg|{( zGdnp%_iiX0h9BXh5uA(dkG+A!TQD||e-MCiA>I?;w>10^rjJNZJb)zTL2{Z<11Yp& z1UrZlB^! z>pS=^eM=MW@8SCdILqt!4+vr0gHQ$8@A)Bne#E)$i1u{8hhrM%6b?XJgnB`Z*b3(x z_(>JcpW`^5d==OE0M|3j zH6Pb8>gWocID*s+1c2TxNCQfaS}imI#L4+Y*IV(KXdMLd>hh;;r-{X0i7BrZIL fY)Q7?g*^PdM+Z&SoHsck!V;pMf2>xhKLP&%mfxDL diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthRoleController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/auth/AuthRoleController.class deleted file mode 100644 index 9972ea7879594051bcd7f6c931808081cc68e63a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10051 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 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/auth/CustomerController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/auth/CustomerController.class deleted file mode 100644 index 41ec4fa7c06325cc98900eb92b15cf787edc53d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8420 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 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/device/DeviceController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/device/DeviceController.class deleted file mode 100644 index afdb9c88d8442700e2212f2bfd12f325f256303a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18594 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 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/info/CompanyController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/info/CompanyController.class deleted file mode 100644 index 61fb0cc4b2cc303755249e856ab675bbe4066893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3007 zcmb7G+fy4=82_CF*Z^DFLMc{Sd$Tm*wyn_GHl?=2wxXdR(9}|Io8%A{HoIXjP^>=m z&GE?xpL}tA^hN7TheCDin-BgSSpNYZ9mntNZbFh-m^hj2Ip;gy`F;2AoIn13{u_W% ze9?voq7s^9G^2&#z>>PED!OVEl&S0z&p8Y&S2aU(t}#U8iA*bEXqC_=qa8BCXwEDu z1^r=3ar2s@=8Kx4ClDjn^3t?zn2gaCm`RBxhCCT|TwIa5z3u?aY898ABiWdHdJL+ne8Rzxe*; zwG2?@z*)!AC`1ivFCsZ8V+g|(_@bHD7AO5R)g)}-4Pj4MbIryX#1SNpQ;xQtL^OvW{#Lo0z!npsWf0^qug8v>w} z0Ls)6q-4A;cw@wSv#4siV7(>dwqT7BYd{>qgp79uXS*md-+Wszr)5kE=5}JD-N${LcMSY59X;8t*2CGLd2~?kB%=ssD!^-?dW7(0#L1`OA}PDRA6@N$xC~`DxWs zi`?NBIdL>?S_Q=}iDtGS$ZMvxtgP{@lBK(&I$XD@7S&QoG(GB)UaMv3QPxz8FPg5+ zeSZfkGh{-2y1TXwHc|$brT;wTbY0z*y%d@jf!sY(n&Cpju9!CMDqkF{_d#8MKUG^6 z74O&7N8`eSY#KN7>lBE#S+9m}QRk#ql=2g1C)s}-1%^*()k5Q^G(xn%I$D(0^oXOcO8W|pjK=2vXJ9|mB!Vn`#Wv819DM~SF(404 zBf|m;hMVmQ0J2@(B!}pVS;c5`(yfVb92Z zUyq8BY0ose@#sReU=v~&F2jLK&Ik-#B5)B?Vc=@Tz%@K1nk0g^PLl{e^S+NN;r|@? E4=2lNzyJUM diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/info/EnterpriseCertController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/info/EnterpriseCertController.class deleted file mode 100644 index ce0f3decd51f659b0e94c5c47520409c78b3bf94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6947 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 S^JV7$Cxv9;U&(s#Z{Yu_NmZf% diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/info/FacidentcodeController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/info/FacidentcodeController.class deleted file mode 100644 index fc9fe79db58927c926f5e3808a4e76ba3b89ebdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9956 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 Q30Fx`6Fv&t@b7{D0Xcx|00000 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/info/StandagencyController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/info/StandagencyController.class deleted file mode 100644 index 304ede732cf915aa4a057fa5e2a42a88138c8a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4541 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 diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/inout/UnitController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/inout/UnitController.class deleted file mode 100644 index c45c1303877279d1032d08bbb9392dfc71f47ec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4607 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 BZMgsd diff --git a/api-udims/target/classes/com/glxp/udi/admin/controller/publish/PostIdentifyController.class b/api-udims/target/classes/com/glxp/udi/admin/controller/publish/PostIdentifyController.class deleted file mode 100644 index e66b84249e17e26329eabb0e5c74d77f3fb40f02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19545 zcmd^n33!y%)&Dv79Wq%iWCLYf5EYe8qT)v4mP`l~ zsCCC`-8bA2*B2r#xM8(wwQ99mtG0l&wrZ{VX|?eE&b!P^k^zF>|9Sr3^L)>vnft!) zJ?EZ#&bhyH?s@OaOWPiMl8BBpPRJ)khL=2=22c)D(SqROU|A#>?I@czcR{Ev$&_p3MGwto;z$-L3aE&Ry;P#9lm;`6&BkwWFcNMLCd094SyedN4ka{(5?vAKEN^}=F)<#G z#W5SGtu>GKpgp}bRFjYPVj9sFTU6E&S=w3F)gFef7A*pcP_%1N0*Vq26VYZWo?h8l z*)V6;#KyXsmN_+*_4P~#*Y}6ELd4%k)4nu}X&|&*6Ane%Es2;8-GO>Drjzbokx#>E ze=i-N=|CF6G-?-$NK-<73|t+W7sP}bLWxAMBLtIU@U)KwVDxAQ#yFS`@zO|5qi8hd zm~Dz($#BHc&a7!OaRJp12#JoFP9NDnt@IsvR93=xC{b1wOoU*J&R8@Nf=`WQ8r?&z zVEdvljJC8b)MrrrgTvhPtV9>Z%K3 zG#yV^*awM0cF6-?jj?M(L2KzAJTjXy`&c%QPNGULRcZ25HSi*f3I!_Su}CBoFYD}@ z8wn@omrai)l6CE&Xfix+nLvj980Zx2O3tqo#mn@+JR|y2IGm4-5!!{nv;b?y`~15%H+ke=?YDo$5c9Ua;9$! z1FXa8G{Z}cngZ0sbXb=8?^IYAZ62VdYFS-7w3jK2#lDyOIz9=#C71P@e1%wImZsU% zj44Bm&R}#|N{ff>OpD>@yjYpP2L*K4N+)~i6iuhnX-p%t%uCGIM+_T{{9TD;Y*8pK zlPc)}2#(TDr=XYSYHB0&7?*{)tF$b#Va18c9DxxEc1vrS3@2JMz(Rp>Cu9*K!*kn1 zmcv!YmP8}5V0*Q7SsRLUhT{1YqWQAs!%T&mSt#J`ypDWDME+`xmbTqv4x>1 zbONnqk;u_GqDp(2)zg_mKEY~M1 zDRaBRk#631P7=p`VHe zp2f6h=4wdw5Im|!SzU!$?>sD-f{N^n` zziji0n3mvFhWxoi z(=X^!cxl@c24SzoP5$7^}{PjJoy|CLfc{d0gCcwK1~~AwtfLbd#5E z)^rQq%5+o~!FSCCIGqSZkpEXLlh}hP9N?HXJp;$r(l-j|cDln$cWPQice#Nz^_a<% z2%mwFjfA*Py56JdUb+w0(304wF4K7(=ke10JJNk31uPj#a5FY9J&-+cWLZMh!DO&1 z6pZH68ZsnIKCI~xdKCF9%rZS5Ywv1HrmS*wKdsV}4oh$~t<|(n&{xvpnbmc3oGx=} zrWDX)wBAdPYkGp7%)Sb;n5^dzNDWu?=`(G zRAaNO0!Qq=QH4ok5Pv+>9!^f}S|mgKLDReL5KS$C+UAz(2C?ZMHN7wVOF&?+;Koo} zEZ#mPWXGANQV0@Vi12X7lO

8v^F;fs$2Zis{%6Y zR!x6RDPv*BjIN*+y@lu#O@9}nVhm{$wFX+MTdD)~Links&)gAbCPFi@vv)_#rGGM! zu=tmzFWt!stvl-1n*K|Oi!j-`M4}5@x5|!Cw9T68x0?R#3M&Lv4Nc8rhSl`FrvC_8 zp+#05jssR2g7Jmma7S+ioJM>w|q6&`}BK~Oe&JpkN|E3LUa0M2w6L}st%Tp3+s z)`6Oqs;1V-Re@a2$MeG>18dC#MFv@Wb%_8R$DOuN7iumN>Y<>nY7*&N()tFwR$)=1 zxzwFTdJ@%j!eEHzJ%mACih)oJ)$DWiWe?{M#^d2oJeT)|U=_K%FMh^~9`@5bocD)1 z;-St+P&PKznG4uIKNt^42_@PV%FLO1+|Pv1)W&)ZAEsQC^U}G@DZBFyCY4v zw|Br>S+;zX=A&H_>0VRSI75UxR`UcQkwsV)4@TRabG9`?NzlJAiu9eP$L4lgtRrRe+_5SHX zGFkH!A(3*GO;R07w8g{L#$QMqG*5NM0RYJo<>{JdxPti+VIr{(V98wB53J#U<|ZKk zWCO8kYip}4*=A{;Ei@SzXW<~X075oBapmUQS8iRiV#~_aTi0B@dHFfQ>155Pq=&9= zmZ4A6Jf{~Mf2`foc~J9Qw|h-}m0%dRYYs_wSsM=^43DLna&1VQ@5hz>ztyQ(PtyPuN@te!Y3*K(^QF7(5ml3CxA>a_Ekbgk=AR3Rl-3$U zU5QXrcu~lbWrgO8gvMG2)&815i{EmGOEmvNC?rtSC2TJWBt!9V#2V@{&6f+AI0T$; z_T(xHbFS2Ul~4__sO!9xrtFXuj8#&OfQOp|NsC^Q30WNmpyWU&zJRt%VzmG@)WF zR1au=P^bjVn*x4+t-rO&n$g3W9}${T(D)-LOSc6h0pye}p{aST5Q=?;Fktz2x8}!$ zN{m&PsE;M9g2}e|GSK6ipOF5Rf&EnhKv3;;Yb8FVd4te6@d9=VM$*go8O_hS(+W6r z&Gi=H^O`pbp(wpB(GZMw%?q|AyQIwN;@+<{zbMqQLR{*A-^RY*Xnxt9VO?V4($260 zvJPgxs`nYmrCXi)f{3OAO%|Iqv?e}-*O6gPTTzTN!|BkAhL zt~a&Cf!o`OxtIUNbZi!_^~%PjI+N0xwPLKj4u63yE`QEnYqoMaS?zv*_3V89g1^;l zrE-D__Px*fd(Bo7SAc%?exRBku?Bs&YenK$f_LfrpDU%6A-0z-u;1T`u4;f*Inp)9 zV%rMkt6Yr~U-n!oU#kM8q1BWdb}meL;qGmPQ-tD#YLHfiB8UL5IH9eJy7p-(gR5dy z;#H+u4Hg&Nt(|ge5G(B1J7t%(SM9+xe%Gc+8MSkvV^cMh>6l#;rfoVs*tQVwRV