diff --git a/ruoyi-admin/src/main/resources/templates/project/order/edit.html b/ruoyi-admin/src/main/resources/templates/project/order/edit.html index 5c537cc8..46f9a83c 100644 --- a/ruoyi-admin/src/main/resources/templates/project/order/edit.html +++ b/ruoyi-admin/src/main/resources/templates/project/order/edit.html @@ -470,7 +470,7 @@ [[${file.uploadUserName}]] [[${#dates.format(file.uploadTime,'yyyy-MM-dd')}]] - 上传 下载 - 删除 @@ -620,7 +620,7 @@ }, } }); - const file_log_arr = [ "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传合同信息).pdf/.jpg/.png", "(请上传现金折扣审批邮件信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png"] + const file_log_arr = [ "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传合同信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png","(请上传已盖章合同信息).pdf/.jpg/.png"] var softwareProjectProductInfoList = [] var hardwareProjectProductInfoList = [] var maintenanceProjectProductInfoList = [] @@ -633,16 +633,16 @@ return } $(trElement).find('td').each(function (index, element) { - if (index === 1) { + if (index === 2) { // $('#deleteFileId').val($('#deleteFileId').val()+$(element).text()+',') $(element).text('-1') - } else if (index === 2) { - $(element).text(file_log_arr[trIndex]) } else if (index === 3) { - $(element).text('') + $(element).text(file_log_arr[trIndex]) } else if (index === 4) { $(element).text('') } else if (index === 5) { + $(element).text('') + } else if (index === 6) { $(element).html(`上传`) @@ -1252,7 +1252,7 @@ style="cursor:pointer;color: #ff5722" onclick="downFile('${data.filePath}','${data.fileName}')">下载 删除`) + style="cursor:pointer;color: #ff5722" onclick=" delUploadRow(${sortNum},${data.id})">删除`) } }) }) diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProjectOrderInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProjectOrderInfoController.java index 9d6a2e66..b8e00068 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProjectOrderInfoController.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProjectOrderInfoController.java @@ -216,6 +216,9 @@ public class ProjectOrderInfoController extends BaseController ("产品经理".equals(todoCompletedList.get(0).getTaskName()) || "售前".equals(todoCompletedList.get(0).getTaskName())) : (boolean) mmap.get("canUpdate"); mmap.put("updateFile", (ShiroUtils.getSubject().hasRole("sale_assistant")||ShiroUtils.getSubject().hasRole("business") ||ShiroUtils.getSysUser().isAdmin()) && updateFlag); + mmap.put("uploadFinalFile", (ShiroUtils.getSubject().hasRole("business") || ShiroUtils.getSysUser().isAdmin()) && + ProjectOrderInfo.OrderStatus.APPROVE_COMPLETE.getCode().equals(projectOrderInfo.getOrderStatus())); + return prefix + "/edit"; } /** diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderFileLogMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderFileLogMapper.java index f5a22cdd..703650c6 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderFileLogMapper.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProjectOrderFileLogMapper.java @@ -67,4 +67,7 @@ public interface ProjectOrderFileLogMapper void updateOrderIdByIdList(@Param("orderId") Long orderId,@Param("list") List idList); + + List listByIds(String[] strArray); + } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderFileLogServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderFileLogServiceImpl.java index e79aca7b..0a636c75 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderFileLogServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderFileLogServiceImpl.java @@ -6,6 +6,9 @@ import java.util.Map; import java.util.stream.Collectors; import cn.hutool.core.collection.CollUtil; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.constant.Constants; +import com.ruoyi.common.utils.file.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.sip.mapper.ProjectOrderFileLogMapper; @@ -82,6 +85,15 @@ public class ProjectOrderFileLogServiceImpl implements IProjectOrderFileLogServi @Override public int deleteProjectOrderFileLogByIds(String ids) { + List projectOrderFileLogs = projectOrderFileLogMapper.listByIds(Convert.toStrArray(ids)); + for (ProjectOrderFileLog projectOrderFileLog : projectOrderFileLogs) { + // // 本地资源路径 + String localPath = RuoYiConfig.getProfile(); +// // 下载名称 + String downloadPath = projectOrderFileLog.getFilePath().replace(Constants.RESOURCE_PREFIX, localPath); + FileUtils.deleteFile(downloadPath); + } + return projectOrderFileLogMapper.deleteProjectOrderFileLogByIds(Convert.toStrArray(ids)); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java index a9b040d7..71a83da1 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java @@ -110,7 +110,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To private static final List LS_LIST = Arrays.asList("3130A6LD"); private static final List ONE_STOR_LIST = Arrays.asList("3130A4NA", "3130A4N9", "3130A4N5"); private static final List N_VIDIA_LIST = Arrays.asList("0504A14F", "0504A14G", "0504A1JX"); - private static final List FILE_INFO_LIST = Arrays.asList( "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传合同信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png"); + private static final List FILE_INFO_LIST = Arrays.asList( "(请上传商务折扣审批邮件信息).pdf/.jpg/.png","(请上传未盖章合同信息).pdf/.jpg/.png", "(补充附件).zip/.rar/.jpg/.png","(请上传已盖章合同信息).pdf/.jpg/.png"); @Autowired private TaskService taskService; @@ -151,7 +151,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To projectOrderFileLogs.stream().collect(Collectors.groupingBy(ProjectOrderFileLog::getFileType)); List contractFileList = fileLogMap.get(ProjectOrderFileLog.FileTypeEnum.CONTRACT.getCode()); // 构建表格数据 - Map> tableData = buildFileTableData(contractFileList, projectOrderInfo.getVersionCode()); + Map> tableData = buildFileTableData(contractFileList, projectOrderInfo.getVersionCode(), projectOrderInfo.getOrderStatus()); projectOrderInfo.setContractTableData(tableData); projectOrderInfo.setContractFileList(contractFileList); @@ -170,7 +170,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To return projectOrderInfo; } - private Map> buildFileTableData(List contractFileList, String versionCode) { + private Map> buildFileTableData(List contractFileList, String versionCode, String orderStatus) { Map> result = new HashMap<>(); if (CollUtil.isEmpty(contractFileList)) { List list = getProjectOrderFileLogs(); @@ -192,7 +192,8 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To } else { //将list转为map 根据序号补齐差的数据 给初始化数据 Map orderFileLogMap = fileLogs.stream().collect(Collectors.toMap(ProjectOrderFileLog::getFileSort, v -> v, (v1, v2) -> v1)); - for (int i = 0; i < 3; i++) { + int fileSize = ProjectOrderInfo.OrderStatus.APPROVE_COMPLETE.getCode().equals(orderStatus) ? 4 : 3; + for (int i = 0; i < fileSize; i++) { ProjectOrderFileLog fileLog = orderFileLogMap.get(String.valueOf(i)); if (fileLog == null) { //初始化map diff --git a/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderFileLogMapper.xml b/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderFileLogMapper.xml index 760fa099..e5d628aa 100644 --- a/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderFileLogMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/sip/ProjectOrderFileLogMapper.xml @@ -24,28 +24,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + insert into project_order_file_log