feat: 各功能的清單(TABLE)增加排序及篩選功能

1.qms

refs: #29071
This commit is contained in:
YiLiLin 2024-04-23 09:38:07 +08:00
parent cf57ddfc0c
commit e390984559
12 changed files with 130 additions and 27 deletions

View File

@ -16,6 +16,13 @@ import java.util.Map;
@EqualsAndHashCode(callSuper = true)
public class QmsInspecDetailDTO extends QmsInspecDetail {
public QmsInspecDetailDTO() {
}
public QmsInspecDetailDTO(String inspecJobBo) {
super(inspecJobBo);
}
private String qcItem;
private String qcItemDesc;

View File

@ -3,7 +3,7 @@ package com.foreverwin.iep.qms.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.foreverwin.iep.common.base.Order;
import com.foreverwin.iep.common.utils.HandleBoProcessor;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -23,11 +23,17 @@ import java.time.LocalDateTime;
@TableName("qms_inspec_detail")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "检验任务-明细")
public class QmsInspecDetail extends Model<QmsInspecDetail> {
public class QmsInspecDetail extends Order<QmsInspecDetail> {
private static final long serialVersionUID = 1L;
public static final String KW_QMS_INSPEC_DETAIL_BO = "InspecDetailBO";
public QmsInspecDetail() {
}
public QmsInspecDetail(String inspecJobBo) {
this.inspecJobBo = inspecJobBo;
}
/**
* 主键

View File

@ -2,7 +2,7 @@ package com.foreverwin.iep.qms.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.foreverwin.iep.common.base.FrontPage;
import com.foreverwin.iep.qms.entity.QmsInspecFreq;
import com.foreverwin.iep.qms.service.QmsInspecFreqService;
import com.foreverwin.mom.common.core.util.R;
@ -35,12 +35,13 @@ public class QmsInspecFreqController {
*/
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
public R getQmsInspecFreqPage(Page page, QmsInspecFreq qmsInspecFreq) {
return R.ok(qmsInspecFreqService.page(page, Wrappers.lambdaQuery(QmsInspecFreq.class)
.eq(QmsInspecFreq::getSite, TenantContextHolder.getTenantId())
.like(StrUtil.isNotBlank(qmsInspecFreq.getInspecNo()), QmsInspecFreq::getInspecNo, qmsInspecFreq.getInspecNo())
.eq(StrUtil.isNotBlank(qmsInspecFreq.getInspecType()), QmsInspecFreq::getInspecType, qmsInspecFreq.getInspecType())
.orderByAsc(QmsInspecFreq::getInspecNo)));
public R getQmsInspecFreqPage(FrontPage page, QmsInspecFreq qmsInspecFreq) {
return R.ok(qmsInspecFreqService.page(page.genOrders(), Wrappers.lambdaQuery(QmsInspecFreq.class)
.eq(QmsInspecFreq::getSite, TenantContextHolder.getTenantId())
.like(StrUtil.isNotBlank(qmsInspecFreq.getInspecNo()), QmsInspecFreq::getInspecNo, qmsInspecFreq.getInspecNo())
.eq(StrUtil.isNotBlank(qmsInspecFreq.getInspecType()), QmsInspecFreq::getInspecType, qmsInspecFreq.getInspecType())
.like(StrUtil.isNotBlank(qmsInspecFreq.getDescription()), QmsInspecFreq::getDescription, qmsInspecFreq.getDescription())
.orderByAsc(QmsInspecFreq::getInspecNo)));
}
@PostMapping

View File

@ -38,13 +38,14 @@ public class QmsInspecJobController {
@ApiOperation(value = "檢驗任務查詢", notes = "檢驗任務查詢")
@GetMapping("/page")
public R getList(FrontPage page, QmsInspecJobDTO dto) {
return R.ok(qmsInspecJobService.selectAll(page, dto));
return R.ok(qmsInspecJobService.selectAll(page.genOrders(), dto));
}
@ApiOperation(value = "檢驗任務明細查詢", notes = "檢驗任務明細查詢")
@GetMapping("/detail/{inspecJobBo}")
public R getDetails(@PathVariable("inspecJobBo") String inspecJobBo) {
return R.ok(qmsInspecDetailService.selectAll(inspecJobBo));
public R getDetails(QmsInspecDetailDTO dto) {
dto.genOrders();
return R.ok(qmsInspecDetailService.selectAll(dto));
}
@ApiOperation(value = "產品編號開窗", notes = "產品編號開窗")

View File

@ -38,14 +38,15 @@ public class QmsQcItemController {
@ApiOperation(value = "分页查询", notes = "分页查询")
@GetMapping("/page")
public R getQmsQcItemPage(FrontPage page, QmsQcItem qmsQcItem) {
return R.ok(qmsQcItemService.page(page, Wrappers.lambdaQuery(QmsQcItem.class)
.eq(QmsQcItem::getSite, TenantContextHolder.getTenantId())
.like(StrUtil.isNotBlank(qmsQcItem.getQcItem()),
QmsQcItem::getQcItem, qmsQcItem.getQcItem())
.eq(StrUtil.isNotBlank(qmsQcItem.getItemType()), QmsQcItem::getItemType, qmsQcItem.getItemType())
.eq(StrUtil.isNotBlank(qmsQcItem.getInspecType()), QmsQcItem::getInspecType, qmsQcItem.getInspecType())
.eq(StrUtil.isNotBlank(qmsQcItem.getStatus()), QmsQcItem::getStatus, qmsQcItem.getStatus())
.orderByAsc(QmsQcItem::getQcItem)));
return R.ok(qmsQcItemService.page(page.genOrders(), Wrappers.lambdaQuery(QmsQcItem.class)
.eq(QmsQcItem::getSite, TenantContextHolder.getTenantId())
.like(StrUtil.isNotBlank(qmsQcItem.getQcItem()), QmsQcItem::getQcItem, qmsQcItem.getQcItem())
.eq(StrUtil.isNotBlank(qmsQcItem.getItemType()), QmsQcItem::getItemType, qmsQcItem.getItemType())
.eq(StrUtil.isNotBlank(qmsQcItem.getInspecType()), QmsQcItem::getInspecType, qmsQcItem.getInspecType())
.eq(StrUtil.isNotBlank(qmsQcItem.getStatus()), QmsQcItem::getStatus, qmsQcItem.getStatus())
.like(StrUtil.isNotBlank(qmsQcItem.getDescription()), QmsQcItem::getDescription, qmsQcItem.getDescription())
.eq(StrUtil.isNotBlank(qmsQcItem.getChartControl()), QmsQcItem::getChartControl, qmsQcItem.getChartControl())
.orderByAsc(QmsQcItem::getQcItem)));
}
/**

View File

@ -41,11 +41,16 @@ public class QmsQcPlanController {
@GetMapping("/page")
public R getQmsQcPlanPage(FrontPage page, QmsQcPlan qmsQcPlan) {
IPage<QmsQcPlan> iPage = qmsQcPlanService.page(page.genOrders(), Wrappers.<QmsQcPlan>lambdaQuery()
.eq(StrUtil.isNotBlank(qmsQcPlan.getInspecType()), QmsQcPlan::getInspecType, qmsQcPlan.getInspecType())
.eq(QmsQcPlan::getSite, TenantContextHolder.getTenantId())
.like(StrUtil.isNotBlank(qmsQcPlan.getQcPlan()), QmsQcPlan::getQcPlan, qmsQcPlan.getQcPlan())
.eq(StrUtil.isNotBlank(qmsQcPlan.getInspecType()), QmsQcPlan::getInspecType, qmsQcPlan.getInspecType())
.eq(StrUtil.isNotBlank(qmsQcPlan.getUserGroup()), QmsQcPlan::getUserGroup, qmsQcPlan.getUserGroup())
.eq(StrUtil.isNotBlank(qmsQcPlan.getCurrentRevision()), QmsQcPlan::getCurrentRevision, qmsQcPlan.getCurrentRevision())
.eq(QmsQcPlan::getSite, TenantContextHolder.getTenantId())
.eq(StrUtil.isNotBlank(qmsQcPlan.getRevision()), QmsQcPlan::getRevision, qmsQcPlan.getRevision())
.like(StrUtil.isNotBlank(qmsQcPlan.getDescription()), QmsQcPlan::getDescription, qmsQcPlan.getDescription())
.like(StrUtil.isNotBlank(qmsQcPlan.getInspecFreqNo()), QmsQcPlan::getInspecFreqBo, qmsQcPlan.getInspecFreqNo())
.eq(StrUtil.isNotBlank(qmsQcPlan.getToSpc()), QmsQcPlan::getToSpc, qmsQcPlan.getToSpc())
.like(StrUtil.isNotBlank(qmsQcPlan.getUserGroup()), QmsQcPlan::getUserGroup, qmsQcPlan.getUserGroup())
.orderByAsc(QmsQcPlan::getQcPlan));
iPage.getRecords().forEach(qcPlan -> qcPlan.setInspecFreqNo(HandleBoProcessor.trimHandle(qcPlan.getInspecFreqBo())));
return R.ok(iPage);

View File

@ -63,6 +63,7 @@ public class QmsSamplePlanController {
.like(StrUtil.isNotBlank(qmsSamplePlan.getSamplePlan()), QmsSamplePlan::getSamplePlan, qmsSamplePlan.getSamplePlan())
.eq(StrUtil.isNotBlank(qmsSamplePlan.getSamplePlanType()), QmsSamplePlan::getSamplePlanType, qmsSamplePlan.getSamplePlanType())
.isNull(qmsSamplePlan.isIqc(), QmsSamplePlan::getAreaQty)
.like(StrUtil.isNotBlank(qmsSamplePlan.getDescription()), QmsSamplePlan::getDescription, qmsSamplePlan.getDescription())
.orderByAsc(QmsSamplePlan::getSamplePlan)));
}

View File

@ -16,6 +16,8 @@ public interface QmsInspecDetailService extends IService<QmsInspecDetail> {
List<QmsInspecDetailDTO> selectAll(String inspecJobBo);
List<QmsInspecDetailDTO> selectAll(QmsInspecDetailDTO dto);
QmsInspecDetailDTO getDetailResult(String inspecDetailBo);
void saveResult(QmsInspecDetailDTO dto);

View File

@ -60,7 +60,12 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl<QmsInspecDetailMappe
@Override
public List<QmsInspecDetailDTO> selectAll(String inspecJobBo) {
return baseMapper.selectAll(inspecJobBo);
return selectAll(new QmsInspecDetailDTO(inspecJobBo));
}
@Override
public List<QmsInspecDetailDTO> selectAll(QmsInspecDetailDTO dto) {
return baseMapper.selectAll(dto);
}
@Override

View File

@ -17,7 +17,7 @@ import java.util.List;
@Mapper
public interface QmsInspecDetailMapper extends BaseMapper<QmsInspecDetail> {
List<QmsInspecDetailDTO> selectAll(@Param("inspecJobBo") String inspecJobBo);
List<QmsInspecDetailDTO> selectAll(@Param("dto") QmsInspecDetailDTO dto);
QmsInspecDetailDTO selectDetail(@Param("inspecDetailBo") String inspecDetailBo);
}

View File

@ -45,7 +45,34 @@
join qms_qc_plan_detail b on a.QC_PLAN_DETAIL_BO = b.HANDLE
join qms_qc_item c on b.QC_ITEM_BO = c.HANDLE
left join qms_sample_plan d on b.SAMPLE_PLAN_BO = d.HANDLE
WHERE a.INSPEC_JOB_BO = #{inspecJobBo}
WHERE a.INSPEC_JOB_BO = #{dto.inspecJobBo}
<if test="dto.itemType != null and dto.itemType != ''">
and c.ITEM_TYPE = #{dto.itemType}
</if>
<if test="dto.qcItem != null and dto.qcItem != ''">
and c.QC_ITEM like concat('%', concat(#{dto.qcItem}, '%'))
</if>
<if test="dto.qcItemDesc != null and dto.qcItemDesc != ''">
and c.DESCRIPTION like concat('%', concat(#{dto.qcItemDesc}, '%'))
</if>
<if test="dto.samplePlan != null and dto.samplePlan != ''">
and d.SAMPLE_PLAN like concat('%', concat(#{dto.samplePlan}, '%'))
</if>
<if test="dto.samplePlanType != null and dto.samplePlanType != ''">
and d.SAMPLE_PLAN_TYPE = #{dto.samplePlanType}
</if>
<if test="dto.sampleSize != null">
and a.SAMPLE_SIZE = #{dto.sampleSize}
</if>
<if test="dto.result != null and dto.result != ''">
and a.RESULT = #{dto.result}
</if>
<if test="dto.inspecDateTime != null">
and a.INSPEC_DATE_TIME = #{dto.inspecDateTime}
</if>
<if test="dto.inspecUser != null and dto.inspecUser != ''">
and a.INSPEC_USER like concat('%', concat(#{dto.inspecUser}, '%'))
</if>
</select>
<select id="selectDetail" resultMap="full">

View File

@ -193,11 +193,36 @@
#{userGroup}
</foreach>
</if>
<if test="dto.judgeUser != null and dto.judgeUser != ''">
AND a.JUDGE_USER = #{dto.judgeUser}
</if>
<if test="dto.judgeDateTime != null">
AND a.JUDGE_DATE_TIME &gt;= #{dto.judgeDateTime}
</if>
<if test="dto.completeDateTime != null">
AND a.COMPLETE_DATE_TIME &gt;= #{dto.completeDateTime}
</if>
</where>
order by a.JOB_NO
</select>
<select id="selectIQC" resultMap="full">
select distinct a.*, f.QC_PLAN, f.DESCRIPTION QC_PLAN_DESC, e.item, e.description ITEM_DESC, c.RECEIPT_NO, b.seq, b.RECEIPT_QUANTITY, g.ABN_NO, g.STATUS abn_status, g.CURRENT_RESPONSIBLE, h.PURCHASE_NO, i.SUPPLIER_NO, i.SUPPLIER_NAME, b.INSPECT_LEVEL, b.SUPPLIER_BATCH
select distinct
a.*,
f.QC_PLAN,
f.DESCRIPTION QC_PLAN_DESC,
e.item,
e.description ITEM_DESC,
c.RECEIPT_NO,
b.seq,
b.RECEIPT_QUANTITY,
g.ABN_NO,
g.STATUS abn_status,
g.CURRENT_RESPONSIBLE,
h.PURCHASE_NO,
i.SUPPLIER_NO,
i.SUPPLIER_NAME,
b.INSPECT_LEVEL,
b.SUPPLIER_BATCH
from QMS_INSPEC_JOB a
join WMS_RECEIPT_DETAIL b on a.TARGET_BO = b.handle
join WMS_RECEIPT_MASTER c on b.RECEIPT_MASTER_BO = c.handle
@ -246,11 +271,21 @@
#{userGroup}
</foreach>
</if>
<if test="dto.populationQty != null">
AND a.POPULATION_QTY = #{dto.populationQty}
</if>
<if test="dto.completeDateTime != null">
AND a.COMPLETE_DATE_TIME &gt;= #{dto.completeDateTime}
</if>
<if test="dto.dateCreate != null">
AND a.DATE_CREATE &gt;= #{dto.dateCreate}
</if>
</where>
order by a.JOB_NO
</select>
<select id="selectInstrument" resultMap="full">
select a.*,
select
a.*,
b.QC_PLAN,
b.DESCRIPTION QC_PLAN_DESC,
b.CALIBRATION_TYPE,
@ -304,6 +339,18 @@
#{userGroup}
</foreach>
</if>
<if test="dto.qcFreq != null and dto.qcFreq != ''">
AND a.QC_FREQ = #{dto.qcFreq}
</if>
<if test="dto.completeDateTime != null">
AND a.COMPLETE_DATE_TIME &gt;= #{dto.completeDateTime}
</if>
<if test="dto.dateCreate != null">
AND a.DATE_CREATE &gt;= #{dto.dateCreate}
</if>
<if test="dto.judgeDateTime != null">
AND a.JUDGE_DATE_TIME &gt;= #{dto.judgeDateTime}
</if>
</where>
order by a.JOB_NO
</select>