过程检验ABC不良数据动态获取,抽样规则优化,物料组新增优化

master
shaoyong 1 year ago
parent a3d169cbea
commit af4f0111f1

@ -89,4 +89,10 @@ public class QcDefectTypeController extends BaseController {
public AjaxResult remove(@PathVariable String[] defectIds) {
return toAjax(qcDefectTypeService.deleteQcDefectTypeByDefectIds(defectIds));
}
@GetMapping("/getDefectTypeListByDefectType/{defectType}")
public TableDataInfo getDefectTypeListByDefectType(@PathVariable("defectType") String defectType) {
List<QcDefectType> list = qcDefectTypeService.getDefectTypeListByDefectType(defectType);
return getDataTable(list);
}
}

@ -74,7 +74,13 @@ public class QcMaterialGroupDetailController extends BaseController {
@Log(title = "物料组成员", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody QcMaterialGroupDetail qcMaterialGroupDetail) {
return toAjax(qcMaterialGroupDetailService.insertQcMaterialGroupDetail(qcMaterialGroupDetail));
Boolean isNotUnique = qcMaterialGroupDetailService.validationGroupDetailData(qcMaterialGroupDetail.getMaterialCode());
if (isNotUnique) {
return AjaxResult.error("此物料已在组中,请重新选择!");
} else {
return toAjax(qcMaterialGroupDetailService.insertQcMaterialGroupDetail(qcMaterialGroupDetail));
}
}
/**

@ -149,6 +149,15 @@ public class QcCheckTaskProduce extends BaseEntity {
private BigDecimal cNoOkquality;
private String checkName;
private List<QcStaticTable> checkInfos;
private List<QcCheckTaskDefect> defects;
public List<QcCheckTaskDefect> getDefects() {
return defects;
}
public void setDefects(List<QcCheckTaskDefect> defects) {
this.defects = defects;
}
public List<QcStaticTable> getCheckInfos() {
return checkInfos;

@ -0,0 +1,69 @@
package com.op.quality.mapper;
import java.util.List;
import com.op.quality.domain.QcCheckTaskDefect;
import org.apache.ibatis.annotations.Mapper;
/**
* --Mapper
*
* @author Open Platform
* @date 2024-01-11
*/
@Mapper
public interface QcCheckTaskDefectMapper {
/**
* --
*
* @param recordId --
* @return --
*/
public QcCheckTaskDefect selectQcCheckTaskDefectByRecordId(String recordId);
/**
* --
*
* @param qcCheckTaskDefect --
* @return --
*/
public List<QcCheckTaskDefect> selectQcCheckTaskDefectList(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
public int insertQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
public int updateQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param recordId --
* @return
*/
public int deleteQcCheckTaskDefectByRecordId(String recordId);
/**
* --
*
* @param recordIds
* @return
*/
public int deleteQcCheckTaskDefectByRecordIds(String[] recordIds);
public int deleteQcCheckTaskDefectByBelongTo(String belongTo);
public List<QcCheckTaskDefect> selectDefectByBelongTo(String belongTo);
}

@ -67,4 +67,6 @@ public interface QcDefectTypeMapper {
*/
int selectSerialNumber();
public List<QcDefectType> getDefectTypeListByDefectType(String defectType);
}

@ -64,4 +64,6 @@ public interface QcMaterialGroupDetailMapper {
public QcMaterialGroupDetail getGroupByMaterial(String materialCode);
public List<QcMaterialGroupDetail> validationData(String materialCode);
public List<QcMaterialGroupDetail> validationGroupDetailData(String materialCode);
}

@ -0,0 +1,64 @@
package com.op.quality.service;
import java.util.List;
import com.op.quality.domain.QcCheckTaskDefect;
/**
* --Service
*
* @author Open Platform
* @date 2024-01-11
*/
public interface IQcCheckTaskDefectService {
/**
* --
*
* @param recordId --
* @return --
*/
public QcCheckTaskDefect selectQcCheckTaskDefectByRecordId(String recordId);
/**
* --
*
* @param qcCheckTaskDefect --
* @return --
*/
public List<QcCheckTaskDefect> selectQcCheckTaskDefectList(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
public int insertQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
public int updateQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect);
/**
* --
*
* @param recordIds --
* @return
*/
public int deleteQcCheckTaskDefectByRecordIds(String[] recordIds);
/**
* --
*
* @param recordId --
* @return
*/
public int deleteQcCheckTaskDefectByRecordId(String recordId);
public int deleteQcCheckTaskDefectByBelongTo(String belongTo);
public List<QcCheckTaskDefect> selectDefectByBelongTo(String belongTo);
}

@ -59,4 +59,6 @@ public interface IQcDefectTypeService {
* @return
*/
public int deleteQcDefectTypeByDefectId(String defectId);
public List<QcDefectType> getDefectTypeListByDefectType(String defectType);
}

@ -58,5 +58,17 @@ public interface IQcMaterialGroupDetailService {
*/
public int deleteQcMaterialGroupDetailById(String id);
public boolean validationData(String id);
/**
*
* @param materialCode
* @return
*/
public boolean validationData(String materialCode);
/**
*
* @param materialCode
* @return
*/
public boolean validationGroupDetailData(String materialCode);
}

@ -0,0 +1,117 @@
package com.op.quality.service.impl;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.op.quality.mapper.QcCheckTaskDefectMapper;
import com.op.quality.domain.QcCheckTaskDefect;
import com.op.quality.service.IQcCheckTaskDefectService;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* --Service
*
* @author Open Platform
* @date 2024-01-11
*/
@Service
public class QcCheckTaskDefectServiceImpl implements IQcCheckTaskDefectService {
@Autowired
private QcCheckTaskDefectMapper qcCheckTaskDefectMapper;
/**
* --
*
* @param recordId --
* @return --
*/
@Override
@DS("#header.poolName")
public QcCheckTaskDefect selectQcCheckTaskDefectByRecordId(String recordId) {
return qcCheckTaskDefectMapper.selectQcCheckTaskDefectByRecordId(recordId);
}
/**
* --
*
* @param qcCheckTaskDefect --
* @return --
*/
@Override
@DS("#header.poolName")
public List<QcCheckTaskDefect> selectQcCheckTaskDefectList(QcCheckTaskDefect qcCheckTaskDefect) {
return qcCheckTaskDefectMapper.selectQcCheckTaskDefectList(qcCheckTaskDefect);
}
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
@Override
@DS("#header.poolName")
public int insertQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect) {
qcCheckTaskDefect.setRecordId(IdUtils.fastSimpleUUID());
qcCheckTaskDefect.setCreateBy(SecurityUtils.getUsername());
qcCheckTaskDefect.setCreateTime(DateUtils.getNowDate());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskDefect.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
return qcCheckTaskDefectMapper.insertQcCheckTaskDefect(qcCheckTaskDefect);
}
/**
* --
*
* @param qcCheckTaskDefect --
* @return
*/
@Override
@DS("#header.poolName")
public int updateQcCheckTaskDefect(QcCheckTaskDefect qcCheckTaskDefect) {
qcCheckTaskDefect.setUpdateTime(DateUtils.getNowDate());
qcCheckTaskDefect.setUpdateBy(SecurityUtils.getUsername());
return qcCheckTaskDefectMapper.updateQcCheckTaskDefect(qcCheckTaskDefect);
}
/**
* --
*
* @param recordIds --
* @return
*/
@Override
public int deleteQcCheckTaskDefectByRecordIds(String[] recordIds) {
return qcCheckTaskDefectMapper.deleteQcCheckTaskDefectByRecordIds(recordIds);
}
/**
* --
*
* @param recordId --
* @return
*/
@Override
public int deleteQcCheckTaskDefectByRecordId(String recordId) {
return qcCheckTaskDefectMapper.deleteQcCheckTaskDefectByRecordId(recordId);
}
@Override
public int deleteQcCheckTaskDefectByBelongTo(String belongTo) {
return qcCheckTaskDefectMapper.deleteQcCheckTaskDefectByBelongTo(belongTo);
}
@Override
public List<QcCheckTaskDefect> selectDefectByBelongTo(String belongTo) {
return qcCheckTaskDefectMapper.selectDefectByBelongTo(belongTo);
}
}

@ -21,6 +21,7 @@ import com.op.common.core.web.domain.AjaxResult;
import com.op.common.security.utils.SecurityUtils;
import com.op.quality.domain.*;
import com.op.quality.mapper.*;
import com.op.quality.service.IQcCheckTaskDefectService;
import com.op.quality.service.IQcCheckTaskUserService;
import com.op.system.api.RemoteUserService;
import com.op.system.api.domain.SysUser;
@ -74,6 +75,9 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
@Autowired
private QcCheckTaskIncomeMapper qcCheckTaskIncomeMapper;
@Autowired
private IQcCheckTaskDefectService qcCheckTaskDefectService;
/**
*
*
@ -92,6 +96,12 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
if (StringUtils.isNotBlank(qcCheckTaskUser.getManCodes())) {
qcCheckTaskProduce.setCheckManCode(qcCheckTaskUser.getManCodes());
}
//获取不良品检验信息
List<QcCheckTaskDefect> qcCheckTaskDefectList = qcCheckTaskDefectService.selectDefectByBelongTo(recordId);
if (!CollectionUtils.isEmpty(qcCheckTaskDefectList)) {
qcCheckTaskProduce.setDefects(qcCheckTaskDefectList);
}
return qcCheckTaskProduce;
}
@ -204,7 +214,17 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
logger.info("检查人新增"+m+"成功");
}
}
/**qc_check_task**/
/** 不良品数据插入 */
List<QcCheckTaskDefect> defectList = qcCheckTaskProduce.getDefects();
if (CollectionUtils.isEmpty(defectList)) {
return 0;
} else {
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(beLongId);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
}
}
/**qc_check_task**/
qcCheckTaskProduceMapper.insertQcCheckTaskProduce(qcCheckTaskProduce);
/**qc_check_task_detail**/
@ -246,6 +266,19 @@ public class QcCheckTaskProduceServiceImpl implements IQcCheckTaskProduceService
qcCheckTaskUserList.add(qcCheckTaskUser);
}
qcCheckTaskUserService.updateQcCheckTaskUser(qcCheckTaskUserList);
/** 不良品数据修改 **/
List<QcCheckTaskDefect> defectList = qcCheckTaskProduce.getDefects();
if (CollectionUtils.isEmpty(defectList)) {
return 0;
} else {
String belongTo = qcCheckTaskProduce.getRecordId();
qcCheckTaskDefectService.deleteQcCheckTaskDefectByBelongTo(belongTo);
for (QcCheckTaskDefect defect : defectList) {
defect.setBelongTo(belongTo);
qcCheckTaskDefectService.insertQcCheckTaskDefect(defect);
}
}
return qcCheckTaskProduceMapper.updateQcCheckTaskProduce(qcCheckTaskProduce);
}

@ -166,4 +166,10 @@ public class QcDefectTypeServiceImpl implements IQcDefectTypeService {
public int deleteQcDefectTypeByDefectId(String defectId) {
return qcDefectTypeMapper.deleteQcDefectTypeByDefectId(defectId);
}
@Override
@DS("#header.poolName")
public List<QcDefectType> getDefectTypeListByDefectType(String defectType) {
return qcDefectTypeMapper.getDefectTypeListByDefectType(defectType);
}
}

@ -111,4 +111,9 @@ public class QcMaterialGroupDetailServiceImpl implements IQcMaterialGroupDetailS
public boolean validationData(String materialCode) {
return qcMaterialGroupDetailMapper.validationData(materialCode).size() > 0;
}
@Override
public boolean validationGroupDetailData(String materialCode) {
return qcMaterialGroupDetailMapper.validationGroupDetailData(materialCode).size() > 0;
}
}

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.op.quality.mapper.QcCheckTaskDefectMapper">
<resultMap type="QcCheckTaskDefect" id="QcCheckTaskDefectResult">
<result property="recordId" column="record_id" />
<result property="defectCode" column="defect_code" />
<result property="defectSubclass" column="defect_subclass" />
<result property="attr1" column="attr1" />
<result property="attr2" column="attr2" />
<result property="attr3" column="attr3" />
<result property="attr4" column="attr4" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="factoryCode" column="factory_code" />
<result property="delFlag" column="del_flag" />
<result property="belongTo" column="belong_to" />
<result property="okQuality" column="ok_quality" />
<result property="noOkQuality" column="noOk_quality" />
</resultMap>
<sql id="selectQcCheckTaskDefectVo">
select record_id, defect_code, defect_subclass, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time, factory_code, del_flag, belong_to, ok_quality, noOk_quality from qc_check_task_defect
</sql>
<select id="selectQcCheckTaskDefectList" parameterType="QcCheckTaskDefect" resultMap="QcCheckTaskDefectResult">
<include refid="selectQcCheckTaskDefectVo"/>
<where>
<if test="defectCode != null and defectCode != ''"> and defect_code = #{defectCode}</if>
<if test="defectSubclass != null and defectSubclass != ''"> and defect_subclass = #{defectSubclass}</if>
<if test="attr1 != null and attr1 != ''"> and attr1 = #{attr1}</if>
<if test="attr2 != null and attr2 != ''"> and attr2 = #{attr2}</if>
<if test="attr3 != null and attr3 != ''"> and attr3 = #{attr3}</if>
<if test="attr4 != null and attr4 != ''"> and attr4 = #{attr4}</if>
<if test="factoryCode != null and factoryCode != ''"> and factory_code = #{factoryCode}</if>
<if test="belongTo != null and belongTo != ''"> and belong_to = #{belongTo}</if>
<if test="okQuality != null "> and ok_quality = #{okQuality}</if>
<if test="noOkQuality != null "> and noOk_quality = #{noOkQuality}</if>
</where>
</select>
<select id="selectQcCheckTaskDefectByRecordId" parameterType="String" resultMap="QcCheckTaskDefectResult">
<include refid="selectQcCheckTaskDefectVo"/>
where record_id = #{recordId}
</select>
<insert id="insertQcCheckTaskDefect" parameterType="QcCheckTaskDefect">
insert into qc_check_task_defect
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="recordId != null">record_id,</if>
<if test="defectCode != null">defect_code,</if>
<if test="defectSubclass != null">defect_subclass,</if>
<if test="attr1 != null">attr1,</if>
<if test="attr2 != null">attr2,</if>
<if test="attr3 != null">attr3,</if>
<if test="attr4 != null">attr4,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="factoryCode != null and factoryCode != ''">factory_code,</if>
<if test="delFlag != null">del_flag,</if>
<if test="belongTo != null">belong_to,</if>
<if test="okQuality != null">ok_quality,</if>
<if test="noOkQuality != null">noOk_quality,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="recordId != null">#{recordId},</if>
<if test="defectCode != null">#{defectCode},</if>
<if test="defectSubclass != null">#{defectSubclass},</if>
<if test="attr1 != null">#{attr1},</if>
<if test="attr2 != null">#{attr2},</if>
<if test="attr3 != null">#{attr3},</if>
<if test="attr4 != null">#{attr4},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">#{factoryCode},</if>
<if test="delFlag != null">#{delFlag},</if>
<if test="belongTo != null">#{belongTo},</if>
<if test="okQuality != null">#{okQuality},</if>
<if test="noOkQuality != null">#{noOkQuality},</if>
</trim>
</insert>
<update id="updateQcCheckTaskDefect" parameterType="QcCheckTaskDefect">
update qc_check_task_defect
<trim prefix="SET" suffixOverrides=",">
<if test="defectCode != null">defect_code = #{defectCode},</if>
<if test="defectSubclass != null">defect_subclass = #{defectSubclass},</if>
<if test="attr1 != null">attr1 = #{attr1},</if>
<if test="attr2 != null">attr2 = #{attr2},</if>
<if test="attr3 != null">attr3 = #{attr3},</if>
<if test="attr4 != null">attr4 = #{attr4},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="belongTo != null">belong_to = #{belongTo},</if>
<if test="okQuality != null">ok_quality = #{okQuality},</if>
<if test="noOkQuality != null">noOk_quality = #{noOkQuality},</if>
</trim>
where record_id = #{recordId}
</update>
<delete id="deleteQcCheckTaskDefectByRecordId" parameterType="String">
delete from qc_check_task_defect where record_id = #{recordId}
</delete>
<delete id="deleteQcCheckTaskDefectByRecordIds" parameterType="String">
delete from qc_check_task_defect where record_id in
<foreach item="recordId" collection="array" open="(" separator="," close=")">
#{recordId}
</foreach>
</delete>
<delete id="deleteQcCheckTaskDefectByBelongTo" parameterType="String">
delete from qc_check_task_defect where belong_to = #{belongTo}
</delete>
<select id="selectDefectByBelongTo" parameterType="QcCheckTaskDefect" resultMap="QcCheckTaskDefectResult">
<include refid="selectQcCheckTaskDefectVo"/>
where belong_to = #{belongTo}
order by defect_code
</select>
</mapper>

@ -128,4 +128,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{defectId}
</foreach>
</delete>
<select id="getDefectTypeListByDefectType" parameterType="String" resultMap="QcDefectTypeResult">
select defect_code, defect_subclass
from qc_defect_type
where defect_type = #{defectType}
order by defect_code
</select>
</mapper>

@ -110,4 +110,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
from qc_check_type_project
where material_code = #{materialCode}
</select>
<select id="validationGroupDetailData" parameterType="String" resultMap="QcMaterialGroupDetailResult">
<include refid="selectQcMaterialGroupDetailVo"></include>
where material_code = #{materialCode}
</select>
</mapper>

Loading…
Cancel
Save