审批流程添加待重新审阅

This commit is contained in:
cwchen 2024-07-30 19:48:10 +08:00
parent 8a001ba290
commit 21ddabfc6b
7 changed files with 80 additions and 42 deletions

View File

@ -65,14 +65,15 @@ public interface ExamineMapper {
* 更新试验信息表审核状态
*
* @param vo
* @param experId
* @param vo
* @param status
* @param auditStatus
* @param isEr
* @return void
* @author cwchen
* @date 2024/7/25 9:16
*/
void updateExperStatus(@Param("params") AuditHistoryVo vo, @Param("status") Integer status, @Param("auditStatus") Integer auditStatus);
void updateExperStatus(@Param("params") AuditHistoryVo vo, @Param("status") Integer status, @Param("auditStatus") Integer auditStatus,@Param("isEr")String isEr);
/**
* 查询试验项是否都是通过
@ -86,6 +87,7 @@ public interface ExamineMapper {
/**
* 更新收样信息审核的状态
*
* @param vo
* @param audtiStatus
* @param processStatus
@ -93,5 +95,15 @@ public interface ExamineMapper {
* @author cwchen
* @date 2024/7/25 9:41
*/
void updateSampleStatus(@Param("params") AuditHistoryVo vo, @Param("audtiStatus") Integer audtiStatus, @Param("processStatus") Integer processStatus);
void updateSampleStatus(@Param("params") AuditHistoryVo vo, @Param("audtiStatus") Integer audtiStatus, @Param("processStatus") Integer processStatus,@Param("isEr")String isEr);
/**
* 获取设备试验项/收样的是否二次审阅的值
* @param type
* @param id
* @return String
* @author cwchen
* @date 2024/7/30 18:50
*/
String getExperIsErValue(@Param("type") int type,@Param("id") Long id);
}

View File

@ -98,39 +98,45 @@ public class ExamineServiceImpl implements ExamineService {
for (Long experId : vo.getExperIds()) {
vo.setExperId(experId);
mapper.checkData(vo);
// auditType 审核类型 1 审阅 2 审核 3 审批 auditStatus 审核结果 2 不通过 1通过
// auditType 审核类型 1 审阅 2 审核 3 审批 auditStatus 审核结果 2 不通过 1通过 isEr是否二次审核
Integer status = 0, auditStatus = 0;
String isEr = null;
if (Objects.equals(vo.getAuditStatus(), Constants.PASS)) {
// 审查通过
Integer[] valArr = handleData(vo, 1);
status = valArr[0];
auditStatus = valArr[1];
isEr = mapper.getExperIsErValue(1,experId);
// 更新试验信息表审核状态
} else if (Objects.equals(vo.getAuditStatus(), Constants.NOT_PASS)) {
// 审查不通过
Integer[] valArr = handleData(vo, 2);
status = valArr[0];
auditStatus = valArr[1];
isEr = "1";
}
mapper.updateExperStatus(vo, status, auditStatus);
mapper.updateExperStatus(vo, status, auditStatus,isEr);
}
// 查询试验项是否都是通过并更新收样信息审核的状态
// 查询试验项是否都是通过并更新收样信息审核的状态 isEr是否二次审核
List<Integer> experIsPassList = mapper.getExperIsPass(vo);
Integer audtiStatus = 0, processStatus = 0;
String isEr = null;
if (experIsPassList.get(Constants.NOT_PASS_INDEX) > 0) {
// 存在未通过项
Integer[] valArr = handleData(vo, 3);
processStatus = valArr[0];
audtiStatus = valArr[1];
isEr = "1";
} else if (Objects.equals(experIsPassList.get(Constants.ALL_EXPER_INDEX), experIsPassList.get(Constants.PASS_INDEX))) {
// 全部通过
Integer[] valArr = handleData(vo, 4);
processStatus = valArr[0];
audtiStatus = valArr[1];
isEr = mapper.getExperIsErValue(2,vo.getSampleId());
}
// 审核状态流程状态不为0时修改收样信息审核状态
if(!Objects.equals(audtiStatus, Constants.ALL_EXPER_INDEX) || !Objects.equals(processStatus, Constants.ALL_EXPER_INDEX)){
mapper.updateSampleStatus(vo, audtiStatus, processStatus);
mapper.updateSampleStatus(vo, audtiStatus, processStatus,isEr);
}
} catch (Exception e) {
log.error(e.toString(), e);

View File

@ -9,12 +9,12 @@
</insert>
<!--更新试验信息表审核状态-->
<update id="updateExperStatus">
UPDATE tb_exper SET status = #{status},audit_status = #{auditStatus},audit_user_name = #{params.auditUserName},audit_time = #{params.auditTime},audit_remakr = #{params.auditRemark}
UPDATE tb_exper SET status = #{status},audit_status = #{auditStatus},audit_user_name = #{params.auditUserName},audit_time = #{params.auditTime},audit_remakr = #{params.auditRemark},is_er = #{isEr}
WHERE id = #{params.experId}
</update>
<!--更新收样信息审核的状态-->
<update id="updateSampleStatus">
UPDATE tb_sample SET audti_status = #{audtiStatus},process_status = #{processStatus} WHERE id = #{params.sampleId}
UPDATE tb_sample SET audti_status = #{audtiStatus},process_status = #{processStatus},is_er = #{isEr},remarks = #{params.auditRemark} WHERE id = #{params.sampleId}
</update>
<!--试验审查列表-->
@ -29,9 +29,10 @@
DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
tt.team_name AS teamName,
ts.process_status AS status,
CASE WHEN process_status = 1 AND audti_status = 0 THEN '待审阅'
WHEN process_status = 2 AND audti_status = 0 THEN '待审核'
WHEN process_status = 3 AND audti_status = 0 THEN '待审批'
CASE WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er IS NULL THEN '待审阅'
WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er = '1' THEN '待重新审阅'
WHEN ts.process_status = 2 AND ts.audti_status = 0 THEN '待审核'
WHEN ts.process_status = 3 AND ts.audti_status = 0 THEN '待审批'
END AS audtiStatus,
ts.remarks
FROM tb_sample ts
@ -91,7 +92,7 @@
<if test="roleCode=='administrators'">
AND process_status IN (1,2,3) AND audti_status = 0
</if>
ORDER BY FIELD(audtiStatus, '待审阅','待审核','待审批') DESC,ts.sample_date DESC
ORDER BY FIELD(audtiStatus, '待审阅','待重新审阅','待审核','待审批') DESC,ts.sample_date DESC
</select>
<!--审查详情列表-->
<select id="getDetailList" resultType="com.bonus.aqgqj.basis.entity.vo.ExperimentalDetailVo">
@ -105,7 +106,8 @@
ANY_VALUE(su2.user_name) AS experimenter,
ANY_VALUE(DATE_FORMAT(te.update_time, '%Y-%m-%d')) AS testTime,
CASE WHEN ANY_VALUE(te.status) = 0 AND ANY_VALUE(te.audit_status) = 0 THEN '待提交'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 THEN '待审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) IS NULL THEN '待审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) = '1' THEN '待重新审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 2 THEN '审阅不通过'
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 0 THEN '待审核'
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 3 THEN '审核不通过'
@ -131,7 +133,7 @@
</if>
GROUP BY tsd.dev_type_code
) a
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待提交','待审阅','待审核','待审批','试验完成') ASC,a.testTime DESC
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待提交','待审阅','待重新审阅','待审核','待审批','试验完成') ASC,a.testTime DESC
</select>
<!--查询试验设备数量-->
<select id="getExperDevItemsNum" resultType="java.util.Map">
@ -168,4 +170,13 @@
AND status = 3 AND audit_status = 4
</if>
</select>
<!--获取设备试验项/收样的是否二次审阅的值-->
<select id="getExperIsErValue" resultType="java.lang.String">
<if test="type == 1">
SELECT is_er FROM tb_exper WHERE id = #{id}
</if>
<if test="type == 2">
SELECT is_er FROM tb_sample WHERE id = #{id}
</if>
</select>
</mapper>

View File

@ -187,7 +187,7 @@
</update>
<!--更新收样表中的状态为待审阅-->
<update id="updateSampleStatus">
UPDATE tb_sample SET audti_status = 0,process_status = 1
UPDATE tb_sample SET audti_status = 0,process_status = 1,remarks = null
WHERE id IN
<foreach collection="list" item="item" open="(" close=")" separator=",">
#{item}
@ -260,15 +260,16 @@
su2.user_name AS dispatchUserName,
DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
tt.team_name AS teamName,
CASE WHEN process_status IS NULL THEN '待试验'
WHEN process_status = 0 AND audti_status = 0 THEN '待提交'
WHEN process_status = 1 AND audti_status = 0 THEN '待审阅'
WHEN process_status = 1 AND audti_status = 2 THEN '审阅不通过'
WHEN process_status = 2 AND audti_status = 0 THEN '待审核'
WHEN process_status = 2 AND audti_status = 2 THEN '审核不通过'
WHEN process_status = 3 AND audti_status = 0 THEN '待审批'
WHEN process_status = 3 AND audti_status = 2 THEN '审批不通过'
WHEN process_status = 4 AND audti_status = 1 THEN '试验完成'
CASE WHEN ts.process_status IS NULL THEN '待试验'
WHEN ts.process_status = 0 AND ts.audti_status = 0 THEN '待提交'
WHEN ts.process_status = 1 AND ts.audti_status = 0 THEN '待审阅'
WHEN ts.process_status = 1 AND ts.audti_status = 0 THEN '待重新审阅'
WHEN ts.process_status = 1 AND ts.audti_status = 2 THEN '审阅不通过'
WHEN ts.process_status = 2 AND ts.audti_status = 0 THEN '待审核'
WHEN ts.process_status = 2 AND ts.audti_status = 2 THEN '审核不通过'
WHEN ts.process_status = 3 AND ts.audti_status = 0 THEN '待审批'
WHEN ts.process_status = 3 AND ts.audti_status = 2 THEN '审批不通过'
WHEN ts.process_status = 4 AND ts.audti_status = 1 THEN '试验完成'
ELSE '待试验'
END AS audtiStatus,
ts.remarks
@ -339,7 +340,8 @@
ANY_VALUE(su2.user_name) AS experimenter,
ANY_VALUE(DATE_FORMAT(te.update_time, '%Y-%m-%d')) AS testTime,
CASE WHEN ANY_VALUE(te.status) = 0 AND ANY_VALUE(te.audit_status) = 0 THEN '待提交'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 THEN '待审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) IS NULL THEN '待审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 0 AND ANY_VALUE(te.is_er) = '1' THEN '待重新审阅'
WHEN ANY_VALUE(te.status) = 1 AND ANY_VALUE(te.audit_status) = 2 THEN '审阅不通过'
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 0 THEN '待审核'
WHEN ANY_VALUE(te.status) = 2 AND ANY_VALUE(te.audit_status) = 3 THEN '审核不通过'
@ -357,7 +359,7 @@
</if>
GROUP BY tsd.dev_type_code
)a
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待提交','待审阅','待审核','待审批','试验完成') ,a.testTime DESC
ORDER BY FIELD(a.status, '审阅不通过','审核不通过','审批不通过','待提交','待审阅','待重新审阅','待审核','待审批','试验完成') ,a.testTime DESC
</select>
<!--查询试验模板数据、基础数据-->
<select id="getTestBasicInfo" resultType="com.bonus.aqgqj.basis.entity.vo.TestVo">

View File

@ -15,7 +15,8 @@
DATE_FORMAT(ts.sample_date, '%Y-%m-%d') AS sampleDate,
tt.team_name AS teamName,
ts.process_status AS status,
CASE WHEN ts.process_status = 1 AND ts.audti_status = 0 THEN '待审阅'
CASE WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er IS NULL THEN '待审阅'
WHEN ts.process_status = 1 AND ts.audti_status = 0 AND ts.is_er = '1' THEN '待重新审阅'
WHEN ts.process_status = 1 AND ts.audti_status = 2 THEN '审阅不通过'
WHEN ts.process_status = 2 AND ts.audti_status = 0 THEN '待审核'
WHEN ts.process_status = 2 AND ts.audti_status = 2 THEN '审核不通过'
@ -109,7 +110,7 @@
(ts.process_status = 4 AND audti_status = 1)
)
</if>
ORDER BY FIELD(audtiStatus, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待审核','待审批','试验结束') DESC,ts.sample_date DESC
ORDER BY FIELD(audtiStatus, '审阅不通过','审核不通过','审批不通过','待试验','待提交','待审阅','待重新审阅','待审核','待审批','试验结束') DESC,ts.sample_date DESC
</select>
<!--根据收样ID获取试验ID-->
<select id="getExperIds" resultType="java.util.Map">

View File

@ -96,26 +96,29 @@ function initTable(dataList, limit, page) {
},
{field: "devTypeName", title: "设备类型", unresize: true, align: "center"},
{field: "sampleNum", title: "送样总数", unresize: true, align: "center"},
{field: "sampleQuantity", title: "样品总数", unresize: true, align: "center",
{
field: "sampleQuantity", title: "样品总数", unresize: true, align: "center",
templet: function (d) {
const sampleList = d.sampleList;
if (sampleList && sampleList.length > 0) {
let flag = false,style = '';
let flag = false, style = '';
$.each(sampleList, function (index, item) {
if (item.testResult === '不合格') {
flag = true;
return false;
}
})
style='color: '+(flag ? "#F39268" : '#2A6EDF')+'';
return "<span class='layui-show-details' onmouseover='getMouseover("+JSON.stringify(sampleList)+")' style='"+style+"'; cursor: pointer'>" + sampleList.length + "</span>";
style = 'color: ' + (flag ? "#F39268" : '#2A6EDF') + '';
return "<span class='layui-show-details' onmouseover='getMouseover(" + JSON.stringify(sampleList) + ")' style='" + style + "'; cursor: pointer'>" + sampleList.length + "</span>";
} else {
return 0;
}
}},
}
},
{field: "experimenter", title: "试验人员", unresize: true, align: "center"},
{field: "testTime", title: "试验时间", unresize: true, align: "center"},
{field: "status", title: "状态", unresize: true, align: "center", templet: function (d) {
{
field: "status", title: "状态", unresize: true, align: "center", templet: function (d) {
return setAuditStatus(d.status);
}
},
@ -132,6 +135,7 @@ function initTable(dataList, limit, page) {
title: "操作", unresize: true, width: 180, align: "center",
templet: function (d) {
let html = '';
d.status = d.status === '待重新审阅' ? '待审阅' : d.status;
if (checkNameArr.indexOf(d.status) > -1 && checkNameArr.indexOf(d.status) + 1 === parseInt(statusParam)) {
html += "<a title='通过' onclick=\"passData('" + d.experId + "','" + d.sampleId + "','" + d.status + "',1)\">通过</a>";
html += "<a style='margin: 0 0 0 10px' title='不通过' onclick=\"passData('" + d.experId + "','" + d.sampleId + "','" + d.status + "',2)\">不通过</a>";
@ -148,6 +152,7 @@ function initTable(dataList, limit, page) {
count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto");
temp_table_list = res.data;
temp_table_list.forEach(function (o, i) {
o.status = o.status === '待重新审阅' ? '待审阅' : o.status;
if (!isCheck(o.status) || !(checkNameArr.indexOf(o.status) + 1 === parseInt(statusParam))) {
let index = o['LAY_INDEX'];
$('.layui-table tr[data-index=' + index + '] input[type="checkbox"]').attr('disabled', 'disabled');
@ -241,7 +246,7 @@ function getMouseover(data) {
html += '<tr>' +
'<td>' + (i + 1) + '</td>' +
'<td title="' + data[i].devCode + '" style="cursor: pointer;" >' + data[i].devCode + '</td>' +
'<td title="' + data[i].testResult + '" style="cursor: pointer;color:'+(data[i].testResult.indexOf('不合格')>-1 ? '#F39268' : '#2A6EDF')+'">' + data[i].testResult + '</td>' +
'<td title="' + data[i].testResult + '" style="cursor: pointer;color:' + (data[i].testResult.indexOf('不合格') > -1 ? '#F39268' : '#2A6EDF') + '">' + data[i].testResult + '</td>' +
'</tr>';
}
} else {
@ -309,7 +314,7 @@ function query() {
}
function reloadData() {
temp_all_list.splice(0,temp_all_list.length)
temp_all_list.splice(0, temp_all_list.length)
pages(pageNum, limitSize);
}
@ -327,7 +332,7 @@ function viewData(experId, devTypeCode) {
function passData(experId, sampleId, status, type) {
if (type === 1) {
// 通过
layer.confirm('确认通过?', {icon: 7,move:false}, function (index) {
layer.confirm('确认通过?', {icon: 7, move: false}, function (index) {
saveData([experId], sampleId);
})
} else {
@ -358,7 +363,7 @@ function batchAudit(type) {
experIdArr.push(item.experId)
})
if (type === 1) { // 批量通过
layer.confirm('确认批量通过?', {icon: 7,move:false}, function (index) {
layer.confirm('确认批量通过?', {icon: 7, move: false}, function (index) {
saveData(experIdArr, sampleId);
})
} else if (type === 2) { // 批量不通过

View File

@ -92,7 +92,8 @@ function formatSeconds(value) {
/*设置审核状态字体颜色*/
function setAuditStatus(value){
if(value === '待试验' || value === '待提交' || value === '待审核' || value === '待审批' || value === '待审阅'){
console.log(value)
if(value === '待试验' || value === '待提交' || value === '待审核' || value === '待审批' || value === '待审阅' || value === '待修改' || value === '待重新审阅'){
return '<span style="color: #5778f3">'+value+'</span>';
}else if(value === '审阅不通过' || value === '审核不通过' || value === '审批不通过'){
return '<span style="color: #f1895b ">'+value+'</span>';