Browse Source

项目流转子流程,预算、安全、技术交底

lamphua 1 year ago
parent
commit
d23fbb1853
36 changed files with 2382 additions and 537 deletions
  1. 0
    1
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarController.java
  2. 104
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectCommentController.java
  3. 104
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java
  4. 104
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java
  5. 11
    7
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java
  6. 43
    0
      oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallBudgetActivityExecutionListener.java
  7. 0
    97
      oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/MyServiceTask.java
  8. 111
    30
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java
  9. 168
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectComment.java
  10. 96
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectProgress.java
  11. 16
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectWork.java
  12. 138
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcTechnical.java
  13. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectCommentMapper.java
  14. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectProgressMapper.java
  15. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcTechnicalMapper.java
  16. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectCommentService.java
  17. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectProgressService.java
  18. 61
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcTechnicalService.java
  19. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectCommentServiceImpl.java
  20. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectProgressServiceImpl.java
  21. 93
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcTechnicalServiceImpl.java
  22. 16
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java
  23. 16
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java
  24. 22
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java
  25. 1
    6
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractCommentMapper.xml
  26. 98
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectCommentMapper.xml
  27. 50
    32
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml
  28. 73
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectProgressMapper.xml
  29. 7
    2
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkMapper.xml
  30. 88
    0
      oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcTechnicalMapper.xml
  31. 18
    0
      oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml
  32. 286
    199
      oa-back/sql/sql.sql
  33. 1
    2
      oa-ui/src/views/flowable/form/deviceForm.vue
  34. 27
    126
      oa-ui/src/views/flowable/form/projectProcess/addproject.vue
  35. 131
    12
      oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue
  36. 8
    23
      oa-ui/src/views/flowable/form/projectProcess/index.vue

+ 0
- 1
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcCarController.java View File

@@ -5,7 +5,6 @@ import java.text.SimpleDateFormat;
5 5
 import java.util.List;
6 6
 import javax.servlet.http.HttpServletResponse;
7 7
 
8
-import com.alibaba.fastjson2.JSONObject;
9 8
 import com.ruoyi.common.utils.DateUtils;
10 9
 import com.ruoyi.system.service.ISysUserService;
11 10
 import org.springframework.beans.factory.annotation.Autowired;

+ 104
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectCommentController.java View File

@@ -0,0 +1,104 @@
1
+package com.ruoyi.web.controller.oa;
2
+
3
+import java.util.List;
4
+import javax.servlet.http.HttpServletResponse;
5
+import org.springframework.security.access.prepost.PreAuthorize;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.web.bind.annotation.GetMapping;
8
+import org.springframework.web.bind.annotation.PostMapping;
9
+import org.springframework.web.bind.annotation.PutMapping;
10
+import org.springframework.web.bind.annotation.DeleteMapping;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RestController;
15
+import com.ruoyi.common.annotation.Log;
16
+import com.ruoyi.common.core.controller.BaseController;
17
+import com.ruoyi.common.core.domain.AjaxResult;
18
+import com.ruoyi.common.enums.BusinessType;
19
+import com.ruoyi.oa.domain.CmcProjectComment;
20
+import com.ruoyi.oa.service.ICmcProjectCommentService;
21
+import com.ruoyi.common.utils.poi.ExcelUtil;
22
+import com.ruoyi.common.core.page.TableDataInfo;
23
+
24
+/**
25
+ * cmc项目审批Controller
26
+ * 
27
+ * @author cmc
28
+ * @date 2024-04-02
29
+ */
30
+@RestController
31
+@RequestMapping("/oa/projectComment")
32
+public class CmcProjectCommentController extends BaseController
33
+{
34
+    @Autowired
35
+    private ICmcProjectCommentService cmcProjectCommentService;
36
+
37
+    /**
38
+     * 查询cmc项目审批列表
39
+     */
40
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:list')")
41
+    @GetMapping("/list")
42
+    public TableDataInfo list(CmcProjectComment cmcProjectComment)
43
+    {
44
+        startPage();
45
+        List<CmcProjectComment> list = cmcProjectCommentService.selectCmcProjectCommentList(cmcProjectComment);
46
+        return getDataTable(list);
47
+    }
48
+
49
+    /**
50
+     * 导出cmc项目审批列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:export')")
53
+    @Log(title = "cmc项目审批", businessType = BusinessType.EXPORT)
54
+    @PostMapping("/export")
55
+    public void export(HttpServletResponse response, CmcProjectComment cmcProjectComment)
56
+    {
57
+        List<CmcProjectComment> list = cmcProjectCommentService.selectCmcProjectCommentList(cmcProjectComment);
58
+        ExcelUtil<CmcProjectComment> util = new ExcelUtil<CmcProjectComment>(CmcProjectComment.class);
59
+        util.exportExcel(response, list, "cmc项目审批数据");
60
+    }
61
+
62
+    /**
63
+     * 获取cmc项目审批详细信息
64
+     */
65
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:query')")
66
+    @GetMapping(value = "/{projectId}")
67
+    public AjaxResult getInfo(@PathVariable("projectId") String projectId)
68
+    {
69
+        return success(cmcProjectCommentService.selectCmcProjectCommentByProjectId(projectId));
70
+    }
71
+
72
+    /**
73
+     * 新增cmc项目审批
74
+     */
75
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:add')")
76
+    @Log(title = "cmc项目审批", businessType = BusinessType.INSERT)
77
+    @PostMapping
78
+    public AjaxResult add(@RequestBody CmcProjectComment cmcProjectComment)
79
+    {
80
+        return toAjax(cmcProjectCommentService.insertCmcProjectComment(cmcProjectComment));
81
+    }
82
+
83
+    /**
84
+     * 修改cmc项目审批
85
+     */
86
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:edit')")
87
+    @Log(title = "cmc项目审批", businessType = BusinessType.UPDATE)
88
+    @PutMapping
89
+    public AjaxResult edit(@RequestBody CmcProjectComment cmcProjectComment)
90
+    {
91
+        return toAjax(cmcProjectCommentService.updateCmcProjectComment(cmcProjectComment));
92
+    }
93
+
94
+    /**
95
+     * 删除cmc项目审批
96
+     */
97
+    @PreAuthorize("@ss.hasPermi('oa:projectComment:remove')")
98
+    @Log(title = "cmc项目审批", businessType = BusinessType.DELETE)
99
+	@DeleteMapping("/{projectIds}")
100
+    public AjaxResult remove(@PathVariable String[] projectIds)
101
+    {
102
+        return toAjax(cmcProjectCommentService.deleteCmcProjectCommentByProjectIds(projectIds));
103
+    }
104
+}

+ 104
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectProgressController.java View File

@@ -0,0 +1,104 @@
1
+package com.ruoyi.web.controller.oa;
2
+
3
+import java.util.List;
4
+import javax.servlet.http.HttpServletResponse;
5
+import org.springframework.security.access.prepost.PreAuthorize;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.web.bind.annotation.GetMapping;
8
+import org.springframework.web.bind.annotation.PostMapping;
9
+import org.springframework.web.bind.annotation.PutMapping;
10
+import org.springframework.web.bind.annotation.DeleteMapping;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RestController;
15
+import com.ruoyi.common.annotation.Log;
16
+import com.ruoyi.common.core.controller.BaseController;
17
+import com.ruoyi.common.core.domain.AjaxResult;
18
+import com.ruoyi.common.enums.BusinessType;
19
+import com.ruoyi.oa.domain.CmcProjectProgress;
20
+import com.ruoyi.oa.service.ICmcProjectProgressService;
21
+import com.ruoyi.common.utils.poi.ExcelUtil;
22
+import com.ruoyi.common.core.page.TableDataInfo;
23
+
24
+/**
25
+ * cmc项目进度Controller
26
+ * 
27
+ * @author cmc
28
+ * @date 2024-04-02
29
+ */
30
+@RestController
31
+@RequestMapping("/oa/projectProgress")
32
+public class CmcProjectProgressController extends BaseController
33
+{
34
+    @Autowired
35
+    private ICmcProjectProgressService cmcProjectProgressService;
36
+
37
+    /**
38
+     * 查询cmc项目进度列表
39
+     */
40
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:list')")
41
+    @GetMapping("/list")
42
+    public TableDataInfo list(CmcProjectProgress cmcProjectProgress)
43
+    {
44
+        startPage();
45
+        List<CmcProjectProgress> list = cmcProjectProgressService.selectCmcProjectProgressList(cmcProjectProgress);
46
+        return getDataTable(list);
47
+    }
48
+
49
+    /**
50
+     * 导出cmc项目进度列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:export')")
53
+    @Log(title = "cmc项目进度", businessType = BusinessType.EXPORT)
54
+    @PostMapping("/export")
55
+    public void export(HttpServletResponse response, CmcProjectProgress cmcProjectProgress)
56
+    {
57
+        List<CmcProjectProgress> list = cmcProjectProgressService.selectCmcProjectProgressList(cmcProjectProgress);
58
+        ExcelUtil<CmcProjectProgress> util = new ExcelUtil<CmcProjectProgress>(CmcProjectProgress.class);
59
+        util.exportExcel(response, list, "cmc项目进度数据");
60
+    }
61
+
62
+    /**
63
+     * 获取cmc项目进度详细信息
64
+     */
65
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:query')")
66
+    @GetMapping(value = "/{progressId}")
67
+    public AjaxResult getInfo(@PathVariable("progressId") String progressId)
68
+    {
69
+        return success(cmcProjectProgressService.selectCmcProjectProgressByProgressId(progressId));
70
+    }
71
+
72
+    /**
73
+     * 新增cmc项目进度
74
+     */
75
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:add')")
76
+    @Log(title = "cmc项目进度", businessType = BusinessType.INSERT)
77
+    @PostMapping
78
+    public AjaxResult add(@RequestBody CmcProjectProgress cmcProjectProgress)
79
+    {
80
+        return toAjax(cmcProjectProgressService.insertCmcProjectProgress(cmcProjectProgress));
81
+    }
82
+
83
+    /**
84
+     * 修改cmc项目进度
85
+     */
86
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:edit')")
87
+    @Log(title = "cmc项目进度", businessType = BusinessType.UPDATE)
88
+    @PutMapping
89
+    public AjaxResult edit(@RequestBody CmcProjectProgress cmcProjectProgress)
90
+    {
91
+        return toAjax(cmcProjectProgressService.updateCmcProjectProgress(cmcProjectProgress));
92
+    }
93
+
94
+    /**
95
+     * 删除cmc项目进度
96
+     */
97
+    @PreAuthorize("@ss.hasPermi('oa:projectProgress:remove')")
98
+    @Log(title = "cmc项目进度", businessType = BusinessType.DELETE)
99
+	@DeleteMapping("/{progressIds}")
100
+    public AjaxResult remove(@PathVariable String[] progressIds)
101
+    {
102
+        return toAjax(cmcProjectProgressService.deleteCmcProjectProgressByProgressIds(progressIds));
103
+    }
104
+}

+ 104
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcTechnicalController.java View File

@@ -0,0 +1,104 @@
1
+package com.ruoyi.web.controller.oa;
2
+
3
+import java.util.List;
4
+import javax.servlet.http.HttpServletResponse;
5
+import org.springframework.security.access.prepost.PreAuthorize;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.web.bind.annotation.GetMapping;
8
+import org.springframework.web.bind.annotation.PostMapping;
9
+import org.springframework.web.bind.annotation.PutMapping;
10
+import org.springframework.web.bind.annotation.DeleteMapping;
11
+import org.springframework.web.bind.annotation.PathVariable;
12
+import org.springframework.web.bind.annotation.RequestBody;
13
+import org.springframework.web.bind.annotation.RequestMapping;
14
+import org.springframework.web.bind.annotation.RestController;
15
+import com.ruoyi.common.annotation.Log;
16
+import com.ruoyi.common.core.controller.BaseController;
17
+import com.ruoyi.common.core.domain.AjaxResult;
18
+import com.ruoyi.common.enums.BusinessType;
19
+import com.ruoyi.oa.domain.CmcTechnical;
20
+import com.ruoyi.oa.service.ICmcTechnicalService;
21
+import com.ruoyi.common.utils.poi.ExcelUtil;
22
+import com.ruoyi.common.core.page.TableDataInfo;
23
+
24
+/**
25
+ * cmc技术方案Controller
26
+ * 
27
+ * @author cmc
28
+ * @date 2024-04-02
29
+ */
30
+@RestController
31
+@RequestMapping("/oa/technical")
32
+public class CmcTechnicalController extends BaseController
33
+{
34
+    @Autowired
35
+    private ICmcTechnicalService cmcTechnicalService;
36
+
37
+    /**
38
+     * 查询cmc技术方案列表
39
+     */
40
+    @PreAuthorize("@ss.hasPermi('oa:technical:list')")
41
+    @GetMapping("/list")
42
+    public TableDataInfo list(CmcTechnical cmcTechnical)
43
+    {
44
+        startPage();
45
+        List<CmcTechnical> list = cmcTechnicalService.selectCmcTechnicalList(cmcTechnical);
46
+        return getDataTable(list);
47
+    }
48
+
49
+    /**
50
+     * 导出cmc技术方案列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('oa:technical:export')")
53
+    @Log(title = "cmc技术方案", businessType = BusinessType.EXPORT)
54
+    @PostMapping("/export")
55
+    public void export(HttpServletResponse response, CmcTechnical cmcTechnical)
56
+    {
57
+        List<CmcTechnical> list = cmcTechnicalService.selectCmcTechnicalList(cmcTechnical);
58
+        ExcelUtil<CmcTechnical> util = new ExcelUtil<CmcTechnical>(CmcTechnical.class);
59
+        util.exportExcel(response, list, "cmc技术方案数据");
60
+    }
61
+
62
+    /**
63
+     * 获取cmc技术方案详细信息
64
+     */
65
+    @PreAuthorize("@ss.hasPermi('oa:technical:query')")
66
+    @GetMapping(value = "/{technicalId}")
67
+    public AjaxResult getInfo(@PathVariable("technicalId") String technicalId)
68
+    {
69
+        return success(cmcTechnicalService.selectCmcTechnicalByTechnicalId(technicalId));
70
+    }
71
+
72
+    /**
73
+     * 新增cmc技术方案
74
+     */
75
+    @PreAuthorize("@ss.hasPermi('oa:technical:add')")
76
+    @Log(title = "cmc技术方案", businessType = BusinessType.INSERT)
77
+    @PostMapping
78
+    public AjaxResult add(@RequestBody CmcTechnical cmcTechnical)
79
+    {
80
+        return toAjax(cmcTechnicalService.insertCmcTechnical(cmcTechnical));
81
+    }
82
+
83
+    /**
84
+     * 修改cmc技术方案
85
+     */
86
+    @PreAuthorize("@ss.hasPermi('oa:technical:edit')")
87
+    @Log(title = "cmc技术方案", businessType = BusinessType.UPDATE)
88
+    @PutMapping
89
+    public AjaxResult edit(@RequestBody CmcTechnical cmcTechnical)
90
+    {
91
+        return toAjax(cmcTechnicalService.updateCmcTechnical(cmcTechnical));
92
+    }
93
+
94
+    /**
95
+     * 删除cmc技术方案
96
+     */
97
+    @PreAuthorize("@ss.hasPermi('oa:technical:remove')")
98
+    @Log(title = "cmc技术方案", businessType = BusinessType.DELETE)
99
+	@DeleteMapping("/{technicalIds}")
100
+    public AjaxResult remove(@PathVariable String[] technicalIds)
101
+    {
102
+        return toAjax(cmcTechnicalService.deleteCmcTechnicalByTechnicalIds(technicalIds));
103
+    }
104
+}

+ 11
- 7
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysPostController.java View File

@@ -73,6 +73,8 @@ public class SysPostController extends BaseController
73 73
     public AjaxResult getDeptLeader(String userId)
74 74
     {
75 75
         SysUser deptLeader = postService.selectDeptLeaderByUserId(userId);
76
+        if (deptLeader == null)
77
+            deptLeader = postService.selectViceDeptLeaderByUserId(userId);
76 78
         return success(deptLeader);
77 79
     }
78 80
 
@@ -83,6 +85,8 @@ public class SysPostController extends BaseController
83 85
     public AjaxResult getDeptLeaderByDeptId(String deptId)
84 86
     {
85 87
         SysUser deptLeader = postService.selectDeptLeaderByDeptId(deptId);
88
+        if (deptLeader == null)
89
+            deptLeader = postService.selectViceDeptLeaderByDeptId(deptId);
86 90
         return success(deptLeader);
87 91
     }
88 92
 
@@ -187,13 +191,13 @@ public class SysPostController extends BaseController
187 191
 
188 192
     private SysUser getManageId(Long id) {
189 193
         JSONObject jsonObject = new JSONObject();
190
-        jsonObject.put("2", Arrays.asList(103,105,113));
191
-        jsonObject.put("7", Arrays.asList(104, 112, 116));
192
-        jsonObject.put("9", Arrays.asList(108, 109));
193
-        jsonObject.put("10", Arrays.asList(110, 111));
194
-        jsonObject.put("11", Arrays.asList(106, 107));
195
-        jsonObject.put("12", Arrays.asList(117));
196
-        jsonObject.put("13", Arrays.asList(114, 115));
194
+        jsonObject.put("2", Arrays.asList(104,106,114));
195
+        jsonObject.put("7", Arrays.asList(105, 113, 117));
196
+        jsonObject.put("9", Arrays.asList(109, 110));
197
+        jsonObject.put("10", Arrays.asList(111, 112));
198
+        jsonObject.put("11", Arrays.asList(107, 108));
199
+        jsonObject.put("12", Arrays.asList(118));
200
+        jsonObject.put("13", Arrays.asList(115, 116));
197 201
         Iterator<String> iterator = jsonObject.keySet().iterator();
198 202
         String manageId = "";
199 203
         while(iterator.hasNext()){

+ 43
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallBudgetActivityExecutionListener.java View File

@@ -0,0 +1,43 @@
1
+package com.ruoyi.flowable.oa;
2
+
3
+import org.flowable.bpmn.model.CallActivity;
4
+import org.flowable.bpmn.model.ExtensionAttribute;
5
+import org.flowable.bpmn.model.ExtensionElement;
6
+import org.flowable.bpmn.model.IOParameter;
7
+import org.flowable.engine.delegate.DelegateExecution;
8
+import org.flowable.engine.delegate.ExecutionListener;
9
+import org.springframework.stereotype.Component;
10
+
11
+import java.util.List;
12
+import java.util.Map;
13
+
14
+@Component("CallBudgetActivityExecutionListener")
15
+public class CallBudgetActivityExecutionListener implements ExecutionListener {
16
+    @Override
17
+    public void notify(DelegateExecution delegateExecution) {
18
+        CallActivity callActivity = (CallActivity)delegateExecution.getCurrentFlowElement();
19
+        String initiator = null;
20
+        Map<String, List<ExtensionElement>> extensionElements = callActivity.getExtensionElements();
21
+        for(Map.Entry<String, List<ExtensionElement>> entry: extensionElements.entrySet()) {
22
+            // 这一层读取的就是 button 类似的标签
23
+            String attributeName = entry.getKey();
24
+            List<ExtensionElement> attributeValueList = entry.getValue();
25
+            if (attributeName.equals("budgetInitiator")) {
26
+                for(ExtensionElement item: attributeValueList) {
27
+                    // 处理 类似button  ExtensionElement 里面的属性
28
+                    Map<String, List<ExtensionAttribute>> extensionElementAttributes = item.getAttributes();
29
+                    for (Map.Entry<String, List<ExtensionAttribute>> tmpEntry : extensionElementAttributes.entrySet()) {
30
+                        initiator = tmpEntry.getValue().get(0).getValue(); //  把子流程的发起人找到
31
+                    }
32
+                }
33
+            }
34
+        }
35
+        List<IOParameter> ioParameterList = callActivity.getInParameters();
36
+        for (IOParameter ioParameter: ioParameterList) {
37
+            String source = ioParameter.getSource();
38
+            if (source.equals("budgetInitiator")) {
39
+                delegateExecution.setVariable(source, initiator); // 把子流程的发起人先给到父流程,然后用引擎的能力进行传递
40
+            }
41
+        }
42
+    }
43
+}

+ 0
- 97
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/MyServiceTask.java View File

@@ -1,97 +0,0 @@
1
-package com.ruoyi.flowable.oa;
2
-
3
-import com.ruoyi.common.utils.SnowFlake;
4
-import com.ruoyi.common.utils.spring.SpringUtils;
5
-import com.ruoyi.oa.domain.CmcAssess;
6
-import com.ruoyi.oa.domain.CmcAssessContent;
7
-import com.ruoyi.oa.domain.CmcAssessContentWork;
8
-import com.ruoyi.oa.mapper.CmcAssessContentMapper;
9
-import com.ruoyi.oa.mapper.CmcAssessContentWorkMapper;
10
-import com.ruoyi.oa.mapper.CmcAssessMapper;
11
-import org.flowable.engine.ProcessEngine;
12
-import org.flowable.engine.ProcessEngines;
13
-import org.flowable.engine.RuntimeService;
14
-import org.flowable.engine.delegate.DelegateExecution;
15
-import org.flowable.engine.delegate.JavaDelegate;
16
-import org.flowable.engine.task.Comment;
17
-
18
-import java.util.Arrays;
19
-import java.util.List;
20
-import java.util.Map;
21
-import java.util.regex.Matcher;
22
-import java.util.regex.Pattern;
23
-
24
-public class MyServiceTask implements JavaDelegate {
25
-    public List<String> fieldList = Arrays.asList("role", "familiar", "remark");
26
-
27
-    @Override
28
-    public void execute(DelegateExecution execution) {
29
-        CmcAssessMapper cmcAssessMapper = SpringUtils.getBean(CmcAssessMapper.class);
30
-        CmcAssessContentMapper cmcAssessContentMapper = SpringUtils.getBean(CmcAssessContentMapper.class);
31
-        CmcAssessContentWorkMapper cmcAssessContentWorkMapper = SpringUtils.getBean(CmcAssessContentWorkMapper.class);
32
-        ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
33
-        RuntimeService runtimeService = processEngine.getRuntimeService();
34
-        Map<String,Object> variables = runtimeService.getVariables(execution.getId());
35
-        String processInstance = execution.getProcessInstanceId();
36
-        CmcAssess cmcAssess = new CmcAssess();
37
-        SnowFlake snowFlake = new SnowFlake();
38
-//        cmcAssess = cmcAssessMapper.selectCmcAssessByAssessId("0");
39
-        cmcAssess.setAssessId(snowFlake.generateId());
40
-        cmcAssessMapper.insertCmcAssess(cmcAssess);
41
-        for(String key : variables.keySet()){
42
-            if (removeDigital(key).equals("role") && !variables.get(key).toString().equals("")) {
43
-                CmcAssessContent cmcAssessContent = new CmcAssessContent();
44
-                cmcAssessContent.setContentId(cmcAssess.getAssessId() + key.substring(4));
45
-                cmcAssessContentMapper.insertCmcAssessContent(cmcAssessContent);
46
-            }
47
-        }
48
-        for(String key : variables.keySet()){
49
-            if (key.length() == 5 && key.startsWith("f") && !variables.get(key).toString().equals("")) {
50
-                CmcAssessContentWork cmcAssessContentWork = new CmcAssessContentWork();
51
-                cmcAssessContentWork.setWorkId(cmcAssess.getAssessId() + key.substring(1));
52
-                cmcAssessContentWork.setWorkLoad(variables.get(key).toString());
53
-                cmcAssessContentWorkMapper.insertCmcAssessContentWork(cmcAssessContentWork);
54
-            }
55
-            if (key.equals("INITIATOR"))
56
-                cmcAssess.setUserId((Long) variables.get(key));
57
-            if (removeDigital(key).equals(fieldList.get(0))) {
58
-                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(4)).get(0);
59
-                if (cmcAssessContent != null) {
60
-                    cmcAssessContent.setRole(variables.get(key).toString());
61
-                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
62
-                }
63
-            }
64
-            if (removeDigital(key).equals(fieldList.get(1))) {
65
-                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(8)).get(0);
66
-                if (cmcAssessContent != null) {
67
-                    cmcAssessContent.setFamiliar(variables.get(key).toString());
68
-                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
69
-                }
70
-            }
71
-            if (removeDigital(key).equals(fieldList.get(2))) {
72
-                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(6)).get(0);
73
-                if (cmcAssessContent != null) {
74
-                    cmcAssessContent.setRemark(variables.get(key).toString());
75
-                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
76
-                }
77
-            }
78
-
79
-        }
80
-        for (Comment comment: processEngine.getTaskService().getProcessInstanceComments(processInstance))
81
-            System.out.println(comment.getFullMessage());
82
-        System.out.println("========MyServiceTask==========");
83
-        System.out.println(variables);
84
-        System.out.println(processInstance);
85
-    }
86
-
87
-    /**
88
-     * 剔除数字
89
-     * @param value
90
-     */
91
-    public String removeDigital(String value){
92
-        Pattern p = Pattern.compile("[\\d]");
93
-        Matcher matcher = p.matcher(value);
94
-        return matcher.replaceAll("");
95
-    }
96
-
97
-}

+ 111
- 30
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProject.java View File

@@ -1,6 +1,7 @@
1 1
 package com.ruoyi.oa.domain;
2 2
 
3
-import com.ruoyi.common.core.domain.entity.SysUser;
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
4 5
 import org.apache.commons.lang3.builder.ToStringBuilder;
5 6
 import org.apache.commons.lang3.builder.ToStringStyle;
6 7
 import com.ruoyi.common.annotation.Excel;
@@ -10,7 +11,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
10 11
  * cmc项目对象 cmc_project
11 12
  *
12 13
  * @author cmc
13
- * @date 2024-02-28
14
+ * @date 2024-04-01
14 15
  */
15 16
 public class CmcProject extends BaseEntity
16 17
 {
@@ -31,14 +32,12 @@ public class CmcProject extends BaseEntity
31 32
     @Excel(name = "项目负责人")
32 33
     private Long projectLeader;
33 34
 
34
-    private SysUser projectLeaderUser;
35
-
36 35
     /** 项目状态(0进行中、1已结束) */
37
-    @Excel(name = "项目状态", readConverterExp = "0=进行中、1=已结束")
36
+    @Excel(name = "项目状态", readConverterExp = "0=进行中、1已结束")
38 37
     private String isFinished;
39 38
 
40 39
     /** 项目来源(0院内、1院外) */
41
-    @Excel(name = "项目来源", readConverterExp = "0=院内、1=院外")
40
+    @Excel(name = "项目来源", readConverterExp = "0=院内、1院外")
42 41
     private String projectSource;
43 42
 
44 43
     /** 甲方单位 */
@@ -62,19 +61,48 @@ public class CmcProject extends BaseEntity
62 61
     private String projectType;
63 62
 
64 63
     /** 项目级别(0一般项目、1重大项目) */
65
-    @Excel(name = "项目级别", readConverterExp = "0=一般项目、1=重大项目")
64
+    @Excel(name = "项目级别", readConverterExp = "0=一般项目、1重大项目")
66 65
     private String projectLevel;
67 66
 
68 67
     /** 项目登记人 */
69 68
     @Excel(name = "项目登记人")
70 69
     private Long projectRegistrant;
71 70
 
72
-    private SysUser projectRegistrantUser;
73
-
74 71
     /** 承担部门 */
75 72
     @Excel(name = "承担部门")
76 73
     private String undertakingDept;
77 74
 
75
+    /** 项目安排人 */
76
+    @Excel(name = "项目安排人")
77
+    private Long projectPlanner;
78
+
79
+    /** 现场负责人 */
80
+    @Excel(name = "现场负责人")
81
+    private Long siteLeader;
82
+
83
+    /** 项目安排日期 */
84
+    @JsonFormat(pattern = "yyyy-MM-dd")
85
+    @Excel(name = "项目安排日期", width = 30, dateFormat = "yyyy-MM-dd")
86
+    private Date planTime;
87
+
88
+    /** 进场时间 */
89
+    @JsonFormat(pattern = "yyyy-MM-dd")
90
+    @Excel(name = "进场时间", width = 30, dateFormat = "yyyy-MM-dd")
91
+    private Date entryTime;
92
+
93
+    /** 撤场时间 */
94
+    @JsonFormat(pattern = "yyyy-MM-dd")
95
+    @Excel(name = "撤场时间", width = 30, dateFormat = "yyyy-MM-dd")
96
+    private Date exitTime;
97
+
98
+    /** 预算id */
99
+    @Excel(name = "预算id")
100
+    private String budgetId;
101
+
102
+    /** 技术方案id */
103
+    @Excel(name = "技术方案id")
104
+    private String technicalId;
105
+
78 106
     public void setProjectId(String projectId)
79 107
     {
80 108
         this.projectId = projectId;
@@ -111,15 +139,6 @@ public class CmcProject extends BaseEntity
111 139
     {
112 140
         return projectLeader;
113 141
     }
114
-    public SysUser getProjectLeaderUser()
115
-    {
116
-        return projectLeaderUser;
117
-    }
118
-
119
-    public void setProjectLeader(SysUser projectLeaderUser)
120
-    {
121
-        this.projectLeaderUser = projectLeaderUser;
122
-    }
123 142
     public void setIsFinished(String isFinished)
124 143
     {
125 144
         this.isFinished = isFinished;
@@ -166,15 +185,14 @@ public class CmcProject extends BaseEntity
166 185
         return telephone;
167 186
     }
168 187
     public void setContractId(String contractId)
169
-{
170
-    this.contractId = contractId;
171
-}
188
+    {
189
+        this.contractId = contractId;
190
+    }
172 191
 
173 192
     public String getContractId()
174 193
     {
175 194
         return contractId;
176 195
     }
177
-
178 196
     public void setProjectType(String projectType)
179 197
     {
180 198
         this.projectType = projectType;
@@ -202,23 +220,77 @@ public class CmcProject extends BaseEntity
202 220
     {
203 221
         return projectRegistrant;
204 222
     }
205
-    public SysUser getProjectRegistrantUser()
223
+    public void setUndertakingDept(String undertakingDept)
206 224
     {
207
-        return projectRegistrantUser;
225
+        this.undertakingDept = undertakingDept;
208 226
     }
209 227
 
210
-    public void setProjectRegistrantUser(SysUser projectRegistrantUser)
228
+    public String getUndertakingDept()
211 229
     {
212
-        this.projectRegistrantUser = projectRegistrantUser;
230
+        return undertakingDept;
213 231
     }
214
-    public void setUndertakingDept(String undertakingDept)
232
+    public void setProjectPlanner(Long projectPlanner)
215 233
     {
216
-        this.undertakingDept = undertakingDept;
234
+        this.projectPlanner = projectPlanner;
217 235
     }
218 236
 
219
-    public String getUndertakingDept()
237
+    public Long getProjectPlanner()
220 238
     {
221
-        return undertakingDept;
239
+        return projectPlanner;
240
+    }
241
+    public void setSiteLeader(Long siteLeader)
242
+    {
243
+        this.siteLeader = siteLeader;
244
+    }
245
+
246
+    public Long getSiteLeader()
247
+    {
248
+        return siteLeader;
249
+    }
250
+    public void setPlanTime(Date planTime)
251
+    {
252
+        this.planTime = planTime;
253
+    }
254
+
255
+    public Date getPlanTime()
256
+    {
257
+        return planTime;
258
+    }
259
+    public void setEntryTime(Date entryTime)
260
+    {
261
+        this.entryTime = entryTime;
262
+    }
263
+
264
+    public Date getEntryTime()
265
+    {
266
+        return entryTime;
267
+    }
268
+    public void setExitTime(Date exitTime)
269
+    {
270
+        this.exitTime = exitTime;
271
+    }
272
+
273
+    public Date getExitTime()
274
+    {
275
+        return exitTime;
276
+    }
277
+    public void setBudgetId(String budgetId)
278
+    {
279
+        this.budgetId = budgetId;
280
+    }
281
+
282
+    public String getBudgetId()
283
+    {
284
+        return budgetId;
285
+    }
286
+    public void setTechnicalId(String technicalId)
287
+    {
288
+        this.technicalId = technicalId;
289
+    }
290
+
291
+    public String getTechnicalId()
292
+    {
293
+        return technicalId;
222 294
     }
223 295
 
224 296
     @Override
@@ -238,6 +310,15 @@ public class CmcProject extends BaseEntity
238 310
                 .append("projectLevel", getProjectLevel())
239 311
                 .append("projectRegistrant", getProjectRegistrant())
240 312
                 .append("undertakingDept", getUndertakingDept())
313
+                .append("projectPlanner", getProjectPlanner())
314
+                .append("siteLeader", getSiteLeader())
315
+                .append("createTime", getCreateTime())
316
+                .append("planTime", getPlanTime())
317
+                .append("entryTime", getEntryTime())
318
+                .append("exitTime", getExitTime())
319
+                .append("remark", getRemark())
320
+                .append("budgetId", getBudgetId())
321
+                .append("technicalId", getTechnicalId())
241 322
                 .toString();
242 323
     }
243 324
 }

+ 168
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectComment.java View File

@@ -0,0 +1,168 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc项目审批对象 cmc_project_comment
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+public class CmcProjectComment extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 项目id */
21
+    private String projectId;
22
+
23
+    /** 经营审核意见 */
24
+    @Excel(name = "经营审核意见")
25
+    private String jyComment;
26
+
27
+    /** 经营审核人 */
28
+    @Excel(name = "经营审核人")
29
+    private Long jyApprover;
30
+
31
+    /** 经营审核时间 */
32
+    @JsonFormat(pattern = "yyyy-MM-dd")
33
+    @Excel(name = "经营审核时间", width = 30, dateFormat = "yyyy-MM-dd")
34
+    private Date jyApprovalTime;
35
+
36
+    /** 分管审核意见 */
37
+    @Excel(name = "分管审核意见")
38
+    private String manageComment;
39
+
40
+    /** 分管审核人 */
41
+    @Excel(name = "分管审核人")
42
+    private Long manageApprover;
43
+
44
+    /** 分管审核时间 */
45
+    @JsonFormat(pattern = "yyyy-MM-dd")
46
+    @Excel(name = "分管审核时间", width = 30, dateFormat = "yyyy-MM-dd")
47
+    private Date manageApprovalTime;
48
+
49
+    /** 生产确认意见 */
50
+    @Excel(name = "生产确认意见")
51
+    private String scComment;
52
+
53
+    /** 生产确认人 */
54
+    @Excel(name = "生产确认人")
55
+    private String scApprover;
56
+
57
+    /** 生产确认时间 */
58
+    @JsonFormat(pattern = "yyyy-MM-dd")
59
+    @Excel(name = "生产确认时间", width = 30, dateFormat = "yyyy-MM-dd")
60
+    private Date scApprovalTime;
61
+
62
+    public void setProjectId(String projectId) 
63
+    {
64
+        this.projectId = projectId;
65
+    }
66
+
67
+    public String getProjectId() 
68
+    {
69
+        return projectId;
70
+    }
71
+    public void setJyComment(String jyComment) 
72
+    {
73
+        this.jyComment = jyComment;
74
+    }
75
+
76
+    public String getJyComment() 
77
+    {
78
+        return jyComment;
79
+    }
80
+    public void setJyApprover(Long jyApprover) 
81
+    {
82
+        this.jyApprover = jyApprover;
83
+    }
84
+
85
+    public Long getJyApprover() 
86
+    {
87
+        return jyApprover;
88
+    }
89
+    public void setJyApprovalTime(Date jyApprovalTime) 
90
+    {
91
+        this.jyApprovalTime = jyApprovalTime;
92
+    }
93
+
94
+    public Date getJyApprovalTime() 
95
+    {
96
+        return jyApprovalTime;
97
+    }
98
+    public void setManageComment(String manageComment) 
99
+    {
100
+        this.manageComment = manageComment;
101
+    }
102
+
103
+    public String getManageComment() 
104
+    {
105
+        return manageComment;
106
+    }
107
+    public void setManageApprover(Long manageApprover) 
108
+    {
109
+        this.manageApprover = manageApprover;
110
+    }
111
+
112
+    public Long getManageApprover() 
113
+    {
114
+        return manageApprover;
115
+    }
116
+    public void setManageApprovalTime(Date manageApprovalTime) 
117
+    {
118
+        this.manageApprovalTime = manageApprovalTime;
119
+    }
120
+
121
+    public Date getManageApprovalTime() 
122
+    {
123
+        return manageApprovalTime;
124
+    }
125
+    public void setScComment(String scComment) 
126
+    {
127
+        this.scComment = scComment;
128
+    }
129
+
130
+    public String getScComment() 
131
+    {
132
+        return scComment;
133
+    }
134
+    public void setScApprover(String scApprover) 
135
+    {
136
+        this.scApprover = scApprover;
137
+    }
138
+
139
+    public String getScApprover() 
140
+    {
141
+        return scApprover;
142
+    }
143
+    public void setScApprovalTime(Date scApprovalTime) 
144
+    {
145
+        this.scApprovalTime = scApprovalTime;
146
+    }
147
+
148
+    public Date getScApprovalTime() 
149
+    {
150
+        return scApprovalTime;
151
+    }
152
+
153
+    @Override
154
+    public String toString() {
155
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
156
+            .append("projectId", getProjectId())
157
+            .append("jyComment", getJyComment())
158
+            .append("jyApprover", getJyApprover())
159
+            .append("jyApprovalTime", getJyApprovalTime())
160
+            .append("manageComment", getManageComment())
161
+            .append("manageApprover", getManageApprover())
162
+            .append("manageApprovalTime", getManageApprovalTime())
163
+            .append("scComment", getScComment())
164
+            .append("scApprover", getScApprover())
165
+            .append("scApprovalTime", getScApprovalTime())
166
+            .toString();
167
+    }
168
+}

+ 96
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectProgress.java View File

@@ -0,0 +1,96 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc项目进度对象 cmc_project_progress
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+public class CmcProjectProgress extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 项目进度id */
21
+    private String progressId;
22
+
23
+    /** 项目id */
24
+    @Excel(name = "项目id")
25
+    private String projectId;
26
+
27
+    /** 累计进度 */
28
+    @Excel(name = "累计进度")
29
+    private String percentage;
30
+
31
+    /** 截止日期 */
32
+    @JsonFormat(pattern = "yyyy-MM-dd")
33
+    @Excel(name = "截止日期", width = 30, dateFormat = "yyyy-MM-dd")
34
+    private Date date;
35
+
36
+    /** 情况说明 */
37
+    @Excel(name = "情况说明")
38
+    private String situation;
39
+
40
+    public void setProgressId(String progressId) 
41
+    {
42
+        this.progressId = progressId;
43
+    }
44
+
45
+    public String getProgressId() 
46
+    {
47
+        return progressId;
48
+    }
49
+    public void setProjectId(String projectId) 
50
+    {
51
+        this.projectId = projectId;
52
+    }
53
+
54
+    public String getProjectId() 
55
+    {
56
+        return projectId;
57
+    }
58
+    public void setPercentage(String percentage) 
59
+    {
60
+        this.percentage = percentage;
61
+    }
62
+
63
+    public String getPercentage() 
64
+    {
65
+        return percentage;
66
+    }
67
+    public void setDate(Date date) 
68
+    {
69
+        this.date = date;
70
+    }
71
+
72
+    public Date getDate() 
73
+    {
74
+        return date;
75
+    }
76
+    public void setSituation(String situation) 
77
+    {
78
+        this.situation = situation;
79
+    }
80
+
81
+    public String getSituation() 
82
+    {
83
+        return situation;
84
+    }
85
+
86
+    @Override
87
+    public String toString() {
88
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
89
+            .append("progressId", getProgressId())
90
+            .append("projectId", getProjectId())
91
+            .append("percentage", getPercentage())
92
+            .append("date", getDate())
93
+            .append("situation", getSituation())
94
+            .toString();
95
+    }
96
+}

+ 16
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcProjectWork.java View File

@@ -44,6 +44,11 @@ public class CmcProjectWork extends BaseEntity
44 44
     @Excel(name = "要求完成时间", width = 30, dateFormat = "yyyy-MM-dd")
45 45
     private Date deadline;
46 46
 
47
+    /** 实际完成时间 */
48
+    @JsonFormat(pattern = "yyyy-MM-dd")
49
+    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
50
+    private Date finishTime;
51
+
47 52
     public void setWorkId(String workId)
48 53
     {
49 54
         this.workId = workId;
@@ -107,6 +112,16 @@ public class CmcProjectWork extends BaseEntity
107 112
     {
108 113
         return deadline;
109 114
     }
115
+    public void setFinishTime(Date finishTime)
116
+    {
117
+        this.finishTime = finishTime;
118
+    }
119
+
120
+    public Date getFinishTime()
121
+    {
122
+        return finishTime;
123
+    }
124
+
110 125
 
111 126
     @Override
112 127
     public String toString() {
@@ -117,6 +132,7 @@ public class CmcProjectWork extends BaseEntity
117 132
             .append("unit", getUnit())
118 133
             .append("workload", getWorkload())
119 134
             .append("deadline", getDeadline())
135
+            .append("finishTime", getFinishTime())
120 136
             .toString();
121 137
     }
122 138
 }

+ 138
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcTechnical.java View File

@@ -0,0 +1,138 @@
1
+package com.ruoyi.oa.domain;
2
+
3
+import java.util.Date;
4
+import com.fasterxml.jackson.annotation.JsonFormat;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+import com.ruoyi.common.annotation.Excel;
8
+import com.ruoyi.common.core.domain.BaseEntity;
9
+
10
+/**
11
+ * cmc技术方案对象 cmc_technical
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+public class CmcTechnical extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 项目id */
21
+    private String technicalId;
22
+
23
+    /** 项目id */
24
+    @Excel(name = "项目id")
25
+    private String projectId;
26
+
27
+    /** 技术负责人 */
28
+    @Excel(name = "技术负责人")
29
+    private Long technicalDirector;
30
+
31
+    /** 技术设计人 */
32
+    @Excel(name = "技术设计人")
33
+    private Long technicalDesigner;
34
+
35
+    /** 技术安排人 */
36
+    @Excel(name = "技术安排人")
37
+    private Long technicalPlanner;
38
+
39
+    /** 技术安排意见 */
40
+    @Excel(name = "技术安排意见")
41
+    private String technicalComment;
42
+
43
+    /** 质量检查员 */
44
+    @Excel(name = "质量检查员")
45
+    private String qualityInspector;
46
+
47
+    /** 技术安排时间 */
48
+    @JsonFormat(pattern = "yyyy-MM-dd")
49
+    @Excel(name = "技术安排时间", width = 30, dateFormat = "yyyy-MM-dd")
50
+    private Date technicalTime;
51
+
52
+    public void setTechnicalId(String technicalId) 
53
+    {
54
+        this.technicalId = technicalId;
55
+    }
56
+
57
+    public String getTechnicalId() 
58
+    {
59
+        return technicalId;
60
+    }
61
+    public void setProjectId(String projectId) 
62
+    {
63
+        this.projectId = projectId;
64
+    }
65
+
66
+    public String getProjectId() 
67
+    {
68
+        return projectId;
69
+    }
70
+    public void setTechnicalDirector(Long technicalDirector) 
71
+    {
72
+        this.technicalDirector = technicalDirector;
73
+    }
74
+
75
+    public Long getTechnicalDirector() 
76
+    {
77
+        return technicalDirector;
78
+    }
79
+    public void setTechnicalDesigner(Long technicalDesigner) 
80
+    {
81
+        this.technicalDesigner = technicalDesigner;
82
+    }
83
+
84
+    public Long getTechnicalDesigner() 
85
+    {
86
+        return technicalDesigner;
87
+    }
88
+    public void setTechnicalPlanner(Long technicalPlanner) 
89
+    {
90
+        this.technicalPlanner = technicalPlanner;
91
+    }
92
+
93
+    public Long getTechnicalPlanner() 
94
+    {
95
+        return technicalPlanner;
96
+    }
97
+    public void setTechnicalComment(String technicalComment) 
98
+    {
99
+        this.technicalComment = technicalComment;
100
+    }
101
+
102
+    public String getTechnicalComment() 
103
+    {
104
+        return technicalComment;
105
+    }
106
+    public void setQualityInspector(String qualityInspector) 
107
+    {
108
+        this.qualityInspector = qualityInspector;
109
+    }
110
+
111
+    public String getQualityInspector() 
112
+    {
113
+        return qualityInspector;
114
+    }
115
+    public void setTechnicalTime(Date technicalTime) 
116
+    {
117
+        this.technicalTime = technicalTime;
118
+    }
119
+
120
+    public Date getTechnicalTime() 
121
+    {
122
+        return technicalTime;
123
+    }
124
+
125
+    @Override
126
+    public String toString() {
127
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
128
+            .append("technicalId", getTechnicalId())
129
+            .append("projectId", getProjectId())
130
+            .append("technicalDirector", getTechnicalDirector())
131
+            .append("technicalDesigner", getTechnicalDesigner())
132
+            .append("technicalPlanner", getTechnicalPlanner())
133
+            .append("technicalComment", getTechnicalComment())
134
+            .append("qualityInspector", getQualityInspector())
135
+            .append("technicalTime", getTechnicalTime())
136
+            .toString();
137
+    }
138
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectCommentMapper.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcProjectComment;
5
+
6
+/**
7
+ * cmc项目审批Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface CmcProjectCommentMapper 
13
+{
14
+    /**
15
+     * 查询cmc项目审批
16
+     * 
17
+     * @param projectId cmc项目审批主键
18
+     * @return cmc项目审批
19
+     */
20
+    public CmcProjectComment selectCmcProjectCommentByProjectId(String projectId);
21
+
22
+    /**
23
+     * 查询cmc项目审批列表
24
+     * 
25
+     * @param cmcProjectComment cmc项目审批
26
+     * @return cmc项目审批集合
27
+     */
28
+    public List<CmcProjectComment> selectCmcProjectCommentList(CmcProjectComment cmcProjectComment);
29
+
30
+    /**
31
+     * 新增cmc项目审批
32
+     * 
33
+     * @param cmcProjectComment cmc项目审批
34
+     * @return 结果
35
+     */
36
+    public int insertCmcProjectComment(CmcProjectComment cmcProjectComment);
37
+
38
+    /**
39
+     * 修改cmc项目审批
40
+     * 
41
+     * @param cmcProjectComment cmc项目审批
42
+     * @return 结果
43
+     */
44
+    public int updateCmcProjectComment(CmcProjectComment cmcProjectComment);
45
+
46
+    /**
47
+     * 删除cmc项目审批
48
+     * 
49
+     * @param projectId cmc项目审批主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcProjectCommentByProjectId(String projectId);
53
+
54
+    /**
55
+     * 批量删除cmc项目审批
56
+     * 
57
+     * @param projectIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcProjectCommentByProjectIds(String[] projectIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcProjectProgressMapper.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcProjectProgress;
5
+
6
+/**
7
+ * cmc项目进度Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface CmcProjectProgressMapper 
13
+{
14
+    /**
15
+     * 查询cmc项目进度
16
+     * 
17
+     * @param progressId cmc项目进度主键
18
+     * @return cmc项目进度
19
+     */
20
+    public CmcProjectProgress selectCmcProjectProgressByProgressId(String progressId);
21
+
22
+    /**
23
+     * 查询cmc项目进度列表
24
+     * 
25
+     * @param cmcProjectProgress cmc项目进度
26
+     * @return cmc项目进度集合
27
+     */
28
+    public List<CmcProjectProgress> selectCmcProjectProgressList(CmcProjectProgress cmcProjectProgress);
29
+
30
+    /**
31
+     * 新增cmc项目进度
32
+     * 
33
+     * @param cmcProjectProgress cmc项目进度
34
+     * @return 结果
35
+     */
36
+    public int insertCmcProjectProgress(CmcProjectProgress cmcProjectProgress);
37
+
38
+    /**
39
+     * 修改cmc项目进度
40
+     * 
41
+     * @param cmcProjectProgress cmc项目进度
42
+     * @return 结果
43
+     */
44
+    public int updateCmcProjectProgress(CmcProjectProgress cmcProjectProgress);
45
+
46
+    /**
47
+     * 删除cmc项目进度
48
+     * 
49
+     * @param progressId cmc项目进度主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcProjectProgressByProgressId(String progressId);
53
+
54
+    /**
55
+     * 批量删除cmc项目进度
56
+     * 
57
+     * @param progressIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcProjectProgressByProgressIds(String[] progressIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/mapper/CmcTechnicalMapper.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.mapper;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcTechnical;
5
+
6
+/**
7
+ * cmc技术方案Mapper接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface CmcTechnicalMapper 
13
+{
14
+    /**
15
+     * 查询cmc技术方案
16
+     * 
17
+     * @param technicalId cmc技术方案主键
18
+     * @return cmc技术方案
19
+     */
20
+    public CmcTechnical selectCmcTechnicalByTechnicalId(String technicalId);
21
+
22
+    /**
23
+     * 查询cmc技术方案列表
24
+     * 
25
+     * @param cmcTechnical cmc技术方案
26
+     * @return cmc技术方案集合
27
+     */
28
+    public List<CmcTechnical> selectCmcTechnicalList(CmcTechnical cmcTechnical);
29
+
30
+    /**
31
+     * 新增cmc技术方案
32
+     * 
33
+     * @param cmcTechnical cmc技术方案
34
+     * @return 结果
35
+     */
36
+    public int insertCmcTechnical(CmcTechnical cmcTechnical);
37
+
38
+    /**
39
+     * 修改cmc技术方案
40
+     * 
41
+     * @param cmcTechnical cmc技术方案
42
+     * @return 结果
43
+     */
44
+    public int updateCmcTechnical(CmcTechnical cmcTechnical);
45
+
46
+    /**
47
+     * 删除cmc技术方案
48
+     * 
49
+     * @param technicalId cmc技术方案主键
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcTechnicalByTechnicalId(String technicalId);
53
+
54
+    /**
55
+     * 批量删除cmc技术方案
56
+     * 
57
+     * @param technicalIds 需要删除的数据主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcTechnicalByTechnicalIds(String[] technicalIds);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectCommentService.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcProjectComment;
5
+
6
+/**
7
+ * cmc项目审批Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface ICmcProjectCommentService 
13
+{
14
+    /**
15
+     * 查询cmc项目审批
16
+     * 
17
+     * @param projectId cmc项目审批主键
18
+     * @return cmc项目审批
19
+     */
20
+    public CmcProjectComment selectCmcProjectCommentByProjectId(String projectId);
21
+
22
+    /**
23
+     * 查询cmc项目审批列表
24
+     * 
25
+     * @param cmcProjectComment cmc项目审批
26
+     * @return cmc项目审批集合
27
+     */
28
+    public List<CmcProjectComment> selectCmcProjectCommentList(CmcProjectComment cmcProjectComment);
29
+
30
+    /**
31
+     * 新增cmc项目审批
32
+     * 
33
+     * @param cmcProjectComment cmc项目审批
34
+     * @return 结果
35
+     */
36
+    public int insertCmcProjectComment(CmcProjectComment cmcProjectComment);
37
+
38
+    /**
39
+     * 修改cmc项目审批
40
+     * 
41
+     * @param cmcProjectComment cmc项目审批
42
+     * @return 结果
43
+     */
44
+    public int updateCmcProjectComment(CmcProjectComment cmcProjectComment);
45
+
46
+    /**
47
+     * 批量删除cmc项目审批
48
+     * 
49
+     * @param projectIds 需要删除的cmc项目审批主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcProjectCommentByProjectIds(String[] projectIds);
53
+
54
+    /**
55
+     * 删除cmc项目审批信息
56
+     * 
57
+     * @param projectId cmc项目审批主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcProjectCommentByProjectId(String projectId);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcProjectProgressService.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcProjectProgress;
5
+
6
+/**
7
+ * cmc项目进度Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface ICmcProjectProgressService 
13
+{
14
+    /**
15
+     * 查询cmc项目进度
16
+     * 
17
+     * @param progressId cmc项目进度主键
18
+     * @return cmc项目进度
19
+     */
20
+    public CmcProjectProgress selectCmcProjectProgressByProgressId(String progressId);
21
+
22
+    /**
23
+     * 查询cmc项目进度列表
24
+     * 
25
+     * @param cmcProjectProgress cmc项目进度
26
+     * @return cmc项目进度集合
27
+     */
28
+    public List<CmcProjectProgress> selectCmcProjectProgressList(CmcProjectProgress cmcProjectProgress);
29
+
30
+    /**
31
+     * 新增cmc项目进度
32
+     * 
33
+     * @param cmcProjectProgress cmc项目进度
34
+     * @return 结果
35
+     */
36
+    public int insertCmcProjectProgress(CmcProjectProgress cmcProjectProgress);
37
+
38
+    /**
39
+     * 修改cmc项目进度
40
+     * 
41
+     * @param cmcProjectProgress cmc项目进度
42
+     * @return 结果
43
+     */
44
+    public int updateCmcProjectProgress(CmcProjectProgress cmcProjectProgress);
45
+
46
+    /**
47
+     * 批量删除cmc项目进度
48
+     * 
49
+     * @param progressIds 需要删除的cmc项目进度主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcProjectProgressByProgressIds(String[] progressIds);
53
+
54
+    /**
55
+     * 删除cmc项目进度信息
56
+     * 
57
+     * @param progressId cmc项目进度主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcProjectProgressByProgressId(String progressId);
61
+}

+ 61
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/ICmcTechnicalService.java View File

@@ -0,0 +1,61 @@
1
+package com.ruoyi.oa.service;
2
+
3
+import java.util.List;
4
+import com.ruoyi.oa.domain.CmcTechnical;
5
+
6
+/**
7
+ * cmc技术方案Service接口
8
+ * 
9
+ * @author cmc
10
+ * @date 2024-04-02
11
+ */
12
+public interface ICmcTechnicalService 
13
+{
14
+    /**
15
+     * 查询cmc技术方案
16
+     * 
17
+     * @param technicalId cmc技术方案主键
18
+     * @return cmc技术方案
19
+     */
20
+    public CmcTechnical selectCmcTechnicalByTechnicalId(String technicalId);
21
+
22
+    /**
23
+     * 查询cmc技术方案列表
24
+     * 
25
+     * @param cmcTechnical cmc技术方案
26
+     * @return cmc技术方案集合
27
+     */
28
+    public List<CmcTechnical> selectCmcTechnicalList(CmcTechnical cmcTechnical);
29
+
30
+    /**
31
+     * 新增cmc技术方案
32
+     * 
33
+     * @param cmcTechnical cmc技术方案
34
+     * @return 结果
35
+     */
36
+    public int insertCmcTechnical(CmcTechnical cmcTechnical);
37
+
38
+    /**
39
+     * 修改cmc技术方案
40
+     * 
41
+     * @param cmcTechnical cmc技术方案
42
+     * @return 结果
43
+     */
44
+    public int updateCmcTechnical(CmcTechnical cmcTechnical);
45
+
46
+    /**
47
+     * 批量删除cmc技术方案
48
+     * 
49
+     * @param technicalIds 需要删除的cmc技术方案主键集合
50
+     * @return 结果
51
+     */
52
+    public int deleteCmcTechnicalByTechnicalIds(String[] technicalIds);
53
+
54
+    /**
55
+     * 删除cmc技术方案信息
56
+     * 
57
+     * @param technicalId cmc技术方案主键
58
+     * @return 结果
59
+     */
60
+    public int deleteCmcTechnicalByTechnicalId(String technicalId);
61
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectCommentServiceImpl.java View File

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcProjectCommentMapper;
7
+import com.ruoyi.oa.domain.CmcProjectComment;
8
+import com.ruoyi.oa.service.ICmcProjectCommentService;
9
+
10
+/**
11
+ * cmc项目审批Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+@Service
17
+public class CmcProjectCommentServiceImpl implements ICmcProjectCommentService 
18
+{
19
+    @Autowired
20
+    private CmcProjectCommentMapper cmcProjectCommentMapper;
21
+
22
+    /**
23
+     * 查询cmc项目审批
24
+     * 
25
+     * @param projectId cmc项目审批主键
26
+     * @return cmc项目审批
27
+     */
28
+    @Override
29
+    public CmcProjectComment selectCmcProjectCommentByProjectId(String projectId)
30
+    {
31
+        return cmcProjectCommentMapper.selectCmcProjectCommentByProjectId(projectId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc项目审批列表
36
+     * 
37
+     * @param cmcProjectComment cmc项目审批
38
+     * @return cmc项目审批
39
+     */
40
+    @Override
41
+    public List<CmcProjectComment> selectCmcProjectCommentList(CmcProjectComment cmcProjectComment)
42
+    {
43
+        return cmcProjectCommentMapper.selectCmcProjectCommentList(cmcProjectComment);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc项目审批
48
+     * 
49
+     * @param cmcProjectComment cmc项目审批
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcProjectComment(CmcProjectComment cmcProjectComment)
54
+    {
55
+        return cmcProjectCommentMapper.insertCmcProjectComment(cmcProjectComment);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc项目审批
60
+     * 
61
+     * @param cmcProjectComment cmc项目审批
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcProjectComment(CmcProjectComment cmcProjectComment)
66
+    {
67
+        return cmcProjectCommentMapper.updateCmcProjectComment(cmcProjectComment);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc项目审批
72
+     * 
73
+     * @param projectIds 需要删除的cmc项目审批主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcProjectCommentByProjectIds(String[] projectIds)
78
+    {
79
+        return cmcProjectCommentMapper.deleteCmcProjectCommentByProjectIds(projectIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc项目审批信息
84
+     * 
85
+     * @param projectId cmc项目审批主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcProjectCommentByProjectId(String projectId)
90
+    {
91
+        return cmcProjectCommentMapper.deleteCmcProjectCommentByProjectId(projectId);
92
+    }
93
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcProjectProgressServiceImpl.java View File

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcProjectProgressMapper;
7
+import com.ruoyi.oa.domain.CmcProjectProgress;
8
+import com.ruoyi.oa.service.ICmcProjectProgressService;
9
+
10
+/**
11
+ * cmc项目进度Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+@Service
17
+public class CmcProjectProgressServiceImpl implements ICmcProjectProgressService 
18
+{
19
+    @Autowired
20
+    private CmcProjectProgressMapper cmcProjectProgressMapper;
21
+
22
+    /**
23
+     * 查询cmc项目进度
24
+     * 
25
+     * @param progressId cmc项目进度主键
26
+     * @return cmc项目进度
27
+     */
28
+    @Override
29
+    public CmcProjectProgress selectCmcProjectProgressByProgressId(String progressId)
30
+    {
31
+        return cmcProjectProgressMapper.selectCmcProjectProgressByProgressId(progressId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc项目进度列表
36
+     * 
37
+     * @param cmcProjectProgress cmc项目进度
38
+     * @return cmc项目进度
39
+     */
40
+    @Override
41
+    public List<CmcProjectProgress> selectCmcProjectProgressList(CmcProjectProgress cmcProjectProgress)
42
+    {
43
+        return cmcProjectProgressMapper.selectCmcProjectProgressList(cmcProjectProgress);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc项目进度
48
+     * 
49
+     * @param cmcProjectProgress cmc项目进度
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcProjectProgress(CmcProjectProgress cmcProjectProgress)
54
+    {
55
+        return cmcProjectProgressMapper.insertCmcProjectProgress(cmcProjectProgress);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc项目进度
60
+     * 
61
+     * @param cmcProjectProgress cmc项目进度
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcProjectProgress(CmcProjectProgress cmcProjectProgress)
66
+    {
67
+        return cmcProjectProgressMapper.updateCmcProjectProgress(cmcProjectProgress);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc项目进度
72
+     * 
73
+     * @param progressIds 需要删除的cmc项目进度主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcProjectProgressByProgressIds(String[] progressIds)
78
+    {
79
+        return cmcProjectProgressMapper.deleteCmcProjectProgressByProgressIds(progressIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc项目进度信息
84
+     * 
85
+     * @param progressId cmc项目进度主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcProjectProgressByProgressId(String progressId)
90
+    {
91
+        return cmcProjectProgressMapper.deleteCmcProjectProgressByProgressId(progressId);
92
+    }
93
+}

+ 93
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/service/impl/CmcTechnicalServiceImpl.java View File

@@ -0,0 +1,93 @@
1
+package com.ruoyi.oa.service.impl;
2
+
3
+import java.util.List;
4
+import org.springframework.beans.factory.annotation.Autowired;
5
+import org.springframework.stereotype.Service;
6
+import com.ruoyi.oa.mapper.CmcTechnicalMapper;
7
+import com.ruoyi.oa.domain.CmcTechnical;
8
+import com.ruoyi.oa.service.ICmcTechnicalService;
9
+
10
+/**
11
+ * cmc技术方案Service业务层处理
12
+ * 
13
+ * @author cmc
14
+ * @date 2024-04-02
15
+ */
16
+@Service
17
+public class CmcTechnicalServiceImpl implements ICmcTechnicalService 
18
+{
19
+    @Autowired
20
+    private CmcTechnicalMapper cmcTechnicalMapper;
21
+
22
+    /**
23
+     * 查询cmc技术方案
24
+     * 
25
+     * @param technicalId cmc技术方案主键
26
+     * @return cmc技术方案
27
+     */
28
+    @Override
29
+    public CmcTechnical selectCmcTechnicalByTechnicalId(String technicalId)
30
+    {
31
+        return cmcTechnicalMapper.selectCmcTechnicalByTechnicalId(technicalId);
32
+    }
33
+
34
+    /**
35
+     * 查询cmc技术方案列表
36
+     * 
37
+     * @param cmcTechnical cmc技术方案
38
+     * @return cmc技术方案
39
+     */
40
+    @Override
41
+    public List<CmcTechnical> selectCmcTechnicalList(CmcTechnical cmcTechnical)
42
+    {
43
+        return cmcTechnicalMapper.selectCmcTechnicalList(cmcTechnical);
44
+    }
45
+
46
+    /**
47
+     * 新增cmc技术方案
48
+     * 
49
+     * @param cmcTechnical cmc技术方案
50
+     * @return 结果
51
+     */
52
+    @Override
53
+    public int insertCmcTechnical(CmcTechnical cmcTechnical)
54
+    {
55
+        return cmcTechnicalMapper.insertCmcTechnical(cmcTechnical);
56
+    }
57
+
58
+    /**
59
+     * 修改cmc技术方案
60
+     * 
61
+     * @param cmcTechnical cmc技术方案
62
+     * @return 结果
63
+     */
64
+    @Override
65
+    public int updateCmcTechnical(CmcTechnical cmcTechnical)
66
+    {
67
+        return cmcTechnicalMapper.updateCmcTechnical(cmcTechnical);
68
+    }
69
+
70
+    /**
71
+     * 批量删除cmc技术方案
72
+     * 
73
+     * @param technicalIds 需要删除的cmc技术方案主键
74
+     * @return 结果
75
+     */
76
+    @Override
77
+    public int deleteCmcTechnicalByTechnicalIds(String[] technicalIds)
78
+    {
79
+        return cmcTechnicalMapper.deleteCmcTechnicalByTechnicalIds(technicalIds);
80
+    }
81
+
82
+    /**
83
+     * 删除cmc技术方案信息
84
+     * 
85
+     * @param technicalId cmc技术方案主键
86
+     * @return 结果
87
+     */
88
+    @Override
89
+    public int deleteCmcTechnicalByTechnicalId(String technicalId)
90
+    {
91
+        return cmcTechnicalMapper.deleteCmcTechnicalByTechnicalId(technicalId);
92
+    }
93
+}

+ 16
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserPostMapper.java View File

@@ -60,6 +60,14 @@ public interface SysUserPostMapper
60 60
      */
61 61
     public SysUser selectDeptLeaderByUserId(String userId);
62 62
 
63
+    /**
64
+     * 查询部门副主任
65
+     *
66
+     * @param
67
+     * @return 查询部门副主任
68
+     */
69
+    public SysUser selectViceDeptLeaderByUserId(String userId);
70
+
63 71
     /**
64 72
      * 查询部门主任
65 73
      *
@@ -67,4 +75,12 @@ public interface SysUserPostMapper
67 75
      * @return 查询部门主任
68 76
      */
69 77
     public SysUser selectDeptLeaderByDeptId(String deptId);
78
+
79
+    /**
80
+     * 查询部门副主任
81
+     *
82
+     * @param
83
+     * @return 查询部门副主任
84
+     */
85
+    public SysUser selectViceDeptLeaderByDeptId(String deptId);
70 86
 }

+ 16
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysPostService.java View File

@@ -116,6 +116,14 @@ public interface ISysPostService
116 116
      */
117 117
     public SysUser selectDeptLeaderByUserId(String userId);
118 118
 
119
+    /**
120
+     * 查询部门副主任
121
+     *
122
+     * @param
123
+     * @return 查询部门副主任
124
+     */
125
+    public SysUser selectViceDeptLeaderByUserId(String userId);
126
+
119 127
     /**
120 128
      * 查询部门主任
121 129
      *
@@ -123,4 +131,12 @@ public interface ISysPostService
123 131
      * @return 查询部门主任
124 132
      */
125 133
     public SysUser selectDeptLeaderByDeptId(String deptId);
134
+
135
+    /**
136
+     * 查询部门副主任
137
+     *
138
+     * @param
139
+     * @return 查询部门副主任
140
+     */
141
+    public SysUser selectViceDeptLeaderByDeptId(String deptId);
126 142
 }

+ 22
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPostServiceImpl.java View File

@@ -200,6 +200,17 @@ public class SysPostServiceImpl implements ISysPostService
200 200
         return userPostMapper.selectDeptLeaderByUserId(userId);
201 201
     }
202 202
 
203
+    /**
204
+     * 查询部门副主任
205
+     *
206
+     * @param
207
+     * @return 查询部门副主任
208
+     */
209
+    @Override
210
+    public SysUser selectViceDeptLeaderByUserId(String userId) {
211
+        return userPostMapper.selectViceDeptLeaderByUserId(userId);
212
+    }
213
+
203 214
     /**
204 215
      * 查询部门主任
205 216
      *
@@ -210,4 +221,15 @@ public class SysPostServiceImpl implements ISysPostService
210 221
     public SysUser selectDeptLeaderByDeptId(String deptId) {
211 222
         return userPostMapper.selectDeptLeaderByDeptId(deptId);
212 223
     }
224
+
225
+    /**
226
+     * 查询部门副主任
227
+     *
228
+     * @param
229
+     * @return 查询部门副主任
230
+     */
231
+    @Override
232
+    public SysUser selectViceDeptLeaderByDeptId(String deptId) {
233
+        return userPostMapper.selectViceDeptLeaderByDeptId(deptId);
234
+    }
213 235
 }

+ 1
- 6
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractCommentMapper.xml View File

@@ -11,11 +11,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
11 11
         <result property="userId"    column="user_id"    />
12 12
         <result property="comment"    column="comment"    />
13 13
         <result property="commentTime"    column="comment_time"    />
14
-        <result property="isSign"    column="is_sign"    />
15 14
     </resultMap>
16 15
 
17 16
     <sql id="selectCmcContractCommentVo">
18
-        select comment_id, contract_id, dept_id, user_id, comment, comment_time, is_sign from cmc_contract_comment
17
+        select comment_id, contract_id, dept_id, user_id, comment, comment_time from cmc_contract_comment
19 18
     </sql>
20 19
 
21 20
     <select id="selectCmcContractCommentList" parameterType="CmcContractComment" resultMap="CmcContractCommentResult">
@@ -26,7 +25,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
26 25
             <if test="userId != null "> and user_id = #{userId}</if>
27 26
             <if test="comment != null  and comment != ''"> and comment = #{comment}</if>
28 27
             <if test="commentTime != null "> and comment_time = #{commentTime}</if>
29
-            <if test="isSign != null  and isSign != ''"> and is_sign = #{isSign}</if>
30 28
         </where>
31 29
     </select>
32 30
     
@@ -44,7 +42,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
44 42
             <if test="userId != null">user_id,</if>
45 43
             <if test="comment != null">comment,</if>
46 44
             <if test="commentTime != null">comment_time,</if>
47
-            <if test="isSign != null">is_sign,</if>
48 45
          </trim>
49 46
         <trim prefix="values (" suffix=")" suffixOverrides=",">
50 47
             <if test="commentId != null">#{commentId},</if>
@@ -53,7 +50,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
53 50
             <if test="userId != null">#{userId},</if>
54 51
             <if test="comment != null">#{comment},</if>
55 52
             <if test="commentTime != null">#{commentTime},</if>
56
-            <if test="isSign != null">#{isSign},</if>
57 53
          </trim>
58 54
     </insert>
59 55
 
@@ -65,7 +61,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
65 61
             <if test="userId != null">user_id = #{userId},</if>
66 62
             <if test="comment != null">comment = #{comment},</if>
67 63
             <if test="commentTime != null">comment_time = #{commentTime},</if>
68
-            <if test="isSign != null">is_sign = #{isSign},</if>
69 64
         </trim>
70 65
         where comment_id = #{commentId}
71 66
     </update>

+ 98
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectCommentMapper.xml View File

@@ -0,0 +1,98 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcProjectCommentMapper">
6
+    
7
+    <resultMap type="CmcProjectComment" id="CmcProjectCommentResult">
8
+        <result property="projectId"    column="project_id"    />
9
+        <result property="jyComment"    column="jy_comment"    />
10
+        <result property="jyApprover"    column="jy_approver"    />
11
+        <result property="jyApprovalTime"    column="jy_approval_time"    />
12
+        <result property="manageComment"    column="manage_comment"    />
13
+        <result property="manageApprover"    column="manage_approver"    />
14
+        <result property="manageApprovalTime"    column="manage_approval_time"    />
15
+        <result property="scComment"    column="sc_comment"    />
16
+        <result property="scApprover"    column="sc_approver"    />
17
+        <result property="scApprovalTime"    column="sc_approval_time"    />
18
+    </resultMap>
19
+
20
+    <sql id="selectCmcProjectCommentVo">
21
+        select project_id, jy_comment, jy_approver, jy_approval_time, manage_comment, manage_approver, manage_approval_time, sc_comment, sc_approver, sc_approval_time from cmc_project_comment
22
+    </sql>
23
+
24
+    <select id="selectCmcProjectCommentList" parameterType="CmcProjectComment" resultMap="CmcProjectCommentResult">
25
+        <include refid="selectCmcProjectCommentVo"/>
26
+        <where>  
27
+            <if test="jyComment != null  and jyComment != ''"> and jy_comment = #{jyComment}</if>
28
+            <if test="jyApprover != null "> and jy_approver = #{jyApprover}</if>
29
+            <if test="jyApprovalTime != null "> and jy_approval_time = #{jyApprovalTime}</if>
30
+            <if test="manageComment != null  and manageComment != ''"> and manage_comment = #{manageComment}</if>
31
+            <if test="manageApprover != null "> and manage_approver = #{manageApprover}</if>
32
+            <if test="manageApprovalTime != null "> and manage_approval_time = #{manageApprovalTime}</if>
33
+            <if test="scComment != null  and scComment != ''"> and sc_comment = #{scComment}</if>
34
+            <if test="scApprover != null  and scApprover != ''"> and sc_approver = #{scApprover}</if>
35
+            <if test="scApprovalTime != null "> and sc_approval_time = #{scApprovalTime}</if>
36
+        </where>
37
+    </select>
38
+    
39
+    <select id="selectCmcProjectCommentByProjectId" parameterType="String" resultMap="CmcProjectCommentResult">
40
+        <include refid="selectCmcProjectCommentVo"/>
41
+        where project_id = #{projectId}
42
+    </select>
43
+        
44
+    <insert id="insertCmcProjectComment" parameterType="CmcProjectComment">
45
+        insert into cmc_project_comment
46
+        <trim prefix="(" suffix=")" suffixOverrides=",">
47
+            <if test="projectId != null">project_id,</if>
48
+            <if test="jyComment != null">jy_comment,</if>
49
+            <if test="jyApprover != null">jy_approver,</if>
50
+            <if test="jyApprovalTime != null">jy_approval_time,</if>
51
+            <if test="manageComment != null">manage_comment,</if>
52
+            <if test="manageApprover != null">manage_approver,</if>
53
+            <if test="manageApprovalTime != null">manage_approval_time,</if>
54
+            <if test="scComment != null">sc_comment,</if>
55
+            <if test="scApprover != null">sc_approver,</if>
56
+            <if test="scApprovalTime != null">sc_approval_time,</if>
57
+         </trim>
58
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
59
+            <if test="projectId != null">#{projectId},</if>
60
+            <if test="jyComment != null">#{jyComment},</if>
61
+            <if test="jyApprover != null">#{jyApprover},</if>
62
+            <if test="jyApprovalTime != null">#{jyApprovalTime},</if>
63
+            <if test="manageComment != null">#{manageComment},</if>
64
+            <if test="manageApprover != null">#{manageApprover},</if>
65
+            <if test="manageApprovalTime != null">#{manageApprovalTime},</if>
66
+            <if test="scComment != null">#{scComment},</if>
67
+            <if test="scApprover != null">#{scApprover},</if>
68
+            <if test="scApprovalTime != null">#{scApprovalTime},</if>
69
+         </trim>
70
+    </insert>
71
+
72
+    <update id="updateCmcProjectComment" parameterType="CmcProjectComment">
73
+        update cmc_project_comment
74
+        <trim prefix="SET" suffixOverrides=",">
75
+            <if test="jyComment != null">jy_comment = #{jyComment},</if>
76
+            <if test="jyApprover != null">jy_approver = #{jyApprover},</if>
77
+            <if test="jyApprovalTime != null">jy_approval_time = #{jyApprovalTime},</if>
78
+            <if test="manageComment != null">manage_comment = #{manageComment},</if>
79
+            <if test="manageApprover != null">manage_approver = #{manageApprover},</if>
80
+            <if test="manageApprovalTime != null">manage_approval_time = #{manageApprovalTime},</if>
81
+            <if test="scComment != null">sc_comment = #{scComment},</if>
82
+            <if test="scApprover != null">sc_approver = #{scApprover},</if>
83
+            <if test="scApprovalTime != null">sc_approval_time = #{scApprovalTime},</if>
84
+        </trim>
85
+        where project_id = #{projectId}
86
+    </update>
87
+
88
+    <delete id="deleteCmcProjectCommentByProjectId" parameterType="String">
89
+        delete from cmc_project_comment where project_id = #{projectId}
90
+    </delete>
91
+
92
+    <delete id="deleteCmcProjectCommentByProjectIds" parameterType="String">
93
+        delete from cmc_project_comment where project_id in 
94
+        <foreach item="projectId" collection="array" open="(" separator="," close=")">
95
+            #{projectId}
96
+        </foreach>
97
+    </delete>
98
+</mapper>

+ 50
- 32
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectMapper.xml View File

@@ -19,53 +19,50 @@
19 19
         <result property="projectLevel"    column="project_level"    />
20 20
         <result property="projectRegistrant"    column="project_registrant"    />
21 21
         <result property="undertakingDept"    column="undertaking_dept"    />
22
+        <result property="projectPlanner"    column="project_planner"    />
23
+        <result property="siteLeader"    column="site_leader"    />
22 24
         <result property="createTime"    column="create_time"    />
25
+        <result property="planTime"    column="plan_time"    />
26
+        <result property="entryTime"    column="entry_time"    />
27
+        <result property="exitTime"    column="exit_time"    />
23 28
         <result property="remark"    column="remark"    />
24
-        <association property="projectLeaderUser"    javaType="SysUser"         resultMap="ProjectLeaderResult" />
25
-        <association property="projectRegistrantUser"    javaType="SysUser"         resultMap="ProjectRegistrantResult" />
26
-    </resultMap>
27
-
28
-    <resultMap type="SysUser" id="ProjectLeaderResult">
29
-        <result property="userId"    column="user_id"    />
30
-        <result property="nickName"    column="leader_nick_name"    />
31
-    </resultMap>
32
-
33
-    <resultMap type="SysUser" id="ProjectRegistrantResult">
34
-        <result property="userId"    column="user_id"    />
35
-        <result property="nickName"    column="registrant_nick_name"    />
29
+        <result property="budgetId"    column="budget_id"    />
30
+        <result property="technicalId"    column="technical_id"    />
36 31
     </resultMap>
37 32
 
38 33
     <sql id="selectCmcProjectVo">
39
-        select p.project_id, p.project_number, p.project_name, p.project_leader, u.nick_name as leader_nick_name, p.is_finished, p.project_source, p.party_a, p.contact_person, p.telephone, p.contract_id, p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.create_time, p.remark from cmc_project as p
40
-        left join sys_user as u on u.user_id = p.project_leader
41
-        left join sys_user as u1 on u1.user_id = p.project_registrant
34
+        select project_id, project_number, project_name, project_leader, is_finished, project_source, party_a, contact_person, telephone, contract_id, project_type, project_level, project_registrant, undertaking_dept, project_planner, site_leader, create_time, plan_time, entry_time, exit_time, remark, budget_id, technical_id from cmc_project
42 35
     </sql>
43 36
 
44 37
     <select id="selectCmcProjectList" parameterType="CmcProject" resultMap="CmcProjectResult">
45 38
         <include refid="selectCmcProjectVo"/>
46 39
         <where>
47
-            <if test="projectNumber != null  and projectNumber != ''"> and p.project_number like concat('%', #{projectNumber}, '%')</if>
48
-            <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
49
-            <if test="projectLeader != null  and projectLeader != ''"> and p.project_leader like concat('%', #{projectLeader}, '%')</if>
50
-            <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
51
-            <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
52
-            <if test="partyA != null  and partyA != ''"> and p.party_a like concat('%', #{partyA}, '%')</if>
53
-            <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person like concat('%', #{contactPerson}, '%')</if>
54
-            <if test="telephone != null  and telephone != ''"> and p.telephone like concat('%', #{telephone}, '%')</if>
55
-            <if test="contractId != null  and contractId != ''"> and p.contract_id like concat('%', #{contractId}, '%')</if>
56
-            <if test="projectType != null  and projectType != ''"> and p.project_type like concat('%', #{projectType}, '%')</if>
57
-            <if test="projectLevel != null  and projectLevel != ''"> and p.project_level = #{projectLevel}</if>
40
+            <if test="projectNumber != null  and projectNumber != ''"> and project_number = #{projectNumber}</if>
41
+            <if test="projectName != null  and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
42
+            <if test="projectLeader != null "> and project_leader = #{projectLeader}</if>
43
+            <if test="isFinished != null  and isFinished != ''"> and is_finished = #{isFinished}</if>
44
+            <if test="projectSource != null  and projectSource != ''"> and project_source = #{projectSource}</if>
45
+            <if test="partyA != null  and partyA != ''"> and party_a = #{partyA}</if>
46
+            <if test="contactPerson != null  and contactPerson != ''"> and contact_person = #{contactPerson}</if>
47
+            <if test="telephone != null  and telephone != ''"> and telephone = #{telephone}</if>
48
+            <if test="contractId != null  and contractId != ''"> and contract_id = #{contractId}</if>
49
+            <if test="projectType != null  and projectType != ''"> and project_type = #{projectType}</if>
50
+            <if test="projectLevel != null  and projectLevel != ''"> and project_level = #{projectLevel}</if>
51
+            <if test="projectRegistrant != null "> and project_registrant = #{projectRegistrant}</if>
52
+            <if test="undertakingDept != null  and undertakingDept != ''"> and undertaking_dept = #{undertakingDept}</if>
53
+            <if test="projectPlanner != null "> and project_planner = #{projectPlanner}</if>
54
+            <if test="siteLeader != null "> and site_leader = #{siteLeader}</if>
55
+            <if test="planTime != null "> and plan_time = #{planTime}</if>
56
+            <if test="entryTime != null "> and entry_time = #{entryTime}</if>
57
+            <if test="exitTime != null "> and exit_time = #{exitTime}</if>
58
+            <if test="budgetId != null  and budgetId != ''"> and budget_id = #{budgetId}</if>
59
+            <if test="technicalId != null  and technicalId != ''"> and technical_id = #{technicalId}</if>
58 60
         </where>
59 61
     </select>
60 62
 
61 63
     <select id="selectCmcProjectByProjectId" parameterType="String" resultMap="CmcProjectResult">
62 64
         <include refid="selectCmcProjectVo"/>
63
-        where p.project_id = #{projectId}
64
-    </select>
65
-
66
-    <select id="selectCmcProjectListByProjectLeader" parameterType="String" resultMap="CmcProjectResult">
67
-        <include refid="selectCmcProjectVo"/>
68
-        where p.project_leader = #{projectLeader}
65
+        where project_id = #{projectId}
69 66
     </select>
70 67
 
71 68
     <insert id="insertCmcProject" parameterType="CmcProject">
@@ -85,8 +82,15 @@
85 82
             <if test="projectLevel != null">project_level,</if>
86 83
             <if test="projectRegistrant != null">project_registrant,</if>
87 84
             <if test="undertakingDept != null">undertaking_dept,</if>
85
+            <if test="projectPlanner != null">project_planner,</if>
86
+            <if test="siteLeader != null">site_leader,</if>
88 87
             <if test="createTime != null">create_time,</if>
88
+            <if test="planTime != null">plan_time,</if>
89
+            <if test="entryTime != null">entry_time,</if>
90
+            <if test="exitTime != null">exit_time,</if>
89 91
             <if test="remark != null">remark,</if>
92
+            <if test="budgetId != null">budget_id,</if>
93
+            <if test="technicalId != null">technical_id,</if>
90 94
         </trim>
91 95
         <trim prefix="values (" suffix=")" suffixOverrides=",">
92 96
             <if test="projectId != null">#{projectId},</if>
@@ -103,8 +107,15 @@
103 107
             <if test="projectLevel != null">#{projectLevel},</if>
104 108
             <if test="projectRegistrant != null">#{projectRegistrant},</if>
105 109
             <if test="undertakingDept != null">#{undertakingDept},</if>
110
+            <if test="projectPlanner != null">#{projectPlanner},</if>
111
+            <if test="siteLeader != null">#{siteLeader},</if>
106 112
             <if test="createTime != null">#{createTime},</if>
113
+            <if test="planTime != null">#{planTime},</if>
114
+            <if test="entryTime != null">#{entryTime},</if>
115
+            <if test="exitTime != null">#{exitTime},</if>
107 116
             <if test="remark != null">#{remark},</if>
117
+            <if test="budgetId != null">#{budgetId},</if>
118
+            <if test="technicalId != null">#{technicalId},</if>
108 119
         </trim>
109 120
     </insert>
110 121
 
@@ -124,8 +135,15 @@
124 135
             <if test="projectLevel != null">project_level = #{projectLevel},</if>
125 136
             <if test="projectRegistrant != null">project_registrant = #{projectRegistrant},</if>
126 137
             <if test="undertakingDept != null">undertaking_dept = #{undertakingDept},</if>
138
+            <if test="projectPlanner != null">project_planner = #{projectPlanner},</if>
139
+            <if test="siteLeader != null">site_leader = #{siteLeader},</if>
127 140
             <if test="createTime != null">create_time = #{createTime},</if>
141
+            <if test="planTime != null">plan_time = #{planTime},</if>
142
+            <if test="entryTime != null">entry_time = #{entryTime},</if>
143
+            <if test="exitTime != null">exit_time = #{exitTime},</if>
128 144
             <if test="remark != null">remark = #{remark},</if>
145
+            <if test="budgetId != null">budget_id = #{budgetId},</if>
146
+            <if test="technicalId != null">technical_id = #{technicalId},</if>
129 147
         </trim>
130 148
         where project_id = #{projectId}
131 149
     </update>

+ 73
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectProgressMapper.xml View File

@@ -0,0 +1,73 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcProjectProgressMapper">
6
+    
7
+    <resultMap type="CmcProjectProgress" id="CmcProjectProgressResult">
8
+        <result property="progressId"    column="progress_id"    />
9
+        <result property="projectId"    column="project_id"    />
10
+        <result property="percentage"    column="percentage"    />
11
+        <result property="date"    column="date"    />
12
+        <result property="situation"    column="situation"    />
13
+    </resultMap>
14
+
15
+    <sql id="selectCmcProjectProgressVo">
16
+        select progress_id, project_id, percentage, date, situation from cmc_project_progress
17
+    </sql>
18
+
19
+    <select id="selectCmcProjectProgressList" parameterType="CmcProjectProgress" resultMap="CmcProjectProgressResult">
20
+        <include refid="selectCmcProjectProgressVo"/>
21
+        <where>  
22
+            <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
23
+            <if test="percentage != null  and percentage != ''"> and percentage = #{percentage}</if>
24
+            <if test="date != null "> and date = #{date}</if>
25
+            <if test="situation != null  and situation != ''"> and situation = #{situation}</if>
26
+        </where>
27
+    </select>
28
+    
29
+    <select id="selectCmcProjectProgressByProgressId" parameterType="String" resultMap="CmcProjectProgressResult">
30
+        <include refid="selectCmcProjectProgressVo"/>
31
+        where progress_id = #{progressId}
32
+    </select>
33
+        
34
+    <insert id="insertCmcProjectProgress" parameterType="CmcProjectProgress">
35
+        insert into cmc_project_progress
36
+        <trim prefix="(" suffix=")" suffixOverrides=",">
37
+            <if test="progressId != null">progress_id,</if>
38
+            <if test="projectId != null">project_id,</if>
39
+            <if test="percentage != null">percentage,</if>
40
+            <if test="date != null">date,</if>
41
+            <if test="situation != null">situation,</if>
42
+         </trim>
43
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
44
+            <if test="progressId != null">#{progressId},</if>
45
+            <if test="projectId != null">#{projectId},</if>
46
+            <if test="percentage != null">#{percentage},</if>
47
+            <if test="date != null">#{date},</if>
48
+            <if test="situation != null">#{situation},</if>
49
+         </trim>
50
+    </insert>
51
+
52
+    <update id="updateCmcProjectProgress" parameterType="CmcProjectProgress">
53
+        update cmc_project_progress
54
+        <trim prefix="SET" suffixOverrides=",">
55
+            <if test="projectId != null">project_id = #{projectId},</if>
56
+            <if test="percentage != null">percentage = #{percentage},</if>
57
+            <if test="date != null">date = #{date},</if>
58
+            <if test="situation != null">situation = #{situation},</if>
59
+        </trim>
60
+        where progress_id = #{progressId}
61
+    </update>
62
+
63
+    <delete id="deleteCmcProjectProgressByProgressId" parameterType="String">
64
+        delete from cmc_project_progress where progress_id = #{progressId}
65
+    </delete>
66
+
67
+    <delete id="deleteCmcProjectProgressByProgressIds" parameterType="String">
68
+        delete from cmc_project_progress where progress_id in 
69
+        <foreach item="progressId" collection="array" open="(" separator="," close=")">
70
+            #{progressId}
71
+        </foreach>
72
+    </delete>
73
+</mapper>

+ 7
- 2
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcProjectWorkMapper.xml View File

@@ -12,11 +12,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
12 12
         <result property="unit"    column="unit"    />
13 13
         <result property="workload"    column="workload"    />
14 14
         <result property="deadline"    column="deadline"    />
15
+        <result property="finishTime"    column="finish_time"    />
15 16
         <result property="remark"    column="remark"    />
16 17
     </resultMap>
17 18
 
18 19
     <sql id="selectCmcProjectWorkVo">
19
-        select work_id, project_id, content, scale, unit, workload, deadline, remark from cmc_project_work
20
+        select work_id, project_id, content, scale, unit, workload, deadline, finish_time, remark from cmc_project_work
20 21
     </sql>
21 22
 
22 23
     <select id="selectCmcProjectWorkList" parameterType="CmcProjectWork" resultMap="CmcProjectWorkResult">
@@ -27,6 +28,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
27 28
             <if test="unit != null  and unit != ''"> and unit like concat('%', #{unit}, '%')</if>
28 29
             <if test="workload != null  and workload != ''"> and workload = #{workload}</if>
29 30
             <if test="deadline != null "> and deadline like concat('%', #{deadline}, '%')</if>
31
+            <if test="finishTime != null "> and finish_time like concat('%', #{finishTime}, '%')</if>
30 32
         </where>
31 33
     </select>
32 34
     
@@ -45,7 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
45 47
             <if test="unit != null">unit,</if>
46 48
             <if test="workload != null">workload,</if>
47 49
             <if test="deadline != null">deadline,</if>
48
-            <if test="remark != null">remark,</if>
50
+            <if test="finishTime != null">remark,</if>
51
+            <if test="remark != null">finish_time,</if>
49 52
          </trim>
50 53
         <trim prefix="values (" suffix=")" suffixOverrides=",">
51 54
             <if test="workId != null">#{workId},</if>
@@ -55,6 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
55 58
             <if test="unit != null">#{unit},</if>
56 59
             <if test="workload != null">#{workload},</if>
57 60
             <if test="deadline != null">#{deadline},</if>
61
+            <if test="finishTime != null">#{finishTime},</if>
58 62
             <if test="remark != null">#{remark},</if>
59 63
          </trim>
60 64
     </insert>
@@ -68,6 +72,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
68 72
             <if test="unit != null">unit = #{unit},</if>
69 73
             <if test="workload != null">workload = #{workload},</if>
70 74
             <if test="deadline != null">deadline = #{deadline},</if>
75
+            <if test="finishTime != null">finish_time = #{finishTime},</if>
71 76
             <if test="remark != null">remark = #{remark},</if>
72 77
         </trim>
73 78
         where work_id = #{workId}

+ 88
- 0
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcTechnicalMapper.xml View File

@@ -0,0 +1,88 @@
1
+<?xml version="1.0" encoding="UTF-8" ?>
2
+<!DOCTYPE mapper
3
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
+<mapper namespace="com.ruoyi.oa.mapper.CmcTechnicalMapper">
6
+    
7
+    <resultMap type="CmcTechnical" id="CmcTechnicalResult">
8
+        <result property="technicalId"    column="technical_id"    />
9
+        <result property="projectId"    column="project_id"    />
10
+        <result property="technicalDirector"    column="technical_director"    />
11
+        <result property="technicalDesigner"    column="technical_designer"    />
12
+        <result property="technicalPlanner"    column="technical_planner"    />
13
+        <result property="technicalComment"    column="technical_comment"    />
14
+        <result property="qualityInspector"    column="quality_inspector"    />
15
+        <result property="technicalTime"    column="technical_time"    />
16
+    </resultMap>
17
+
18
+    <sql id="selectCmcTechnicalVo">
19
+        select technical_id, project_id, technical_director, technical_designer, technical_planner, technical_comment, quality_inspector, technical_time from cmc_technical
20
+    </sql>
21
+
22
+    <select id="selectCmcTechnicalList" parameterType="CmcTechnical" resultMap="CmcTechnicalResult">
23
+        <include refid="selectCmcTechnicalVo"/>
24
+        <where>  
25
+            <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
26
+            <if test="technicalDirector != null "> and technical_director = #{technicalDirector}</if>
27
+            <if test="technicalDesigner != null "> and technical_designer = #{technicalDesigner}</if>
28
+            <if test="technicalPlanner != null "> and technical_planner = #{technicalPlanner}</if>
29
+            <if test="technicalComment != null  and technicalComment != ''"> and technical_comment = #{technicalComment}</if>
30
+            <if test="qualityInspector != null  and qualityInspector != ''"> and quality_inspector = #{qualityInspector}</if>
31
+            <if test="technicalTime != null "> and technical_time = #{technicalTime}</if>
32
+        </where>
33
+    </select>
34
+    
35
+    <select id="selectCmcTechnicalByTechnicalId" parameterType="String" resultMap="CmcTechnicalResult">
36
+        <include refid="selectCmcTechnicalVo"/>
37
+        where technical_id = #{technicalId}
38
+    </select>
39
+        
40
+    <insert id="insertCmcTechnical" parameterType="CmcTechnical">
41
+        insert into cmc_technical
42
+        <trim prefix="(" suffix=")" suffixOverrides=",">
43
+            <if test="technicalId != null">technical_id,</if>
44
+            <if test="projectId != null">project_id,</if>
45
+            <if test="technicalDirector != null">technical_director,</if>
46
+            <if test="technicalDesigner != null">technical_designer,</if>
47
+            <if test="technicalPlanner != null">technical_planner,</if>
48
+            <if test="technicalComment != null">technical_comment,</if>
49
+            <if test="qualityInspector != null">quality_inspector,</if>
50
+            <if test="technicalTime != null">technical_time,</if>
51
+         </trim>
52
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
53
+            <if test="technicalId != null">#{technicalId},</if>
54
+            <if test="projectId != null">#{projectId},</if>
55
+            <if test="technicalDirector != null">#{technicalDirector},</if>
56
+            <if test="technicalDesigner != null">#{technicalDesigner},</if>
57
+            <if test="technicalPlanner != null">#{technicalPlanner},</if>
58
+            <if test="technicalComment != null">#{technicalComment},</if>
59
+            <if test="qualityInspector != null">#{qualityInspector},</if>
60
+            <if test="technicalTime != null">#{technicalTime},</if>
61
+         </trim>
62
+    </insert>
63
+
64
+    <update id="updateCmcTechnical" parameterType="CmcTechnical">
65
+        update cmc_technical
66
+        <trim prefix="SET" suffixOverrides=",">
67
+            <if test="projectId != null">project_id = #{projectId},</if>
68
+            <if test="technicalDirector != null">technical_director = #{technicalDirector},</if>
69
+            <if test="technicalDesigner != null">technical_designer = #{technicalDesigner},</if>
70
+            <if test="technicalPlanner != null">technical_planner = #{technicalPlanner},</if>
71
+            <if test="technicalComment != null">technical_comment = #{technicalComment},</if>
72
+            <if test="qualityInspector != null">quality_inspector = #{qualityInspector},</if>
73
+            <if test="technicalTime != null">technical_time = #{technicalTime},</if>
74
+        </trim>
75
+        where technical_id = #{technicalId}
76
+    </update>
77
+
78
+    <delete id="deleteCmcTechnicalByTechnicalId" parameterType="String">
79
+        delete from cmc_technical where technical_id = #{technicalId}
80
+    </delete>
81
+
82
+    <delete id="deleteCmcTechnicalByTechnicalIds" parameterType="String">
83
+        delete from cmc_technical where technical_id in 
84
+        <foreach item="technicalId" collection="array" open="(" separator="," close=")">
85
+            #{technicalId}
86
+        </foreach>
87
+    </delete>
88
+</mapper>

+ 18
- 0
oa-back/ruoyi-system/src/main/resources/mapper/system/SysUserPostMapper.xml View File

@@ -29,6 +29,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
29 29
 		where up.post_id = 12
30 30
 	</select>
31 31
 
32
+	<select id="selectViceDeptLeaderByUserId" parameterType="String" resultMap="SysUserResult">
33
+	select r.user_id, r.nick_name from
34
+	(select u1.user_id, u1.nick_name, u.dept_id from
35
+	sys_user as u, sys_user as u1 where u.user_id = #{param} and u1.dept_id = u.dept_id) as r
36
+	left join sys_user_post as up
37
+	on r.user_id = up.user_id
38
+	where up.post_id = 13 order by user_id desc limit 1
39
+	</select>
40
+
32 41
 	<select id="selectDeptLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
33 42
 		select r.user_id, r.nick_name, up.post_id from
34 43
 		(select user_id, nick_name, dept_id from
@@ -38,6 +47,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
38 47
 		where up.post_id = 12
39 48
 	</select>
40 49
 
50
+	<select id="selectViceDeptLeaderByDeptId" parameterType="String" resultMap="SysUserResult">
51
+		select r.user_id, r.nick_name, up.post_id from
52
+		(select user_id, nick_name, dept_id from
53
+		sys_user where dept_id = #{param}) as r
54
+		left join sys_user_post as up
55
+		on r.user_id = up.user_id
56
+		where up.post_id = 13 order by user_id desc limit 1
57
+	</select>
58
+
41 59
 	<delete id="deleteUserPostByUserId" parameterType="Long">
42 60
 		delete from sys_user_post where user_id=#{userId}
43 61
 	</delete>

+ 286
- 199
oa-back/sql/sql.sql
File diff suppressed because it is too large
View File


+ 1
- 2
oa-ui/src/views/flowable/form/deviceForm.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-07 13:44:39
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-03-27 16:47:23
5
+ * @LastEditTime: 2024-03-29 10:23:41
6 6
 -->
7 7
 
8 8
 <template>
@@ -309,7 +309,6 @@ export default {
309 309
           });
310 310
         })
311 311
       } else if (this.taskName == '分管审核') {
312
-        this.$set(this.taskForm.variables, "approval", 16);
313 312
         complete(this.taskForm).then(response => {
314 313
           this.$modal.msgSuccess(response.msg);
315 314
           this.$emit('goBack')

+ 27
- 126
oa-ui/src/views/flowable/form/projectProcess/addproject.vue View File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-19 11:10:54
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-02 15:56:25
6 6
 -->
7 7
 
8 8
 <template>
@@ -15,12 +15,7 @@
15 15
       </el-form-item>
16 16
       <el-form-item label="项目名称:" prop="projectName">
17 17
         <el-input v-model="addForm.projectName"></el-input>
18
-      </el-form-item>
19
-      <el-form-item label="项目负责人:" prop="projectLeader">
20
-        <el-tag effect="plain" type="warning" style="margin-right: 10px;"
21
-          v-if="addForm.projectLeader != undefined">{{ addForm.projectLeader }}</el-tag>
22
-        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
23
-      </el-form-item>
18
+      </el-form-item>      
24 19
       <el-form-item label="项目类型:" prop="projectType">
25 20
         <el-input v-model="addForm.projectType"></el-input>
26 21
       </el-form-item>
@@ -75,8 +70,7 @@
75 70
               <el-input v-model="work.remark" type="textarea" autosize clearable></el-input>
76 71
             </td>
77 72
             <td>
78
-              <el-button type="danger" icon="el-icon-minus" size="mini" circle
79
-                @click="deletWorkItem(index)"></el-button>
73
+              <el-button type="danger" icon="el-icon-minus" size="mini" circle @click="deletWorkItem(index)"></el-button>
80 74
             </td>
81 75
           </tr>
82 76
         </table>
@@ -95,42 +89,25 @@
95 89
       <el-button type="primary" @click="confirmAddForm">确 定</el-button>
96 90
       <el-button @click="cancel">取 消</el-button>
97 91
     </div>
98
-    <!-- 人员选择对话框 -->
99
-    <el-dialog width="320px" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
100
-      <el-form>
101
-        <el-form-item label="部门:">
102
-          <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
103
-            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName"
104
-              :value="item.deptId" v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
105
-            </el-option>
106
-          </el-select>
107
-        </el-form-item>
108
-        <el-form-item label="人员:">
109
-          <el-select v-model="peopleForm.userId">
110
-            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName"
111
-              :value="item.userId">
112
-            </el-option>
113
-          </el-select>
114
-        </el-form-item>
115
-        <el-form-item style="text-align: center;">
116
-          <el-button @click="confirmPeople" type="primary">确定</el-button>
117
-          <el-button @click="cancelChoosePeople">取消</el-button>
118
-        </el-form-item>
119
-      </el-form>
120
-    </el-dialog>
92
+    
121 93
 
122 94
   </div>
123 95
 </template>
124 96
 
125 97
 <script>
126 98
 import { listProject, submitProject, modifyProject, delProject } from "@/api/oa/project/project";
127
-import { listDept } from '@/api/system/dept'
128
-import { listUser, getUser } from '@/api/system/user'
99
+import { getUser } from '@/api/system/user'
100
+import { getUsersDeptLeaderByDept } from '@/api/system/post'
101
+import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
129 102
 export default {
130 103
   props: {
131 104
     disable: {
132 105
       type: Boolean,
133 106
       require: true
107
+    },
108
+    taskForm: {
109
+      type: Object,
110
+      required: true
134 111
     }
135 112
   },
136 113
   data() {
@@ -147,21 +124,12 @@ export default {
147 124
       projectList: [],
148 125
       total: 0,
149 126
       loading: true,
150
-      addOpen: false,
151 127
       modifyOpen: false,
152
-      title: '',
153 128
       addForm: {},
154 129
       rules: {
155 130
         projectNumber: [{ required: true, message: '请输入项目编号', trigger: 'blur' }],
156 131
         projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }]
157 132
       },
158
-      peopleVisible: false,
159
-      peopleForm: {
160
-        deptId: '',
161
-        deptList: [],
162
-        userId: '',
163
-        userList: []
164
-      },
165 133
       workList: [{
166 134
         content: '',
167 135
         scale: '',
@@ -177,7 +145,6 @@ export default {
177 145
   },
178 146
   created() {
179 147
     this.getList();
180
-    this.getDeptList();
181 148
   },
182 149
   methods: {
183 150
     // 查询项目列表
@@ -197,90 +164,29 @@ export default {
197 164
         this.loading = false;
198 165
       })
199 166
     },
200
-    getDeptList() {
201
-      listDept({
202
-        deptName: undefined,
203
-        status: undefined
204
-      }).then(res => {
205
-        this.peopleForm.deptList = res.data
206
-      })
207
-    },
208
-    handleQuery() {
209
-      this.queryParams.pageNum = 1;
210
-      this.getList();
211
-    },
212
-    handleAdd() {
213
-      this.title = '新增项目'
214
-      this.addOpen = true
215
-    },
216
-    handleUpdate(row) {
217
-      debugger
218
-      this.addForm = row;
219
-      this.title = '修改项目信息';
220
-      this.addOpen = true;
221
-    },
222
-    handleDelete(row) {
223
-      const projectIds = row.projectId || this.ids;
224
-      const projectNumbers = row.projectNumber || this.ids;
225
-      this.$modal.confirm('是否确认删除项目编号为"' + projectNumbers + '"的数据项?').then(function () {
226
-        return delProject(projectIds);
227
-      }).then(() => {
228
-        this.getList();
229
-        this.$modal.msgSuccess("删除成功");
230
-      }).catch(() => { });
231
-    },
232 167
     confirmAddForm() {
233 168
       this.addForm.workList = this.workList;
234 169
       let formData = new FormData();
235 170
       let form = JSON.stringify(this.addForm);
236 171
       formData.append("form", form);
237
-      console.log(this.title);
238
-      if (this.title == '新增项目')
239
-        submitProject(formData).then(response => {
240
-          this.$modal.msgSuccess("新增成功");
241
-          this.addOpen = false;
242
-          this.getList();
243
-        });
244
-      else
245
-        modifyProject(formData).then(response => {
246
-          this.$modal.msgSuccess("修改成功");
247
-          this.addOpen = false;
248
-          this.getList();
249
-        });
250
-    },
251
-    // 人员选择
252
-    choosePeople() {
253
-      this.peopleVisible = true;
254
-    },
255
-    // 改变部门选择
256
-    handleChangeDept(deptId) {
257
-      this.peopleForm.userId = '';
258
-      listUser({ pageSize: 999999, deptId }).then(res => {
259
-        console.log(res);
260
-        this.peopleForm.userList = res.rows
172
+      // submitProject(formData).then(response => {
173
+      //   this.$modal.msgSuccess("新增成功");
174
+      //   this.getList();
175
+      // });
176
+      const params = { taskId: this.taskForm.taskId };
177
+      // 获取下一个流程节点
178
+      getNextFlowNode(params).then(res => {
179
+        getUsersDeptLeaderByDept({ deptId: 107 }).then(res => {
180
+          let userId = res.data.userId;
181
+          this.$set(this.taskForm.variables, "approval", userId);
182
+          complete(this.taskForm).then(response => {
183
+            this.$modal.msgSuccess(response.msg);
184
+            this.$emit('goBack')
185
+          });
186
+        })
261 187
       })
262 188
     },
263
-    // 确定项目负责人
264
-    confirmPeople() {
265
-      this.addForm.projectLeader = this.peopleForm.userId;
266
-      this.addForm.projectLeader = this.tagLeader()
267
-      this.peopleVisible = false
268
-    },
269
-    tagLeader() {
270
-      if (this.addForm.projectLeader == '' || this.addForm.projectLeader == undefined || this.addForm.projectLeader == null) {
271
-        return undefined
272
-      } else {
273
-        for (let user of this.peopleForm.userList) {
274
-          if (this.addForm.projectLeader == user.userId) {
275
-            return user.nickName
276
-          }
277
-        }
278
-      }
279
-    },
280 189
     cancel() {
281
-      this.peopleForm.deptId = '';
282
-      this.peopleForm.userId = '';
283
-      this.addOpen = false;
284 190
       this.addForm = {}
285 191
     },
286 192
     addWorkList() {
@@ -302,11 +208,6 @@ export default {
302 208
         arr.splice(index, 1);
303 209
       }
304 210
     },
305
-    cancelChoosePeople() {
306
-      this.peopleForm.deptId = '';
307
-      this.peopleForm.userId = '';
308
-      this.peopleVisible = false;
309
-    },
310 211
     querySearch(queryString, cb) {
311 212
       var restaurants = this.restaurants;
312 213
       var results = queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;

+ 131
- 12
oa-ui/src/views/flowable/form/projectProcess/arrangeProject.vue View File

@@ -1,45 +1,85 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-03-19 09:24:06
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-19 11:27:04
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-02 17:45:20
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
9
-    <h2 style="text-align: center;">项目登记</h2>
9
+    <h2 style="text-align: center;">项目安排</h2>
10 10
     <el-form :model="form" :rules="rules" label-width="100px" :disable="disable">
11 11
       <el-form-item label="承担部门:" prop="undertakingDept">
12
-        <el-select v-model="form.deptId" multiple clearable  style="width:500px">
12
+        <el-select v-model="form.deptId" multiple clearable style="width:500px" @change="getDeptLeader">
13 13
           <el-option v-for="item in deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
14 14
             v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
15 15
           </el-option>
16 16
         </el-select>
17 17
       </el-form-item>
18 18
       <el-form-item label="部门负责人" prop="deptLeader">
19
-        <el-input v-model="form.deptLeader"></el-input>
19
+        <el-select v-model="form.deptLeader" multiple clearable style="width:500px">
20
+          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
21
+            v-if="item.nickName != 'admin'">
22
+          </el-option>
23
+        </el-select>
20 24
       </el-form-item>
21 25
       <el-form-item label="项目负责人" prop="projectLeader">
22 26
         <el-tag effect="plain" type="warning" style="margin-right: 10px;">{{ form.projectLeader }}</el-tag>
23
-        <el-button type="primary" plain size="mini">更换</el-button>
27
+        <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="choosePeople">选择</el-button>
24 28
       </el-form-item>
25
-      <el-form-item label="现场负责人">
26
-        <el-input v-model="form.deptLeader"></el-input>
29
+      <el-form-item label="现场负责人" prop="siteLeader">
30
+        <el-select v-model="form.siteLeader" filterable clearable style="width:500px">
31
+          <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId"
32
+            v-if="item.nickName != 'admin'">
33
+          </el-option>
34
+        </el-select>
27 35
       </el-form-item>
28 36
       <el-form-item label="项目预算">
29 37
         <el-input v-model="form.deptLeader"></el-input>
30 38
       </el-form-item>
31 39
     </el-form>
32
-    
40
+    <!-- 人员选择对话框 -->
41
+    <el-dialog width="320px" title="选择项目负责人" :visible.sync="peopleVisible" append-to-body>
42
+      <el-form>
43
+        <el-form-item label="部门:">
44
+          <el-select v-model="peopleForm.deptId" @change="handleChangeDept">
45
+            <el-option v-for="item in peopleForm.deptList" :key="item.deptId" :label="item.deptName" :value="item.deptId"
46
+              v-if="item.deptName != '四川中水成勘院测绘工程有限责任公司'">
47
+            </el-option>
48
+          </el-select>
49
+        </el-form-item>
50
+        <el-form-item label="人员:">
51
+          <el-select v-model="peopleForm.userId">
52
+            <el-option v-for="item in peopleForm.userList" :key="item.userId" :label="item.nickName" :value="item.userId">
53
+            </el-option>
54
+          </el-select>
55
+        </el-form-item>
56
+        <el-form-item style="text-align: center;">
57
+          <el-button @click="confirmPeople" type="primary">确定</el-button>
58
+          <el-button @click="cancelChoosePeople">取消</el-button>
59
+        </el-form-item>
60
+      </el-form>
61
+    </el-dialog>
62
+    <div slot="footer" class="dialog-footer" style="text-align: center;">
63
+      <el-button type="primary" @click="confirmPlanForm">确 定</el-button>
64
+      <el-button @click="cancel">取 消</el-button>
65
+    </div>
33 66
   </div>
34 67
 </template>
35 68
 
36 69
 <script>
37 70
 import { listDept } from '@/api/system/dept'
71
+import { listUser } from '@/api/system/user'
72
+import { getUsersDeptLeaderByDept } from '@/api/system/post'
73
+import { complete, rejectTask, returnList, returnTask, getNextFlowNode, delegate, flowTaskForm, } from "@/api/flowable/todo";
38 74
 export default {
39 75
   props: {
40 76
     disable: {
41 77
       type: Boolean,
42 78
       require: true
79
+    },
80
+    taskForm: {
81
+      type: Object,
82
+      required: true
43 83
     }
44 84
   },
45 85
   data() {
@@ -47,23 +87,102 @@ export default {
47 87
       form: {},
48 88
       rules: {},
49 89
       deptList: [],
50
-      file:{
51
-        fileList:[]
52
-      }
90
+      userList: [],
91
+      deptLeaderList: [],
92
+      file: {
93
+        fileList: []
94
+      },
95
+      peopleVisible: false,
96
+      peopleForm: {
97
+        deptId: '',
98
+        deptList: [],
99
+        userId: '',
100
+        userList: []
101
+      },
53 102
     }
54 103
   },
55 104
   created() {
56 105
     this.getDeptList();
106
+    this.getUserList();
57 107
   },
58 108
   methods: {
109
+    getUserList() {
110
+      listUser({ pageSize: 9999, pageNum: 1 }).then(res => {
111
+        this.userList = res.rows
112
+      })
113
+    },
59 114
     getDeptList() {
60 115
       listDept({
61 116
         deptName: undefined,
62 117
         status: undefined
63 118
       }).then(res => {
64 119
         this.deptList = res.data
120
+        this.peopleForm.deptList = res.data
121
+      })
122
+    },
123
+    getDeptLeader(val) {
124
+      this.deptLeaderList = [];
125
+      for (let v of val) {
126
+        getUsersDeptLeaderByDept({ deptId: v }).then(res => {
127
+          this.deptLeaderList.push(res.data.userId);
128
+          this.form.deptLeader = this.deptLeaderList;
129
+        })
130
+      }
131
+    },
132
+    // 人员选择
133
+    choosePeople() {
134
+      this.peopleVisible = true;
135
+    },
136
+    // 改变部门选择
137
+    handleChangeDept(deptId) {
138
+      this.peopleForm.userId = '';
139
+      listUser({ pageSize: 999999, deptId }).then(res => {
140
+        this.peopleForm.userList = res.rows
65 141
       })
66 142
     },
143
+    // 确定项目负责人
144
+    confirmPeople() {
145
+      this.form.projectLeader = this.peopleForm.userId;
146
+      this.form.projectLeader = this.tagLeader()
147
+      this.peopleVisible = false
148
+    },
149
+    tagLeader() {
150
+      if (this.form.projectLeader == '' || this.form.projectLeader == undefined || this.form.projectLeader == null) {
151
+        return undefined
152
+      } else {
153
+        for (let user of this.peopleForm.userList) {
154
+          if (this.form.projectLeader == user.userId) {
155
+            return user.nickName
156
+          }
157
+        }
158
+      }
159
+    },
160
+    cancelChoosePeople() {
161
+      this.peopleForm.deptId = '';
162
+      this.peopleForm.userId = '';
163
+      this.peopleVisible = false;
164
+    },
165
+    confirmPlanForm() {
166
+      let formData = new FormData();
167
+      let form = JSON.stringify(this.form);
168
+      formData.append("form", form);
169
+      const params = { taskId: this.taskForm.taskId };
170
+      // 获取下一个流程节点
171
+      getNextFlowNode(params).then(res => {
172
+        this.$set(this.taskForm.variables, "budgetInitiator", this.peopleForm.userId);
173
+        getUsersDeptLeaderByDept({ deptId: 105 }).then(res => {
174
+          let userId = res.data.userId;
175
+          this.$set(this.taskForm.variables, "approval", userId);
176
+          complete(this.taskForm).then(response => {
177
+            this.$modal.msgSuccess(response.msg);
178
+            this.$emit('goBack')
179
+          });
180
+        })
181
+      })
182
+    },
183
+    cancel() {
184
+      this.form = {}
185
+    },
67 186
   }
68 187
 }
69 188
 </script>

+ 8
- 23
oa-ui/src/views/flowable/form/projectProcess/index.vue View File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-02-27 14:49:15
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-03-19 10:11:01
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-04-02 14:56:03
6 6
 -->
7 7
 
8 8
 <template>
@@ -10,15 +10,16 @@
10 10
 
11 11
     <el-tabs tabPosition="left" type="card" class="tabs-border" v-model="activeName">
12 12
       <el-tab-pane label="项目登记">
13
-        <addproject :disable="taskName != '项目登记'"></addproject>
13
+        <addproject :taskForm = "taskForm" :disable="taskName != '项目登记'"></addproject>
14 14
       </el-tab-pane>
15 15
       <el-tab-pane label="项目安排">
16
-        <arrangeProject :disable="false"></arrangeProject>
16
+        <arrangeProject :taskForm = "taskForm" :disable="taskName != '项目安排'"></arrangeProject>
17 17
       </el-tab-pane>
18 18
       <el-tab-pane label="技术交底"></el-tab-pane>
19 19
       <el-tab-pane label="安全交底"></el-tab-pane>
20 20
       <el-tab-pane label="经营审核"></el-tab-pane>
21 21
       <el-tab-pane label="分管审核"></el-tab-pane>
22
+      <el-tab-pane label="生产确认"></el-tab-pane>
22 23
       <el-tab-pane label="项目生产"></el-tab-pane>
23 24
       <el-tab-pane label="质量检查"></el-tab-pane>
24 25
       <el-tab-pane label="成果归档"></el-tab-pane>
@@ -38,6 +39,9 @@ export default {
38 39
   props: {
39 40
     taskName: {
40 41
       type: String
42
+    },
43
+    taskForm: {
44
+      type: Object,
41 45
     }
42 46
   },
43 47
   components: {
@@ -138,25 +142,6 @@ export default {
138 142
         this.$modal.msgSuccess("删除成功");
139 143
       }).catch(() => { });
140 144
     },
141
-    confirmAddForm() {
142
-      this.addForm.workList = this.workList;
143
-      let formData = new FormData();
144
-      let form = JSON.stringify(this.addForm);
145
-      formData.append("form", form);
146
-      console.log(this.title);
147
-      if (this.title == '新增项目')
148
-        submitProject(formData).then(response => {
149
-          this.$modal.msgSuccess("新增成功");
150
-          this.addOpen = false;
151
-          this.getList();
152
-        });
153
-      else
154
-        modifyProject(formData).then(response => {
155
-          this.$modal.msgSuccess("修改成功");
156
-          this.addOpen = false;
157
-          this.getList();
158
-        });
159
-    },
160 145
     // 人员选择
161 146
     choosePeople() {
162 147
       this.peopleVisible = true;

Loading…
Cancel
Save