新购验收单接口、注解修改

This commit is contained in:
syruan 2024-10-23 17:54:39 +08:00
parent 4cf98d9249
commit c36d13a60a
14 changed files with 205 additions and 18 deletions

View File

@ -120,8 +120,8 @@ public class PurchaseCheckDetailsController extends BaseController {
@RequiresPermissions("purchase:details:query")
@GetMapping("/fileList")
@SysLog(title = "新购验收任务明细报告查询", businessType = OperaType.QUERY, module = "物资新购->根据任务id查询物资报告附件")
public AjaxResult getFileList(@RequestParam("taskId") Long taskId, @RequestParam("typeId") Long typeId) {
return success(purchaseCheckDetailsService.selectPurchaseCheckFileListByTaskId(taskId, typeId));
public AjaxResult getFileList(PurchaseCheckFileDto purchaseCheckFileDto) {
return success(purchaseCheckDetailsService.selectPurchaseCheckFileListByTaskId(Long.valueOf(purchaseCheckFileDto.getTaskId()), purchaseCheckFileDto.getTypeId()));
}

View File

@ -10,6 +10,8 @@ import javax.validation.constraints.NotNull;
import com.bonus.common.log.enums.OperaType;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import com.bonus.material.purchase.dto.PurchaseCheckDto;
import com.bonus.material.purchase.dto.PurchaseQueryDto;
import com.bonus.material.purchase.vo.PurchaseCheckFormVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -54,9 +56,9 @@ public class PurchaseCheckInfoController extends BaseController {
*/
@ApiOperation(value = "获取新购验收任务详细信息")
@RequiresPermissions("purchase:info:query")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(purchaseCheckInfoService.selectPurchaseCheckInfoById(id));
@GetMapping(value = "/getInfo")
public AjaxResult getInfo(@NotNull(message = "请求对象不能为空") PurchaseQueryDto purchaseQueryDto) {
return success(purchaseCheckInfoService.selectPurchaseCheckInfoById(purchaseQueryDto));
}
/**
@ -103,6 +105,18 @@ public class PurchaseCheckInfoController extends BaseController {
return purchaseCheckInfoService.acceptance(taskIds);
}
/**
* 根据任务id查询验收单
*/
@ApiOperation(value = "根据任务id查询验收单--taskId")
@RequiresPermissions("purchase:info:query")
@SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->查询验收单API")
@GetMapping("/getPurchaseCheckFormByTaskId/{taskId}")
public AjaxResult getPurchaseCheckFormByTaskId(@PathVariable("taskId") Long taskId) {
PurchaseCheckFormVo purchaseCheckFormVo = purchaseCheckInfoService.selectPurchaseCheckFormVoByTaskId(taskId);
return AjaxResult.success(purchaseCheckFormVo);
}
/**

View File

@ -40,13 +40,13 @@ public class PurchaseCheckInfo extends BaseEntity {
/** 采购日期 */
@ApiModelProperty(value = "采购日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date purchaseTime;
/** 到货日期 */
@ApiModelProperty(value = "到货日期")
@JsonFormat(pattern = "yyyy-MM-dd")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@Excel(name = "到货日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date arrivalTime;

View File

@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
/**
* @author : 阮世耀
@ -31,11 +32,11 @@ public class PurchaseCheckFileDto {
private String taskId;
@ApiModelProperty(value = "物资类型ID")
@NotBlank(message = "物资类型ID不能为空")
@NotNull(message = "物资类型ID不能为空")
private Long typeId;
@ApiModelProperty(value = "字典编码")
@NotEmpty(message = "字典编码不能为空")
@NotNull(message = "字典编码不能为空")
private Integer dictCode;
@ApiModelProperty(value = "字典标签")

View File

@ -0,0 +1,49 @@
package com.bonus.material.purchase.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @author : 阮世耀
* @version : 1.0
* @PackagePath: com.bonus.material.purchase.dto
* @CreateTime: 2024-10-23 16:47
* @Description: 新购查询DTO封装查询条件
*/
@Data
public class PurchaseQueryDto {
private Long id;
@ApiModelProperty(value = "任务id")
private Long taskId;
@ApiModelProperty(value = "任务单号")
private String code;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "任务状态")
private Integer taskStatus;
@ApiModelProperty(value = "关键字")
private String keyWord;
@ApiModelProperty(value = "规格ID")
private Long typeId;
@ApiModelProperty(value = "物资厂家ID")
private Long supplierId;
@ApiModelProperty(value = "出场日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date productionTime;
}

View File

@ -2,6 +2,7 @@ package com.bonus.material.purchase.mapper;
import java.util.List;
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
import com.bonus.material.purchase.dto.PurchaseQueryDto;
import org.apache.ibatis.annotations.Param;
/**
@ -35,6 +36,12 @@ public interface PurchaseCheckDetailsMapper {
*/
List<PurchaseCheckDetails> selectPurchaseCheckDetailsListByTaskId(Long taskId);
/**
* 根据任务id查询新购验收任务详细列表--Join查询
* @param obj 新购验收任务请求参数封装dto
*/
List<PurchaseCheckDetails> selectPurchaseCheckDetailsListByQueryDto(PurchaseQueryDto obj);
/**
* 查询新购验收任务详细列表
*

View File

@ -2,6 +2,7 @@ package com.bonus.material.purchase.mapper;
import java.util.List;
import com.bonus.material.purchase.domain.PurchaseCheckInfo;
import com.bonus.material.purchase.vo.PurchaseCheckFormVo;
/**
* 新购验收任务Mapper接口
@ -34,6 +35,13 @@ public interface PurchaseCheckInfoMapper {
*/
List<PurchaseCheckInfo> selectPurchaseCheckInfoJoinList(PurchaseCheckInfo purchaseCheckInfo);
/**
* 根据任务id查询任务单外层信息
* @param taskId 任务id
*/
PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId);
/**
* 新增新购验收任务

View File

@ -5,6 +5,8 @@ import java.util.List;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.purchase.domain.PurchaseCheckInfo;
import com.bonus.material.purchase.dto.PurchaseCheckDto;
import com.bonus.material.purchase.dto.PurchaseQueryDto;
import com.bonus.material.purchase.vo.PurchaseCheckFormVo;
/**
* 新购验收任务Service接口
@ -15,10 +17,10 @@ public interface IPurchaseCheckInfoService {
/**
* 查询新购验收任务
*
* @param id 新购验收任务主键
* @param purchaseQueryDto 新购验收请求条件封装dto
* @return 新购验收任务
*/
PurchaseCheckDto selectPurchaseCheckInfoById(Long id);
PurchaseCheckDto selectPurchaseCheckInfoById(PurchaseQueryDto purchaseQueryDto);
/**
* 查询新购验收任务列表
@ -42,6 +44,12 @@ public interface IPurchaseCheckInfoService {
*/
AjaxResult acceptance(List<Long> taskId);
/**
* 根据任务id查询验收单
* @param taskId 任务id
*/
PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId);
/**
* 修改新购验收任务
*

View File

@ -15,7 +15,9 @@ import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.purchase.config.PurchaseTaskEnum;
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
import com.bonus.material.purchase.dto.PurchaseCheckDto;
import com.bonus.material.purchase.dto.PurchaseQueryDto;
import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper;
import com.bonus.material.purchase.vo.PurchaseCheckFormVo;
import com.bonus.material.task.domain.TmTask;
import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.beans.factory.annotation.Autowired;
@ -55,16 +57,16 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
/**
* 查询新购验收任务
*
* @param id 新购验收任务主键
* @param purchaseQueryDto 新购验收任务请求参数封装dto
* @return 新购验收任务
*/
@Override
public PurchaseCheckDto selectPurchaseCheckInfoById(Long id) {
public PurchaseCheckDto selectPurchaseCheckInfoById(PurchaseQueryDto purchaseQueryDto) {
PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto();
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(id);
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
if (purchaseCheckInfo != null) {
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseCheckInfo.getTaskId());
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
if (purchaseCheckDetails != null) {
purchaseCheckDtoResult.setPurchaseCheckDetailsList(purchaseCheckDetails);
}
@ -239,6 +241,28 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
}
}
/**
* 根据任务id查询验收单
*
* @param taskId 任务id
*/
@Override
public PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId) {
// 执行SQL查询外层信息
PurchaseCheckFormVo result = purchaseCheckInfoMapper.selectPurchaseCheckFormVoByTaskId(taskId);
if (result != null) {
// 执行SQL查询内层信息
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId);
// 过滤掉空数据
purchaseCheckDetails.removeIf(Objects::isNull);
result.setMaterialList(purchaseCheckDetails);
return result;
} else {
return new PurchaseCheckFormVo();
}
}
/**
* 生成任务编号并构造Tm_Task任务对象
* @param purchaseCheckInfo 新购验收任务数据

View File

@ -0,0 +1,42 @@
package com.bonus.material.purchase.vo;
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author : 阮世耀
* @version : 1.0
* @Description: 新购任务验收单vo
*/
@Data
public class PurchaseCheckFormVo {
@ApiModelProperty(value = "任务id")
private Long taskId;
@ApiModelProperty(value = "任务单号")
private String code;
@ApiModelProperty(value = "生产厂家")
private String supplierName;
@ApiModelProperty(value = "到货日期")
private String arrivalDate;
@ApiModelProperty(value = "供应科")
private String supplyDept;
@ApiModelProperty("生产技术科")
private String productionTechDept;
@ApiModelProperty("库管班")
private String warehouseTeam;
@ApiModelProperty("物资列表")
private List<PurchaseCheckDetails> materialList = new ArrayList<>();
}

View File

@ -81,6 +81,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where pcd.task_id = #{taskId}
</select>
<select id="selectPurchaseCheckDetailsListByQueryDto" parameterType="com.bonus.material.purchase.dto.PurchaseQueryDto" resultMap="PurchaseCheckDetailsResult">
<include refid="selectPurchaseCheckDetailsJoinVo"/>
where pcd.task_id = #{taskId}
<if test="typeId != null">
and pcd.type_id = #{typeId}
</if>
<if test="supplierId != null">
and pcd.supplier_id = #{supplierId}
</if>
<if test="productionTime != null">
and pcd.production_time between #{startTime} and #{endTime}
</if>
<if test="taskStatus != null and taskStatus != ''">
and pcd.status = #{taskStatus}
</if>
<if test="keyWord != null and keyWord != ''">
and (mt.type_name like concat('%', #{keyWord}, '%')
or mt.unit_name like concat('%', #{keyWord}, '%')
or mtp.type_name like concat('%', #{keyWord}, '%'))
</if>
</select>
<insert id="insertPurchaseCheckDetails" parameterType="com.bonus.material.purchase.domain.PurchaseCheckDetails" useGeneratedKeys="true" keyProperty="id">
insert into purchase_check_details
<trim prefix="(" suffix=")" suffixOverrides=",">

View File

@ -19,7 +19,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
FROM
sys_dict_data sdd
LEFT JOIN
bm_file_info bfi ON bfi.dic_id = sdd.dict_code
bm_file_info bfi ON bfi.dic_id = sdd.dict_code and bfi.task_id = #{taskId} and bfi.model_id = #{typeId}
WHERE
sdd.dict_type = 'purchase_check_report_type'
</sql>
@ -27,8 +27,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectPurchaseCheckFileListByTaskId" parameterType="Long" resultMap="PurchaseCheckFileResult">
<include refid="selectPurchaseCheckFileJoinVo"/>
and bfi.task_id = #{taskId}
and bfi.model_id = #{typeId}
</select>
<insert id="insertPurchaseCheckFiles" parameterType="com.bonus.material.purchase.dto.PurchaseCheckFileDto" useGeneratedKeys="true" keyProperty="id">

View File

@ -20,6 +20,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="taskStatus" column="task_status" />
</resultMap>
<resultMap type="com.bonus.material.purchase.vo.PurchaseCheckFormVo" id="PurchaseCheckFormResult">
<result property="taskId" column="task_id" />
<result property="code" column="code" />
<result property="arrivalDate" column="arrival_time" />
</resultMap>
<sql id="selectPurchaseCheckInfoBaseSQL">
select
id, task_id, purchase_time, arrival_time, purchaser, create_by,
@ -120,4 +126,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="purchaser != null "> and pci.purchaser = #{purchaser}</if>
</where>
</select>
<select id="selectPurchaseCheckFormVoByTaskId" resultMap="PurchaseCheckFormResult">
<include refid="selectPurchaseCheckInfoJoinSQL"/>
<where>
<if test="taskId != null "> and pci.task_id = #{taskId}</if>
</where>
</select>
</mapper>

View File

@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from tm_task
</sql>
<select id="selectTmTaskList" parameterType="com.bonus.material.task.domain.TmTask" resultMap="TmTaskResult">
<include refid="selectTmTaskVo"/>
<where>