lamphua před 7 měsíci
rodič
revize
b1154bd3b6

+ 25
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcContractController.java Zobrazit soubor

@@ -1,10 +1,16 @@
1 1
 package com.ruoyi.web.controller.oa;
2 2
 
3
+import java.text.ParseException;
4
+import java.text.SimpleDateFormat;
5
+import java.util.Calendar;
3 6
 import java.util.Date;
4 7
 import java.util.List;
5 8
 import javax.servlet.http.HttpServletResponse;
6 9
 
10
+import com.alibaba.fastjson2.JSONArray;
11
+import com.alibaba.fastjson2.JSONObject;
7 12
 import com.ruoyi.oa.domain.CmcPartyA;
13
+import com.ruoyi.oa.domain.CmcProject;
8 14
 import com.ruoyi.oa.service.ICmcPartyAService;
9 15
 import org.springframework.beans.factory.annotation.Autowired;
10 16
 import org.springframework.web.bind.annotation.GetMapping;
@@ -51,6 +57,25 @@ public class CmcContractController extends BaseController
51 57
         return getDataTable(list);
52 58
     }
53 59
 
60
+    /**
61
+     * 获取cmc合同统计信息
62
+     */
63
+    @GetMapping("/statistic")
64
+    public AjaxResult getContractStatistic(CmcContract cmcContract) throws ParseException {
65
+        JSONObject jsonObject = new JSONObject();
66
+        JSONArray yearArray = new JSONArray();
67
+        JSONObject yearObject = new JSONObject();
68
+        //每年合同数量
69
+        for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
70
+            cmcContract.setSignDate(new SimpleDateFormat("yyyy").parse(String.valueOf(i)));
71
+            List<CmcContract> yearList = cmcContractService.selectCmcContractList(cmcContract);
72
+            yearObject.put(String.valueOf(i), yearList.size());
73
+        }
74
+        yearArray.add(yearObject);
75
+        jsonObject.put("year", yearArray);
76
+        return success(jsonObject);
77
+    }
78
+
54 79
     /**
55 80
      * 导出cmc合同评审列表
56 81
      */

+ 27
- 40
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/oa/CmcProjectController.java Zobrazit soubor

@@ -8,7 +8,6 @@ import javax.servlet.http.HttpServletResponse;
8 8
 import com.alibaba.fastjson2.JSONArray;
9 9
 import com.alibaba.fastjson2.JSONObject;
10 10
 import com.ruoyi.common.core.domain.entity.SysUser;
11
-import com.ruoyi.common.utils.DateUtils;
12 11
 import com.ruoyi.common.utils.StringUtils;
13 12
 import com.ruoyi.oa.domain.CmcManageDept;
14 13
 import com.ruoyi.oa.service.ICmcManageDeptService;
@@ -17,7 +16,6 @@ import com.ruoyi.oa.service.ICmcProjectWorkService;
17 16
 import com.ruoyi.system.service.ISysDeptService;
18 17
 import com.ruoyi.system.service.ISysUserService;
19 18
 import com.ruoyi.web.controller.qyweixin.MessageController;
20
-import com.ruoyi.web.controller.system.SysPostController;
21 19
 import org.springframework.beans.factory.annotation.Autowired;
22 20
 import org.springframework.web.bind.annotation.*;
23 21
 import com.ruoyi.common.annotation.Log;
@@ -135,40 +133,37 @@ public class CmcProjectController extends BaseController
135 133
         JSONObject jsonObject = new JSONObject();
136 134
         JSONArray yearArray = new JSONArray();
137 135
         JSONObject yearObject = new JSONObject();
138
-        if (cmcProject.getProjectNumber() == null) {
136
+        JSONArray sourceArray = new JSONArray();
137
+        JSONObject sourceObject = new JSONObject();
138
+        JSONArray typeArray = new JSONArray();
139
+        JSONObject typeObject = new JSONObject();
140
+        JSONArray deptArray = new JSONArray();
141
+        JSONObject deptObject = new JSONObject();
142
+        //整体
143
+        if (cmcProject.getProjectNumber() == null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
139 144
             //每年项目数量
140 145
             for (int i = 2019; i <= Calendar.getInstance().get(Calendar.YEAR); i++) {
141 146
                 cmcProject.setProjectNumber(String.valueOf(i));
142 147
                 List<CmcProject> yearList = cmcProjectService.selectCmcProjectList(cmcProject);
143 148
                 yearObject.put(String.valueOf(i), yearList.size());
144 149
             }
145
-            //输入年份院内外项目数量
146
-            JSONArray sourceArray = new JSONArray();
147
-            JSONObject sourceObject = new JSONObject();
150
+            //院内外项目数量
148 151
             cmcProject.setProjectNumber(null);
149 152
             cmcProject.setProjectSource("1");
150 153
             sourceObject.put("市场", cmcProjectService.selectCmcProjectList(cmcProject).size());
151 154
             cmcProject.setProjectSource("0");
152 155
             sourceObject.put("院内", cmcProjectService.selectCmcProjectList(cmcProject).size());
153
-            sourceArray.add(sourceObject);
154
-            jsonObject.put("source", sourceArray);
155
-            //输入年份各类型项目数量
156
+            //各类型项目数量
156 157
             cmcProject.setProjectSource(null);
157 158
             Map<Object, List<CmcProject>> typeGroup = cmcProjectService.selectCmcProjectList(cmcProject).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType())));
158 159
             Set<Map.Entry<Object, List<CmcProject>>> typeEntries = typeGroup.entrySet();
159
-            JSONArray typeArray = new JSONArray();
160
-            JSONObject typeObject = new JSONObject();
161 160
             typeEntries.forEach(item -> {
162 161
                 if (item.getKey() != Optional.empty()) {
163 162
                     String str = item.getKey().toString();
164 163
                     typeObject.put(str.substring(str.indexOf("[") + 1, str.indexOf("]")), item.getValue().size());
165 164
                 }
166 165
             });
167
-            typeArray.add(typeObject);
168
-            jsonObject.put("type", typeArray);
169
-            //输入年份各承担部门项目数量
170
-            JSONArray deptArray = new JSONArray();
171
-            JSONObject deptObject = new JSONObject();
166
+            //各承担部门项目数量
172 167
             for (int i = 107; i <= 115; i++) {
173 168
                 cmcProject.setUndertakingDept(String.valueOf(i));
174 169
                 List<CmcProject> deptList = new ArrayList<>();
@@ -178,25 +173,18 @@ public class CmcProjectController extends BaseController
178 173
                     deptList = cmcProjectService.selectCmcInvestProjectList(cmcProject);
179 174
                 deptObject.put(deptService.selectDeptById((long)i).getDeptName(), deptList.size());
180 175
             }
181
-            deptArray.add(deptObject);
182
-            jsonObject.put("dept", deptArray);
183 176
         }
184
-        else {
177
+        //年度
178
+        else if (cmcProject.getProjectNumber() != null && cmcProject.getProjectSource() == null && cmcProject.getProjectType() == null && cmcProject.getUndertakingDept() == null) {
185 179
             //输入年份项目数量
186 180
             yearObject.put(cmcProject.getProjectNumber(), cmcProjectService.selectCmcProjectList(cmcProject).size());
187 181
             //输入年份院内外项目数量
188
-            JSONArray sourceArray = new JSONArray();
189
-            JSONObject sourceObject = new JSONObject();
190
-            CmcProject project = new CmcProject();
191
-            project.setProjectNumber(cmcProject.getProjectNumber() + "W");
192
-            sourceObject.put("市场", cmcProjectService.selectCmcProjectList(project).size());
193
-            project.setProjectNumber(cmcProject.getProjectNumber() + "C");
194
-            sourceObject.put("院内", cmcProjectService.selectCmcProjectList(project).size());
195
-            sourceArray.add(sourceObject);
196
-            jsonObject.put("source", sourceArray);
182
+            cmcProject.setProjectSource("1");
183
+            sourceObject.put("市场", cmcProjectService.selectCmcProjectList(cmcProject).size());
184
+            cmcProject.setProjectSource("0");
185
+            sourceObject.put("院内", cmcProjectService.selectCmcProjectList(cmcProject).size());
197 186
             //输入年份各类型项目数量
198
-            JSONArray typeArray = new JSONArray();
199
-            JSONObject typeObject = new JSONObject();
187
+            cmcProject.setProjectSource(null);
200 188
             Map<Object, List<CmcProject>> typeGroup = cmcProjectService.selectCmcProjectList(cmcProject).stream().collect(Collectors.groupingBy(item -> Optional.ofNullable(item.getProjectType())));
201 189
             Set<Map.Entry<Object, List<CmcProject>>> typeEntries = typeGroup.entrySet();
202 190
             typeEntries.forEach(item -> {
@@ -205,26 +193,25 @@ public class CmcProjectController extends BaseController
205 193
                     typeObject.put(str.substring(str.indexOf("[") + 1, str.indexOf("]")), item.getValue().size());
206 194
                 }
207 195
             });
208
-            typeArray.add(typeObject);
209
-            jsonObject.put("type", typeArray);
210 196
             //输入年份各承担部门项目数量
211
-            JSONArray deptArray = new JSONArray();
212
-            JSONObject deptObject = new JSONObject();
213
-            project.setProjectNumber(cmcProject.getProjectNumber());
214 197
             for (int i = 107; i <= 115; i++) {
215
-                project.setUndertakingDept(String.valueOf(i));
198
+                cmcProject.setUndertakingDept(String.valueOf(i));
216 199
                 List<CmcProject> deptList = new ArrayList<>();
217 200
                 if (i != 113)
218
-                    deptList = cmcProjectService.selectCmcProjectList(project);
201
+                    deptList = cmcProjectService.selectCmcProjectList(cmcProject);
219 202
                 else
220
-                    deptList = cmcProjectService.selectCmcInvestProjectList(project);
203
+                    deptList = cmcProjectService.selectCmcInvestProjectList(cmcProject);
221 204
                 deptObject.put(deptService.selectDeptById((long)i).getDeptName(), deptList.size());
222 205
             }
223
-            deptArray.add(deptObject);
224
-            jsonObject.put("dept", deptArray);
225 206
         }
226 207
         yearArray.add(yearObject);
208
+        sourceArray.add(sourceObject);
209
+        deptArray.add(deptObject);
210
+        typeArray.add(typeObject);
227 211
         jsonObject.put("year", yearArray);
212
+        jsonObject.put("source", sourceArray);
213
+        jsonObject.put("dept", deptArray);
214
+        jsonObject.put("type", typeArray);
228 215
         return success(jsonObject);
229 216
     }
230 217
 

+ 1
- 1
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcContractMapper.xml Zobrazit soubor

@@ -91,7 +91,7 @@
91 91
             <if test="contractDocument != null  and contractDocument != ''"> and c.contract_document = #{contractDocument}</if>
92 92
             <if test="drafter != null "> and c.drafter = #{drafter}</if>
93 93
             <if test="draftTime != null "> and c.draft_time = #{draftTime}</if>
94
-            <if test="signDate != null "> and c.sign_date = #{signDate}</if>
94
+            <if test="signDate != null "> and YEAR(c.sign_date) = YEAR(#{signDate})</if>
95 95
             <if test="signRemark != null  and signRemark != ''"> and c.sign_remark = #{signRemark}</if>
96 96
             <if test="signScan != null  and signScan != ''"> and c.sign_scan = #{signScan}</if>
97 97
             <if test="commentType != null  and commentType != ''"> and c.comment_type = #{commentType}</if>

Loading…
Zrušit
Uložit