diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/BmProjectLot.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/BmProjectLot.java index 5c9a6ec..7c1ea57 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/BmProjectLot.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/BmProjectLot.java @@ -59,6 +59,11 @@ public class BmProjectLot { @Excel(name = "所属工程") @ApiModelProperty(value = "所属工程") private String ownPro; + /** + * 所属工程 + */ + @ApiModelProperty(value = "所属工程") + private String proName; /** * 所属上级 */ diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairContent.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairContent.java new file mode 100644 index 0000000..7b11b7d --- /dev/null +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/base/domain/RepairContent.java @@ -0,0 +1,14 @@ +package com.bonus.sgzb.base.domain; + +import lombok.Data; + +/** + * @Author:liang.chao + * @Date:2025/3/11 - 13:26 + */ +@Data +public class RepairContent { + private String repairRemark; + private String repairContent; + +} diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java index 2f78e42..269b91f 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/controller/RepairAuditDetailsController.java @@ -88,6 +88,15 @@ public class RepairAuditDetailsController extends BaseController { List list = repairAuditDetailsService.getRepairAuditList(repairAuditDetails); return getDataTable(list); } + /** + * 查看保养记录表 + */ + @ApiOperation("查看修饰审核任务详细列表") + @GetMapping("/getMaintenanceRecords") + public AjaxResult getMaintenanceRecords(RepairAuditDetails repairAuditDetails) { + ScrapApplyDetailsVO vo = repairAuditDetailsService.getMaintenanceRecords(repairAuditDetails); + return AjaxResult.success(vo); + } /** * 查看维修记录 diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairAuditDetails.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairAuditDetails.java index cce831b..1725e64 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairAuditDetails.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/domain/RepairAuditDetails.java @@ -2,7 +2,9 @@ package com.bonus.sgzb.material.domain; import java.math.BigDecimal; import java.util.Date; +import java.util.List; +import com.bonus.sgzb.base.api.domain.FileInfo; import com.bonus.sgzb.common.core.web.domain.BaseEntity; import com.fasterxml.jackson.annotation.JsonFormat; import com.bonus.sgzb.common.core.annotation.Excel; @@ -99,6 +101,9 @@ public class RepairAuditDetails extends BaseEntity private String keyword; private String typeName; + @ApiModelProperty(value = "维修审核附件上传") + private List fileList; + public void setId(Long id) { this.id = id; diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java index 1918db0..d9472ed 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/mapper/RepairAuditDetailsMapper.java @@ -1,5 +1,8 @@ package com.bonus.sgzb.material.mapper; +import com.bonus.sgzb.base.api.domain.FileInfo; +import com.bonus.sgzb.base.domain.RepairApplyRecord; +import com.bonus.sgzb.base.domain.RepairContent; import com.bonus.sgzb.material.domain.RepairAuditDetails; import com.bonus.sgzb.material.domain.RepairPart; import com.bonus.sgzb.material.domain.RepairRecord; @@ -149,4 +152,10 @@ public interface RepairAuditDetailsMapper List getRepairApplyRecordId(Long repairId); void updateRecodeStatus(String id); + + ScrapApplyDetailsVO getMaintenanceRecords(RepairAuditDetails repairAuditDetails); + + List getRepairContent(ScrapApplyDetailsVO scrapApplyDetailsVO); + + List getfileList(RepairAuditDetails auditDetails); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IRepairAuditDetailsService.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IRepairAuditDetailsService.java index 87f572a..40f6438 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IRepairAuditDetailsService.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/IRepairAuditDetailsService.java @@ -97,5 +97,7 @@ public interface IRepairAuditDetailsService List getRepairRecord(RepairAuditDetails repairAuditDetails); List getPartRecord(RepairAuditDetails repairAuditDetails); + + ScrapApplyDetailsVO getMaintenanceRecords(RepairAuditDetails repairAuditDetails); } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java index f6f6d9f..5bc09e7 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/service/impl/RepairAuditDetailsServiceImpl.java @@ -5,7 +5,12 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; +import com.bonus.sgzb.app.mapper.BackReceiveMapper; +import com.bonus.sgzb.base.api.domain.FileInfo; +import com.bonus.sgzb.base.domain.RepairApplyRecord; +import com.bonus.sgzb.base.domain.RepairContent; import com.bonus.sgzb.common.core.constant.TaskTypeConstants; import com.bonus.sgzb.common.core.enums.TaskStatusEnum; import com.bonus.sgzb.common.core.enums.TaskTypeEnum; @@ -20,6 +25,7 @@ import com.bonus.sgzb.material.vo.GlobalContants; import com.bonus.sgzb.material.vo.RepairAuditDetailsVO; import com.bonus.sgzb.material.vo.ScrapApplyDetailsVO; import com.bonus.sgzb.material.vo.ScrapAudit; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -49,6 +55,9 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService @Resource private RepairTestInputMapper repairTestInputMapper; + @Resource + private BackReceiveMapper backReceiveMapper; + /** * 查询修试审核详细repair_apply_details @@ -154,6 +163,26 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService return list; } + @Override + public ScrapApplyDetailsVO getMaintenanceRecords(RepairAuditDetails repairAuditDetails) { + ScrapApplyDetailsVO scrapApplyDetailsVO = repairAuditDetailsMapper.getMaintenanceRecords(repairAuditDetails); + if (scrapApplyDetailsVO != null) { + // 查询技术鉴定情况和维修处理情况 + if (StringUtils.isNotBlank(scrapApplyDetailsVO.getMaId())) { + List records = new ArrayList<>(); + for (String s : scrapApplyDetailsVO.getMaId().split(",")) { + scrapApplyDetailsVO.setMaId(s); + records.addAll(repairAuditDetailsMapper.getRepairContent(scrapApplyDetailsVO)); + } + scrapApplyDetailsVO.setRecords(records); + } else { + List repairContent = repairAuditDetailsMapper.getRepairContent(scrapApplyDetailsVO); + scrapApplyDetailsVO.setRecords(repairContent); + } + } + return scrapApplyDetailsVO; + } + /** * @param repairAuditDetails * @return @@ -161,6 +190,10 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService @Override public List getRepairAuditList(RepairAuditDetails repairAuditDetails) { List repairAuditDetailsList = repairAuditDetailsMapper.selectRepairAuditDetailsList(repairAuditDetails); + for (RepairAuditDetails auditDetails : repairAuditDetailsList) { + List fileList= repairAuditDetailsMapper.getfileList(auditDetails); + auditDetails.setFileList(fileList); + } return repairAuditDetailsList; } @@ -175,6 +208,22 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService public int auditRepair(ScrapAudit scrapAudit) throws Exception { String checkResult = scrapAudit.getCheckResult(); List auditDetailList = scrapAudit.getAuditDetailList(); + for (RepairAuditDetails repairAuditDetails : auditDetailList) { + // 添加附件 + List fileList = repairAuditDetails.getFileList(); + if (fileList != null) { + for (FileInfo fileInfo : fileList) { + fileInfo.setModelId(repairAuditDetails.getTaskId()); + fileInfo.setTypeId(fileInfo.getTypeId()); + if (fileInfo.getMaId() != null) { + fileInfo.setMaId(fileInfo.getMaId()); + } + fileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); + fileInfo.setCreateTime(DateUtils.getNowDate()); + backReceiveMapper.insertBmFileInfo(fileInfo); + } + } + } List taskIdList = scrapAudit.getTaskIdList(); Integer b = 0; for (Long taskId : taskIdList) { @@ -206,6 +255,8 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } } } else { + // 批量审核 + // 获取维修列表 repairInputList = repairAuditDetailsMapper.selectRepairInputByTaskId(taskId); //获取维修报废列表 scrapNumList = repairAuditDetailsMapper.selectScrapNumByTaskId(taskId); @@ -221,8 +272,6 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService taskType = 50; long inputTaskId = genTask(taskCode, taskType, taskStatus, tmTaskAgreement, companyId); for (RepairAuditDetails inputDetails : repairInputList) { - Long typeId = inputDetails.getTypeId(); - Long maId = inputDetails.getMaId(); Integer repairNum = inputDetails.getRepairedNum(); // 创建修饰后入库任务 if (repairNum.compareTo(b) > 0) { @@ -240,7 +289,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService repairInputDetails.setCompanyId((long) companyId); repairTestInputMapper.insertRepairInputDetails(repairInputDetails); } - repairAuditDetailsMapper.updateRepairCost(inputDetails,status); + repairAuditDetailsMapper.updateRepairCost(inputDetails, status); // 根据repairId找到taskId和 typeId 、maid List repairApplyRecordId = repairAuditDetailsMapper.getRepairApplyRecordId(inputDetails.getRepairId()); // 再去repair_apply_record 中查,并给一个标识表示审核完成 @@ -266,7 +315,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService // 创建报废任务 Integer scrapNum = scrapDetails.getScrapNum(); if (scrapNum.compareTo(b) > 0) { - for (RepairRecord bean : repairRecord){ + for (RepairRecord bean : repairRecord) { ScrapApplyDetails scrapApplyDetails = new ScrapApplyDetails(); scrapApplyDetails.setTaskId(scrapTaskId); scrapApplyDetails.setTypeId(typeId); @@ -316,7 +365,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService long inputTaskId = genTask(taskCode, taskType, taskStatus, tmTaskAgreement, companyId); for (RepairAuditDetails inputDetails : repairDetailList) { Long backId = repairAuditDetailsMapper.getBackId(inputDetails.getRepairId()); - /* 添加驳回后维修详细表数据*/ + /* 添加驳回后维修详细表数据*/ RepairTaskDetails repairTaskDetails = new RepairTaskDetails(); repairTaskDetails.setTaskId(String.valueOf(inputTaskId)); repairTaskDetails.setMaId(inputDetails.getMaId()); @@ -329,7 +378,7 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService repairTaskDetails.setBackId(backId); repairAuditDetailsMapper.insertRepairDetails(repairTaskDetails); - repairAuditDetailsMapper.updateRepairCost(inputDetails,status); + repairAuditDetailsMapper.updateRepairCost(inputDetails, status); } } // 修饰审核任务不通过时 @@ -392,20 +441,22 @@ public class RepairAuditDetailsServiceImpl implements IRepairAuditDetailsService } - /**采购单号编码生成规则*/ + /** + * 采购单号编码生成规则 + */ private String purchaseCodeRule(String code, Integer taskType) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); Date nowDate = DateUtils.getNowDate(); String format = dateFormat.format(nowDate); String taskNum = taskMapper.selectTaskNumByMonths(nowDate, taskType); - if (StringHelper.isNotEmpty(taskNum)){ + if (StringHelper.isNotEmpty(taskNum)) { // 将字符串转换为整数 int num = Integer.parseInt(taskNum); // 执行加一操作 num++; // 将结果转换回字符串格式,并确保结果是四位数,不足四位则在前面补0 taskNum = String.format("%04d", num); - }else { + } else { taskNum = "0001"; } String codeNum = code + format + "-" + taskNum; diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapApplyDetailsVO.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapApplyDetailsVO.java index ea31e47..f8faf02 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapApplyDetailsVO.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapApplyDetailsVO.java @@ -1,9 +1,12 @@ package com.bonus.sgzb.material.vo; +import com.bonus.sgzb.base.domain.RepairContent; import com.bonus.sgzb.common.core.annotation.Excel; import com.bonus.sgzb.material.domain.ScrapAuditorSet; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.util.List; @@ -19,6 +22,12 @@ public class ScrapApplyDetailsVO { * 任务id */ private Long taskId; + private Integer typeId; + private String maId; + /** + * 维修任务id + */ + private Long repairTaskId; /** * 报废审核单号 @@ -31,6 +40,10 @@ public class ScrapApplyDetailsVO { */ @Excel(name = "单位名称",sort = 2) private String unitName; + /** + * 单位名称 + */ + private String checkMan; /** * 工程名称 @@ -59,6 +72,10 @@ public class ScrapApplyDetailsVO { */ @Excel(name = "维修单号",sort = 6) private String repairNum; + /** + * 维修前备注 + */ + private String repairRemark; /** * 审核状态 @@ -118,6 +135,14 @@ public class ScrapApplyDetailsVO { * 处置 */ private Integer disposition; + /** + * 维修合格数量 + */ + private Integer repairedNum; + + @DateTimeFormat(pattern = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private String auditTime; /** * 文件地址 @@ -128,4 +153,8 @@ public class ScrapApplyDetailsVO { * 文件名称 */ private String dispositionFileName; + /** + * 维修记录文档备注 + */ + private List records; } diff --git a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java index 0f97bb5..5b3c095 100644 --- a/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java +++ b/sgzb-modules/sgzb-material/src/main/java/com/bonus/sgzb/material/vo/ScrapAudit.java @@ -1,5 +1,6 @@ package com.bonus.sgzb.material.vo; +import com.bonus.sgzb.base.api.domain.FileInfo; import com.bonus.sgzb.material.domain.RepairAuditDetails; import com.bonus.sgzb.material.domain.ScrapApplyDetails; import io.swagger.annotations.ApiModelProperty; diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml index 4e67071..8d6fa3a 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/app/TmTaskMapper.xml @@ -1102,6 +1102,7 @@ LEFT JOIN sys_user su on mtk.user_id = su.user_id WHERE lad.parennt_id = #{id} + and mt.is_storage = 1 and mtk.user_id = #{userId} diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/base/BmProjectLotMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/base/BmProjectLotMapper.xml index 56225b3..8c97a52 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/base/BmProjectLotMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/base/BmProjectLotMapper.xml @@ -46,8 +46,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select a.lot_id, a.pro_id, a.lot_name, a.status, a.type_id, a.link_man, a.telphone, a.own_pro, a.dept_id, a.is_share, a.lon, a.lat, a.del_flag, a.create_by, a.create_time,a.remark,a.company_id ,b.dept_name, c.name,a.cost_indicators, - a.longitude, a.latitude, a.address, a.province,a.details_address,a.completion_date,a.start_date + a.longitude, a.latitude, a.address, a.province,a.details_address,a.completion_date,a.start_date,bpi.pro_name from bm_project_lot a + left join bm_project_info bpi on a.pro_id = bpi.pro_id left join sys_dept b on a.dept_id = b.dept_id left join sys_dic c on a.type_id = c.id where a.del_flag ='0' @@ -237,7 +238,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" lot_name = #{lotName}, status = #{status}, type_id = #{typeId}, - own_pro = #{ownPro}, + pro_id = #{proId}, link_man = #{linkMan}, telphone = #{telphone}, dept_id = #{deptId}, diff --git a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml index d1ef7f9..dd878f1 100644 --- a/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml +++ b/sgzb-modules/sgzb-material/src/main/resources/mapper/material/RepairAuditDetailsMapper.xml @@ -469,5 +469,74 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE rc.repair_id = #{repairId} + + + \ No newline at end of file