diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/MessageTypeEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/MessageTypeEnum.java index ed977ac3..51a85739 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/MessageTypeEnum.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/MessageTypeEnum.java @@ -18,7 +18,8 @@ public enum MessageTypeEnum { YHZGCSGZ("90", "隐患整改超时通知"), YHFJCSGZ("100", "隐患复检超时通知"), LZYJSP("110", "劳资预警审批"), - LZYJCSTZ("120", "劳资预警审批超时"); + LZYJCSTZ("120", "劳资预警审批超时"), + GCGNJY("130", "工程功能检验审批"); //工作流审批由ProcDefKey组成 private final String code; diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/PublicStateEnum.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/PublicStateEnum.java index 4b526f26..cbfa043d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/PublicStateEnum.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/PublicStateEnum.java @@ -23,6 +23,7 @@ public enum PublicStateEnum { AUDIT_TYPE_CLFY("4", "材料封样"), AUDIT_TYPE_JPYS("3", "举牌验收"), AUDIT_TYPE_SCSL("2", "实测实量"), + AUDIT_TYPE_GCGNJY("5", "工程功能检验"), AUDITINFO_DSH("1", "待审核"), AUDITINFO_SHBH("3", "审核驳回"), AUDITINFO_SHTG("4", "审核通过"), diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java index 959bce2b..5440727d 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java @@ -187,17 +187,6 @@ public class FileUploadUtils makeMiniImage(f.getAbsolutePath()); } } - public static void main(String[] args) { - - List list= FileUtil.loopFiles("D:/hahaprj/tmp"); - for(File f :list){ - System.out.println(f.getAbsolutePath()); - makeMiniImage(f.getAbsolutePath()); - } - - //String f="D:\\hahaprj\\tmp\\2023\\07\\30\\840_20230730152314A005.jpg"; - //makeMiniImage(f); - } /** * 编码文件名 @@ -205,7 +194,25 @@ public class FileUploadUtils public static final String extractFilename(MultipartFile file) { return StringUtils.format("{}/{}_{}.{}", DateUtils.datePath(), - FilenameUtils.getBaseName(file.getOriginalFilename()), Seq.getId(Seq.uploadSeqType), getExtension(file)); + getYzFilename(FilenameUtils.getBaseName(file.getOriginalFilename())), Seq.getId(Seq.uploadSeqType), getExtension(file)); + } + + /** + * 过滤文件名中的特殊符号问题 + * @param fileName + * @return + */ + public static final String getYzFilename(String fileName){ + // 定义正则表达式,匹配除了字母和数字以外的任何字符 + String regex = "[#%\\[\\]&',;=?$()]"; + // 使用指定的替换字符替换非法字符 + String replacedString = fileName.replaceAll(regex,"").replaceAll("__",""); + return replacedString; + } + + public static void main(String[] args) { + String s = " 3#、6#楼塔吊单位及人员资质报审____________________[asd]20240621095052A847.pdf"; + System.out.println(getYzFilename(s)); } public static final File getAbsoluteFile(String uploadDir, String fileName) throws IOException diff --git a/ruoyi-ui/src/api/project/projectFunVerify.js b/ruoyi-ui/src/api/project/projectFunVerify.js new file mode 100644 index 00000000..d04d94c5 --- /dev/null +++ b/ruoyi-ui/src/api/project/projectFunVerify.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询工程功能检验列表 +export function listProjectFunVerify(query) { + return request({ + url: '/project/projectFunVerify/list', + method: 'get', + params: query + }) +} + +// 统计工程功能检验 +export function findGroupCountByApprove(query) { + return request({ + url: '/project/projectFunVerify/findGroupCountByApprove', + method: 'get', + params: query + }) +} + +// 查询工程功能检验详细 +export function getProjectFunVerify(id) { + return request({ + url: '/project/projectFunVerify/' + id, + method: 'get' + }) +} + +// 新增工程功能检验 +export function addProjectFunVerify(data) { + return request({ + url: '/project/projectFunVerify', + method: 'post', + data: data + }) +} + +// 修改工程功能检验 +export function updateProjectFunVerify(data) { + return request({ + url: '/project/projectFunVerify', + method: 'put', + data: data + }) +} + +// 修改工程功能检验 +export function updateProjectFunVerifyNoLog(data) { + return request({ + url: '/project/projectFunVerify/editNoLog', + method: 'post', + data: data + }) +} + +// 删除工程功能检验 +export function delProjectFunVerify(id) { + return request({ + url: '/project/projectFunVerify/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/layout/components/Sidebar/Item.vue b/ruoyi-ui/src/layout/components/Sidebar/Item.vue index bc1013c8..0f8433db 100644 --- a/ruoyi-ui/src/layout/components/Sidebar/Item.vue +++ b/ruoyi-ui/src/layout/components/Sidebar/Item.vue @@ -27,7 +27,7 @@ export default { vnodes.push({(title)}) } let name=context?.parent?.item?.name; - if(['Todo','Task','Approve','Project','CheckDetection','ProjectMeasure','MaterialSeal','ProjectChecking','Attendance','FlowLabourInfo','Trouble','PshProblemmodify','SspProblemmodify'].includes(name)){ + if(['Todo','Task','Approve','Project','CheckDetection','ProjectMeasure','MaterialSeal','ProjectChecking','Attendance','FlowLabourInfo','Trouble','PshProblemmodify','SspProblemmodify','ProjectFunVerify'].includes(name)){ console.log(name); vnodes.push(h('span',{class:"todo_num_tips tips_"+name},1)) } diff --git a/ruoyi-ui/src/store/modules/flowtask.js b/ruoyi-ui/src/store/modules/flowtask.js index 7c170152..e4fdc860 100644 --- a/ruoyi-ui/src/store/modules/flowtask.js +++ b/ruoyi-ui/src/store/modules/flowtask.js @@ -24,7 +24,9 @@ const flowtask = { let projectMeasures = document.querySelectorAll(".tips_ProjectMeasure"); let projectCheckings = document.querySelectorAll(".tips_ProjectChecking"); let materialSeals = document.querySelectorAll(".tips_MaterialSeal"); + let projectFunVerify = document.querySelectorAll(".tips_ProjectFunVerify"); let surProjects = document.querySelectorAll(".tips_Project"); + //commit('SET_AWAIT_TASK',response.total) if (todos.length > 0) { todos.forEach(el => { @@ -97,8 +99,18 @@ const flowtask = { } }); } + if (projectFunVerify.length > 0) { + projectFunVerify.forEach(el => { + el.innerHTML = response.data.approveGCGN; + if (response.data.approveGCGN > 0) { + el.style.display = "inline"; + } else { + el.style.display = "none"; + } + }); + } if (surProjects.length > 0) { - let sum = parseInt(response.data.approveQYFS) + parseInt(response.data.approveSCSL) + parseInt(response.data.approveJPYS) + parseInt(response.data.approveCLFY); + let sum = parseInt(response.data.approveQYFS) + parseInt(response.data.approveSCSL) + parseInt(response.data.approveJPYS) + parseInt(response.data.approveCLFY) + parseInt(response.data.approveGCGN); surProjects.forEach(el => { el.innerHTML = sum; if (sum > 0) { diff --git a/ruoyi-ui/src/views/project/materialSeal/index.vue b/ruoyi-ui/src/views/project/materialSeal/index.vue index eb7ab730..772278fc 100644 --- a/ruoyi-ui/src/views/project/materialSeal/index.vue +++ b/ruoyi-ui/src/views/project/materialSeal/index.vue @@ -388,9 +388,7 @@ diff --git a/ruoyi-ui/src/views/project/materialSeal/projectMaterialSealDrawer.vue b/ruoyi-ui/src/views/project/materialSeal/projectMaterialSealDrawer.vue index 1deda04d..3aeeca3c 100644 --- a/ruoyi-ui/src/views/project/materialSeal/projectMaterialSealDrawer.vue +++ b/ruoyi-ui/src/views/project/materialSeal/projectMaterialSealDrawer.vue @@ -145,8 +145,7 @@ - + diff --git a/ruoyi-ui/src/views/project/projectAuditinfo/approveCheckDetectionDrawer.vue b/ruoyi-ui/src/views/project/projectAuditinfo/approveCheckDetectionDrawer.vue index 8045710b..46ebbb98 100644 --- a/ruoyi-ui/src/views/project/projectAuditinfo/approveCheckDetectionDrawer.vue +++ b/ruoyi-ui/src/views/project/projectAuditinfo/approveCheckDetectionDrawer.vue @@ -77,7 +77,7 @@ {{ dataInfo.laboratoryName }} - {{ parseTime(dataInfo.checkTime, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(dataInfo.checkTime, "{y}-{m}-{d}") }} - {{ parseTime(dataInfo.checkingDate, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(dataInfo.checkingDate, "{y}-{m}-{d}") }} +
+ + + + + {{ dataInfo.projectName }} + + + {{ dataInfo.deptName }} + + + + + + + + + {{ dataInfo.checkName }} + + + {{ dataInfo.qualityUserName }} + {{ dataInfo.qualityUser }} + + + {{ dataInfo.superviseUserName }} + {{ dataInfo.superviseUser }} + + + {{ parseTime(dataInfo.checkDate, "{y}-{m}-{d}") }} + + + {{ dataInfo.intro }} + + + 下载相关附件 + + + + + {{ dataInfo.createBy }} + + + + + {{ parseTime(dataInfo.createTime, "{y}-{m}-{d}") }} + + + + + {{ dict.label }} + + + + +
+ 确 定 + 取 消 +
+
+
+ +
+ + + diff --git a/ruoyi-ui/src/views/project/projectAuditinfo/approveMaterialSealDrawer.vue b/ruoyi-ui/src/views/project/projectAuditinfo/approveMaterialSealDrawer.vue index 658a0a12..7da4ba04 100644 --- a/ruoyi-ui/src/views/project/projectAuditinfo/approveMaterialSealDrawer.vue +++ b/ruoyi-ui/src/views/project/projectAuditinfo/approveMaterialSealDrawer.vue @@ -63,7 +63,7 @@ - {{ parseTime(dataInfo.sealDate, "{y}-{m}-{d} {h}:{i}") }} + {{ parseTime(dataInfo.sealDate, "{y}-{m}-{d}") }} - +
diff --git a/ruoyi-ui/src/views/project/projectChecking/projectCheckingDrawer.vue b/ruoyi-ui/src/views/project/projectChecking/projectCheckingDrawer.vue index 71780a30..d482a173 100644 --- a/ruoyi-ui/src/views/project/projectChecking/projectCheckingDrawer.vue +++ b/ruoyi-ui/src/views/project/projectChecking/projectCheckingDrawer.vue @@ -548,7 +548,6 @@ export default { }, /** 下载附件 */ handleDownload(row) { - debugger this.files = row.files; this.files.forEach((item) => { this.$download.resource(item); diff --git a/ruoyi-ui/src/views/project/projectFunVerify/index.vue b/ruoyi-ui/src/views/project/projectFunVerify/index.vue new file mode 100644 index 00000000..73710754 --- /dev/null +++ b/ruoyi-ui/src/views/project/projectFunVerify/index.vue @@ -0,0 +1,777 @@ + + + diff --git a/ruoyi-ui/src/views/project/projectFunVerify/projectFunVerifyDrawer.vue b/ruoyi-ui/src/views/project/projectFunVerify/projectFunVerifyDrawer.vue new file mode 100644 index 00000000..4ae1483f --- /dev/null +++ b/ruoyi-ui/src/views/project/projectFunVerify/projectFunVerifyDrawer.vue @@ -0,0 +1,739 @@ + + + + diff --git a/ruoyi-ui/src/views/project/surProject/index.vue b/ruoyi-ui/src/views/project/surProject/index.vue index ff6281b3..ffd16dbe 100644 --- a/ruoyi-ui/src/views/project/surProject/index.vue +++ b/ruoyi-ui/src/views/project/surProject/index.vue @@ -146,6 +146,7 @@ 'project:assess:list', 'project:build_node_data:list', 'project:projectChecking:list', + 'project:projectFunVerify:list', 'work:workTrain:list', 'work:emergencyDrill:list', 'project:surProjectInsurance:list', @@ -176,6 +177,8 @@ v-hasPermi="['project:projectDesign:list']">设计管理 举牌验收管理 + 工程功能检验 项目教育培训 + @@ -414,6 +418,7 @@ import emergencyDrillDrawer from "../../work/emergencyDrill/emergencyDrillDrawer import surProjectSpecialDrawer from "../surProjectSpecial/surProjectSpecialDrawer.vue"; import insuranceDrawer from "../surProjectInsurance/insuranceDrawer.vue"; import projectCheckingDrawer from "../projectChecking/projectCheckingDrawer.vue"; +import projectFunVerifyDrawer from "../projectFunVerify/projectFunVerifyDrawer.vue"; import materialSealDrawer from "@/views/project/materialSeal/projectMaterialSealDrawer.vue"; import projectMeasureDrawer from "../projectMeasure/projectMeasureDrawer.vue"; import videoConfigDrawer from "@/views/video/videoConfig/videoConfigDrawer"; @@ -440,6 +445,7 @@ export default { surProjectSpecialDrawer, insuranceDrawer, projectCheckingDrawer, + projectFunVerifyDrawer, materialSealDrawer, projectMeasureDrawer, videoConfigDrawer, @@ -685,6 +691,9 @@ export default { case "handleProjectChecking": this.$refs.projectChecking.show(row); break; + case "handleProjectFunVerify": + this.$refs.projectFunVerify.show(row); + break; case "handleProjectMeasure": this.$refs.projectMeasure.show(row); break; diff --git a/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue b/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue index 71cee1d7..cc412f98 100644 --- a/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue +++ b/ruoyi-ui/src/views/trouble/pshProblemmodifyDraft/index.vue @@ -291,7 +291,6 @@ diff --git a/ruoyi-ui/src/views/trouble/sspProblemmodifyDraft/index.vue b/ruoyi-ui/src/views/trouble/sspProblemmodifyDraft/index.vue index 91c5fa6f..afbad0a7 100644 --- a/ruoyi-ui/src/views/trouble/sspProblemmodifyDraft/index.vue +++ b/ruoyi-ui/src/views/trouble/sspProblemmodifyDraft/index.vue @@ -288,7 +288,6 @@ diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectFunVerifyController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectFunVerifyController.java new file mode 100644 index 00000000..dd280003 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/controller/SurProjectFunVerifyController.java @@ -0,0 +1,151 @@ +package com.yanzhu.jh.project.controller; + +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.enums.SysRoleEnum; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.service.ISysDeptService; +import com.yanzhu.jh.project.domain.SurProjectFunVerify; +import com.yanzhu.jh.project.service.ISurProjectFunVerifyService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 工程功能检验Controller + * + * @author JiangYuQi + * @date 2023-08-18 + */ +@RestController +@RequestMapping("/project/projectFunVerify") +public class SurProjectFunVerifyController extends BaseController +{ + @Autowired + private ISurProjectFunVerifyService surProjectFunVerifyService; + + @Autowired + private ISysDeptService sysDeptService; + + /** + * 查询工程功能检验列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:list')") + @GetMapping("/list") + public TableDataInfo list(SurProjectFunVerify surProjectFunVerify) + { + startPage(); + surProjectFunVerify.setNowRole(Convert.toStr(getUserFirstRole())); + if(SysRoleEnum.ZGS.getCode().equals(surProjectFunVerify.getNowRole())){ + surProjectFunVerify.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId()))); + }else{ + surProjectFunVerify.setNowDept(Convert.toStr(getDeptId())); + } + surProjectFunVerify.setNowUser(Convert.toStr(getUserId())); + surProjectFunVerify.setNowUserName(getUsername()); + List list = surProjectFunVerifyService.selectSurProjectFunVerifyList(surProjectFunVerify); + return getDataTable(list); + } + + /** + * 统计工程功能检验 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:list')") + @GetMapping("/findGroupCountByApprove") + public AjaxResult findGroupCountByApprove(SurProjectFunVerify surProjectFunVerify) + { + surProjectFunVerify.setNowRole(Convert.toStr(getUserFirstRole())); + if(SysRoleEnum.ZGS.getCode().equals(surProjectFunVerify.getNowRole())){ + surProjectFunVerify.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId()))); + }else{ + surProjectFunVerify.setNowDept(Convert.toStr(getDeptId())); + } + surProjectFunVerify.setNowUser(Convert.toStr(getUserId())); + surProjectFunVerify.setNowUserName(getUsername()); + return success(surProjectFunVerifyService.findGroupCountByApprove(surProjectFunVerify)); + } + + /** + * 导出工程功能检验列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:export')") + @Log(title = "工程功能检验", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SurProjectFunVerify surProjectFunVerify) + { + surProjectFunVerify.setNowRole(Convert.toStr(getUserFirstRole())); + if(SysRoleEnum.ZGS.getCode().equals(surProjectFunVerify.getNowRole())){ + surProjectFunVerify.setNowDept(Convert.toStr(sysDeptService.getZGSDeptId(getDeptId()))); + }else{ + surProjectFunVerify.setNowDept(Convert.toStr(getDeptId())); + } + surProjectFunVerify.setNowUser(Convert.toStr(getUserId())); + surProjectFunVerify.setNowUserName(getUsername()); + List list = surProjectFunVerifyService.selectSurProjectFunVerifyList(surProjectFunVerify); + ExcelUtil util = new ExcelUtil(SurProjectFunVerify.class); + util.exportExcel(response, list, "工程功能检验数据"); + } + + /** + * 获取工程功能检验详细信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(surProjectFunVerifyService.selectSurProjectFunVerifyById(id)); + } + + /** + * 新增工程功能检验 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:add')") + @Log(title = "工程功能检验", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SurProjectFunVerify surProjectFunVerify) + { + surProjectFunVerify.setCreateBy(getUsername()); + return toAjax(surProjectFunVerifyService.insertSurProjectFunVerify(surProjectFunVerify)); + } + + /** + * 修改工程功能检验 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:edit')") + @Log(title = "工程功能检验", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SurProjectFunVerify surProjectFunVerify) + { + return toAjax(surProjectFunVerifyService.updateSurProjectFunVerify(surProjectFunVerify)); + } + + /** + * 修改工程功能检验 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:edit')") + @Log(title = "工程功能检验", businessType = BusinessType.UPDATE) + @PostMapping("/editNoLog") + public AjaxResult editNoLog(@RequestBody SurProjectFunVerify surProjectFunVerify) + { + return toAjax(surProjectFunVerifyService.updateSurProjectFunVerifyNoLog(surProjectFunVerify)); + } + + /** + * 删除工程功能检验 + */ + @PreAuthorize("@ss.hasPermi('project:projectFunVerify:remove')") + @Log(title = "工程功能检验", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(surProjectFunVerifyService.deleteSurProjectFunVerifyByIds(ids)); + } + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectFunVerify.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectFunVerify.java new file mode 100644 index 00000000..cef935ab --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/domain/SurProjectFunVerify.java @@ -0,0 +1,273 @@ +package com.yanzhu.jh.project.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 项目验收对象 sur_project_checking + * + * @author JiangYuQi + * @date 2023-08-18 + */ +public class SurProjectFunVerify extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 项目主键 */ + + private Long projectId; + + @Excel(name = "项目名称") + private String projectName; + + private Long deptId; + + /** 部门主键 */ + @Excel(name = "单位名称") + private String deptName; + + /** 检验类型 */ + @Excel(name = "检验类型") + private String checkType; + + /** 检验报告 */ + @Excel(name = "检验报告") + private String mainImage; + + /** 图片列表 */ + @Excel(name = "图片列表") + private String imageUrls; + + /** 检验名称 */ + @Excel(name = "检验名称") + private String checkName; + + /** 检验结果 */ + @Excel(name = "检验结果") + private String checkResult; + + /** 检验描述 */ + @Excel(name = "检验描述") + private String intro; + + /** 质量用户 */ + @Excel(name = "质量用户") + private String qualityUser; + + /** 质量用户名称 */ + @Excel(name = "质量用户名称") + private String qualityUserName; + + /** 监理用户 */ + @Excel(name = "监理用户") + private String superviseUser; + + /** 监理用户名称 */ + @Excel(name = "监理用户名称") + private String superviseUserName; + + /** 检验时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "检验时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date checkDate; + + /** 检验附件 */ + @Excel(name = "检验附件") + private String checkFiles; + + /** 数据状态 */ + @Excel(name = "数据状态") + private Long isDel; + + /** 审核状态 */ + @Excel(name = "审核状态") + private String approveStatus; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getProjectId() { + return projectId; + } + + public void setProjectId(Long projectId) { + this.projectId = projectId; + } + + public String getProjectName() { + return projectName; + } + + public void setProjectName(String projectName) { + this.projectName = projectName; + } + + public Long getDeptId() { + return deptId; + } + + public void setDeptId(Long deptId) { + this.deptId = deptId; + } + + public String getDeptName() { + return deptName; + } + + public void setDeptName(String deptName) { + this.deptName = deptName; + } + + public String getCheckType() { + return checkType; + } + + public void setCheckType(String checkType) { + this.checkType = checkType; + } + + public String getMainImage() { + return mainImage; + } + + public void setMainImage(String mainImage) { + this.mainImage = mainImage; + } + + public String getImageUrls() { + return imageUrls; + } + + public void setImageUrls(String imageUrls) { + this.imageUrls = imageUrls; + } + + public String getCheckName() { + return checkName; + } + + public void setCheckName(String checkName) { + this.checkName = checkName; + } + + public String getCheckResult() { + return checkResult; + } + + public void setCheckResult(String checkResult) { + this.checkResult = checkResult; + } + + public String getIntro() { + return intro; + } + + public void setIntro(String intro) { + this.intro = intro; + } + + public String getQualityUser() { + return qualityUser; + } + + public void setQualityUser(String qualityUser) { + this.qualityUser = qualityUser; + } + + public String getQualityUserName() { + return qualityUserName; + } + + public void setQualityUserName(String qualityUserName) { + this.qualityUserName = qualityUserName; + } + + public String getSuperviseUser() { + return superviseUser; + } + + public void setSuperviseUser(String superviseUser) { + this.superviseUser = superviseUser; + } + + public String getSuperviseUserName() { + return superviseUserName; + } + + public void setSuperviseUserName(String superviseUserName) { + this.superviseUserName = superviseUserName; + } + + public Date getCheckDate() { + return checkDate; + } + + public void setCheckDate(Date checkDate) { + this.checkDate = checkDate; + } + + public String getCheckFiles() { + return checkFiles; + } + + public void setCheckFiles(String checkFiles) { + this.checkFiles = checkFiles; + } + + public Long getIsDel() { + return isDel; + } + + public void setIsDel(Long isDel) { + this.isDel = isDel; + } + + public String getApproveStatus() { + return approveStatus; + } + + public void setApproveStatus(String approveStatus) { + this.approveStatus = approveStatus; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("deptId", getDeptId()) + .append("checkType", getCheckType()) + .append("mainImage", getMainImage()) + .append("imageUrls", getImageUrls()) + .append("checkName", getCheckName()) + .append("checkResult", getCheckResult()) + .append("intro", getIntro()) + .append("qualityUser", getQualityUser()) + .append("qualityUserName", getQualityUserName()) + .append("superviseUser", getSuperviseUser()) + .append("superviseUserName", getSuperviseUserName()) + .append("checkDate", getCheckDate()) + .append("checkFiles", getCheckFiles()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectFunVerifyMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectFunVerifyMapper.java new file mode 100644 index 00000000..b9ddc0e7 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectFunVerifyMapper.java @@ -0,0 +1,63 @@ +package com.yanzhu.jh.project.mapper; + +import com.yanzhu.jh.project.domain.SurProjectFunVerify; + +import java.util.List; + +/** + * 工程功能验收Mapper接口 + * + * @author JiangYuQi + * @date 2023-08-18 + */ +public interface SurProjectFunVerifyMapper +{ + /** + * 查询工程功能验收 + * + * @param id 工程功能验收主键 + * @return 工程功能验收 + */ + public SurProjectFunVerify selectSurProjectFunVerifyById(Long id); + + /** + * 查询工程功能验收列表 + * + * @param surProjectFunVerify 工程功能验收 + * @return 工程功能验收集合 + */ + public List selectSurProjectFunVerifyList(SurProjectFunVerify surProjectFunVerify); + + /** + * 新增工程功能验收 + * + * @param surProjectFunVerify 工程功能验收 + * @return 结果 + */ + public int insertSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify); + + /** + * 修改工程功能验收 + * + * @param surProjectFunVerify 工程功能验收 + * @return 结果 + */ + public int updateSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify); + + /** + * 删除工程功能验收 + * + * @param id 工程功能验收主键 + * @return 结果 + */ + public int deleteSurProjectFunVerifyById(Long id); + + /** + * 批量删除工程功能验收 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteSurProjectFunVerifyByIds(Long[] ids); + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectFunVerifyService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectFunVerifyService.java new file mode 100644 index 00000000..663611b8 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectFunVerifyService.java @@ -0,0 +1,80 @@ +package com.yanzhu.jh.project.service; + +import com.yanzhu.jh.project.domain.SurProjectFunVerify; + +import java.util.List; +import java.util.Map; + +/** + * 工程功能检验Service接口 + * + * @author JiangYuQi + * @date 2023-08-18 + */ +public interface ISurProjectFunVerifyService +{ + /** + * 查询工程功能检验 + * + * @param id 工程功能检验主键 + * @return 工程功能检验 + */ + public SurProjectFunVerify selectSurProjectFunVerifyById(Long id); + + /** + * 查询工程功能检验列表 + * + * @param surProjectFunVerify 工程功能检验 + * @return 工程功能检验集合 + */ + public List selectSurProjectFunVerifyList(SurProjectFunVerify surProjectFunVerify); + + /** + * 统计工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 工程功能检验集合 + */ + public Map findGroupCountByApprove(SurProjectFunVerify surProjectFunVerify); + + /** + * 新增工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + public int insertSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify); + + /** + * 修改工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + public int updateSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify); + + /** + * 修改工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + public int updateSurProjectFunVerifyNoLog(SurProjectFunVerify surProjectFunVerify); + + /** + * 批量删除工程功能检验 + * + * @param ids 需要删除的工程功能检验主键集合 + * @return 结果 + */ + public int deleteSurProjectFunVerifyByIds(Long[] ids); + + /** + * 删除工程功能检验信息 + * + * @param id 工程功能检验主键 + * @return 结果 + */ + public int deleteSurProjectFunVerifyById(Long id); + +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAuditinfoServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAuditinfoServiceImpl.java index b8694627..b2595239 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAuditinfoServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectAuditinfoServiceImpl.java @@ -155,7 +155,7 @@ public class SurProjectAuditinfoServiceImpl implements ISurProjectAuditinfoServi dataMap.put("todo",0); } List> approveList = surProjectAuditinfoMapper.selectMyAwaitFlowTask(flowTaskEntity); - int a=0,b=0,c=0,d=0; + int a=0,b=0,c=0,d=0,e=0; if(approveList!=null){ for(Map map:approveList){ if(PublicStateEnum.AUDIT_TYPE_QYFS.getCode().equals(map.get("type"))){ @@ -166,6 +166,8 @@ public class SurProjectAuditinfoServiceImpl implements ISurProjectAuditinfoServi c++; }else if(PublicStateEnum.AUDIT_TYPE_CLFY.getCode().equals(map.get("type"))){ d++; + }else if(PublicStateEnum.AUDIT_TYPE_GCGNJY.getCode().equals(map.get("type"))){ + e++; } } dataMap.put("approve",approveList.size()); @@ -209,6 +211,7 @@ public class SurProjectAuditinfoServiceImpl implements ISurProjectAuditinfoServi dataMap.put("approveSCSL",b); dataMap.put("approveJPYS",c); dataMap.put("approveCLFY",d); + dataMap.put("approveGCGN",e); //查询劳资预警审批信息 FlowLabourInfo flowLabourInfo=new FlowLabourInfo(); if(StringUtils.isNotEmpty(flowTaskEntity.getBusinessKey())){ diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectFunVerifyServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectFunVerifyServiceImpl.java new file mode 100644 index 00000000..407fde83 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectFunVerifyServiceImpl.java @@ -0,0 +1,202 @@ +package com.yanzhu.jh.project.service.impl; + +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.enums.PublicStateEnum; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; +import com.yanzhu.jh.project.domain.SurProjectAuditinfo; +import com.yanzhu.jh.project.domain.SurProjectFunVerify; +import com.yanzhu.jh.project.mapper.SurProjectAuditinfoMapper; +import com.yanzhu.jh.project.mapper.SurProjectFunVerifyMapper; +import com.yanzhu.jh.project.service.ISurProjectFunVerifyService; +import com.yanzhu.jh.wxsetting.service.impl.WeChatMessageServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 工程功能检验Service业务层处理 + * + * @author JiangYuQi + * @date 2023-08-18 + */ +@Service +public class SurProjectFunVerifyServiceImpl extends WeChatMessageServiceImpl implements ISurProjectFunVerifyService +{ + @Autowired + private SurProjectAuditinfoMapper surProjectAuditinfoMapper; + + @Autowired + private SurProjectFunVerifyMapper surProjectFunVerifyMapper; + + /** + * 查询工程功能检验 + * + * @param id 工程功能检验主键 + * @return 工程功能检验 + */ + @Override + public SurProjectFunVerify selectSurProjectFunVerifyById(Long id) + { + return surProjectFunVerifyMapper.selectSurProjectFunVerifyById(id); + } + + /** + * 查询工程功能检验列表 + * + * @param surProjectFunVerify 工程功能检验 + * @return 工程功能检验 + */ + @Override + public List selectSurProjectFunVerifyList(SurProjectFunVerify surProjectFunVerify) + { + return surProjectFunVerifyMapper.selectSurProjectFunVerifyList(surProjectFunVerify); + } + + /** + * 统计工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 工程功能检验集合 + */ + @Override + public Map findGroupCountByApprove(SurProjectFunVerify surProjectFunVerify) { + Map dataMap = new HashMap<>(); + surProjectFunVerify.setActiveName("jxz"); + List awaitList = surProjectFunVerifyMapper.selectSurProjectFunVerifyList(surProjectFunVerify); + if(awaitList!=null){ + dataMap.put("jxz",awaitList.size()); + }else{ + dataMap.put("jxz",0); + } + surProjectFunVerify.setActiveName("ywc"); + List finishedList = surProjectFunVerifyMapper.selectSurProjectFunVerifyList(surProjectFunVerify); + if(finishedList!=null){ + dataMap.put("ywc",finishedList.size()); + }else{ + dataMap.put("ywc",0); + } + return dataMap; + } + + /** + * 新增工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + @Override + @Transactional + public int insertSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify) + { + //默认第一张图是主图 + surProjectFunVerify.setMainImage(surProjectFunVerify.getImageUrls().split(",")[0]); + surProjectFunVerify.setIsDel(Convert.toLong(PublicStateEnum.OK.getCode())); + surProjectFunVerify.setCreateTime(DateUtils.getNowDate()); + + int res = surProjectFunVerifyMapper.insertSurProjectFunVerify(surProjectFunVerify); + //操作日志 + if(StringUtils.isNotBlank(surProjectFunVerify.getApproveStatus())){ + SurProjectAuditinfo surProjectAuditinfo = new SurProjectAuditinfo(); + surProjectAuditinfo.setFromType(PublicStateEnum.AUDIT_TYPE_GCGNJY.getCode()); + surProjectAuditinfo.setFromId(surProjectFunVerify.getId()); + surProjectAuditinfo.setApproveStatus(surProjectFunVerify.getApproveStatus()); + if(StringUtils.isNotBlank(surProjectFunVerify.getComment())){ + surProjectAuditinfo.setComment(surProjectFunVerify.getComment()); + } + surProjectAuditinfo.setCreateBy(surProjectFunVerify.getCreateBy()); + surProjectAuditinfo.setCreateTime(new Date()); + surProjectAuditinfoMapper.insertSurProjectAuditinfo(surProjectAuditinfo); + } + + if(res>0){ + super.send(surProjectFunVerify); + } + return res; + } + + /** + * 修改工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + @Override + @Transactional + public int updateSurProjectFunVerify(SurProjectFunVerify surProjectFunVerify) + { + if(surProjectFunVerify.getImageUrls()!=null){ + surProjectFunVerify.setMainImage(surProjectFunVerify.getImageUrls().split(",")[0]); + } + if(surProjectFunVerify.getUpdateBy()==null){ + surProjectFunVerify.setUpdateBy(SecurityUtils.getUsername()); + } + surProjectFunVerify.setUpdateTime(DateUtils.getNowDate()); + int res = surProjectFunVerifyMapper.updateSurProjectFunVerify(surProjectFunVerify); + + //操作日志 + if(StringUtils.isNotBlank(surProjectFunVerify.getApproveStatus())){ + SurProjectAuditinfo surProjectAuditinfo = new SurProjectAuditinfo(); + surProjectAuditinfo.setFromType(PublicStateEnum.AUDIT_TYPE_GCGNJY.getCode()); + surProjectAuditinfo.setFromId(surProjectFunVerify.getId()); + surProjectAuditinfo.setApproveStatus(surProjectFunVerify.getApproveStatus()); + if(StringUtils.isNotBlank(surProjectFunVerify.getComment())){ + surProjectAuditinfo.setComment(surProjectFunVerify.getComment()); + } + surProjectAuditinfo.setCreateBy(surProjectFunVerify.getUpdateBy()); + surProjectAuditinfo.setCreateTime(new Date()); + surProjectAuditinfoMapper.insertSurProjectAuditinfo(surProjectAuditinfo); + + //推送代办消息 + if(res>0){ + surProjectFunVerify = surProjectFunVerifyMapper.selectSurProjectFunVerifyById(surProjectFunVerify.getId()); + super.send(surProjectFunVerify); + } + } + + return res; + } + + /** + * 修改工程功能检验 + * + * @param surProjectFunVerify 工程功能检验 + * @return 结果 + */ + @Override + @Transactional + public int updateSurProjectFunVerifyNoLog(SurProjectFunVerify surProjectFunVerify) + { + return surProjectFunVerifyMapper.updateSurProjectFunVerify(surProjectFunVerify); + } + + /** + * 批量删除工程功能检验 + * + * @param ids 需要删除的工程功能检验主键 + * @return 结果 + */ + @Override + public int deleteSurProjectFunVerifyByIds(Long[] ids) + { + return surProjectFunVerifyMapper.deleteSurProjectFunVerifyByIds(ids); + } + + /** + * 删除工程功能检验信息 + * + * @param id 工程功能检验主键 + * @return 结果 + */ + @Override + public int deleteSurProjectFunVerifyById(Long id) + { + return surProjectFunVerifyMapper.deleteSurProjectFunVerifyById(id); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/wxsetting/service/impl/WeChatMessageServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/wxsetting/service/impl/WeChatMessageServiceImpl.java index e5d6366e..d00fac55 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/wxsetting/service/impl/WeChatMessageServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/wxsetting/service/impl/WeChatMessageServiceImpl.java @@ -314,6 +314,65 @@ public class WeChatMessageServiceImpl { this.send(list,MessageTypeEnum.JPYSSP.getCode()+stateStr); } + /** + * 工程功能检验操作时推送信息 + * @param surProjectFunVerify + */ + @Async + public void send(SurProjectFunVerify surProjectFunVerify){ + List list = new ArrayList<>(); + String stateStr = surProjectFunVerify.getApproveStatus(); + if(Objects.equals(PublicStateEnum.AUDITINFO_DSH.getCode(),stateStr)){ + /** + * 监理审批待审批 + */ + String supMsgId = this.getMsgId(surProjectFunVerify.getSuperviseUser()); + WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() + .toUser(supMsgId) + .templateId(TemplateMessageEnum.APPLY_DEFAULT.getId()) + .miniProgram(new WxMpTemplateMessage.MiniProgram(WechatAccountConfig.getWxAppId(), "/pageage/project_funVerify/list/index?barProId="+surProjectFunVerify.getProjectId())) + .build(); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing14", this.getMsgProName(surProjectFunVerify.getProjectId()))); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing1", MessageTypeEnum.GCGNJY.getName())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing2", "待"+surProjectFunVerify.getSuperviseUserName()+"审批")); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("time4", DateUtils.getTime())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing10", this.getMsgName(surProjectFunVerify.getCreateBy())+"["+this.getMsgDepName(surProjectFunVerify.getDeptId())+"]")); + list.add(templateMessage); + + }else if(Objects.equals(PublicStateEnum.AUDITINFO_SHTG.getCode(),stateStr)){ + /** + * 审批通过 + * 通知提交人审核通过 + */ + WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() + .toUser(this.getMsgId(surProjectFunVerify.getCreateBy())) + .miniProgram(new WxMpTemplateMessage.MiniProgram(WechatAccountConfig.getWxAppId(), "/pageage/project_funVerify/list/index?barProId="+surProjectFunVerify.getProjectId())) + .templateId(TemplateMessageEnum.APPLY_DEFAULT.getId()).build(); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing14", this.getMsgProName(surProjectFunVerify.getProjectId()))); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing1", MessageTypeEnum.GCGNJY.getName())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing2", surProjectFunVerify.getSuperviseUserName()+"审批通过")); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("time4", DateUtils.getTime())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing10", this.getMsgName(surProjectFunVerify.getCreateBy())+"["+this.getMsgDepName(surProjectFunVerify.getDeptId())+"]")); + list.add(templateMessage); + }else{ + /** + * 审批驳回 + * 通知提交人审核驳回 + */ + WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() + .toUser(this.getMsgId(surProjectFunVerify.getCreateBy())) + .miniProgram(new WxMpTemplateMessage.MiniProgram(WechatAccountConfig.getWxAppId(), "/pageage/project_funVerify/list/index?barProId="+surProjectFunVerify.getProjectId())) + .templateId(TemplateMessageEnum.APPLY_DEFAULT.getId()).build(); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing14", this.getMsgProName(surProjectFunVerify.getProjectId()))); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing1", MessageTypeEnum.GCGNJY.getName())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing2", surProjectFunVerify.getSuperviseUserName()+"审批驳回")); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("time4", DateUtils.getTime())); + templateMessage.addWxMpTemplateData(new WxMpTemplateData("thing10", this.getMsgName(surProjectFunVerify.getCreateBy())+"["+this.getMsgDepName(surProjectFunVerify.getDeptId())+"]")); + list.add(templateMessage); + } + this.send(list,MessageTypeEnum.GCGNJY.getCode()+stateStr); + } + /** * 实测实量操作时推送信息 * @param surProjectMeasure diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectCheckingMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectCheckingMapper.xml index c3846a1d..2cec6718 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectCheckingMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectCheckingMapper.xml @@ -104,7 +104,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sur_project_unit_info spui on spui.projectId = sp.id - and spc.is_del=0 and sp.isDel=0 and sp.progressVisible=0 + and spc.is_del=0 and sp.isDel=0 and spc.project_id = #{projectId} and sp.projectType = #{proType} @@ -153,7 +153,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join sur_project_unit_info spui on spui.projectId = sp.id - and spc.is_del=0 and sp.isDel=0 and sp.progressVisible=0 + and spc.is_del=0 and sp.isDel=0 and spc.project_id = #{projectId} and sp.projectType = #{proType} @@ -196,7 +196,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select spc.check_result, count(spc.id) as total from sur_project_checking spc left join sur_project sp on spc.project_id = sp.id - and spc.is_del=0 and sp.isDel=0 and sp.progressVisible=0 + and spc.is_del=0 and sp.isDel=0 and spc.project_id = #{projectId} and sp.deptId = #{projectDeptId} and sp.projectType = #{proType} @@ -367,7 +367,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ( SELECT data_type_lvl2,count(1) cnt FROM sur_project_checking a,sur_project b WHERE a.project_id=b.id - and a.is_del=0 and b.isDel=0 and b.progressVisible=0 + and a.is_del=0 and b.isDel=0 and a.project_id = #{projectId} and b.deptId = #{projectDeptId} and b.projectType = #{proType} @@ -385,7 +385,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + and spfv.is_del=0 + and spfv.project_id = #{projectId} + and sp.projectName like concat('%', #{projectName}, '%') + + and (spfv.dept_id = #{deptId} or spfv.supervise_user like concat('%', #{nowUserName}, '%')) + + and sd.dept_name like concat('%', #{deptName}, '%') + and spfv.check_type = #{checkType} + and spfv.approve_status = #{approveStatus} + and spfv.check_result = #{checkResult} + and (spfv.quality_user like concat('%', #{qualityUser}, '%') or spfv.quality_user_name like concat('%', #{qualityUser}, '%')) + and spfv.quality_user_name like concat('%', #{qualityUserName}, '%') + and (spfv.supervise_user like concat('%', #{superviseUser}, '%') or spfv.supervise_user_name like concat('%', #{superviseUser}, '%')) + and spfv.supervise_user_name like concat('%', #{superviseUserName}, '%') + and spfv.check_date between #{params.beginDate} and #{params.endDate} + + and sp.deptId = #{projectDeptId} + + and sp.deptId = #{nowDept} + + and sp.id in (select spui.projectId from sur_project_unit_info spui where spui.unitId = #{nowDept} and spui.del_flag=0 ) + + + and (sp.id in (select spu.project_id from sur_project_userinfo spu where spu.user_id = #{nowUser} and spu.is_del=0) + or spfv.supervise_user like concat('%', #{nowUserName}, '%') + ) + + and spfv.approve_status != '4' + and spfv.approve_status = '4' + + order by spfv.approve_status, spfv.id desc + + + + + + + + insert into sur_project_fun_verify + + project_id, + dept_id, + check_type, + main_image, + image_urls, + check_name, + check_result, + intro, + quality_user, + quality_user_name, + supervise_user, + supervise_user_name, + check_date, + check_files, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + approve_status, + + + #{projectId}, + #{deptId}, + #{checkType}, + #{mainImage}, + #{imageUrls}, + #{checkName}, + #{checkResult}, + #{intro}, + #{qualityUser}, + #{qualityUserName}, + #{superviseUser}, + #{superviseUserName}, + #{checkDate}, + #{checkFiles}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{approveStatus}, + + + + + update sur_project_fun_verify + + project_id = #{projectId}, + dept_id = #{deptId}, + check_type = #{checkType}, + main_image = #{mainImage}, + image_urls = #{imageUrls}, + check_name = #{checkName}, + check_result = #{checkResult}, + intro = #{intro}, + quality_user = #{qualityUser}, + quality_user_name = #{qualityUserName}, + supervise_user = #{superviseUser}, + supervise_user_name = #{superviseUserName}, + check_date = #{checkDate}, + check_files = #{checkFiles}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + approve_status = #{approveStatus}, + + where id = #{id} + + + + update sur_project_fun_verify set is_del = 1 where id = #{id} + + + + update sur_project_fun_verify set is_del = 1 where id in + + #{id} + + + + \ No newline at end of file