From 3c40a7df239dd2906f939b362d3cb377a6e8c419 Mon Sep 17 00:00:00 2001 From: shaoyong Date: Tue, 24 Oct 2023 14:54:31 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E6=A3=80=E9=AA=8C=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=BB=B4=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/QcMaterialGroupController.java | 14 +++- .../QcMaterialGroupDetailController.java | 13 +++- .../op/quality/domain/QcCheckTypeProject.java | 22 ++++++ .../mapper/QcMaterialGroupDetailMapper.java | 2 + .../quality/mapper/QcMaterialGroupMapper.java | 2 + .../IQcMaterialGroupDetailService.java | 2 + .../service/IQcMaterialGroupService.java | 2 + .../QcCheckTypeProjectServiceImpl.java | 13 ++++ .../QcMaterialGroupDetailServiceImpl.java | 5 ++ .../QcMaterialGroupServiceImpl.java | 5 ++ .../{ => quality}/QcCheckProjectMapper.xml | 0 .../{ => quality}/QcCheckTypeMapper.xml | 0 .../QcCheckTypeProjectMapper.xml | 68 ++++++++++++++++--- .../QcMaterialGroupDetailMapper.xml | 8 +++ .../{ => quality}/QcMaterialGroupMapper.xml | 8 +++ .../{ => quality}/QcUserMaterialMapper.xml | 0 16 files changed, 150 insertions(+), 14 deletions(-) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcCheckProjectMapper.xml (100%) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcCheckTypeMapper.xml (100%) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcCheckTypeProjectMapper.xml (78%) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcMaterialGroupDetailMapper.xml (96%) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcMaterialGroupMapper.xml (96%) rename op-modules/op-quality/src/main/resources/mapper/{ => quality}/QcUserMaterialMapper.xml (100%) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupController.java index 89df4a149..06835b433 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupController.java @@ -99,7 +99,17 @@ public class QcMaterialGroupController extends BaseController { @RequiresPermissions("quality:materialGroup:remove") @Log(title = "物料组", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) { - return toAjax(qcMaterialGroupService.deleteQcMaterialGroupByIds(ids)); + public AjaxResult remove(@PathVariable String id) { + QcMaterialGroup parent = new QcMaterialGroup(); + parent.setId(id); + List children = qcMaterialGroupService.getMaterialChildrenList(parent); + boolean hasRule = qcMaterialGroupService.validationData(id); + if (!children.isEmpty()) { + return AjaxResult.error("此节点下含有子节点,请先删除子节点"); + }else if (hasRule){ + return AjaxResult.error("此节点含有检验规则,请先删除检验规则"); + } else { + return toAjax(qcMaterialGroupService.deleteQcMaterialGroupById(id)); + } } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java index 3e7c287d4..35e11ec7b 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/controller/QcMaterialGroupDetailController.java @@ -2,6 +2,8 @@ package com.op.quality.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.op.quality.domain.QcMaterialGroup; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -91,7 +93,14 @@ public class QcMaterialGroupDetailController extends BaseController { @RequiresPermissions("quality:materialGroupDetail:remove") @Log(title = "物料组成员", businessType = BusinessType.DELETE) @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) { - return toAjax(qcMaterialGroupDetailService.deleteQcMaterialGroupDetailByIds(ids)); + public AjaxResult remove(@PathVariable String id) { + QcMaterialGroupDetail groupDetail = qcMaterialGroupDetailService.selectQcMaterialGroupDetailById(id); + boolean hasRule = qcMaterialGroupDetailService.validationData(groupDetail.getMaterialCode()); + if (hasRule) { + return AjaxResult.error("此节点含有检验规则,请先删除检验规则"); + }else { + return toAjax(qcMaterialGroupDetailService.deleteQcMaterialGroupDetailById(id)); + } + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTypeProject.java b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTypeProject.java index a3d8cc53f..f5094d7a2 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTypeProject.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/domain/QcCheckTypeProject.java @@ -21,6 +21,11 @@ public class QcCheckTypeProject extends BaseEntity { /** 检验项目id */ @Excel(name = "检验项目id") private String projectId; + /** 检验规则名称 */ + @Excel(name = "检验规则名称") + private String ruleName; + /** 规则方式*/ + private String propertyCode; /** 检验节点id */ @Excel(name = "检验节点id") @@ -175,11 +180,28 @@ public class QcCheckTypeProject extends BaseEntity { return materialCode; } + public String getRuleName() { + return ruleName; + } + + public void setRuleName(String ruleName) { + this.ruleName = ruleName; + } + + public String getPropertyCode() { + return propertyCode; + } + + public void setPropertyCode(String propertyCode) { + this.propertyCode = propertyCode; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("projectId", getProjectId()) + .append("ruleName", getRuleName()) .append("typeId", getTypeId()) .append("standardValue", getStandardValue()) .append("upperDiff", getUpperDiff()) diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupDetailMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupDetailMapper.java index 270704979..421feea7a 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupDetailMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupDetailMapper.java @@ -62,4 +62,6 @@ public interface QcMaterialGroupDetailMapper { public int deleteQcMaterialGroupDetailByIds(String[] ids); public QcMaterialGroupDetail getGroupByMaterial(String materialCode); + + public List validationData(String materialCode); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupMapper.java b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupMapper.java index 314058989..7ba8a55ec 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupMapper.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/mapper/QcMaterialGroupMapper.java @@ -62,4 +62,6 @@ public interface QcMaterialGroupMapper { public int deleteQcMaterialGroupByIds(String[] ids); public List getMaterialChildrenList(QcMaterialGroup qcMaterialGroup); + + public List validationData(String id); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupDetailService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupDetailService.java index 865838994..6a4c1cce4 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupDetailService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupDetailService.java @@ -57,4 +57,6 @@ public interface IQcMaterialGroupDetailService { * @return 结果 */ public int deleteQcMaterialGroupDetailById(String id); + + public boolean validationData(String id); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java index e3dd2ffb5..1ed5f6358 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/IQcMaterialGroupService.java @@ -67,4 +67,6 @@ public interface IQcMaterialGroupService { * @return 结果 */ public int deleteQcMaterialGroupById(String id); + + public boolean validationData(String id); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeProjectServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeProjectServiceImpl.java index fe9c2c5db..b1ecb32ad 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeProjectServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcCheckTypeProjectServiceImpl.java @@ -4,11 +4,18 @@ import java.util.List; import com.baomidou.dynamic.datasource.annotation.DS; import com.op.common.core.utils.DateUtils; +import com.op.common.core.utils.uuid.IdUtils; +import com.op.common.security.utils.SecurityUtils; +import org.apache.catalina.security.SecurityUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.op.quality.mapper.QcCheckTypeProjectMapper; import com.op.quality.domain.QcCheckTypeProject; import com.op.quality.service.IQcCheckTypeProjectService; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +import javax.servlet.http.HttpServletRequest; /** * 物料检验项目维护Service业务层处理 @@ -54,7 +61,12 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService @Override @DS("#header.poolName") public int insertQcCheckTypeProject(QcCheckTypeProject qcCheckTypeProject) { + qcCheckTypeProject.setId(IdUtils.fastSimpleUUID()); + qcCheckTypeProject.setCreateBy(SecurityUtils.getUsername()); qcCheckTypeProject.setCreateTime(DateUtils.getNowDate()); + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String key = "#header.poolName"; + qcCheckTypeProject.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_","")); return qcCheckTypeProjectMapper.insertQcCheckTypeProject(qcCheckTypeProject); } @@ -67,6 +79,7 @@ public class QcCheckTypeProjectServiceImpl implements IQcCheckTypeProjectService @Override @DS("#header.poolName") public int updateQcCheckTypeProject(QcCheckTypeProject qcCheckTypeProject) { + qcCheckTypeProject.setUpdateBy(SecurityUtils.getUsername()); qcCheckTypeProject.setUpdateTime(DateUtils.getNowDate()); return qcCheckTypeProjectMapper.updateQcCheckTypeProject(qcCheckTypeProject); } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupDetailServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupDetailServiceImpl.java index 06d7504d3..8ee3d17f7 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupDetailServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupDetailServiceImpl.java @@ -105,4 +105,9 @@ public class QcMaterialGroupDetailServiceImpl implements IQcMaterialGroupDetailS public int deleteQcMaterialGroupDetailById(String id) { return qcMaterialGroupDetailMapper.deleteQcMaterialGroupDetailById(id); } + + @Override + public boolean validationData(String materialCode) { + return qcMaterialGroupDetailMapper.validationData(materialCode).size() > 0; + } } diff --git a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupServiceImpl.java b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupServiceImpl.java index 43f012aae..c6466dcce 100644 --- a/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupServiceImpl.java +++ b/op-modules/op-quality/src/main/java/com/op/quality/service/serviceImpl/QcMaterialGroupServiceImpl.java @@ -173,6 +173,11 @@ public class QcMaterialGroupServiceImpl implements IQcMaterialGroupService { return qcMaterialGroupMapper.deleteQcMaterialGroupById(id); } + @Override + public boolean validationData(String id) { + return qcMaterialGroupMapper.validationData(id).size() > 0; + } + private boolean hasChild(List list, QcMaterialGroup t) { return getChildList(list, t).size() > 0 ? true : false; } diff --git a/op-modules/op-quality/src/main/resources/mapper/QcCheckProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml similarity index 100% rename from op-modules/op-quality/src/main/resources/mapper/QcCheckProjectMapper.xml rename to op-modules/op-quality/src/main/resources/mapper/quality/QcCheckProjectMapper.xml diff --git a/op-modules/op-quality/src/main/resources/mapper/QcCheckTypeMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml similarity index 100% rename from op-modules/op-quality/src/main/resources/mapper/QcCheckTypeMapper.xml rename to op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeMapper.xml diff --git a/op-modules/op-quality/src/main/resources/mapper/QcCheckTypeProjectMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml similarity index 78% rename from op-modules/op-quality/src/main/resources/mapper/QcCheckTypeProjectMapper.xml rename to op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml index aeaf186b4..71f587bca 100644 --- a/op-modules/op-quality/src/main/resources/mapper/QcCheckTypeProjectMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcCheckTypeProjectMapper.xml @@ -22,32 +22,77 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + - select id, project_id, type_id, standard_value, upper_diff, down_diff, sample, status, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag, group_id, material_code from qc_check_type_project + select id, project_id, type_id, standard_value, upper_diff, down_diff, sample, status, attr1, create_by, create_time, update_by, update_time, factory_code, del_flag, group_id, material_code, sample_num from qc_check_type_project + select + id, + create_by, + create_time + from qc_check_type_project + where material_code = #{materialCode} + diff --git a/op-modules/op-quality/src/main/resources/mapper/QcMaterialGroupMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcMaterialGroupMapper.xml similarity index 96% rename from op-modules/op-quality/src/main/resources/mapper/QcMaterialGroupMapper.xml rename to op-modules/op-quality/src/main/resources/mapper/quality/QcMaterialGroupMapper.xml index 84871491e..a90f283a8 100644 --- a/op-modules/op-quality/src/main/resources/mapper/QcMaterialGroupMapper.xml +++ b/op-modules/op-quality/src/main/resources/mapper/quality/QcMaterialGroupMapper.xml @@ -107,4 +107,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + \ No newline at end of file diff --git a/op-modules/op-quality/src/main/resources/mapper/QcUserMaterialMapper.xml b/op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml similarity index 100% rename from op-modules/op-quality/src/main/resources/mapper/QcUserMaterialMapper.xml rename to op-modules/op-quality/src/main/resources/mapper/quality/QcUserMaterialMapper.xml