feat: bug-967 单据管理/质检单管理增加查询条件和报表导出功能

This commit is contained in:
曹鹏飞 2025-12-01 14:38:51 +08:00
parent ade7669e21
commit 9fbbd6188b
4 changed files with 127 additions and 68 deletions

View File

@ -2,6 +2,7 @@ package com.nflg.wms.admin.controller;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nflg.wms.admin.pojo.dto.*; import com.nflg.wms.admin.pojo.dto.*;
import com.nflg.wms.admin.service.NormalQMControllerService; import com.nflg.wms.admin.service.NormalQMControllerService;
import com.nflg.wms.common.pojo.ApiResult; import com.nflg.wms.common.pojo.ApiResult;
@ -15,6 +16,7 @@ import com.nflg.wms.common.pojo.vo.QCTaskItemScanCodesVO;
import com.nflg.wms.common.pojo.vo.QCTaskItemVO; import com.nflg.wms.common.pojo.vo.QCTaskItemVO;
import com.nflg.wms.common.pojo.vo.QCTaskVO; import com.nflg.wms.common.pojo.vo.QCTaskVO;
import com.nflg.wms.common.pojo.vo.QualityInspectionVO; import com.nflg.wms.common.pojo.vo.QualityInspectionVO;
import com.nflg.wms.common.util.EecExcelUtil;
import com.nflg.wms.common.util.UserUtil; import com.nflg.wms.common.util.UserUtil;
import com.nflg.wms.common.util.VUtil; import com.nflg.wms.common.util.VUtil;
import com.nflg.wms.repository.entity.WmsQcReceive; import com.nflg.wms.repository.entity.WmsQcReceive;
@ -24,10 +26,12 @@ import com.nflg.wms.repository.service.*;
import com.nflg.wms.starter.BaseController; import com.nflg.wms.starter.BaseController;
import com.nflg.wms.starter.annotation.ApiMark; import com.nflg.wms.starter.annotation.ApiMark;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@ -62,7 +66,6 @@ public class NormalQMController extends BaseController {
/** /**
* 获取SRM推送过来的质检单信息 * 获取SRM推送过来的质检单信息
*
* @param request * @param request
* @return * @return
*/ */
@ -72,9 +75,21 @@ public class NormalQMController extends BaseController {
return ApiResult.success(wmsSrmQualityInspectionService.search(request)); return ApiResult.success(wmsSrmQualityInspectionService.search(request));
} }
/**
* 导出质检单
* @param request 查询条件
* @return
*/
@PostMapping("search/export")
public void export(HttpServletResponse response, @Valid @RequestBody NomalQMOrderSearchQO request) throws IOException {
request.setPageSize(Integer.MAX_VALUE);
IPage<QualityInspectionVO> datas = wmsSrmQualityInspectionService.search(request);
VUtil.trueThrowBusinessError(CollectionUtil.isEmpty(datas.getRecords())).throwMessage("没有需要导出的数据");
EecExcelUtil.export("质检单", "sheet1", datas.getRecords(), response);
}
/** /**
* 质检物料上架任务PDA * 质检物料上架任务PDA
*
* @param orderNo 送货单号或任务单号 * @param orderNo 送货单号或任务单号
* @return * @return
*/ */
@ -87,7 +102,6 @@ public class NormalQMController extends BaseController {
/** /**
* 质检物料上架物料详情 * 质检物料上架物料详情
*
* @param taskId 任务ID * @param taskId 任务ID
**/ **/
@GetMapping("PDA/task/item") @GetMapping("PDA/task/item")
@ -99,7 +113,6 @@ public class NormalQMController extends BaseController {
/** /**
* 质检物料上架任务确认 * 质检物料上架任务确认
*
* @param request * @param request
**/ **/
@PostMapping("PDA/task/confirm") @PostMapping("PDA/task/confirm")
@ -265,7 +278,6 @@ public class NormalQMController extends BaseController {
/** /**
* 无码质检任务上架确认 * 无码质检任务上架确认
*
* @param request 任务ID * @param request 任务ID
* @return * @return
*/ */

View File

@ -32,4 +32,9 @@ public class NomalQMOrderSearchQO extends SearchBaseQO{
public String itemCode; public String itemCode;
/**
* 检验结果合格或者不合格
*/
private String inspectionResult;
} }

View File

@ -1,6 +1,8 @@
package com.nflg.wms.common.pojo.vo; package com.nflg.wms.common.pojo.vo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data; import lombok.Data;
import org.ttzero.excel.annotation.ExcelColumn;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -12,113 +14,141 @@ public class QualityInspectionVO {
/** /**
* 质检单号 * 质检单号
*/ */
@ExcelColumn("质检单号")
private String inspectionNum; private String inspectionNum;
/** /**
* 工厂 * 采购订单号
*/ */
private String factory; @ExcelColumn("采购订单号")
private String poNum;
/**
* 送货数量
*/
private BigDecimal deliveryQty;
/**
* 检验结果
*/
private String inspectionResult;
/**
* 物料编号
*/
private String itemCode;
/**
* 供应商代码
*/
private String supplierNum;
/**
* 检验类型
*/
private String inspectionType;
/** /**
* 采购单行号 * 采购单行号
*/ */
@ExcelColumn("采购单行号")
private String poLineNumber; private String poLineNumber;
/** /**
* 检验数量 * 供应商代码
*/ */
private BigDecimal inspectionQty; @ExcelColumn("供应商代码")
private String supplierNum;
/**
* 供应商名称
*/
@ExcelColumn("供应商名称")
private String supplierName;
/**
* 物料编号
*/
@ExcelColumn("物料编号")
private String itemCode;
/** /**
* 物料描述 * 物料描述
*/ */
@ExcelColumn("物料描述")
private String itemName; private String itemName;
/** /**
* 物料单位 * 物料单位
*/ */
@ExcelColumn("物料单位")
private String unit; private String unit;
/**
* 工厂
*/
@ExcelColumn("工厂")
private String factory;
/** /**
* 仓库编号 * 仓库编号
*/ */
@ExcelColumn("仓库编号")
private String receivedWarehouse; private String receivedWarehouse;
/** /**
* 不合格原因 * 送货单号
*/ */
private String unqualifiedReason; @ExcelColumn("送货单号")
private String noteNum;
/** /**
* 采购订单 * 送货单行
*/ */
private String poNum; @ExcelColumn("送货单行号")
private String lineNumber;
/**
* 物料凭证收货时SAP返回的凭证
*/
private String receiveNum;
/**
* 不合格数量
*/
private BigDecimal unqualifiedQty;
/**
* 合格数量
*/
private BigDecimal qualifiedQty;
/** /**
* 收货时的凭证 * 收货时的凭证
*/ */
@ExcelColumn("收货时的凭证")
private String materialBatch; private String materialBatch;
/** /**
* 收货时的序列号 * 收货时的序列号
*/ */
@ExcelColumn("收货时的序列号")
private String serialNum; private String serialNum;
/**
* 送货单行号
*/
private String lineNumber;
/**
* 送货单号
*/
private String noteNum;
/** /**
* 接收时间 * 接收时间
*/ */
@ExcelColumn("接收时间")
private LocalDateTime acceptTime; private LocalDateTime acceptTime;
/**
* 送货数量
*/
@ExcelColumn("送货数量")
private BigDecimal deliveryQty;
/**
* 检验结果
*/
@ExcelColumn("检验结果")
private String inspectionResult;
/**
* 检验类型
*/
@ExcelColumn("检验类型")
private String inspectionType;
/**
* 检验数量
*/
@ExcelColumn("检验数量")
private BigDecimal inspectionQty;
/**
* 不合格原因
*/
@ExcelColumn("不合格原因")
private String unqualifiedReason;
/**
* 物料凭证收货时SAP返回的凭证
*/
@ExcelColumn("物料凭证")
private String receiveNum;
/**
* 不合格数量
*/
@ExcelColumn("不合格数量")
private BigDecimal unqualifiedQty;
/**
* 合格数量
*/
@ExcelColumn("合格数量")
private BigDecimal qualifiedQty;
/** /**
* 最后修改时间 * 最后修改时间
*/ */
@ -134,23 +164,32 @@ public class QualityInspectionVO {
*/ */
private Boolean isIn; private Boolean isIn;
/** /**
* 供应商名称 * 是否已入库
*/ */
private String supplierName; @JsonIgnore
@ExcelColumn("是否已入库")
private String isInDesc;
public String getIsInDesc() {
return isIn ? "" : "";
}
/** /**
* 入库时间 * 入库时间
*/ */
@ExcelColumn("入库时间")
private String inTime; private String inTime;
/** /**
* 凭证 * 凭证
*/ */
@ExcelColumn("凭证")
private String materialDoc105; private String materialDoc105;
/** /**
* 年度凭证 * 年度凭证
*/ */
@ExcelColumn("年度凭证")
private String materialDocYear105; private String materialDocYear105;
} }

View File

@ -36,6 +36,9 @@
<if test="request.itemCode !=null and request.itemCode !='' "> <if test="request.itemCode !=null and request.itemCode !='' ">
and a.item_code ilike concat('%',#{request.itemCode},'%') and a.item_code ilike concat('%',#{request.itemCode},'%')
</if> </if>
<if test="request.inspectionResult != null and request.inspectionResult !='' ">
and a.inspection_result = #{request.inspectionResult}
</if>
</where> </where>
order by accept_time desc order by accept_time desc
</select> </select>