This commit is contained in:
hayu 2026-01-15 13:50:00 +08:00
parent e86f1aa88d
commit aaed24ffcb
4 changed files with 46 additions and 7 deletions

View File

@ -249,4 +249,11 @@ public interface LossAssessmentMapper {
* @return * @return
*/ */
int delCost(RepairApplyDetails repairApplyDetails); int delCost(RepairApplyDetails repairApplyDetails);
/**
* 查询repair_task_details
* @param repairTaskDetails
* @return
*/
RepairTaskDetails selectRepairTaskDetailsById(RepairTaskDetails repairTaskDetails);
} }

View File

@ -559,7 +559,11 @@ public class LossAssessmentServiceImpl implements LossAssessmentService {
//3重新生成维修数据 //3重新生成维修数据
for (RepairTaskDetails repairTaskDetails : detailsList){ for (RepairTaskDetails repairTaskDetails : detailsList){
repairTaskDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName()); repairTaskDetails.setCreateBy(SecurityUtils.getLoginUser().getSysUser().getNickName());
mapper.insertRad(repairTaskDetails); //查询数据是否已经插入
RepairTaskDetails repairTaskDetails1 = mapper.selectRepairTaskDetailsById(repairTaskDetails);
if (repairTaskDetails1==null){
mapper.insertRad(repairTaskDetails);
}
} }
return AjaxResult.success("提交完成"); return AjaxResult.success("提交完成");
} else { } else {

View File

@ -537,6 +537,22 @@
WHERE WHERE
id = #{id} id = #{id}
</select> </select>
<select id="selectRepairTaskDetailsById" resultType="com.bonus.material.repair.domain.RepairTaskDetails">
SELECT
id,
task_id as taskId
FROM
repair_apply_details
WHERE
task_id=#{taskId}
and type_id=#{typeId}
and repair_num = #{repairNum}
<if test="maId != null">
and ma_id=#{maId}
</if>
and is_ds=0
LIMIT 1
</select>
</mapper> </mapper>

View File

@ -445,8 +445,8 @@
( SELECT COALESCE(SUM(rc.costs), 0) FROM repair_cost rc WHERE rc.repair_id = rad.id ) AS totalCost, ( SELECT COALESCE(SUM(rc.costs), 0) FROM repair_cost rc WHERE rc.repair_id = rad.id ) AS totalCost,
rad2.`status` as dataStatus, rad2.`status` as dataStatus,
mt.unit_value AS unitValue, mt.unit_value AS unitValue,
GROUP_CONCAT(rar.part_name) as partName, rar.part_name as partName,
GROUP_CONCAT(mpt.pa_name) as partInfo rar.part_info as partInfo
from from
repair_apply_details rad repair_apply_details rad
left join ma_type mt on rad.type_id = mt.type_id left join ma_type mt on rad.type_id = mt.type_id
@ -457,14 +457,26 @@
left join ma_type mt3 ON mt2.parent_id = mt3.type_id and mt3.del_flag = '0' left join ma_type mt3 ON mt2.parent_id = mt3.type_id and mt3.del_flag = '0'
left join ma_type mt4 ON mt3.parent_id = mt4.type_id and mt4.del_flag = '0' left join ma_type mt4 ON mt3.parent_id = mt4.type_id and mt4.del_flag = '0'
left join repair_apply_details rad2 on rad2.task_id=rad.task_id and rad2.ma_id <=> rad.ma_id and rad2.type_id=rad.type_id and rad2.is_ds='1' left join repair_apply_details rad2 on rad2.task_id=rad.task_id and rad2.ma_id <=> rad.ma_id and rad2.type_id=rad.type_id and rad2.is_ds='1'
LEFT JOIN repair_apply_record rar on rar.task_id=rad.task_id and rar.ma_id <=> rad.ma_id and rar.type_id=rad.type_id and rar.is_ds='0' LEFT JOIN (
LEFT JOIN ma_part_type mpt on mpt.pa_id=rar.part_id SELECT
task_id,
ma_id,
type_id,
GROUP_CONCAT(DISTINCT part_name) AS part_name,
GROUP_CONCAT(DISTINCT mpt.pa_name) AS part_info
FROM repair_apply_record rar
LEFT JOIN ma_part_type mpt ON mpt.pa_id = rar.part_id
WHERE rar.is_ds = '0'
GROUP BY task_id, ma_id, type_id
) rar ON rar.task_id = rad.task_id
AND rar.ma_id <=> rad.ma_id
AND rar.type_id = rad.type_id
]]> ]]>
<if test="userId != null"> <if test="userId != null">
JOIN ma_type_repair mtr JOIN ma_type_repair mtr
ON mtr.type_id = rad.type_id ON mtr.type_id = rad.type_id
AND mtr.user_id = #{userId} AND mtr.user_id = #{userId}
</if> </if>
where where
rad.task_id = #{taskId} rad.task_id = #{taskId}
and rad.is_ds=0 and rad.is_ds=0