From 3a7d3c053204ee6332d022af887fdc16c2780177 Mon Sep 17 00:00:00 2001 From: zhou-hongcheng <1064771933@qq.com> Date: Mon, 27 Apr 2026 13:40:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=BA=BF=E7=AE=A1=E7=90=86=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mhd/system/api/UserServiceFeign.java | 4 + .../com/mhd/system/api/domain/UserDTO.java | 13 ++ .../RemoteUserFeignFallbackFactory.java | 5 + .../service/UserApplicationService.java | 10 ++ .../userAggregate/entity/UserEntity.java | 13 ++ .../repository/todo/CustomerDO.java | 12 ++ .../userAggregate/repository/todo/UserDO.java | 12 ++ .../interfaces/dto/addDTO/CustomerDTO.java | 15 +- .../user/interfaces/dto/addDTO/UserDTO.java | 12 ++ .../mhd/user/interfaces/facade/UserAPI.java | 18 +++ mhd_wms/sql/pdaSql.sql | 27 ++++ .../lineManagement/entity/LineManagement.java | 64 ++++++++ .../facade/ILineManagementService.java | 45 ++++++ .../mapper/LineManagementMapper.java | 21 +++ .../persistence/LineManagementImpl.java | 149 ++++++++++++++++++ .../repository/po/LineManagementPO.java | 58 +++++++ .../todo/LineManagementCustomer.java | 42 +++++ .../repository/todo/LineManagementDO.java | 58 +++++++ .../service/LineManagementDomainService.java | 88 +++++++++++ .../repository/po/ReviewOrderPO.java | 9 -- .../LineManagementAssembler.java | 24 +++ .../dto/LineManagement/LineManagementDTO.java | 64 ++++++++ .../lineManagement/LineManagementApi.java | 96 +++++++++++ .../lineManagement/LineManagementMapper.xml | 131 +++++++++++++++ 24 files changed, 978 insertions(+), 12 deletions(-) create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/entity/LineManagement.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/facade/ILineManagementService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/mapper/LineManagementMapper.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/persistence/LineManagementImpl.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/po/LineManagementPO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementCustomer.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementDO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/service/LineManagementDomainService.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/copyCodeReference/LineManagementAssembler.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/LineManagement/LineManagementDTO.java create mode 100644 mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java create mode 100644 mhd_wms/src/main/resources/mapper/lineManagement/LineManagementMapper.xml diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java index 506727a20..63e2ae236 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/UserServiceFeign.java @@ -191,4 +191,8 @@ public interface UserServiceFeign { @ApiOperation("根据用户ID查询货主信息") @GetMapping("/userShipperApi/getShipperByUserId/{userId}") public AjaxResult getShipperByUserId(@PathVariable("userId") Long userId); + + @ApiOperation("设置路线") + @PostMapping("/userApi/updateLineManagement") + public AjaxResult updateLineManagement(@RequestBody UserDTO userDTO); } \ No newline at end of file diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserDTO.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserDTO.java index 9a4332ec3..ee00177e0 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserDTO.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/domain/UserDTO.java @@ -40,4 +40,17 @@ public class UserDTO extends BaseVOEntity { @ApiModelProperty(name = "用户角色") private String userRole; + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; + } diff --git a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java index 08ff38640..e4c890544 100644 --- a/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java +++ b/mhd-api/mhd-api-system/src/main/java/com/mhd/system/api/factory/RemoteUserFeignFallbackFactory.java @@ -181,6 +181,11 @@ public class RemoteUserFeignFallbackFactory implements FallbackFactory getShipperByUserId(Long userId) { return AjaxResult.error("查询失败" + throwable.getMessage()); } + + @Override + public AjaxResult updateLineManagement(UserDTO userDTO) { + return AjaxResult.error("失败" + throwable.getMessage()); + } }; } } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 900aa8caa..7d1a3f921 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -5232,4 +5232,14 @@ public class UserApplicationService { public UserPo selectUserTableByUserId(Long userId){ return userDomainService.selectByUserId(userId); } + + + public void updateLineManagement(CustomerDO customerDO) { + if (customerDO.getUserId() == null){ + throw new ServiceException("用户id不能为空"); + } + UserDO userDO = new UserDO(); + BeanUtils.copyProperties(customerDO, userDO); + userDomainService.updateUser(userDO); + } } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserEntity.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserEntity.java index 9d138d125..58d42be76 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserEntity.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/entity/UserEntity.java @@ -192,4 +192,17 @@ public class UserEntity extends BaseVOEntity { @ApiModelProperty("税号") private String taxNumber; + + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; } \ No newline at end of file diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/CustomerDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/CustomerDO.java index 2d689fe2f..fea405d72 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/CustomerDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/CustomerDO.java @@ -78,4 +78,16 @@ public class CustomerDO extends BaseVOEntity { @ApiModelProperty(name = "备注") private String userRemark; + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserDO.java b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserDO.java index 61281c395..bc11de85d 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserDO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/domain/userAggregate/repository/todo/UserDO.java @@ -281,4 +281,16 @@ public class UserDO extends BaseVOEntity { @ApiModelProperty("税号") private String taxNumber; + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/CustomerDTO.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/CustomerDTO.java index badac2c2e..563ce3f75 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/CustomerDTO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/CustomerDTO.java @@ -19,15 +19,12 @@ public class CustomerDTO extends BaseVOEntity { private Long userId; @ApiModelProperty("职务/角色权限字符,控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasRole('admin')`)") - @NotBlank(message = "角色编码不能为空") private String roleCode; @ApiModelProperty("货主/供应商/客户编码") - @NotBlank(message = "货主/供应商/客户编码不能为空") private String userMemberCode; @ApiModelProperty("货主/供应商/客户名称") - @NotBlank(message = "货主/供应商/客户名称不能为空") private String userName; @ApiModelProperty("联系人") @@ -77,4 +74,16 @@ public class CustomerDTO extends BaseVOEntity { @ApiModelProperty(name = "备注") private String userRemark; + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserDTO.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserDTO.java index 08c26f52e..ad2dd6602 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserDTO.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/dto/addDTO/UserDTO.java @@ -247,4 +247,16 @@ public class UserDTO extends BaseVOEntity { @ApiModelProperty(value = "紧急联系电话") private String emergencyContactPhone; + + @ApiModelProperty("路线id") + private String lineManagementId; + + @ApiModelProperty("路线编码") + private String routeCode; + + @ApiModelProperty("路线名称") + private String routeName; + + @ApiModelProperty("配送顺序") + private String deliveryOrder; } diff --git a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java index c181f179b..9fc58871b 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java +++ b/mhd-user-center/src/main/java/com/mhd/user/interfaces/facade/UserAPI.java @@ -941,6 +941,24 @@ public class UserAPI extends BaseController { } } + @Log(title = "新增修改客户线路", description ="新增修改客户线路",businessType = BusinessType.UPDATE) + @ApiOperation("新增修改客户线路") + @PostMapping("/updateLineManagement") + public AjaxResult updateLineManagement(@Valid @RequestBody CustomerDTO customerDTO) { + try { + CustomerDO customerDO = new CustomerDO(); + BeanUtils.copyProperties(customerDTO,customerDO); + userApplicationService.updateLineManagement(customerDO); + return AjaxResult.success(); + } catch (com.mhd.common.core.exception.ServiceException e) { + e.printStackTrace(); + return AjaxResult.error(500, e.getMessage()); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error(500, "操作失败:" + e.getMessage()); + } + } + @Log(title = "作废货主、供应商、客户", description ="作废货主、供应商、客户",businessType = BusinessType.UPDATE) @ApiOperation("作废货主、供应商、客户") @PostMapping("/nullifyCustomer") diff --git a/mhd_wms/sql/pdaSql.sql b/mhd_wms/sql/pdaSql.sql index 129f0edfb..716487762 100644 --- a/mhd_wms/sql/pdaSql.sql +++ b/mhd_wms/sql/pdaSql.sql @@ -61,6 +61,33 @@ ALTER TABLE NGWL_TEST_WMS.PICKING_MATERIAL_DETAIL ADD IN_ORDER_NUMBER varchar(10 ALTER TABLE stock_receipt_order ADD oms_stock_in_order_id VARCHAR(64); +CREATE TABLE NGWL_TEST_SYSTEM.LINE_MANAGEMENT ( + ID BIGINT NOT NULL AUTO_INCREMENT, + ORGANIZATION_ID BIGINT DEFAULT NULL, + ORGANIZATION_NAME VARCHAR(100) DEFAULT NULL, + TOP_ORGANIZATION_ID BIGINT DEFAULT NULL, + WAREHOUSE_ID BIGINT DEFAULT NULL, + WAREHOUSE_NAME VARCHAR(100) DEFAULT NULL, + ROUTE_CODE VARCHAR(100) DEFAULT NULL, + ROUTE_NAME VARCHAR(200) DEFAULT NULL, + CUSTOMER_JSON CLOB DEFAULT NULL, + CREATE_BY BIGINT DEFAULT NULL, + CREATE_BY_NAME VARCHAR(50) DEFAULT NULL, + CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NULL, + UPDATE_BY BIGINT DEFAULT NULL, + UPDATE_BY_NAME VARCHAR(50) DEFAULT NULL, + UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NULL, + DEL_FLAG TINYINT DEFAULT 1 NULL, + CONSTRAINT PK_LINE_MANAGEMENT PRIMARY KEY (ID) +); +ALTER TABLE NGWL_TEST_USER."USER" ADD LINE_MANAGEMENT_ID varchar(100) NULL; +ALTER TABLE NGWL_TEST_USER."USER" ADD ROUTE_CODE varchar(100) NULL; +ALTER TABLE NGWL_TEST_USER."USER" ADD ROUTE_NAME varchar(100) NULL; +ALTER TABLE NGWL_TEST_USER."USER" ADD DELIVERY_ORDER varchar(100) NULL; + + + + diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/entity/LineManagement.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/entity/LineManagement.java new file mode 100644 index 000000000..1bc3f51d9 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/entity/LineManagement.java @@ -0,0 +1,64 @@ +package com.mhd.wms.domain.lineManagement.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalTime; +import java.util.Date; + +/** + * 路线管理对象 + * + */ + +@Data +public class LineManagement extends BaseVOEntity{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("仓库ID") + private Long warehouseId; + + @ApiModelProperty("仓库名字") + private String warehouseName; + + /** + * 路线编码 + */ + @ApiModelProperty("路线编码") + private String routeCode; + + /** + * 路线名称 + */ + @ApiModelProperty("路线名称") + private String routeName; + + /** + * 客户 + */ + @ApiModelProperty("客户Json数据") + private String customerJson; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/facade/ILineManagementService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/facade/ILineManagementService.java new file mode 100644 index 000000000..af9c49f6c --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/facade/ILineManagementService.java @@ -0,0 +1,45 @@ +package com.mhd.wms.domain.lineManagement.repository.facade; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.mhd.wms.domain.lineManagement.entity.LineManagement; +import com.mhd.wms.domain.lineManagement.repository.po.LineManagementPO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; + +import java.util.List; + +/** + * 路线管理Service接口 + * + * @author gen + * @date 2024-05-07 + */ +public interface ILineManagementService extends IService +{ + /** + * 分页查询路线管理列表 + */ + public List queryList(LineManagementDO lineManagementDO); + + /** + * 新增路线管理 + */ + public Boolean insert(LineManagementDO lineManagementDO); + + public LineManagement insertReturn(LineManagementDO lineManagementDO); + + /** + * 修改路线管理 + */ + public Boolean update(LineManagementDO lineManagementDO); + + /** + * 批量删除路线管理 + */ + public Boolean delete(Long[] ids); + + + /** + * 查询路线管理 + */ + public LineManagementPO getInfo(Long id); +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/mapper/LineManagementMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/mapper/LineManagementMapper.java new file mode 100644 index 000000000..dab4d1c5c --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/mapper/LineManagementMapper.java @@ -0,0 +1,21 @@ +package com.mhd.wms.domain.lineManagement.repository.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.mhd.wms.domain.lineManagement.entity.LineManagement; +import com.mhd.wms.domain.lineManagement.repository.po.LineManagementPO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; + +import java.util.List; + +/** + * 路线管理Mapper接口 + * + */ +public interface LineManagementMapper extends BaseMapper +{ + /** + * 查询路线管理列表 + */ + public List queryList(LineManagementDO lineManagementDO); + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/persistence/LineManagementImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/persistence/LineManagementImpl.java new file mode 100644 index 000000000..2f1b438a0 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/persistence/LineManagementImpl.java @@ -0,0 +1,149 @@ +package com.mhd.wms.domain.lineManagement.repository.persistence; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.nacos.shaded.com.google.gson.JsonObject; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.UserServiceFeign; +import com.mhd.system.api.domain.UserDTO; +import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.lineManagement.entity.LineManagement; +import com.mhd.wms.domain.lineManagement.repository.facade.ILineManagementService; +import com.mhd.wms.domain.lineManagement.repository.mapper.LineManagementMapper; +import com.mhd.wms.domain.lineManagement.repository.po.LineManagementPO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementCustomer; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 路线管理Service业务层处理 + * + * @author gen + * @date 2024-05-07 + */ +@Service +public class LineManagementImpl extends ServiceImpl implements ILineManagementService { + @Autowired + private LineManagementMapper lineManagementMapper; + @Autowired + private UserServiceFeign userServiceFeign; + + /** + * 查询路线管理列表 + */ + @Override + public List queryList(LineManagementDO lineManagementDO) + { + return lineManagementMapper.queryList(lineManagementDO); + } + + /** + * 新增路线管理 + */ + @Override + public Boolean insert(LineManagementDO lineManagementDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + LineManagement LineManagement = new LineManagement(); + BeanUtils.copyProperties(lineManagementDO,LineManagement); + boolean save = this.save(LineManagement); + //客户列表补充id + List lineManagementCustomers = + JSONObject.parseArray(lineManagementDO.getCustomerJson(), LineManagementCustomer.class); + for (LineManagementCustomer lineManagementCustomer : lineManagementCustomers) { + UserDTO userDTO = new UserDTO(); + userDTO.setUserId(lineManagementCustomer.getUserId()); + userDTO.setDeliveryOrder(lineManagementCustomer.getDeliveryOrder()); + userDTO.setLineManagementId(LineManagement.getId().toString()); + userDTO.setRouteCode(lineManagementDO.getRouteCode()); + userDTO.setRouteName(lineManagementDO.getRouteName()); + userServiceFeign.updateLineManagement(userDTO); + } + return save; + } + + @Override + public LineManagement insertReturn(LineManagementDO lineManagementDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + LineManagement lineManagement = new LineManagement(); + BeanUtils.copyProperties(lineManagementDO,lineManagement); + boolean save = this.save(lineManagement); + if (save) { + return lineManagement; + } + return lineManagement; + } + + /** + * 修改路线管理 + */ + @Override + public Boolean update(LineManagementDO lineManagementDO) { + LineManagement lineManagement = new LineManagement(); + BeanUtils.copyProperties(lineManagementDO,lineManagement); + LineManagement lineManagementDB = this.getById(lineManagement.getId()); + //删除用户 + List lineManagementCustomers = + JSONObject.parseArray(lineManagementDB.getCustomerJson(), LineManagementCustomer.class); + for (LineManagementCustomer lineManagementCustomer : lineManagementCustomers) { + UserDTO userDTO = new UserDTO(); + userDTO.setUserId(lineManagementCustomer.getUserId()); + userDTO.setDeliveryOrder(""); + userDTO.setLineManagementId(""); + userDTO.setRouteCode(""); + userDTO.setRouteName(""); + userServiceFeign.updateLineManagement(userDTO); + } + List lineManagementCustomers2 = + JSONObject.parseArray(lineManagementDO.getCustomerJson(), LineManagementCustomer.class); + for (LineManagementCustomer lineManagementCustomer : lineManagementCustomers) { + UserDTO userDTO = new UserDTO(); + userDTO.setUserId(lineManagementCustomer.getUserId()); + userDTO.setDeliveryOrder(lineManagementCustomer.getDeliveryOrder()); + userDTO.setLineManagementId(lineManagement.getId().toString()); + userDTO.setRouteCode(lineManagementDO.getRouteCode()); + userDTO.setRouteName(lineManagementDO.getRouteName()); + userServiceFeign.updateLineManagement(userDTO); + } + return this.updateById(lineManagement); + } + + /** + * 批量删除路线管理 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean delete(Long[] lineManagementIds ) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + List list = new ArrayList<>(); + for (Long id : lineManagementIds) { + LineManagement lineManagement = new LineManagement(); + lineManagement.setId(id); + lineManagement.setDelFlag(2); + lineManagement.setUpdateBy(loginUser.getUserid()); + lineManagement.setUpdateByName(loginUser.getUsername()); + lineManagement.setUpdateTime(new Date()); + list.add(lineManagement); + } + return this.updateBatchById(list); + } + + /** + * 修改路线管理 + */ + @Override + public LineManagementPO getInfo(Long lineManagementId) { + LineManagement LineManagement = this.getById(lineManagementId); + LineManagementPO lineManagementPO = new LineManagementPO(); + BeanUtils.copyProperties(LineManagement,lineManagementPO); + return lineManagementPO; + } + +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/po/LineManagementPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/po/LineManagementPO.java new file mode 100644 index 000000000..4e1590a54 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/po/LineManagementPO.java @@ -0,0 +1,58 @@ +package com.mhd.wms.domain.lineManagement.repository.po; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 路线管理对象 + * + */ + +@Data +public class LineManagementPO extends BaseVOEntity{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("仓库ID") + private Long warehouseId; + + @ApiModelProperty("仓库名字") + private String warehouseName; + + /** + * 路线编码 + */ + @ApiModelProperty("路线编码") + private String routeCode; + + /** + * 路线名称 + */ + @ApiModelProperty("路线名称") + private String routeName; + + /** + * 客户 + */ + @ApiModelProperty("客户Json数据") + private String customerJson; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementCustomer.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementCustomer.java new file mode 100644 index 000000000..c72cad50e --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementCustomer.java @@ -0,0 +1,42 @@ +package com.mhd.wms.domain.lineManagement.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 路线管理对象 + * + */ + +@Data +public class LineManagementCustomer { + + + /** + * 用户id + */ + @ApiModelProperty("用户id") + private Long userId; + + /** + * 客户编码 + */ + @ApiModelProperty("客户编码") + private String customerCode; + + /** + * 客户名称 + */ + @ApiModelProperty("客户名称") + private String customerName; + + /** + * 配送顺序 + */ + @ApiModelProperty("配送顺序") + private String deliveryOrder; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementDO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementDO.java new file mode 100644 index 000000000..2ad1fcdff --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/repository/todo/LineManagementDO.java @@ -0,0 +1,58 @@ +package com.mhd.wms.domain.lineManagement.repository.todo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 路线管理对象 + * + */ + +@Data +public class LineManagementDO extends BaseVOEntity{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("仓库ID") + private Long warehouseId; + + @ApiModelProperty("仓库名字") + private String warehouseName; + + /** + * 路线编码 + */ + @ApiModelProperty("路线编码") + private String routeCode; + + /** + * 路线名称 + */ + @ApiModelProperty("路线名称") + private String routeName; + + /** + * 客户 + */ + @ApiModelProperty("客户Json数据") + private String customerJson; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/service/LineManagementDomainService.java b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/service/LineManagementDomainService.java new file mode 100644 index 000000000..4f3b4128e --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/lineManagement/service/LineManagementDomainService.java @@ -0,0 +1,88 @@ +package com.mhd.wms.domain.lineManagement.service; + +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.model.LoginUser; +import com.mhd.wms.domain.lineManagement.entity.LineManagement; +import com.mhd.wms.domain.lineManagement.repository.facade.ILineManagementService; +import com.mhd.wms.domain.lineManagement.repository.po.LineManagementPO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 租赁管理 + * + */ +@Service +@Slf4j +public class LineManagementDomainService { + + @Autowired + private ILineManagementService lineManagementService; + + + /** + * 分页查询租赁管理列表 + */ + public List queryList(LineManagementDO lineManagementDO) { + return lineManagementService.queryList(lineManagementDO); + } + + + /** + * 新增租赁管理 + */ + public Boolean insert(LineManagementDO lineManagementDO) { + + return lineManagementService.insert(lineManagementDO); + } + + public LineManagement insertReturn(LineManagementDO lineManagementDO) { + + return lineManagementService.insertReturn(lineManagementDO); + } + + /** + * 修改租赁管理 + */ + public Boolean update(LineManagementDO lineManagementDO) { + return lineManagementService.update(lineManagementDO); + } + + /** + * 批量删除租赁管理 + */ + public Boolean delete(Long[] leaseIds) { + return lineManagementService.delete(leaseIds); + } + + /** + * 获取租赁管理详细信息 + */ + public LineManagementPO getInfo(Long leaseId) + { + return lineManagementService.getInfo(leaseId); + } + + + /** + * @description 批量作废租赁 + * @author ZhouGY + * @date 2024/5/13 9:46 + * @param leaseIds + * @return Boolean + */ + public Boolean nullifyByIds(List leaseIds) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + return lineManagementService.update(new UpdateWrapper().lambda() + .set(LineManagement::getUpdateBy, loginUser.getUserid()) + .set(LineManagement::getUpdateTime, new Date()) + .in(LineManagement::getId, leaseIds) + .eq(LineManagement::getDelFlag, 1)); + } +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderPO.java b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderPO.java index 8718f54f5..6317e37ea 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderPO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/reviewOrder/repository/po/ReviewOrderPO.java @@ -97,13 +97,4 @@ public class ReviewOrderPO extends BaseVOEntity { /** 详情与上架单一致:头字段扁平 + 明细列表 */ @ApiModelProperty("复核明细") private List materialDetailList; - - @ApiModelProperty("货主id") - private String shipperId; - - @ApiModelProperty("货主编码") - private String shipperCode; - - @ApiModelProperty("货主名字") - private String shipperName; } diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/copyCodeReference/LineManagementAssembler.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/copyCodeReference/LineManagementAssembler.java new file mode 100644 index 000000000..78225275f --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/assember/copyCodeReference/LineManagementAssembler.java @@ -0,0 +1,24 @@ +package com.mhd.wms.interfaces.assember.copyCodeReference; + + +import com.mhd.common.core.utils.bean.BeanUtils; +import com.mhd.wms.domain.copyCodeReference.repository.todo.CopyCodeReferenceDO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; +import com.mhd.wms.interfaces.dto.LineManagement.LineManagementDTO; +import com.mhd.wms.interfaces.dto.copyCodeReference.CopyCodeReferenceDTO; +import org.springframework.stereotype.Component; + +@Component +public class LineManagementAssembler { + + public LineManagementDO toDO(LineManagementDTO lineManagementDTO){ + if(lineManagementDTO == null){ + return null; + } + LineManagementDO lineManagementDO = new LineManagementDO(); + BeanUtils.copyProperties(lineManagementDTO,lineManagementDO); + return lineManagementDO; + + } + +} diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/LineManagement/LineManagementDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/LineManagement/LineManagementDTO.java new file mode 100644 index 000000000..7810619be --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/LineManagement/LineManagementDTO.java @@ -0,0 +1,64 @@ +package com.mhd.wms.interfaces.dto.LineManagement; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.annotation.Excel; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalTime; +import java.util.Date; + +/** + * 线路管理对象 container + * + */ + +@Data +public class LineManagementDTO extends BaseVOEntity{ + private static final long serialVersionUID = 1L; + + @ApiModelProperty("id") + @TableId(type = IdType.AUTO) + private Long id; + + @ApiModelProperty("组织表ID") + @Excel(name = "组织表ID") + private Long organizationId; + + @ApiModelProperty("组织名称") + @Excel(name = "组织名称") + private String organizationName; + + @ApiModelProperty("一级组织表ID") + @Excel(name = "一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("仓库ID") + private Long warehouseId; + + @ApiModelProperty("仓库名字") + private String warehouseName; + + /** + * 路线编码 + */ + @ApiModelProperty("路线编码") + private String routeCode; + + /** + * 路线名称 + */ + @ApiModelProperty("路线名称") + private String routeName; + + /** + * 客户 + */ + @ApiModelProperty("客户Json数据") + private String customerJson; +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java new file mode 100644 index 000000000..ce852b3c5 --- /dev/null +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/lineManagement/LineManagementApi.java @@ -0,0 +1,96 @@ +package com.mhd.wms.interfaces.facadeApi.lineManagement; + +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.wms.domain.lineManagement.repository.facade.ILineManagementService; +import com.mhd.wms.domain.lineManagement.repository.po.LineManagementPO; +import com.mhd.wms.domain.lineManagement.repository.todo.LineManagementDO; +import com.mhd.wms.interfaces.assember.copyCodeReference.LineManagementAssembler; +import com.mhd.wms.interfaces.dto.LineManagement.LineManagementDTO; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 路线管理Api + */ +@RestController +@RequestMapping("/lineManagementApi") +public class LineManagementApi extends BaseController{ + + @Autowired + private ILineManagementService lineManagementService; + + @Resource + private LineManagementAssembler lineManagementAssembler; + + /** + * 分页查询路线管理列表 + */ + @ApiOperation("查询路线管理列表") + @GetMapping("/list") + public TableDataInfo list(LineManagementDTO lineManagementDTO) + { + //转换实体 + LineManagementDO lineManagementDO = lineManagementAssembler.toDO(lineManagementDTO); + startPage(); + List list = lineManagementService.queryList(lineManagementDO); + return getDataTable(list); + } + + /** + * 分页查询路线管理列表 + */ + @ApiOperation("查询路线管理列表") + @GetMapping("/listByApp") + public AjaxResult listByApp(LineManagementDTO lineManagementDTO) + { + //转换实体 + LineManagementDO lineManagementDO = lineManagementAssembler.toDO(lineManagementDTO); + List list = lineManagementService.queryList(lineManagementDO); + return AjaxResult.success(list); + } + + /** + * 编辑路线管理 + */ + @ApiOperation("编辑路线管理") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody LineManagementDTO lineManagementDTO) + { + //转换实体 + LineManagementDO lineManagementDO = lineManagementAssembler.toDO(lineManagementDTO); + if(lineManagementDTO.getId() != null){ + return toAjax(lineManagementService.update(lineManagementDO)); + }else { + return toAjax(lineManagementService.insert(lineManagementDO)); + } + } + + /** + * 批量删除路线管理 + */ + @ApiOperation("批量删除路线管理") + @DeleteMapping("/deleteByIds/{leaseIds}") + public AjaxResult delete(@PathVariable Long[] leaseIds) + { + return toAjax(lineManagementService.delete(leaseIds)); + } + + /** + * 获取路线管理详细信息 + */ + @ApiOperation("获取路线管理") + @GetMapping(value = "/getInfo/{leaseId}") + public AjaxResult getInfo(@PathVariable("leaseId") Long leaseId) + { + return AjaxResult.success(lineManagementService.getInfo(leaseId)); + } + + + +} diff --git a/mhd_wms/src/main/resources/mapper/lineManagement/LineManagementMapper.xml b/mhd_wms/src/main/resources/mapper/lineManagement/LineManagementMapper.xml new file mode 100644 index 000000000..d3c684eb2 --- /dev/null +++ b/mhd_wms/src/main/resources/mapper/lineManagement/LineManagementMapper.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select + a.id, + a.organization_id, + a.organization_name, + a.top_organization_id, + a.warehouse_id, + COALESCE(w.warehouse_name, a.warehouse_name) as warehouse_name, + a.route_code, + a.route_name, + a.customer_json, + a.create_time, + a.create_by, + a.create_by_name, + a.update_time, + a.update_by, + a.update_by_name, + a.del_flag, + a.service_items_code, + a.second_subject_code, + a.second_subject_name, + a.service_items_name, + a.bill_days, + a.bill_time, + a.salesman_name, + a.settlement_currency, + a.salesman_id + from lease a + LEFT JOIN warehouse w ON a.warehouse_id = w.warehouse_id AND w.del_flag = 1 + + + + + + + and a.id = #{id} + + + + and a.organization_id = #{organizationId} + + + and a.top_organization_id = #{topOrganizationId} + + + and a.organization_name like concat('%', #{organizationName}, '%') + + + + and a.warehouse_id = #{warehouseId} + + + and (w.warehouse_name like concat('%', #{warehouseName}, '%') or a.warehouse_name like concat('%', #{warehouseName}, '%')) + + + + and a.route_code like concat('%', #{routeCode}, '%') + + + and a.route_name like concat('%', #{routeName}, '%') + + + and a.customer_json like concat('%', #{customerJson}, '%') + + + + and a.create_by_name like concat('%', #{createByName}, '%') + + + and a.update_by_name like concat('%', #{updateByName}, '%') + + + + and a.create_time >= #{createTimeStart} + + + and a.create_time <= #{createTimeEnd} + + + and a.update_time >= #{updateTimeStart} + + + and a.update_time <= #{updateTimeEnd} + + + + + and a.del_flag = #{delFlag} + + + and a.del_flag = 1 + + + + + + + + \ No newline at end of file