Browse Source

已完成项目统计

lamphua 7 months ago
parent
commit
53cdedfbbc

+ 10
- 3
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java View File

155
         JSONObject typeObject = new JSONObject();
155
         JSONObject typeObject = new JSONObject();
156
         JSONArray deptArray = new JSONArray();
156
         JSONArray deptArray = new JSONArray();
157
         JSONObject deptObject = new JSONObject();
157
         JSONObject deptObject = new JSONObject();
158
+        JSONArray completeArray = new JSONArray();
159
+        JSONObject completeObject = new JSONObject();
158
         //整体
160
         //整体
159
         if (cmcProject.getProjectNumber() == null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
161
         if (cmcProject.getProjectNumber() == null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
160
             //每年项目数量
162
             //每年项目数量
167
             getProjectSourceStatistic(cmcProject, sourceObject);
169
             getProjectSourceStatistic(cmcProject, sourceObject);
168
             getProjectTypeStatistic(cmcProject, typeObject);
170
             getProjectTypeStatistic(cmcProject, typeObject);
169
             getProjectDeptStatistic(cmcProject, deptObject);
171
             getProjectDeptStatistic(cmcProject, deptObject);
170
-
172
+            getProjectCompleteStatistic(cmcProject, completeObject);
171
 
173
 
172
         }
174
         }
173
         //年度
175
         //年度
177
             getProjectSourceStatistic(cmcProject, sourceObject);
179
             getProjectSourceStatistic(cmcProject, sourceObject);
178
             getProjectTypeStatistic(cmcProject, typeObject);
180
             getProjectTypeStatistic(cmcProject, typeObject);
179
             getProjectDeptStatistic(cmcProject, deptObject);
181
             getProjectDeptStatistic(cmcProject, deptObject);
182
+            getProjectCompleteStatistic(cmcProject, completeObject);
180
         }
183
         }
181
         yearArray.add(yearObject);
184
         yearArray.add(yearObject);
182
         sourceArray.add(sourceObject);
185
         sourceArray.add(sourceObject);
183
         deptArray.add(deptObject);
186
         deptArray.add(deptObject);
184
         typeArray.add(typeObject);
187
         typeArray.add(typeObject);
188
+        completeArray.add(completeObject);
185
         jsonObject.put("year", yearArray);
189
         jsonObject.put("year", yearArray);
186
         jsonObject.put("source", sourceArray);
190
         jsonObject.put("source", sourceArray);
187
         jsonObject.put("dept", deptArray);
191
         jsonObject.put("dept", deptArray);
188
         jsonObject.put("type", typeArray);
192
         jsonObject.put("type", typeArray);
193
+        jsonObject.put("complete", completeArray);
189
         return success(jsonObject);
194
         return success(jsonObject);
190
     }
195
     }
191
 
196
 
331
     }
336
     }
332
 
337
 
333
     //项目完成数量
338
     //项目完成数量
334
-    public void getProjectCompleteStatistic(CmcProject cmcProject, JSONObject deptObject) {
335
-        List<CmcProject> deptList = cmcProjectService.selectCmcProjectList(cmcProject);
339
+    public void getProjectCompleteStatistic(CmcProject cmcProject, JSONObject completeObject) {
340
+        cmcProject.setIsComplete("1");
341
+        List<CmcProject> completeList = cmcProjectService.selectCmcAllProjectList(cmcProject);
342
+        completeObject.put("已完成",completeList.size());
336
     }
343
     }
337
 
344
 
338
 }
345
 }

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

4
 import javax.servlet.http.HttpServletResponse;
4
 import javax.servlet.http.HttpServletResponse;
5
 
5
 
6
 import com.ruoyi.common.utils.SnowFlake;
6
 import com.ruoyi.common.utils.SnowFlake;
7
+import com.ruoyi.oa.domain.CmcProject;
8
+import com.ruoyi.oa.service.ICmcProjectService;
7
 import org.springframework.beans.factory.annotation.Autowired;
9
 import org.springframework.beans.factory.annotation.Autowired;
8
 import org.springframework.web.bind.annotation.GetMapping;
10
 import org.springframework.web.bind.annotation.GetMapping;
9
 import org.springframework.web.bind.annotation.PostMapping;
11
 import org.springframework.web.bind.annotation.PostMapping;
35
     @Autowired
37
     @Autowired
36
     private ICmcProjectProgressService cmcProjectProgressService;
38
     private ICmcProjectProgressService cmcProjectProgressService;
37
 
39
 
40
+    @Autowired
41
+    private ICmcProjectService cmcProjectService;
42
+
38
     /**
43
     /**
39
      * 查询cmc项目进度列表
44
      * 查询cmc项目进度列表
40
      */
45
      */
74
     @PostMapping
79
     @PostMapping
75
     public AjaxResult add(@RequestBody CmcProjectProgress cmcProjectProgress)
80
     public AjaxResult add(@RequestBody CmcProjectProgress cmcProjectProgress)
76
     {
81
     {
82
+        //如100%进度,则表示已完成;当项目流转流程结束,项目状态才结束
83
+        //忽略从100调整到100以下,已完成状态未及时变为未完成的情况;如果考虑此情况,将导致每次执行都会产生修改项目表操作记录,意义不大,且占数据库资源
84
+        if (cmcProjectProgress.getPercentage().equals("100")) {
85
+            CmcProject cmcProject = new CmcProject();
86
+            cmcProject.setIsComplete("1");
87
+            cmcProjectService.updateCmcProject(cmcProject);
88
+        }
77
         return toAjax(cmcProjectProgressService.insertCmcProjectProgress(cmcProjectProgress));
89
         return toAjax(cmcProjectProgressService.insertCmcProjectProgress(cmcProjectProgress));
78
     }
90
     }
79
 
91
 

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

50
     @Excel(name = "项目状态", readConverterExp = "0=进行中,1=已结束")
50
     @Excel(name = "项目状态", readConverterExp = "0=进行中,1=已结束")
51
     private String isFinished;
51
     private String isFinished;
52
 
52
 
53
+    /** 完成情况(0进行中、1已完成) */
54
+    @Excel(name = "完成情况", readConverterExp = "0=进行中,1=已完成")
55
+    private String isComplete;
56
+
53
     /** 项目来源(0院内、1院外) */
57
     /** 项目来源(0院内、1院外) */
54
     @Excel(name = "项目来源", readConverterExp = "0=院内,1=院外")
58
     @Excel(name = "项目来源", readConverterExp = "0=院内,1=院外")
55
     private String projectSource;
59
     private String projectSource;
249
     {
253
     {
250
         return isFinished;
254
         return isFinished;
251
     }
255
     }
256
+    public void setIsComplete(String isComplete)
257
+    {
258
+        this.isComplete = isComplete;
259
+    }
260
+
261
+    public String getIsComplete()
262
+    {
263
+        return isComplete;
264
+    }
252
     public void setProjectSource(String projectSource)
265
     public void setProjectSource(String projectSource)
253
     {
266
     {
254
         this.projectSource = projectSource;
267
         this.projectSource = projectSource;

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

10
         <result property="projectName"    column="project_name"    />
10
         <result property="projectName"    column="project_name"    />
11
         <result property="projectLeader"    column="project_leader"    />
11
         <result property="projectLeader"    column="project_leader"    />
12
         <result property="isFinished"    column="is_finished"    />
12
         <result property="isFinished"    column="is_finished"    />
13
+        <result property="isComplete"    column="is_complete"    />
13
         <result property="projectSource"    column="project_source"    />
14
         <result property="projectSource"    column="project_source"    />
14
         <result property="partyAId"    column="party_a_id"    />
15
         <result property="partyAId"    column="party_a_id"    />
15
         <result property="contactPerson"    column="contact_person"    />
16
         <result property="contactPerson"    column="contact_person"    />
96
 
97
 
97
     <sql id="selectCmcProjectVo">
98
     <sql id="selectCmcProjectVo">
98
         select distinct(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_id, pa.party_a_name, p.contact_person, p.telephone,
99
         select distinct(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_id, pa.party_a_name, p.contact_person, p.telephone,
99
-               p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time,
100
+               p.project_type, p.project_level, p.project_registrant, u1.nick_name as registrant_nick_name, p.undertaking_dept, p.project_planner, p.site_leader, p.organize_document, p.organize_time, p.is_complete,
100
                p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
101
                p.register_time, p.plan_time, p.entry_time, p.exit_time, p.remark, tp.technical_director, u2.nick_name as director_nick_name, tp.quality_inspector, p.project_kml, p.project_cp, p.kml_lng, p.kml_lat,
101
                p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as designer_nick_name, u4.nick_name as planner_nick_name,
102
                p.cars, p.drivers, p.devices, p.participates, p.task_document, p.project_request, tp.technical_designer, u3.nick_name as designer_nick_name, u4.nick_name as planner_nick_name,
102
                u5.nick_name as site_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept, pc.contract_id, c.contract_number, c.contract_code, c.contract_name from cmc_project as p
103
                u5.nick_name as site_nick_name, p.in_leader, p.out_leader, p.lead_dept, p.join_dept, pc.contract_id, c.contract_number, c.contract_code, c.contract_name from cmc_project as p
125
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
126
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
126
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
127
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
127
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
128
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
129
+            <if test="isComplete != null  and isComplete != ''"> and p.is_complete = #{isComplete}</if>
128
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
130
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
129
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
131
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
130
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
132
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
154
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
156
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
155
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
157
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
156
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
158
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
159
+            <if test="isComplete != null  and isComplete != ''"> and p.is_complete = #{isComplete}</if>
157
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
160
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
158
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
161
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
159
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
162
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
182
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
185
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
183
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
186
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
184
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
187
             <if test="isFinished != null  and isFinished != ''"> and p.is_finished = #{isFinished}</if>
188
+            <if test="isComplete != null  and isComplete != ''"> and p.is_complete = #{isComplete}</if>
185
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
189
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
186
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
190
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
187
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
191
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
221
             <if test="projectName != null">project_name,</if>
225
             <if test="projectName != null">project_name,</if>
222
             <if test="projectLeader != null">project_leader,</if>
226
             <if test="projectLeader != null">project_leader,</if>
223
             <if test="isFinished != null">is_finished,</if>
227
             <if test="isFinished != null">is_finished,</if>
228
+            <if test="isComplete != null">is_complete,</if>
224
             <if test="projectSource != null">project_source,</if>
229
             <if test="projectSource != null">project_source,</if>
225
             <if test="partyAId != null">party_a_id,</if>
230
             <if test="partyAId != null">party_a_id,</if>
226
             <if test="contactPerson != null">contact_person,</if>
231
             <if test="contactPerson != null">contact_person,</if>
259
             <if test="projectName != null">#{projectName},</if>
264
             <if test="projectName != null">#{projectName},</if>
260
             <if test="projectLeader != null">#{projectLeader},</if>
265
             <if test="projectLeader != null">#{projectLeader},</if>
261
             <if test="isFinished != null">#{isFinished},</if>
266
             <if test="isFinished != null">#{isFinished},</if>
267
+            <if test="isComplete != null">#{isComplete},</if>
262
             <if test="projectSource != null">#{projectSource},</if>
268
             <if test="projectSource != null">#{projectSource},</if>
263
             <if test="partyAId != null">#{partyAId},</if>
269
             <if test="partyAId != null">#{partyAId},</if>
264
             <if test="contactPerson != null">#{contactPerson},</if>
270
             <if test="contactPerson != null">#{contactPerson},</if>
300
             <if test="projectName != null">project_name = #{projectName},</if>
306
             <if test="projectName != null">project_name = #{projectName},</if>
301
             <if test="projectLeader != null">project_leader = #{projectLeader},</if>
307
             <if test="projectLeader != null">project_leader = #{projectLeader},</if>
302
             <if test="isFinished != null">is_finished = #{isFinished},</if>
308
             <if test="isFinished != null">is_finished = #{isFinished},</if>
309
+            <if test="isComplete != null">is_complete = #{isComplete},</if>
303
             <if test="projectSource != null">project_source = #{projectSource},</if>
310
             <if test="projectSource != null">project_source = #{projectSource},</if>
304
             <if test="partyAId != null">party_a_id = #{partyAId},</if>
311
             <if test="partyAId != null">party_a_id = #{partyAId},</if>
305
             <if test="contactPerson != null">contact_person = #{contactPerson},</if>
312
             <if test="contactPerson != null">contact_person = #{contactPerson},</if>

Loading…
Cancel
Save