来料检验项目修改

master
shaoyong 1 year ago
parent 0636acc210
commit 32a79a81a0

@ -1,14 +1,18 @@
package com.op.quality.controller; package com.op.quality.controller;
import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.op.common.core.domain.R; import com.op.common.core.domain.R;
import com.op.common.core.utils.DateUtils; import com.op.common.core.utils.DateUtils;
import com.op.common.core.utils.bean.BeanUtils; import com.op.common.core.utils.bean.BeanUtils;
@ -20,6 +24,7 @@ import com.op.system.api.domain.SysUser;
import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO; import com.op.system.api.domain.quality.QcCheckTaskIncomeDTO;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.PutMapping;
@ -262,9 +267,37 @@ public class QcCheckTaskIncomeController extends BaseController {
} }
/**检测结果提交**/ /**检测结果提交**/
@PutMapping("/commitCheckResult") @PutMapping("/commitCheckResult")
@DS("#header.poolName")
public AjaxResult commitCheckResult(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) { public AjaxResult commitCheckResult(@RequestBody QcCheckTaskIncome qcCheckTaskIncome) {
qcCheckTaskIncome.setUpdateBy(SecurityUtils.getUsername()); qcCheckTaskIncome.setUpdateBy(SecurityUtils.getUsername());
qcCheckTaskIncome.setUpdateTime(DateUtils.getNowDate()); qcCheckTaskIncome.setUpdateTime(DateUtils.getNowDate());
qcCheckTaskIncome.setUpdateByName(SecurityUtils.getLoginUser().getSysUser().getNickName());
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String key = "#header.poolName";
qcCheckTaskIncome.setFactoryCode(request.getHeader(key.substring(8)).replace("ds_",""));
//获取defectList
List<QcCheckTaskDetail> details = qcCheckTaskIncome.getQcCheckTaskDetails();
if (CollectionUtils.isEmpty(qcCheckTaskIncome.getDefects())) {
List<QcCheckTaskDefect> defectList = new ArrayList<>();
Map<String, List<QcCheckTaskDetail>> groupedByDefectCode = details.stream()
.filter(detail -> detail.getDefectCode() != null) // 过滤掉defectCode为null的数据
.collect(Collectors.groupingBy(QcCheckTaskDetail::getDefectCode));
defectList = groupedByDefectCode.entrySet().stream()
.map(entry -> {
String defectCode = entry.getKey();
List<QcCheckTaskDetail> detailsWithSameCode = entry.getValue();
BigDecimal sum = detailsWithSameCode.stream()
.map(QcCheckTaskDetail::getDefectQuality)
.reduce(BigDecimal::add) // 使用summingBigDecimal()方法来求和该方法内部实际上使用reduce()来实现
.orElse(BigDecimal.ZERO);
QcCheckTaskDefect taskDefect = new QcCheckTaskDefect();
taskDefect.setDefectCode(defectCode);
taskDefect.setNoOkQuality(sum);
return taskDefect;
})
.collect(Collectors.toList());
qcCheckTaskIncome.setDefects(defectList);
}
return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome)); return toAjax(qcCheckTaskIncomeService.commitCheckResults(qcCheckTaskIncome));
} }

@ -95,6 +95,7 @@ public class QcCheckTaskDetail extends BaseEntity {
private List<String> actualValues; private List<String> actualValues;
private String typeProjectId; private String typeProjectId;
private String defectCode; private String defectCode;
private BigDecimal defectQuality;
private String checkType; private String checkType;
private String fileListStr; private String fileListStr;
private List<BaseFile> files; private List<BaseFile> files;
@ -360,6 +361,14 @@ public class QcCheckTaskDetail extends BaseEntity {
return delFlag; return delFlag;
} }
public BigDecimal getDefectQuality() {
return defectQuality;
}
public void setDefectQuality(BigDecimal defectQuality) {
this.defectQuality = defectQuality;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -168,6 +168,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if> <if test="factoryCode != null and factoryCode != ''">factory_code = #{factoryCode},</if>
<if test="delFlag != null">del_flag = #{delFlag},</if> <if test="delFlag != null">del_flag = #{delFlag},</if>
<if test="defectCode != null">defect_code = #{defectCode},</if> <if test="defectCode != null">defect_code = #{defectCode},</if>
<if test="defectQuality != null">defect_quality = #{defectQuality},</if>
</trim> </trim>
where record_id = #{recordId} where record_id = #{recordId}
</update> </update>

@ -78,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="checkType != null "> and qct.check_type = #{checkType} </if> <if test="checkType != null "> and qct.check_type = #{checkType} </if>
<if test="typeCode != null "> and qct.type_code = #{typeCode} </if> <if test="typeCode != null "> and qct.type_code = #{typeCode} </if>
</where> </where>
order by qct.create_time DESC
</select> </select>
<select id="selectQcCheckTaskIncomeByRecordId" parameterType="String" resultMap="QcCheckTaskIncomeResult"> <select id="selectQcCheckTaskIncomeByRecordId" parameterType="String" resultMap="QcCheckTaskIncomeResult">
@ -132,6 +133,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
td.update_by updateBy, td.update_by updateBy,
td.update_time updateTime, td.update_time updateTime,
td.belong_to belongTo, td.belong_to belongTo,
td.defect_code defectCode,
td.defect_quality defectQuality,
qctp.upper_diff upperDiff, qctp.upper_diff upperDiff,
qctp.down_diff downDiff, qctp.down_diff downDiff,
qctp.sample qctp.sample
@ -295,7 +298,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
status = #{item.status}, status = #{item.status},
update_by = #{item.updateBy}, update_by = #{item.updateBy},
update_time = #{item.updateTime}, update_time = #{item.updateTime},
remark = #{item.remark} remark = #{item.remark},
defect_code = #{item.defectCode},
defect_quality = #{item.defectQuality}
where where
record_id = #{item.recordId} record_id = #{item.recordId}
</foreach> </foreach>

Loading…
Cancel
Save