From 3dc9968aa6ed52309d99fd98db965f4b666a2eae Mon Sep 17 00:00:00 2001 From: anthonyywj2 <353682448@qq.com> Date: Sun, 5 Jun 2022 15:52:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A6=E5=8F=B7=EF=BC=8C=E5=8D=95=E6=8D=AE?= =?UTF-8?q?=EF=BC=8C=E4=BB=93=E5=BA=93=E5=85=B3=E8=81=94=E7=AD=89=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BF=AE=E6=94=B9=EF=BC=8C=E6=95=B0=E6=8D=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E4=BF=AE=E6=94=B9=EF=BC=8C=E5=8A=9F=E8=83=BD=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=EF=BC=8C=E9=AA=8C=E6=94=B6=EF=BC=8C=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E5=8D=95=E6=8D=AE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/admin/constant/Constant.java | 5 + .../controller/auth/AuthAdminController.java | 4 +- .../controller/auth/LoginController.java | 2 +- .../basic/SpsSyncExportStatusController.java | 5 +- .../business/StockOrderController.java | 38 ++- .../business/StockOrderDetailController.java | 24 +- .../controller/inout/OrderController.java | 252 ++++++++++++++++-- .../inout/OrderDetailController.java | 118 ++++---- .../controller/inout/WareHouseController.java | 45 +++- .../inout/utils/CheckOrderUtils.java | 6 +- .../inventory/InvProductsController.java | 8 +- .../controller/thrsys/ThrCorpsController.java | 3 +- .../thrsys/ThrInvProductsController.java | 3 +- .../controller/thrsys/ThrOrderController.java | 3 +- .../thrsys/ThrProductsController.java | 2 +- .../glxp/api/admin/dao/auth/AuthAdminDao.java | 2 + .../api/admin/dao/business/StockOrderDao.java | 12 +- .../glxp/api/admin/dao/inout/OrderDao.java | 20 +- .../dao/inout/WarehouseBussinessTypeDao.java | 5 + .../api/admin/dao/inout/WarehouseUserDao.java | 2 +- .../admin/dao/inventory/InvProductDao.java | 1 + .../dao/inventory/InvProductDetailDao.java | 9 + .../admin/dao/inventory/InvWarehouseDao.java | 3 + .../entity/business/StockOrderEntity.java | 10 +- .../api/admin/entity/inout/OrderEntity.java | 4 +- .../SpGetHttpClient.java} | 4 +- .../api/admin/httpclient/SpsDirectClient.java | 92 +++++++ .../api/admin/httpclient/UHttpClient.java | 3 +- .../{ => res}/UdiwmsOrderResponse.java | 2 +- .../req/basic/FilterInvBusTypeRequest.java | 11 + .../api/admin/req/inout/OrderEditRequest.java | 19 ++ .../admin/req/inout/OrderFilterRequest.java | 3 + .../api/admin/req/inout/PostOrderRequest.java | 2 + .../req/inout/UpdateExportStatusRequest.java | 6 +- .../FilterInvProductDetailRequest.java | 3 +- .../req/inventory/FilterInvUserRequest.java | 4 +- .../admin/res/basic/SpsSyncDataResponse.java | 8 + .../business/impl/StockOrderServiceImpl.java | 2 +- .../api/admin/service/inout/OrderService.java | 33 +++ .../inout/WarehouseBussinessTypeService.java | 5 +- .../service/inout/WarehouseUserService.java | 3 + .../service/inout/impl/OrderServiceImpl.java | 211 ++++++++++++++- .../WarehouseBussinessTypeServiceImpl.java | 20 ++ .../inout/impl/WarehouseUserServiceImpl.java | 24 +- .../service/inventory/InvProductService.java | 2 +- .../impl/InvPreInProductServiceImpl.java | 4 + .../impl/InvPreProductServiceImpl.java | 16 +- .../inventory/impl/InvProductServiceImpl.java | 15 ++ .../glxp/api/admin/thread/DlBasicService.java | 93 ++++--- .../api/admin/thread/DlSpOrderService.java | 4 +- .../glxp/api/admin/thread/HeartService.java | 4 +- .../admin/thread/InvProductsTrService.java | 44 +-- .../api/admin/thread/IoTransInoutService.java | 5 + .../api/admin/thread/ThrCorpsDlService.java | 1 + .../admin/thread/ThrInvProductsDlService.java | 3 +- .../api/admin/thread/ThrOrdersDlService.java | 2 +- .../admin/thread/ThrProductsDlService.java | 1 + .../glxp/api/admin/thread/UpBasicService.java | 8 +- .../com/glxp/api/admin/util/Constant.java | 11 - .../glxp/api/admin/util/GennerOrderUtils.java | 1 + .../mybatis/mapper/auth/AuthAdminDao.xml | 23 +- .../mybatis/mapper/business/StockOrderDao.xml | 50 +++- .../mybatis/mapper/inout/OrderDao.xml | 116 ++++---- .../inout/WarehouseBussinessTypeDao.xml | 36 ++- .../mybatis/mapper/inout/WarehouseUserDao.xml | 7 +- .../mapper/inventory/InvProductDetailDao.xml | 47 ++-- .../mapper/inventory/InvWarehouseDao.xml | 22 +- 67 files changed, 1228 insertions(+), 328 deletions(-) rename api-admin/src/main/java/com/glxp/api/admin/{util/SpGetHttp.java => httpclient/SpGetHttpClient.java} (99%) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/httpclient/SpsDirectClient.java rename api-admin/src/main/java/com/glxp/api/admin/httpclient/{ => res}/UdiwmsOrderResponse.java (69%) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterInvBusTypeRequest.java create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderEditRequest.java delete mode 100644 api-admin/src/main/java/com/glxp/api/admin/util/Constant.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java index 7d5c1c98..4ebd8353 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java @@ -10,4 +10,9 @@ public class Constant { public static final String SCAN_ORDER = "MS"; public static final String BUS_ORDER = "MY"; + + public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; + public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; + public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; + public static final String dlThrCorps = "THR_DOWNLOAD_CORPS"; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java index 4d28ba65..69c11a24 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/AuthAdminController.java @@ -144,7 +144,7 @@ public class AuthAdminController { if (authAdmin.getPassWord() != null) { authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord())); } - + authAdmin.setLastModifyTime(new Date()); boolean b = authAdminService.insertAuthAdmin(authAdmin); authAdmin = authAdminService.findByUserName(authAdmin.getUserName()); if (!b) { @@ -190,7 +190,7 @@ public class AuthAdminController { if (authAdmin.getPassWord() != null) { authAdmin.setPassWord(PasswordUtils.authAdminPwd(authAdmin.getPassWord())); } - + authAdmin.setLastModifyTime(new Date()); boolean b = authAdminService.updateAuthAdmin(authAdmin); if (!b) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/LoginController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/LoginController.java index f425978e..76a38eaf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/auth/LoginController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/auth/LoginController.java @@ -236,7 +236,7 @@ public class LoginController { authAdminUp.setId(authAdmin.getId()); String newPwd = PasswordUtils.authAdminPwd(updatePasswordRequest.getNewPassword()); authAdminUp.setPassWord(newPwd); - + authAdmin.setLastModifyTime(new Date()); boolean b = authAdminService.updateAuthAdmin(authAdminUp); if (b) { return ResultVOUtils.success(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java index 63208392..b45a46aa 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/basic/SpsSyncExportStatusController.java @@ -19,9 +19,8 @@ import com.glxp.api.admin.service.basic.BasicExportService; import com.glxp.api.admin.service.basic.BasicExportTimeService; import com.glxp.api.admin.thread.HeartService; import com.glxp.api.admin.thread.UpBasicService; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.RedisUtil; -import com.glxp.api.admin.util.SpGetHttp; +import com.glxp.api.admin.httpclient.SpGetHttpClient; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; @@ -51,7 +50,7 @@ public class SpsSyncExportStatusController { @Resource UpBasicService upBasicService; @Resource - SpGetHttp spGetHttp; + SpGetHttpClient spGetHttp; @GetMapping("/spssync/basic/udiinfo/getStatus") public BaseResponse getStatus(BasicExportStatusRequest basicExportStatusRequest) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java index d9d48ec6..48a6806e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderController.java @@ -5,6 +5,7 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; @@ -13,6 +14,7 @@ import com.glxp.api.admin.entity.basic.BussinessTypeEntity; import com.glxp.api.admin.entity.business.StockOrderDetailEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.business.StockQRCodeTextEntity; +import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; @@ -69,6 +71,7 @@ import java.util.List; @RestController public class StockOrderController { + @Resource private StockOrderService stockOrderService; @Resource @@ -82,8 +85,6 @@ public class StockOrderController { @Resource private StockQRCodeTextService stockQRCodeTextService; @Resource - private UdiInfoService udiInfoService; - @Resource private UdiRelevanceService udiRelevanceService; @Resource private SystemParamConfigService systemParamConfigService; @@ -109,8 +110,7 @@ public class StockOrderController { @Resource GennerOrderUtils gennerOrderUtils; @Resource - BussinessTypeService bussinessTypeService; - + private BussinessTypeService bussinessTypeService; @AuthRuleAnnotation("") @GetMapping("/udiwms/stock/order/error") @@ -160,7 +160,6 @@ public class StockOrderController { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } Integer userId = customerService.getUserId(); - StockOrderEntity stockOrderEntity = new StockOrderEntity(); BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity); stockOrderEntity.setCreateUser(userId); @@ -182,7 +181,7 @@ public class StockOrderController { if (StringUtils.isBlank(stockOrderEntity.getId())) { BussinessLocalTypeEntity bussinessLocalTypeEntity = bussinessLocalTypeService.findBTByAction(stockOrderEntity.getBillType()); if (StrUtil.isEmpty(stockOrderPostRequest.getBillNo())) { - String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean("MY" + MyStrUtil.trim(bussinessLocalTypeEntity.getLocalPrefix()), "yyyyMMdd")); + String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER + MyStrUtil.trim(bussinessLocalTypeEntity.getLocalPrefix()), "yyyyMMdd")); stockOrderPostRequest.setBillNo(orderNo); stockOrderEntity.setBillNo(orderNo); } @@ -319,6 +318,24 @@ public class StockOrderController { stockOrderFilterRequest.setBillType(stockOrderFilterRequest.getBillAction()); } List erpOrderResponses = new ArrayList<>(); + Integer userId = customerService.getUserId(); + stockOrderFilterRequest.setUnitIdFk(null); + stockOrderFilterRequest.setUserId(userId); + if (StrUtil.isNotEmpty(stockOrderFilterRequest.getLocStorageCode())) { + InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderFilterRequest.getLocStorageCode()); + FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest(); + filterInvUserRequest.setCode(invWarehouseEntity.getCode()); + filterInvUserRequest.setUserid(userId.longValue()); + filterInvUserRequest.setIsDirector(true); + List warehouseUserEntities = warehouseUserService.filterWarehouseUsers(filterInvUserRequest); + if (CollUtil.isEmpty(warehouseUserEntities)) { + stockOrderFilterRequest.setUnionUser(userId); + } + } else { + return ResultVOUtils.error(500, "请先选择当前仓库"); + } + + List stockOrderEntityList; stockOrderEntityList = stockOrderService.filterListOr(stockOrderFilterRequest); if (stockOrderEntityList != null && stockOrderEntityList.size() > 0) { @@ -345,6 +362,7 @@ public class StockOrderController { erpOrderResponses.add(erpOrderResponse); } } + PageInfo pageInfo; pageInfo = new PageInfo<>(stockOrderEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -370,7 +388,6 @@ public class StockOrderController { return ResultVOUtils.success(); } - @AuthRuleAnnotation("") @PostMapping("/udiwms/stock/order/change") public BaseResponse stockOrderChange(@RequestBody AddStockOrderChangeRequest addStockOrderChangeRequest) { @@ -389,10 +406,9 @@ public class StockOrderController { originOrder.setReceiveStatus(0); //设置验收状态为未验收 originOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); originOrder.setLocStorageCode(addStockOrderChangeRequest.getLocStorageCode()); - BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(originOrder.getAction()); - String supplementOrderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("MS" + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); - + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + String supplementOrderNo = orderNo; originOrder.setId(supplementOrderNo); List supplementCodes = new ArrayList<>(); @@ -412,7 +428,7 @@ public class StockOrderController { } ); - + originOrder.setUpdateTime(new Date()); orderService.insertOrder(originOrder); codesTempService.insertCodesTemp(supplementCodes); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java index 97c48e34..5891c421 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/business/StockOrderDetailController.java @@ -259,16 +259,20 @@ public class StockOrderDetailController { companyProductRelevanceRequest.setDiType(1); companyProductRelevanceRequest.setCustomerId(getCustomerId()); List companyProductRelevanceResponses = new ArrayList<>(); - FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); - filterUdiInfoRequest.setId(stockSelectDataEntity.getRelId()); - filterUdiInfoRequest.setDiType(1); - List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); - if (udiRelevanceResponses.size() > 0) { - CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); - BeanUtils.copyProperties(udiRelevanceResponses.get(0), companyProductRelevanceResponse); - companyProductRelevanceResponse.setRlId(udiRelevanceResponses.get(0).getId()); - companyProductRelevanceResponses.add(companyProductRelevanceResponse); - } + if (companyProductRelevanceRequest.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { + FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest(); + filterUdiInfoRequest.setId(stockSelectDataEntity.getRelId()); + filterUdiInfoRequest.setDiType(1); + List udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiInfoRequest); + if (udiRelevanceResponses.size() > 0) { + CompanyProductRelevanceResponse companyProductRelevanceResponse = new CompanyProductRelevanceResponse(); + BeanUtils.copyProperties(udiRelevanceResponses.get(0), companyProductRelevanceResponse); + companyProductRelevanceResponse.setRlId(udiRelevanceResponses.get(0).getId()); + companyProductRelevanceResponse.setPrice(udiRelevanceResponses.get(0).getPrice()); + companyProductRelevanceResponses.add(companyProductRelevanceResponse); + } + } else + companyProductRelevanceResponses = companyProductRelevanceService.filterUdiGp(companyProductRelevanceRequest); if (companyProductRelevanceResponses != null && companyProductRelevanceResponses.size() > 0) { CompanyProductRelevanceResponse udiInfoEntity = companyProductRelevanceResponses.get(0); StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java index 44e873a5..7862b3d6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderController.java @@ -1,47 +1,47 @@ package com.glxp.api.admin.controller.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; -import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.api.admin.controller.inout.utils.DataTransUtil; -import com.glxp.api.admin.controller.inout.utils.InoutUtils; +import com.glxp.api.admin.dao.business.StockOrderDao; +import com.glxp.api.admin.dao.inout.CodesDao; +import com.glxp.api.admin.dao.inout.CodesTempDao; +import com.glxp.api.admin.dao.inout.OrderDao; +import com.glxp.api.admin.dao.inventory.InvWarehouseDao; import com.glxp.api.admin.entity.auth.AuthAdmin; -import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; +import com.glxp.api.admin.entity.basic.EntrustReceEntity; import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; -import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; -import com.glxp.api.admin.httpclient.ErpOrderClient; +import com.glxp.api.admin.httpclient.SpsDirectClient; +import com.glxp.api.admin.req.basic.BasicEntrustRecRequest; import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.req.inventory.FilterInvUserRequest; import com.glxp.api.admin.res.PageSimpleResponse; -import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.basic.BussinessTypeService; -import com.glxp.api.admin.service.basic.UdiInfoService; -import com.glxp.api.admin.service.basic.UdiRelevanceService; +import com.glxp.api.admin.service.basic.EntrustReceService; import com.glxp.api.admin.service.business.StockOrderService; import com.glxp.api.admin.service.info.CompanyService; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.*; import com.glxp.api.admin.service.inventory.InvWarehouseService; -import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.thread.InvProductsTrService; import com.glxp.api.admin.thread.IoTransInoutService; -import com.glxp.api.admin.util.CustomUtil; -import com.glxp.api.admin.util.FilterUdiUtils; +import com.glxp.api.admin.util.*; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; @@ -81,9 +81,23 @@ public class OrderController { InvWarehouseService invWarehouseService; @Resource WarehouseUserService warehouseUserService; - @Resource CustomerService customerService; + @Resource + EntrustReceService entrustReceService; + @Resource + GennerOrderUtils gennerOrderUtils; + @Resource + InvWarehouseDao invWarehouseDao; + @Resource + OrderDao orderDao; + @Resource + CodesTempDao codesTempDao; + @Resource + SpsDirectClient spsDirectClient; + @Resource + SystemParamConfigService systemParamConfigService; + @AuthRuleAnnotation("") @GetMapping("udiwms/inout/order/getUdi") @@ -140,14 +154,18 @@ public class OrderController { @AuthRuleAnnotation("") @PostMapping("udiwms/inout/order/delete") 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(); + if (StrUtil.isBlank(deleteRequest.getId()) && CollUtil.isEmpty(deleteRequest.getIds())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (CollUtil.isNotEmpty(deleteRequest.getIds())) { + orderService.deleteOrders(deleteRequest.getIds()); + } else { + orderService.deleteOrders(Collections.singletonList(deleteRequest.getId())); + } - orderService.deleteById(id); - orderDetailService.deleteByOrderId(id); return ResultVOUtils.success("删除成功"); } @@ -230,12 +248,43 @@ public class OrderController { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderFilterRequest.getAction()); StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(orderFilterRequest.getOrderId()); + if (stockOrderEntity == null || stockOrderEntity.getOrderIdFk() == null) { - return ResultVOUtils.error(500, "单据未找到!"); + + + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sps_sync_review_order"); + if (systemParamConfigEntity.getParamValue().equals("1")) { + BaseResponse baseResponse = spsDirectClient.downloadOrder(orderFilterRequest.getOrderId(), userId + "", orderFilterRequest.getAction()); + return baseResponse; + } else + return ResultVOUtils.error(500, "单据未找到!"); } else if (!bussinessTypeEntity.getLocalAction().equals(stockOrderEntity.getBillType())) { return ResultVOUtils.error(500, "非" + bussinessTypeEntity.getName() + "类型单据!"); + } else if (stockOrderEntity.getStatus().equals(ConstantStatus.SORDER_CHECKED)) { + if (StrUtil.isNotEmpty(stockOrderEntity.getLocStorageCode())) { + InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(stockOrderEntity.getLocStorageCode()); + FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest(); + filterInvUserRequest.setCode(invWarehouseEntity.getCode()); + filterInvUserRequest.setUserid(userId.longValue()); + List warehouseUserEntities = warehouseUserService.filterWarehouseUsers(filterInvUserRequest); + List entrustReceEntities = null; + if (!stockOrderEntity.isEntrustEnd()) { + BasicEntrustRecRequest basicEntrustRecRequest = new BasicEntrustRecRequest(); + basicEntrustRecRequest.setAction(stockOrderEntity.getBillType()); + basicEntrustRecRequest.setEntrustUser(userId + ""); + basicEntrustRecRequest.setCurInv(stockOrderEntity.getLocStorageCode()); + entrustReceEntities = entrustReceService.filterEntrustRec(basicEntrustRecRequest); + } else { + return ResultVOUtils.error(500, "单据已委托验收完成!"); + } + + + if (CollUtil.isEmpty(warehouseUserEntities) && CollUtil.isEmpty(entrustReceEntities)) { + return ResultVOUtils.error(500, "权限不足,无法验收!"); + } + } } else { - orderFilterRequest.setId(stockOrderEntity.getOrderIdFk()); + return ResultVOUtils.error(500, "非未验收单据!"); } if (orderFilterRequest.getOrderId() == null || "".equals(orderFilterRequest.getOrderId())) { orderFilterRequest.setId(null); @@ -244,8 +293,9 @@ public class OrderController { if (orderEntity.getReceiveStatus() == ConstantStatus.RECEIVE_ED) { return ResultVOUtils.error(500, "单据已验收!"); } - } + + List orderEntityList; if (orderFilterRequest.getStatus() == null || orderFilterRequest.getStatus() == 0) { orderFilterRequest.setStatus(4); @@ -270,14 +320,113 @@ public class OrderController { public BaseResponse updateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, BindingResult bindingResult) { - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } AuthAdmin authAdmin = customerService.getUserBean(); OrderEntity orderEntity = orderService.findById(updateExportStatusRequest.getOrderId()); + + if (orderEntity == null) { + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setOrderId(updateExportStatusRequest.getOrderId()); + orderFilterRequest.setWmsUserId(authAdmin.getId() + ""); + return spsDirectClient.reviewOrder(orderFilterRequest); + } + + if (orderEntity.getReceiveStatus() == ConstantStatus.RECEIVE_ED) { + return ResultVOUtils.error(500, "单据已验收!"); + } + if (updateExportStatusRequest.isEntrust() && updateExportStatusRequest.getEntrustId() != null) { + EntrustReceEntity entrustReceEntity = entrustReceService.findById(updateExportStatusRequest.getEntrustId()); + if (entrustReceEntity == null) { + return ResultVOUtils.error(500, "无验收权限!"); + } else { + + if (orderEntity.getFromType().intValue() != ConstantStatus.FROM_CHANGE && orderEntity.getFromType().intValue() != ConstantStatus.FROM_PEACE_CHANGE) { + transferOrder(orderEntity, entrustReceEntity); + } + if (!entrustReceEntity.isFinishRece()) { + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setOrderIdFk(updateExportStatusRequest.getOrderId()); + List stockOrderEntityLit = stockOrderService.findAllOrders(stockOrderFilterRequest); + if (!stockOrderEntityLit.isEmpty()) { + for (StockOrderEntity stockOrderEntity : stockOrderEntityLit) { + stockOrderEntity.setEntrustEnd(true); + stockOrderService.updateById(stockOrderEntity); + } + } + return ResultVOUtils.success("验收成功!"); + } else + + return updateReview(authAdmin, updateExportStatusRequest); + + } + + + } else + return updateReview(authAdmin, updateExportStatusRequest); + } + + + public void transferOrder(OrderEntity orderEntity, EntrustReceEntity entrustReceEntity) { + List warehouseEntities = codesService.findByReceiptId(orderEntity.getId()); + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(entrustReceEntity.getEntrustAction()); + OrderEntity supplementOrder = new OrderEntity(); + BeanUtil.copyProperties(orderEntity, supplementOrder); + //生成补单单号 + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + String supplementOrderNo = orderNo; + supplementOrder.setOriginUllageSupNo(orderEntity.getId()); + supplementOrder.setId(supplementOrderNo); + supplementOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + + + supplementOrder.setExportStatus(0); //设置导出状态为未导出 + supplementOrder.setContrastStatus(0);//设置erp校验状态为未校验 + supplementOrder.setReceiveStatus(0); //设置验收状态为未验收 + supplementOrder.setCorpOrderId(CustomUtil.getId() + "x"); + //修改往来单位及当前库存号 + supplementOrder.setFromCorpId(orderEntity.getLocStorageCode()); + supplementOrder.setLocStorageCode(orderEntity.getFromCorpId()); + String name = invWarehouseDao.getNameByCode(supplementOrder.getFromCorpId()); + supplementOrder.setFromCorp(name); + supplementOrder.setFromType(ConstantStatus.FROM_PEACE_CHANGE); + + supplementOrder.setMainAction(bussinessTypeEntity.getMainAction()); + supplementOrder.setAction(bussinessTypeEntity.getAction()); + supplementOrder.setErpFk(null); + //复制码表 + List supplementCodes = new ArrayList<>(); + warehouseEntities.forEach( + code -> { + WarehouseEntity supplementCode = new WarehouseEntity(); + BeanUtil.copyProperties(code, supplementCode); + supplementCode.setFromCorpId(supplementOrder.getFromCorpId()); + supplementCode.setFromCorp(supplementOrder.getFromCorp()); + supplementCode.setLocStorageCode(supplementOrder.getLocStorageCode()); + supplementCode.setOrderId(supplementOrderNo); + //查询补单设置 + supplementCode.setAction(bussinessTypeEntity.getSupplementOrderType()); + supplementCode.setMainAction(bussinessTypeEntity.getMainAction()); + supplementCode.setId(null); + supplementCodes.add(supplementCode); + + } + ); + //更新数据 + try { + orderDao.insertOrder(supplementOrder); + orderEntity.setUllageSupNo(supplementOrder.getId()); + orderDao.updateOrder(orderEntity); + codesTempDao.insertCodesTemp(supplementCodes); + } catch (Exception e) { + } + } + + + public BaseResponse updateReview(AuthAdmin authAdmin, UpdateExportStatusRequest updateExportStatusRequest) { + OrderEntity orderEntity = orderService.findById(updateExportStatusRequest.getOrderId()); orderEntity.setReceiveStatus(1); orderEntity.setReviewUser(authAdmin.getId().intValue()); orderEntity.setUpdateTime(new Date()); + orderEntity.setAuditTime(new Date()); orderService.updateOrder(orderEntity); List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); if (erpIds != null && erpIds.size() > 0) { @@ -287,8 +436,9 @@ public class OrderController { StockOrderEntity stockOrderEntity = stockOrderService.findOne(stockOrderFilterRequest); stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); stockOrderEntity.setReviewUser(authAdmin.getId().intValue()); + stockOrderEntity.setAuditTime(new Date()); + stockOrderEntity.setEntrustEnd(true); stockOrderService.updateById(stockOrderEntity); - } } else { StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); @@ -298,16 +448,36 @@ public class OrderController { for (StockOrderEntity stockOrderEntity : stockOrderEntityLit) { stockOrderEntity.setStatus(ConstantStatus.SORDER_DELIVER); stockOrderEntity.setReviewUser(authAdmin.getId().intValue()); + stockOrderEntity.setAuditTime(new Date()); stockOrderService.updateById(stockOrderEntity); } - } } invProductsTrService.genInvProducts(orderEntity.getId()); - return ResultVOUtils.success("更新成功"); } + //前端直接验收完成 + @AuthRuleAnnotation("") + @PostMapping("/spms/inout/order/web/updateStatus") + public BaseResponse webUpdateStatus(@RequestBody UpdateExportStatusRequest updateExportStatusRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + + StockOrderEntity temp = stockOrderService.findByBillNo(updateExportStatusRequest.getStockOrderId()); + if (temp == null) { + return ResultVOUtils.error(500, "未找到该业务单据"); + } + updateExportStatusRequest.setOrderId(temp.getOrderIdFk()); + + AuthAdmin authAdmin = customerService.getUserBean(); + return updateReview(authAdmin, updateExportStatusRequest); + } + + @AuthRuleAnnotation("") @GetMapping("/udiwms/inout/order/filterCode") public BaseResponse filterOrderByCode(OrderFilterByCodeRequest orderFilterByCodeRequest, @@ -513,4 +683,34 @@ public class OrderController { } } + /** + * 查询单据删除页面数据 + * + * @param billNo + * @return + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/filterOrderForDelete") + public BaseResponse filterOrderForDelete(String billNo) { + if (StrUtil.isBlank(billNo)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + List orderEntities = orderService.filterOrderForDelete(billNo); + PageInfo pageInfo = new PageInfo<>(orderEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(orderEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/order/updateOrderInfo") + public BaseResponse updateOrderInfo(@RequestBody OrderEditRequest orderEditRequest) { + if (null == orderEditRequest || StrUtil.isBlank(orderEditRequest.getActDate()) || CollUtil.isEmpty(orderEditRequest.getOrderIds())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + orderService.updateOrderInfo(orderEditRequest.getActDate(), orderEditRequest.getAuditTime(), orderEditRequest.getOrderIds()); + return ResultVOUtils.success(); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java index 05c048ed..aba762ae 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/OrderDetailController.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.controller.inout; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; @@ -20,6 +21,7 @@ import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.admin.entity.thrsys.ThrOrderEntity; import com.glxp.api.admin.httpclient.ErpOrderClient; +import com.glxp.api.admin.httpclient.SpsDirectClient; import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.info.SystemParamConfigRequest; @@ -109,6 +111,8 @@ public class OrderDetailController { BussinessOriginTypeService bussinessOriginTypeService; @Resource CustomerService customerService; + @Resource + SpsDirectClient spsDirectClient; @AuthRuleAnnotation("") @@ -167,14 +171,14 @@ public class OrderDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + String billType = null; - if(StrUtil.isNotEmpty(filterErpOrderRequest.getBillAction())){ + if (StrUtil.isNotEmpty(filterErpOrderRequest.getBillAction())) { BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(filterErpOrderRequest.getBillAction()); billType = bussinessTypeEntity.getLocalAction(); - }else { + } else { billType = filterErpOrderRequest.getLocalAction(); } - StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); stockOrderFilterRequest.setBillNo(filterErpOrderRequest.getBillNo()); stockOrderFilterRequest.setStartTime(filterErpOrderRequest.getStartDate()); @@ -373,6 +377,43 @@ public class OrderDetailController { } + @AuthRuleAnnotation("") + @PostMapping("/udiwms/erpOrder/updateBind") + public BaseResponse updateBind(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + erpOrderEntity.setGoodsid(erpOrderEntity.getBindRlFk()); + boolean b = orderDetailService.updateErpOrder(erpOrderEntity); + erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); + codesService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); + if (b) { + return ResultVOUtils.success("绑定成功"); + } else { + return ResultVOUtils.error(500, "绑定失败"); + } + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/erpOrder/updateBindSup") + public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); + boolean b = orderDetailService.updateErpOrder(erpOrderEntity); + erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); + + codesService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); + if (b) { + return ResultVOUtils.success("绑定成功"); + } else { + return ResultVOUtils.error(500, "绑定失败"); + } + } + @AuthRuleAnnotation("") @GetMapping("/warehouse/getMyErpOrders") public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest, @@ -393,7 +434,6 @@ public class OrderDetailController { return ResultVOUtils.success(pageSimpleResponse); } - @AuthRuleAnnotation("") @PostMapping("/warehouse/deleteErpOrder") public BaseResponse deleteErpOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { @@ -409,7 +449,6 @@ public class OrderDetailController { } } - @AuthRuleAnnotation("") @GetMapping(value = "/warehouse/inout/order/detail")//TODO 订单详情 public BaseResponse orderDetail(FilterErpOrderRequest filterErpOrderRequest, @@ -423,10 +462,12 @@ public class OrderDetailController { filterErpOrderRequest.setPage(1); filterErpOrderRequest.setLimit(100); List erpOrderEntities = orderDetailService.filterMyErpOrder(filterErpOrderRequest); + if (CollUtil.isEmpty(erpOrderEntities)) { + return spsDirectClient.downloadOrderDetail(filterErpOrderRequest.getOrderId(), customerService.getUserId() + ""); + } return ResultVOUtils.success(erpOrderEntities); } - @AuthRuleAnnotation("") @GetMapping(value = "/warehouse/inout/order/uploadOrder") public BaseResponse uploadOrder(FilterErpOrderRequest filterErpOrderRequest, @@ -478,44 +519,6 @@ public class OrderDetailController { } } - @AuthRuleAnnotation("") - @PostMapping("/udiwms/erpOrder/updateBind") - public BaseResponse updateBind(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - erpOrderEntity.setGoodsid(erpOrderEntity.getBindRlFk()); - boolean b = orderDetailService.updateErpOrder(erpOrderEntity); - erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); - codesService.updateRelId(erpOrderEntity.getBindRlFk(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); - if (b) { - return ResultVOUtils.success("绑定成功"); - } else { - return ResultVOUtils.error(500, "绑定失败"); - } - } - - @AuthRuleAnnotation("") - @PostMapping("/udiwms/erpOrder/updateBindSup") - public BaseResponse updateBindSup(@RequestBody ErpOrderEntity erpOrderEntity, BindingResult bindingResult) { - - if (bindingResult.hasErrors()) { - return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); - } - erpOrderEntity.setBindSupStatus(ConstantStatus.ORDER_DETAIL_SUP_ONE); - boolean b = orderDetailService.updateErpOrder(erpOrderEntity); - erpOrderEntity = orderDetailService.findById(erpOrderEntity.getId() + ""); - - codesService.updateSupId(erpOrderEntity.getSupId(), erpOrderEntity.getNameCode(), erpOrderEntity.getOrderIdFk()); - if (b) { - return ResultVOUtils.success("绑定成功"); - } else { - return ResultVOUtils.error(500, "绑定失败"); - } - } - - @AuthRuleAnnotation("") @PostMapping("/warehouse/selectErpOrder") public BaseResponse selectErpOrder(@RequestBody ImportErpOrderRequest importErpOrderRequest, BindingResult bindingResult) { @@ -631,7 +634,32 @@ public class OrderDetailController { } } +// if (!bussinessTypeEntity.getCheckEnable() +// || (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE && !bussinessTypeEntity.isCheckChange())) { //不需要校验,则直接生成库存 +// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); +// orderService.updateOrder(orderEntity); +// transInoutService.checkMutiDi(orderEntity.getId()); +// if (orderEntity.getContrastStatus() != ConstantStatus.ORDER_CHECK_FAIL) { +// orderService.updateOrderStatus(orderEntity.getId(), ConstantStatus.ORDER_STATUS_SUCCESS); +// if (orderEntity.getCustomerId().equals(Constant.SYSTEM_CUSTOMER_ID)) { +// invProductsTrService.genInvProducts(orderEntity.getId()); +// } +// transInoutService.printOrder(orderEntity.getId()); +// } +// } else { +// +// List erpIds = DataTransUtil.strToErpList(orderEntity.getErpFk()); +// if (erpIds != null && erpIds.size() > 0) { //已经绑定ERPID,则自动校验 +// List erpOrderEntities = thrDataService.getStockOrders(erpIds); +// checkOrderUtils.check(orderEntity.getId(), erpOrderEntities); +// } else { +// //未绑定Id,则更改状态,等待校验 +// orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_UN); +// orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); +// orderService.updateOrder(orderEntity); +// } +// +// } return ResultVOUtils.success("后台已开始校验,请稍后刷新重试!"); } - } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java index cd681a4b..02972069 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/WareHouseController.java @@ -10,6 +10,7 @@ import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; import com.glxp.api.admin.controller.business.StockOrderController; import com.glxp.api.admin.dao.auth.AuthLicenseDao; +import com.glxp.api.admin.dao.inventory.InvWarehouseDao; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.auth.AuthLicense; import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; @@ -18,12 +19,10 @@ import com.glxp.api.admin.entity.basic.UdiEntity; import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.info.CompanyEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; -import com.glxp.api.admin.entity.inout.OrderEntity; -import com.glxp.api.admin.entity.inout.WarehouseEntity; -import com.glxp.api.admin.entity.inout.WarehouseUserEntity; +import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; import com.glxp.api.admin.exception.JsonException; +import com.glxp.api.admin.httpclient.SpsDirectClient; import com.glxp.api.admin.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.admin.req.inout.*; import com.glxp.api.admin.res.PageSimpleResponse; @@ -107,6 +106,10 @@ public class WareHouseController { private UdiInfoService udiInfoService; @Resource InvPreInProductDetailService invPreInProductDetailService; + @Resource + SpsDirectClient spsDirectClient; + @Resource + InvWarehouseDao invWarehouseService; @AuthRuleAnnotation("") @GetMapping("admin/warehouse/inout/list") @@ -188,6 +191,11 @@ public class WareHouseController { warehouseQueryRequest.setOrderId(stockOrderEntity.getOrderIdFk()); } List warehouseEntityList = codesService.findByOrderId(warehouseQueryRequest); + if (CollUtil.isEmpty(warehouseEntityList)) { + return spsDirectClient.downloadCodes(customerService.getUserId() + "", warehouseQueryRequest.getOrderId()); + } + + PageInfo pageInfo; pageInfo = new PageInfo<>(warehouseEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); @@ -455,16 +463,16 @@ public class WareHouseController { boolean checkSuccess = true; String lostMsg = ""; //校验条码完整性 - if (!checkUdi.isAllowNoBatch() && StrUtil.isEmpty(udiEntity.getBatchNo())) { + if ("是".equals(checkUdi.getScbssfbhph()) && StrUtil.isEmpty(udiEntity.getBatchNo())) { checkSuccess = false; lostMsg = lostMsg + ",批次号"; } - if (!checkUdi.isAllowNoProduct() && StrUtil.isEmpty(udiEntity.getProduceDate())) { + if ("是".equals(checkUdi.getScbssfbhscrq()) && StrUtil.isEmpty(udiEntity.getProduceDate())) { checkSuccess = false; lostMsg = lostMsg + ",生产日期"; } - if (!checkUdi.isAllowNoExpire() && StrUtil.isEmpty(udiEntity.getExpireDate())) { + if ("是".equals(checkUdi.getScbssfbhsxrq()) && StrUtil.isEmpty(udiEntity.getExpireDate())) { checkSuccess = false; lostMsg = lostMsg + ",失效日期"; } @@ -525,7 +533,6 @@ public class WareHouseController { return null; } - //网页端数据上传调用接口 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/addOrderWeb") @@ -953,12 +960,20 @@ public class WareHouseController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } + Integer userId = customerService.getUserId(); try { - String customerId = getCustomerId(); - Integer userId = customerService.getUserId(); - postOrderRequest.setCustomerId(customerId); - postOrderRequest.setUserId(userId); - ioTransInoutService.creatOrder(postOrderRequest, null); + SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("sps_sync_upload_order"); + if (systemParamConfigEntity.getParamValue().equals("1")) { + postOrderRequest.setWmsUserId(userId + ""); + return spsDirectClient.uploadPdaOrder(postOrderRequest); + } else { + String customerId = getCustomerId(); + postOrderRequest.setCustomerId(customerId); + postOrderRequest.setUserId(userId); + ioTransInoutService.creatOrder(postOrderRequest, null); + } + + } catch (Exception e) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } @@ -1067,6 +1082,8 @@ public class WareHouseController { public BaseResponse deleteWarehouseUser(Integer id) { if (null == id) return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + WarehouseUserEntity warehouseUserEntity = warehouseUserService.selectById(id); + invWarehouseService.updateTime(warehouseUserEntity.getCode(), new Date()); warehouseUserService.deleteWarehouseUser(id); return ResultVOUtils.success(); } @@ -1076,6 +1093,8 @@ public class WareHouseController { public BaseResponse deleteWarehouseBussinessType(Integer id) { if (null == id) return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + WarehouseBussinessTypeEntity warehouseBussinessTypeEntity = warehouseBussinessTypeService.selectById(id); + invWarehouseService.updateTime(warehouseBussinessTypeEntity.getCode(), new Date()); warehouseBussinessTypeService.deleteWarehouseByssuinessType(id); return ResultVOUtils.success(); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/CheckOrderUtils.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/CheckOrderUtils.java index 0eb6cff2..d153271e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/CheckOrderUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inout/utils/CheckOrderUtils.java @@ -57,7 +57,7 @@ public class CheckOrderUtils { filterUdiInfoRequest.setNameCode(myErpOrder.getNameCode()); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(myErpOrder.getBindRlFk()); for (ErpOrderEntity vailOrderEntity : vailOrderEntities) { - if(!vailOrderEntity.isCheckSuccess()){ + if (!vailOrderEntity.isCheckSuccess()) { if (checkId(vailOrderEntity, udiRelevanceResponse, bussinessTypeEntity) == null && checkBatchNo(vailOrderEntity, myErpOrder) == null && checkProductDate(vailOrderEntity, myErpOrder) == null @@ -192,6 +192,10 @@ public class CheckOrderUtils { if (bussinessTypeEntity.isSecCheckBalacne()) { return ConstantStatus.SORDER_CHECKED; } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) { + if (bussinessTypeEntity.isSecCheckSp()) { + return ConstantStatus.SORDER_CHECKED; + } } } else { return ConstantStatus.SORDER_DELIVER; diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java index 329d8b87..c921bb20 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvProductsController.java @@ -55,8 +55,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import com.glxp.api.admin.constant.Constant; - import static com.glxp.api.admin.constant.Constant.SYSTEM_CUSTOMER_ID; @@ -188,6 +186,7 @@ public class InvProductsController { } + InvProductStatResponse invProductStatResponse = new InvProductStatResponse(); //统计预入库数量 FilterInvProductDetailRequest temp1 = new FilterInvProductDetailRequest(); @@ -261,11 +260,9 @@ public class InvProductsController { } - @AuthRuleAnnotation("") @GetMapping("spms/inv/products/order/trace") public BaseResponse filterOrderTrace(FilterCodeTraceRequest filterCodeTraceRequest) { - if (filterCodeTraceRequest.getCode() == null) { return ResultVOUtils.success(); } @@ -279,11 +276,9 @@ public class InvProductsController { } List udiInfoEntities = udiInfoService.findByUuids(udiInfoBean.getUuid()); FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); -// String code = null; if (udiInfoEntities != null && udiInfoEntities.size() > 1) { filterInvProductDetailRequest.setProductIdFk(udiInfoBean.getId() + ""); filterInvProductDetailRequest.setBatchNo(udiEntity.getBatchNo()); - } else { filterInvProductDetailRequest.setOriginCode(filterCodeTraceRequest.getCode()); } @@ -312,7 +307,6 @@ public class InvProductsController { return ResultVOUtils.error(500, "未查询到数据!"); } - } /** diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrCorpsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrCorpsController.java index d4ccb78f..b4d2c7bf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrCorpsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrCorpsController.java @@ -3,18 +3,17 @@ package com.glxp.api.admin.controller.thrsys; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.thrsys.*; import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.thrsys.FilterThrCorpRequest; -import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest; import com.glxp.api.admin.req.thrsys.PostThrCorpRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.basic.ErpUnitsResponse; import com.glxp.api.admin.service.thrsys.ThrCorpImportLogService; import com.glxp.api.admin.service.thrsys.ThrCorpService; import com.glxp.api.admin.thread.ThrCorpsDlService; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.RedisUtil; import com.glxp.api.common.enums.ResultEnum; diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrInvProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrInvProductsController.java index 5700e9c6..257a307c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrInvProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrInvProductsController.java @@ -2,9 +2,9 @@ package com.glxp.api.admin.controller.thrsys; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.thrsys.ThrInvProductsEntity; import com.glxp.api.admin.entity.thrsys.ThrInvProductsImportLogEntity; -import com.glxp.api.admin.req.basic.BasicUnitMaintainFilterRequest; import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inventory.ErpOnhandRequest; import com.glxp.api.admin.req.thrsys.FilterThrInvProductsRequest; @@ -14,7 +14,6 @@ import com.glxp.api.admin.res.inventory.ErpInvProductResponse; import com.glxp.api.admin.service.thrsys.ThrInvProductsImportLogService; import com.glxp.api.admin.service.thrsys.ThrInvProductsService; import com.glxp.api.admin.thread.ThrInvProductsDlService; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.RedisUtil; import com.glxp.api.common.enums.ResultEnum; diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrOrderController.java index 08aa300c..3a0c7d21 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrOrderController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.TypeReference; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.ErpOrderEntity; import com.glxp.api.admin.entity.inout.FilterErpOrderRequest; @@ -21,7 +22,6 @@ import com.glxp.api.admin.service.thrsys.ThrOrderImportLogService; import com.glxp.api.admin.service.thrsys.ThrOrderService; import com.glxp.api.admin.thread.ThrOrderImportService; import com.glxp.api.admin.thread.ThrOrdersDlService; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.HttpClient; import com.glxp.api.admin.util.RedisUtil; @@ -36,7 +36,6 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; @RestController public class ThrOrderController { diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrProductsController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrProductsController.java index 8f3ea414..f5a88161 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrProductsController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/thrsys/ThrProductsController.java @@ -3,6 +3,7 @@ package com.glxp.api.admin.controller.thrsys; import com.github.pagehelper.PageInfo; import com.glxp.api.admin.annotation.AuthRuleAnnotation; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BasicThirdSysEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsImportLogEntity; @@ -18,7 +19,6 @@ import com.glxp.api.admin.service.basic.UdiRelevanceService; import com.glxp.api.admin.service.thrsys.ThrProductsImportLogService; import com.glxp.api.admin.service.thrsys.ThrProductsService; import com.glxp.api.admin.thread.ThrProductsDlService; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.RedisUtil; import com.glxp.api.common.enums.ResultEnum; diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java index eadd5ced..f92fd6aa 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/auth/AuthAdminDao.java @@ -16,6 +16,8 @@ public interface AuthAdminDao { */ List listAdminPage(AuthAdminQueryRequest authAdminQueryRequest); + boolean replaceAuthAdmin(AuthAdmin authAdmin); + /** * 根据id查询 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java index 44d90e34..e306d044 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/business/StockOrderDao.java @@ -42,10 +42,20 @@ public interface StockOrderDao { List selectSupplementOrderList(); /** - * 根据ID查询单据数据 + * 根据ID查询单据 * * @param id * @return */ + StockOrderEntity selectById(@Param("id") String id); + + /** + * 根据扫码单据号删除业务单据 + * + * @param orderIdFk + * @return + */ + boolean deleteByOrderIdFk(String orderIdFk); + StockOrderEntity findById(@Param("id") String id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java index e0f9d3d8..12d45ea8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/OrderDao.java @@ -53,6 +53,24 @@ public interface OrderDao { List findAllByTime(OrderQueryRequest orderFilterRequest); - Integer selectExportStatus(@Param("id") String id); + + /** + * 根据扫码单据ID和业务单据ID查询已完成单据 + * + * @param billNo + * @return + */ + OrderEntity selectByBillNo(String billNo); + + List selectByIds(@Param("orderIds") List orderIds); + + /** + * 批量更新单据信息 + * + * @param actDate + * @param orderIds + * @return + */ + boolean updateOrderTime(@Param("actDate") String actDate, @Param("auditTime") String auditTime, @Param("updateTime") String updateTime, @Param("orderIds") List orderIds); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java index db0b0f7f..043bfc13 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseBussinessTypeDao.java @@ -1,11 +1,14 @@ package com.glxp.api.admin.dao.inout; import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest; import org.apache.ibatis.annotations.Param; import java.util.List; public interface WarehouseBussinessTypeDao { + WarehouseBussinessTypeEntity selectById(Integer id); + int deleteByPrimaryKey(Integer id); int insert(WarehouseBussinessTypeEntity record); @@ -30,5 +33,7 @@ public interface WarehouseBussinessTypeDao { List selectListByCode(@Param("code") String code); + List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest); + void deleteByCode(@Param("code") String code); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java index 0fa00353..5d3f395a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inout/WarehouseUserDao.java @@ -9,7 +9,7 @@ import java.util.List; public interface WarehouseUserDao { int deleteByPrimaryKey(Integer id); - List filterWarehouseUsers(FilterInvUserRequest filterInvUserRequest); + List filterList(FilterInvUserRequest filterInvUserRequest); int insert(WarehouseUserEntity record); diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java index aabe26ce..f4b4661d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDao.java @@ -33,4 +33,5 @@ public interface InvProductDao { //库存统计查询 List stockStatistics(FilterInvProductRequest filterInvProductRequest); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java index 1169133b..43f27f93 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvProductDetailDao.java @@ -29,4 +29,13 @@ public interface InvProductDetailDao { InvProductDetailEntity isExit(FilterInvProductDetailRequest filterInvProductDetailRequest); + + /** + * 根据orderId删除库存详情 + * + * @param orderIdFk + */ + boolean deleteByOrderId(@Param("orderIdFk") String orderIdFk); + + boolean deleteByOrderIdAndCode(@Param("orderId") String orderId, @Param("code") String code); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java index fb108b6c..94539754 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvWarehouseDao.java @@ -4,6 +4,7 @@ import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest; import org.apache.ibatis.annotations.Param; +import java.util.Date; import java.util.List; public interface InvWarehouseDao { @@ -43,4 +44,6 @@ public interface InvWarehouseDao { */ boolean updateThridId(@Param("id") Integer id, @Param("thridWarehouseId") String thridWarehouseId, @Param("sysId") String sysId); + boolean updateTime(@Param("code") String code, @Param("updateTime") Date updateTime); + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java index 28e83ca2..9b4df919 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/business/StockOrderEntity.java @@ -4,10 +4,10 @@ import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import java.math.BigDecimal; +import java.util.Date; @Data public class StockOrderEntity { - private String id; private String billNo; @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") @@ -35,4 +35,12 @@ public class StockOrderEntity { private Integer createUser; private Integer reviewUser; + //审核时间 + private Date auditTime; + //更新时间 + private Date updateTime; + //委托验收已完成 + private boolean entrustEnd; + + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java index d3544a52..e07dcf44 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inout/OrderEntity.java @@ -47,9 +47,9 @@ public class OrderEntity { private boolean outChangeEnable; private String originUllageSupNo; private Date updateTime; - private boolean preCheck; + //审核时间 + private Date auditTime; private String thirdBillNo; - } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/SpGetHttpClient.java similarity index 99% rename from api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java rename to api-admin/src/main/java/com/glxp/api/admin/httpclient/SpGetHttpClient.java index 29ca512b..83cc74c1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/SpGetHttp.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/SpGetHttpClient.java @@ -1,4 +1,4 @@ -package com.glxp.api.admin.util; +package com.glxp.api.admin.httpclient; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; @@ -24,7 +24,7 @@ import java.util.List; import java.util.Map; @Service -public class SpGetHttp { +public class SpGetHttpClient { @Value("${SPSYNC_IP}") private String spsSyncUrl; diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/SpsDirectClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/SpsDirectClient.java new file mode 100644 index 00000000..cc4d5d36 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/SpsDirectClient.java @@ -0,0 +1,92 @@ +package com.glxp.api.admin.httpclient; + +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.TypeReference; +import com.glxp.api.admin.req.inout.OrderFilterRequest; +import com.glxp.api.admin.req.inout.PostOrderRequest; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@Service +public class SpsDirectClient { + @Value("${SPSYNC_IP}") + private String spsSyncUrl; + + + //单据验收 + public BaseResponse reviewOrder(OrderFilterRequest orderFilterRequest) { + String result = UHttpClient.postJson(spsSyncUrl + "/sps/review/download/order/finsih", orderFilterRequest); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference>() { + }); + return response; + + } + + //获取未验收的单据 + public BaseResponse downloadOrder(String orderId, String wmsUserId, String action) { + Map paramMap = new HashMap<>(16); + paramMap.put("wmsUserId", wmsUserId); + paramMap.put("orderId", orderId); + paramMap.put("action", action); + String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/order", paramMap); + try { + BaseResponse data = JSONObject.parseObject(response, new TypeReference() { + }); + return data; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接失败!"); + } + } + + //获取未验收的单据详情 + public BaseResponse downloadOrderDetail(String orderId, String wmsUserId) { + Map paramMap = new HashMap<>(16); + paramMap.put("wmsUserId", wmsUserId); + paramMap.put("orderId", orderId); + String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/orderDetail", paramMap); + try { + BaseResponse data = JSONObject.parseObject(response, new TypeReference() { + }); + return data; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接失败!"); + } + } + + + //获取未验收的单据条码 + public BaseResponse downloadCodes(String wmsUserId, String orderId) { + Map paramMap = new HashMap<>(16); + paramMap.put("wmsUserId", wmsUserId); + paramMap.put("orderId", orderId); + String response = UHttpClient.mipsGet(spsSyncUrl + "/sps/review/download/codes", paramMap); + try { + BaseResponse data = JSONObject.parseObject(response, new TypeReference() { + }); + return data; + } catch (Exception e) { + e.printStackTrace(); + return ResultVOUtils.error(500, "连接失败!"); + } + } + + + //单据上传 + public BaseResponse uploadPdaOrder(PostOrderRequest postOrderRequest) { + String result = UHttpClient.postJson(spsSyncUrl + "/sps/pda/upload/orders", postOrderRequest); + BaseResponse response = + JSONObject.parseObject(result, new TypeReference>() { + }); + return response; + + } + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java index ddf0b2c7..400e0317 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/UHttpClient.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.httpclient; +import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,7 +43,7 @@ public class UHttpClient { factory.setConnectTimeout(600000); factory.setReadTimeout(600000); RestTemplate restTemplate = new RestTemplate(factory); - String json = JSONObject.toJSON(object).toString(); + String json = JSONUtil.toJsonStr(object); logger.info(url + "\n" + json); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/json"); diff --git a/api-admin/src/main/java/com/glxp/api/admin/httpclient/UdiwmsOrderResponse.java b/api-admin/src/main/java/com/glxp/api/admin/httpclient/res/UdiwmsOrderResponse.java similarity index 69% rename from api-admin/src/main/java/com/glxp/api/admin/httpclient/UdiwmsOrderResponse.java rename to api-admin/src/main/java/com/glxp/api/admin/httpclient/res/UdiwmsOrderResponse.java index eb919053..ac17f60d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/httpclient/UdiwmsOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/httpclient/res/UdiwmsOrderResponse.java @@ -1,4 +1,4 @@ -package com.glxp.api.admin.httpclient; +package com.glxp.api.admin.httpclient.res; import lombok.Data; diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterInvBusTypeRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterInvBusTypeRequest.java new file mode 100644 index 00000000..1d993e9b --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/basic/FilterInvBusTypeRequest.java @@ -0,0 +1,11 @@ +package com.glxp.api.admin.req.basic; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +@Data +public class FilterInvBusTypeRequest extends ListPageRequest { + private String lastUpdateTime; + private Integer id; + private String code; +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderEditRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderEditRequest.java new file mode 100644 index 00000000..06d9e288 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderEditRequest.java @@ -0,0 +1,19 @@ +package com.glxp.api.admin.req.inout; + +import lombok.Data; + +import java.util.List; + +@Data +public class OrderEditRequest { + + //创建时间 + private String actDate; + + //审核时间 + private String auditTime; + + //扫码单据号 + private List orderIds; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java index 91fd707d..d2203a34 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/OrderFilterRequest.java @@ -38,4 +38,7 @@ public class OrderFilterRequest extends ListPageRequest { private Integer unionUser; private String thirdBillNo; + private String wmsUserId; + private String wmsUserName; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java index ce02a7f7..a7207526 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/PostOrderRequest.java @@ -13,6 +13,8 @@ public class PostOrderRequest { private String customerId; private Integer userId; + private String wmsUserId; + private String wmsUserName; public List getPostOrder() { return postOrders; diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inout/UpdateExportStatusRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inout/UpdateExportStatusRequest.java index 02799f41..51d59c9f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inout/UpdateExportStatusRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inout/UpdateExportStatusRequest.java @@ -4,8 +4,10 @@ import lombok.Data; @Data public class UpdateExportStatusRequest { - private String orderId; private Integer exportStatus; - + private Integer checkStatus; + private String stockOrderId; + private Integer entrustId; + private boolean entrust; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java index 8873c85b..846d5fa8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvProductDetailRequest.java @@ -8,7 +8,6 @@ import java.util.List; @Data public class FilterInvProductDetailRequest extends ListPageRequest { - private String id; private String code; private String productIdFk; @@ -25,9 +24,11 @@ public class FilterInvProductDetailRequest extends ListPageRequest { private String stockIdFk; private String supId; private String originCode; + private String orderIdFk; private String invStorageCode; private String invWarehouseCode; private List invCodes; + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvUserRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvUserRequest.java index 12234b79..640b8b79 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvUserRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvUserRequest.java @@ -1,9 +1,10 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; @Data -public class FilterInvUserRequest { +public class FilterInvUserRequest extends ListPageRequest { private Integer id; @@ -14,4 +15,5 @@ public class FilterInvUserRequest { private String username; private Boolean isDirector; + private String lastUpdateTime; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/res/basic/SpsSyncDataResponse.java b/api-admin/src/main/java/com/glxp/api/admin/res/basic/SpsSyncDataResponse.java index ad8af38c..f2d159d7 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/res/basic/SpsSyncDataResponse.java +++ b/api-admin/src/main/java/com/glxp/api/admin/res/basic/SpsSyncDataResponse.java @@ -1,9 +1,12 @@ package com.glxp.api.admin.res.basic; +import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.api.admin.entity.basic.CompanyProductRelevanceEntity; import com.glxp.api.admin.entity.basic.UdiInfoEntity; import com.glxp.api.admin.entity.basic.UdiRelevanceEntity; +import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.entity.inout.WarehouseUserEntity; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.entity.thrsys.*; import lombok.Data; @@ -23,4 +26,9 @@ public class SpsSyncDataResponse { List thrOrderEntities; List companyProductRelevanceEntities; List udiRelevanceEntities; + + + List warehouseBussinessTypeEntities; + List warehouseUserEntities; + List authAdminList; } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java index 1bbf5f0d..4d67586d 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/business/impl/StockOrderServiceImpl.java @@ -23,7 +23,7 @@ import com.glxp.api.admin.entity.business.StockOrderPrintEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity; -import com.glxp.api.admin.httpclient.UdiwmsOrderResponse; +import com.glxp.api.admin.httpclient.res.UdiwmsOrderResponse; import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail; import com.glxp.api.admin.httpclient.req.UdiwmsOrderRequest; import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest; diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java index f86a67c4..c6788a7b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/OrderService.java @@ -48,6 +48,7 @@ public interface OrderService { OrderEntity findById(String orderId); + List findCodesById(String orderId); List filterListByOrder(List orderList); @@ -79,4 +80,36 @@ public interface OrderService { * @return */ List checkSubmitOrder(List orderResponseList); + /** + * 查询单据删除页面订单列表 + * + * @param billNo + * @return + */ + List filterOrderForDelete(String billNo); + + /** + * 删除单据 + * + * @param ids + */ + void deleteOrders(List ids); + + /** + * 批量更新单据信息 + * + * @param actDate + * @param auditTime + * @param orderIds + * @return + */ + boolean updateOrderInfo(String actDate, String auditTime, List orderIds); + + /** + * 查询指定单据关联的所有单据 + * + * @param orderEntity + * @param orders + */ + public void getAllOrder(OrderEntity orderEntity, List orders); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java index e36d390f..a4ec5808 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseBussinessTypeService.java @@ -2,12 +2,13 @@ package com.glxp.api.admin.service.inout; import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest; import com.glxp.api.admin.res.basic.BussinessTypResponse; import java.util.List; public interface WarehouseBussinessTypeService { - + WarehouseBussinessTypeEntity selectById(Integer id); /** * 根据code查询数据列表 @@ -17,6 +18,8 @@ public interface WarehouseBussinessTypeService { */ List getListByCode(String code); + List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest); + /** * 添加仓库信息-单据类型关联数据 * diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java index f0487e1a..6485e65b 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/WarehouseUserService.java @@ -15,6 +15,9 @@ public interface WarehouseUserService { * @param code 仓位码 * @return */ + + WarehouseUserEntity selectById(Integer id); + List getListByCode(String code); List selectCodeByUser(String userId); diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java index cf4f0883..73b5cdcd 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/OrderServiceImpl.java @@ -4,13 +4,19 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.constant.ConstantType; import com.glxp.api.admin.dao.basic.BasicThirdSysBusApiDao; import com.glxp.api.admin.dao.basic.BussinessTypeDao; import com.glxp.api.admin.dao.business.StockOrderDao; +import com.glxp.api.admin.dao.business.StockOrderDetailDao; import com.glxp.api.admin.dao.inout.CodesDao; import com.glxp.api.admin.dao.inout.CodesTempDao; import com.glxp.api.admin.dao.inout.OrderDao; +import com.glxp.api.admin.dao.inout.OrderDetailDao; +import com.glxp.api.admin.dao.inventory.InvProductDao; +import com.glxp.api.admin.dao.inventory.InvProductDetailDao; import com.glxp.api.admin.dao.inventory.InvWarehouseDao; import com.glxp.api.admin.entity.basic.BasicThirdSysBusApiEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; @@ -18,29 +24,32 @@ import com.glxp.api.admin.entity.business.StockOrderEntity; import com.glxp.api.admin.entity.info.SystemParamConfigEntity; import com.glxp.api.admin.entity.inout.OrderEntity; import com.glxp.api.admin.entity.inout.WarehouseEntity; +import com.glxp.api.admin.entity.inventory.InvProductDetailEntity; +import com.glxp.api.admin.entity.inventory.InvProductEntity; +import com.glxp.api.admin.req.business.StockOrderFilterRequest; import com.glxp.api.admin.req.inout.OrderFilterRequest; import com.glxp.api.admin.req.inout.OrderQueryRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductDetailRequest; +import com.glxp.api.admin.req.inventory.FilterInvProductRequest; import com.glxp.api.admin.res.inout.StockOrderResponse; import com.glxp.api.admin.service.info.SystemParamConfigService; import com.glxp.api.admin.service.inout.OrderService; -import com.glxp.api.admin.util.CustomUtil; -import com.glxp.api.admin.util.GennerOrderUtils; -import com.glxp.api.admin.util.MyStrUtil; -import com.glxp.api.admin.util.OrderNoTypeBean; +import com.glxp.api.admin.util.*; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; @Slf4j @Service public class OrderServiceImpl implements OrderService { - @Resource OrderDao orderDao; @Resource @@ -59,6 +68,14 @@ public class OrderServiceImpl implements OrderService { GennerOrderUtils gennerOrderUtils; @Resource private BasicThirdSysBusApiDao basicThirdSysBusApiDao; + @Resource + private InvProductDao invProductDao; + @Resource + private InvProductDetailDao invProductDetailDao; + @Resource + private StockOrderDetailDao stockOrderDetailDao; + @Resource + private OrderDetailDao orderDetailDao; @Override public List listOrders(OrderQueryRequest orderQueryRequest) { @@ -151,8 +168,11 @@ public class OrderServiceImpl implements OrderService { if (orderFilterRequest == null) { return Collections.emptyList(); } - int offset = (orderFilterRequest.getPage() - 1) * orderFilterRequest.getLimit(); - PageHelper.offsetPage(offset, orderFilterRequest.getLimit()); + if(orderFilterRequest.getPage()!=null){ + int offset = (orderFilterRequest.getPage() - 1) * orderFilterRequest.getLimit(); + PageHelper.offsetPage(offset, orderFilterRequest.getLimit()); + } + return orderDao.filterListOr(orderFilterRequest); } @@ -178,6 +198,11 @@ public class OrderServiceImpl implements OrderService { return orderDao.findOne(orderFilterRequest); } + @Override + public List findCodesById(String orderId) { + return codesDao.findCodesById(orderId); + } + @Override public List filterListByOrder(List orderList) { return orderDao.filterListByOrder(orderList); @@ -213,9 +238,7 @@ public class OrderServiceImpl implements OrderService { OrderEntity supplementOrder = new OrderEntity(); BeanUtil.copyProperties(order, supplementOrder); //生成补单单号 - - - String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean("MS" + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); String supplementOrderNo = orderNo; supplementOrder.setSupplementNo(order.getId()); supplementOrder.setId(supplementOrderNo); @@ -269,6 +292,8 @@ public class OrderServiceImpl implements OrderService { //更新数据 try { orderDao.insertOrder(supplementOrder); + order.setSupplementNo(supplementOrder.getId()); + orderDao.updateOrder(order); //更新配货单表对应单据的补单单号 stockOrderDao.updateSupplementNoByBillNo(billNo, supplementOrderNo); codesTempDao.insertCodesTemp(supplementCodes); @@ -326,4 +351,170 @@ public class OrderServiceImpl implements OrderService { return orderResponseList; } + + @Override + public List filterOrderForDelete(String billNo) { + OrderEntity orderEntity = orderDao.selectByBillNo(billNo); + if (null == orderEntity) { + return Collections.emptyList(); + } + //查询码表中所有的单据号 + List orders = new ArrayList<>(); + orders.add(orderEntity); + getAllOrder(orderEntity, orders); + return orders; + } + + /** + * 查询指定单据关联的所有单据 + * + * @param orderEntity + * @param orders + */ + @Override + public void getAllOrder(OrderEntity orderEntity, List orders) { + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + //补单单号 + if (StrUtil.isNotBlank(orderEntity.getSupplementNo())) { + //补单单号不为空,查询补单数据 + orderFilterRequest.setId(orderEntity.getSupplementNo()); + OrderEntity order = orderDao.findOne(orderFilterRequest); + if (null != order && !orders.contains(order)) { + orders.add(order); + getAllOrder(order, orders); + } + } + + //缺量补单上级单号 + if (StrUtil.isNotBlank(orderEntity.getOriginUllageSupNo())) { + //缺量补单上级单号不为空,查询单据数据 + orderFilterRequest.setId(orderEntity.getOriginUllageSupNo()); + OrderEntity order = orderDao.findOne(orderFilterRequest); + if (null != order && !orders.contains(order)) { + orders.add(order); + getAllOrder(order, orders); + } + } + + //缺量补单 + if (StrUtil.isNotBlank(orderEntity.getUllageSupNo())) { + //缺量补单单号不为空,查询单据数据 + orderFilterRequest.setId(orderEntity.getUllageSupNo()); + OrderEntity order = orderDao.findOne(orderFilterRequest); + if (null != order && !orders.contains(order)) { + orders.add(order); + getAllOrder(order, orders); + } + } + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void deleteOrders(List ids) { + for (String id : ids) { + log.info("开始删除单号为:" + id + "的单据"); + //查询扫码单据 + OrderFilterRequest orderFilterRequest = new OrderFilterRequest(); + orderFilterRequest.setId(id); + OrderEntity orderEntity = orderDao.findOne(orderFilterRequest); + if (orderEntity.getStatus().equals(ConstantStatus.ORDER_STATUS_SUCCESS)) { + //查询库存详情 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setOrderIdFk(id); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetail(filterInvProductDetailRequest); + Map> invProductDetailMap = invProductDetailEntities.stream().collect(Collectors.groupingBy(InvProductDetailEntity::getProductIdFk)); + + List invProductList = new ArrayList<>(invProductDetailMap.keySet().size()); + + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); + filterInvProductRequest.setRelIdFk(invProductDetailEntity.getProductIdFk()); + filterInvProductRequest.setSupId(invProductDetailEntity.getSupId()); + filterInvProductRequest.setInvStorageCode(invProductDetailEntity.getInvStorageCode()); + if (StrUtil.isBlank(invProductDetailEntity.getBatchNo())) { + filterInvProductRequest.setBatchNo("empty"); + } else { + filterInvProductRequest.setBatchNo(invProductDetailEntity.getBatchNo()); + } + List invProductEntities = invProductDao.filterInvProduct(filterInvProductRequest); + InvProductEntity productEntity = invProductEntities.get(0); + if (ConstantType.TYPE_PUT.equals(invProductDetailEntity.getMainAction())) { + //入库,在原有库存基础上减库存 + int count = productEntity.getInCount() - invProductDetailEntity.getCount(); + productEntity.setInCount(count); + } else if (ConstantType.TYPE_OUT.equals(invProductDetailEntity.getMainAction())) { + //出库,在原有库存上增加库存 + int count = productEntity.getOutCount() - invProductDetailEntity.getCount(); + productEntity.setOutCount(count); + } + + invProductList.add(productEntity); + } + + //删除单据相关数据,更新库存 + try { + //删除库存详情 + invProductDetailDao.deleteByOrderId(id); + //更新库存 + for (InvProductEntity invProductEntity : invProductList) { + //查询库存码详情,如果库存码详情为空,则删除此库存 + FilterInvProductDetailRequest detailParams = new FilterInvProductDetailRequest(); + detailParams.setBatchNo(invProductEntity.getBatchNo()); + detailParams.setInvCodes(Collections.singletonList(invProductEntity.getInvStorageCode())); + detailParams.setProductIdFk(invProductEntity.getRelIdFk()); + int count = invProductDetailDao.statCount(detailParams); + if (count == 0) { + //如果库存码详情为空,则删除此库存 + invProductDao.deleteById(String.valueOf(invProductEntity.getId())); + } else { + invProductDao.updateInvProduct(invProductEntity); + } + } + //删除码详情 + codesDao.deleteByOrderId(id); + //查询业务单据 + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(orderEntity.getErpFk()); + StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest); + //删除业务单据详情 + stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId()); + //删除业务单据 + stockOrderDao.deleteById(stockOrderEntity.getId()); + //删除扫码单据详情 + orderDetailDao.deleteByOrderId(id); + //删除扫码单据 + orderDao.deleteById(id); + log.info("单号为:" + id + " 的单据已删除"); + } catch (Exception e) { + log.error("删除单据失败", e); + throw new RuntimeException("删除单据失败"); + } + } else { + //未验收单据,删除单据,单据详情,码详情 + try { + orderDao.deleteById(id); + orderDetailDao.deleteByOrderId(id); + + //查询业务单据 + StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest(); + stockOrderFilterRequest.setBillNo(orderEntity.getErpFk()); + StockOrderEntity stockOrderEntity = stockOrderDao.findOne(stockOrderFilterRequest); + //删除业务单据详情 + stockOrderDetailDao.deleteByOrderIdFk(stockOrderEntity.getId()); + //删除业务单据 + stockOrderDao.deleteById(stockOrderEntity.getId()); + //删除码 + codesDao.deleteByOrderId(id); + } catch (Exception e) { + throw new RuntimeException("删除单据失败"); + } + } + } + } + + @Override + public boolean updateOrderInfo(String actDate, String auditTime, List orderIds) { + return orderDao.updateOrderTime(actDate, auditTime, DateUtil.getDateTime(), orderIds); + } + } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java index bb55cb3c..40dc3b61 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseBussinessTypeServiceImpl.java @@ -1,8 +1,10 @@ package com.glxp.api.admin.service.inout.impl; import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inout.WarehouseBussinessTypeDao; import com.glxp.api.admin.entity.inout.WarehouseBussinessTypeEntity; +import com.glxp.api.admin.req.basic.FilterInvBusTypeRequest; import com.glxp.api.admin.res.basic.BussinessTypResponse; import com.glxp.api.admin.service.inout.WarehouseBussinessTypeService; import lombok.extern.slf4j.Slf4j; @@ -20,6 +22,11 @@ public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessType @Resource private WarehouseBussinessTypeDao warehouseBussinessTypeDao; + @Override + public WarehouseBussinessTypeEntity selectById(Integer id) { + return warehouseBussinessTypeDao.selectById(id); + } + @Override public List getListByCode(String code) { List warehouseBussinessTypeEntities = warehouseBussinessTypeDao.selectListByCode(code); @@ -29,6 +36,19 @@ public class WarehouseBussinessTypeServiceImpl implements WarehouseBussinessType return warehouseBussinessTypeEntities; } + @Override + public List filterList(FilterInvBusTypeRequest filterInvBusTypeRequest) { + if (filterInvBusTypeRequest == null) { + return Collections.emptyList(); + } + if (filterInvBusTypeRequest.getPage() != null) { + int offset = (filterInvBusTypeRequest.getPage() - 1) * filterInvBusTypeRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvBusTypeRequest.getLimit()); + } + + return warehouseBussinessTypeDao.filterList(filterInvBusTypeRequest); + } + @Override public void saveWarehouseBussinessType(String code, List bussinessTypResponseList) { if (CollUtil.isNotEmpty(bussinessTypResponseList)) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java index 850fec10..38e2f90c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inout/impl/WarehouseUserServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.service.inout.impl; import cn.hutool.core.collection.CollUtil; +import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inout.WarehouseUserDao; import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.inout.WarehouseUserEntity; @@ -19,10 +20,20 @@ import java.util.List; public class WarehouseUserServiceImpl implements WarehouseUserService { - @Resource private WarehouseUserDao warehouseUserDao; + @Override + public WarehouseUserEntity selectById(Integer id) { + FilterInvUserRequest filterInvUserRequest = new FilterInvUserRequest(); + filterInvUserRequest.setId(id); + List warehouseUserEntities = warehouseUserDao.filterList(filterInvUserRequest); + if (CollUtil.isNotEmpty(warehouseUserEntities)) { + return warehouseUserEntities.get(0); + } + return null; + } + @Override public List getListByCode(String code) { List warehouseUserEntities = warehouseUserDao.selectListByCode(code); @@ -39,10 +50,15 @@ public class WarehouseUserServiceImpl implements WarehouseUserService { @Override public List filterWarehouseUsers(FilterInvUserRequest filterInvUserRequest) { + if (filterInvUserRequest == null) { + return Collections.emptyList(); + } + if (filterInvUserRequest.getPage() != null) { + int offset = (filterInvUserRequest.getPage() - 1) * filterInvUserRequest.getLimit(); + PageHelper.offsetPage(offset, filterInvUserRequest.getLimit()); + } - List warehouseUserEntities = warehouseUserDao.filterWarehouseUsers(filterInvUserRequest); - - return warehouseUserEntities; + return warehouseUserDao.filterList(filterInvUserRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java index bafd30c6..05b418c6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvProductService.java @@ -8,6 +8,7 @@ import com.glxp.api.admin.res.inventory.InvProductResponse; import java.util.List; public interface InvProductService { + List filterInvProduct(FilterInvProductRequest filterInvProductRequest); List filterJoinInvProduct(FilterInvProductRequest filterInvProductRequest); @@ -26,5 +27,4 @@ public interface InvProductService { //库存统计 List stockStatistics(FilterInvProductRequest filterInvProductRequest); - } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductServiceImpl.java index 86c6dc7c..cfa19cbe 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreInProductServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inventory.InvPreInProductDao; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -46,6 +47,9 @@ public class InvPreInProductServiceImpl implements InvPreInProductService { @Override public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) { + if (StrUtil.isEmpty(batchNo)) { + batchNo = "empty"; + } return invPreInProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java index c7cc84c2..0a9997a8 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvPreProductServiceImpl.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inventory.InvPreProductDao; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -48,19 +49,10 @@ public class InvPreProductServiceImpl implements InvPreProductService { @Override public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) { + if (StrUtil.isEmpty(batchNo)) { + batchNo = "empty"; + } return invPreProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode); - - // FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); -// filterInvProductRequest.setRelIdFk(uuid); -// filterInvProductRequest.setBatchNo(batchNo); -// filterInvProductRequest.setSupId(supId); -// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode); -// filterInvProductRequest.setInvStorageCode(invStorageCode); -// List data = filterInvProduct(filterInvProductRequest); -// if (data != null && data.size() > 0) { -// return data.get(0); -// } -// return null; } @Override diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java index 4dba118b..7c0abe72 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvProductServiceImpl.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.service.inventory.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.admin.dao.inventory.InvProductDao; import com.glxp.api.admin.entity.inventory.InvProductEntity; @@ -47,6 +48,20 @@ public class InvProductServiceImpl implements InvProductService { @Override public InvProductEntity selectByUuid(String uuid, String batchNo, String supId, String invStorageCode, String invWarehouseCode) { +// FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest(); +// filterInvProductRequest.setRelIdFk(uuid); +// filterInvProductRequest.setBatchNo(batchNo); +// filterInvProductRequest.setSupId(supId); +// filterInvProductRequest.setInvWarehouseCode(invWarehouseCode); +// filterInvProductRequest.setInvStorageCode(invStorageCode); +// List data = filterInvProduct(filterInvProductRequest); +// if (data != null && data.size() > 0) { +// return data.get(0); +// } +// return null; + if (StrUtil.isEmpty(batchNo)) { + batchNo = "empty"; + } return invProductDao.selectByUuid(uuid, batchNo, supId, invStorageCode, invWarehouseCode); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/DlBasicService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/DlBasicService.java index 9e91a8ee..df8d15c6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/DlBasicService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/DlBasicService.java @@ -1,40 +1,31 @@ package com.glxp.api.admin.thread; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.admin.constant.BasicProcessStatus; import com.glxp.api.admin.constant.ConstantStatus; +import com.glxp.api.admin.dao.auth.AuthAdminDao; import com.glxp.api.admin.dao.basic.*; -import com.glxp.api.admin.dao.inout.CodesDao; -import com.glxp.api.admin.dao.inout.OrderDao; -import com.glxp.api.admin.dao.inout.OrderDetailDao; +import com.glxp.api.admin.dao.inout.*; import com.glxp.api.admin.dao.thrsys.ThrCorpDao; import com.glxp.api.admin.dao.thrsys.ThrOrderDao; import com.glxp.api.admin.dao.thrsys.ThrOrderDetailDao; import com.glxp.api.admin.dao.thrsys.ThrProductsDao; +import com.glxp.api.admin.entity.auth.AuthAdmin; import com.glxp.api.admin.entity.basic.*; -import com.glxp.api.admin.entity.info.SystemParamConfigEntity; -import com.glxp.api.admin.entity.inout.ErpOrderEntity; -import com.glxp.api.admin.entity.inout.OrderEntity; -import com.glxp.api.admin.entity.inout.WarehouseEntity; +import com.glxp.api.admin.entity.inout.*; import com.glxp.api.admin.entity.inventory.InvWarehouseEntity; import com.glxp.api.admin.entity.thrsys.*; import com.glxp.api.admin.req.basic.BasicExportStatusRequest; import com.glxp.api.admin.res.basic.*; -import com.glxp.api.admin.res.inventory.InvWarehouseExportResponse; +import com.glxp.api.admin.service.auth.AuthAdminService; import com.glxp.api.admin.service.basic.UdiInfoImportDetailService; -import com.glxp.api.admin.service.info.CompanyProductRelevanceService; import com.glxp.api.admin.service.inout.OrderService; import com.glxp.api.admin.service.inventory.InvWarehouseService; -import com.glxp.api.admin.service.thrsys.ThrInvProductsService; import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService; -import com.glxp.api.admin.util.CustomUtil; -import com.glxp.api.admin.util.FileUtils; import com.glxp.api.admin.util.RedisUtil; -import com.glxp.api.admin.util.SpGetHttp; +import com.glxp.api.admin.httpclient.SpGetHttpClient; import com.glxp.api.common.res.BaseResponse; import org.apache.ibatis.session.ExecutorType; import org.apache.ibatis.session.SqlSession; @@ -54,7 +45,7 @@ public class DlBasicService { @Resource - SpGetHttp spGetHttp; + SpGetHttpClient spGetHttp; @Resource UdiInfoImportDetailService udiInfoImportDetailService; @Resource @@ -69,6 +60,12 @@ public class DlBasicService { HeartService heartService; @Resource RedisUtil redisUtil; + @Resource + AuthAdminDao authAdminService; + @Resource + WarehouseUserDao warehouseUserDao; + @Resource + WarehouseBussinessTypeDao warehouseBussinessTypeDao; @Resource ThrInvWarehouseService thrInvWarehouseService; @@ -147,6 +144,7 @@ public class DlBasicService { List companyProductRelevanceEntities = syncDataResponse.getCompanyProductRelevanceEntities(); CompanyProductRelevanceDao mapper = batchSession.getMapper(CompanyProductRelevanceDao.class); for (CompanyProductRelevanceEntity companyProductRelevanceEntity : companyProductRelevanceEntities) { + companyProductRelevanceEntity.setUpdate_time(null); mapper.importCompanyProductRelevance(companyProductRelevanceEntity); } batchSession.commit(); @@ -212,13 +210,44 @@ public class DlBasicService { } } - + //第三方仓库信息插入 if (CollUtil.isNotEmpty(syncDataResponse.getThrInvWarehouseEntities())) { for (ThrInvWarehouseEntity invWarehouseEntity : syncDataResponse.getThrInvWarehouseEntities()) { invWarehouseEntity.setUpdateTime(null); } thrInvWarehouseService.insertInvWarehouses(syncDataResponse.getThrInvWarehouseEntities()); } + + //用户表 + if (CollUtil.isNotEmpty(syncDataResponse.getAuthAdminList())) { + for (AuthAdmin authAdmin : syncDataResponse.getAuthAdminList()) { + authAdmin.setLastModifyTime(null); + authAdminService.replaceAuthAdmin(authAdmin); + } + } + + //仓库用户表 + if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseUserEntities())) { + for (WarehouseUserEntity warehouseUserEntity : syncDataResponse.getWarehouseUserEntities()) { + warehouseUserDao.insertOrUpdate(warehouseUserEntity); + } + } + + //仓库单据类型表 + if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseBussinessTypeEntities())) { + for (WarehouseBussinessTypeEntity warehouseUserEntity : syncDataResponse.getWarehouseBussinessTypeEntities()) { + warehouseBussinessTypeDao.insertOrUpdate(warehouseUserEntity); + } + } + + //用户表 + if (CollUtil.isNotEmpty(syncDataResponse.getAuthAdminList())) { + for (AuthAdmin authAdmin : syncDataResponse.getAuthAdminList()) { + authAdmin.setLastModifyTime(null); + authAdminService.replaceAuthAdmin(authAdmin); + } + } + spGetHttp.postBasicStatus(basicExportStatusEntity.getId()); batchSession.close(); } @@ -262,7 +291,7 @@ public class DlBasicService { BussinessLocalTypeDao mapper = batchSession.getMapper(BussinessLocalTypeDao.class); for (SpsBusLoclTypeResponse spsBusLoclTypeResponse : spsBusLoclTypeResponses) { BussinessLocalTypeEntity bussinessTypeEntity = new BussinessLocalTypeEntity(); - BeanUtils.copyProperties(spsBusLoclTypeResponse,bussinessTypeEntity); + BeanUtils.copyProperties(spsBusLoclTypeResponse, bussinessTypeEntity); bussinessTypeEntity.setUpdateTime(null); mapper.insertBussinessType(bussinessTypeEntity); } @@ -314,6 +343,8 @@ public class DlBasicService { orderEntity.setUpdateTime(null); orderEntity.setFromType(ConstantStatus.FROM_UDISP); orderEntity.setReceiveStatus(0); + orderEntity.setErpFk(null); + orderEntity.setOutChangeEnable(false); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); orderService.deleteByOrderId(orderEntity.getId()); mapper.importOrder(orderEntity); @@ -322,23 +353,23 @@ public class DlBasicService { } catch (Exception e) { } } - if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailEntityList())) { - try { - List erpOrderEntities = syncDataResponse.getOrderDetailEntityList(); - OrderDetailDao mapper = batchSession.getMapper(OrderDetailDao.class); - for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { - mapper.insertErpOrder(erpOrderEntity); - } - batchSession.commit(); - } catch (Exception e) { - } - } +// if (CollUtil.isNotEmpty(syncDataResponse.getOrderDetailEntityList())) { +// try { +// List erpOrderEntities = syncDataResponse.getOrderDetailEntityList(); +// OrderDetailDao mapper = batchSession.getMapper(OrderDetailDao.class); +// for (ErpOrderEntity erpOrderEntity : erpOrderEntities) { +// mapper.insertErpOrder(erpOrderEntity); +// } +// batchSession.commit(); +// } catch (Exception e) { +// } +// } if (CollUtil.isNotEmpty(syncDataResponse.getWarehouseEntityList())) { try { List warehouseEntityList = syncDataResponse.getWarehouseEntityList(); - CodesDao mapper = batchSession.getMapper(CodesDao.class); + CodesTempDao mapper = batchSession.getMapper(CodesTempDao.class); for (WarehouseEntity warehouseEntity : warehouseEntityList) { - mapper.insertWarehouse(warehouseEntity); + mapper.replaceCodesTempSingle(warehouseEntity); } batchSession.commit(); } catch (Exception e) { diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java index bedfb675..ce6b5e99 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/DlSpOrderService.java @@ -8,7 +8,7 @@ import com.glxp.api.admin.req.inout.PostOrderRequest; import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.inout.DlOrderResponse; import com.glxp.api.admin.service.inout.IOOrderStatusService; -import com.glxp.api.admin.util.SpGetHttp; +import com.glxp.api.admin.httpclient.SpGetHttpClient; import com.glxp.api.common.res.BaseResponse; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; @@ -20,7 +20,7 @@ import java.util.List; @Service public class DlSpOrderService { @Resource - SpGetHttp spGetHttp; + SpGetHttpClient spGetHttp; @Resource IOOrderStatusService ioOrderStatusService; @Resource diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/HeartService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/HeartService.java index 495eda17..74a81142 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/HeartService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/HeartService.java @@ -15,7 +15,7 @@ import com.glxp.api.admin.service.basic.BasicExportService; import com.glxp.api.admin.service.basic.BasicExportTimeService; import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.DateUtil; -import com.glxp.api.admin.util.SpGetHttp; +import com.glxp.api.admin.httpclient.SpGetHttpClient; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import org.springframework.stereotype.Service; @@ -31,7 +31,7 @@ public class HeartService { @Resource UpBasicService upBasicService; @Resource - SpGetHttp spGetHttp; + SpGetHttpClient spGetHttp; @Resource BasicExportTimeService basicExportTimeService; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java index 777f167d..21067e89 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/InvProductsTrService.java @@ -55,19 +55,20 @@ public class InvProductsTrService { @Resource private InvPreProductService invPreProductService; @Resource - private InvPreProductDetailService invPreProductDetailService; - @Resource private InvPreInProductService invPreInProductService; @Resource private InvPreInProductDetailService invPreInProductDetailService; @Resource + private InvPreProductDetailService invPreProductDetailService; + @Resource private BussinessChangeTypeService bussinessChangeTypeService; @Resource private BasicUnitMaintainService basicUnitMaintainService; - @Resource SystemParamConfigService systemParamConfigService; @Resource + IOOrderStatusService ioOrderStatusService; + @Resource InvWarehouseService invWarehouseService; @Resource GennerOrderUtils gennerOrderUtils; @@ -127,7 +128,6 @@ public class InvProductsTrService { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invPreProductEntity.setInCount(invPreProductEntity.getInCount() + count); } - if (erpOrderEntity.getPrice() != null) { invPreProductEntity.setPrice(erpOrderEntity.getPrice() + ""); } @@ -148,7 +148,6 @@ public class InvProductsTrService { } else if (orderEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { invProductEntity.setInCount(invProductEntity.getInCount() + count); } - if (erpOrderEntity.getPrice() != null) { invProductEntity.setPrice(erpOrderEntity.getPrice() + ""); } @@ -163,7 +162,6 @@ public class InvProductsTrService { if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { preInvEntity.setOutCount(preInvEntity.getOutCount() + count); } - if (erpOrderEntity.getPrice() != null) { preInvEntity.setPrice(erpOrderEntity.getPrice() + ""); } @@ -262,6 +260,9 @@ public class InvProductsTrService { //缺量补单时是否全量补单 SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("ullage_supplement_all"); if (systemParamConfigEntity != null && systemParamConfigEntity.getParamValue().equals("1")) { + + BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(orderEntity.getAction()); + insetInv(bussinessTypeEntity, invProductDetailEntities);//2.插入当前库存 WarehouseEntity warehouseEntity = warehouseEntities.get(0); InvWarehouseEntity locWarehouseEntity = invWarehouseService.selectByCode(warehouseEntity.getLocStorageCode()); if (locWarehouseEntity.getLevel() == 1 && isAdavnce(warehouseEntity)) {//补寄售转入 @@ -327,10 +328,10 @@ public class InvProductsTrService { warehouseEntity.setFromCorp(invWarehouseEntity.getName()); if (invCount > 0) {//仓库已存在该产品 if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 - UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); +// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 preiInList.add(warehouseEntity); - } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + } else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 int lea = count - invCount; warehouseEntity.setCount(lea / (warehouseEntity.getCount())); // preiInList.add(warehouseEntity); @@ -372,10 +373,10 @@ public class InvProductsTrService { if (invCount > 0) {//仓库已存在该产品 if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 - UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); +// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 inList.add(warehouseEntity); - } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + } else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 int lea = count - invCount; warehouseEntity.setCount(lea / (warehouseEntity.getCount())); // inList.add(warehouseEntity); @@ -442,10 +443,10 @@ public class InvProductsTrService { int invCount = getPreCountByOrder(null, udiInfoEntity.getRelId(), warehouseEntity.getBatchNo(), warehouseEntity.getSupId(), warehouseEntity.getLocStorageCode()); if (invCount > 0) {//仓库已存在该产品 if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装 - UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); +// UdiEntity udiEntity = FilterUdiUtils.getUdi(warehouseEntity.getCode()); if (actCount > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补 prePutList.add(warehouseEntity); - } else if (udiEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 + } else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量 int lea = count - invCount; warehouseEntity.setCount(lea / (warehouseEntity.getCount())); // prePutList.add(warehouseEntity); @@ -512,6 +513,7 @@ public class InvProductsTrService { outOrder.setCreateUser(null); outOrder.setReviewUser(null); outOrder.setPreCheck(false); + outOrder.setReceiveStatus(0); orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : preOutList) { warehouseEntity.setOrderId(outOrder.getId()); @@ -588,6 +590,7 @@ public class InvProductsTrService { outOrder.setCreateUser(null); outOrder.setReviewUser(null); outOrder.setPreCheck(false); + outOrder.setReceiveStatus(0); orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -632,6 +635,7 @@ public class InvProductsTrService { outOrder.setCreateUser(null); outOrder.setReviewUser(null); outOrder.setPreCheck(false); + outOrder.setReceiveStatus(0); orderService.insertOrder(outOrder); warehouseEntity.setOrderId(outOrder.getId()); warehouseEntity.setId(null); @@ -688,7 +692,6 @@ public class InvProductsTrService { outOrder.setFromCorpId(corpName); outOrder.setFromCorp(temps.get(0).getFromCorp()); outOrder.setCorpOrderId(CustomUtil.getId() + "x"); - outOrder.setPreCheck(false); outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); if ("1".equals(systemParamConfigEntity.getParamValue())) { @@ -704,6 +707,8 @@ public class InvProductsTrService { outOrder.setOriginUllageSupNo(orderEntity.getId()); outOrder.setCreateUser(null); outOrder.setReviewUser(null); + outOrder.setPreCheck(false); + outOrder.setReceiveStatus(0); orderService.insertOrder(outOrder); for (WarehouseEntity warehouseEntity : temps) { warehouseEntity.setOrderId(outOrder.getId()); @@ -766,6 +771,7 @@ public class InvProductsTrService { outOrder.setLocStorageCode(orderEntity.getLocStorageCode()); outOrder.setErpFk(null); outOrder.setFromType(ConstantStatus.FROM_CHANGE); + outOrder.setReceiveStatus(0); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + MyStrUtil.trim(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); outOrder.setId(orderNo); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit"); @@ -805,19 +811,22 @@ public class InvProductsTrService { orderEntity, WarehouseEntity warehouseEntity) { InvProductEntity invProductEntity = new InvProductEntity(); invProductEntity.setRelIdFk(relId); - invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + if (StrUtil.isNotEmpty(erpOrderEntity.getBatchNo())) { + invProductEntity.setBatchNo(erpOrderEntity.getBatchNo()); + } else + invProductEntity.setBatchNo(null); invProductEntity.setCustomerId(orderEntity.getCustomerId()); invProductEntity.setExpireDate(erpOrderEntity.getExpireDate()); invProductEntity.setProductionDate(erpOrderEntity.getProductDate()); invProductEntity.setGgxh(erpOrderEntity.getPackSpec()); invProductEntity.setSupId(warehouseEntity.getSupId()); invProductEntity.setNameCode(erpOrderEntity.getNameCode()); + invProductEntity.setPrice(erpOrderEntity.getPrice() + ""); invProductEntity.setProductsName(erpOrderEntity.getCoName()); invProductEntity.setYlqxzcrbarmc(erpOrderEntity.getProductCompany()); invProductEntity.setZczbhhzbapzbh(erpOrderEntity.getAuthCode()); invProductEntity.setInvStorageCode(warehouseEntity.getLocStorageCode()); invProductEntity.setInvWarehouseCode(warehouseEntity.getInvWarehouseCode()); - invProductEntity.setPrice(erpOrderEntity.getPrice() + ""); int count = getActCount(warehouseEntity) * warehouseEntity.getCount(); if (orderEntity.getMainAction().equals(ConstantType.TYPE_OUT)) { invProductEntity.setOutCount(count); @@ -852,7 +861,10 @@ public class InvProductsTrService { warehouseEntity.setCode(code); } invProductDetailEntity.setCode(code); - invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo()); + if (StrUtil.isEmpty(warehouseEntity.getBatchNo())) { + invProductDetailEntity.setBatchNo(null); + } else + invProductDetailEntity.setBatchNo(warehouseEntity.getBatchNo()); invProductDetailEntity.setProductionDate(warehouseEntity.getProduceDate()); invProductDetailEntity.setExpireDate(warehouseEntity.getExpireDate()); invProductDetailEntity.setAction(warehouseEntity.getAction()); diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java index 84a03da7..6e7bbe65 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/IoTransInoutService.java @@ -532,6 +532,11 @@ public class IoTransInoutService { unCheckFinish(orderEntity, warehouseEntityList); return; } + } else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDISP) { + if (!bussinessTypeEntity.isCheckSp()) { + unCheckFinish(orderEntity, warehouseEntityList); + return; + } } genOrderDetail(warehouseEntityList); // checkMutiDi(orderEntity.getId(), bussinessTypeEntity); //校验一个DI是否绑定多个产品ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrCorpsDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrCorpsDlService.java index 48b70f4f..5356f05a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrCorpsDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrCorpsDlService.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.thrsys.*; import com.glxp.api.admin.httpclient.ErpBasicClient; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrInvProductsDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrInvProductsDlService.java index 9734bb6d..0909e1c4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrInvProductsDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrInvProductsDlService.java @@ -2,6 +2,7 @@ package com.glxp.api.admin.thread; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.thrsys.*; import com.glxp.api.admin.httpclient.ErpInvClient; @@ -13,8 +14,6 @@ import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.inventory.ErpInvProductResponse; import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; import com.glxp.api.admin.service.thrsys.*; -import com.glxp.api.admin.util.Constant; -import com.glxp.api.admin.util.CustomUtil; import com.glxp.api.admin.util.ExcelUtil; import com.glxp.api.admin.util.RedisUtil; import com.glxp.api.common.res.BaseResponse; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrdersDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrdersDlService.java index 6cfe928a..f80864a1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrdersDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrOrdersDlService.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.basic.BasicUnitMaintainEntity; import com.glxp.api.admin.entity.basic.BussinessTypeEntity; @@ -24,7 +25,6 @@ import com.glxp.api.admin.service.basic.BasicThirdSysDetailService; import com.glxp.api.admin.service.basic.BasicUnitMaintainService; import com.glxp.api.admin.service.basic.BussinessTypeService; import com.glxp.api.admin.service.thrsys.*; -import com.glxp.api.admin.util.Constant; import com.glxp.api.admin.util.ExcelUtil; import com.glxp.api.admin.util.HttpClient; import com.glxp.api.admin.util.RedisUtil; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java index eeb9c1e2..421120a1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/ThrProductsDlService.java @@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; import com.glxp.api.admin.config.WebSocketServer; import com.glxp.api.admin.constant.BasicProcessStatus; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsEntity; import com.glxp.api.admin.entity.thrsys.ThrProductsExportLogEntity; diff --git a/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java b/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java index 8918bf64..98668ddf 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/thread/UpBasicService.java @@ -279,10 +279,10 @@ public class UpBasicService { List warehouseEntityList = new ArrayList<>(); if (CollUtil.isNotEmpty(orderEntities)) { for (OrderEntity orderEntity : orderEntities) { - List orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId()); - if (CollUtil.isNotEmpty(orderDetailEntityList)) { - allOrderDetailEntityList.addAll(orderDetailEntityList); - } +// List orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId()); +// if (CollUtil.isNotEmpty(orderDetailEntityList)) { +// allOrderDetailEntityList.addAll(orderDetailEntityList); +// } List codes = codesService.findByReceiptId(orderEntity.getId()); if (CollUtil.isNotEmpty(codes)) { warehouseEntityList.addAll(codes); diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/util/Constant.java deleted file mode 100644 index 4484537e..00000000 --- a/api-admin/src/main/java/com/glxp/api/admin/util/Constant.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.glxp.api.admin.util; - -public class Constant { - - public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; - public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; - public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; - public static final String dlThrCorps = "THR_DOWNLOAD_CORPS"; - public static final String SERIAL_CACHE_PREFIX = "serial_"; - public static final String SERIAL_CACHE_PREFIX_ST = "serialst_"; -} diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/GennerOrderUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/GennerOrderUtils.java index 0ca248c0..87e8130a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/GennerOrderUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/GennerOrderUtils.java @@ -1,5 +1,6 @@ package com.glxp.api.admin.util; +import com.glxp.api.admin.constant.Constant; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml index 1d5fceb7..45cb2f4f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/auth/AuthAdminDao.xml @@ -53,7 +53,8 @@ - INSERT INTO auth_user(userName,passWord,lastLoginIp,lastLoginTime,createTime,userFlag,employeeName) + INSERT INTO auth_user(userName,passWord,lastLoginIp, + lastLoginTime,createTime,userFlag,lastModifyTime,employeeName) values (#{userName}, @@ -84,9 +85,28 @@ #{createTime}, #{userFlag,jdbcType=INTEGER}, + #{lastModifyTime}, #{employeeName}) + + replace + INTO auth_user(id, userName, passWord, lastLoginIp, + lastLoginTime, createTime, userFlag, lastModifyTime, employeeName) + values ( + #{id}, + #{userName}, + #{passWord}, + #{lastLoginIp}, + #{lastLoginTime}, + #{createTime}, + #{userFlag,jdbcType=INTEGER}, + #{lastModifyTime}, + #{employeeName} + ) + + + UPDATE auth_user @@ -94,6 +114,7 @@ passWord=#{passWord}, lastLoginIp=#{lastLoginIp}, lastLoginTime=#{lastLoginTime}, + lastModifyTime=#{lastModifyTime}, userFlag=#{userFlag}, employeeName=#{employeeName} diff --git a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml index 76faad07..e60d2c32 100644 --- a/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/business/StockOrderDao.xml @@ -22,15 +22,14 @@ group by stock_order.id ORDER BY id DESC - insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag, - thirdSysFk, status, statusInfo, `type`, sourceType, + thirdSysFk, status, statusInfo, type, sourceType, printStatus, unitIdFk, customerId, thirdOrderFk, orderIdFk, - totalPrice, locStorageCode, supplementNo, createUser, reviewUser) + totalPrice, locStorageCode, supplementNo, createUser, reviewUser, entrustEnd) values (#{id}, #{billNo}, #{billdate}, @@ -44,7 +43,7 @@ #{type}, #{sourceType}, #{printStatus}, #{unitIdFk}, #{customerId}, #{thirdOrderFk}, #{orderIdFk}, #{totalPrice}, - #{locStorageCode}, #{supplementNo}, #{createUser}, #{reviewUser}) + #{locStorageCode}, #{supplementNo}, #{createUser}, #{reviewUser}, #{entrustEnd}) UPDATE stock_order @@ -70,6 +69,7 @@ supplementNo=#{supplementNo}, createUser=#{createUser}, reviewUser=#{reviewUser}, + entrustEnd=#{entrustEnd}, WHERE id = #{id} @@ -91,7 +91,6 @@ SET `status` = #{status} where id = #{orderId} - update stock_order set supplementNo = #{supplementOrderNo} @@ -161,7 +160,8 @@ and locStorageCode = #{locStorageCode} - and ((createUser =#{unionUser} or reviewUser =#{unionUser}) or (reviewUser is null and createUser is null) ) + and ((createUser =#{unionUser} or reviewUser =#{unionUser}) or (reviewUser is null and createUser is + null) ) and createUser = #{createUser} @@ -178,12 +178,34 @@ and inv_warehouse_user.userId =#{userId} + group by stock_order.id ORDER BY id DESC + + + + @@ -232,7 +253,6 @@ stock_order_detail.orderIdFk left join inv_warehouse on inv_warehouse.code = stock_order.locStorageCode - and stock_order.id =#{id} @@ -262,5 +282,15 @@ from stock_order where id = #{id} + + + delete + from stock_order + where orderIdFk = #{orderIdFk} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml index 418abd37..d0c6acee 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/OrderDao.xml @@ -17,29 +17,8 @@ from io_order where `status` ]]> 'success' ORDER BY actDate DESC - - - + - select * from io_order where id in - - #{item} - - - DELETE @@ -351,17 +323,13 @@ and locStorageCode =#{locStorageCode} - - and thirdBillNo =#{thirdBillNo} - - group by io_order.id ORDER BY actDate DESC - - + SELECT * FROM io_order + + + and status = #{status} + + + and receiveStatus = #{receiveStatus} + + + and = DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]> + + + and `action` in + + #{item} + + + + + + + + + + update io_order + set actDate = #{actDate}, + auditTime = #{auditTime}, + updateTime = #{updateTime} + where id in + + #{item} + + - select inv_warehouse_bussiness_type.id, inv_warehouse_bussiness_type.code, inv_warehouse_bussiness_type.action, basic_bussiness_type.name + select inv_warehouse_bussiness_type.id, + inv_warehouse_bussiness_type.code, + inv_warehouse_bussiness_type.action, + basic_bussiness_type.name from inv_warehouse_bussiness_type inner join basic_bussiness_type on inv_warehouse_bussiness_type.action = basic_bussiness_type.action where code = #{code} + + + + + + + delete from inv_warehouse_bussiness_type diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml index 821c09fd..05bd9503 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inout/WarehouseUserDao.xml @@ -247,7 +247,7 @@ - diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml index 190b2341..c441754f 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvProductDetailDao.xml @@ -51,9 +51,10 @@ AND invWarehouseCode = #{invWarehouseCode} + + AND orderIdFk = #{orderIdFk} + - - insert INTO inv_product_detail (code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime, - purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, invStorageCode, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, + invStorageCode, invWarehouseCode) values (#{code}, #{productIdFk}, #{orderIdFk}, #{customerId}, #{mainAction}, #{action}, #{count}, #{updateTime}, #{purchaseType}, #{batchNo}, #{productionDate}, #{expireDate}, #{unitFk}, #{stockIdFk}, #{supId}, #{originCode}, #{invStorageCode}, #{invWarehouseCode}) - insert INTO inv_product_detail (code, productIdFk, orderIdFk, customerId, mainAction, `action`, `count`, updateTime, - purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId,originCode, invStorageCode, + purchaseType, batchNo, productionDate, expireDate, unitFk, stockIdFk, supId, originCode, + invStorageCode, invWarehouseCode) values - ( - #{item.code}, - #{item.productIdFk},#{item.orderIdFk}, - #{item.customerId},#{item.mainAction},#{item.action},#{item.count},#{item.updateTime}, + (#{item.code}, + #{item.productIdFk}, #{item.orderIdFk}, + #{item.customerId}, #{item.mainAction}, #{item.action}, #{item.count}, #{item.updateTime}, #{item.purchaseType}, #{item.batchNo}, #{item.productionDate}, #{item.expireDate}, - #{item.unitFk},#{item.stockIdFk} - ,#{item.supId},#{item.originCode},#{item.invStorageCode},#{item.invWarehouseCode} - ) + #{item.unitFk}, #{item.stockIdFk}, + #{item.supId}, #{item.originCode}, #{item.invStorageCode}, #{item.invWarehouseCode}) - @@ -175,8 +172,8 @@ productIdFk=#{productIdFk}, customerId=#{customerId}, mainAction=#{mainAction}, - action=#{action}, - count=#{count}, + `action`=#{action}, + `count`=#{count}, unitFk=#{unitFk}, purchaseType=#{purchaseType}, batchNo=#{batchNo}, @@ -204,7 +201,7 @@ AND mainAction = #{mainAction} - AND action = #{action} + AND `action` = #{action} AND purchaseType = #{purchaseType} @@ -231,6 +228,7 @@ #{id} + @@ -274,4 +272,17 @@ + + delete + from inv_product_detail + where orderIdFk = #{orderIdFk} + + + + delete + from inv_product_detail + where orderIdFk = #{orderId} + and code = #{code} + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml index 04ee43be..724cb1b0 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvWarehouseDao.xml @@ -38,6 +38,7 @@ AND a.spUse = #{spUse} + @@ -80,6 +81,7 @@ group by inv_warehouse.code + @@ -161,7 +163,6 @@ -