feat(dms): 增加维修知识库关联与验证方法字段

- 在 DmsBillsFaultInstance 实体中新增 knowledgeRepairId 和 verifyMethod 字段
-为新字段添加 getter 和 setter 方法- 在 DmsBillsFaultInstanceController 中增加查询维修知识库列表接口
- 修改 MyBatis 映射文件以支持主键手动赋值及字段映射调整- 更新服务实现类逻辑,增强对操作记录及其附件的处理- 优化附件上传路径处理逻辑并确保兼容性- 提供根据目标ID删除文件的新方法并更新相关SQL映射- 调整移动端控制器参数接收方式使其更灵活- 统一继承基类为 DmsBaseEntity 并清理无用导入包
master
zangch@mesnac.com 2 months ago
parent 3398c40082
commit b7fb47afe1

@ -7,7 +7,9 @@ import com.aucma.common.utils.poi.ExcelUtil;
import com.aucma.dms.domain.DmsBillsFaultInstance;
import com.aucma.dms.domain.DmsFaultCompentsParts;
import com.aucma.dms.domain.DmsFaultInstanceActivity;
import com.aucma.dms.domain.DmsKnowledgeRepair;
import com.aucma.dms.service.IDmsBillsFaultInstanceService;
import com.aucma.dms.service.IDmsKnowledgeRepairService;
import com.aucma.dms.utils.TemplateExcelUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
@ -34,6 +36,19 @@ public class DmsBillsFaultInstanceController extends BaseController
{
@Autowired
private IDmsBillsFaultInstanceService dmsBillsFaultInstanceService;
@Autowired
private IDmsKnowledgeRepairService dmsKnowledgeRepairService;
/**
*
*/
@GetMapping("/knowledge/list")
public AjaxResult listKnowledge(DmsKnowledgeRepair dmsKnowledgeRepair)
{
List<DmsKnowledgeRepair> list = dmsKnowledgeRepairService.selectDmsKnowledgeRepairList(dmsKnowledgeRepair);
return success(list);
}
/**
*

@ -103,4 +103,15 @@ public class DmsKnowledgeRepairController extends BaseController
{
return toAjax(dmsKnowledgeRepairService.deleteDmsKnowledgeRepairByKnowledgeRepairIds(knowledgeRepairIds));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('dms:knowledgeRepair:list')" )
@GetMapping("/getKnowledgeRepairList")
public AjaxResult getKnowledgeRepairList(DmsKnowledgeRepair dmsKnowledgeRepair)
{
List<DmsKnowledgeRepair> list = dmsKnowledgeRepairService.selectDmsKnowledgeRepairList(dmsKnowledgeRepair);
return success(list);
}
}

@ -212,7 +212,7 @@ public class DmsMobileController extends BaseController {
// @PreAuthorize("@ss.hasPermi('qms:checkresultdetail:add')" )
////@Log(title = "故障报修工单", businessType = BusinessType.COMPLETE)
@PostMapping("/completeRepair")
public AjaxResult completeRepair(DmsFaultInstanceActivity dmsFaultInstanceActivity,@RequestParam(value = "files") List<MultipartFile> files) throws JsonProcessingException {
public AjaxResult completeRepair(DmsFaultInstanceActivity dmsFaultInstanceActivity,@RequestParam(value = "files", required = false) List<MultipartFile> files) throws JsonProcessingException {
dmsFaultInstanceActivity.setRepairConfirm(2);
dmsFaultInstanceActivity.setConfirmTime(new Date());
String parts1 = dmsFaultInstanceActivity.getParts1();

@ -104,6 +104,12 @@ public class DmsBillsFaultInstance extends DmsBaseEntity
private Long outsrcId;
private String processHandleResolution;
/** 关联维修知识库ID */
private Long knowledgeRepairId;
/** 验证方法 */
private String verifyMethod;
private List<String> fileUrls;
@ -380,6 +386,22 @@ public class DmsBillsFaultInstance extends DmsBaseEntity
this.dmsInstanceFiles = dmsInstanceFiles;
}
public Long getKnowledgeRepairId() {
return knowledgeRepairId;
}
public void setKnowledgeRepairId(Long knowledgeRepairId) {
this.knowledgeRepairId = knowledgeRepairId;
}
public String getVerifyMethod() {
return verifyMethod;
}
public void setVerifyMethod(String verifyMethod) {
this.verifyMethod = verifyMethod;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

@ -1,7 +1,7 @@
package com.aucma.dms.domain.vo;
import com.aucma.common.core.domain.BaseEntity;
import com.aucma.dms.domain.DmsBaseEntity;
/**
* Vo ModelBoardVo
@ -9,7 +9,7 @@ import com.aucma.common.core.domain.BaseEntity;
* @author Yinq
* @date 2024-08-21
*/
public class ModelBoardVo extends BaseEntity
public class ModelBoardVo extends DmsBaseEntity
{
private static final long serialVersionUID = 1L;

@ -77,6 +77,13 @@ public interface DmsInstanceFileMapper
* */
int deleteDmsInstanceFileByUpdate(Long targetId);
/**
* IDtarget_type
* @param targetId ID
* @return
*/
int deleteDmsInstanceFileByTargetId(Long targetId);
/**
* ;
*

@ -1,21 +1,5 @@
package com.aucma.dms.service.impl;
//import com.hw.common.core.constant.DmsConstants;
//import com.hw.common.core.constant.WfConstants;
//import com.hw.common.core.exception.ServiceException;
//import com.hw.common.core.utils.DateUtils;
//import com.hw.common.core.utils.uuid.Seq;
//import com.hw.common.security.utils.SecurityUtils;
//import com.aucma.dms.domain.DmsBillsFaultInstance;
//import com.aucma.dms.domain.DmsFaultCompentsParts;
//import com.aucma.dms.domain.DmsFaultInstanceActivity;
//import com.aucma.dms.domain.DmsInstanceFile;
//import com.aucma.dms.domain.vo.DmsBillsFaultInstanceScanVo;
//import com.aucma.dms.mapper.DmsBillsFaultInstanceMapper;
//import com.aucma.dms.mapper.DmsFaultInstanceActivityMapper;
//import com.aucma.dms.mapper.DmsInstanceFileMapper;
//import com.aucma.dms.service.IDmsBillsFaultInstanceService;
import com.aucma.common.constant.DmsConstants;
import com.aucma.common.exception.ServiceException;
import com.aucma.common.utils.DateUtils;
@ -68,39 +52,67 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
*/
@Override
public DmsBillsFaultInstance selectDmsBillsFaultInstanceByRepairInstanceId(Long repairInstanceId) {
// DmsFaultInstanceActivity dmsFaultInstanceActivity = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityByRepairIdMin(repairInstanceId);
// DmsBillsFaultInstance dmsBillsFaultInstance = dmsBillsFaultInstanceMapper.selectDmsBillsFaultInstanceByRepairInstanceId(repairInstanceId);
DmsBillsFaultInstance dmsBillsFaultInstance = dmsBillsFaultInstanceMapper.selectFaultInstanceJoinFirstAndDeviceById(repairInstanceId);
DmsInstanceFile queryInstanceFile = new DmsInstanceFile();
queryInstanceFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY);
queryInstanceFile.setTargetId(dmsBillsFaultInstance.getInstanceActivityId());
List<DmsInstanceFile> dmsInstanceFiles = dmsInstanceFileMapper.selectDmsInstanceFileList(queryInstanceFile);
// 使用包含完整操作记录列表的查询方法
DmsBillsFaultInstance dmsBillsFaultInstance = dmsBillsFaultInstanceMapper.selectFaultInstanceJoinActivityByRepairInstanceId(repairInstanceId);
// 获取第一步操作记录的附件
if (dmsBillsFaultInstance.getInstanceActivityId() != null) {
DmsInstanceFile queryInstanceFile = new DmsInstanceFile();
queryInstanceFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY);
queryInstanceFile.setTargetId(dmsBillsFaultInstance.getInstanceActivityId());
List<DmsInstanceFile> dmsInstanceFiles = dmsInstanceFileMapper.selectDmsInstanceFileList(queryInstanceFile);
for (DmsInstanceFile dmsInstanceFile : dmsInstanceFiles){
String filePath = dmsInstanceFile.getFilePath();
log.info("filePath1:"+filePath);
if(!filePath.contains("7309")){
if(filePath.contains("https")){
filePath.replaceFirst("https","http");
for (DmsInstanceFile dmsInstanceFile : dmsInstanceFiles){
String filePath = dmsInstanceFile.getFilePath();
log.info("filePath1:"+filePath);
if(!filePath.contains("7309")){
if(filePath.contains("https")){
filePath.replaceFirst("https","http");
}
int index= filePath.indexOf("/statics");
filePath = "http://172.16.12.100:7309"+filePath.substring(index);
log.info("filePath2:"+filePath);
dmsInstanceFile.setUrl(filePath);
dmsInstanceFile.setFilePath(filePath);
}else{
dmsInstanceFile.setUrl(dmsInstanceFile.getFilePath());
}
int index= filePath.indexOf("/statics");
filePath = "http://172.16.12.100:7309"+filePath.substring(index);
log.info("filePath2:"+filePath);
dmsInstanceFile.setUrl(filePath);
dmsInstanceFile.setFilePath(filePath);
}else{
dmsInstanceFile.setUrl(dmsInstanceFile.getFilePath());
}
dmsBillsFaultInstance.setDmsInstanceFiles(dmsInstanceFiles);
}
dmsBillsFaultInstance.setDmsInstanceFiles(dmsInstanceFiles);
// 为每个操作记录加载附件
List<DmsFaultInstanceActivity> activityList = dmsBillsFaultInstance.getDmsFaultInstanceActivityList();
if (!CollectionUtils.isEmpty(activityList)) {
for (DmsFaultInstanceActivity activity : activityList) {
DmsInstanceFile queryFile = new DmsInstanceFile();
queryFile.setTargetType(DmsConstants.DMS_INSTANCE_FILE_TARGET_TYPE_FAULT_INSTANCE_ACTIVITY);
queryFile.setTargetId(activity.getInstanceActivityId());
List<DmsInstanceFile> activityFiles = dmsInstanceFileMapper.selectDmsInstanceFileList(queryFile);
// 处理文件路径
for (DmsInstanceFile file : activityFiles) {
String filePath = file.getFilePath();
if(!filePath.contains("7309")){
if(filePath.contains("https")){
filePath = filePath.replaceFirst("https","http");
}
int index= filePath.indexOf("/statics");
if (index > -1) {
filePath = "http://172.16.12.100:7309"+filePath.substring(index);
}
file.setUrl(filePath);
file.setFilePath(filePath);
}else{
file.setUrl(file.getFilePath());
}
}
// dmsBillsFaultInstance.setFaultType(dmsFaultInstanceActivity.getFaultType());
// dmsBillsFaultInstance.setFaultDescription(dmsFaultInstanceActivity.getFaultDescription());
// dmsBillsFaultInstance.setDesignOperations(dmsFaultInstanceActivity.getDesignOperations());
// dmsBillsFaultInstance.setDeviceId(dmsFaultInstanceActivity.getDeviceId());
// dmsBillsFaultInstance.setRepairType(dmsFaultInstanceActivity.getRepairType());
// // 设置附件数量和文件列表
// activity.setFileCount(activityFiles.size());
// activity.setDmsInstanceFiles(activityFiles);
}
}
return dmsBillsFaultInstance;
}
@ -126,16 +138,17 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
@Transactional
@Override
public int insertDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance) {
Date curretnDate = new Date();
Date currentDate = new Date();
String userName = SecurityUtils.getLoginUser()==null ? SecurityUtils.getUsername() :SecurityUtils.getLoginUser().getUser().getNickName() ;
// dmsBillsFaultInstance.setWfProcessId(WfConstants.WF_BILLS_FAULT_INSTANCE_PROCESS_ID);
dmsBillsFaultInstance.setApplyUser(userName);
dmsBillsFaultInstance.setApplyTime(curretnDate);
dmsBillsFaultInstance.setCreateTime(curretnDate);
dmsBillsFaultInstance.setApplyTime(currentDate);
dmsBillsFaultInstance.setCreateTime(currentDate);
dmsBillsFaultInstance.setCreateBy(SecurityUtils.getUserId());
dmsBillsFaultInstance.setBillsFaultCode(Seq.getId(Seq.dmsBillsFaultInstanceSeqType, Seq.dmsBillsFaultInstanceSeqCode));
dmsBillsFaultInstance.setBillsStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_STATUS_TO_REPAIR);
dmsBillsFaultInstance.setInstanceType(DmsConstants.DMS_BILLS_FAULT_INSTANCE_TYPE_MAUAL);
dmsBillsFaultInstance.setIsFlag("1");
int rows = dmsBillsFaultInstanceMapper.insertDmsBillsFaultInstance(dmsBillsFaultInstance);
@ -158,7 +171,30 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
//存储图片
List<String> fileUrls = dmsBillsFaultInstance.getFileUrls();
batchInsertInstanceFiles(fileUrls, dmsFaultInstanceActivity.getInstanceActivityId());
if (fileUrls != null && !fileUrls.isEmpty()) {
batchInsertInstanceFiles(fileUrls, dmsFaultInstanceActivity.getInstanceActivityId());
}
// 保存前端传来的操作记录列表(如果有)
List<DmsFaultInstanceActivity> activityList = dmsBillsFaultInstance.getDmsFaultInstanceActivityList();
if (!CollectionUtils.isEmpty(activityList)) {
for (int i = 0; i < activityList.size(); i++) {
DmsFaultInstanceActivity activity = activityList.get(i);
activity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
activity.setProcessStepOrder((long)(i + 2)); // 从第2步开始第1步已经创建
activity.setCreateTime(currentDate);
activity.setCreateBy(SecurityUtils.getUserId());
activity.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_TO_PICK);
// 插入操作记录
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(activity);
// 处理操作记录的附件
if (activity.getFileUrls() != null && !activity.getFileUrls().isEmpty()) {
batchInsertInstanceFiles(activity.getFileUrls(), activity.getInstanceActivityId());
}
}
}
return rows;
}
@ -169,18 +205,72 @@ public class DmsBillsFaultInstanceServiceImpl implements IDmsBillsFaultInstanceS
* @param dmsBillsFaultInstance
* @return
*/
@Transactional
@Override
public int updateDmsBillsFaultInstance(DmsBillsFaultInstance dmsBillsFaultInstance) {
String username =SecurityUtils.getLoginUser()==null ? SecurityUtils.getUsername() :SecurityUtils.getLoginUser().getUser().getNickName() ;
if (dmsBillsFaultInstance.getRepairConfirm()!=null){
dmsBillsFaultInstance.setConfirmer(username);
}
dmsBillsFaultInstance.setUpdateTime(DateUtils.getNowDate());
dmsInstanceFileMapper.deleteDmsInstanceFileByUpdate(dmsBillsFaultInstance.getRepairInstanceId());
Date currentDate = DateUtils.getNowDate();
dmsBillsFaultInstance.setUpdateTime(currentDate);
dmsBillsFaultInstance.setUpdateBy(SecurityUtils.getUserId());
// 更新主工单
int i = dmsBillsFaultInstanceMapper.updateDmsBillsFaultInstance(dmsBillsFaultInstance);
//存储图片
List<String> fileUrls = dmsBillsFaultInstance.getFileUrls();
batchInsertInstanceFiles(fileUrls, dmsBillsFaultInstance.getInstanceActivityId());
// 处理主工单的附件(如果有)
if (dmsBillsFaultInstance.getInstanceActivityId() != null) {
dmsInstanceFileMapper.deleteDmsInstanceFileByUpdate(dmsBillsFaultInstance.getRepairInstanceId());
List<String> fileUrls = dmsBillsFaultInstance.getFileUrls();
if (fileUrls != null && !fileUrls.isEmpty()) {
batchInsertInstanceFiles(fileUrls, dmsBillsFaultInstance.getInstanceActivityId());
}
}
// 处理操作记录列表
List<DmsFaultInstanceActivity> activityList = dmsBillsFaultInstance.getDmsFaultInstanceActivityList();
if (!CollectionUtils.isEmpty(activityList)) {
for (DmsFaultInstanceActivity activity : activityList) {
if (activity.getInstanceActivityId() != null && activity.getInstanceActivityId() > 0) {
// 更新已有记录
activity.setUpdateTime(currentDate);
activity.setUpdateBy(SecurityUtils.getUserId());
dmsFaultInstanceActivityMapper.updateDmsFaultInstanceActivity(activity);
// 更新附件:先删除旧的,再插入新的
if (activity.getFileUrls() != null && !activity.getFileUrls().isEmpty()) {
dmsInstanceFileMapper.deleteDmsInstanceFileByTargetId(activity.getInstanceActivityId());
batchInsertInstanceFiles(activity.getFileUrls(), activity.getInstanceActivityId());
}
} else {
// 新增记录
activity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
activity.setCreateTime(currentDate);
activity.setCreateBy(SecurityUtils.getUserId());
activity.setProcessHandleStatus(DmsConstants.DMS_BILLS_FAULT_INSTANCE_ACTIVITY_HANDLE_STATUS_TO_PICK);
// 设置步骤顺序(查询当前最大步骤号+1
DmsFaultInstanceActivity queryActivity = new DmsFaultInstanceActivity();
queryActivity.setRepairInstanceId(dmsBillsFaultInstance.getRepairInstanceId());
List<DmsFaultInstanceActivity> existingList = dmsFaultInstanceActivityMapper.selectDmsFaultInstanceActivityList(queryActivity);
long maxOrder = existingList.stream()
.mapToLong(a -> a.getProcessStepOrder() != null ? a.getProcessStepOrder() : 0)
.max()
.orElse(0);
activity.setProcessStepOrder(maxOrder + 1);
// 插入新记录
dmsFaultInstanceActivityMapper.insertDmsFaultInstanceActivity(activity);
// 插入附件
if (activity.getFileUrls() != null && !activity.getFileUrls().isEmpty()) {
batchInsertInstanceFiles(activity.getFileUrls(), activity.getInstanceActivityId());
}
}
}
}
return i;
}

@ -1,5 +1,12 @@
package com.aucma.dms.service.impl;
//import com.aucma.dms.domain.DmsRealtimeStatus;
//import com.aucma.dms.domain.WcsAgvStatus;
//import com.aucma.dms.domain.vo.ModelBoardVo;
//import com.aucma.dms.mapper.DmsRealtimeStatusMapper;
//import com.aucma.dms.mapper.WcsAgvStatusMapper;
//import com.aucma.dms.service.IModelInterfacesService;
import com.aucma.dms.domain.DmsRealtimeStatus;
import com.aucma.dms.domain.WcsAgvStatus;
import com.aucma.dms.domain.vo.ModelBoardVo;

@ -102,9 +102,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where repair_instance_id = #{repairInstanceId}
</select>
<insert id="insertDmsBillsFaultInstance" parameterType="DmsBillsFaultInstance" useGeneratedKeys="true" keyProperty="repairInstanceId">
<insert id="insertDmsBillsFaultInstance" parameterType="DmsBillsFaultInstance">
<selectKey keyProperty="repairInstanceId" resultType="long" order="BEFORE">
SELECT seq_dms_bills_fault_instance.NEXTVAL FROM DUAL
</selectKey>
insert into dms_bills_fault_instance
<trim prefix="(" suffix=")" suffixOverrides=",">
repair_instance_id,
<if test="faultSourceType != null">fault_source_type,</if>
<if test="faultSourceId != null">fault_source_id,</if>
<if test="billsFaultCode != null and billsFaultCode != ''">bills_fault_code,</if>
@ -126,6 +130,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- <if test="wfProcessId != null">wf_process_id,</if> -->
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{repairInstanceId},
<if test="faultSourceType != null">#{faultSourceType},</if>
<if test="faultSourceId != null">#{faultSourceId},</if>
<if test="billsFaultCode != null and billsFaultCode != ''">#{billsFaultCode},</if>
@ -155,7 +160,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="faultSourceId != null">fault_source_id = #{faultSourceId},</if>
<if test="billsFaultCode != null and billsFaultCode != ''">bills_fault_code = #{billsFaultCode},</if>
<if test="billsStatus != null and billsStatus != ''">bills_status = #{billsStatus},</if>
<if test="faultSourceType != null and faultSourceType != ''">fault_source_type = #{faultSourceType},</if>
<if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="applyTime != null">apply_time = #{applyTime},</if>
<if test="realBeginTime != null">real_begin_time = #{realBeginTime},</if>
@ -180,7 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from dms_bills_fault_instance where repair_instance_id = #{repairInstanceId}
</delete>
<delete id="deleteDmsBillsFaultInstanceByRepairInstanceIds" parameterType="String">
<delete id="deleteDmsBillsFaultInstanceByRepairInstanceIds" parameterType="java.lang.Long">
delete from dms_bills_fault_instance where repair_instance_id in
<foreach item="repairInstanceId" collection="array" open="(" separator="," close=")">
#{repairInstanceId}
@ -196,7 +200,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectDmsBillsFaultInstanceJoinVo">
select dbfi.repair_instance_id, dbfi.fault_source_type, dbfi.fault_source_id, dbfi.bills_fault_code, dbfi.bills_status,
dbfi.apply_user, dbfi.apply_time, dbfi.real_begin_time, dbfi.real_end_time, dbfi.require_end_time, dbfi.device_id,dbfi.approveStatus,
dbdl.device_code,dbdl.device_name,dbdl.device_location,dbdl.device_spec
dbdl.device_code,
dbdl.device_name,
dbdl.device_address as device_location,
dbdl.device_model as device_spec
from dms_bills_fault_instance dbfi left join base_deviceledger dbdl on dbfi.device_id=dbdl.OBJ_ID
</sql>
@ -225,7 +232,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectFaultInstanceJoinFirstAndDeviceById" parameterType="Long" resultMap="DmsBillsFaultInstanceResult">
select dbfi.repair_instance_id, dbfi.fault_source_type, dbfi.fault_source_id, dbfi.bills_fault_code, dbfi.bills_status,
dbfi.apply_user, dbfi.apply_time, dbfi.real_begin_time, dbfi.real_end_time, dbfi.require_end_time, dbfi.device_id,dbfi.approveStatus,
dbdl.device_code,dbdl.device_name,dbdl.device_location,dbdl.device_spec,
dbdl.device_code,
dbdl.device_name,
dbdl.device_address as device_location,
dbdl.device_model as device_spec,
dfia.instance_activity_id,dfia.fault_type,dfia.fault_description,dfia.design_operations,dfia.repair_type,dfia.outsrc_id,dfia.process_handle_resolution
,dfia.checked_fault checked_fault,
dfia.repair_content repair_content,
@ -240,8 +250,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectFaultInstanceJoinActivityByRepairInstanceId" parameterType="Long" resultMap="DmsBillsFaultInstanceDmsFaultInstanceActivityResult">
select a.repair_instance_id, a.fault_source_type, a.fault_source_id, a.bills_fault_code, a.bills_status, a.apply_user, a.apply_time, a.real_begin_time, a.real_end_time, a.require_end_time, a.instance_type, a.is_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time,a.approveStatus,dbdl.device_code,dbdl.device_name,dbdl.device_location,dbdl.device_spec,
b.instance_activity_id as sub_instance_activity_id, b.repair_instance_id as sub_repair_instance_id, b.process_activity_id as sub_process_activity_id, b.fault_type as sub_fault_type, b.fault_description as sub_fault_description, b.design_operations as sub_design_operations, b.OBJ_ID as sub_device_id, b.repair_type as sub_repair_type, b.outsrc_id as sub_outsrc_id, b.process_handle_resolution as sub_process_handle_resolution, b.remark as sub_remark, b.process_handle_status as sub_process_handle_status, b.process_step_order as sub_process_step_order, b.start_time as sub_start_time, b.end_time as sub_end_time, b.handle_user_id as sub_handle_user_id, b.handle_by as sub_handle_by, b.handle_time as sub_handle_time,
select a.repair_instance_id, a.fault_source_type, a.fault_source_id, a.bills_fault_code, a.bills_status, a.apply_user, a.apply_time, a.real_begin_time, a.real_end_time, a.require_end_time, a.instance_type, a.is_flag, a.remark, a.create_by, a.create_time, a.update_by, a.update_time,a.approveStatus,
dbdl.device_code,
dbdl.device_name,
dbdl.device_address as device_location,
dbdl.device_model as device_spec,
b.instance_activity_id as sub_instance_activity_id, b.repair_instance_id as sub_repair_instance_id, b.process_activity_id as sub_process_activity_id, b.fault_type as sub_fault_type, b.fault_description as sub_fault_description, b.design_operations as sub_design_operations, b.device_id as sub_device_id, b.repair_type as sub_repair_type, b.outsrc_id as sub_outsrc_id, b.process_handle_resolution as sub_process_handle_resolution, b.remark as sub_remark, b.process_handle_status as sub_process_handle_status, b.process_step_order as sub_process_step_order, b.start_time as sub_start_time, b.end_time as sub_end_time, b.handle_user_id as sub_handle_user_id, b.handle_by as sub_handle_by, b.handle_time as sub_handle_time,
a.approveStatus
from dms_bills_fault_instance a
left join base_deviceledger dbdl on a.device_id=dbdl.OBJ_ID
@ -278,7 +292,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
x.repairer ,
a.device_name ,
a.device_code,
a.device_location ,
a.device_address as device_location ,
b.apply_user ,
b.apply_time ,
b.real_begin_time ,
@ -287,7 +301,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
b.update_time,
b.confirmer
from
dms_fault_instance_activity x left join base_deviceledger a on x.device_id = a.device_id
dms_fault_instance_activity x left join base_deviceledger a on x.device_id = a.OBJ_ID
left join dms_bills_fault_instance b on x.repair_instance_id = b.repair_instance_id where x.repair_instance_id = #{repairInstanceId}
</select>
<select id="selectParts" resultType="com.aucma.dms.domain.DmsFaultCompentsParts"

@ -68,9 +68,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where instance_activity_id = #{instanceActivityId}
</select>
<insert id="insertDmsFaultInstanceActivity" parameterType="DmsFaultInstanceActivity" useGeneratedKeys="true" keyProperty="instanceActivityId">
<insert id="insertDmsFaultInstanceActivity" parameterType="DmsFaultInstanceActivity">
<selectKey keyProperty="instanceActivityId" resultType="long" order="BEFORE">
SELECT seq_fault_instance_activity.NEXTVAL FROM DUAL
</selectKey>
insert into dms_fault_instance_activity
<trim prefix="(" suffix=")" suffixOverrides=",">
instance_activity_id,
<if test="repairInstanceId != null">repair_instance_id,</if>
<if test="processActivityId != null">process_activity_id,</if>
<if test="faultType != null">fault_type,</if>
@ -94,6 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="attr1 != null">attr1,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
#{instanceActivityId},
<if test="repairInstanceId != null">#{repairInstanceId},</if>
<if test="processActivityId != null">#{processActivityId},</if>
<if test="faultType != null">#{faultType},</if>

@ -77,7 +77,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from dms_instance_file where target_type = 1 and target_id =#{targetId}
</delete>
<delete id="deleteDmsInstanceFileByTargetId" parameterType="Long">
delete from dms_instance_file where target_id = #{targetId}
</delete>
<select id="selectDmsInstanceFileConvertList" parameterType="DmsInstanceFile" resultMap="DmsInstanceFileResult">
select instance_file_id, target_type, target_id, file_path as name,file_path as url from dms_instance_file

Loading…
Cancel
Save