first commit

This commit is contained in:
陈现府
2025-11-20 10:45:16 +08:00
commit 8355431361
2643 changed files with 291314 additions and 0 deletions
@@ -0,0 +1,98 @@
package com.mhd.basic.domain.abnormalAddressBook.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 异常匹配地址簿对象 abnormal_address_book
*
* @author gen
* @date 2024-07-23
*/
@Data
public class AbnormalAddressBook extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("异常匹配地址簿id")
@TableId(type = IdType.AUTO)
private Long abnormalAddressBookId;
@ApiModelProperty("一级组织表id")
@Excel(name = "一级组织表id")
private Long topOrganizationId;
@ApiModelProperty("id")
@Excel(name = "id")
private Long organizationId;
@ApiModelProperty("组织表name")
@Excel(name = "组织表name")
private String organizationName;
@ApiModelProperty("用户ID")
@Excel(name = "用户ID")
private Long userId;
@ApiModelProperty("地址类型(1-装货签到,2-卸货签到)")
@Excel(name = "地址类型", readConverterExp = "1=-装货签到,2-卸货签到")
private Integer addressSignType;
@ApiModelProperty("货源单id")
@Excel(name = "货源单id")
private String orderId;
@ApiModelProperty("运单id")
@Excel(name = "运单id")
private String transportationId;
@ApiModelProperty("运输单号")
@Excel(name = "运输单号")
private String transportationNumber;
@ApiModelProperty("货源单号")
@Excel(name = "货源单号")
private String goodsNumber;
@ApiModelProperty("省市区编码")
@Excel(name = "省市区编码")
private String actualAreaId;
@ApiModelProperty("省市区名称")
@Excel(name = "省市区名称")
private String actualAreaName;
@ApiModelProperty("原地址")
@Excel(name = "原地址")
private String originalAddress;
@ApiModelProperty("实际签到地址")
@Excel(name = "实际签到地址")
private String actualAddress;
@ApiModelProperty("实际签到地经度")
@Excel(name = "实际签到地经度")
private String actualLongitude;
@ApiModelProperty("实际签到地纬度")
@Excel(name = "实际签到地纬度")
private String actualLatitude;
@ApiModelProperty("审核人用户ID")
@Excel(name = "审核人用户ID")
private Long auditBy;
@ApiModelProperty("审核人名称")
@Excel(name = "审核人名称")
private String auditByName;
}
@@ -0,0 +1,45 @@
package com.mhd.basic.domain.abnormalAddressBook.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.abnormalAddressBook.entity.AbnormalAddressBook;
import com.mhd.basic.domain.abnormalAddressBook.repository.po.AbnormalAddressBookPO;
import com.mhd.basic.domain.abnormalAddressBook.repository.todo.AbnormalAddressBookDO;
import java.util.List;
/**
* 异常匹配地址簿Service接口
*
* @author gen
* @date 2024-07-23
*/
public interface IAbnormalAddressBookService extends IService<AbnormalAddressBook>
{
/**
* 分页查询异常匹配地址簿列表
*/
public List<AbnormalAddressBookPO> queryList(AbnormalAddressBookDO abnormalAddressBookDO);
/**
* 新增异常匹配地址簿
*/
public Boolean insert(AbnormalAddressBookDO abnormalAddressBookDO);
/**
* 修改异常匹配地址簿
*/
public Boolean update(AbnormalAddressBookDO abnormalAddressBookDO);
/**
* 批量删除异常匹配地址簿
*/
public Boolean delete(Long[] abnormalAddressBookIds);
/**
* 查询异常匹配地址簿
*/
public AbnormalAddressBookPO getInfo(Long abnormalAddressBookId);
AbnormalAddressBookPO matchAddressBook(AbnormalAddressBookDO abnormalAddressBookDO);
}
@@ -0,0 +1,26 @@
package com.mhd.basic.domain.abnormalAddressBook.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.abnormalAddressBook.entity.AbnormalAddressBook;
import com.mhd.basic.domain.abnormalAddressBook.repository.po.AbnormalAddressBookPO;
import com.mhd.basic.domain.abnormalAddressBook.repository.todo.AbnormalAddressBookDO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* 异常匹配地址簿Mapper接口
*
* @author gen
* @date 2024-07-23
*/
public interface AbnormalAddressBookMapper extends BaseMapper<AbnormalAddressBook>
{
/**
* 查询异常匹配地址簿列表
*/
public List<AbnormalAddressBookPO> queryList(AbnormalAddressBookDO abnormalAddressBookDO);
AbnormalAddressBookPO matchAddressBook(AbnormalAddressBookDO abnormalAddressBookDO);
}
@@ -0,0 +1,86 @@
package com.mhd.basic.domain.abnormalAddressBook.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.abnormalAddressBook.entity.AbnormalAddressBook;
import com.mhd.basic.domain.abnormalAddressBook.repository.facade.IAbnormalAddressBookService;
import com.mhd.basic.domain.abnormalAddressBook.repository.mapper.AbnormalAddressBookMapper;
import com.mhd.basic.domain.abnormalAddressBook.repository.po.AbnormalAddressBookPO;
import com.mhd.basic.domain.abnormalAddressBook.repository.todo.AbnormalAddressBookDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 异常匹配地址簿Service业务层处理
*
* @author gen
* @date 2024-07-23
*/
@Service
public class AbnormalAddressBookImpl extends ServiceImpl<AbnormalAddressBookMapper, AbnormalAddressBook> implements IAbnormalAddressBookService{
@Autowired
private AbnormalAddressBookMapper abnormalAddressBookMapper;
/**
* 查询异常匹配地址簿列表
*/
@Override
public List<AbnormalAddressBookPO> queryList(AbnormalAddressBookDO abnormalAddressBookDO)
{
return abnormalAddressBookMapper.queryList(abnormalAddressBookDO);
}
/**
* 新增异常匹配地址簿
*/
@Override
public Boolean insert(AbnormalAddressBookDO abnormalAddressBookDO) {
AbnormalAddressBook abnormalAddressBook = new AbnormalAddressBook();
BeanUtils.copyProperties(abnormalAddressBookDO,abnormalAddressBook);
return this.save(abnormalAddressBook);
}
/**
* 修改异常匹配地址簿
*/
@Override
public Boolean update(AbnormalAddressBookDO abnormalAddressBookDO) {
AbnormalAddressBook abnormalAddressBook = new AbnormalAddressBook();
BeanUtils.copyProperties(abnormalAddressBookDO,abnormalAddressBook);
return this.updateById(abnormalAddressBook);
}
/**
* 批量删除异常匹配地址簿
*/
@Override
public Boolean delete(Long[] abnormalAddressBookIds ) {
List<AbnormalAddressBook> list = new ArrayList<>();
for (Long id : abnormalAddressBookIds) {
AbnormalAddressBook abnormalAddressBook = new AbnormalAddressBook();
abnormalAddressBook.setAbnormalAddressBookId(id);
abnormalAddressBook.setDelFlag(2);
list.add(abnormalAddressBook);
}
return this.updateBatchById(list);
}
/**
* 修改异常匹配地址簿
*/
@Override
public AbnormalAddressBookPO getInfo(Long abnormalAddressBookId) {
AbnormalAddressBook abnormalAddressBook = this.getById(abnormalAddressBookId);
AbnormalAddressBookPO abnormalAddressBookPO = new AbnormalAddressBookPO();
BeanUtils.copyProperties(abnormalAddressBook,abnormalAddressBookPO);
return abnormalAddressBookPO;
}
@Override
public AbnormalAddressBookPO matchAddressBook(AbnormalAddressBookDO abnormalAddressBookDO) {
return abnormalAddressBookMapper.matchAddressBook(abnormalAddressBookDO);
}
}
@@ -0,0 +1,98 @@
package com.mhd.basic.domain.abnormalAddressBook.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 异常匹配地址簿对象 abnormal_address_book
*
* @author gen
* @date 2024-07-23
*/
@Data
@ApiModel(value = "异常匹配地址簿对象", description = "异常匹配地址簿响应对象")
public class AbnormalAddressBookPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("异常匹配地址簿id")
private Long abnormalAddressBookId;
@ApiModelProperty("一级组织表id")
@Excel(name = "一级组织表id")
private Long topOrganizationId;
@ApiModelProperty("id")
@Excel(name = "id")
private Long organizationId;
@ApiModelProperty("组织表name")
@Excel(name = "组织表name")
private String organizationName;
@ApiModelProperty("用户ID")
@Excel(name = "用户ID")
private Long userId;
@ApiModelProperty("地址类型(1-装货签到,2-卸货签到)")
@Excel(name = "地址类型", readConverterExp = "1=-装货签到,2-卸货签到")
private Integer addressSignType;
@ApiModelProperty("货源单id")
@Excel(name = "货源单id")
private String orderId;
@ApiModelProperty("运单id")
@Excel(name = "运单id")
private String transportationId;
@ApiModelProperty("运输单号")
@Excel(name = "运输单号")
private String transportationNumber;
@ApiModelProperty("货源单号")
@Excel(name = "货源单号")
private String goodsNumber;
@ApiModelProperty("省市区编码")
@Excel(name = "省市区编码")
private String actualAreaId;
@ApiModelProperty("省市区名称")
@Excel(name = "省市区名称")
private String actualAreaName;
@ApiModelProperty("原地址")
@Excel(name = "原地址")
private String originalAddress;
@ApiModelProperty("实际签到地址")
@Excel(name = "实际签到地址")
private String actualAddress;
@ApiModelProperty("实际签到地经度")
@Excel(name = "实际签到地经度")
private String actualLongitude;
@ApiModelProperty("实际签到地纬度")
@Excel(name = "实际签到地纬度")
private String actualLatitude;
@ApiModelProperty("审核人用户ID")
@Excel(name = "审核人用户ID")
private Long auditBy;
@ApiModelProperty("审核人名称")
@Excel(name = "审核人名称")
private String auditByName;
}
@@ -0,0 +1,116 @@
package com.mhd.basic.domain.abnormalAddressBook.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.List;
/**
* 异常匹配地址簿对象 abnormal_address_book
*
* @author gen
* @date 2024-07-23
*/
@Data
public class AbnormalAddressBookDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("异常匹配地址簿id")
private Long abnormalAddressBookId;
@ApiModelProperty("一级组织表id")
@Excel(name = "一级组织表id")
private Long topOrganizationId;
@ApiModelProperty("id")
@Excel(name = "id")
private Long organizationId;
@ApiModelProperty("组织表name")
@Excel(name = "组织表name")
private String organizationName;
@ApiModelProperty("用户ID")
@Excel(name = "用户ID")
private Long userId;
@ApiModelProperty("地址类型(1-装货签到,2-卸货签到)")
@Excel(name = "地址类型", readConverterExp = "1=-装货签到,2-卸货签到")
private Integer addressSignType;
@ApiModelProperty("货源单id")
@Excel(name = "货源单id")
private String orderId;
@ApiModelProperty("运单id")
@Excel(name = "运单id")
private String transportationId;
@ApiModelProperty("运输单号")
@Excel(name = "运输单号")
private String transportationNumber;
@ApiModelProperty("货源单号")
@Excel(name = "货源单号")
private String goodsNumber;
@ApiModelProperty("省市区编码")
@Excel(name = "省市区编码")
private String actualAreaId;
@ApiModelProperty("省市区名称")
@Excel(name = "省市区名称")
private String actualAreaName;
@ApiModelProperty("原地址")
@Excel(name = "原地址")
private String originalAddress;
@ApiModelProperty("实际签到地址")
@Excel(name = "实际签到地址")
private String actualAddress;
@ApiModelProperty("实际签到地经度")
@Excel(name = "实际签到地经度")
private String actualLongitude;
@ApiModelProperty("实际签到地纬度")
@Excel(name = "实际签到地纬度")
private String actualLatitude;
@ApiModelProperty("审核人用户ID")
@Excel(name = "审核人用户ID")
private Long auditBy;
@ApiModelProperty("审核人名称")
@Excel(name = "审核人名称")
private String auditByName;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
/**
* 创建日期开始
*/
@ApiModelProperty("创建日期开始")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date startTime;
/**
* 创建日期结束
*/
@ApiModelProperty("创建日期结束")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date endTime;
}
@@ -0,0 +1,72 @@
package com.mhd.basic.domain.abnormalAddressBook.service;
import com.mhd.basic.domain.abnormalAddressBook.entity.AbnormalAddressBook;
import com.mhd.basic.domain.abnormalAddressBook.repository.facade.IAbnormalAddressBookService;
import com.mhd.basic.domain.abnormalAddressBook.repository.po.AbnormalAddressBookPO;
import com.mhd.basic.domain.abnormalAddressBook.repository.todo.AbnormalAddressBookDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 异常匹配地址簿
*
* @author gen
* @date 2024-07-23
*/
@Service
@Slf4j
public class AbnormalAddressBookDomainService {
@Autowired
private IAbnormalAddressBookService abnormalAddressBookService;
/**
* 分页查询异常匹配地址簿列表
*/
public List<AbnormalAddressBookPO> queryList(AbnormalAddressBookDO abnormalAddressBookDO) {
return abnormalAddressBookService.queryList(abnormalAddressBookDO);
}
/**
* 新增异常匹配地址簿
*/
public Boolean insert(AbnormalAddressBookDO abnormalAddressBookDO) {
return abnormalAddressBookService.insert(abnormalAddressBookDO);
}
/**
* 修改异常匹配地址簿
*/
public Boolean update(AbnormalAddressBookDO abnormalAddressBookDO) {
return abnormalAddressBookService.update(abnormalAddressBookDO);
}
/**
* 批量删除异常匹配地址簿
*/
public Boolean delete(Long[] abnormalAddressBookIds) {
return abnormalAddressBookService.delete(abnormalAddressBookIds);
}
/**
* 获取异常匹配地址簿详细信息
*/
public AbnormalAddressBookPO getInfo(Long abnormalAddressBookId)
{
return abnormalAddressBookService.getInfo(abnormalAddressBookId);
}
public void saveBatchAddressBook(List<AbnormalAddressBook> list) {
abnormalAddressBookService.saveBatch(list);
}
public AbnormalAddressBookPO matchAddressBook(AbnormalAddressBookDO abnormalAddressBookDO) {
return abnormalAddressBookService.matchAddressBook(abnormalAddressBookDO);
}
}
@@ -0,0 +1,62 @@
package com.mhd.basic.domain.addressBook.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* 地址簿对象 实体
*
* 2023-04-04
*
* @author 王子豪
*/
@Data
@TableName("address_book")
public class AddressBook extends BaseVOEntity implements Serializable
{
@ApiModelProperty(name = "地址簿id")
@TableId(type = IdType.AUTO)
private Long addressBookId;
@ApiModelProperty(name = "用户ID")
private Long userId;
@ApiModelProperty(name = "联系人")
private String linkMan;
@ApiModelProperty(name = "联系方式")
private String linkPhone;
@ApiModelProperty(name = "省份编码")
private Long provinceCode;
@ApiModelProperty(name = "城市编码")
private Long cityCode;
@ApiModelProperty(name = "县区编码")
private Long countyCode;
@ApiModelProperty(name = "省份名称")
private String provinceName;
@ApiModelProperty(name = "城市名称")
private String cityName;
@ApiModelProperty(name = "县区名称")
private String countyName;
@ApiModelProperty(name = "省市区名称")
private String areaName;
@ApiModelProperty(name = "地址")
private String address;
@ApiModelProperty(name = "门牌信息")
private String doorplate;
@ApiModelProperty(name = "备注")
private String remark;
@ApiModelProperty(name = "是否默认地址:1.默认2.不默认")
private Integer defaultStatus;
@ApiModelProperty(name = "经度")
private String longitude;
@ApiModelProperty(name = "纬度")
private String latitude;
@ApiModelProperty(name = "地址小区")
private String addressPlot;
@ApiModelProperty(name = "单位名称")
private String unitName;
}
@@ -0,0 +1,132 @@
package com.mhd.basic.domain.addressBook.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 常用路线对象 common_route
*
* @author mhd
* @date 2023-04-19
*/
@Data
@TableName("common_route")
public class CommonRoute extends BaseVOEntity
{
private static final long serialVersionUID = 1L;
/** 常用路线id */
@ApiModelProperty(name = "常用路线id")
@TableId(type = IdType.AUTO)
private Long commonRouteId;
/** 用户ID */
@ApiModelProperty(name = "用户ID")
private Long userId;
/** 发货地址簿id */
@ApiModelProperty(name = "发货地址簿id")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long sendAddressId;
/** 途径地地址簿id集合 */
@ApiModelProperty(name = "途径地地址簿id集合")
private String throughAddressId;
/** 收货地址簿id */
@ApiModelProperty(name = "收货地址簿id")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long receiveAddressId;
@ApiModelProperty("发货联系人")
@Excel(name = "发货联系人")
private String mailName;
@ApiModelProperty("发货联系方式")
@Excel(name = "发货联系方式")
private String mailPhone;
@ApiModelProperty("发货县区编码")
@Excel(name = "发货县区编码")
private Long mailCountyCode;
@ApiModelProperty("发货县区名称")
@Excel(name = "发货县区名称")
private String mailCountyName;
@ApiModelProperty("发货门牌信息")
@Excel(name = "发货门牌信息")
private String mailDoorplate;
/** 发货地址 */
@ApiModelProperty(name = "发货地址")
private String mailAddress;
/** 发货地址经度 */
@ApiModelProperty(name = "发货地址经度")
private String sendLongitude;
/** 发货地址纬度 */
@ApiModelProperty(name = "发货地址纬度")
private String sendLatitude;
@ApiModelProperty("收货联系人")
@Excel(name = "收货联系人")
private String addresseeName;
@ApiModelProperty("收货联系方式")
@Excel(name = "收货联系方式")
private String addresseePhone;
@ApiModelProperty("收货县区编码")
@Excel(name = "收货县区编码")
private Long addresseeCountyCode;
@ApiModelProperty("收货县区名称")
@Excel(name = "收货县区名称")
private String addresseeCountyName;
@ApiModelProperty("收货门牌信息")
@Excel(name = "收货门牌信息")
private String addresseeDoorplate;
/** 收货地址 */
@ApiModelProperty(name = "收货地址")
private String addresseeAddress;
/** 收货地址经度 */
@ApiModelProperty(name = "收货地址经度")
private String receiveLongitude;
/** 收货地址纬度 */
@ApiModelProperty(name = "收货地址纬度")
private String receiveLatitude;
@ApiModelProperty(name = "发货地址小区")
private String mailAddressPlot;
@ApiModelProperty(name = "收货地址小区")
private String addresseeAddressPlot;
@ApiModelProperty(name = "线路名称")
private java.lang.String lineName;
@ApiModelProperty(name = "运距(千米)")
private java.math.BigDecimal haulDistance;
/** 发货单位名称 */
@ApiModelProperty(name = "发货单位名称")
private String sendUnitName;
/** 收货单位名称 */
@ApiModelProperty(name = "收货单位名称")
private String receiveUnitName;
@ApiModelProperty(name = "运费单价")
private BigDecimal freightUnitPrice;
}
@@ -0,0 +1,98 @@
package com.mhd.basic.domain.addressBook.repository.facade;
import com.mhd.basic.domain.addressBook.entity.AddressBook;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.common.core.domain.po.AddressBookPo;
import com.mhd.common.core.domain.po.CommonRoutePo;
import java.util.List;
/**
* 地址簿 业务层
*
* 2023-04-04
*
* @author 王子豪
*/
public interface AddressBookRepositoryInterface
{
/**
* 查询地址簿
*
* @param addressBookId 地址簿主键
* @return 地址簿
*/
public AddressBookPo selectAddressBookByAddressBookId(Long addressBookId);
/**
* 查询地址簿列表
*
* @param addressBookPo 地址簿
* @return 地址簿集合
*/
public List<AddressBookPo> selectAddressBookList(AddressBookPo addressBookPo);
/**
* 新增地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int insertAddressBook(AddressBook addressBook);
/**
* 修改地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int updateAddressBook(AddressBook addressBook);
/**
* 批量删除地址簿
*
* @param addressBookIds 需要删除的地址簿主键集合
* @return 结果
*/
public int deleteAddressBookByAddressBookIds(Long[] addressBookIds);
/**
* 删除地址簿信息
*
* @param addressBookId 地址簿主键
* @return 结果
*/
public int deleteAddressBookByAddressBookId(Long addressBookId);
/**
* 查询常用路线集合
*
* @param commonRoutePo 常用路线
* @return 常用路线集合
*/
public List<CommonRoutePo> selectCommonRouteList(CommonRoutePo commonRoutePo);
/**
* 新增常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int insertCommonRoute(CommonRoute commonRoute);
/**
* 修改常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int updateCommonRoute(CommonRoute commonRoute);
/**
* 根据货单id查询地址簿列表
*
* @param manifestId 货单id
* @return 地址簿集合
*/
public List<AddressBookPo> selectAddressBookListByManifestId(Long manifestId);
}
@@ -0,0 +1,34 @@
package com.mhd.basic.domain.addressBook.repository.facade;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.common.core.domain.po.CommonRoutePo;
import com.mhd.basic.domain.addressBook.todo.CommonRouteDo;
/**
* 常用路线Service接口
*
* @author mhd
* @date 2023-04-19
*/
public interface CommonRouteInterface extends IService<CommonRoute>
{
/**
* 查询常用路线
*
* @param commonRouteId 常用路线主键
* @return 常用路线
*/
public CommonRoutePo selectCommonRouteByCommonRouteId(Long commonRouteId);
/**
* 查询常用路线列表
*
* @param commonRouteDo 常用路线
* @return 常用路线集合
*/
public List<CommonRoutePo> selectCommonRouteList(CommonRouteDo commonRouteDo);
}
@@ -0,0 +1,101 @@
package com.mhd.basic.domain.addressBook.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.addressBook.entity.AddressBook;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.common.core.domain.po.AddressBookPo;
import com.mhd.common.core.domain.po.CommonRoutePo;
import java.util.List;
/**
* 地址簿 数据层
*
* 2023-04-04
*
* @author 王子豪
*/
public interface AddressBookMapper extends BaseMapper<AddressBook>
{
/**
* 查询地址簿
*
* @param addressBookId 地址簿主键
* @return 地址簿
*/
public AddressBookPo selectAddressBookByAddressBookId(Long addressBookId);
/**
* 查询地址簿列表
*
* @param addressBookPo 地址簿
* @return 地址簿集合
*/
public List<AddressBookPo> selectAddressBookList(AddressBookPo addressBookPo);
/**
* 新增地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int insertAddressBook(AddressBook addressBook);
/**
* 修改地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int updateAddressBook(AddressBook addressBook);
/**
* 删除地址簿
*
* @param addressBookId 地址簿主键
* @return 结果
*/
public int deleteAddressBookByAddressBookId(Long addressBookId);
/**
* 批量删除地址簿
*
* @param addressBookIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteAddressBookByAddressBookIds(Long[] addressBookIds);
/**
* 查询常用路线集合
*
* @param commonRoutePo 常用路线
* @return 常用路线集合
*/
public List<CommonRoutePo> selectCommonRouteList(CommonRoutePo commonRoutePo);
/**
* 新增常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int insertCommonRoute(CommonRoute commonRoute);
/**
* 修改常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int updateCommonRoute(CommonRoute commonRoute);
/**
* 根据货单id查询地址簿列表
*
* @param manifestId 货单id
* @return 地址簿集合
*/
public List<AddressBookPo> selectAddressBookListByManifestId(Long manifestId);
}
@@ -0,0 +1,35 @@
package com.mhd.basic.domain.addressBook.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.common.core.domain.po.CommonRoutePo;
import com.mhd.basic.domain.addressBook.todo.CommonRouteDo;
import org.apache.ibatis.annotations.Param;
/**
* 常用路线Mapper接口
*
* @author mhd
* @date 2023-04-19
*/
public interface CommonRouteMapper extends BaseMapper<CommonRoute>
{
/**
* 查询常用路线
*
* @param commonRouteId 常用路线主键
* @return 常用路线
*/
public CommonRoutePo selectCommonRouteByCommonRouteId(@Param("commonRouteId") Long commonRouteId);
/**
* 查询常用路线列表
*
* @param commonRouteDo 常用路线
* @return 常用路线集合
*/
public List<CommonRoutePo> selectCommonRouteList(@Param("commonRouteDo") CommonRouteDo commonRouteDo);
}
@@ -0,0 +1,143 @@
package com.mhd.basic.domain.addressBook.repository.persistence;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.addressBook.entity.AddressBook;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.basic.domain.addressBook.repository.facade.AddressBookRepositoryInterface;
import com.mhd.basic.domain.addressBook.repository.mapper.AddressBookMapper;
import com.mhd.common.core.domain.po.AddressBookPo;
import com.mhd.common.core.domain.po.CommonRoutePo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 地址簿 业务层
*
* 2023-04-04
*
* @author 王子豪
*/
@Service
public class AddressBookRepositoryImpl extends ServiceImpl<AddressBookMapper,AddressBook> implements AddressBookRepositoryInterface
{
@Autowired
private AddressBookMapper addressBookMapper;
/**
* 查询地址簿
*
* @param addressBookId 地址簿主键
* @return 地址簿
*/
@Override
public AddressBookPo selectAddressBookByAddressBookId(Long addressBookId)
{
return addressBookMapper.selectAddressBookByAddressBookId(addressBookId);
}
/**
* 查询地址簿列表
*
* @param addressBookPo 地址簿
* @return 地址簿
*/
@Override
public List<AddressBookPo> selectAddressBookList(AddressBookPo addressBookPo)
{
return addressBookMapper.selectAddressBookList(addressBookPo);
}
/**
* 新增地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
@Override
public int insertAddressBook(AddressBook addressBook)
{
return addressBookMapper.insertAddressBook(addressBook);
}
/**
* 修改地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
@Override
public int updateAddressBook(AddressBook addressBook)
{
return addressBookMapper.updateAddressBook(addressBook);
}
/**
* 批量删除地址簿
*
* @param addressBookIds 需要删除的地址簿主键
* @return 结果
*/
@Override
public int deleteAddressBookByAddressBookIds(Long[] addressBookIds)
{
return addressBookMapper.deleteAddressBookByAddressBookIds(addressBookIds);
}
/**
* 删除地址簿信息
*
* @param addressBookId 地址簿主键
* @return 结果
*/
@Override
public int deleteAddressBookByAddressBookId(Long addressBookId)
{
return addressBookMapper.deleteAddressBookByAddressBookId(addressBookId);
}
/**
* 查询常用路线集合
*
* @param commonRoutePo 常用路线
* @return 常用路线集合
*/
@Override
public List<CommonRoutePo> selectCommonRouteList(CommonRoutePo commonRoutePo){
return addressBookMapper.selectCommonRouteList(commonRoutePo);
}
/**
* 新增常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
@Override
public int insertCommonRoute(CommonRoute commonRoute){
return addressBookMapper.insertCommonRoute(commonRoute);
}
/**
* 修改常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
@Override
public int updateCommonRoute(CommonRoute commonRoute){
return addressBookMapper.updateCommonRoute(commonRoute);
}
/**
* 根据货单id查询地址簿列表
*
* @param manifestId 货单id
* @return 地址簿集合
*/
@Override
public List<AddressBookPo> selectAddressBookListByManifestId(Long manifestId){
return addressBookMapper.selectAddressBookListByManifestId(manifestId);
}
}
@@ -0,0 +1,50 @@
package com.mhd.basic.domain.addressBook.repository.persistence;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.basic.domain.addressBook.repository.facade.CommonRouteInterface;
import com.mhd.basic.domain.addressBook.repository.mapper.CommonRouteMapper;
import com.mhd.common.core.domain.po.CommonRoutePo;
import com.mhd.basic.domain.addressBook.todo.CommonRouteDo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* 常用路线Service业务层处理
*
* @author mhd
* @date 2023-04-19
*/
@Service
public class CommonRouteImpl extends ServiceImpl<CommonRouteMapper, CommonRoute> implements CommonRouteInterface
{
@Autowired
private CommonRouteMapper commonRouteMapper;
/**
* 查询常用路线
*
* @param commonRouteId 常用路线主键
* @return 常用路线
*/
@Override
public CommonRoutePo selectCommonRouteByCommonRouteId(Long commonRouteId)
{
return commonRouteMapper.selectCommonRouteByCommonRouteId(commonRouteId);
}
/**
* 查询常用路线列表
*
* @param commonRouteDo 常用路线
* @return 常用路线
*/
@Override
public List<CommonRoutePo> selectCommonRouteList(CommonRouteDo commonRouteDo)
{
return commonRouteMapper.selectCommonRouteList(commonRouteDo);
}
}
@@ -0,0 +1,160 @@
package com.mhd.basic.domain.addressBook.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.basic.domain.addressBook.entity.AddressBook;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.basic.domain.addressBook.repository.persistence.AddressBookRepositoryImpl;
import com.mhd.common.core.domain.po.AddressBookPo;
import com.mhd.common.core.domain.po.CommonRoutePo;
import com.mhd.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 地址簿 防腐层
*
* 本层为防腐层,业务逻辑可在本层完成
*
* 2023-04-04
*
* @author 王子豪
*/
@Service
public class AddressBookDomainService
{
@Autowired
private AddressBookRepositoryImpl addressBookRepositoryImpl;
/**
* 查询地址簿
*
* @param addressBookId 地址簿主键
* @return 地址簿
*/
public AddressBookPo selectAddressBookByAddressBookId(Long addressBookId)
{
return addressBookRepositoryImpl.selectAddressBookByAddressBookId(addressBookId);
}
/**
* 查询地址簿列表
*
* @param addressBookPo 地址簿
* @return 地址簿
*/
public List<AddressBookPo> selectAddressBookList(AddressBookPo addressBookPo)
{
return addressBookRepositoryImpl.selectAddressBookList(addressBookPo);
}
/**
* 新增地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int insertAddressBook(AddressBook addressBook)
{
return addressBookRepositoryImpl.insertAddressBook(addressBook);
}
/**
* 修改地址簿
*
* @param addressBook 地址簿
* @return 结果
*/
public int updateAddressBook(AddressBook addressBook)
{
return addressBookRepositoryImpl.updateAddressBook(addressBook);
}
/**
* 批量删除地址簿
*
* @param addressBookIds 需要删除的地址簿主键
* @return 结果
*/
public int deleteAddressBookByAddressBookIds(Long[] addressBookIds)
{
return addressBookRepositoryImpl.deleteAddressBookByAddressBookIds(addressBookIds);
}
/**
* 删除地址簿信息
*
* @param addressBookId 地址簿主键
* @return 结果
*/
public int deleteAddressBookByAddressBookId(Long addressBookId)
{
return addressBookRepositoryImpl.deleteAddressBookByAddressBookId(addressBookId);
}
/**
* 查询常用路线集合
*
* @param commonRoutePo 常用路线
* @return 常用路线集合
*/
public List<CommonRoutePo> selectCommonRouteList(CommonRoutePo commonRoutePo){
return addressBookRepositoryImpl.selectCommonRouteList(commonRoutePo);
}
/**
* 新增常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int insertCommonRoute(CommonRoute commonRoute){
return addressBookRepositoryImpl.insertCommonRoute(commonRoute);
}
/**
* 修改常用路线
*
* @param commonRoute 常用路线
* @return 结果
*/
public int updateCommonRoute(CommonRoute commonRoute){
return addressBookRepositoryImpl.updateCommonRoute(commonRoute);
}
/**
* 根据货单id查询地址簿列表
*
* @param manifestId 货单id
* @return 地址簿集合
*/
public List<AddressBookPo> selectAddressBookListByManifestId(Long manifestId){
return addressBookRepositoryImpl.selectAddressBookListByManifestId(manifestId);
}
/**
* 删除地址簿
* @param addressBookId
* @return
*/
public int deleteAddressBookById(Long addressBookId) {
AddressBook addressBook = new AddressBook();
addressBook.setAddressBookId(addressBookId);
addressBook.setUpdateBy(SecurityUtils.getUserId());
addressBook.setUpdateByName(SecurityUtils.getUsername());
addressBook.setUpdateTime(new Date());
addressBook.setDelFlag(2);
return addressBookRepositoryImpl.updateAddressBook(addressBook);
}
/**
* 使用lambda表达式做条件查询单个地址
* @param queryWrapper 查询条件
* @return
*/
public AddressBook selectOneByLambda(LambdaQueryWrapper<AddressBook> queryWrapper) {
return addressBookRepositoryImpl.getOne(queryWrapper);
}
}
@@ -0,0 +1,70 @@
package com.mhd.basic.domain.addressBook.service;
import com.mhd.basic.domain.addressBook.entity.CommonRoute;
import com.mhd.basic.domain.addressBook.repository.facade.CommonRouteInterface;
import com.mhd.common.core.domain.po.CommonRoutePo;
import com.mhd.basic.domain.addressBook.todo.CommonRouteDo;
import com.mhd.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* 常用路线Service业务层处理
*
* @author mhd
* @date 2023-04-19
*/
@Service
public class CommonRouteDomainService
{
@Autowired
private CommonRouteInterface commonRouteInterface;
/**
* 查询常用路线
*
* @param commonRouteId 常用路线主键
* @return 常用路线
*/
public CommonRoutePo selectCommonRouteByCommonRouteId(Long commonRouteId)
{
return commonRouteInterface.selectCommonRouteByCommonRouteId(commonRouteId);
}
/**
* 查询常用路线列表
*
* @param commonRouteDo 常用路线
* @return 常用路线
*/
public List<CommonRoutePo> selectCommonRouteList(CommonRouteDo commonRouteDo)
{
return commonRouteInterface.selectCommonRouteList(commonRouteDo);
}
public boolean insertCommonRoute(CommonRoute commonRoute) {
return commonRouteInterface.save(commonRoute);
}
public boolean updateCommonRoute(CommonRoute commonRoute) {
return commonRouteInterface.updateById(commonRoute);
}
/**
* 删除常用线路
* @param commonRouteId
* @return
*/
public boolean removeCommonRouteById(Long commonRouteId) {
CommonRoute commonRoute = new CommonRoute();
commonRoute.setCommonRouteId(commonRouteId);
commonRoute.setUpdateBy(SecurityUtils.getUserId());
commonRoute.setUpdateByName(SecurityUtils.getUsername());
commonRoute.setUpdateTime(new Date());
commonRoute.setDelFlag(2);
return commonRouteInterface.updateById(commonRoute);
}
}
@@ -0,0 +1,129 @@
package com.mhd.basic.domain.addressBook.todo;
import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* 常用路线对象 common_route
*
* @author mhd
* @date 2023-04-19
*/
@Data
public class CommonRouteDo extends BaseVOEntity
{
private static final long serialVersionUID = 1L;
/** 常用路线id */
@ApiModelProperty(name = "常用路线id")
private Long commonRouteId;
/** 用户ID */
@ApiModelProperty(name = "用户ID")
private Long userId;
/** 发货地址簿id */
@ApiModelProperty(name = "发货地址簿id")
private Long sendAddressId;
/** 途径地地址簿id集合 */
@ApiModelProperty(name = "途径地地址簿id集合")
private String throughAddressId;
/** 收货地址簿id */
@ApiModelProperty(name = "收货地址簿id")
private Long receiveAddressId;
@ApiModelProperty("发货联系人")
@Excel(name = "发货联系人")
private String mailName;
@ApiModelProperty("发货联系方式")
@Excel(name = "发货联系方式")
private String mailPhone;
@ApiModelProperty("发货县区编码")
@Excel(name = "发货县区编码")
private Long mailCountyCode;
@ApiModelProperty("发货县区名称")
@Excel(name = "发货县区名称")
private String mailCountyName;
@ApiModelProperty("发货门牌信息")
@Excel(name = "发货门牌信息")
private String mailDoorplate;
/** 发货地址 */
@ApiModelProperty(name = "发货地址")
private String mailAddress;
/** 发货地址经度 */
@ApiModelProperty(name = "发货地址经度")
private String sendLongitude;
/** 发货地址纬度 */
@ApiModelProperty(name = "发货地址纬度")
private String sendLatitude;
@ApiModelProperty("收货联系人")
@Excel(name = "收货联系人")
private String addresseeName;
@ApiModelProperty("收货联系方式")
@Excel(name = "收货联系方式")
private String addresseePhone;
@ApiModelProperty("收货县区编码")
@Excel(name = "收货县区编码")
private Long addresseeCountyCode;
@ApiModelProperty("收货县区名称")
@Excel(name = "收货县区名称")
private String addresseeCountyName;
@ApiModelProperty("收货门牌信息")
@Excel(name = "收货门牌信息")
private String addresseeDoorplate;
/** 收货地址 */
@ApiModelProperty(name = "收货地址")
private String addresseeAddress;
/** 收货地址经度 */
@ApiModelProperty(name = "收货地址经度")
private String receiveLongitude;
/** 收货地址纬度 */
@ApiModelProperty(name = "收货地址纬度")
private String receiveLatitude;
@ApiModelProperty(name = "APP查询条件")
private String synthesize;
@ApiModelProperty(name = "发货地址小区")
private String mailAddressPlot;
@ApiModelProperty(name = "收货地址小区")
private String addresseeAddressPlot;
@ApiModelProperty(name = "线路名称")
private java.lang.String lineName;
@ApiModelProperty(name = "运距(千米)")
private java.math.BigDecimal haulDistance;
/** 发货单位名称 */
@ApiModelProperty(name = "发货单位名称")
private String sendUnitName;
/** 收货单位名称 */
@ApiModelProperty(name = "收货单位名称")
private String receiveUnitName;
@ApiModelProperty(name = "运费单价")
private BigDecimal freightUnitPrice;
}
@@ -0,0 +1,35 @@
package com.mhd.basic.domain.areaAggregate.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 城市信息表
* @Author Alex
* @Date 2022/12/15 15:47
*/
@Data
@TableName("sys_city")
public class SysCityEntity extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
@ApiModelProperty(name = "城市表id")
private Long cityId;
@ApiModelProperty(name = "城市编码")
private Long cityCode;
@ApiModelProperty(name = "城市编码-最新")
private Long cityCodeNew;
@ApiModelProperty(name = "省编码")
private Long provinceCode;
@ApiModelProperty(name = "城市名称")
private String cityName;
@ApiModelProperty(name = "城市备注信息")
private String cityRemark;
}
@@ -0,0 +1,35 @@
package com.mhd.basic.domain.areaAggregate.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 区县信息表
* @Author Alex
* @Date 2022/12/15 15:47
*/
@Data
@TableName("sys_county")
public class SysCountyEntity extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
@ApiModelProperty(name = "区县表id")
private Long countyId;
@ApiModelProperty(name = "区县编码")
private Long countyCode;
@ApiModelProperty(name = "区县编码-最新")
private Long countyCodeNew;
@ApiModelProperty(name = "区县名称")
private String countyName;
@ApiModelProperty(name = "城市编码")
private Long cityCode;
@ApiModelProperty(name = "区县备注信息")
private String countyRemark;
}
@@ -0,0 +1,32 @@
package com.mhd.basic.domain.areaAggregate.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 省份信息表
* @Author Alex
* @Date 2022/12/15 15:47
*/
@Data
@TableName("sys_province")
public class SysProvinceEntity extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
@ApiModelProperty(name = "省份表id")
private Long provinceId;
@ApiModelProperty(name = "省份编码")
private Long provinceCode;
@ApiModelProperty(name = "省份名称")
private String provinceName;
@ApiModelProperty(name = "省份备注信息")
private String provinceRemark;
}
@@ -0,0 +1,33 @@
package com.mhd.basic.domain.areaAggregate.factory;
import com.mhd.basic.domain.areaAggregate.entity.SysCityEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysCountyEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysProvinceEntity;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.bean.BeanUtils;
import org.springframework.stereotype.Service;
@Service
public class SysProvinceCityCountyFactory {
public SysProvinceEntity getProvinceEntity(SysProvinceCityCountyDO sysProvinceDO) {
SysProvinceEntity sysProvinceEntity = new SysProvinceEntity();
BeanUtils.copyProperties(sysProvinceDO, sysProvinceEntity, IgnoreNullUtil.getNullPropertyNames(sysProvinceDO));
return sysProvinceEntity;
}
public SysCityEntity getCityEntity(SysProvinceCityCountyDO sysProvinceDO) {
SysCityEntity sysCityEntity = new SysCityEntity();
BeanUtils.copyProperties(sysProvinceDO, sysCityEntity, IgnoreNullUtil.getNullPropertyNames(sysProvinceDO));
return sysCityEntity;
}
public SysCountyEntity getCountyEntity(SysProvinceCityCountyDO sysProvinceDO) {
SysCountyEntity sysCountyEntity = new SysCountyEntity();
BeanUtils.copyProperties(sysProvinceDO, sysCountyEntity, IgnoreNullUtil.getNullPropertyNames(sysProvinceDO));
return sysCountyEntity;
}
}
@@ -0,0 +1,74 @@
package com.mhd.basic.domain.areaAggregate.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import com.mhd.basic.domain.areaAggregate.entity.SysCityEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysCountyEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysProvinceEntity;
import com.mhd.basic.domain.brand.entity.Brand;
import java.util.List;
public interface SysProvinceCityCountyRepositoryInterface{
List<SysProvinceEntity> selectProvinceList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectProvinceAreaList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectAllAreaList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectBranchAreaChildrenList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectSsqhList();
List<SysAreaPO> selectCityAreaList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectCountyAreaList(SysProvinceCityCountyDO sysProvinceDO);
SysProvinceEntity findProvinceById(Long provinceId);
SysProvinceEntity findProvinceByProvinceCode(Long provinceCode);
SysProvinceEntity addProvince(SysProvinceEntity sysProvinceEntity);
SysProvinceEntity updateProvince(SysProvinceEntity sysProvinceEntity);
List<SysCityEntity> selectCityList(SysProvinceCityCountyDO sysProvinceDO);
SysCityEntity findCityById(Long cityId);
SysCityEntity findCityByCityCode(Long cityCode);
SysCityEntity addCity(SysCityEntity sysCityEntity);
SysCityEntity updateCity(SysCityEntity sysCityEntity);
List<SysCountyEntity> selectCountyList(SysProvinceCityCountyDO sysProvinceDO);
SysCountyEntity findCountyById(Long countyId);
SysCountyEntity findCountyByCountyCode(Long countyCode);
SysCountyEntity addCounty(SysCountyEntity sysCountyEntity);
SysCountyEntity updateCounty(SysCountyEntity sysCountyEntity);
SysProvinceEntity findProvinceMaxCode();
SysCityEntity findCityMaxCode(Long provinceCode);
SysCountyEntity findCountyMaxCode(Long cityCode);
SysAreaPO findAreaInfo(SysProvinceCityCountyDO sysProvinceDO);
SysAreaPO findAreaInfoByCityCode(SysProvinceCityCountyDO sysProvinceDO);
SysAreaPO findAreaInfoByProvince(SysProvinceCityCountyDO sysProvinceDO);
void deleteProvinceByCode(String code);
void deleteCityByCode(String code);
void deleteCountryByCode(String code);
}
@@ -0,0 +1,21 @@
package com.mhd.basic.domain.areaAggregate.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.areaAggregate.entity.SysCityEntity;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import java.util.List;
public interface SysCityMapper extends BaseMapper<SysCityEntity> {
List<SysCityEntity> selectList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectCityAreaList(SysProvinceCityCountyDO sysProvinceDO);
SysCityEntity findById(Long cityId);
SysCityEntity findByCityCode(Long cityCode);
SysCityEntity findCityMaxCode(Long provinceCode);
}
@@ -0,0 +1,27 @@
package com.mhd.basic.domain.areaAggregate.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.areaAggregate.entity.SysCountyEntity;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import java.util.List;
public interface SysCountyMapper extends BaseMapper<SysCountyEntity> {
List<SysCountyEntity> selectList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectCountyAreaList(SysProvinceCityCountyDO sysProvinceDO);
SysCountyEntity findById(Long countyId);
SysCountyEntity findByCountyCode(Long countyCode);
SysCountyEntity findCountyMaxCode(Long cityCode);
SysAreaPO findAreaInfo(SysProvinceCityCountyDO sysProvinceDO);
SysAreaPO findAreaInfoByCityCode(SysProvinceCityCountyDO sysProvinceDO);
SysAreaPO findAreaInfoByProvince(SysProvinceCityCountyDO sysProvinceDO);
}
@@ -0,0 +1,27 @@
package com.mhd.basic.domain.areaAggregate.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import com.mhd.basic.domain.areaAggregate.entity.SysProvinceEntity;
import java.util.List;
public interface SysProvinceMapper extends BaseMapper<SysProvinceEntity> {
List<SysProvinceEntity> selectList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectProvinceAreaList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectAllAreaList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectBranchAreaChildrenList(SysProvinceCityCountyDO sysProvinceDO);
List<SysAreaPO> selectSsqhList();
SysProvinceEntity findById(Long provinceId);
SysProvinceEntity findByProvinceCode(Long provinceCode);
SysProvinceEntity findProvinceMaxCode();
}
@@ -0,0 +1,196 @@
package com.mhd.basic.domain.areaAggregate.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.areaAggregate.entity.SysCityEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysCountyEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysProvinceEntity;
import com.mhd.basic.domain.areaAggregate.repository.facade.SysProvinceCityCountyRepositoryInterface;
import com.mhd.basic.domain.areaAggregate.repository.mapper.SysCityMapper;
import com.mhd.basic.domain.areaAggregate.repository.mapper.SysCountyMapper;
import com.mhd.basic.domain.areaAggregate.repository.mapper.SysProvinceMapper;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class SysProvinceCityCountyRepositoryImpl implements SysProvinceCityCountyRepositoryInterface {
@Resource
private SysProvinceMapper sysProvinceMapper;
@Resource
private SysCityMapper sysCityMapper;
@Resource
private SysCountyMapper sysCountyMapper;
@Override
public List<SysProvinceEntity> selectProvinceList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceMapper.selectList(sysProvinceDO);
}
@Override
public List<SysAreaPO> selectProvinceAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceMapper.selectProvinceAreaList(sysProvinceDO);
}
@Override
public List<SysAreaPO> selectAllAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceMapper.selectAllAreaList(sysProvinceDO);
}
@Override
public List<SysAreaPO> selectBranchAreaChildrenList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceMapper.selectBranchAreaChildrenList(sysProvinceDO);
}
@Override
public List<SysAreaPO> selectSsqhList() {
return sysProvinceMapper.selectSsqhList();
}
@Override
public List<SysAreaPO> selectCityAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysCityMapper.selectCityAreaList(sysProvinceDO);
}
@Override
public List<SysAreaPO> selectCountyAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysCountyMapper.selectCountyAreaList(sysProvinceDO);
}
@Override
public SysProvinceEntity findProvinceById(Long provinceId) {
return sysProvinceMapper.findById(provinceId);
}
@Override
public SysProvinceEntity findProvinceByProvinceCode(Long provinceCode) {
return sysProvinceMapper.findByProvinceCode(provinceCode);
}
@Override
public SysProvinceEntity addProvince(SysProvinceEntity sysProvinceEntity) {
sysProvinceMapper.insert(sysProvinceEntity);
return sysProvinceEntity;
}
@Override
public SysProvinceEntity updateProvince(SysProvinceEntity sysProvinceEntity) {
sysProvinceMapper.updateById(sysProvinceEntity);
return sysProvinceEntity;
}
@Override
public List<SysCityEntity> selectCityList(SysProvinceCityCountyDO sysProvinceDO) {
return sysCityMapper.selectList(sysProvinceDO);
}
@Override
public SysCityEntity findCityById(Long cityId) {
return sysCityMapper.findById(cityId);
}
@Override
public SysCityEntity findCityByCityCode(Long cityCode) {
return sysCityMapper.findByCityCode(cityCode);
}
@Override
public SysCityEntity addCity(SysCityEntity sysCityEntity) {
sysCityMapper.insert(sysCityEntity);
return sysCityEntity;
}
@Override
public SysCityEntity updateCity(SysCityEntity sysCityEntity) {
sysCityMapper.updateById(sysCityEntity);
return sysCityEntity;
}
@Override
public List<SysCountyEntity> selectCountyList(SysProvinceCityCountyDO sysProvinceDO) {
return sysCountyMapper.selectList(sysProvinceDO);
}
@Override
public SysCountyEntity findCountyById(Long countyId) {
return sysCountyMapper.findById(countyId);
}
@Override
public SysCountyEntity findCountyByCountyCode(Long countyCode) {
return sysCountyMapper.findByCountyCode(countyCode);
}
@Override
public SysCountyEntity addCounty(SysCountyEntity sysCountyEntity) {
sysCountyMapper.insert(sysCountyEntity);
return sysCountyEntity;
}
@Override
public SysCountyEntity updateCounty(SysCountyEntity sysCountyEntity) {
sysCountyMapper.updateById(sysCountyEntity);
return sysCountyEntity;
}
@Override
public SysProvinceEntity findProvinceMaxCode(){
return sysProvinceMapper.findProvinceMaxCode();
}
@Override
public SysCityEntity findCityMaxCode(Long provinceCode){
return sysCityMapper.findCityMaxCode(provinceCode);
}
@Override
public SysCountyEntity findCountyMaxCode(Long cityCode){
return sysCountyMapper.findCountyMaxCode(cityCode);
}
@Override
public SysAreaPO findAreaInfo(SysProvinceCityCountyDO sysProvinceDO){
return sysCountyMapper.findAreaInfo(sysProvinceDO);
}
@Override
public SysAreaPO findAreaInfoByCityCode(SysProvinceCityCountyDO sysProvinceDO) {
return sysCountyMapper.findAreaInfoByCityCode(sysProvinceDO);
}
@Override
public SysAreaPO findAreaInfoByProvince(SysProvinceCityCountyDO sysProvinceDO) {
return sysCountyMapper.findAreaInfoByProvince(sysProvinceDO);
}
@Override
public void deleteProvinceByCode(String code) {
LambdaUpdateWrapper<SysProvinceEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(SysProvinceEntity::getDelFlag,2);
updateWrapper.eq(SysProvinceEntity::getProvinceCode,code);
updateWrapper.eq(SysProvinceEntity::getDelFlag,1);
sysProvinceMapper.update(new SysProvinceEntity(),updateWrapper);
}
@Override
public void deleteCityByCode(String code) {
LambdaUpdateWrapper<SysCityEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(SysCityEntity::getDelFlag,2);
updateWrapper.eq(SysCityEntity::getCityCode,code);
updateWrapper.eq(SysCityEntity::getDelFlag,1);
sysCityMapper.update(new SysCityEntity(),updateWrapper);
}
@Override
public void deleteCountryByCode(String code) {
LambdaUpdateWrapper<SysCountyEntity> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(SysCountyEntity::getDelFlag,2);
updateWrapper.eq(SysCountyEntity::getCountyCode,code);
updateWrapper.eq(SysCountyEntity::getDelFlag,1);
sysCountyMapper.update(new SysCountyEntity(),updateWrapper);
}
}
@@ -0,0 +1,29 @@
package com.mhd.basic.domain.areaAggregate.repository.po;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SysAreaPO {
@ApiModelProperty(name = "areaId")
private String areaId="";
@ApiModelProperty(name = "parentAreaCode")
private Long parentAreaCode = 0L;
@ApiModelProperty(name = "编码")
private Long areaCode = 0L;
@ApiModelProperty(name = "编码-最新")
private Long areaCodeNew = 0L;
@ApiModelProperty(name = "名称")
private String areaName = "";
@ApiModelProperty(name = "备注信息")
private String areaRemark = "";
@ApiModelProperty(name = "省市县名称")
private String provinceCityCountyName = "";
@ApiModelProperty(name = "")
private String provinceName = "";
@ApiModelProperty(name = "")
private String cityName = "";
@ApiModelProperty(name = "县区")
private String countyName = "";
}
@@ -0,0 +1,41 @@
package com.mhd.basic.domain.areaAggregate.repository.po;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SysProvinceCityCountyPO extends BaseVOEntity {
@ApiModelProperty(name = "省份表id")
private Long provinceId;
@ApiModelProperty(name = "省份编码")
private Long provinceCode;
@ApiModelProperty(name = "省份名称")
private String provinceName;
@ApiModelProperty(name = "省份备注信息")
private String provinceRemark;
@ApiModelProperty(name = "城市表id")
private Long cityId;
@ApiModelProperty(name = "城市编码")
private Long cityCode;
@ApiModelProperty(name = "城市编码-最新")
private Long cityCodeNew;
@ApiModelProperty(name = "城市名称")
private String cityName;
@ApiModelProperty(name = "城市备注信息")
private String cityRemark;
@ApiModelProperty(name = "区县表id")
private Long countyId;
@ApiModelProperty(name = "区县编码")
private Long countyCode;
@ApiModelProperty(name = "区县编码-最新")
private Long countyCodeNew;
@ApiModelProperty(name = "区县名称")
private String countyName;
@ApiModelProperty(name = "区县备注信息")
private String countyRemark;
}
@@ -0,0 +1,48 @@
package com.mhd.basic.domain.areaAggregate.repository.todo;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class SysProvinceCityCountyDO extends BaseVOEntity {
@ApiModelProperty(name = "省份表id")
private Long provinceId;
@ApiModelProperty(name = "省份编码")
private Long provinceCode;
@ApiModelProperty(name = "省份名称")
private String provinceName;
@ApiModelProperty(name = "省份备注信息")
private String provinceRemark;
@ApiModelProperty(name = "城市表id")
private Long cityId;
@ApiModelProperty(name = "城市编码")
private Long cityCode;
@ApiModelProperty(name = "城市编码-最新")
private Long cityCodeNew;
@ApiModelProperty(name = "城市名称")
private String cityName;
@ApiModelProperty(name = "城市备注信息")
private String cityRemark;
@ApiModelProperty(name = "区县表id")
private Long countyId;
@ApiModelProperty(name = "区县编码")
private Long countyCode;
@ApiModelProperty(name = "区县编码-最新")
private Long countyCodeNew;
@ApiModelProperty(name = "区县名称")
private String countyName;
@ApiModelProperty(name = "区县备注信息")
private String countyRemark;
@ApiModelProperty(name = "区县编码集合")
private List<Long> countyCodes;
@ApiModelProperty(name = "查询条件名称")
private String name;
}
@@ -0,0 +1,366 @@
package com.mhd.basic.domain.areaAggregate.service;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.base.Strings;
import com.mhd.basic.domain.areaAggregate.entity.SysCityEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysCountyEntity;
import com.mhd.basic.domain.areaAggregate.entity.SysProvinceEntity;
import com.mhd.basic.domain.areaAggregate.repository.facade.SysProvinceCityCountyRepositoryInterface;
import com.mhd.basic.domain.areaAggregate.repository.po.SysAreaPO;
import com.mhd.basic.domain.areaAggregate.repository.todo.SysProvinceCityCountyDO;
import com.mhd.basic.domain.areaAggregate.factory.SysProvinceCityCountyFactory;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class SysProvinceCityCountyDomainService {
@Autowired
private SysProvinceCityCountyFactory sysProvinceFactory;
@Resource
private SysProvinceCityCountyRepositoryInterface sysProvinceRepositoryInterface;
public List<SysProvinceEntity> selectProvinceList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectProvinceList(sysProvinceDO);
}
/**
* @Description 新增省
* @Author Alex
* @Date 2022/12/21 16:56
*/
public SysProvinceEntity addProvince(SysProvinceCityCountyDO sysProvinceDO) {
if(ObjectUtil.isNotNull(sysProvinceDO.getProvinceId())){
return updateProvince(sysProvinceDO);
}else {
SysProvinceEntity sysProvinceEntity = sysProvinceFactory.getProvinceEntity(sysProvinceDO);
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
SysProvinceEntity sysProvinceEntityDB = sysProvinceRepositoryInterface.findProvinceByProvinceCode(sysProvinceDO.getProvinceCode());
//查询当前省份code最大的省份
SysProvinceEntity sysProvince = sysProvinceRepositoryInterface.findProvinceMaxCode();
if (ObjectUtil.isNotNull(sysProvinceEntityDB)) {
throw new ServiceException("该省份编码【" + sysProvinceDO.getProvinceCode() + "】已存在!");
}
if (ObjectUtil.isNotNull(loginUser)) {
sysProvinceEntity.setCreateBy(loginUser.getUserid());
sysProvinceEntity.setCreateByName(loginUser.getUserPo().getUserName());
}
//判断当前是否有省
// if (sysProvince != null) {
// sysProvinceEntity.setProvinceCode(sysProvince.getProvinceCode() + new Long("1"));
// } else {
// sysProvinceEntity.setProvinceCode(new Long("11"));
// }
sysProvinceEntity.setCreateTime(new Date());
sysProvinceEntity.setDelFlag(1);
return sysProvinceRepositoryInterface.addProvince(sysProvinceEntity);
}
}
public SysProvinceEntity updateProvince(SysProvinceCityCountyDO sysProvinceDO) {
if (ObjectUtil.isNull(sysProvinceDO.getProvinceId())) {
throw new ServiceException("省份id不存在!");
}
SysProvinceEntity sysProvinceEntity = sysProvinceFactory.getProvinceEntity(sysProvinceDO);
SysProvinceEntity sysProvinceEntityDBa = sysProvinceRepositoryInterface.findProvinceById(sysProvinceDO.getProvinceId());
if (ObjectUtil.isNull(sysProvinceEntityDBa)) {
throw new ServiceException("省份不存在!");
} else {
SysProvinceEntity sysProvinceEntityDBb = sysProvinceRepositoryInterface.findProvinceByProvinceCode(sysProvinceDO.getProvinceCode());
if (ObjectUtil.isNotNull(sysProvinceEntityDBb) && !sysProvinceEntityDBb.getProvinceId().equals(sysProvinceDO.getProvinceId())) {
throw new ServiceException("该省份编码【" + sysProvinceDO.getProvinceCode() + "】已存在!");
}
}
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysProvinceEntity.setUpdateBy(loginUser.getUserid());
sysProvinceEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
sysProvinceEntity.setUpdateTime(new Date());
return sysProvinceRepositoryInterface.updateProvince(sysProvinceEntity);
}
public int deleteProvinceByIds(List<Long> ids) {
for (Long provinceId : ids) {
SysProvinceEntity sysProvinceEntity = sysProvinceRepositoryInterface.findProvinceById(provinceId);
if (ObjectUtil.isNotNull(sysProvinceEntity)) {
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysProvinceEntity.setUpdateBy(loginUser.getUserid());
sysProvinceEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
//删除标记0-无状态1-正常2-已删除
sysProvinceEntity.setDelFlag(2);
sysProvinceEntity.setUpdateTime(new Date());
sysProvinceRepositoryInterface.updateProvince(sysProvinceEntity);
}
}
return ids.size();
}
public List<SysCityEntity> selectCityList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectCityList(sysProvinceDO);
}
public SysCityEntity addCity(SysProvinceCityCountyDO sysProvinceDO) {
if (ObjectUtil.isNull(sysProvinceDO.getProvinceCode())
|| ObjectUtil.isNull(sysProvinceDO.getCityCode())
|| Strings.isNullOrEmpty(sysProvinceDO.getCityName())) {
throw new ServiceException("必填信息不允许为空!");
}
if (ObjectUtil.isNotNull(sysProvinceDO.getCityId())) {
return updateCity(sysProvinceDO);
} else {
SysProvinceEntity sysProvinceEntity = sysProvinceRepositoryInterface.findProvinceByProvinceCode(sysProvinceDO.getProvinceCode());
if (ObjectUtil.isNull(sysProvinceEntity)) {
throw new ServiceException("省份编码" + sysProvinceDO.getProvinceCode() + "不存在!");
}
SysCityEntity sysCityEntity = sysProvinceFactory.getCityEntity(sysProvinceDO);
sysCityEntity.setProvinceCode(new Long(sysProvinceDO.getProvinceCode()));
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
SysCityEntity sysCityEntityDB = sysProvinceRepositoryInterface.findCityByCityCode(sysProvinceDO.getCityCode());
//查询当前省份下的城市code最大的城市
// SysCityEntity sysCity = sysProvinceRepositoryInterface.findCityMaxCode(new Long(sysProvinceDO.getProvinceCode()));
if (ObjectUtil.isNotNull(sysCityEntityDB)) {
throw new ServiceException("该城市编码【" + sysProvinceDO.getCityCode() + "】已存在!");
}
if (ObjectUtil.isNull(sysCityEntity.getCityCodeNew())) {
sysCityEntity.setCityCodeNew(sysCityEntity.getCityCode());
}
if (ObjectUtil.isNotNull(loginUser)) {
sysCityEntity.setCreateBy(loginUser.getUserid());
sysCityEntity.setCreateByName(loginUser.getUserPo().getUserName());
}
/* //判断当前省份下的城市是否存在
if(sysCity != null){
sysCityEntity.setCityCode(sysCity.getCityCode()+new Long("1"));
sysCityEntity.setCityCodeNew(sysCity.getCityCode()+new Long("1"));
}else {
sysCityEntity.setCityCode(new Long(sysCity.getCityCode()+"01"));
sysCityEntity.setCityCodeNew(new Long(sysCity.getCityCode()+"01"));
}*/
sysCityEntity.setCreateTime(new Date());
sysCityEntity.setDelFlag(1);
return sysProvinceRepositoryInterface.addCity(sysCityEntity);
}
}
public SysCityEntity updateCity(SysProvinceCityCountyDO sysProvinceDO) {
if (ObjectUtil.isNull(sysProvinceDO.getProvinceCode())) {
throw new ServiceException("省份编码不存在!");
}
SysProvinceEntity sysProvinceEntity = sysProvinceRepositoryInterface.findProvinceByProvinceCode(sysProvinceDO.getProvinceCode());
if (ObjectUtil.isNull(sysProvinceEntity)) {
throw new ServiceException("省份编码【" + sysProvinceDO.getProvinceCode() + "】不存在!");
}
if (ObjectUtil.isNull(sysProvinceDO.getCityId())) {
throw new ServiceException("城市id不存在!");
}
SysCityEntity sysCityEntity = sysProvinceFactory.getCityEntity(sysProvinceDO);
SysCityEntity sysCityEntityDBa = sysProvinceRepositoryInterface.findCityById(sysProvinceDO.getCityId());
if (ObjectUtil.isNull(sysCityEntityDBa)) {
throw new ServiceException("城市不存在!");
} else {
SysCityEntity sysCityEntityDBb = sysProvinceRepositoryInterface.findCityByCityCode(sysProvinceDO.getCityCode());
if (ObjectUtil.isNotNull(sysCityEntityDBb) && !sysCityEntityDBb.getCityId().equals(sysProvinceDO.getCityId())) {
throw new ServiceException("该城市编码【" + sysProvinceDO.getCityCode() + "】已存在!");
}
}
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysCityEntity.setUpdateBy(loginUser.getUserid());
sysCityEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
sysCityEntity.setUpdateTime(new Date());
return sysProvinceRepositoryInterface.updateCity(sysCityEntity);
}
public int deleteCityByIds(List<Long> ids) {
for (Long cityId : ids) {
SysCityEntity sysCityEntity = sysProvinceRepositoryInterface.findCityById(cityId);
if (ObjectUtil.isNotNull(sysCityEntity)) {
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysCityEntity.setUpdateBy(loginUser.getUserid());
sysCityEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
//删除标记0-无状态1-正常2-已删除
sysCityEntity.setDelFlag(2);
sysCityEntity.setUpdateTime(new Date());
sysProvinceRepositoryInterface.updateCity(sysCityEntity);
}
}
return ids.size();
}
public List<SysCountyEntity> selectCountyList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectCountyList(sysProvinceDO);
}
public SysCountyEntity addCounty(SysProvinceCityCountyDO sysProvinceDO) {
if (ObjectUtil.isNull(sysProvinceDO.getCityCode())
|| ObjectUtil.isNull(sysProvinceDO.getCountyCode())
|| Strings.isNullOrEmpty(sysProvinceDO.getCountyName())) {
throw new ServiceException("必填信息不允许为空!");
}
if (ObjectUtil.isNotNull(sysProvinceDO.getCountyId())) {
return updateCounty(sysProvinceDO);
} else {
SysCountyEntity sysCountyEntity = sysProvinceFactory.getCountyEntity(sysProvinceDO);
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
SysCountyEntity sysCountyEntityDB = sysProvinceRepositoryInterface.findCountyByCountyCode(sysProvinceDO.getCountyCode());
if (ObjectUtil.isNotNull(sysCountyEntityDB)) {
throw new ServiceException("该区县编码【" + sysProvinceDO.getCountyCode() + "】已存在!");
}
if(ObjectUtil.isNull(sysCountyEntity.getCountyCodeNew())){
sysCountyEntity.setCountyCodeNew(sysCountyEntity.getCountyCode());
}
//查询当前城市下的县区code最大的县区
// SysCountyEntity sysCounty = sysProvinceRepositoryInterface.findCountyMaxCode(new Long(sysProvinceDO.getCityCode()));
if (ObjectUtil.isNotNull(loginUser)) {
sysCountyEntity.setCreateBy(loginUser.getUserid());
sysCountyEntity.setCreateByName(loginUser.getUserPo().getUserName());
}
//判断当前省份下的城市是否存在
/*if (sysCounty != null) {
sysCountyEntity.setCountyCode(sysCounty.getCountyCode() + new Long("1"));
sysCountyEntity.setCountyCodeNew(sysCounty.getCountyCode() + new Long("1"));
} else {
sysCountyEntity.setCountyCode(new Long(sysCounty.getCountyCode() + "01"));
sysCountyEntity.setCountyCodeNew(new Long(sysCounty.getCountyCode() + "01"));
}*/
sysCountyEntity.setCreateTime(new Date());
sysCountyEntity.setDelFlag(1);
return sysProvinceRepositoryInterface.addCounty(sysCountyEntity);
}
}
public SysCountyEntity updateCounty(SysProvinceCityCountyDO sysProvinceDO) {
if (ObjectUtil.isNull(sysProvinceDO.getCityCode())) {
throw new ServiceException("城市编码不存在!");
}
SysCityEntity sysCityEntity = sysProvinceRepositoryInterface.findCityByCityCode(sysProvinceDO.getCityCode());
if (ObjectUtil.isNull(sysCityEntity)) {
throw new ServiceException("城市编码【" + sysProvinceDO.getCityCode() + "】不存在!");
}
if (ObjectUtil.isNull(sysProvinceDO.getCountyId())) {
throw new ServiceException("区县id不存在!");
}
SysCountyEntity sysCountyEntity = sysProvinceFactory.getCountyEntity(sysProvinceDO);
SysCountyEntity sysCountyEntityDBa = sysProvinceRepositoryInterface.findCountyById(sysProvinceDO.getCountyId());
if (ObjectUtil.isNull(sysCountyEntityDBa)) {
throw new ServiceException("区县不存在!");
} else {
SysCountyEntity sysCountyEntityDBb = sysProvinceRepositoryInterface.findCountyByCountyCode(sysProvinceDO.getCountyCode());
if (ObjectUtil.isNotNull(sysCountyEntityDBb) && !sysCountyEntityDBb.getCountyId().equals(sysProvinceDO.getCountyId())) {
throw new ServiceException("该区县编码【" + sysProvinceDO.getCountyCode() + "】已存在!");
}
}
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysCountyEntity.setUpdateBy(loginUser.getUserid());
sysCountyEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
sysCountyEntity.setUpdateTime(new Date());
return sysProvinceRepositoryInterface.updateCounty(sysCountyEntity);
}
public int deleteCountyByIds(List<String> ids) {
for (String cityId : ids) {
if (ObjectUtil.isNull(cityId)) {
throw new ServiceException("区县id不允许为空!");
}
Long cityIdLong = Long.valueOf(cityId);
SysCountyEntity sysCountyEntity = sysProvinceRepositoryInterface.findCountyById(cityIdLong);
if (ObjectUtil.isNotNull(sysCountyEntity)) {
//获取登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNotNull(loginUser)) {
sysCountyEntity.setUpdateBy(loginUser.getUserid());
sysCountyEntity.setUpdateByName(loginUser.getUserPo().getUserName());
}
//删除标记0-无状态1-正常2-已删除
sysCountyEntity.setDelFlag(2);
sysCountyEntity.setUpdateTime(new Date());
sysProvinceRepositoryInterface.updateCounty(sysCountyEntity);
}
}
return ids.size();
}
public List<SysAreaPO> selectProvinceAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectProvinceAreaList(sysProvinceDO);
}
public List<SysAreaPO> selectCityAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectCityAreaList(sysProvinceDO);
}
public List<SysAreaPO> selectCountyAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectCountyAreaList(sysProvinceDO);
}
public List<SysAreaPO> selectAreaChildrenList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectAllAreaList(sysProvinceDO);
}
public List<SysAreaPO> selectBranchAreaChildrenList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectBranchAreaChildrenList(sysProvinceDO);
}
public List<SysAreaPO> selectSsqhList() {
return sysProvinceRepositoryInterface.selectSsqhList();
}
public List<SysAreaPO> selectAllAreaList(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.selectAllAreaList(sysProvinceDO);
}
public SysAreaPO findAreaInfo(SysProvinceCityCountyDO sysProvinceDO){
return sysProvinceRepositoryInterface.findAreaInfo(sysProvinceDO);
}
public SysAreaPO findAreaInfoByCityCode(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.findAreaInfoByCityCode(sysProvinceDO);
}
public SysAreaPO findAreaInfoByProvince(SysProvinceCityCountyDO sysProvinceDO) {
return sysProvinceRepositoryInterface.findAreaInfoByProvince(sysProvinceDO);
}
/**
* 根据code删除省份
*/
public void deleteprovinceByCode(String code) {
sysProvinceRepositoryInterface.deleteProvinceByCode(code);
}
/**
* 根据code删除市
*/
public void deleteCityByCode(String code) {
sysProvinceRepositoryInterface.deleteCityByCode(code);
}
public void deleteCountryByCode(String code) {
sysProvinceRepositoryInterface.deleteCountryByCode(code);
}
}
@@ -0,0 +1,62 @@
package com.mhd.basic.domain.associationWarehouse.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 关联仓库对象 association_warehouse
*
* @author gen
* @date 2024-06-11
*/
@Data
public class AssociationWarehouse extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("关联仓库id")
@TableId(type = IdType.AUTO)
private Long associationWarehouseId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("关联ID(组织或员工用户ID)")
@Excel(name = "关联ID(组织或员工用户ID)")
private Long correlationId;
@ApiModelProperty("是否默认仓库: 1-否 2-是 ")
@Excel(name = "是否默认仓库: 1-否 2-是 ")
private Integer isDefault;
@ApiModelProperty("仓库ID")
@Excel(name = "仓库ID")
private Long warehouseId;
@ApiModelProperty("仓库编码")
@Excel(name = "仓库编码")
private String warehouseCode;
@ApiModelProperty("仓库名称")
@Excel(name = "仓库名称")
private String warehouseName;
}
@@ -0,0 +1,38 @@
package com.mhd.basic.domain.associationWarehouse.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.associationWarehouse.entity.AssociationWarehouse;
import com.mhd.basic.domain.associationWarehouse.repository.po.AssociationWarehousePO;
import com.mhd.basic.domain.associationWarehouse.repository.todo.AssociationWarehouseDO;
import java.util.List;
/**
* 关联仓库Service接口
*
* @author gen
* @date 2024-06-11
*/
public interface IAssociationWarehouseService extends IService<AssociationWarehouse>
{
/**
* 分页查询关联仓库列表
*/
public List<AssociationWarehousePO> queryList(AssociationWarehouseDO associationWarehouseDO);
/**
* 新增关联仓库
*/
public Boolean associationWarehouse(AssociationWarehouseDO associationWarehouseDO);
/**
* 批量删除关联仓库
*/
public Boolean delete(Long[] associationWarehouseIds);
/**
* 查询关联仓库
*/
public AssociationWarehousePO getInfo(Long associationWarehouseId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.associationWarehouse.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.associationWarehouse.entity.AssociationWarehouse;
import com.mhd.basic.domain.associationWarehouse.repository.po.AssociationWarehousePO;
import com.mhd.basic.domain.associationWarehouse.repository.todo.AssociationWarehouseDO;
import org.apache.ibatis.annotations.Param;
/**
* 关联仓库Mapper接口
*
* @author gen
* @date 2024-06-11
*/
public interface AssociationWarehouseMapper extends BaseMapper<AssociationWarehouse>
{
/**
* 查询关联仓库列表
*/
public List<AssociationWarehousePO> queryList(AssociationWarehouseDO associationWarehouseDO);
}
@@ -0,0 +1,175 @@
package com.mhd.basic.domain.associationWarehouse.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.associationWarehouse.entity.AssociationWarehouse;
import com.mhd.basic.domain.associationWarehouse.repository.facade.IAssociationWarehouseService;
import com.mhd.basic.domain.associationWarehouse.repository.mapper.AssociationWarehouseMapper;
import com.mhd.basic.domain.associationWarehouse.repository.po.AssociationWarehousePO;
import com.mhd.basic.domain.associationWarehouse.repository.todo.AssociationWarehouseDO;
import com.mhd.basic.domain.warehouse.entity.Warehouse;
import com.mhd.basic.domain.warehouse.repository.mapper.WarehouseMapper;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.StringUtils;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* 关联仓库Service业务层处理
*
* @author gen
* @date 2024-06-11
*/
@Service
public class AssociationWarehouseImpl extends ServiceImpl<AssociationWarehouseMapper, AssociationWarehouse> implements IAssociationWarehouseService{
@Autowired
private AssociationWarehouseMapper associationWarehouseMapper;
@Autowired
private WarehouseMapper warehouseMapper;
/**
* 查询关联仓库列表
*/
@Override
public List<AssociationWarehousePO> queryList(AssociationWarehouseDO associationWarehouseDO)
{
return associationWarehouseMapper.queryList(associationWarehouseDO);
}
/**
* 新增关联仓库
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean associationWarehouse(AssociationWarehouseDO associationWarehouseDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
List<AssociationWarehouse> associationWarehouseList = new ArrayList<>();
//批量绑定
if(null != associationWarehouseDO.getIsBatch() && associationWarehouseDO.getIsBatch() == 1){
if(CollectionUtils.isEmpty(associationWarehouseDO.getWarehouseIdIdList())){
throw new ServiceException("请选择绑定仓库!");
}
if(CollectionUtils.isEmpty(associationWarehouseDO.getCorrelationIdList())){
throw new ServiceException("请选择绑定人员!");
}
//首先根据要绑定的仓库id集合查询已经绑定的数据
List<AssociationWarehouse> associationWarehouses = associationWarehouseMapper.selectList(new QueryWrapper<AssociationWarehouse>().lambda().in(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseIdIdList()));
// 根据仓库id进行分组为下面比较新增做准备
Map<Long, List<Long>> correlationIdGroupMap = new HashMap<>();
if (!CollectionUtils.isEmpty(associationWarehouses)) {
correlationIdGroupMap = associationWarehouses.stream()
.collect(Collectors.groupingBy(
AssociationWarehouse::getWarehouseId,
Collectors.mapping(AssociationWarehouse::getCorrelationId, Collectors.toList())
));
}
//循环所有仓库id
for (Long warehouseIdId : associationWarehouseDO.getWarehouseIdIdList()){
List<Long> correlationIdList = associationWarehouseDO.getCorrelationIdList();
//移除已经绑定的人员
List<Long> removedCorrelationIds = correlationIdGroupMap.get(warehouseIdId);
if(!CollectionUtils.isEmpty(removedCorrelationIds)){
correlationIdList.removeAll(removedCorrelationIds);
}
for (Long correlationId : correlationIdList){
AssociationWarehouse associationWarehouse = new AssociationWarehouse();
associationWarehouse.setOrganizationId(loginUser.getUserPo().getOrganizationId());
associationWarehouse.setOrganizationName(loginUser.getUserPo().getOrganizationName());
associationWarehouse.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
associationWarehouse.setCorrelationId(correlationId);
//设置仓库信息
associationWarehouseDO.setWarehouseId(warehouseIdId);
warehouseParam(associationWarehouseDO);
associationWarehouse.setWarehouseId(associationWarehouseDO.getWarehouseId());
associationWarehouse.setWarehouseCode(associationWarehouseDO.getWarehouseCode());
associationWarehouse.setWarehouseName(associationWarehouseDO.getWarehouseName());
associationWarehouse.setCreateBy(loginUser.getUserid());
associationWarehouse.setCreateByName(loginUser.getUsername());
associationWarehouse.setCreateTime(new Date());
associationWarehouseList.add(associationWarehouse);
}
}
}else {
//单个仓库
List<Long> warehouseIdIdList = associationWarehouseDO.getWarehouseIdIdList();
if(CollectionUtils.isEmpty(warehouseIdIdList) || associationWarehouseDO.getWarehouseIdIdList().size() != 1){
throw new ServiceException("请正确选择绑定仓库!");
}
associationWarehouseDO.setWarehouseId(associationWarehouseDO.getWarehouseIdIdList().get(0));
//设置仓库信息
warehouseParam(associationWarehouseDO);
for (Long correlationId : associationWarehouseDO.getCorrelationIdList()){
AssociationWarehouse associationWarehouse = new AssociationWarehouse();
associationWarehouse.setOrganizationId(loginUser.getUserPo().getOrganizationId());
associationWarehouse.setOrganizationName(loginUser.getUserPo().getOrganizationName());
associationWarehouse.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
associationWarehouse.setCorrelationId(correlationId);
associationWarehouse.setWarehouseId(associationWarehouseDO.getWarehouseId());
associationWarehouse.setWarehouseCode(associationWarehouseDO.getWarehouseCode());
associationWarehouse.setWarehouseName(associationWarehouseDO.getWarehouseName());
associationWarehouse.setCreateBy(loginUser.getUserid());
associationWarehouse.setCreateByName(loginUser.getUsername());
associationWarehouse.setCreateTime(new Date());
associationWarehouseList.add(associationWarehouse);
}
//标记删除
remove(new QueryWrapper<AssociationWarehouse>().lambda()
.eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId()));
}
return saveBatch(associationWarehouseList);
}
/**
* 批量删除关联仓库
*/
@Override
public Boolean delete(Long[] associationWarehouseIds ) {
List<AssociationWarehouse> list = new ArrayList<>();
for (Long id : associationWarehouseIds) {
AssociationWarehouse associationWarehouse = new AssociationWarehouse();
associationWarehouse.setAssociationWarehouseId(id);
associationWarehouse.setDelFlag(2);
list.add(associationWarehouse);
}
return this.updateBatchById(list);
}
/**
* 修改关联仓库
*/
@Override
public AssociationWarehousePO getInfo(Long associationWarehouseId) {
AssociationWarehouse associationWarehouse = this.getById(associationWarehouseId);
AssociationWarehousePO associationWarehousePO = new AssociationWarehousePO();
BeanUtils.copyProperties(associationWarehouse,associationWarehousePO);
return associationWarehousePO;
}
/**
* @description 封装仓库信息
* @author ZhouGY
* @date 2024/5/10 20:28
* @param associationWarehouseDO
*/
private void warehouseParam(AssociationWarehouseDO associationWarehouseDO){
Warehouse warehouseDb = warehouseMapper.selectOne(new QueryWrapper<Warehouse>().lambda()
.in(Warehouse::getWarehouseId, associationWarehouseDO.getWarehouseId())
.eq(Warehouse::getDelFlag, 1));
if (warehouseDb == null){
throw new ServiceException("仓库信息不存在");
}
associationWarehouseDO.setWarehouseId(warehouseDb.getWarehouseId());
associationWarehouseDO.setWarehouseCode(warehouseDb.getWarehouseCode());
associationWarehouseDO.setWarehouseName(warehouseDb.getWarehouseName());
}
}
@@ -0,0 +1,62 @@
package com.mhd.basic.domain.associationWarehouse.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 关联仓库对象 association_warehouse
*
* @author gen
* @date 2024-06-11
*/
@Data
@ApiModel(value = "关联仓库对象", description = "关联仓库响应对象")
public class AssociationWarehousePO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("关联仓库id")
private Long associationWarehouseId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("关联ID(组织或员工用户ID)")
@Excel(name = "关联ID(组织或员工用户ID)")
private Long correlationId;
@ApiModelProperty("是否默认仓库: 1-否 2-是 ")
@Excel(name = "是否默认仓库: 1-否 2-是 ")
private Integer isDefault;
@ApiModelProperty("仓库ID")
@Excel(name = "仓库ID")
private Long warehouseId;
@ApiModelProperty("仓库编码")
@Excel(name = "仓库编码")
private String warehouseCode;
@ApiModelProperty("仓库名称")
@Excel(name = "仓库名称")
private String warehouseName;
}
@@ -0,0 +1,75 @@
package com.mhd.basic.domain.associationWarehouse.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 关联仓库对象 association_warehouse
*
* @author gen
* @date 2024-06-11
*/
@Data
public class AssociationWarehouseDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("关联仓库id")
private Long associationWarehouseId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("关联ID(组织或员工用户ID)")
@Excel(name = "关联ID(组织或员工用户ID)")
private Long correlationId;
@ApiModelProperty("是否默认仓库: 1-否 2-是 ")
@Excel(name = "是否默认仓库: 1-否 2-是 ")
private Integer isDefault;
@ApiModelProperty("仓库ID")
@Excel(name = "仓库ID")
private Long warehouseId;
@ApiModelProperty("仓库编码")
@Excel(name = "仓库编码")
private String warehouseCode;
@ApiModelProperty("仓库名称")
@Excel(name = "仓库名称")
private String warehouseName;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "关联仓库id集合")
private List<Long> warehouseIdIdList;
@ApiModelProperty(name = "关联用户id集合")
private List<Long> correlationIdList;
@ApiModelProperty("是否批量: 1-是 2-否 ")
@Excel(name = "是否批量: 1-是 2-否 ")
private Integer isBatch;
}
@@ -0,0 +1,149 @@
package com.mhd.basic.domain.associationWarehouse.service;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.basic.domain.common.cache.AssociationWarehouseCacheUtil;
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
import com.mhd.basic.domain.associationWarehouse.entity.AssociationWarehouse;
import com.mhd.basic.domain.associationWarehouse.repository.facade.IAssociationWarehouseService;
import com.mhd.basic.domain.associationWarehouse.repository.po.AssociationWarehousePO;
import com.mhd.basic.domain.associationWarehouse.repository.todo.AssociationWarehouseDO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.redis.service.RedisService;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
/**
* 关联仓库
*
* @author gen
* @date 2024-06-11
*/
@Service
@Slf4j
public class AssociationWarehouseDomainService {
@Autowired
private IAssociationWarehouseService associationWarehouseService;
/**
* 分页查询关联仓库列表
*/
public List<AssociationWarehousePO> queryList(AssociationWarehouseDO associationWarehouseDO) {
return associationWarehouseService.queryList(associationWarehouseDO);
}
/**
* 新增关联仓库
*/
public Boolean associationWarehouse(AssociationWarehouseDO associationWarehouseDO) {
return associationWarehouseService.associationWarehouse(associationWarehouseDO);
}
/**
* 批量删除关联仓库
*/
public Boolean delete(Long[] associationWarehouseIds) {
return associationWarehouseService.delete(associationWarehouseIds);
}
/**
* 获取关联仓库详细信息
*/
public AssociationWarehousePO getInfo(Long associationWarehouseId)
{
return associationWarehouseService.getInfo(associationWarehouseId);
}
/**
* @description 切换仓库
* @author ZhouGY
* @date 2024/6/11 15:34
* @param associationWarehouseDO
* @return List<AssociationWarehousePO>
*/
public AssociationWarehouseCacheDO setWarehouseInfo(AssociationWarehouseDO associationWarehouseDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
AssociationWarehouse associationWarehouse = associationWarehouseService.getOne(new QueryWrapper<AssociationWarehouse>().lambda()
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId())
.eq(AssociationWarehouse::getDelFlag, 1));
if (ObjectUtil.isNull(associationWarehouse)){
throw new ServiceException("用户关联仓库不存在");
}
AssociationWarehouseCacheDO associationWarehouseCacheDO = new AssociationWarehouseCacheDO();
BeanUtils.copyProperties(associationWarehouse, associationWarehouseCacheDO);
//将之前默认仓库置空
associationWarehouseService.update(null, new UpdateWrapper<AssociationWarehouse>().lambda()
.set(AssociationWarehouse::getIsDefault, 1)
.set(AssociationWarehouse::getUpdateBy, loginUser.getUserid())
.set(AssociationWarehouse::getUpdateByName, loginUser.getUsername())
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.eq(AssociationWarehouse::getIsDefault, 2)
.eq(AssociationWarehouse::getDelFlag, 1));
//设置新的默认仓库
associationWarehouseService.update(null, new UpdateWrapper<AssociationWarehouse>().lambda()
.set(AssociationWarehouse::getIsDefault, 2)
.set(AssociationWarehouse::getUpdateBy, loginUser.getUserid())
.set(AssociationWarehouse::getUpdateByName, loginUser.getUsername())
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.eq(AssociationWarehouse::getWarehouseId, associationWarehouseDO.getWarehouseId())
.eq(AssociationWarehouse::getDelFlag, 1));
AssociationWarehouseCacheUtil.setCache(associationWarehouseCacheDO.getCorrelationId(), associationWarehouseCacheDO);
return associationWarehouseCacheDO;
}
/**
* @description 查询关联仓库列表根据关联id
* @author ZhouGY
* @date 2024/6/11 15:34
* @param correlationId
* @return List<AssociationWarehousePO>
*/
public AssociationWarehouseCacheDO getWarehouseInfo(Long correlationId) {
LoginUser loginUser = SecurityUtils.getLoginUser();
AssociationWarehouseCacheDO associationWarehouseCacheDO = AssociationWarehouseCacheUtil.getCache(correlationId);
if (ObjectUtil.isNotNull(associationWarehouseCacheDO)){
return associationWarehouseCacheDO;
}
AssociationWarehouse associationWarehouse = associationWarehouseService.getOne(new QueryWrapper<AssociationWarehouse>().lambda()
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.eq(AssociationWarehouse::getIsDefault, 2)
.eq(AssociationWarehouse::getDelFlag, 1));
if (ObjectUtil.isNotNull(associationWarehouse)){
associationWarehouseCacheDO = new AssociationWarehouseCacheDO();
BeanUtils.copyProperties(associationWarehouse, associationWarehouseCacheDO);
}else {
//首次 没有查到默认取第一条数据
List<AssociationWarehouse> associationWarehouseList = associationWarehouseService.list(new QueryWrapper<AssociationWarehouse>().lambda()
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.orderByAsc(AssociationWarehouse::getAssociationWarehouseId));
if (CollectionUtils.isEmpty(associationWarehouseList)){
throw new ServiceException("未查询到登录用户关联仓库信息");
}
AssociationWarehouse associationWarehouseAsc = associationWarehouseList.get(0);
associationWarehouseCacheDO = new AssociationWarehouseCacheDO();
BeanUtils.copyProperties(associationWarehouseAsc, associationWarehouseCacheDO);
}
associationWarehouseService.update(null, new UpdateWrapper<AssociationWarehouse>().lambda()
.set(AssociationWarehouse::getIsDefault, 2)
.set(AssociationWarehouse::getUpdateBy, loginUser.getUserid())
.set(AssociationWarehouse::getUpdateByName, loginUser.getUsername())
.eq(AssociationWarehouse::getCorrelationId, loginUser.getUserid())
.eq(AssociationWarehouse::getWarehouseId, associationWarehouseCacheDO.getWarehouseId()));
AssociationWarehouseCacheUtil.removeDictCache(associationWarehouseCacheDO.getCorrelationId());
return associationWarehouseCacheDO;
}
}
@@ -0,0 +1,53 @@
package com.mhd.basic.domain.basicAgreementAggregate.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description 系统协议模版表
* @Author Alex
* @Date 2022/12/15 15:47
*/
@Data
@TableName("basic_agreement")
public class BasicAgreementEntity extends BaseVOEntity {
private static final long serialVersionUID = 1L;
@TableId(type = IdType.AUTO)
@ApiModelProperty(name = "系统协议表ID")
private Long basicAgreementId;
@ApiModelProperty(name = "系统协议内容")
private String basicAgreementContent;
@ApiModelProperty(name = "系统协议类型数据字典ID")
private String basicAgreementTypeId;
@ApiModelProperty(name = "系统协议类型名称")
private String basicAgreementTypeName;
@ApiModelProperty(name = "系统协议类型编码")
private String basicAgreementTypeCode;
@ApiModelProperty(name = "系统协议状态:0-无状态,1-正常,2-停用")
private Integer basicAgreementStatus;
@ApiModelProperty(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
private String organizationName;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("显示名称")
private String displayName;
@ApiModelProperty("租户id")
private Long tenantsId;
}
@@ -0,0 +1,48 @@
package com.mhd.basic.domain.basicAgreementAggregate.factory;
import com.mhd.basic.domain.basicAgreementAggregate.entity.BasicAgreementEntity;
import com.mhd.basic.domain.basicAgreementAggregate.repository.todo.BasicAgreementDO;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.security.utils.SecurityUtils;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class BasicAgreementFactory {
public BasicAgreementEntity getAgreementEntity(BasicAgreementDO basicAgreementDO) {
BasicAgreementEntity basicAgreementEntity = new BasicAgreementEntity();
BeanUtils.copyProperties(basicAgreementDO, basicAgreementEntity, IgnoreNullUtil.getNullPropertyNames(basicAgreementDO));
//获取登录人
String userName= SecurityUtils.getLoginUser().getUsername();
// 获取登录人id
Long userId = SecurityUtils.getLoginUser().getUserid();
if(basicAgreementEntity.getBasicAgreementId() != null){
if(userId != null){
basicAgreementEntity.setUpdateBy(userId);
}else {
basicAgreementEntity.setUpdateBy(new Long("0"));
}
basicAgreementEntity.setUpdateByName(userName);
basicAgreementEntity.setUpdateTime(new Date());
}else {
if(userId != null){
basicAgreementEntity.setCreateBy(userId);
basicAgreementEntity.setUpdateBy(userId);
}else {
basicAgreementEntity.setCreateBy(new Long("0"));
basicAgreementEntity.setUpdateBy(new Long("0"));
}
basicAgreementEntity.setCreateByName(userName);
basicAgreementEntity.setUpdateByName(userName);
basicAgreementEntity.setCreateTime(new Date());
basicAgreementEntity.setUpdateTime(new Date());
basicAgreementEntity.setDelFlag(1);
}
return basicAgreementEntity;
}
}
@@ -0,0 +1,24 @@
package com.mhd.basic.domain.basicAgreementAggregate.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.basicAgreementAggregate.repository.po.BasicAgreementPO;
import com.mhd.basic.domain.basicAgreementAggregate.entity.BasicAgreementEntity;
import com.mhd.basic.domain.basicAgreementAggregate.repository.todo.BasicAgreementDO;
import java.util.List;
public interface BasicAgreementRepositoryInterface extends IService<BasicAgreementEntity> {
List<BasicAgreementEntity> selectList(BasicAgreementDO basicAgreementDO);
BasicAgreementPO findAgreement(BasicAgreementDO basicAgreementDO);
int addAgreement(BasicAgreementEntity basicAgreementEntity);
int updateAgreement(BasicAgreementEntity basicAgreementEntity);
BasicAgreementEntity selectById(Long basicAgreementId);
BasicAgreementEntity selectByCode(String basicAgreementTypeCode);
}
@@ -0,0 +1,19 @@
package com.mhd.basic.domain.basicAgreementAggregate.repository.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.basicAgreementAggregate.repository.po.BasicAgreementPO;
import com.mhd.basic.domain.basicAgreementAggregate.repository.todo.BasicAgreementDO;
import com.mhd.basic.domain.basicAgreementAggregate.entity.BasicAgreementEntity;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface BasicAgreementMapper extends BaseMapper<BasicAgreementEntity> {
List<BasicAgreementEntity> selectList(@Param("basicAgreementDO") BasicAgreementDO basicAgreementDO);
BasicAgreementPO findAgreement(@Param("basicAgreementDO")BasicAgreementDO basicAgreementDO);
BasicAgreementEntity selectByCode(@Param("basicAgreementTypeCode")String basicAgreementTypeCode);
}
@@ -0,0 +1,49 @@
package com.mhd.basic.domain.basicAgreementAggregate.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.basicAgreementAggregate.repository.facade.BasicAgreementRepositoryInterface;
import com.mhd.basic.domain.basicAgreementAggregate.repository.po.BasicAgreementPO;
import com.mhd.basic.domain.basicAgreementAggregate.repository.todo.BasicAgreementDO;
import com.mhd.basic.domain.basicAgreementAggregate.entity.BasicAgreementEntity;
import com.mhd.basic.domain.basicAgreementAggregate.repository.mapper.BasicAgreementMapper;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class BasicAgreementRepositoryImpl extends ServiceImpl<BasicAgreementMapper,BasicAgreementEntity> implements BasicAgreementRepositoryInterface {
@Resource
private BasicAgreementMapper basicAgreementMapper;
@Override
public List<BasicAgreementEntity> selectList(BasicAgreementDO basicAgreementDO) {
return basicAgreementMapper.selectList(basicAgreementDO);
}
@Override
public BasicAgreementPO findAgreement(BasicAgreementDO basicAgreementDO){
return basicAgreementMapper.findAgreement(basicAgreementDO);
}
@Override
public int addAgreement(BasicAgreementEntity basicAgreementEntity) {
return basicAgreementMapper.insert(basicAgreementEntity);
}
@Override
public int updateAgreement(BasicAgreementEntity basicAgreementEntity) {
return basicAgreementMapper.updateById(basicAgreementEntity);
}
@Override
public BasicAgreementEntity selectById(Long basicAgreementId) {
return basicAgreementMapper.selectById(basicAgreementId);
}
@Override
public BasicAgreementEntity selectByCode(String basicAgreementTypeCode) {
return basicAgreementMapper.selectByCode(basicAgreementTypeCode);
}
}
@@ -0,0 +1,40 @@
package com.mhd.basic.domain.basicAgreementAggregate.repository.po;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BasicAgreementPO extends BaseVOEntity {
@ApiModelProperty(name = "系统协议表ID")
private Long basicAgreementId = 0L;
@ApiModelProperty(name = "系统协议内容")
private String basicAgreementContent = "";
@ApiModelProperty(name = "系统协议类型数据字典ID")
private Long basicAgreementTypeId = 0L;
@ApiModelProperty(name = "系统协议类型名称")
private String basicAgreementTypeName = "";
@ApiModelProperty(name = "系统协议类型编码")
private String basicAgreementTypeCode = "";
@ApiModelProperty(name = "系统协议状态:0-无状态,1-正常,2-停用")
private Integer basicAgreementStatus = 0;
@ApiModelProperty(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
private String organizationName;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("显示名称")
private String displayName;
@ApiModelProperty("租户id")
private Long tenantsId;
}
@@ -0,0 +1,40 @@
package com.mhd.basic.domain.basicAgreementAggregate.repository.todo;
import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BasicAgreementDO extends BaseVOEntity {
@ApiModelProperty(name = "系统协议表ID")
private Long basicAgreementId;
@ApiModelProperty(name = "系统协议内容")
private String basicAgreementContent;
@ApiModelProperty(name = "系统协议类型数据字典ID")
private String basicAgreementTypeId;
@ApiModelProperty(name = "系统协议类型名称")
private String basicAgreementTypeName;
@ApiModelProperty(name = "系统协议类型编码")
private String basicAgreementTypeCode;
@ApiModelProperty(name = "系统协议状态:0-无状态,1-正常,2-停用")
private Integer basicAgreementStatus;
@ApiModelProperty(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
private String organizationName;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("显示名称")
private String displayName;
@ApiModelProperty("租户id")
private Long tenantsId;
}
@@ -0,0 +1,100 @@
package com.mhd.basic.domain.basicAgreementAggregate.service;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.basic.domain.basicAgreementAggregate.entity.BasicAgreementEntity;
import com.mhd.basic.domain.basicAgreementAggregate.repository.facade.BasicAgreementRepositoryInterface;
import com.mhd.basic.domain.basicAgreementAggregate.repository.po.BasicAgreementPO;
import com.mhd.basic.domain.basicAgreementAggregate.repository.todo.BasicAgreementDO;
import com.mhd.basic.domain.basicAgreementAggregate.factory.BasicAgreementFactory;
import com.mhd.common.core.exception.ServiceException;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
public class BasicAgreementDomainService {
@Autowired
private BasicAgreementFactory basicAgreementFactory;
@Resource
private BasicAgreementRepositoryInterface basicAgreementRepositoryInterface;
public List<BasicAgreementEntity> selectList(BasicAgreementDO basicAgreementDO) {
return basicAgreementRepositoryInterface.selectList(basicAgreementDO);
}
public BasicAgreementPO findAgreement(BasicAgreementDO basicAgreementDO){
return basicAgreementRepositoryInterface.findAgreement(basicAgreementDO);
}
public int addAgreement(BasicAgreementEntity basicAgreementEntity) {
return basicAgreementRepositoryInterface.addAgreement(basicAgreementEntity);
}
/**
* @Description 新增协议
* @Author Alex
* @Date 2022/11/24 11:05
*/
public int updateAgreement(BasicAgreementEntity basicAgreementEntity) {
return basicAgreementRepositoryInterface.updateAgreement(basicAgreementEntity);
}
public int deleteByIds(List<Long> ids) {
for (Long basicAgreementId : ids) {
BasicAgreementEntity basicAgreementEntity = basicAgreementRepositoryInterface.selectById(basicAgreementId);
if (ObjectUtil.isNotNull(basicAgreementEntity)) {
//删除标记0-无状态1-正常2-已删除
basicAgreementEntity.setDelFlag(2);
basicAgreementEntity.setUpdateTime(new Date());
basicAgreementRepositoryInterface.updateAgreement(basicAgreementEntity);
}
}
return ids.size();
}
/**
* 根据code和组织获取协议内容
* @param basicAgreementDO
* @return
*/
public BasicAgreementEntity getAgreementByCode(BasicAgreementDO basicAgreementDO) {
LambdaQueryWrapper<BasicAgreementEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BasicAgreementEntity::getBasicAgreementTypeCode,basicAgreementDO.getBasicAgreementTypeCode());
queryWrapper.eq(BasicAgreementEntity::getOrganizationId,basicAgreementDO.getOrganizationId());
queryWrapper.eq(BasicAgreementEntity::getBasicAgreementStatus,1);
queryWrapper.eq(BasicAgreementEntity::getDelFlag,1);
return basicAgreementRepositoryInterface.getOne(queryWrapper);
}
/**
* 根据协议id查询协议内容
* @param basicAgreementId
* @return
*/
public BasicAgreementEntity selectByAgreementId(Long basicAgreementId) {
LambdaQueryWrapper<BasicAgreementEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BasicAgreementEntity::getBasicAgreementId,basicAgreementId);
queryWrapper.eq(BasicAgreementEntity::getDelFlag,1);
return basicAgreementRepositoryInterface.getOne(queryWrapper);
}
public BasicAgreementEntity findAgreementByCodeAndOrg(BasicAgreementDO basicAgreementDO) {
if(StringUtils.isEmpty(basicAgreementDO.getBasicAgreementTypeCode())){
throw new ServiceException("协议code不能为空");
}
if(basicAgreementDO.getOrganizationId() == null){
throw new ServiceException("组织id不能为空");
}
LambdaQueryWrapper<BasicAgreementEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BasicAgreementEntity::getBasicAgreementTypeCode,basicAgreementDO.getBasicAgreementTypeCode());
queryWrapper.eq(BasicAgreementEntity::getOrganizationId,basicAgreementDO.getOrganizationId());
queryWrapper.eq(BasicAgreementEntity::getDelFlag,1);
return basicAgreementRepositoryInterface.getOne(queryWrapper);
}
}
@@ -0,0 +1,62 @@
package com.mhd.basic.domain.batch.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 批次管理对象 batch
*
* @author gen
* @date 2024-05-07
*/
@Data
public class Batch extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次id")
@TableId(type = IdType.AUTO)
private Long batchId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次编码")
@Excel(name = "批次编码")
private String batchCode;
@ApiModelProperty("批次名称")
@Excel(name = "批次名称")
private String batchName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
}
@@ -0,0 +1,43 @@
package com.mhd.basic.domain.batch.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.batch.entity.Batch;
import com.mhd.basic.domain.batch.repository.po.BatchPO;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import java.util.List;
/**
* 批次管理Service接口
*
* @author gen
* @date 2024-05-07
*/
public interface IBatchService extends IService<Batch>
{
/**
* 分页查询批次管理列表
*/
public List<BatchPO> queryList(BatchDO batchDO);
/**
* 新增批次管理
*/
public Long insert(BatchDO batchDO);
/**
* 修改批次管理
*/
public Boolean update(BatchDO batchDO);
/**
* 批量删除批次管理
*/
public Boolean delete(Long[] batchIds);
/**
* 查询批次管理
*/
public BatchPO getInfo(Long batchId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.batch.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.batch.entity.Batch;
import com.mhd.basic.domain.batch.repository.po.BatchPO;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import org.apache.ibatis.annotations.Param;
/**
* 批次管理Mapper接口
*
* @author gen
* @date 2024-05-07
*/
public interface BatchMapper extends BaseMapper<Batch>
{
/**
* 查询批次管理列表
*/
public List<BatchPO> queryList(BatchDO batchDO);
}
@@ -0,0 +1,114 @@
package com.mhd.basic.domain.batch.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.batch.entity.Batch;
import com.mhd.basic.domain.batch.repository.facade.IBatchService;
import com.mhd.basic.domain.batch.repository.mapper.BatchMapper;
import com.mhd.basic.domain.batch.repository.po.BatchPO;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.basic.domain.brand.repository.todo.BrandDO;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
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 BatchImpl extends ServiceImpl<BatchMapper, Batch> implements IBatchService{
@Autowired
private BatchMapper batchMapper;
/**
* 查询批次管理列表
*/
@Override
public List<BatchPO> queryList(BatchDO batchDO)
{
return batchMapper.queryList(batchDO);
}
/**
* 新增批次管理
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Long insert(BatchDO batchDO) {
//唯一性校验
verifyUniqueness(batchDO);
Batch batch = new Batch();
BeanUtils.copyProperties(batchDO,batch);
this.save(batch);
return batch.getBatchId();
}
/**
* 修改批次管理
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean update(BatchDO batchDO) {
//唯一性校验
verifyUniqueness(batchDO);
Batch batch = new Batch();
BeanUtils.copyProperties(batchDO,batch);
return this.updateById(batch);
}
/**
* @description 校验唯一
* @author ZhouGY
* @date 2024/5/9 21:10
* @param batchDO
*/
private void verifyUniqueness(BatchDO batchDO){
int count = batchMapper.selectCount(new QueryWrapper<Batch>().lambda()
.eq(Batch::getBatchCode,batchDO.getBatchCode())
.eq(Batch::getOrganizationId, batchDO.getOrganizationId())
.ne(batchDO.getBatchId() != null, Batch::getBatchId, batchDO.getBatchId())
.eq(Batch::getDelFlag,1));
if (count > 0){
throw new ServiceException("批次编码【" + batchDO.getBatchCode() + "】已存在");
}
}
/**
* 批量删除批次管理
*/
@Override
public Boolean delete(Long[] batchIds ) {
List<Batch> list = new ArrayList<>();
for (Long id : batchIds) {
Batch batch = new Batch();
batch.setBatchId(id);
batch.setDelFlag(2);
list.add(batch);
}
return this.updateBatchById(list);
}
/**
* 修改批次管理
*/
@Override
public BatchPO getInfo(Long batchId) {
Batch batch = this.getById(batchId);
BatchPO batchPO = new BatchPO();
BeanUtils.copyProperties(batch,batchPO);
return batchPO;
}
}
@@ -0,0 +1,69 @@
package com.mhd.basic.domain.batch.repository.po;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 批次管理对象 batch
*
* @author gen
* @date 2024-05-07
*/
@Data
@ApiModel(value = "批次管理对象", description = "批次管理响应对象")
public class BatchPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次id")
private Long batchId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次编码")
@Excel(name = "批次编码")
private String batchCode;
@ApiModelProperty("批次名称")
@Excel(name = "批次名称")
private String batchName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty("批次明细集合")
private List<BatchDetailPO> batchDetailList;
}
@@ -0,0 +1,69 @@
package com.mhd.basic.domain.batch.repository.todo;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 批次管理对象 batch
*
* @author gen
* @date 2024-05-07
*/
@Data
public class BatchDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次id")
private Long batchId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次编码")
@Excel(name = "批次编码")
private String batchCode;
@ApiModelProperty("批次名称")
@Excel(name = "批次名称")
private String batchName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("批次明细集合")
private List<BatchDetailDO> batchDetailList;
}
@@ -0,0 +1,103 @@
package com.mhd.basic.domain.batch.service;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.basic.domain.batch.entity.Batch;
import com.mhd.basic.domain.batch.repository.facade.IBatchService;
import com.mhd.basic.domain.batch.repository.po.BatchPO;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import com.mhd.basic.domain.batchDetail.repository.facade.IBatchDetailService;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 批次管理
*
* @author gen
* @date 2024-05-07
*/
@Service
@Slf4j
public class BatchDomainService {
@Autowired
private IBatchService batchService;
@Autowired
private IBatchDetailService batchDetailService;
/**
* 分页查询批次管理列表
*/
public List<BatchPO> queryList(BatchDO batchDO) {
return batchService.queryList(batchDO);
}
/**
* 新增批次管理
*/
@Transactional(rollbackFor = Exception.class)
public Boolean insert(BatchDO batchDO) {
Long batchId = batchService.insert(batchDO);
batchDO.setBatchId(batchId);
return batchDetailService.batchInsertOrUpdate(batchDO);
}
/**
* 修改批次管理
*/
@Transactional(rollbackFor = Exception.class)
public Boolean update(BatchDO batchDO) {
batchService.update(batchDO);
return batchDetailService.batchInsertOrUpdate(batchDO);
}
/**
* 批量删除批次管理
*/
public Boolean delete(Long[] batchIds) {
return batchService.delete(batchIds);
}
/**
* 获取批次管理详细信息
*/
public BatchPO getInfo(Long batchId)
{
BatchPO batchPO = batchService.getInfo(batchId);
BatchDetailDO batchDetailDO = new BatchDetailDO();
batchDetailDO.setBatchId(batchId);
List<BatchDetailPO> batchDetailPOList = batchDetailService.queryList(batchDetailDO);
batchPO.setBatchDetailList(batchDetailPOList);
return batchPO;
}
/**
* @description 根据id作废批次
* @author ZhouGY
* @date 2024/5/10 15:28
* @param batchId
* @return Boolean
*/
public Boolean nullifyByIds(Long[] batchId) {
LoginUser loginUser = SecurityUtils.getLoginUser();
return batchService.update(null, new UpdateWrapper<Batch>().lambda()
.set(Batch::getNullify, 1)
.set(Batch::getUpdateTime, new Date())
.set(Batch::getUpdateBy, loginUser.getUserid())
.set(Batch::getUpdateByName, loginUser.getUsername())
.in(Batch::getBatchId, Arrays.asList(batchId)));
}
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.batchDetail.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 批次管理详情对象 batch_detail
*
* @author gen
* @date 2024-05-07
*/
@Data
public class BatchDetail extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次管理详情id")
@TableId(type = IdType.AUTO)
private Long batchDetailId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次id")
@Excel(name = "批次id")
private Long batchId;
@ApiModelProperty("批次标签")
@Excel(name = "批次标签")
private String batchLabels;
@ApiModelProperty("输入控制: 1-必填 2-可选")
@Excel(name = "输入控制: 1-必填 2-可选")
private String inputControl;
@ApiModelProperty("属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
@Excel(name = "属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
private String attributeFormat;
@ApiModelProperty("属性选项")
@Excel(name = "属性选项")
private String attributeOption;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,49 @@
package com.mhd.basic.domain.batchDetail.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import com.mhd.basic.domain.batchDetail.entity.BatchDetail;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import java.util.List;
/**
* 批次管理详情Service接口
*
* @author gen
* @date 2024-05-07
*/
public interface IBatchDetailService extends IService<BatchDetail>
{
/**
* 分页查询批次管理详情列表
*/
public List<BatchDetailPO> queryList(BatchDetailDO batchDetailDO);
/**
* 新增批次管理详情
*/
public Boolean insert(BatchDetailDO batchDetailDO);
/**
* 批量新增批次管理详情
*/
public Boolean batchInsertOrUpdate(BatchDO batchDO);
/**
* 修改批次管理详情
*/
public Boolean update(BatchDetailDO batchDetailDO);
/**
* 批量删除批次管理详情
*/
public Boolean delete(Long[] batchDetailIds);
/**
* 查询批次管理详情
*/
public BatchDetailPO getInfo(Long batchDetailId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.batchDetail.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.batchDetail.entity.BatchDetail;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import org.apache.ibatis.annotations.Param;
/**
* 批次管理详情Mapper接口
*
* @author gen
* @date 2024-05-07
*/
public interface BatchDetailMapper extends BaseMapper<BatchDetail>
{
/**
* 查询批次管理详情列表
*/
public List<BatchDetailPO> queryList(BatchDetailDO batchDetailDO);
}
@@ -0,0 +1,159 @@
package com.mhd.basic.domain.batchDetail.repository.persistence;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.batch.repository.todo.BatchDO;
import com.mhd.basic.domain.batchDetail.entity.BatchDetail;
import com.mhd.basic.domain.batchDetail.repository.facade.IBatchDetailService;
import com.mhd.basic.domain.batchDetail.repository.mapper.BatchDetailMapper;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
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.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 批次管理详情Service业务层处理
*
* @author gen
* @date 2024-05-07
*/
@Service
public class BatchDetailImpl extends ServiceImpl<BatchDetailMapper, BatchDetail> implements IBatchDetailService{
@Autowired
private BatchDetailMapper batchDetailMapper;
/**
* 查询批次管理详情列表
*/
@Override
public List<BatchDetailPO> queryList(BatchDetailDO batchDetailDO)
{
return batchDetailMapper.queryList(batchDetailDO);
}
/**
* 新增批次管理详情
*/
@Override
public Boolean insert(BatchDetailDO batchDetailDO) {
BatchDetail batchDetail = new BatchDetail();
BeanUtils.copyProperties(batchDetailDO,batchDetail);
return this.save(batchDetail);
}
/**
* 批量新增批次管理详情
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean batchInsertOrUpdate(BatchDO batchDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
UserPo userPo = loginUser.getUserPo();
List<BatchDetailDO> batchDetailDOList = batchDO.getBatchDetailList();
//验证提交的数据是否存在重复
long count = batchDetailDOList.stream().map(BatchDetailDO::getBatchLabels).distinct().count();
if (batchDetailDOList.size() != count){
throw new ServiceException("批次标签不允许重复,请检查提交的数据");
}
List<BatchDetail> batchDetailDbList = batchDetailMapper.selectList(new QueryWrapper<BatchDetail>().lambda()
.eq(BatchDetail::getBatchId, batchDO.getBatchId()));
List<BatchDetail> batchDetailListSave = new ArrayList<>();
List<BatchDetail> batchDetailListUpdates = new ArrayList<>();
if (CollectionUtil.isNotEmpty(batchDetailDbList)){
Map<String, BatchDetail> batchDetailMap = batchDetailDbList.stream().collect(Collectors.toMap(BatchDetail::getBatchLabels, Function.identity()));
for (BatchDetailDO batchDetailDO : batchDetailDOList){
BatchDetail batchDetailDb = batchDetailMap.get(batchDetailDO.getBatchLabels());
if (batchDetailDb != null){
batchDetailDb.setBatchLabels(batchDetailDO.getBatchLabels());
batchDetailDb.setInputControl(batchDetailDO.getInputControl());
batchDetailDb.setAttributeFormat(batchDetailDO.getAttributeFormat());
batchDetailDb.setAttributeOption(batchDetailDO.getAttributeOption());
batchDetailDb.setRemark(batchDetailDO.getRemark());
batchDetailDb.setDelFlag(1);
batchDetailListUpdates.add(batchDetailDb);
} else {
BatchDetail batchDetail = new BatchDetail();
BeanUtils.copyProperties(batchDetailDO, batchDetail);
batchDetail.setBatchId(batchDO.getBatchId());
batchDetail.setOrganizationId(batchDO.getOrganizationId());
batchDetail.setOrganizationName(batchDO.getOrganizationName());
batchDetail.setTopOrganizationId(batchDO.getTopOrganizationId());
batchDetail.setCreateBy(userPo.getUserId());
batchDetail.setCreateByName(userPo.getUserName());
batchDetail.setCreateTime(new Date());
batchDetailListSave.add(batchDetail);
}
}
}
//删除 之前存在 现在没有的
List<Long> batchDetailIds = batchDetailDbList.stream().map(BatchDetail::getBatchDetailId).collect(Collectors.toList());
List<Long> batchDetailIdsExist = batchDetailDOList.stream().map(BatchDetailDO::getBatchDetailId).filter(Objects::nonNull).collect(Collectors.toList());
batchDetailIds.removeAll(batchDetailIdsExist);
if (CollectionUtil.isNotEmpty(batchDetailIds)){
//标记之前的标签信息删除
batchDetailMapper.update(null, new UpdateWrapper<BatchDetail>().lambda()
.set(BatchDetail::getDelFlag, 2)
.set(BatchDetail::getUpdateBy, loginUser.getUserid())
.set(BatchDetail::getUpdateByName, loginUser.getUsername())
.set(BatchDetail::getUpdateTime, new Date())
.in(BatchDetail::getBatchDetailId, batchDetailIds));
}
//新增
if (CollectionUtil.isNotEmpty(batchDetailListSave)){
saveBatch(batchDetailListSave);
}
//修改
if (CollectionUtil.isNotEmpty(batchDetailListUpdates)){
updateBatchById(batchDetailListUpdates);
}
return true;
}
/**
* 修改批次管理详情
*/
@Override
public Boolean update(BatchDetailDO batchDetailDO) {
BatchDetail batchDetail = new BatchDetail();
BeanUtils.copyProperties(batchDetailDO,batchDetail);
return this.updateById(batchDetail);
}
/**
* 批量删除批次管理详情
*/
@Override
public Boolean delete(Long[] batchDetailIds ) {
List<BatchDetail> list = new ArrayList<>();
for (Long id : batchDetailIds) {
BatchDetail batchDetail = new BatchDetail();
batchDetail.setBatchDetailId(id);
batchDetail.setDelFlag(2);
list.add(batchDetail);
}
return this.updateBatchById(list);
}
/**
* 修改批次管理详情
*/
@Override
public BatchDetailPO getInfo(Long batchDetailId) {
BatchDetail batchDetail = this.getById(batchDetailId);
BatchDetailPO batchDetailPO = new BatchDetailPO();
BeanUtils.copyProperties(batchDetail,batchDetailPO);
return batchDetailPO;
}
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.batchDetail.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 批次管理详情对象 batch_detail
*
* @author gen
* @date 2024-05-07
*/
@Data
@ApiModel(value = "批次管理详情对象", description = "批次管理详情响应对象")
public class BatchDetailPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次管理详情id")
private Long batchDetailId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次id")
@Excel(name = "批次id")
private Long batchId;
@ApiModelProperty("批次标签")
@Excel(name = "批次标签")
private String batchLabels;
@ApiModelProperty("输入控制: 1-必填 2-可选")
@Excel(name = "输入控制: 1-必填 2-可选")
private String inputControl;
@ApiModelProperty("属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
@Excel(name = "属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
private String attributeFormat;
@ApiModelProperty("属性选项")
@Excel(name = "属性选项")
private String attributeOption;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,72 @@
package com.mhd.basic.domain.batchDetail.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 批次管理详情对象 batch_detail
*
* @author gen
* @date 2024-05-07
*/
@Data
public class BatchDetailDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("批次管理详情id")
private Long batchDetailId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("批次id")
@Excel(name = "批次id")
private Long batchId;
@ApiModelProperty("批次标签")
@Excel(name = "批次标签")
private String batchLabels;
@ApiModelProperty("输入控制: 1-必填 2-可选")
@Excel(name = "输入控制: 1-必填 2-可选")
private String inputControl;
@ApiModelProperty("属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
@Excel(name = "属性格式:1-下拉框 2-日期 3-日期时间 4-数字 5-文本")
private String attributeFormat;
@ApiModelProperty("属性选项")
@Excel(name = "属性选项")
private String attributeOption;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("物料基础信息id")
private Long materialBaseInfoId;
}
@@ -0,0 +1,73 @@
package com.mhd.basic.domain.batchDetail.service;
import com.mhd.basic.domain.batchDetail.repository.facade.IBatchDetailService;
import com.mhd.basic.domain.batchDetail.repository.po.BatchDetailPO;
import com.mhd.basic.domain.batchDetail.repository.todo.BatchDetailDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 批次管理详情
*
* @author gen
* @date 2024-05-07
*/
@Service
@Slf4j
public class BatchDetailDomainService {
@Autowired
private IBatchDetailService batchDetailService;
/**
* 分页查询批次管理详情列表
*/
public List<BatchDetailPO> queryList(BatchDetailDO batchDetailDO) {
return batchDetailService.queryList(batchDetailDO);
}
/**
* 新增批次管理详情
*/
public Boolean insert(BatchDetailDO batchDetailDO) {
return batchDetailService.insert(batchDetailDO);
}
/**
* 修改批次管理详情
*/
public Boolean update(BatchDetailDO batchDetailDO) {
return batchDetailService.update(batchDetailDO);
}
/**
* 批量删除批次管理详情
*/
public Boolean delete(Long[] batchDetailIds) {
return batchDetailService.delete(batchDetailIds);
}
/**
* 获取批次管理详情详细信息
*/
public BatchDetailPO getInfo(Long batchDetailId)
{
return batchDetailService.getInfo(batchDetailId);
}
/**
* 获取批次管理详情详细信息
*/
public List<BatchDetailPO> getBatchDetailListByBatchId(Long batchId) {
BatchDetailDO batchDetailDO = new BatchDetailDO();
batchDetailDO.setBatchId(batchId);
return batchDetailService.queryList(batchDetailDO);
}
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.brand.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 品牌管理对象 brand
*
* @author gen
* @date 2024-05-07
*/
@Data
public class Brand extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("物料分类id")
@TableId(type = IdType.AUTO)
private Long brandId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("货主id")
@Excel(name = "货主id")
private Long shipperId;
@ApiModelProperty("货主名称")
@Excel(name = "货主名称")
private String shipperName;
@ApiModelProperty("品牌编码")
@Excel(name = "品牌编码")
private String brandCode;
@ApiModelProperty("品牌名称")
@Excel(name = "品牌名称")
private String brandName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
}
@@ -0,0 +1,43 @@
package com.mhd.basic.domain.brand.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.basic.domain.brand.repository.po.BrandPO;
import com.mhd.basic.domain.brand.repository.todo.BrandDO;
import java.util.List;
/**
* 品牌管理Service接口
*
* @author gen
* @date 2024-05-07
*/
public interface IBrandService extends IService<Brand>
{
/**
* 分页查询品牌管理列表
*/
public List<BrandPO> queryList(BrandDO brandDO);
/**
* 新增品牌管理
*/
public Boolean insert(BrandDO brandDO);
/**
* 修改品牌管理
*/
public Boolean update(BrandDO brandDO);
/**
* 批量删除品牌管理
*/
public Boolean delete(Long[] brandIds);
/**
* 查询品牌管理
*/
public BrandPO getInfo(Long brandId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.brand.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.basic.domain.brand.repository.po.BrandPO;
import com.mhd.basic.domain.brand.repository.todo.BrandDO;
import org.apache.ibatis.annotations.Param;
/**
* 品牌管理Mapper接口
*
* @author gen
* @date 2024-05-07
*/
public interface BrandMapper extends BaseMapper<Brand>
{
/**
* 查询品牌管理列表
*/
public List<BrandPO> queryList(BrandDO brandDO);
}
@@ -0,0 +1,119 @@
package com.mhd.basic.domain.brand.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.basic.domain.brand.repository.facade.IBrandService;
import com.mhd.basic.domain.brand.repository.mapper.BrandMapper;
import com.mhd.basic.domain.brand.repository.po.BrandPO;
import com.mhd.basic.domain.brand.repository.todo.BrandDO;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* 品牌管理Service业务层处理
*
* @author gen
* @date 2024-05-07
*/
@Service
public class BrandImpl extends ServiceImpl<BrandMapper, Brand> implements IBrandService{
@Autowired
private BrandMapper brandMapper;
/**
* 查询品牌管理列表
*/
@Override
public List<BrandPO> queryList(BrandDO brandDO)
{
return brandMapper.queryList(brandDO);
}
/**
* 新增品牌管理
*/
@Override
public Boolean insert(BrandDO brandDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
//唯一性校验
verifyUniqueness(brandDO);
Brand brand = new Brand();
BeanUtils.copyProperties(brandDO,brand);
UserPo userPo = loginUser.getUserPo();
brand.setCreateBy(userPo.getUserId());
brand.setCreateByName(userPo.getUserName());
brand.setCreateTime(new Date());
return this.save(brand);
}
/**
* 修改品牌管理
*/
@Override
public Boolean update(BrandDO brandDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
//唯一性校验
verifyUniqueness(brandDO);
Brand brand = new Brand();
BeanUtils.copyProperties(brandDO,brand);
UserPo userPo = loginUser.getUserPo();
brand.setUpdateBy(userPo.getUserId());
brand.setUpdateByName(userPo.getUserName());
brand.setUpdateTime(new Date());
return this.updateById(brand);
}
/**
* @description 校验唯一
* @author ZhouGY
* @date 2024/5/9 21:10
* @param brandDO
*/
private void verifyUniqueness(BrandDO brandDO){
int count = brandMapper.selectCount(new QueryWrapper<Brand>().lambda()
.eq(Brand::getBrandCode,brandDO.getBrandCode())
.eq(Brand::getShipperId, brandDO.getShipperId())
.eq(Brand::getOrganizationId, brandDO.getOrganizationId())
.ne(brandDO.getBrandId() != null, Brand::getBrandId, brandDO.getBrandId() )
.eq(Brand::getDelFlag,1));
if (count > 0){
throw new ServiceException("货主【" + brandDO.getShipperName() + "】的品牌编码【" + brandDO.getBrandCode() + "】已存在");
}
}
/**
* 批量删除品牌管理
*/
@Override
public Boolean delete(Long[] brandIds ) {
List<Brand> list = new ArrayList<>();
for (Long id : brandIds) {
Brand brand = new Brand();
brand.setBrandId(id);
brand.setDelFlag(2);
list.add(brand);
}
return this.updateBatchById(list);
}
/**
* 修改品牌管理
*/
@Override
public BrandPO getInfo(Long brandId) {
Brand brand = this.getById(brandId);
BrandPO brandPO = new BrandPO();
BeanUtils.copyProperties(brand,brandPO);
return brandPO;
}
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.brand.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 品牌管理对象 brand
*
* @author gen
* @date 2024-05-07
*/
@Data
@ApiModel(value = "品牌管理对象", description = "品牌管理响应对象")
public class BrandPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("物料分类id")
private Long brandId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("货主id")
@Excel(name = "货主id")
private Long shipperId;
@ApiModelProperty("货主名称")
@Excel(name = "货主名称")
private String shipperName;
@ApiModelProperty("品牌编码")
@Excel(name = "品牌编码")
private String brandCode;
@ApiModelProperty("品牌名称")
@Excel(name = "品牌名称")
private String brandName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
}
@@ -0,0 +1,69 @@
package com.mhd.basic.domain.brand.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 品牌管理对象 brand
*
* @author gen
* @date 2024-05-07
*/
@Data
public class BrandDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("物料分类id")
private Long brandId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("货主id")
@Excel(name = "货主id")
private Long shipperId;
@ApiModelProperty("货主名称")
@Excel(name = "货主名称")
private String shipperName;
@ApiModelProperty("品牌编码")
@Excel(name = "品牌编码")
private String brandCode;
@ApiModelProperty("品牌名称")
@Excel(name = "品牌名称")
private String brandName;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,88 @@
package com.mhd.basic.domain.brand.service;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.basic.domain.brand.entity.Brand;
import com.mhd.basic.domain.brand.repository.facade.IBrandService;
import com.mhd.basic.domain.brand.repository.po.BrandPO;
import com.mhd.basic.domain.brand.repository.todo.BrandDO;
import com.mhd.basic.domain.materialClassify.entity.MaterialClassify;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 品牌管理
*
* @author gen
* @date 2024-05-07
*/
@Service
@Slf4j
public class BrandDomainService {
@Autowired
private IBrandService brandService;
/**
* 分页查询品牌管理列表
*/
public List<BrandPO> queryList(BrandDO brandDO) {
return brandService.queryList(brandDO);
}
/**
* 新增品牌管理
*/
public Boolean insert(BrandDO brandDO) {
return brandService.insert(brandDO);
}
/**
* 修改品牌管理
*/
public Boolean update(BrandDO brandDO) {
return brandService.update(brandDO);
}
/**
* 批量删除品牌管理
*/
public Boolean delete(Long[] brandIds) {
return brandService.delete(brandIds);
}
/**
* 获取品牌管理详细信息
*/
public BrandPO getInfo(Long brandId)
{
return brandService.getInfo(brandId);
}
/**
* @description 根据id作废品牌
* @author ZhouGY
* @date 2024/5/10 15:28
* @param brandIds
* @return Boolean
*/
public Boolean nullifyByIds(Long[] brandIds) {
LoginUser loginUser = SecurityUtils.getLoginUser();
return brandService.update(null, new UpdateWrapper<Brand>().lambda()
.set(Brand::getNullify, 1)
.set(Brand::getUpdateTime, new Date())
.set(Brand::getUpdateBy, loginUser.getUserid())
.set(Brand::getUpdateByName, loginUser.getUsername())
.in(Brand::getBrandId, Arrays.asList(brandIds)));
}
}
@@ -0,0 +1,67 @@
package com.mhd.basic.domain.common.cache;
import com.mhd.common.core.constant.Constants;
import com.mhd.common.core.utils.SpringUtils;
import com.mhd.common.redis.service.RedisService;
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
import lombok.extern.slf4j.Slf4j;
import java.util.Collection;
/**
* @author ZhouGY
* @title WarehouseCache
* @description: 当前用户关联仓库
* @date 2024/6/14 15:05
**/
@Slf4j
public class AssociationWarehouseCacheUtil {
/**
* 设置缓存
*
* @param key 参数键
* @param associationWarehouseCacheDO 数据
*/
public static void setCache(Long key, AssociationWarehouseCacheDO associationWarehouseCacheDO) {
SpringUtils.getBean(RedisService.class).setCacheObject(getCacheKey(key), associationWarehouseCacheDO);
}
/**
* 获取字典缓存
*
* @param key 参数键
* @return dictDatas 数据
*/
public static AssociationWarehouseCacheDO getCache(Long key) {
return SpringUtils.getBean(RedisService.class).getCacheObject(getCacheKey(key));
}
/**
* 删除指定缓存
*
* @param key 字典键
*/
public static void removeDictCache(Long key) {
SpringUtils.getBean(RedisService.class).deleteObject(getCacheKey(key));
}
/**
* 清空缓存
*/
public static void clearDictCache() {
Collection<String> keys = SpringUtils.getBean(RedisService.class).keys(Constants.WMS_ASSOCIATION_WAREHOUSE_KEY + "*");
SpringUtils.getBean(RedisService.class).deleteObject(keys);
}
/**
* 设置cache key
*
* @param configKey 参数键
* @return 缓存键key
*/
public static String getCacheKey(Long configKey) {
return Constants.WMS_ASSOCIATION_WAREHOUSE_KEY + configKey;
}
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.common.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* 数据权限判断 po
*
* 2023-02-20
*
* @author 王子豪
*/
@Data
public class DataPermission
{
@ApiModelProperty(value = "创建者")
private Long createBy;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
}
@@ -0,0 +1,50 @@
package com.mhd.basic.domain.commonLineDriver.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 司机常跑线路对象 common_line_driver
*
* @author gen
* @date 2024-03-19
*/
@Data
public class CommonLineDriver extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("线路ID")
@TableId(type = IdType.AUTO)
private Long commonLineDriverId;
@ApiModelProperty("线路名称")
@Excel(name = "线路名称")
private String lineName;
@ApiModelProperty("装货地名称")
@Excel(name = "装货地名称")
private String loadingName;
@ApiModelProperty("装货地县区编码")
@Excel(name = "装货地县区编码")
private String loadingAreaId;
@ApiModelProperty("卸货地名称")
@Excel(name = "卸货地名称")
private String unloadName;
@ApiModelProperty("卸货地县区编码")
@Excel(name = "卸货地县区编码")
private String unloadAreaId;
}
@@ -0,0 +1,38 @@
package com.mhd.basic.domain.commonLineDriver.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.commonLineDriver.entity.CommonLineDriver;
import com.mhd.basic.domain.commonLineDriver.repository.po.CommonLineDriverPO;
import com.mhd.basic.domain.commonLineDriver.repository.todo.CommonLineDriverDO;
import java.util.List;
/**
* 司机常跑线路Service接口
*
* @author gen
* @date 2024-03-19
*/
public interface ICommonLineDriverService extends IService<CommonLineDriver>
{
/**
* 分页查询司机常跑线路列表
*/
public List<CommonLineDriverPO> queryList(CommonLineDriverDO commonLineDriverDO);
/**
* 新增司机常跑线路
*/
public Boolean insert(CommonLineDriverDO commonLineDriverDO);
/**
* 修改司机常跑线路
*/
public Boolean update(CommonLineDriverDO commonLineDriverDO);
/**
* 查询司机常跑线路
*/
public CommonLineDriverPO getInfo(Long commonLineDriverId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.commonLineDriver.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.commonLineDriver.entity.CommonLineDriver;
import com.mhd.basic.domain.commonLineDriver.repository.po.CommonLineDriverPO;
import com.mhd.basic.domain.commonLineDriver.repository.todo.CommonLineDriverDO;
import org.apache.ibatis.annotations.Param;
/**
* 司机常跑线路Mapper接口
*
* @author gen
* @date 2024-03-19
*/
public interface CommonLineDriverMapper extends BaseMapper<CommonLineDriver>
{
/**
* 查询司机常跑线路列表
*/
public List<CommonLineDriverPO> queryList(CommonLineDriverDO commonLineDriverDO);
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.commonLineDriver.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.commonLineDriver.entity.CommonLineDriver;
import com.mhd.basic.domain.commonLineDriver.repository.facade.ICommonLineDriverService;
import com.mhd.basic.domain.commonLineDriver.repository.mapper.CommonLineDriverMapper;
import com.mhd.basic.domain.commonLineDriver.repository.po.CommonLineDriverPO;
import com.mhd.basic.domain.commonLineDriver.repository.todo.CommonLineDriverDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 司机常跑线路Service业务层处理
*
* @author gen
* @date 2024-03-19
*/
@Service
public class CommonLineDriverImpl extends ServiceImpl<CommonLineDriverMapper, CommonLineDriver> implements ICommonLineDriverService{
@Autowired
private CommonLineDriverMapper commonLineDriverMapper;
/**
* 查询司机常跑线路列表
*/
@Override
public List<CommonLineDriverPO> queryList(CommonLineDriverDO commonLineDriverDO)
{
return commonLineDriverMapper.queryList(commonLineDriverDO);
}
/**
* 新增司机常跑线路
*/
@Override
public Boolean insert(CommonLineDriverDO commonLineDriverDO) {
CommonLineDriver commonLineDriver = new CommonLineDriver();
BeanUtils.copyProperties(commonLineDriverDO,commonLineDriver);
return this.save(commonLineDriver);
}
/**
* 修改司机常跑线路
*/
@Override
public Boolean update(CommonLineDriverDO commonLineDriverDO) {
CommonLineDriver commonLineDriver = new CommonLineDriver();
BeanUtils.copyProperties(commonLineDriverDO,commonLineDriver);
return this.updateById(commonLineDriver);
}
/**
* 修改司机常跑线路
*/
@Override
public CommonLineDriverPO getInfo(Long commonLineDriverId) {
CommonLineDriver commonLineDriver = this.getById(commonLineDriverId);
CommonLineDriverPO commonLineDriverPO = new CommonLineDriverPO();
BeanUtils.copyProperties(commonLineDriver,commonLineDriverPO);
return commonLineDriverPO;
}
}
@@ -0,0 +1,50 @@
package com.mhd.basic.domain.commonLineDriver.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 司机常跑线路对象 common_line_driver
*
* @author gen
* @date 2024-03-19
*/
@Data
@ApiModel(value = "司机常跑线路对象", description = "司机常跑线路响应对象")
public class CommonLineDriverPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("线路ID")
private Long commonLineDriverId;
@ApiModelProperty("线路名称")
@Excel(name = "线路名称")
private String lineName;
@ApiModelProperty("装货地名称")
@Excel(name = "装货地名称")
private String loadingName;
@ApiModelProperty("装货地县区编码")
@Excel(name = "装货地县区编码")
private String loadingAreaId;
@ApiModelProperty("卸货地名称")
@Excel(name = "卸货地名称")
private String unloadName;
@ApiModelProperty("卸货地县区编码")
@Excel(name = "卸货地县区编码")
private String unloadAreaId;
}
@@ -0,0 +1,53 @@
package com.mhd.basic.domain.commonLineDriver.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 司机常跑线路对象 common_line_driver
*
* @author gen
* @date 2024-03-19
*/
@Data
public class CommonLineDriverDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("线路ID")
private Long commonLineDriverId;
@ApiModelProperty("线路名称")
@Excel(name = "线路名称")
private String lineName;
@ApiModelProperty("装货地名称")
@Excel(name = "装货地名称")
private String loadingName;
@ApiModelProperty("装货地县区编码")
@Excel(name = "装货地县区编码")
private String loadingAreaId;
@ApiModelProperty("卸货地名称")
@Excel(name = "卸货地名称")
private String unloadName;
@ApiModelProperty("卸货地县区编码")
@Excel(name = "卸货地县区编码")
private String unloadAreaId;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,69 @@
package com.mhd.basic.domain.commonLineDriver.service;
import com.mhd.basic.domain.commonLineDriver.entity.CommonLineDriver;
import com.mhd.basic.domain.commonLineDriver.repository.facade.ICommonLineDriverService;
import com.mhd.basic.domain.commonLineDriver.repository.po.CommonLineDriverPO;
import com.mhd.basic.domain.commonLineDriver.repository.todo.CommonLineDriverDO;
import com.mhd.basic.interfaces.dto.commonLineDriver.CommonLineDriverDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 司机常跑线路
*
* @author gen
* @date 2024-03-19
*/
@Service
@Slf4j
public class CommonLineDriverDomainService {
@Autowired
private ICommonLineDriverService commonLineDriverService;
/**
* 分页查询司机常跑线路列表
*/
public List<CommonLineDriverPO> queryList(CommonLineDriverDO commonLineDriverDO) {
return commonLineDriverService.queryList(commonLineDriverDO);
}
/**
* 新增司机常跑线路
*/
public Boolean insert(CommonLineDriverDO commonLineDriverDO) {
return commonLineDriverService.insert(commonLineDriverDO);
}
/**
* 修改司机常跑线路
*/
public Boolean update(CommonLineDriverDO commonLineDriverDO) {
return commonLineDriverService.update(commonLineDriverDO);
}
/**
* 批量删除司机常跑线路
*/
public Boolean delete(List<Long> ids) {
return commonLineDriverService.lambdaUpdate()
.in(CommonLineDriver::getCommonLineDriverId, ids)
.set(CommonLineDriver::getDelFlag, 2)
.update();
}
/**
* 获取司机常跑线路详细信息
*/
public CommonLineDriverPO getInfo(Long commonLineDriverId)
{
return commonLineDriverService.getInfo(commonLineDriverId);
}
}
@@ -0,0 +1,90 @@
package com.mhd.basic.domain.container.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 容器管理对象 container
*
* @author gen
* @date 2024-05-07
*/
@Data
public class Container extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("容器id")
@TableId(type = IdType.AUTO)
private Long containerId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("容器编码")
@Excel(name = "容器编码")
private String containerCode;
@ApiModelProperty("容器类型 数据字典")
@Excel(name = "容器类型 数据字典")
private String containerType;
@ApiModelProperty("容器类型名称 数据字典")
@Excel(name = "容器类型名称 数据字典")
private String containerTypeName;
@ApiModelProperty("容器大小 长*宽*高 单位:米")
@Excel(name = "容器大小 长*宽*高 单位:米")
private String containerSize;
@ApiModelProperty("容器大小-长 单位:米")
@Excel(name = "容器大小-长 单位:米")
private BigDecimal containerLength;
@ApiModelProperty("容器大小-宽 单位:米")
@Excel(name = "容器大小-宽 单位:米")
private BigDecimal containerWidth;
@ApiModelProperty("容器大小-高 单位:米")
@Excel(name = "容器大小-高 单位:米")
private BigDecimal containerHeight;
@ApiModelProperty("容器容积 单位:立方米")
@Excel(name = "容器容积 单位:立方米")
private BigDecimal containerVolume;
@ApiModelProperty("使用状态: 1-空闲 2-占用")
@Excel(name = "使用状态: 1-空闲 2-占用")
private Integer usageStatus;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,43 @@
package com.mhd.basic.domain.container.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.container.entity.Container;
import com.mhd.basic.domain.container.repository.po.ContainerPO;
import com.mhd.basic.domain.container.repository.todo.ContainerDO;
import java.util.List;
/**
* 容器管理Service接口
*
* @author gen
* @date 2024-05-07
*/
public interface IContainerService extends IService<Container>
{
/**
* 分页查询容器管理列表
*/
public List<ContainerPO> queryList(ContainerDO containerDO);
/**
* 新增容器管理
*/
public Boolean insert(ContainerDO containerDO);
/**
* 修改容器管理
*/
public Boolean update(ContainerDO containerDO);
/**
* 批量删除容器管理
*/
public Boolean delete(Long[] containerIds);
/**
* 查询容器管理
*/
public ContainerPO getInfo(Long containerId);
}
@@ -0,0 +1,22 @@
package com.mhd.basic.domain.container.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.container.entity.Container;
import com.mhd.basic.domain.container.repository.po.ContainerPO;
import com.mhd.basic.domain.container.repository.todo.ContainerDO;
import org.apache.ibatis.annotations.Param;
/**
* 容器管理Mapper接口
*
* @author gen
* @date 2024-05-07
*/
public interface ContainerMapper extends BaseMapper<Container>
{
/**
* 查询容器管理列表
*/
public List<ContainerPO> queryList(ContainerDO containerDO);
}
@@ -0,0 +1,126 @@
package com.mhd.basic.domain.container.repository.persistence;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.container.entity.Container;
import com.mhd.basic.domain.container.repository.facade.IContainerService;
import com.mhd.basic.domain.container.repository.mapper.ContainerMapper;
import com.mhd.basic.domain.container.repository.po.ContainerPO;
import com.mhd.basic.domain.container.repository.todo.ContainerDO;
import com.mhd.basic.domain.pack.entity.Pack;
import com.mhd.basic.domain.pack.repository.todo.PackDO;
import com.mhd.common.core.domain.po.UserPo;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
import com.mhd.system.api.model.LoginUser;
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 ContainerImpl extends ServiceImpl<ContainerMapper, Container> implements IContainerService{
@Autowired
private ContainerMapper containerMapper;
/**
* 查询容器管理列表
*/
@Override
public List<ContainerPO> queryList(ContainerDO containerDO)
{
return containerMapper.queryList(containerDO);
}
/**
* 新增容器管理
*/
@Override
public Boolean insert(ContainerDO containerDO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
//唯一性校验
verifyUniqueness(containerDO);
Container container = new Container();
BeanUtils.copyProperties(containerDO,container);
container.setContainerSize(containerDO.getContainerLength() + "*" + containerDO.getContainerWidth() + "*" + containerDO.getContainerHeight());
return this.save(container);
}
/**
* 修改容器管理
*/
@Override
public Boolean update(ContainerDO containerDO) {
//唯一性校验
verifyUniqueness(containerDO);
Container container = new Container();
BeanUtils.copyProperties(containerDO,container);
return this.updateById(container);
}
/**
* 批量删除容器管理
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean delete(Long[] containerIds ) {
LoginUser loginUser = SecurityUtils.getLoginUser();
List<Container> list = new ArrayList<>();
for (Long id : containerIds) {
Container container = new Container();
container.setContainerId(id);
container.setDelFlag(2);
container.setUpdateBy(loginUser.getUserid());
container.setUpdateByName(loginUser.getUsername());
container.setUpdateTime(new Date());
list.add(container);
}
return this.updateBatchById(list);
}
/**
* 修改容器管理
*/
@Override
public ContainerPO getInfo(Long containerId) {
Container container = this.getById(containerId);
ContainerPO containerPO = new ContainerPO();
BeanUtils.copyProperties(container,containerPO);
return containerPO;
}
/**
* @description 校验唯一
* @author ZhouGY
* @date 2024/5/9 21:10
* @param containerDO
*/
private void verifyUniqueness(ContainerDO containerDO){
LoginUser loginUser = SecurityUtils.getLoginUser();
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId == null || topOrganizationId == 0 ){
throw new ServiceException("获取当前登陆人组织失败!");
}
int count = containerMapper.selectCount(new QueryWrapper<Container>().lambda()
.eq(Container::getTopOrganizationId, topOrganizationId)
.eq(Container::getContainerCode,containerDO.getContainerCode())
.eq(Container::getOrganizationId, containerDO.getOrganizationId())
.ne(containerDO.getContainerId() != null, Container::getContainerId, containerDO.getContainerId() )
.eq(Container::getDelFlag,1));
if (count > 0){
throw new ServiceException("容器编码【" + containerDO.getContainerCode() + "】已存在");
}
}
}
@@ -0,0 +1,90 @@
package com.mhd.basic.domain.container.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 容器管理对象 container
*
* @author gen
* @date 2024-05-07
*/
@Data
@ApiModel(value = "容器管理对象", description = "容器管理响应对象")
public class ContainerPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("容器id")
private Long containerId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("容器编码")
@Excel(name = "容器编码")
private String containerCode;
@ApiModelProperty("容器类型 数据字典")
@Excel(name = "容器类型 数据字典")
private String containerType;
@ApiModelProperty("容器类型名称 数据字典")
@Excel(name = "容器类型名称 数据字典")
private String containerTypeName;
@ApiModelProperty("容器大小 长*宽*高 单位:米")
@Excel(name = "容器大小 长*宽*高 单位:米")
private String containerSize;
@ApiModelProperty("容器大小-长 单位:米")
@Excel(name = "容器大小-长 单位:米")
private BigDecimal containerLength;
@ApiModelProperty("容器大小-宽 单位:米")
@Excel(name = "容器大小-宽 单位:米")
private BigDecimal containerWidth;
@ApiModelProperty("容器大小-高 单位:米")
@Excel(name = "容器大小-高 单位:米")
private BigDecimal containerHeight;
@ApiModelProperty("容器容积 单位:立方米")
@Excel(name = "容器容积 单位:立方米")
private BigDecimal containerVolume;
@ApiModelProperty("使用状态: 1-空闲 2-占用")
@Excel(name = "使用状态: 1-空闲 2-占用")
private Integer usageStatus;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
}
@@ -0,0 +1,93 @@
package com.mhd.basic.domain.container.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 容器管理对象 container
*
* @author gen
* @date 2024-05-07
*/
@Data
public class ContainerDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("容器id")
private Long containerId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("容器编码")
@Excel(name = "容器编码")
private String containerCode;
@ApiModelProperty("容器类型 数据字典")
@Excel(name = "容器类型 数据字典")
private String containerType;
@ApiModelProperty("容器类型名称 数据字典")
@Excel(name = "容器类型名称 数据字典")
private String containerTypeName;
@ApiModelProperty("容器大小 长*宽*高 单位:米")
@Excel(name = "容器大小 长*宽*高 单位:米")
private String containerSize;
@ApiModelProperty("容器大小-长 单位:米")
@Excel(name = "容器大小-长 单位:米")
private BigDecimal containerLength;
@ApiModelProperty("容器大小-宽 单位:米")
@Excel(name = "容器大小-宽 单位:米")
private BigDecimal containerWidth;
@ApiModelProperty("容器大小-高 单位:米")
@Excel(name = "容器大小-高 单位:米")
private BigDecimal containerHeight;
@ApiModelProperty("容器容积 单位:立方米")
@Excel(name = "容器容积 单位:立方米")
private BigDecimal containerVolume;
@ApiModelProperty("使用状态: 1-空闲 2-占用")
@Excel(name = "使用状态: 1-空闲 2-占用")
private Integer usageStatus;
@ApiModelProperty("启用状态: 1-启用 2-停用")
@Excel(name = "启用状态: 1-启用 2-停用")
private Integer openingUp;
@ApiModelProperty("是否作废: 1-否 2-是")
@Excel(name = "是否作废: 1-否 2-是")
private Integer nullify;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,86 @@
package com.mhd.basic.domain.container.service;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.mhd.basic.domain.container.entity.Container;
import com.mhd.basic.domain.container.repository.facade.IContainerService;
import com.mhd.basic.domain.container.repository.po.ContainerPO;
import com.mhd.basic.domain.container.repository.todo.ContainerDO;
import com.mhd.basic.domain.storageSection.entity.StorageSection;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
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;
/**
* 容器管理
*
* @author gen
* @date 2024-05-07
*/
@Service
@Slf4j
public class ContainerDomainService {
@Autowired
private IContainerService containerService;
/**
* 分页查询容器管理列表
*/
public List<ContainerPO> queryList(ContainerDO containerDO) {
return containerService.queryList(containerDO);
}
/**
* 新增容器管理
*/
public Boolean insert(ContainerDO containerDO) {
return containerService.insert(containerDO);
}
/**
* 修改容器管理
*/
public Boolean update(ContainerDO containerDO) {
return containerService.update(containerDO);
}
/**
* 批量删除容器管理
*/
public Boolean delete(Long[] containerIds) {
return containerService.delete(containerIds);
}
/**
* 获取容器管理详细信息
*/
public ContainerPO getInfo(Long containerId)
{
return containerService.getInfo(containerId);
}
/**
* @description 批量作废容器
* @author ZhouGY
* @date 2024/5/13 9:46
* @param containerIds
* @return Boolean
*/
public Boolean nullifyByIds(List<Long> containerIds) {
LoginUser loginUser = SecurityUtils.getLoginUser();
return containerService.update(new UpdateWrapper<Container>().lambda()
.set(Container::getNullify, 2)
.set(Container::getUpdateBy, loginUser.getUserid())
.set(Container::getUpdateTime, new Date())
.in(Container::getContainerId, containerIds)
.eq(Container::getDelFlag, 1));
}
}
@@ -0,0 +1,169 @@
package com.mhd.basic.domain.contractManage.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 合同管理对象 contract_manage
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManage extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理id")
@TableId(type = IdType.AUTO)
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("原始合同编号")
@Excel(name = "原始合同编号")
private String originalContractNumber;
@ApiModelProperty("是否通用合同(1-是,2-否)")
@Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否")
private Integer commonContractFlag;
@ApiModelProperty("合同类型(1-仓储,2-运输)")
@Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输")
private Integer contractType;
@ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)")
@Excel(name = "合同状态", readConverterExp = "1=-未生效,2-使用中,3-已过期,4-已作废")
private Integer contractState;
@ApiModelProperty("签订单位")
@Excel(name = "签订单位")
private String signingUnit;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementCustomers;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementCustomersId;
@ApiModelProperty("结算主体code")
@Excel(name = "结算主体code")
private String settlementCustomersCode;
@ApiModelProperty("我司身份(1-甲方,2-乙方)")
@Excel(name = "我司身份", readConverterExp = "1=-甲方,2-乙方")
private Integer ourIdentity;
@ApiModelProperty("账期(1-每月,2-双月,3-季度)")
@Excel(name = "账期", readConverterExp = "1=-每月,2-双月,3-季度")
private Integer accountingPeriod;
@ApiModelProperty("合同签订日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date signingDate;
@ApiModelProperty("合同生效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同生效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date effectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date expirationDate;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("合同正本附件地址")
@Excel(name = "合同正本附件地址")
private String contractOriginalUrl;
@ApiModelProperty("廉政协议附件地址")
@Excel(name = "廉政协议附件地址")
private String integrityAgreementUrl;
@ApiModelProperty("安全协议附件地址")
@Excel(name = "安全协议附件地址")
private String securityProtocolUrl;
@ApiModelProperty("其他附件地址")
@Excel(name = "其他附件地址")
private String otherAttachmentsUrl;
@ApiModelProperty("我司签订人")
@Excel(name = "我司签订人")
private String ourSinged;
@ApiModelProperty("我司签订人联系方式")
@Excel(name = "我司签订人联系方式")
private String ourSingedPhone;
@ApiModelProperty("我司经办人")
@Excel(name = "我司经办人")
private String ourOperator;
@ApiModelProperty("我司经办人联系方式")
@Excel(name = "我司经办人联系方式")
private String ourOperatorPhone;
@ApiModelProperty("对方签订人")
@Excel(name = "对方签订人")
private String theySinged;
@ApiModelProperty("对方签订人联系方式")
@Excel(name = "对方签订人联系方式")
private String theySingedPhone;
@ApiModelProperty("对方经办人")
@Excel(name = "对方经办人")
private String theyOperator;
@ApiModelProperty("对方经办人联系方式")
@Excel(name = "对方经办人联系方式")
private String theyOperatorPhone;
@ApiModelProperty(name = "是否自动出账(1-是,2-否)")
private Integer automaticFlag;
@ApiModelProperty("出账日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date paymentDate;
@ApiModelProperty(name = "主体类型(1-货主,2-客户,3-承运商)")
private Integer principalType;
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
}
@@ -0,0 +1,48 @@
package com.mhd.basic.domain.contractManage.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.contractManage.entity.ContractManage;
import com.mhd.basic.domain.contractManage.repository.po.ContractManagePO;
import com.mhd.basic.domain.contractManage.repository.todo.ContractManageDO;
import java.util.List;
/**
* 合同管理Service接口
*
* @author gen
* @date 2024-06-07
*/
public interface IContractManageService extends IService<ContractManage>
{
/**
* 分页查询合同管理列表
*/
public List<ContractManagePO> queryList(ContractManageDO contractManageDO);
/**
* 新增合同管理
*/
public Boolean insert(ContractManageDO contractManageDO);
/**
* 修改合同管理
*/
public Boolean update(ContractManageDO contractManageDO);
/**
* 批量删除合同管理
*/
public Boolean delete(Long[] contractManageIds);
/**
* 查询合同管理
*/
public ContractManagePO getInfo(Long contractManageId);
void updateEffectiveList();
void updateExpirationDate();
}
@@ -0,0 +1,41 @@
package com.mhd.basic.domain.contractManage.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.contractManage.entity.ContractManage;
import com.mhd.basic.domain.contractManage.repository.po.ContractManagePO;
import com.mhd.basic.domain.contractManage.repository.todo.ContractManageDO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* 合同管理Mapper接口
*
* @author gen
* @date 2024-06-07
*/
public interface ContractManageMapper extends BaseMapper<ContractManage>
{
/**
* 查询合同管理列表
*/
public List<ContractManagePO> queryList(@Param("contractManageDO") ContractManageDO contractManageDO);
/**
* 根据有效期和状态查询
*/
List<ContractManagePO> queryEffectiveList(@Param("param") ContractManageDO param);
/**
* 修改合同开始日期为今天之前的且合同为未生效的合同到已生效
*/
@Select("UPDATE contract_manage SET contract_state = 2 WHERE del_flag = 1 AND contract_state = 1 AND effective_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d 23:59:59');")
void updateEffectiveList();
/**
* 修改合同结束日期为今天不含之前的且合同为未生效或进行中的合同到已到期
*/
@Select("UPDATE contract_manage SET contract_state = 3 WHERE del_flag = 1 AND (contract_state =1 OR contract_state = 2) AND expiration_date < DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00');")
void updateExpirationDate();
}
@@ -0,0 +1,91 @@
package com.mhd.basic.domain.contractManage.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.contractManage.entity.ContractManage;
import com.mhd.basic.domain.contractManage.repository.facade.IContractManageService;
import com.mhd.basic.domain.contractManage.repository.mapper.ContractManageMapper;
import com.mhd.basic.domain.contractManage.repository.po.ContractManagePO;
import com.mhd.basic.domain.contractManage.repository.todo.ContractManageDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 合同管理Service业务层处理
*
* @author gen
* @date 2024-06-07
*/
@Service
public class ContractManageImpl extends ServiceImpl<ContractManageMapper, ContractManage> implements IContractManageService{
@Autowired
private ContractManageMapper contractManageMapper;
/**
* 查询合同管理列表
*/
@Override
public List<ContractManagePO> queryList(ContractManageDO contractManageDO)
{
return contractManageMapper.queryList(contractManageDO);
}
/**
* 新增合同管理
*/
@Override
public Boolean insert(ContractManageDO contractManageDO) {
ContractManage contractManage = new ContractManage();
BeanUtils.copyProperties(contractManageDO,contractManage);
return this.save(contractManage);
}
/**
* 修改合同管理
*/
@Override
public Boolean update(ContractManageDO contractManageDO) {
ContractManage contractManage = new ContractManage();
BeanUtils.copyProperties(contractManageDO,contractManage);
return this.updateById(contractManage);
}
/**
* 批量删除合同管理
*/
@Override
public Boolean delete(Long[] contractManageIds ) {
List<ContractManage> list = new ArrayList<>();
for (Long id : contractManageIds) {
ContractManage contractManage = new ContractManage();
contractManage.setContractManageId(id);
contractManage.setDelFlag(2);
list.add(contractManage);
}
return this.updateBatchById(list);
}
/**
* 修改合同管理
*/
@Override
public ContractManagePO getInfo(Long contractManageId) {
ContractManage contractManage = this.getById(contractManageId);
ContractManagePO contractManagePO = new ContractManagePO();
BeanUtils.copyProperties(contractManage,contractManagePO);
return contractManagePO;
}
@Override
public void updateEffectiveList() {
contractManageMapper.updateEffectiveList();
}
@Override
public void updateExpirationDate() {
contractManageMapper.updateExpirationDate();
}
}
@@ -0,0 +1,178 @@
package com.mhd.basic.domain.contractManage.repository.po;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.interfaces.dto.contractManageDetail.ContractManageDetailDTO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import java.util.List;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 合同管理对象 contract_manage
*
* @author gen
* @date 2024-06-07
*/
@Data
@ApiModel(value = "合同管理对象", description = "合同管理响应对象")
public class ContractManagePO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("原始合同编号")
@Excel(name = "原始合同编号")
private String originalContractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("是否通用合同(1-是,2-否)")
@Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否")
private Integer commonContractFlag;
@ApiModelProperty("合同类型(1-仓储,2-运输)")
@Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输")
private Integer contractType;
@ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)")
@Excel(name = "合同状态", readConverterExp = "1=-未生效,2-使用中,3-已过期,4-已作废")
private Integer contractState;
@ApiModelProperty("签订单位")
@Excel(name = "签订单位")
private String signingUnit;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementCustomers;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementCustomersId;
@ApiModelProperty("结算主体code")
@Excel(name = "结算主体code")
private String settlementCustomersCode;
@ApiModelProperty("我司身份(1-甲方,2-乙方)")
@Excel(name = "我司身份", readConverterExp = "1=-甲方,2-乙方")
private Integer ourIdentity;
@ApiModelProperty("账期(1-每月,2-双月,3-季度)")
@Excel(name = "账期", readConverterExp = "1=-每月,2-双月,3-季度")
private Integer accountingPeriod;
@ApiModelProperty("合同签订日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date signingDate;
@ApiModelProperty("合同生效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同生效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date effectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date expirationDate;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("合同正本附件地址")
@Excel(name = "合同正本附件地址")
private String contractOriginalUrl;
@ApiModelProperty("廉政协议附件地址")
@Excel(name = "廉政协议附件地址")
private String integrityAgreementUrl;
@ApiModelProperty("安全协议附件地址")
@Excel(name = "安全协议附件地址")
private String securityProtocolUrl;
@ApiModelProperty("其他附件地址")
@Excel(name = "其他附件地址")
private String otherAttachmentsUrl;
@ApiModelProperty("我司签订人")
@Excel(name = "我司签订人")
private String ourSinged;
@ApiModelProperty("我司签订人联系方式")
@Excel(name = "我司签订人联系方式")
private String ourSingedPhone;
@ApiModelProperty("我司经办人")
@Excel(name = "我司经办人")
private String ourOperator;
@ApiModelProperty("我司经办人联系方式")
@Excel(name = "我司经办人联系方式")
private String ourOperatorPhone;
@ApiModelProperty("对方签订人")
@Excel(name = "对方签订人")
private String theySinged;
@ApiModelProperty("对方签订人联系方式")
@Excel(name = "对方签订人联系方式")
private String theySingedPhone;
@ApiModelProperty("对方经办人")
@Excel(name = "对方经办人")
private String theyOperator;
@ApiModelProperty("对方经办人联系方式")
@Excel(name = "对方经办人联系方式")
private String theyOperatorPhone;
@ApiModelProperty("合同详情列表")
private List<ContractManageDetailPO> contractManageDetailPOList;
@ApiModelProperty(name = "结算主体基础数据id(可以是用户id也可以是企业id)")
private String settlementId;
@ApiModelProperty(name = "是否自动出账(1-是,2-否)")
private Integer automaticFlag;
@ApiModelProperty("出账日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date paymentDate;
@ApiModelProperty(name = "主体类型(1-货主,2-客户,3-承运商)")
private Integer principalType;
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
}
@@ -0,0 +1,208 @@
package com.mhd.basic.domain.contractManage.repository.todo;
import com.mhd.basic.interfaces.dto.contractManageDetail.ContractManageDetailDTO;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 合同管理对象 contract_manage
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManageDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("合同编号")
@Excel(name = "合同编号")
private String contractNumber;
@ApiModelProperty("原始合同编号")
@Excel(name = "原始合同编号")
private String originalContractNumber;
@ApiModelProperty("合同名称")
@Excel(name = "合同名称")
private String contractName;
@ApiModelProperty("是否通用合同(1-是,2-否)")
@Excel(name = "是否通用合同", readConverterExp = "1=-是,2-否")
private Integer commonContractFlag;
@ApiModelProperty("合同类型(1-仓储,2-运输)")
@Excel(name = "合同类型", readConverterExp = "1=-仓储,2-运输")
private Integer contractType;
@ApiModelProperty("合同状态(1-未生效,2-使用中,3-已过期,4-已作废)")
@Excel(name = "合同状态", readConverterExp = "1=-未生效,2-使用中,3-已过期,4-已作废")
private Integer contractState;
@ApiModelProperty("签订单位")
@Excel(name = "签订单位")
private String signingUnit;
@ApiModelProperty("结算主体")
@Excel(name = "结算主体")
private String settlementCustomers;
@ApiModelProperty("结算主体id")
@Excel(name = "结算主体id")
private Long settlementCustomersId;
@ApiModelProperty("结算主体code")
@Excel(name = "结算主体code")
private String settlementCustomersCode;
@ApiModelProperty("我司身份(1-甲方,2-乙方)")
@Excel(name = "我司身份", readConverterExp = "1=-甲方,2-乙方")
private Integer ourIdentity;
@ApiModelProperty("账期(1-每月,2-双月,3-季度)")
@Excel(name = "账期", readConverterExp = "1=-每月,2-双月,3-季度")
private Integer accountingPeriod;
@ApiModelProperty("合同签订日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同签订日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date signingDate;
@ApiModelProperty("合同生效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同生效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date effectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date expirationDate;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("合同正本附件地址")
@Excel(name = "合同正本附件地址")
private String contractOriginalUrl;
@ApiModelProperty("廉政协议附件地址")
@Excel(name = "廉政协议附件地址")
private String integrityAgreementUrl;
@ApiModelProperty("安全协议附件地址")
@Excel(name = "安全协议附件地址")
private String securityProtocolUrl;
@ApiModelProperty("其他附件地址")
@Excel(name = "其他附件地址")
private String otherAttachmentsUrl;
@ApiModelProperty("我司签订人")
@Excel(name = "我司签订人")
private String ourSinged;
@ApiModelProperty("我司签订人联系方式")
@Excel(name = "我司签订人联系方式")
private String ourSingedPhone;
@ApiModelProperty("我司经办人")
@Excel(name = "我司经办人")
private String ourOperator;
@ApiModelProperty("我司经办人联系方式")
@Excel(name = "我司经办人联系方式")
private String ourOperatorPhone;
@ApiModelProperty("对方签订人")
@Excel(name = "对方签订人")
private String theySinged;
@ApiModelProperty("对方签订人联系方式")
@Excel(name = "对方签订人联系方式")
private String theySingedPhone;
@ApiModelProperty("对方经办人")
@Excel(name = "对方经办人")
private String theyOperator;
@ApiModelProperty("对方经办人联系方式")
@Excel(name = "对方经办人联系方式")
private String theyOperatorPhone;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty(name = "合同科目详情列表")
private List<ContractManageDetailDTO> contractManageDetailDTOList;
@ApiModelProperty("合同管理ids")
private String contractManageIds;
@ApiModelProperty(name = "合同签订查询条件开始日期")
private String signingDateStart;
@ApiModelProperty(name = "合同签订查询条件结束日期")
private String signingDateEnd;
@ApiModelProperty(name = "合同生效查询条件开始日期")
private String effectiveDateStart;
@ApiModelProperty(name = "合同生效查询条件结束日期")
private String effectiveDateEnd;
@ApiModelProperty(name = "合同生效查询条件开始日期")
private String expirationDateStart;
@ApiModelProperty(name = "合同生效查询条件结束日期")
private String expirationDateEnd;
@ApiModelProperty(name = "当前时间")
private String nowDateString;
@ApiModelProperty(name = "结算主体基础数据id(可以是用户id也可以是企业id)")
private String settlementId;
@ApiModelProperty("合同生效日期")
private String effectiveDateString;
@ApiModelProperty("合同到期日期")
private String expirationDateString;
@ApiModelProperty(name = "是否自动出账(1-是,2-否)")
private Integer automaticFlag;
@ApiModelProperty("出账日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date paymentDate;
@ApiModelProperty(name = "主体类型(1-货主,2-客户,3-承运商)")
private Integer principalType;
@ApiModelProperty(name = "是否包含运输费用(1-包含,2-包含)")
private Integer transportationCosts;
}
@@ -0,0 +1,167 @@
package com.mhd.basic.domain.contractManage.service;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.mhd.basic.domain.contractManage.entity.ContractManage;
import com.mhd.basic.domain.contractManage.repository.facade.IContractManageService;
import com.mhd.basic.domain.contractManage.repository.po.ContractManagePO;
import com.mhd.basic.domain.contractManage.repository.todo.ContractManageDO;
import com.mhd.basic.domain.contractManageDetail.entity.ContractManageDetail;
import com.mhd.basic.domain.contractManageDetail.repository.facade.IContractManageDetailService;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.domain.contractManageDetail.service.ContractManageDetailDomainService;
import com.mhd.basic.interfaces.dto.contractManage.ContractManageDTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* 合同管理
*
* @author gen
* @date 2024-06-07
*/
@Service
@Slf4j
public class ContractManageDomainService {
@Autowired
private IContractManageService contractManageService;
@Autowired
private IContractManageDetailService contractManageDetailService;
@Autowired
private ContractManageDetailDomainService contractManageDetailDomainService;
/**
* 分页查询合同管理列表
*/
public List<ContractManagePO> queryList(ContractManageDO contractManageDO) {
return contractManageService.queryList(contractManageDO);
}
/**
* 新增合同管理
*/
public Boolean insert(ContractManageDO contractManageDO) {
return contractManageService.insert(contractManageDO);
}
/**
* 修改合同管理
*/
public Boolean update(ContractManageDO contractManageDO) {
return contractManageService.update(contractManageDO);
}
/**
* 批量删除合同管理
*/
public Boolean delete(Long[] contractManageIds) {
return contractManageService.delete(contractManageIds);
}
/**
* 获取合同管理详细信息
*/
public ContractManagePO getInfo(Long contractManageId)
{
return contractManageService.getInfo(contractManageId);
}
/**
* 作废合同
*/
public boolean nullify(ContractManageDTO contractManageDTO) {
Set<String> contractManageIds = Stream.of(contractManageDTO.getContractManageIds().split(",")).collect(Collectors.toSet());
//获取当前登录人信息
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
LambdaUpdateWrapper<ContractManage> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(ContractManage::getContractState,4);
updateWrapper.set(ContractManage::getUpdateBy,loginUser.getUserid());
updateWrapper.set(ContractManage::getUpdateTime,new Date());
updateWrapper.set(ContractManage::getUpdateByName,loginUser.getUsername());
updateWrapper.in(ContractManage::getContractManageId,contractManageIds);
return contractManageService.update(updateWrapper);
}
public ContractManagePO getInfoByCode(String contractNumber) {
ContractManagePO contractManagePO = new ContractManagePO();
LambdaQueryWrapper<ContractManage> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ContractManage::getContractNumber,contractNumber);
queryWrapper.eq(ContractManage::getDelFlag,1);
ContractManage contractManage = contractManageService.getOne(queryWrapper);
if(null != contractManage){
BeanUtils.copyProperties(contractManage,contractManagePO);
//得到合同后查询合同明细
List<ContractManageDetailPO> contractManageDetailPOList = contractManageDetailDomainService.queryListByManageId(contractManagePO.getContractManageId());
List<ContractManageDetailPO> contractManageDetailSaveList = new ArrayList<>();
if(contractManageDetailPOList != null && contractManageDetailPOList.size()>0){
//将临时合同中没有但是通用合同中有的数据过滤出
contractManageDetailSaveList = contractManageDetailPOList.stream().filter(item -> contractManageDetailPOList.stream().anyMatch(item1 -> item1.getFirstSubjectCode().equals(item.getFirstSubjectCode()) && item1.getSecondSubjectCode().equals(item.getSecondSubjectCode()) && item1.getSubjectType()==1)).collect(Collectors.toList());
//首先根据结算科目类型将临时合同过滤出
List<ContractManageDetailPO> tempContractManageDetailPOList = contractManageDetailPOList.stream().filter(item -> item.getSubjectType()==2).collect(Collectors.toList());
//遍历两个集合将相同费用科目code的数据进行比较如果结算科目类型是临时且合同有效期有效则使用该条数据将另一条移除
for (ContractManageDetailPO manageDetailPO : tempContractManageDetailPOList) {
for (ContractManageDetailPO contractManageDetailPO : contractManageDetailPOList) {
if(contractManageDetailPO.getFirstSubjectCode().equals(manageDetailPO.getFirstSubjectCode()) && contractManageDetailPO.getSecondSubjectCode().equals(manageDetailPO.getSecondSubjectCode())){
//判断如果是临时合同在有效期内,则将该条数据保存到集合contractManageDetailSaveList
DateTime start = DateUtil.parseDate(DateUtil.format(manageDetailPO.getSubjectEffectiveDate(),"yyyy-MM-dd"));
DateTime end = DateUtil.parseDateTime(DateUtil.format(manageDetailPO.getSubjectEffectiveDate(),"yyyy-MM-dd"));
DateTime now = DateUtil.beginOfDay(DateUtil.date());
if (now.isAfterOrEquals(start) && now.isBefore(end)) {
contractManageDetailSaveList.add(manageDetailPO);
}
}
}
}
}
contractManagePO.setContractManageDetailPOList(contractManageDetailSaveList);
}
return contractManagePO;
}
public void contractEffectiveDateSet() {
/*
1查询合同有效期开始时间在今天之前的并且合同状态为未生效设置为已生效状态
2查询合同有效期结束时间在今天不含之前并且合同状态为未生效和使用中的设置为已过期状态
*/
log.info("合同管理有效期判断,开始执行==============");
contractManageService.updateEffectiveList();
contractManageService.updateExpirationDate();
log.info("合同管理有效期判断,执行完毕==============");
}
}
@@ -0,0 +1,101 @@
package com.mhd.basic.domain.contractManageDetail.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 合同管理详情对象 contract_manage_detail
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManageDetail extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理详情id")
@TableId(type = IdType.AUTO)
private Long contractManageDetailId;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算科目类型(1-通用,2-临时)")
@Excel(name = "结算科目类型", readConverterExp = "1=-通用,2-临时")
private Integer subjectType;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("计费策略id")
@Excel(name = "计费策略id")
private Long accountingStrategyId;
@ApiModelProperty("计费策略")
@Excel(name = "计费策略")
private String accountingStrategy;
@ApiModelProperty("计费策略编码")
@Excel(name = "计费策略编码")
private String accountingStrategyCode;
@ApiModelProperty("计费周期")
@Excel(name = "计费周期")
private String billingAttributes;
@ApiModelProperty("计费周期编码")
@Excel(name = "计费周期编码")
private String billingAttributesCode;
@ApiModelProperty("合同有效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同有效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectEffectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectExpirationDate;
@ApiModelProperty("单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
private String documentType;
}
@@ -0,0 +1,45 @@
package com.mhd.basic.domain.contractManageDetail.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.contractManageDetail.entity.ContractManageDetail;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.domain.contractManageDetail.repository.todo.ContractManageDetailDO;
import java.util.List;
/**
* 合同管理详情Service接口
*
* @author gen
* @date 2024-06-07
*/
public interface IContractManageDetailService extends IService<ContractManageDetail>
{
/**
* 分页查询合同管理详情列表
*/
public List<ContractManageDetailPO> queryList(ContractManageDetailDO contractManageDetailDO);
/**
* 新增合同管理详情
*/
public Boolean insert(ContractManageDetailDO contractManageDetailDO);
/**
* 修改合同管理详情
*/
public Boolean update(ContractManageDetailDO contractManageDetailDO);
/**
* 批量删除合同管理详情
*/
public Boolean delete(Long[] contractManageDetailIds);
/**
* 查询合同管理详情
*/
public ContractManageDetailPO getInfo(Long contractManageDetailId);
List<ContractManageDetailPO> getListByContractManageId(Long contractManageId);
}
@@ -0,0 +1,23 @@
package com.mhd.basic.domain.contractManageDetail.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.contractManageDetail.entity.ContractManageDetail;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.domain.contractManageDetail.repository.todo.ContractManageDetailDO;
import org.apache.ibatis.annotations.Param;
/**
* 合同管理详情Mapper接口
*
* @author gen
* @date 2024-06-07
*/
public interface ContractManageDetailMapper extends BaseMapper<ContractManageDetail>
{
/**
* 查询合同管理详情列表
*/
public List<ContractManageDetailPO> queryList(@Param("contractManageDetailDO") ContractManageDetailDO contractManageDetailDO);
List<ContractManageDetailPO> getListByContractManageId(@Param("contractManageId") Long contractManageId);
}
@@ -0,0 +1,86 @@
package com.mhd.basic.domain.contractManageDetail.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mhd.basic.domain.contractManageDetail.entity.ContractManageDetail;
import com.mhd.basic.domain.contractManageDetail.repository.facade.IContractManageDetailService;
import com.mhd.basic.domain.contractManageDetail.repository.mapper.ContractManageDetailMapper;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.domain.contractManageDetail.repository.todo.ContractManageDetailDO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 合同管理详情Service业务层处理
*
* @author gen
* @date 2024-06-07
*/
@Service
public class ContractManageDetailImpl extends ServiceImpl<ContractManageDetailMapper, ContractManageDetail> implements IContractManageDetailService{
@Autowired
private ContractManageDetailMapper contractManageDetailMapper;
/**
* 查询合同管理详情列表
*/
@Override
public List<ContractManageDetailPO> queryList(ContractManageDetailDO contractManageDetailDO)
{
return contractManageDetailMapper.queryList(contractManageDetailDO);
}
/**
* 新增合同管理详情
*/
@Override
public Boolean insert(ContractManageDetailDO contractManageDetailDO) {
ContractManageDetail contractManageDetail = new ContractManageDetail();
BeanUtils.copyProperties(contractManageDetailDO,contractManageDetail);
return this.save(contractManageDetail);
}
/**
* 修改合同管理详情
*/
@Override
public Boolean update(ContractManageDetailDO contractManageDetailDO) {
ContractManageDetail contractManageDetail = new ContractManageDetail();
BeanUtils.copyProperties(contractManageDetailDO,contractManageDetail);
return this.updateById(contractManageDetail);
}
/**
* 批量删除合同管理详情
*/
@Override
public Boolean delete(Long[] contractManageDetailIds ) {
List<ContractManageDetail> list = new ArrayList<>();
for (Long id : contractManageDetailIds) {
ContractManageDetail contractManageDetail = new ContractManageDetail();
contractManageDetail.setContractManageDetailId(id);
contractManageDetail.setDelFlag(2);
list.add(contractManageDetail);
}
return this.updateBatchById(list);
}
/**
* 修改合同管理详情
*/
@Override
public ContractManageDetailPO getInfo(Long contractManageDetailId) {
ContractManageDetail contractManageDetail = this.getById(contractManageDetailId);
ContractManageDetailPO contractManageDetailPO = new ContractManageDetailPO();
BeanUtils.copyProperties(contractManageDetail,contractManageDetailPO);
return contractManageDetailPO;
}
@Override
public List<ContractManageDetailPO> getListByContractManageId(Long contractManageId) {
return contractManageDetailMapper.getListByContractManageId(contractManageId);
}
}
@@ -0,0 +1,100 @@
package com.mhd.basic.domain.contractManageDetail.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* 合同管理详情对象 contract_manage_detail
*
* @author gen
* @date 2024-06-07
*/
@Data
@ApiModel(value = "合同管理详情对象", description = "合同管理详情响应对象")
public class ContractManageDetailPO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理详情id")
private Long contractManageDetailId;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算科目类型(1-通用,2-临时)")
@Excel(name = "结算科目类型", readConverterExp = "1=-通用,2-临时")
private Integer subjectType;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("计费策略id")
@Excel(name = "计费策略id")
private Long accountingStrategyId;
@ApiModelProperty("计费策略")
@Excel(name = "计费策略")
private String accountingStrategy;
@ApiModelProperty("计费策略编码")
@Excel(name = "计费策略编码")
private String accountingStrategyCode;
@ApiModelProperty("计费周期")
@Excel(name = "计费周期")
private String billingAttributes;
@ApiModelProperty("计费周期编码")
@Excel(name = "计费周期编码")
private String billingAttributesCode;
@ApiModelProperty("合同有效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同有效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectEffectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectExpirationDate;
@ApiModelProperty("单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
private String documentType;
}
@@ -0,0 +1,105 @@
package com.mhd.basic.domain.contractManageDetail.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* 合同管理详情对象 contract_manage_detail
*
* @author gen
* @date 2024-06-07
*/
@Data
public class ContractManageDetailDO extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("合同管理详情id")
private Long contractManageDetailId;
@ApiModelProperty("合同管理id")
@Excel(name = "合同管理id")
private Long contractManageId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("结算科目类型(1-通用,2-临时)")
@Excel(name = "结算科目类型", readConverterExp = "1=-通用,2-临时")
private Integer subjectType;
@ApiModelProperty("一级费用科目code")
@Excel(name = "一级费用科目code")
private String firstSubjectCode;
@ApiModelProperty("一级费用科目")
@Excel(name = "一级费用科目")
private String firstSubjectName;
@ApiModelProperty("二级费用科目code")
@Excel(name = "二级费用科目code")
private String secondSubjectCode;
@ApiModelProperty("二级费用科目")
@Excel(name = "二级费用科目")
private String secondSubjectName;
@ApiModelProperty("计费策略id")
@Excel(name = "计费策略id")
private Long accountingStrategyId;
@ApiModelProperty("计费策略")
@Excel(name = "计费策略")
private String accountingStrategy;
@ApiModelProperty("计费策略编码")
@Excel(name = "计费策略编码")
private String accountingStrategyCode;
@ApiModelProperty("计费周期")
@Excel(name = "计费周期")
private String billingAttributes;
@ApiModelProperty("计费周期编码")
@Excel(name = "计费周期编码")
private String billingAttributesCode;
@ApiModelProperty("合同有效日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同有效日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectEffectiveDate;
@ApiModelProperty("合同到期日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "合同到期日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date subjectExpirationDate;
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
@ApiModelProperty("单据类型code")
private String documentTypeCode;
@ApiModelProperty("单据类型")
private String documentType;
}
@@ -0,0 +1,99 @@
package com.mhd.basic.domain.contractManageDetail.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.mhd.basic.domain.contractManageDetail.entity.ContractManageDetail;
import com.mhd.basic.domain.contractManageDetail.repository.facade.IContractManageDetailService;
import com.mhd.basic.domain.contractManageDetail.repository.po.ContractManageDetailPO;
import com.mhd.basic.domain.contractManageDetail.repository.todo.ContractManageDetailDO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 合同管理详情
*
* @author gen
* @date 2024-06-07
*/
@Service
@Slf4j
public class ContractManageDetailDomainService {
@Autowired
private IContractManageDetailService contractManageDetailService;
/**
* 分页查询合同管理详情列表
*/
public List<ContractManageDetailPO> queryList(ContractManageDetailDO contractManageDetailDO) {
return contractManageDetailService.queryList(contractManageDetailDO);
}
/**
* 新增合同管理详情
*/
public Boolean insert(ContractManageDetailDO contractManageDetailDO) {
return contractManageDetailService.insert(contractManageDetailDO);
}
/**
* 修改合同管理详情
*/
public Boolean update(ContractManageDetailDO contractManageDetailDO) {
return contractManageDetailService.update(contractManageDetailDO);
}
/**
* 批量删除合同管理详情
*/
public Boolean delete(Long[] contractManageDetailIds) {
return contractManageDetailService.delete(contractManageDetailIds);
}
/**
* 获取合同管理详情详细信息
*/
public ContractManageDetailPO getInfo(Long contractManageDetailId)
{
return contractManageDetailService.getInfo(contractManageDetailId);
}
/**
* 详情保存或修改
* @param contractManageDetailDO
*/
public boolean saveOrUpdate(ContractManageDetailDO contractManageDetailDO) {
ContractManageDetail contractManageDetail = new ContractManageDetail();
BeanUtils.copyProperties(contractManageDetailDO,contractManageDetail);
return contractManageDetailService.saveOrUpdate(contractManageDetail);
}
/**
* 根据合同管理id查询合同科目详情
* @param contractManageId
* @return
*/
public List<ContractManageDetailPO> queryListByManageId(Long contractManageId) {
List<ContractManageDetailPO> resultList = new ArrayList<>();
LambdaQueryWrapper<ContractManageDetail> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ContractManageDetail::getContractManageId,contractManageId);
queryWrapper.eq(ContractManageDetail::getDelFlag,1);
List<ContractManageDetail> contractManageDetails = contractManageDetailService.list(queryWrapper);
if(contractManageDetails.size()>0){
for (ContractManageDetail contractManageDetail : contractManageDetails) {
ContractManageDetailPO contractManageDetailPO = new ContractManageDetailPO();
BeanUtils.copyProperties(contractManageDetail,contractManageDetailPO);
resultList.add(contractManageDetailPO);
}
}
return resultList;
}
}
@@ -0,0 +1,104 @@
package com.mhd.basic.domain.expenseAccount.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 请填写功能名称对象 expense_account
*
* @author gen
* @date 2024-06-04
*/
@Data
public class ExpenseAccount extends BaseVOEntity{
private static final long serialVersionUID = 1L;
@ApiModelProperty("费用科目id")
@TableId(type = IdType.AUTO)
private Long expenseAccountId;
@ApiModelProperty("一级组织表ID")
@Excel(name = "一级组织表ID")
private Long topOrganizationId;
@ApiModelProperty("组织表ID")
@Excel(name = "组织表ID")
private Long organizationId;
@ApiModelProperty("组织名称")
@Excel(name = "组织名称")
private String organizationName;
@ApiModelProperty("科目编码")
@Excel(name = "科目编码")
private String subjectCode;
@ApiModelProperty("科目名称")
@Excel(name = "科目名称")
private String subjectName;
@ApiModelProperty("显示顺序")
@Excel(name = "显示顺序")
private Integer showSeq;
@ApiModelProperty("计费属性编码")
@Excel(name = "计费属性编码")
private String billingAttributesCode;
@ApiModelProperty("计费属性")
@Excel(name = "计费属性")
private String billingAttributes;
@ApiModelProperty("所属模块编码")
@Excel(name = "所属模块编码")
private String belongModuleCode;
@ApiModelProperty("所属编码")
@Excel(name = "所属编码")
private String belongModule;
@ApiModelProperty("是否一级科目(1-是,2-否)")
@Excel(name = "是否一级科目", readConverterExp = "1=-是,2-否")
private Integer firstSubjectFlag;
@ApiModelProperty("上级科目编码")
@Excel(name = "上级科目编码")
private String upperSubjectCode;
@ApiModelProperty("上级科目名称")
@Excel(name = "上级科目名称")
private String upperSubject;
@ApiModelProperty("启用状态(1-启动,2-停用)")
@Excel(name = "启用状态", readConverterExp = "1=-启动,2-停用")
private Integer status;
@ApiModelProperty("自有车辆固定显示(1-是,2-否)")
@Excel(name = "自有车辆固定显示", readConverterExp = "1=-是,2-否")
private Integer ownStatus;
@ApiModelProperty("社会车辆固定显示(1-是,2-否)")
@Excel(name = "社会车辆固定显示", readConverterExp = "1-是,2-否")
private Integer societyStatus;
@ApiModelProperty("备注")
@Excel(name = "备注")
private String remark;
@ApiModelProperty("关联服务项管理id")
@Excel(name = "关联服务项管理id")
private Long serviceItemsManageId;
@ApiModelProperty(name = "收支类型")
private Integer accountExpenseType;
}
@@ -0,0 +1,66 @@
package com.mhd.basic.domain.expenseAccount.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mhd.basic.domain.expenseAccount.entity.ExpenseAccount;
import com.mhd.basic.domain.expenseAccount.repository.po.ExpenseAccountPO;
import com.mhd.basic.domain.expenseAccount.repository.po.QueryExpenseAccountPO;
import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDO;
import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDoMap;
import com.mhd.basic.domain.expenseAccount.repository.todo.SearchExpenseAccountDO;
import com.mhd.basic.interfaces.dto.expenseAccount.SearchExpenseAccountDTO;
import java.util.List;
/**
* 费用科目Service接口
*
* @author gen
* @date 2024-06-04
*/
public interface IExpenseAccountService extends IService<ExpenseAccount>
{
/**
* 分页查询费用科目列表
*/
public List<ExpenseAccountPO> queryList(ExpenseAccountDO expenseAccountDO);
/**
* 树型结构费用科目
*/
public List<ExpenseAccountPO> treeCostSubject(ExpenseAccountDO expenseAccountDO);
/**
* 应付账单--树型结构费用科目
*/
public List<ExpenseAccountPO> subjectTreeCost(ExpenseAccountDO expenseAccountDO);
/**
* 新增费用科目
*/
public Boolean insert(ExpenseAccountDO expenseAccountDO);
/**
* 修改费用科目
*/
public Boolean update(ExpenseAccountDO expenseAccountDO);
/**
* 批量删除费用科目
*/
public Boolean delete(Long[] expenseAccountIds);
/**
* 查询费用科目
*/
public ExpenseAccountPO getInfo(Long expenseAccountId);
/**
* 根据费用科目code查询费用信息
*/
ExpenseAccountPO getInfoByCode(ExpenseAccountDO expenseAccountDO);
public List<QueryExpenseAccountPO> selectExpenseAccount(SearchExpenseAccountDO searchExpenseAccountDO);
public List<QueryExpenseAccountPO> selectOtherExpenseAccount(SearchExpenseAccountDO searchExpenseAccountDO);
public List<QueryExpenseAccountPO> selectSocialVehicleExpenseAccount();
}
@@ -0,0 +1,48 @@
package com.mhd.basic.domain.expenseAccount.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mhd.basic.domain.expenseAccount.entity.ExpenseAccount;
import com.mhd.basic.domain.expenseAccount.repository.po.QueryExpenseAccountPO;
import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDO;
import com.mhd.basic.domain.expenseAccount.repository.po.ExpenseAccountPO;
import com.mhd.basic.domain.expenseAccount.repository.todo.ExpenseAccountDoMap;
import com.mhd.basic.domain.expenseAccount.repository.todo.SearchExpenseAccountDO;
import com.mhd.basic.interfaces.dto.expenseAccount.SearchExpenseAccountDTO;
import org.apache.ibatis.annotations.Param;
/**
* 费用科目Mapper接口
*
* @author gen
* @date 2024-06-04
*/
public interface ExpenseAccountMapper extends BaseMapper<ExpenseAccount>
{
/**
* 查询费用科目列表
*/
public List<ExpenseAccountPO> queryList(@Param("expenseAccountDO") ExpenseAccountDO expenseAccountDO);
/**
* 查询费用一级科目
*/
public List<ExpenseAccountPO> selectCostSubject(@Param("expenseAccountDO") ExpenseAccountDO expenseAccountDO);
/**
* 查询费用多级科目
*/
public List<ExpenseAccountPO> selectAllCostSubject(String subjectCode);
/**
* 根据费用科目code查询费用信息
*/
ExpenseAccountPO getInfoByCode(@Param("expenseAccountDO") ExpenseAccountDO expenseAccountDO);
public List<QueryExpenseAccountPO> selectExpenseAccount(@Param("searchExpenseAccountDO") SearchExpenseAccountDO searchExpenseAccountDO);
public List<QueryExpenseAccountPO> selectOtherExpenseAccount(@Param("searchExpenseAccountDO") SearchExpenseAccountDO searchExpenseAccountDO);
public List<QueryExpenseAccountPO> selectSocialVehicleExpenseAccount();
}

Some files were not shown because too many files have changed in this diff Show More