diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java index 6ac69069..b3f3f83f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckDetailsController.java @@ -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())); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java index c452f4db..bc6a6642 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/controller/PurchaseCheckInfoController.java @@ -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); + } + /** diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java index 127f6b22..444afb47 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/domain/PurchaseCheckInfo.java @@ -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; diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseCheckFileDto.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseCheckFileDto.java index f1b2ed92..da0240f7 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseCheckFileDto.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseCheckFileDto.java @@ -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 = "字典标签") diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseQueryDto.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseQueryDto.java new file mode 100644 index 00000000..98523f95 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/dto/PurchaseQueryDto.java @@ -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; + +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java index 8cb45065..30373990 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckDetailsMapper.java @@ -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 selectPurchaseCheckDetailsListByTaskId(Long taskId); + /** + * 根据任务id查询新购验收任务详细列表--Join查询 + * @param obj 新购验收任务请求参数封装dto + */ + List selectPurchaseCheckDetailsListByQueryDto(PurchaseQueryDto obj); + /** * 查询新购验收任务详细列表 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckInfoMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckInfoMapper.java index c59d67e9..30c6e22f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckInfoMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/mapper/PurchaseCheckInfoMapper.java @@ -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 selectPurchaseCheckInfoJoinList(PurchaseCheckInfo purchaseCheckInfo); + /** + * 根据任务id查询任务单外层信息 + * @param taskId 任务id + */ + PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId); + + /** * 新增新购验收任务 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java index b08c2b97..d02b91d6 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/IPurchaseCheckInfoService.java @@ -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 taskId); + /** + * 根据任务id查询验收单 + * @param taskId 任务id + */ + PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId); + /** * 修改新购验收任务 * diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java index 7a017622..54dd92ad 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/service/impl/PurchaseCheckInfoServiceImpl.java @@ -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 = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseCheckInfo.getTaskId()); + List 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 = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId); + // 过滤掉空数据 + purchaseCheckDetails.removeIf(Objects::isNull); + result.setMaterialList(purchaseCheckDetails); + return result; + } else { + return new PurchaseCheckFormVo(); + } + } + /** * 生成任务编号并构造Tm_Task任务对象 * @param purchaseCheckInfo 新购验收任务数据 diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/vo/PurchaseCheckFormVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/vo/PurchaseCheckFormVo.java new file mode 100644 index 00000000..a117a45b --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/purchase/vo/PurchaseCheckFormVo.java @@ -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 materialList = new ArrayList<>(); + +} diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml index d207cdbe..9de1e6d4 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckDetailsMapper.xml @@ -80,6 +80,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where pcd.task_id = #{taskId} + + insert into purchase_check_details diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckFileMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckFileMapper.xml index 2511f0ae..30bc29bb 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckFileMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckFileMapper.xml @@ -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' @@ -27,8 +27,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckInfoMapper.xml index 40a0da1c..4cfcfce3 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/purchase/PurchaseCheckInfoMapper.xml @@ -20,6 +20,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + select id, task_id, purchase_time, arrival_time, purchaser, create_by, @@ -120,4 +126,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pci.purchaser = #{purchaser} + + \ No newline at end of file diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml index c3d9ed0c..9621d649 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/task/TmTaskMapper.xml @@ -24,6 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from tm_task +