租赁管理(编辑、创建时间修改时间查询)BUG修改

This commit is contained in:
秦鸿展
2026-02-07 10:24:43 +08:00
parent f9b2d212b2
commit fe1aadd8ac
4 changed files with 103 additions and 1 deletions
@@ -67,4 +67,16 @@ public class LeaseDO extends BaseVOEntity{
@ApiModelProperty("当前时间") @ApiModelProperty("当前时间")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
private Date time; private Date time;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
} }
@@ -1,16 +1,23 @@
package com.mhd.basic.interfaces.assember.lease; package com.mhd.basic.interfaces.assember.lease;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson2.JSON;
import com.mhd.basic.domain.container.repository.todo.ContainerDO; import com.mhd.basic.domain.container.repository.todo.ContainerDO;
import com.mhd.basic.domain.lease.repository.todo.LeaseDO; import com.mhd.basic.domain.lease.repository.todo.LeaseDO;
import com.mhd.basic.interfaces.dto.container.ContainerDTO; import com.mhd.basic.interfaces.dto.container.ContainerDTO;
import com.mhd.basic.interfaces.dto.lease.LeaseDTO; import com.mhd.basic.interfaces.dto.lease.LeaseDTO;
import com.mhd.common.core.exception.ServiceException;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException; import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError; import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.IgnoreNullUtil; import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.core.utils.bean.BeanUtils; import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.web.domain.AjaxResult;
import com.mhd.common.security.utils.SecurityUtils; import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.SystemServiceFeign;
import com.mhd.system.api.domain.WarehouseFeignPO;
import com.mhd.system.api.model.LoginUser; import com.mhd.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.Date; import java.util.Date;
@@ -22,6 +29,9 @@ import java.util.Date;
@Component @Component
public class LeaseAssembler { public class LeaseAssembler {
@Autowired
private SystemServiceFeign systemServiceFeign;
/** /**
* 转换实体 * 转换实体
*/ */
@@ -29,6 +39,11 @@ public class LeaseAssembler {
LeaseDO leaseDO = new LeaseDO(); LeaseDO leaseDO = new LeaseDO();
// 拷贝 // 拷贝
BeanUtils.copyProperties(leaseDTO, leaseDO, IgnoreNullUtil.getNullPropertyNames(leaseDTO)); BeanUtils.copyProperties(leaseDTO, leaseDO, IgnoreNullUtil.getNullPropertyNames(leaseDTO));
// 确保查询条件字段被正确传递(查询条件字段需要明确传递,避免被IgnoreNullUtil忽略)
leaseDO.setCreateTimeStart(leaseDTO.getCreateTimeStart());
leaseDO.setCreateTimeEnd(leaseDTO.getCreateTimeEnd());
leaseDO.setUpdateTimeStart(leaseDTO.getUpdateTimeStart());
leaseDO.setUpdateTimeEnd(leaseDTO.getUpdateTimeEnd());
return leaseDO; return leaseDO;
} }
@@ -54,8 +69,48 @@ public class LeaseAssembler {
leaseDO.setCreateBy(loginUser.getUserid()); leaseDO.setCreateBy(loginUser.getUserid());
leaseDO.setCreateByName(loginUser.getUsername()); leaseDO.setCreateByName(loginUser.getUsername());
leaseDO.setCreateTime(new Date()); leaseDO.setCreateTime(new Date());
// 新增时根据仓库ID查询仓库名字
if (leaseDO.getWarehouseId() != null) {
setWarehouseInfo(leaseDO);
}
} }
return leaseDO; return leaseDO;
} }
/**
* 设置仓库信息
*/
private void setWarehouseInfo(LeaseDO leaseDO) {
if (leaseDO.getWarehouseId() == null) {
return;
}
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(leaseDO.getWarehouseId());
if (ajaxResult == null) {
throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + leaseDO.getWarehouseId());
}
Object codeObj = ajaxResult.get("code");
if (codeObj == null || !"200".equals(String.valueOf(codeObj))) {
String errorMsg = ajaxResult.get("msg") != null ? String.valueOf(ajaxResult.get("msg")) : "未知错误";
throw new ServiceException("获取仓库信息失败,仓库ID" + leaseDO.getWarehouseId() + ",错误信息:" + errorMsg);
}
Object dataObj = ajaxResult.get("data");
if (dataObj == null) {
throw new ServiceException("获取仓库信息失败:返回数据为空,仓库ID:" + leaseDO.getWarehouseId());
}
String dataJsonString = JSONObject.toJSONString(dataObj);
if (dataJsonString == null || dataJsonString.isEmpty() || "null".equals(dataJsonString)) {
throw new ServiceException("获取仓库信息失败:返回数据为空或格式不正确,仓库ID:" + leaseDO.getWarehouseId());
}
WarehouseFeignPO warehouseFeignPO;
try {
warehouseFeignPO = JSON.parseObject(dataJsonString, WarehouseFeignPO.class);
} catch (Exception e) {
throw new ServiceException("获取仓库信息失败:数据解析异常,仓库ID:" + leaseDO.getWarehouseId() + ",错误信息:" + e.getMessage());
}
if (warehouseFeignPO == null) {
throw new ServiceException("获取仓库信息失败:数据解析失败,仓库ID:" + leaseDO.getWarehouseId());
}
leaseDO.setWarehouseName(warehouseFeignPO.getWarehouseName());
}
} }
@@ -1,9 +1,11 @@
package com.mhd.basic.interfaces.dto.lease; package com.mhd.basic.interfaces.dto.lease;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mhd.common.core.annotation.Excel; import com.mhd.common.core.annotation.Excel;
import com.mhd.common.core.web.domain.BaseVOEntity; import com.mhd.common.core.web.domain.BaseVOEntity;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@@ -52,11 +54,27 @@ public class LeaseDTO extends BaseVOEntity{
private BigDecimal leaseArea; private BigDecimal leaseArea;
@ApiModelProperty("开始日期") @ApiModelProperty("开始日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startDate; private Date startDate;
@ApiModelProperty("结束日期") @ApiModelProperty("结束日期")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endDate; private Date endDate;
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remark; private String remark;
@ApiModelProperty(name = "创建时间查询条件开始日期")
private String createTimeStart;
@ApiModelProperty(name = "创建时间查询条件结束日期")
private String createTimeEnd;
@ApiModelProperty(name = "修改时间查询条件开始日期")
private String updateTimeStart;
@ApiModelProperty(name = "修改时间查询条件结束日期")
private String updateTimeEnd;
} }
@@ -64,6 +64,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="organizationName != null and organizationName != ''"> <if test="organizationName != null and organizationName != ''">
and organization_name like concat('%', #{organizationName}, '%') and organization_name like concat('%', #{organizationName}, '%')
</if> </if>
<if test="warehouseId != null ">
and warehouse_id = #{warehouseId}
</if>
<if test="warehouseName != null and warehouseName != ''"> <if test="warehouseName != null and warehouseName != ''">
and warehouse_name like concat('%', #{warehouseName}, '%') and warehouse_name like concat('%', #{warehouseName}, '%')
</if> </if>
@@ -73,13 +76,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="leaseType != null and leaseType != ''"> <if test="leaseType != null and leaseType != ''">
and lease_type = #{leaseType} and lease_type = #{leaseType}
</if> </if>
<if test="createTime != null ">
and create_time = #{createTime}
</if>
<if test="leaseArea != null "> <if test="leaseArea != null ">
and lease_area = #{leaseArea} and lease_area = #{leaseArea}
</if> </if>
<if test="remark != null and remark != ''"> <if test="remark != null and remark != ''">
and remark like concat('%', #{remark}, '%') and remark like concat('%', #{remark}, '%')
</if> </if>
<!-- 创建和更新相关条件 --> <!-- 创建和更新相关条件 -->
<if test="createByName != null and createByName != ''"> <if test="createByName != null and createByName != ''">
and create_by_name like concat('%', #{createByName}, '%') and create_by_name like concat('%', #{createByName}, '%')
@@ -87,6 +92,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="updateByName != null and updateByName != ''"> <if test="updateByName != null and updateByName != ''">
and update_by_name like concat('%', #{updateByName}, '%') and update_by_name like concat('%', #{updateByName}, '%')
</if> </if>
<if test="createTimeStart != null and createTimeStart != ''">
and date_format(create_time,'%Y-%m-%d') &gt;= #{createTimeStart}
</if>
<if test="createTimeEnd != null and createTimeEnd != ''">
and date_format(create_time,'%Y-%m-%d') &lt;= #{createTimeEnd}
</if>
<if test="updateTimeStart != null and updateTimeStart != ''">
and date_format(update_time,'%Y-%m-%d') &gt;= #{updateTimeStart}
</if>
<if test="updateTimeEnd != null and updateTimeEnd != ''">
and date_format(update_time,'%Y-%m-%d') &lt;= #{updateTimeEnd}
</if>
<!-- 时间范围查询(如果需要) --> <!-- 时间范围查询(如果需要) -->
<if test="startDate != null and endDate != null"> <if test="startDate != null and endDate != null">
and start_date &gt;= #{startDate} and start_date &lt;= #{endDate} and start_date &gt;= #{startDate} and start_date &lt;= #{endDate}