Ver código fonte

已完成项目统计

lamphua 7 meses atrás
pai
commit
53cdedfbbc

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

@@ -155,6 +155,8 @@ public class CmcProjectController extends BaseController
155 155
         JSONObject typeObject = new JSONObject();
156 156
         JSONArray deptArray = new JSONArray();
157 157
         JSONObject deptObject = new JSONObject();
158
+        JSONArray completeArray = new JSONArray();
159
+        JSONObject completeObject = new JSONObject();
158 160
         //整体
159 161
         if (cmcProject.getProjectNumber() == null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
160 162
             //每年项目数量
@@ -167,7 +169,7 @@ public class CmcProjectController extends BaseController
167 169
             getProjectSourceStatistic(cmcProject, sourceObject);
168 170
             getProjectTypeStatistic(cmcProject, typeObject);
169 171
             getProjectDeptStatistic(cmcProject, deptObject);
170
-
172
+            getProjectCompleteStatistic(cmcProject, completeObject);
171 173
 
172 174
         }
173 175
         //年度
@@ -177,15 +179,18 @@ public class CmcProjectController extends BaseController
177 179
             getProjectSourceStatistic(cmcProject, sourceObject);
178 180
             getProjectTypeStatistic(cmcProject, typeObject);
179 181
             getProjectDeptStatistic(cmcProject, deptObject);
182
+            getProjectCompleteStatistic(cmcProject, completeObject);
180 183
         }
181 184
         yearArray.add(yearObject);
182 185
         sourceArray.add(sourceObject);
183 186
         deptArray.add(deptObject);
184 187
         typeArray.add(typeObject);
188
+        completeArray.add(completeObject);
185 189
         jsonObject.put("year", yearArray);
186 190
         jsonObject.put("source", sourceArray);
187 191
         jsonObject.put("dept", deptArray);
188 192
         jsonObject.put("type", typeArray);
193
+        jsonObject.put("complete", completeArray);
189 194
         return success(jsonObject);
190 195
     }
191 196
 
@@ -331,8 +336,10 @@ public class CmcProjectController extends BaseController
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 Ver arquivo

@@ -4,6 +4,8 @@ import java.util.List;
4 4
 import javax.servlet.http.HttpServletResponse;
5 5
 
6 6
 import com.ruoyi.common.utils.SnowFlake;
7
+import com.ruoyi.oa.domain.CmcProject;
8
+import com.ruoyi.oa.service.ICmcProjectService;
7 9
 import org.springframework.beans.factory.annotation.Autowired;
8 10
 import org.springframework.web.bind.annotation.GetMapping;
9 11
 import org.springframework.web.bind.annotation.PostMapping;
@@ -35,6 +37,9 @@ public class CmcProjectProgressController extends BaseController
35 37
     @Autowired
36 38
     private ICmcProjectProgressService cmcProjectProgressService;
37 39
 
40
+    @Autowired
41
+    private ICmcProjectService cmcProjectService;
42
+
38 43
     /**
39 44
      * 查询cmc项目进度列表
40 45
      */
@@ -74,6 +79,13 @@ public class CmcProjectProgressController extends BaseController
74 79
     @PostMapping
75 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 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 Ver arquivo

@@ -50,6 +50,10 @@ public class CmcProject extends BaseEntity
50 50
     @Excel(name = "项目状态", readConverterExp = "0=进行中,1=已结束")
51 51
     private String isFinished;
52 52
 
53
+    /** 完成情况(0进行中、1已完成) */
54
+    @Excel(name = "完成情况", readConverterExp = "0=进行中,1=已完成")
55
+    private String isComplete;
56
+
53 57
     /** 项目来源(0院内、1院外) */
54 58
     @Excel(name = "项目来源", readConverterExp = "0=院内,1=院外")
55 59
     private String projectSource;
@@ -249,6 +253,15 @@ public class CmcProject extends BaseEntity
249 253
     {
250 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 265
     public void setProjectSource(String projectSource)
253 266
     {
254 267
         this.projectSource = projectSource;

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

@@ -10,6 +10,7 @@
10 10
         <result property="projectName"    column="project_name"    />
11 11
         <result property="projectLeader"    column="project_leader"    />
12 12
         <result property="isFinished"    column="is_finished"    />
13
+        <result property="isComplete"    column="is_complete"    />
13 14
         <result property="projectSource"    column="project_source"    />
14 15
         <result property="partyAId"    column="party_a_id"    />
15 16
         <result property="contactPerson"    column="contact_person"    />
@@ -96,7 +97,7 @@
96 97
 
97 98
     <sql id="selectCmcProjectVo">
98 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 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 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 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,6 +126,7 @@
125 126
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
126 127
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
127 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 130
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
129 131
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
130 132
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
@@ -154,6 +156,7 @@
154 156
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
155 157
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
156 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 160
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
158 161
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
159 162
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
@@ -182,6 +185,7 @@
182 185
             <if test="projectName != null  and projectName != ''"> and p.project_name like concat('%', #{projectName}, '%')</if>
183 186
             <if test="projectLeader != null "> and p.project_leader = #{projectLeader}</if>
184 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 189
             <if test="projectSource != null  and projectSource != ''"> and p.project_source = #{projectSource}</if>
186 190
             <if test="partyAId != null  and partyAId != ''"> and p.party_a_id = #{partyAId}</if>
187 191
             <if test="contactPerson != null  and contactPerson != ''"> and p.contact_person = #{contactPerson}</if>
@@ -221,6 +225,7 @@
221 225
             <if test="projectName != null">project_name,</if>
222 226
             <if test="projectLeader != null">project_leader,</if>
223 227
             <if test="isFinished != null">is_finished,</if>
228
+            <if test="isComplete != null">is_complete,</if>
224 229
             <if test="projectSource != null">project_source,</if>
225 230
             <if test="partyAId != null">party_a_id,</if>
226 231
             <if test="contactPerson != null">contact_person,</if>
@@ -259,6 +264,7 @@
259 264
             <if test="projectName != null">#{projectName},</if>
260 265
             <if test="projectLeader != null">#{projectLeader},</if>
261 266
             <if test="isFinished != null">#{isFinished},</if>
267
+            <if test="isComplete != null">#{isComplete},</if>
262 268
             <if test="projectSource != null">#{projectSource},</if>
263 269
             <if test="partyAId != null">#{partyAId},</if>
264 270
             <if test="contactPerson != null">#{contactPerson},</if>
@@ -300,6 +306,7 @@
300 306
             <if test="projectName != null">project_name = #{projectName},</if>
301 307
             <if test="projectLeader != null">project_leader = #{projectLeader},</if>
302 308
             <if test="isFinished != null">is_finished = #{isFinished},</if>
309
+            <if test="isComplete != null">is_complete = #{isComplete},</if>
303 310
             <if test="projectSource != null">project_source = #{projectSource},</if>
304 311
             <if test="partyAId != null">party_a_id = #{partyAId},</if>
305 312
             <if test="contactPerson != null">contact_person = #{contactPerson},</if>

Carregando…
Cancelar
Salvar