Browse Source

成果资料管理系统导入

lamphua 1 year ago
parent
commit
232707ad1e
32 changed files with 3710 additions and 49 deletions
  1. 324
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesAchievementController.java
  2. 329
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesProjectController.java
  3. 99
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesStorageController.java
  4. 99
    0
      oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesTopicController.java
  5. 18
    0
      oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallArchiveActivityExecutionListener.java
  6. 18
    0
      oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallSettleActivityExecutionListener.java
  7. 300
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesAchievement.java
  8. 635
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesProject.java
  9. 66
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesStorage.java
  10. 51
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesTopic.java
  11. 70
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesAchievementMapper.java
  12. 73
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesProjectMapper.java
  13. 70
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesStorageMapper.java
  14. 62
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesTopicMapper.java
  15. 62
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesAchievementService.java
  16. 79
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesProjectService.java
  17. 70
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesStorageService.java
  18. 62
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesTopicService.java
  19. 94
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesAchievementServiceImpl.java
  20. 123
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesProjectServiceImpl.java
  21. 106
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesStorageServiceImpl.java
  22. 94
    0
      oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesTopicServiceImpl.java
  23. 168
    0
      oa-back/ruoyi-system/src/main/resources/mapper/file/FilesAchievementMapper.xml
  24. 326
    0
      oa-back/ruoyi-system/src/main/resources/mapper/file/FilesProjectMapper.xml
  25. 75
    0
      oa-back/ruoyi-system/src/main/resources/mapper/file/FilesStorageMapper.xml
  26. 58
    0
      oa-back/ruoyi-system/src/main/resources/mapper/file/FilesTopicMapper.xml
  27. 134
    0
      oa-back/sql/files.sql
  28. 4
    3
      oa-back/sql/sql.sql
  29. 13
    33
      oa-ui/src/views/flowable/form/archiveForm.vue
  30. 23
    8
      oa-ui/src/views/flowable/form/projectProcess/inProgress.vue
  31. 3
    3
      oa-ui/src/views/flowable/task/myProcess/index.vue
  32. 2
    2
      oa-ui/src/views/flowable/task/myProcess/progressTree.vue

+ 324
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesAchievementController.java View File

@@ -0,0 +1,324 @@
1
+package com.ruoyi.web.controller.file;
2
+
3
+import com.ruoyi.common.annotation.Log;
4
+import com.ruoyi.common.core.controller.BaseController;
5
+import com.ruoyi.common.core.domain.AjaxResult;
6
+import com.ruoyi.common.core.page.TableDataInfo;
7
+import com.ruoyi.common.enums.BusinessType;
8
+import com.ruoyi.common.utils.SnowFlake;
9
+import com.ruoyi.common.utils.poi.ExcelUtil;
10
+import com.ruoyi.file.domain.FilesAchievement;
11
+import com.ruoyi.file.domain.FilesProject;
12
+import com.ruoyi.file.domain.FilesStorage;
13
+import com.ruoyi.file.service.IFilesAchievementService;
14
+import com.ruoyi.file.service.IFilesProjectService;
15
+import com.ruoyi.file.service.IFilesStorageService;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.beans.factory.annotation.Value;
18
+import org.springframework.security.access.prepost.PreAuthorize;
19
+import org.springframework.web.bind.annotation.*;
20
+import org.springframework.web.multipart.MultipartFile;
21
+
22
+import javax.servlet.http.HttpServletResponse;
23
+import java.io.File;
24
+import java.io.IOException;
25
+import java.util.ArrayList;
26
+import java.util.List;
27
+
28
+/**
29
+ * 成果表Controller
30
+ *
31
+ * @author cmc
32
+ * @date 2022-09-06
33
+ */
34
+@RestController
35
+@RequestMapping("/file/achievement")
36
+public class FilesAchievementController extends BaseController
37
+{
38
+    @Autowired
39
+    private IFilesAchievementService filesAchievementService;
40
+
41
+    @Autowired
42
+    private IFilesProjectService filesProjectService;
43
+
44
+    @Autowired
45
+    private IFilesStorageService filesStorageService;
46
+
47
+    @Value("${ruoyi.profile}")
48
+    private String profile;
49
+    /**
50
+     * 查询成果表列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('file:achievement:list')")
53
+    @GetMapping("/list")
54
+    public TableDataInfo list(FilesAchievement filesAchievement)
55
+    {
56
+        List<FilesAchievement> list = new ArrayList<>();
57
+//        if (filesAchievement.getProjectNumber() != null && !filesAchievement.getProjectNumber().equals("")) {
58
+//            FilesProject filesProject = new FilesProject();
59
+//            filesProject.setProjectNumber(filesAchievement.getProjectNumber());
60
+//            if (filesProjectService.selectFilesProjectList(filesProject).size() > 0) {
61
+//                filesAchievement.setProjectId(filesProjectService.selectFilesProjectList(filesProject).get(0).getId());
62
+//                filesAchievement.setProjectNumber(null);
63
+//            }
64
+//        }
65
+        if (filesAchievement.getStorageAddress() != null && !filesAchievement.getStorageAddress().equals("")) {
66
+            FilesStorage filesStorage = new FilesStorage();
67
+            filesStorage.setStorageAddress(filesAchievement.getStorageAddress());
68
+            if (filesStorageService.selectFilesStorageList(filesStorage).size() > 0)
69
+                filesAchievement.setStorageId(filesStorageService.selectFilesStorageList(filesStorage).get(0).getId());
70
+        }
71
+        list = filesAchievementService.selectFilesAchievementList(filesAchievement);
72
+        return getDataTable(list);
73
+    }
74
+
75
+    /**
76
+     * 导出成果表列表
77
+     */
78
+    @PreAuthorize("@ss.hasPermi('file:achievement:export')")
79
+    @Log(title = "成果表", businessType = BusinessType.EXPORT)
80
+    @PostMapping("/export")
81
+    public void export(HttpServletResponse response, FilesAchievement filesAchievement)
82
+    {
83
+        List<FilesAchievement> list = filesAchievementService.selectFilesAchievementList(filesAchievement);
84
+        ExcelUtil<FilesAchievement> util = new ExcelUtil<FilesAchievement>(FilesAchievement.class);
85
+        util.exportExcel(response, list, "成果表数据");
86
+    }
87
+
88
+    /**
89
+     * 导出选中成果表列表
90
+     */
91
+    @PreAuthorize("@ss.hasPermi('file:achievement:export')")
92
+    @Log(title = "成果表", businessType = BusinessType.EXPORT)
93
+    @PostMapping("/exportBatch/{ids}")
94
+    public void exportBatch(HttpServletResponse response, FilesAchievement filesAchievement, @PathVariable("ids") String[] ids)
95
+    {
96
+        List<FilesAchievement> list = new ArrayList<>();
97
+        for (String achievementId : ids)
98
+            list.add(filesAchievementService.selectFilesAchievementById(achievementId));
99
+        ExcelUtil<FilesAchievement> util = new ExcelUtil<FilesAchievement>(FilesAchievement.class);
100
+        util.exportExcel(response, list, "成果表数据");
101
+    }
102
+
103
+    @PostMapping("/importTemplate")
104
+    public void importTemplate(HttpServletResponse response)
105
+    {
106
+        ExcelUtil<FilesAchievement> util = new ExcelUtil<FilesAchievement>(FilesAchievement.class);
107
+        util.importTemplateExcel(response, "成果表模板");
108
+    }
109
+
110
+    /**
111
+     * 获取成果表详细信息
112
+     */
113
+    @PreAuthorize("@ss.hasPermi('file:achievement:query')")
114
+    @GetMapping(value = "/{id}")
115
+    public AjaxResult getInfo(@PathVariable("id") String id)
116
+    {
117
+        return AjaxResult.success(filesAchievementService.selectFilesAchievementById(id));
118
+    }
119
+
120
+    /**
121
+     * 获取项目对应成果列表
122
+     */
123
+    @PreAuthorize("@ss.hasPermi('file:achievement:query')")
124
+    @GetMapping( "/getAchievementByProject")
125
+    public AjaxResult getAchievementByProject(String projectId)
126
+    {
127
+        FilesAchievement filesAchievement = new FilesAchievement();
128
+        filesAchievement.setProjectId(projectId);
129
+        return AjaxResult.success(filesAchievementService.selectFilesAchievementList(filesAchievement));
130
+    }
131
+
132
+    /**
133
+     * 上传成果excel文件
134
+     */
135
+    @PreAuthorize("@ss.hasPermi('file:achievement:query')")
136
+    @PostMapping("/uploadSheet")
137
+    public AjaxResult uploadAchievementSheet(MultipartFile file) throws Exception {
138
+        if (file.isEmpty()) {
139
+            return AjaxResult.error("文件内容为空!");
140
+        }
141
+        else {
142
+            ExcelUtil<FilesAchievement> util = new ExcelUtil<FilesAchievement>(FilesAchievement.class);
143
+            List<FilesAchievement> filesAchievementList = util.importExcel(file.getInputStream());
144
+            List<String> IdList = new ArrayList<>();
145
+            for (FilesAchievement filesAchievement :  filesAchievementService.selectFilesAchievementList(new FilesAchievement())) {
146
+                IdList.add(filesAchievement.getId());
147
+            }
148
+            for (FilesAchievement filesAchievement : filesAchievementList)
149
+            {
150
+                if (filesAchievement.getId() == null || !IdList.contains(filesAchievement.getId()))
151
+                    filesAchievement.setId(new SnowFlake().generateId());
152
+                FilesProject filesProject = new FilesProject();
153
+                filesProject = filesProjectService.selectFilesProjectByNumber(filesAchievement.getProjectNumber());
154
+                if(filesProject != null){
155
+                    filesAchievement.setProjectId(filesProject.getId());
156
+                }else{
157
+                    filesAchievement.setProjectId(null);
158
+                }
159
+                String storageAddress = filesAchievement.getStorageAddress();
160
+                if (storageAddress != null && !storageAddress.equals("")) {
161
+                    filesAchievement.setStorageId(new SnowFlake().generateId());
162
+                    FilesStorage storage = new FilesStorage();
163
+                    storage.setStorageAddress(storageAddress);
164
+                    if (filesStorageService.selectFilesStorageListE(storage).size() > 0)
165
+                        filesAchievement.setStorageId(filesStorageService.selectFilesStorageListE(storage).get(0).getId());
166
+                    else {
167
+                        FilesStorage filesStorage = new FilesStorage();
168
+                        filesStorage.setId(filesAchievement.getStorageId());
169
+                        filesStorage.setStorageAddress(filesAchievement.getStorageAddress());
170
+                        filesStorage.setAdministrator(getLoginUser().getUsername());
171
+                        filesStorage.setRemark("");
172
+                        filesStorageService.insertFilesStorage(filesStorage);
173
+                    }
174
+                }
175
+                if (IdList.contains(filesAchievement.getId()))
176
+                    filesAchievementService.updateFilesAchievement(filesAchievement);
177
+                else
178
+                    filesAchievementService.insertFilesAchievement(filesAchievement);
179
+            }
180
+//            File profilePath = new File(profile);
181
+//            if (!profilePath.exists())//若此目录不存在,则创建之
182
+//                profilePath.mkdirs();
183
+//            File transferFile = new File( profilePath + "\\" + file.getOriginalFilename());
184
+//            file.transferTo(transferFile);
185
+//            InputStream in = new FileInputStream(transferFile);
186
+//            XSSFSheet sheetAt = null;
187
+//            HSSFSheet sheetAt1 = null;
188
+//            int rowNumber = 0;
189
+//            boolean xlsx = Objects.requireNonNull(file.getOriginalFilename()).endsWith("xlsx");
190
+//            if (file.getOriginalFilename() != null && file.getOriginalFilename().endsWith("xlsx")) {
191
+//                sheetAt = new XSSFWorkbook(in).getSheetAt(0);
192
+//                rowNumber = sheetAt.getPhysicalNumberOfRows();
193
+//            }
194
+//            else if (file.getOriginalFilename() != null && file.getOriginalFilename().endsWith("xls")) {
195
+//                sheetAt1 = new HSSFWorkbook(in).getSheetAt(0);
196
+//                rowNumber = sheetAt1.getPhysicalNumberOfRows();
197
+//            }
198
+//            FilesAchievement filesAchievement = new FilesAchievement();
199
+//            for (int i = 0; i < rowNumber - 1;) {
200
+//                i++;
201
+//                String column0 = xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(0)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(0));
202
+//                if (column0 != null && !column0.equals("")) {
203
+//                    filesAchievement.setId(new SnowFlake().generateId());
204
+//                    FilesProject filesProject = new FilesProject();
205
+//                    filesProject.setProjectNumber(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(0)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(0)));
206
+//                    filesAchievement.setProjectId(null);
207
+//                    if (filesProjectService.selectFilesProjectList(filesProject).size() > 0)
208
+//                        filesAchievement.setProjectId(filesProjectService.selectFilesProjectList(filesProject).get(0).getId());
209
+//                    filesAchievement.setDataYear(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(1)).substring(0,4): ExcelUtils.getString(sheetAt1.getRow(i).getCell(1)).substring(0,4));
210
+//                    filesAchievement.setAchiName(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(2)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(2)));
211
+//                    filesAchievement.setScaleOrder(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(3)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(3)));
212
+//                    filesAchievement.setResultType(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(4)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(4)));
213
+//                    filesAchievement.setFileType(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(5)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(5)));
214
+//                    String storageAddress = xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(6)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(6));
215
+//                    filesAchievement.setStorageId(null);
216
+//                    if (storageAddress != null && !storageAddress.equals("")) {
217
+//                        filesAchievement.setStorageId(new SnowFlake().generateId());
218
+//                        FilesStorage storage = new FilesStorage();
219
+//                        storage.setStorageAddress(storageAddress);
220
+//                        if (filesStorageService.selectFilesStorageListE(storage).size() > 0)
221
+//                            filesAchievement.setStorageId(filesStorageService.selectFilesStorageListE(storage).get(0).getId());
222
+//                        else {
223
+//                            FilesStorage filesStorage = new FilesStorage();
224
+//                            filesStorage.setId(filesAchievement.getStorageId());
225
+//                            filesStorage.setStorageAddress(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(6)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(6)));
226
+//                            filesStorage.setAdministrator(getLoginUser().getUsername());
227
+//                            filesStorage.setRemark("");
228
+//                            filesStorageService.insertFilesStorage(filesStorage);
229
+//                        }
230
+//                    }
231
+////                    filesAchievement.setKmlUrl(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(7)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(7)));
232
+//                    filesAchievement.setWorkLoad(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(7)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(7)));
233
+//                    filesAchievement.setUnit(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(8)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(8)));
234
+//                    filesAchievement.setDataSource(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(9)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(9)));
235
+//                    filesAchievement.setProductionTime(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(10)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(10)));
236
+////                    filesAchievement.setSubmitDate(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(11)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(11)));
237
+//                    filesAchievement.setRemark(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(12)): ExcelUtils.getString(sheetAt1.getRow(i).getCell(12)));
238
+//                    filesAchievementService.insertFilesAchievement(filesAchievement);
239
+//                }
240
+//            }
241
+            return AjaxResult.success("上传成功");
242
+        }
243
+    }
244
+
245
+    /**
246
+     * 新增成果表
247
+     */
248
+    @PreAuthorize("@ss.hasPermi('file:achievement:add')")
249
+    @Log(title = "成果表", businessType = BusinessType.INSERT)
250
+    @PostMapping
251
+    public AjaxResult add(FilesAchievement filesAchievement, MultipartFile uploadKmlFile) throws IOException {
252
+        FilesStorage storage = new FilesStorage();
253
+        storage.setStorageAddress(filesAchievement.getStorageAddress());
254
+        if (filesAchievement.getStorageAddress() != null && !filesAchievement.getStorageAddress().equals("")) {
255
+            filesAchievement.setStorageId(new SnowFlake().generateId());
256
+            if (filesStorageService.selectFilesStorageListE(storage).size() > 0)
257
+                filesAchievement.setStorageId(filesStorageService.selectFilesStorageListE(storage).get(0).getId());
258
+            else {
259
+                FilesStorage filesStorage = new FilesStorage();
260
+                filesStorage.setId(filesAchievement.getStorageId());
261
+                filesStorage.setStorageAddress(filesAchievement.getStorageAddress());
262
+                filesStorage.setAdministrator(getLoginUser().getUsername());
263
+                filesStorage.setRemark("");
264
+                filesStorageService.insertFilesStorage(filesStorage);
265
+            }
266
+        }
267
+        if (filesAchievement.getProjectNumber() != null && !filesAchievement.getProjectNumber().equals("")) {
268
+            FilesProject filesProject = new FilesProject();
269
+            filesProject.setProjectNumber(filesAchievement.getProjectNumber());
270
+            if (filesProjectService.selectFilesProjectList(filesProject).size() > 0)
271
+                filesAchievement.setProjectId(filesProjectService.selectFilesProjectList(filesProject).get(0).getId());
272
+        }
273
+        if (uploadKmlFile(filesAchievement, uploadKmlFile)) return AjaxResult.error("文件内容为空");
274
+        filesAchievement.setId(new SnowFlake().generateId());
275
+        return toAjax(filesAchievementService.insertFilesAchievement(filesAchievement));
276
+    }
277
+
278
+    /**
279
+     * 修改成果表
280
+     */
281
+    @PreAuthorize("@ss.hasPermi('file:achievement:edit')")
282
+    @Log(title = "成果表", businessType = BusinessType.UPDATE)
283
+    @PostMapping("/edit")
284
+    public AjaxResult edit(FilesAchievement filesAchievement, MultipartFile uploadKmlFile) throws IOException {
285
+        FilesStorage filesStorage = new FilesStorage();
286
+        filesStorage.setStorageAddress(filesAchievement.getStorageAddress());
287
+        if (filesStorageService.selectFilesStorageListE(filesStorage).size() > 0)
288
+            filesAchievement.setStorageId(filesStorageService.selectFilesStorageListE(filesStorage).get(0).getId());
289
+        FilesProject filesProject = new FilesProject();
290
+        filesProject = filesProjectService.selectFilesProjectById(filesAchievement.getProjectId());
291
+        filesAchievement.setProjectNumber(filesProject.getProjectNumber());
292
+        if (uploadKmlFile(filesAchievement, uploadKmlFile))
293
+            return AjaxResult.error("文件内容为空");
294
+        return toAjax(filesAchievementService.updateFilesAchievement(filesAchievement));
295
+    }
296
+
297
+    private boolean uploadKmlFile(FilesAchievement filesAchievement, MultipartFile uploadKmlFile) throws IOException {
298
+        if (uploadKmlFile != null) {
299
+            if (!uploadKmlFile.isEmpty()) {
300
+                File profilePath = new File(profile);
301
+                if (!profilePath.exists())//若此目录不存在,则创建之
302
+                    profilePath.mkdirs();
303
+                File transferFile = new File( profilePath + "\\" + uploadKmlFile.getOriginalFilename());
304
+                if (!transferFile.exists())
305
+                    uploadKmlFile.transferTo(transferFile);
306
+                filesAchievement.setKmlUrl(transferFile.getName());
307
+            }
308
+            else
309
+                return true;
310
+        }
311
+        return false;
312
+    }
313
+
314
+    /**
315
+     * 删除成果表
316
+     */
317
+    @PreAuthorize("@ss.hasPermi('file:achievement:remove')")
318
+    @Log(title = "成果表", businessType = BusinessType.DELETE)
319
+	@DeleteMapping("/{ids}")
320
+    public AjaxResult remove(@PathVariable String[] ids)
321
+    {
322
+        return toAjax(filesAchievementService.deleteFilesAchievementByIds(ids));
323
+    }
324
+}

+ 329
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesProjectController.java View File

@@ -0,0 +1,329 @@
1
+package com.ruoyi.web.controller.file;
2
+
3
+import com.ruoyi.common.annotation.Log;
4
+import com.ruoyi.common.core.controller.BaseController;
5
+import com.ruoyi.common.core.domain.AjaxResult;
6
+import com.ruoyi.common.core.page.TableDataInfo;
7
+import com.ruoyi.common.enums.BusinessType;
8
+import com.ruoyi.common.utils.SnowFlake;
9
+import com.ruoyi.common.utils.poi.ExcelUtil;
10
+import com.ruoyi.file.domain.FilesProject;
11
+import com.ruoyi.file.domain.FilesStorage;
12
+import com.ruoyi.file.domain.FilesTopic;
13
+import com.ruoyi.file.service.IFilesProjectService;
14
+import com.ruoyi.file.service.IFilesStorageService;
15
+import com.ruoyi.file.service.IFilesTopicService;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.beans.factory.annotation.Value;
18
+import org.springframework.security.access.prepost.PreAuthorize;
19
+import org.springframework.web.bind.annotation.*;
20
+import org.springframework.web.multipart.MultipartFile;
21
+
22
+import javax.servlet.http.HttpServletResponse;
23
+import java.io.File;
24
+import java.io.IOException;
25
+import java.util.ArrayList;
26
+import java.util.List;
27
+
28
+/**
29
+ * 项目管理Controller
30
+ *
31
+ * @author cmc
32
+ * @date 2022-09-05
33
+ */
34
+@RestController
35
+@RequestMapping("/file/project")
36
+public class FilesProjectController extends BaseController {
37
+    @Autowired
38
+    private IFilesProjectService filesProjectService;
39
+
40
+    @Autowired
41
+    private IFilesTopicService filesTopicService;
42
+
43
+    @Autowired
44
+    private IFilesStorageService filesStorageService;
45
+
46
+    @Value("${ruoyi.profile}")
47
+    private String profile;
48
+
49
+    /**
50
+     * 查询项目管理列表
51
+     */
52
+    @PreAuthorize("@ss.hasPermi('file:project:list')")
53
+    @GetMapping("/list")
54
+    public TableDataInfo list(FilesProject filesProject) {
55
+        List<FilesProject> list = filesProjectService.selectFilesProjectList(filesProject);
56
+        if (filesProject.getStorageAddress() != null && !filesProject.getStorageAddress().equals("")) {
57
+            FilesStorage filesStorage = new FilesStorage();
58
+            filesStorage.setStorageAddress(filesProject.getStorageAddress());
59
+            if (filesStorageService.selectFilesStorageList(filesStorage).size() > 0)
60
+                filesProject.setStorageId(filesStorageService.selectFilesStorageList(filesStorage).get(0).getId());
61
+        }
62
+        if (filesProject.getTopicName() != null && !filesProject.getTopicName().equals("")) {
63
+            FilesTopic filesTopic = new FilesTopic();
64
+            filesTopic.setTopicName(filesProject.getTopicName());
65
+            if (filesTopicService.selectFilesTopicList(filesTopic).size() > 0)
66
+                filesProject.setTopicId(filesTopicService.selectFilesTopicList(filesTopic).get(0).getId());
67
+        }
68
+        return getDataTable(list);
69
+    }
70
+
71
+    /**
72
+     * 导出项目管理列表
73
+     */
74
+    @PreAuthorize("@ss.hasPermi('file:project:export')")
75
+    @Log(title = "项目管理", businessType = BusinessType.EXPORT)
76
+    @PostMapping("/export")
77
+    public void export(HttpServletResponse response, FilesProject filesProject) {
78
+        List<FilesProject> list = filesProjectService.selectFilesProjectList(filesProject);
79
+        ExcelUtil<FilesProject> util = new ExcelUtil<FilesProject>(FilesProject.class);
80
+        util.exportExcel(response, list, "项目管理数据");
81
+    }
82
+
83
+    /**
84
+     * 导出选中项目管理列表
85
+     */
86
+    @PreAuthorize("@ss.hasPermi('file:project:export')")
87
+    @Log(title = "成果表", businessType = BusinessType.EXPORT)
88
+    @PostMapping("/exportBatch/{ids}")
89
+    public void exportBatch(HttpServletResponse response, FilesProject filesProject, @PathVariable("ids") String[] ids)
90
+    {
91
+        List<FilesProject> list = new ArrayList<>();
92
+        for (String projectId : ids)
93
+            list.add(filesProjectService.selectFilesProjectById(projectId));
94
+        ExcelUtil<FilesProject> util = new ExcelUtil<FilesProject>(FilesProject.class);
95
+        util.exportExcel(response, list, "成果表数据");
96
+    }
97
+
98
+    /**
99
+     * 下载项目表模版
100
+     */
101
+    @PostMapping("/importTemplate")
102
+    public void importTemplate(HttpServletResponse response)
103
+    {
104
+        ExcelUtil<FilesProject> util = new ExcelUtil<FilesProject>(FilesProject.class);
105
+        util.importTemplateExcel(response, "项目表模板");
106
+    }
107
+
108
+    /**
109
+     * 获取项目管理详细信息
110
+     */
111
+    @PreAuthorize("@ss.hasPermi('file:project:query')")
112
+    @GetMapping(value = "/{id}")
113
+    public AjaxResult getInfo(@PathVariable("id") String id) {
114
+        return AjaxResult.success(filesProjectService.selectFilesProjectById(id));
115
+    }
116
+
117
+    /**
118
+     * 获取专题对应项目列表
119
+     */
120
+    @PreAuthorize("@ss.hasPermi('file:project:query')")
121
+    @GetMapping("/topicName")
122
+    public AjaxResult getProjectByTopic(String topicName) {
123
+        FilesTopic filesTopic = new FilesTopic();
124
+        filesTopic.setTopicName(topicName);
125
+        String topicId = filesTopicService.selectFilesTopicList(filesTopic).get(0).getId();
126
+        FilesProject filesProject = new FilesProject();
127
+        filesProject.setTopicId(topicId);
128
+        return AjaxResult.success(filesProjectService.selectFilesProjectList(filesProject));
129
+    }
130
+
131
+    /**
132
+     * 上传项目excel文件
133
+     */
134
+    @PreAuthorize("@ss.hasPermi('file:project:add')")
135
+    @PostMapping("/uploadSheet")
136
+    public AjaxResult uploadProjectSheet(MultipartFile file) throws Exception {
137
+        if (file.isEmpty()) {
138
+            return AjaxResult.error("文件内容为空!");
139
+        } else {
140
+//            File profilePath = new File(profile);
141
+//            if (!profilePath.exists())//若此目录不存在,则创建之
142
+//                profilePath.mkdirs();
143
+//            File transferFile = new File(profilePath + "\\" + file.getOriginalFilename());
144
+//            file.transferTo(transferFile);
145
+//            InputStream in = new FileInputStream(transferFile);
146
+//            XSSFSheet sheetAt = null;
147
+//            HSSFSheet sheetAt1 = null;
148
+//            int rowNumber = 0;
149
+//            boolean xlsx = Objects.requireNonNull(file.getOriginalFilename()).endsWith("xlsx");
150
+//            if (file.getOriginalFilename() != null && file.getOriginalFilename().endsWith("xlsx")) {
151
+//                sheetAt = new XSSFWorkbook(in).getSheetAt(0);
152
+//                rowNumber = sheetAt.getLastRowNum();
153
+//            } else if (file.getOriginalFilename() != null && file.getOriginalFilename().endsWith("xls")) {
154
+//                sheetAt1 = new HSSFWorkbook(in).getSheetAt(0);
155
+//                rowNumber = sheetAt1.getLastRowNum();
156
+//            }
157
+            ExcelUtil<FilesProject> util = new ExcelUtil<FilesProject>(FilesProject.class);
158
+            List<FilesProject> filesProjectList = util.importExcel(file.getInputStream());
159
+            List<String> IdList = new ArrayList<>();
160
+            for (FilesProject fileProject :  filesProjectService.selectFilesProjectList(new FilesProject())) {
161
+                IdList.add(fileProject.getId());
162
+            }
163
+            for (FilesProject fileProject : filesProjectList)
164
+            {
165
+                if (fileProject.getId() == null || !IdList.contains(fileProject.getId()))
166
+                    fileProject.setId(new SnowFlake().generateId());
167
+                if (IdList.contains(fileProject.getId()))
168
+                    filesProjectService.updateFilesProject(fileProject);
169
+                else
170
+                    filesProjectService.insertFilesProject(fileProject);
171
+            }
172
+//            FilesProject filesProject = new FilesProject();
173
+//            for (int i = 0; i < rowNumber - 1; ) {
174
+//                i++;
175
+//                filesProject.setId(new SnowFlake().generateId());
176
+//                filesProject.setProjectNumber(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(0)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(0)));
177
+//                filesProject.setProjectName(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(1)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(1)));
178
+//                filesProject.setCurrentProgress(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(2)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(2)));
179
+//                filesProject.setProjectSource(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(3)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(3)));
180
+//                filesProject.setPartyA(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(4)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(4)));
181
+//                filesProject.setContactPerson(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(5)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(5)));
182
+//                filesProject.setTelephone(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(6)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(6)));
183
+//                filesProject.setContractCode(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(7)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(7)));
184
+//                filesProject.setContractNumber(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(8)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(8)));
185
+//                filesProject.setProjectType(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(9)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(9)));
186
+//                filesProject.setExpectedPrice(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(10)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(10)));
187
+//                filesProject.setProjectLevel(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(11)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(11)));
188
+//                filesProject.setTechnicalDirector(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(12)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(12)));
189
+//                filesProject.setTechinicalDesigner(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(13)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(13)));
190
+//                filesProject.setQualityInspector(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(14)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(14)));
191
+//                filesProject.setUndertakingSector(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(15)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(15)));
192
+//                filesProject.setProjectLeader(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(16)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(16)));
193
+//                filesProject.setFund(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(17)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(17)));
194
+//                filesProject.setApprovalDate(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(18)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(18)));
195
+//                filesProject.setApproachTime(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(19)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(19)));
196
+//                filesProject.setWithdrawalTime(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(20)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(20)));
197
+//                filesProject.setRequiredCompletionDate(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(21)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(21)));
198
+//                filesProject.setSubmissionDate(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(22)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(22)));
199
+//                filesProject.setLicensePlateNumber(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(23)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(23)));
200
+//                filesProject.setMileage(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(24)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(24)));
201
+//                filesProject.setFuelExpense(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(25)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(25)));
202
+//                filesProject.setMainEquipment(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(26)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(26)));
203
+//                filesProject.setProjectParticipants(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(27)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(27)));
204
+//                filesProject.setCurrentProcessing(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(28)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(28)));
205
+//                filesProject.setCurrentHandler(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(29)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(29)));
206
+//                filesProject.setProjectRegistrant(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(30)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(30)));
207
+//                filesProject.setRegistrationDate(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(31)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(31)));
208
+//                filesProject.setLeadingSector(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(32)) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(32)));
209
+//                filesProject.setYear(xlsx ? ExcelUtils.getString(sheetAt.getRow(i).getCell(33)).substring(0,4) : ExcelUtils.getString(sheetAt1.getRow(i).getCell(33)).substring(0,4));
210
+//                filesProjectService.insertFilesProject(filesProject);
211
+//            }
212
+            return AjaxResult.success("上传成功");
213
+        }
214
+    }
215
+
216
+    /**
217
+     * 新增项目管理
218
+     */
219
+    @PreAuthorize("@ss.hasPermi('file:project:add')")
220
+    @Log(title = "项目管理", businessType = BusinessType.INSERT)
221
+    @PostMapping
222
+    public AjaxResult add(FilesProject filesProject, @RequestParam(value = "kmlfile",required = false) MultipartFile uploadProjectKmlFile, @RequestParam(value = "cpfile",required = false) MultipartFile uploadCpKmlFile) throws IOException {
223
+        ConvertToId(filesProject);
224
+        filesProject.setId(new SnowFlake().generateId());
225
+        if (uploadProjectKmlFile(filesProject, uploadProjectKmlFile) )
226
+            return AjaxResult.error("项目范围kml文件内容为空");
227
+        if (uploadCpKmlFile(filesProject, uploadCpKmlFile))
228
+            return AjaxResult.error("项目控制点kml文件内容为空");
229
+        return toAjax(filesProjectService.insertFilesProject(filesProject));
230
+    }
231
+
232
+    private boolean uploadProjectKmlFile(FilesProject filesProject, MultipartFile uploadProjectKmlFile) throws IOException {
233
+        if (uploadProjectKmlFile != null) {
234
+            if (!uploadProjectKmlFile.isEmpty()) {
235
+                File profilePath = new File(profile);
236
+                if (!profilePath.exists())//若此目录不存在,则创建之
237
+                    profilePath.mkdirs();
238
+                File transferFile = new File( profilePath + "\\" + uploadProjectKmlFile.getOriginalFilename());
239
+                if (!transferFile.exists())
240
+                    uploadProjectKmlFile.transferTo(transferFile);
241
+                filesProject.setProjectKml(transferFile.getName());
242
+            }
243
+            else
244
+                return true;
245
+        }
246
+        return false;
247
+    }
248
+
249
+    private boolean uploadCpKmlFile(FilesProject filesProject, MultipartFile uploadCpKmlFile) throws IOException {
250
+        if (uploadCpKmlFile != null) {
251
+            if (!uploadCpKmlFile.isEmpty()) {
252
+                File profilePath = new File(profile);
253
+                if (!profilePath.exists())//若此目录不存在,则创建之
254
+                    profilePath.mkdirs();
255
+                File transferFile = new File( profilePath + "\\" + uploadCpKmlFile.getOriginalFilename());
256
+                if (!transferFile.exists())
257
+                    uploadCpKmlFile.transferTo(transferFile);
258
+                filesProject.setProjectCp(transferFile.getName());
259
+            }
260
+            else
261
+                return true;
262
+        }
263
+        return false;
264
+    }
265
+
266
+    private void ConvertToId(FilesProject filesProject) {
267
+        FilesStorage storage = new FilesStorage();
268
+        storage.setStorageAddress(filesProject.getStorageAddress());
269
+        if (filesProject.getStorageAddress() != null && !filesProject.getStorageAddress().equals("")) {
270
+            filesProject.setStorageId(new SnowFlake().generateId());
271
+            if (filesStorageService.selectFilesStorageListE(storage).size() > 0)
272
+                filesProject.setStorageId(filesStorageService.selectFilesStorageListE(storage).get(0).getId());
273
+            else {
274
+                FilesStorage filesStorage = new FilesStorage();
275
+                filesStorage.setId(filesProject.getStorageId());
276
+                filesStorage.setStorageAddress(filesProject.getStorageAddress());
277
+                filesStorage.setAdministrator(getLoginUser().getUsername());
278
+                filesStorage.setRemark("");
279
+                filesStorageService.insertFilesStorage(filesStorage);
280
+            }
281
+        }
282
+        FilesTopic topic = new FilesTopic();
283
+        topic.setTopicName(filesProject.getTopicName());
284
+        if (filesProject.getTopicName() != null && !filesProject.getTopicName().equals("")) {
285
+            filesProject.setTopicId(new SnowFlake().generateId());
286
+            if (filesTopicService.selectFilesTopicList(topic).size() > 0)
287
+                filesProject.setTopicId(filesTopicService.selectFilesTopicList(topic).get(0).getId());
288
+            else {
289
+                FilesTopic filesTopic = new FilesTopic();
290
+                filesTopic.setId(filesProject.getTopicId());
291
+                filesTopic.setTopicName(filesProject.getTopicName());
292
+                filesTopicService.insertFilesTopic(filesTopic);
293
+            }
294
+        }
295
+    }
296
+
297
+    /**
298
+     * 修改项目管理
299
+     */
300
+    @PreAuthorize("@ss.hasPermi('file:project:edit')")
301
+    @Log(title = "项目管理", businessType = BusinessType.UPDATE)
302
+    @PostMapping("/edit")
303
+    public AjaxResult edit(FilesProject filesProject, @RequestParam(value = "kmlfile",required = false) MultipartFile uploadProjectKmlFile, @RequestParam(value = "cpfile",required = false) MultipartFile uploadCpKmlFile) throws IOException {
304
+        ConvertToId(filesProject);
305
+        if (uploadProjectKmlFile(filesProject, uploadProjectKmlFile) )
306
+            return AjaxResult.error("项目范围kml文件内容为空");
307
+        if (uploadCpKmlFile(filesProject, uploadCpKmlFile))
308
+            return AjaxResult.error("项目控制点kml文件内容为空");
309
+        return toAjax(filesProjectService.updateFilesProject(filesProject));
310
+    }
311
+
312
+    /**
313
+     * 删除项目管理
314
+     */
315
+    @PreAuthorize("@ss.hasPermi('file:project:remove')")
316
+    @Log(title = "项目管理", businessType = BusinessType.DELETE)
317
+    @DeleteMapping("/{ids}")
318
+    public AjaxResult remove(@PathVariable String[] ids) {
319
+        return toAjax(filesProjectService.deleteFilesProjectByIds(ids));
320
+    }
321
+    /**
322
+     * 根据项目编号查询项目信息
323
+     */
324
+    @PreAuthorize("@ss.hasPermi('file:project:query')")
325
+    @GetMapping("/query/{projectNumbers}")
326
+    public AjaxResult getInfoByProjectNumber(@PathVariable String[] projectNumbers){
327
+        return AjaxResult.success(filesProjectService.selectFilesProjectByNumbers(projectNumbers));
328
+    }
329
+}

+ 99
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesStorageController.java View File

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

+ 99
- 0
oa-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/file/FilesTopicController.java View File

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

+ 18
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallArchiveActivityExecutionListener.java View File

@@ -0,0 +1,18 @@
1
+package com.ruoyi.flowable.oa;
2
+
3
+import org.flowable.common.engine.impl.identity.Authentication;
4
+import org.flowable.engine.delegate.DelegateExecution;
5
+import org.flowable.engine.delegate.ExecutionListener;
6
+import org.springframework.stereotype.Component;
7
+
8
+import java.util.Map;
9
+
10
+@Component("CallArchiveActivityExecutionListener")
11
+public class CallArchiveActivityExecutionListener implements ExecutionListener {
12
+    @Override
13
+    public void notify(DelegateExecution delegateExecution) {
14
+        Map<String, Object> variables = delegateExecution.getVariables();
15
+        Authentication.setAuthenticatedUserId(variables.get("archiveInitiator").toString());
16
+        delegateExecution.setVariable("approval", variables.get("archiveInitiator").toString());
17
+    }
18
+}

+ 18
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/CallSettleActivityExecutionListener.java View File

@@ -0,0 +1,18 @@
1
+package com.ruoyi.flowable.oa;
2
+
3
+import org.flowable.common.engine.impl.identity.Authentication;
4
+import org.flowable.engine.delegate.DelegateExecution;
5
+import org.flowable.engine.delegate.ExecutionListener;
6
+import org.springframework.stereotype.Component;
7
+
8
+import java.util.Map;
9
+
10
+@Component("CallSettleActivityExecutionListener")
11
+public class CallSettleActivityExecutionListener implements ExecutionListener {
12
+    @Override
13
+    public void notify(DelegateExecution delegateExecution) {
14
+        Map<String, Object> variables = delegateExecution.getVariables();
15
+        Authentication.setAuthenticatedUserId(variables.get("settleInitiator").toString());
16
+        delegateExecution.setVariable("approval", variables.get("settleInitiator").toString());
17
+    }
18
+}

+ 300
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesAchievement.java View File

@@ -0,0 +1,300 @@
1
+package com.ruoyi.file.domain;
2
+
3
+import com.ruoyi.common.annotation.Excel;
4
+import com.ruoyi.common.core.domain.BaseEntity;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+
8
+import java.util.Date;
9
+
10
+/**
11
+ * 成果表对象 files_achievement
12
+ * 
13
+ * @author cmc
14
+ * @date 2022-09-06
15
+ */
16
+public class FilesAchievement extends BaseEntity
17
+{
18
+    private static final long serialVersionUID = 1L;
19
+
20
+    /** 成果id */
21
+    @Excel(name = "序号")
22
+    private String id;
23
+
24
+    /** 项目id */
25
+//    @Excel(name = "项目id")
26
+    private String projectId;
27
+
28
+    /** 项目编号 */
29
+    @Excel(name = "项目编号")
30
+    private String projectNumber;
31
+
32
+    /** 数据年份 */
33
+    @Excel(name = "数据年份")
34
+    private String dataYear;
35
+
36
+    /** 成果名称 */
37
+    @Excel(name = "成果名称")
38
+    private String achiName;
39
+
40
+    /** 比例尺或等级 */
41
+    @Excel(name = "比例尺或等级")
42
+    private String scaleOrder;
43
+
44
+    /** 成果类型 */
45
+    @Excel(name = "成果类型")
46
+    private String resultType;
47
+
48
+    /** 文件类型 */
49
+    @Excel(name = "文件类型")
50
+    private String fileType;
51
+
52
+    /** KML地址 */
53
+//    @Excel(name = "KML地址")
54
+    private String kmlUrl;
55
+
56
+    /** kml文件的中心位置经度 */
57
+//    @Excel(name = "kml文件的中心位置经度")
58
+    private String kmlLng;
59
+
60
+    /** kml文件的中心位置纬度 */
61
+//    @Excel(name = "kml文件的中心位置纬度")
62
+    private String kmlLat;
63
+
64
+    /** 工作量 */
65
+    @Excel(name = "工作量")
66
+    private String workLoad;
67
+
68
+    /** 单位 */
69
+    @Excel(name = "单位")
70
+    private String unit;
71
+
72
+    /** 数据来源 */
73
+    @Excel(name = "数据来源")
74
+    private String dataSource;
75
+
76
+    /** 数据类型(0原始数据,1成果数据,2过程数据) */
77
+    @Excel(name = "数据类型", readConverterExp = "0=原始数据,1成果数据,2过程数据")
78
+    private String dataType;
79
+
80
+    /** 生产日期 */
81
+    @Excel(name = "生产日期")
82
+    private String productionTime;
83
+
84
+    /** 存放地址id */
85
+//    @Excel(name = "存放地址id")
86
+    private String storageId;
87
+
88
+    /** 存放地址 */
89
+    @Excel(name = "存放地址")
90
+    private String storageAddress;
91
+
92
+    /** 成果提交时间 */
93
+    @Excel(name = "成果提交时间")
94
+    private Date submitDate;
95
+
96
+    @Excel(name = "备注")
97
+    private String remark;
98
+
99
+    @Excel(name = "分辨率(米)")
100
+    private String resolution;
101
+
102
+    @Excel(name = "大地基准")
103
+    private String geodeticDatum;
104
+
105
+    public void setId(String id) 
106
+    {
107
+        this.id = id;
108
+    }
109
+
110
+    public String getId() 
111
+    {
112
+        return id;
113
+    }
114
+    public void setProjectId(String projectId) 
115
+    {
116
+        this.projectId = projectId;
117
+    }
118
+
119
+    public String getProjectId() 
120
+    {
121
+        return projectId;
122
+    }
123
+    public void setProjectNumber(String projectNumber)
124
+    {
125
+        this.projectNumber = projectNumber;
126
+    }
127
+
128
+    public String getProjectNumber()
129
+    {
130
+        return projectNumber;
131
+    }
132
+    public void setAchiName(String achiName) 
133
+    {
134
+        this.achiName = achiName;
135
+    }
136
+
137
+    public String getAchiName() 
138
+    {
139
+        return achiName;
140
+    }
141
+    public void setDataYear(String dataYear) { this.dataYear = dataYear; }
142
+
143
+    public String getDataYear() 
144
+    {
145
+        return dataYear;
146
+    }
147
+    public void setScaleOrder(String scaleOrder) 
148
+    {
149
+        this.scaleOrder = scaleOrder;
150
+    }
151
+
152
+    public String getScaleOrder() 
153
+    {
154
+        return scaleOrder;
155
+    }
156
+    public void setResultType(String resultType) { this.resultType = resultType; }
157
+
158
+    public String getResultType() 
159
+    {
160
+        return resultType;
161
+    }
162
+    public void setFileType(String fileType) { this.fileType = fileType; }
163
+
164
+    public String getFileType()
165
+    {
166
+        return fileType;
167
+    }
168
+    public void setKmlUrl(String kmlUrl) 
169
+    {
170
+        this.kmlUrl = kmlUrl;
171
+    }
172
+
173
+    public String getKmlUrl() 
174
+    {
175
+        return kmlUrl;
176
+    }
177
+    public void setKmlLng(String kmlLng) 
178
+    {
179
+        this.kmlLng = kmlLng;
180
+    }
181
+
182
+    public String getKmlLng() 
183
+    {
184
+        return kmlLng;
185
+    }
186
+    public void setKmlLat(String kmlLat) 
187
+    {
188
+        this.kmlLat = kmlLat;
189
+    }
190
+
191
+    public String getKmlLat() 
192
+    {
193
+        return kmlLat;
194
+    }
195
+    public void setWorkLoad(String workLoad) 
196
+    {
197
+        this.workLoad = workLoad;
198
+    }
199
+
200
+    public String getWorkLoad() 
201
+    {
202
+        return workLoad;
203
+    }
204
+    public void setUnit(String unit) 
205
+    {
206
+        this.unit = unit;
207
+    }
208
+
209
+    public String getUnit() 
210
+    {
211
+        return unit;
212
+    }
213
+    public void setDataSource(String dataSource) 
214
+    {
215
+        this.dataSource = dataSource;
216
+    }
217
+
218
+    public String getDataSource() 
219
+    {
220
+        return dataSource;
221
+    }
222
+    public void setDataType(String dataType) 
223
+    {
224
+        this.dataType = dataType;
225
+    }
226
+
227
+    public String getDataType() 
228
+    {
229
+        return dataType;
230
+    }
231
+    public void setStorageId(String storageId) 
232
+    {
233
+        this.storageId = storageId;
234
+    }
235
+
236
+    public String getStorageId() 
237
+    {
238
+        return storageId;
239
+    }
240
+    public void setStorageAddress(String storageAddress)
241
+    {
242
+        this.storageAddress = storageAddress;
243
+    }
244
+
245
+    public String getStorageAddress()
246
+    {
247
+        return storageAddress;
248
+    }
249
+    public void setSubmitDate(Date submitDate) { this.submitDate = submitDate; }
250
+
251
+    public Date getSubmitDate()
252
+    {
253
+        return submitDate;
254
+    }
255
+    public void setProductionTime(String productionTime) { this.productionTime = productionTime; }
256
+
257
+    public String getProductionTime()
258
+    {
259
+        return productionTime;
260
+    }
261
+    public void setRemark(String remark) { this.remark = remark; }
262
+
263
+    public String getRemark()
264
+    {
265
+        return remark;
266
+    }
267
+    public void setResolution(String resolution) { this.resolution = resolution; }
268
+
269
+    public String getResolution()
270
+    {
271
+        return resolution;
272
+    }
273
+    public void setGeodeticDatum(String geodeticDatum) { this.geodeticDatum = geodeticDatum; }
274
+
275
+    public String getGeodeticDatum()
276
+    {
277
+        return geodeticDatum;
278
+    }
279
+
280
+    @Override
281
+    public String toString() {
282
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
283
+            .append("id", getId())
284
+            .append("projectId", getProjectId())
285
+            .append("achiName", getAchiName())
286
+            .append("dataYear", getDataYear())
287
+            .append("scaleOrder", getScaleOrder())
288
+            .append("resultType", getResultType())
289
+            .append("kmlUrl", getKmlUrl())
290
+            .append("kmlLng", getKmlLng())
291
+            .append("kmlLat", getKmlLat())
292
+            .append("workLoad", getWorkLoad())
293
+            .append("unit", getUnit())
294
+            .append("dataSource", getDataSource())
295
+            .append("dataType", getDataType())
296
+            .append("storageId", getStorageId())
297
+            .append("remark", getRemark())
298
+            .toString();
299
+    }
300
+}

+ 635
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesProject.java View File

@@ -0,0 +1,635 @@
1
+package com.ruoyi.file.domain;
2
+
3
+import com.ruoyi.common.annotation.Excel;
4
+import com.ruoyi.common.core.domain.BaseEntity;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+
8
+/**
9
+ * 项目管理对象 files_project
10
+ * 
11
+ * @author cmc
12
+ * @date 2022-09-05
13
+ */
14
+public class FilesProject extends BaseEntity
15
+{
16
+    private static final long serialVersionUID = 1L;
17
+
18
+    /** 项目唯一标识 */
19
+    @Excel(name = "序号")
20
+    private String id;
21
+
22
+    /** 项目编号 */
23
+    @Excel(name = "项目编号")
24
+    private String projectNumber;
25
+
26
+    /** 项目名称 */
27
+    @Excel(name = "项目名称")
28
+    private String projectName;
29
+
30
+    /** 项目是否结束 */
31
+    @Excel(name = "项目是否结束")
32
+    private String isFinish;
33
+
34
+    /** 项目负责人 */
35
+    @Excel(name = "项目负责人")
36
+    private String projectLeader;
37
+
38
+    /** 项目年份 */
39
+    @Excel(name = "项目年份")
40
+    private String year;
41
+
42
+    /** 当前进度 */
43
+    @Excel(name = "当前进度")
44
+    private String currentProgress;
45
+
46
+    /** 项目来源 */
47
+    @Excel(name = "项目来源")
48
+    private String projectSource;
49
+
50
+    /** 甲方单位 */
51
+    @Excel(name = "甲方单位")
52
+    private String partyA;
53
+
54
+    /** 联系人 */
55
+    @Excel(name = "联系人")
56
+    private String contactPerson;
57
+
58
+    /** 联系电话 */
59
+    @Excel(name = "联系电话")
60
+    private String telephone;
61
+
62
+    /** 合同编码 */
63
+    @Excel(name = "合同编码")
64
+    private String contractCode;
65
+
66
+    /** 合同编号 */
67
+    @Excel(name = "合同编号")
68
+    private String contractNumber;
69
+
70
+    /** 项目类型 */
71
+    @Excel(name = "项目类型")
72
+    private String projectType;
73
+
74
+    /** 预计价款 */
75
+    @Excel(name = "预计价款")
76
+    private String expectedPrice;
77
+
78
+    /** 项目级别 */
79
+    @Excel(name = "项目级别")
80
+    private String projectLevel;
81
+
82
+    /** 技术负责人 */
83
+    @Excel(name = "技术负责人")
84
+    private String technicalDirector;
85
+
86
+    /** 技术设计人 */
87
+    @Excel(name = "技术设计人")
88
+    private String techinicalDesigner;
89
+
90
+    /** 质量检查员 */
91
+    @Excel(name = "质量检查员")
92
+    private String qualityInspector;
93
+
94
+    /** 承担部门 */
95
+    @Excel(name = "承担部门")
96
+    private String undertakingSector;
97
+
98
+    /** 经费合计 */
99
+    @Excel(name = "经费合计")
100
+    private String fund;
101
+
102
+    /** 领导批准时间 */
103
+    @Excel(name = "领导批准时间")
104
+    private String approvalDate;
105
+
106
+    /** 进场时间 */
107
+    @Excel(name = "进场时间")
108
+    private String approachTime;
109
+
110
+    /** 撤场时间 */
111
+    @Excel(name = "撤场时间")
112
+    private String withdrawalTime;
113
+
114
+    /** 项目要求完成日期 */
115
+    @Excel(name = "项目要求完成日期")
116
+    private String requiredCompletionDate;
117
+
118
+    /** 资料提交日期 */
119
+    @Excel(name = "资料提交日期")
120
+    private String submissionDate;
121
+
122
+    /** 使用车辆(车牌号) */
123
+    @Excel(name = "使用车辆", readConverterExp = "车=牌号")
124
+    private String licensePlateNumber;
125
+
126
+    /** 项目行车公里数 */
127
+    @Excel(name = "项目行车公里数")
128
+    private String mileage;
129
+
130
+    /** 项目燃油使用费 */
131
+    @Excel(name = "项目燃油使用费")
132
+    private String fuelExpense;
133
+
134
+    /** 主要设备 */
135
+    @Excel(name = "主要设备")
136
+    private String mainEquipment;
137
+
138
+    /** 项目参与人员 */
139
+    @Excel(name = "项目参与人员")
140
+    private String projectParticipants;
141
+
142
+    /** 当前处理环节 */
143
+    @Excel(name = "当前处理环节")
144
+    private String currentProcessing;
145
+
146
+    /** 当前处理人 */
147
+    @Excel(name = "当前处理人")
148
+    private String currentHandler;
149
+
150
+    /** 项目登记人 */
151
+    @Excel(name = "项目登记人")
152
+    private String projectRegistrant;
153
+
154
+    /** 项目登记日期 */
155
+    @Excel(name = "项目登记日期")
156
+    private String registrationDate;
157
+
158
+    /** 牵头部门 */
159
+    @Excel(name = "牵头部门")
160
+    private String leadingSector;
161
+
162
+
163
+
164
+    /** 所属专题id */
165
+//    @Excel(name = "所属专题id")
166
+    private String topicId;
167
+
168
+    /** 专题名称 */
169
+//    @Excel(name = "专题名称")
170
+    private String topicName;
171
+
172
+    /** 存放地址的id */
173
+//    @Excel(name = "存放地址的id")
174
+    private String storageId;
175
+
176
+    /** 存放地址 */
177
+//    @Excel(name = "存放地址")
178
+    private String storageAddress;
179
+
180
+    /** 项目kml */
181
+//    @Excel(name = "项目kml")
182
+    private String projectKml;
183
+
184
+    /** 项目控制点 */
185
+//    @Excel(name = "项目控制点")
186
+    private String projectCp;
187
+
188
+    /** kml文件的中心位置经度 */
189
+//    @Excel(name = "kml文件的中心位置经度")
190
+    private String kmlLng;
191
+
192
+    /** kml文件的中心位置纬度 */
193
+//    @Excel(name = "kml文件的中心位置纬度")
194
+    private String kmlLat;
195
+
196
+
197
+
198
+    public void setId(String id) 
199
+    {
200
+        this.id = id;
201
+    }
202
+
203
+    public String getId() 
204
+    {
205
+        return id;
206
+    }
207
+    public void setProjectNumber(String projectNumber) 
208
+    {
209
+        this.projectNumber = projectNumber;
210
+    }
211
+
212
+    public String getProjectNumber() 
213
+    {
214
+        return projectNumber;
215
+    }
216
+    public void setProjectName(String projectName) 
217
+    {
218
+        this.projectName = projectName;
219
+    }
220
+
221
+    public String getProjectName() 
222
+    {
223
+        return projectName;
224
+    }
225
+    public void setCurrentProgress(String currentProgress) 
226
+    {
227
+        this.currentProgress = currentProgress;
228
+    }
229
+
230
+    public String getCurrentProgress() 
231
+    {
232
+        return currentProgress;
233
+    }
234
+    public void setProjectSource(String projectSource) 
235
+    {
236
+        this.projectSource = projectSource;
237
+    }
238
+
239
+    public String getProjectSource() 
240
+    {
241
+        return projectSource;
242
+    }
243
+    public void setPartyA(String partyA) 
244
+    {
245
+        this.partyA = partyA;
246
+    }
247
+
248
+    public String getPartyA() 
249
+    {
250
+        return partyA;
251
+    }
252
+    public void setContactPerson(String contactPerson) 
253
+    {
254
+        this.contactPerson = contactPerson;
255
+    }
256
+
257
+    public String getContactPerson() 
258
+    {
259
+        return contactPerson;
260
+    }
261
+    public void setTelephone(String telephone) 
262
+    {
263
+        this.telephone = telephone;
264
+    }
265
+
266
+    public String getTelephone() 
267
+    {
268
+        return telephone;
269
+    }
270
+    public void setContractCode(String contractCode) 
271
+    {
272
+        this.contractCode = contractCode;
273
+    }
274
+
275
+    public String getContractCode() 
276
+    {
277
+        return contractCode;
278
+    }
279
+    public void setContractNumber(String contractNumber) 
280
+    {
281
+        this.contractNumber = contractNumber;
282
+    }
283
+
284
+    public String getContractNumber() 
285
+    {
286
+        return contractNumber;
287
+    }
288
+    public void setProjectType(String projectType) 
289
+    {
290
+        this.projectType = projectType;
291
+    }
292
+
293
+    public String getProjectType() 
294
+    {
295
+        return projectType;
296
+    }
297
+    public void setExpectedPrice(String expectedPrice) 
298
+    {
299
+        this.expectedPrice = expectedPrice;
300
+    }
301
+
302
+    public String getExpectedPrice() 
303
+    {
304
+        return expectedPrice;
305
+    }
306
+    public void setProjectLevel(String projectLevel) 
307
+    {
308
+        this.projectLevel = projectLevel;
309
+    }
310
+
311
+    public String getProjectLevel() 
312
+    {
313
+        return projectLevel;
314
+    }
315
+    public void setTechnicalDirector(String technicalDirector) 
316
+    {
317
+        this.technicalDirector = technicalDirector;
318
+    }
319
+
320
+    public String getTechnicalDirector() 
321
+    {
322
+        return technicalDirector;
323
+    }
324
+    public void setTechinicalDesigner(String techinicalDesigner) 
325
+    {
326
+        this.techinicalDesigner = techinicalDesigner;
327
+    }
328
+
329
+    public String getTechinicalDesigner() 
330
+    {
331
+        return techinicalDesigner;
332
+    }
333
+    public void setQualityInspector(String qualityInspector) 
334
+    {
335
+        this.qualityInspector = qualityInspector;
336
+    }
337
+
338
+    public String getQualityInspector() 
339
+    {
340
+        return qualityInspector;
341
+    }
342
+    public void setUndertakingSector(String undertakingSector) 
343
+    {
344
+        this.undertakingSector = undertakingSector;
345
+    }
346
+
347
+    public String getUndertakingSector() 
348
+    {
349
+        return undertakingSector;
350
+    }
351
+    public void setProjectLeader(String projectLeader) 
352
+    {
353
+        this.projectLeader = projectLeader;
354
+    }
355
+
356
+    public String getProjectLeader() 
357
+    {
358
+        return projectLeader;
359
+    }
360
+    public void setFund(String fund) 
361
+    {
362
+        this.fund = fund;
363
+    }
364
+
365
+    public String getFund() 
366
+    {
367
+        return fund;
368
+    }
369
+    public void setApprovalDate(String approvalDate) 
370
+    {
371
+        this.approvalDate = approvalDate;
372
+    }
373
+
374
+    public String getApprovalDate() 
375
+    {
376
+        return approvalDate;
377
+    }
378
+    public void setApproachTime(String approachTime) 
379
+    {
380
+        this.approachTime = approachTime;
381
+    }
382
+
383
+    public String getApproachTime() 
384
+    {
385
+        return approachTime;
386
+    }
387
+    public void setWithdrawalTime(String withdrawalTime) 
388
+    {
389
+        this.withdrawalTime = withdrawalTime;
390
+    }
391
+
392
+    public String getWithdrawalTime() 
393
+    {
394
+        return withdrawalTime;
395
+    }
396
+    public void setRequiredCompletionDate(String requiredCompletionDate) { this.requiredCompletionDate = requiredCompletionDate; }
397
+
398
+    public String getRequiredCompletionDate() 
399
+    {
400
+        return requiredCompletionDate;
401
+    }
402
+    public void setSubmissionDate(String submissionDate) 
403
+    {
404
+        this.submissionDate = submissionDate;
405
+    }
406
+
407
+    public String getSubmissionDate() 
408
+    {
409
+        return submissionDate;
410
+    }
411
+    public void setLicensePlateNumber(String licensePlateNumber) 
412
+    {
413
+        this.licensePlateNumber = licensePlateNumber;
414
+    }
415
+
416
+    public String getLicensePlateNumber() 
417
+    {
418
+        return licensePlateNumber;
419
+    }
420
+    public void setMileage(String mileage) 
421
+    {
422
+        this.mileage = mileage;
423
+    }
424
+
425
+    public String getMileage() 
426
+    {
427
+        return mileage;
428
+    }
429
+    public void setFuelExpense(String fuelExpense) 
430
+    {
431
+        this.fuelExpense = fuelExpense;
432
+    }
433
+
434
+    public String getFuelExpense() 
435
+    {
436
+        return fuelExpense;
437
+    }
438
+    public void setMainEquipment(String mainEquipment) 
439
+    {
440
+        this.mainEquipment = mainEquipment;
441
+    }
442
+
443
+    public String getMainEquipment() 
444
+    {
445
+        return mainEquipment;
446
+    }
447
+    public void setProjectParticipants(String projectParticipants) 
448
+    {
449
+        this.projectParticipants = projectParticipants;
450
+    }
451
+
452
+    public String getProjectParticipants() 
453
+    {
454
+        return projectParticipants;
455
+    }
456
+    public void setCurrentProcessing(String currentProcessing) 
457
+    {
458
+        this.currentProcessing = currentProcessing;
459
+    }
460
+
461
+    public String getCurrentProcessing() 
462
+    {
463
+        return currentProcessing;
464
+    }
465
+    public void setCurrentHandler(String currentHandler) 
466
+    {
467
+        this.currentHandler = currentHandler;
468
+    }
469
+
470
+    public String getCurrentHandler() 
471
+    {
472
+        return currentHandler;
473
+    }
474
+    public void setProjectRegistrant(String projectRegistrant) 
475
+    {
476
+        this.projectRegistrant = projectRegistrant;
477
+    }
478
+
479
+    public String getProjectRegistrant() 
480
+    {
481
+        return projectRegistrant;
482
+    }
483
+    public void setRegistrationDate(String registrationDate) 
484
+    {
485
+        this.registrationDate = registrationDate;
486
+    }
487
+
488
+    public String getRegistrationDate() 
489
+    {
490
+        return registrationDate;
491
+    }
492
+    public void setLeadingSector(String leadingSector) 
493
+    {
494
+        this.leadingSector = leadingSector;
495
+    }
496
+
497
+    public String getLeadingSector() 
498
+    {
499
+        return leadingSector;
500
+    }
501
+    public void setYear(String year) 
502
+    {
503
+        this.year = year;
504
+    }
505
+
506
+    public String getYear() 
507
+    {
508
+        return year;
509
+    }
510
+    public void setTopicId(String topicId) 
511
+    {
512
+        this.topicId = topicId;
513
+    }
514
+
515
+    public String getTopicId() 
516
+    {
517
+        return topicId;
518
+    }
519
+    public void setTopicName(String topicName)
520
+    {
521
+        this.topicName = topicName;
522
+    }
523
+
524
+    public String getTopicName()
525
+    {
526
+        return topicName;
527
+    }
528
+    public void setStorageAddress(String storageAddress)
529
+    {
530
+        this.storageAddress = storageAddress;
531
+    }
532
+
533
+    public String getStorageAddress()
534
+    {
535
+        return storageAddress;
536
+    }
537
+    public void setStorageId(String storageId)
538
+    {
539
+        this.storageId = storageId;
540
+    }
541
+
542
+    public String getStorageId()
543
+    {
544
+        return storageId;
545
+    }
546
+    public void setProjectKml(String projectKml)
547
+    {
548
+        this.projectKml = projectKml;
549
+    }
550
+
551
+    public String getProjectKml()
552
+    {
553
+        return projectKml;
554
+    }
555
+    public void setProjectCp(String projectCp)
556
+    {
557
+        this.projectCp = projectCp;
558
+    }
559
+
560
+    public String getProjectCp()
561
+    {
562
+        return projectCp;
563
+    }
564
+
565
+    public String getKmlLng()
566
+    {
567
+        return kmlLng;
568
+    }
569
+    public void setKmlLng(String kmlLng)
570
+    {
571
+        this.kmlLng = kmlLng;
572
+    }
573
+
574
+    public String getKmlLat()
575
+    {
576
+        return kmlLat;
577
+    }
578
+    public void setKmlLat(String kmlLat)
579
+    {
580
+        this.kmlLat = kmlLat;
581
+    }
582
+
583
+    public void setIsFinish(String isFinish)
584
+    {
585
+        this.isFinish = isFinish;
586
+    }
587
+
588
+    public String getIsFinish()
589
+    {
590
+        return isFinish;
591
+    }
592
+
593
+    @Override
594
+    public String toString() {
595
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
596
+            .append("id", getId())
597
+            .append("projectNumber", getProjectNumber())
598
+            .append("projectName", getProjectName())
599
+            .append("currentProgress", getCurrentProgress())
600
+            .append("projectSource", getProjectSource())
601
+            .append("partyA", getPartyA())
602
+            .append("contactPerson", getContactPerson())
603
+            .append("telephone", getTelephone())
604
+            .append("contractCode", getContractCode())
605
+            .append("contractNumber", getContractNumber())
606
+            .append("projectType", getProjectType())
607
+            .append("expectedPrice", getExpectedPrice())
608
+            .append("projectLevel", getProjectLevel())
609
+            .append("technicalDirector", getTechnicalDirector())
610
+            .append("techinicalDesigner", getTechinicalDesigner())
611
+            .append("qualityInspector", getQualityInspector())
612
+            .append("undertakingSector", getUndertakingSector())
613
+            .append("projectLeader", getProjectLeader())
614
+            .append("fund", getFund())
615
+            .append("approvalDate", getApprovalDate())
616
+            .append("approachTime", getApproachTime())
617
+            .append("withdrawalTime", getWithdrawalTime())
618
+            .append("requiredCompletionDate", getRequiredCompletionDate())
619
+            .append("submissionDate", getSubmissionDate())
620
+            .append("licensePlateNumber", getLicensePlateNumber())
621
+            .append("mileage", getMileage())
622
+            .append("fuelExpense", getFuelExpense())
623
+            .append("mainEquipment", getMainEquipment())
624
+            .append("projectParticipants", getProjectParticipants())
625
+            .append("currentProcessing", getCurrentProcessing())
626
+            .append("currentHandler", getCurrentHandler())
627
+            .append("projectRegistrant", getProjectRegistrant())
628
+            .append("registrationDate", getRegistrationDate())
629
+            .append("leadingSector", getLeadingSector())
630
+            .append("year", getYear())
631
+            .append("topicId", getTopicId())
632
+            .append("storageId", getStorageId())
633
+            .toString();
634
+    }
635
+}

+ 66
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesStorage.java View File

@@ -0,0 +1,66 @@
1
+package com.ruoyi.file.domain;
2
+
3
+import com.ruoyi.common.annotation.Excel;
4
+import com.ruoyi.common.core.domain.BaseEntity;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+
8
+/**
9
+ * 存放表对象 files_storage
10
+ * 
11
+ * @author cmc
12
+ * @date 2022-09-06
13
+ */
14
+public class FilesStorage extends BaseEntity
15
+{
16
+    private static final long serialVersionUID = 1L;
17
+
18
+    /** 存放地址id */
19
+    private String id;
20
+
21
+    /** 存放地址 */
22
+    @Excel(name = "存放地址")
23
+    private String storageAddress;
24
+
25
+    /** 管理人 */
26
+    @Excel(name = "管理人")
27
+    private String administrator;
28
+
29
+    public void setId(String id) 
30
+    {
31
+        this.id = id;
32
+    }
33
+
34
+    public String getId() 
35
+    {
36
+        return id;
37
+    }
38
+    public void setStorageAddress(String storageAddress) 
39
+    {
40
+        this.storageAddress = storageAddress;
41
+    }
42
+
43
+    public String getStorageAddress() 
44
+    {
45
+        return storageAddress;
46
+    }
47
+    public void setAdministrator(String administrator) 
48
+    {
49
+        this.administrator = administrator;
50
+    }
51
+
52
+    public String getAdministrator() 
53
+    {
54
+        return administrator;
55
+    }
56
+
57
+    @Override
58
+    public String toString() {
59
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
60
+            .append("id", getId())
61
+            .append("storageAddress", getStorageAddress())
62
+            .append("administrator", getAdministrator())
63
+            .append("remark", getRemark())
64
+            .toString();
65
+    }
66
+}

+ 51
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/domain/FilesTopic.java View File

@@ -0,0 +1,51 @@
1
+package com.ruoyi.file.domain;
2
+
3
+import com.ruoyi.common.annotation.Excel;
4
+import com.ruoyi.common.core.domain.BaseEntity;
5
+import org.apache.commons.lang3.builder.ToStringBuilder;
6
+import org.apache.commons.lang3.builder.ToStringStyle;
7
+
8
+/**
9
+ * 专题管理对象 files_topic
10
+ * 
11
+ * @author cmc
12
+ * @date 2022-09-05
13
+ */
14
+public class FilesTopic extends BaseEntity
15
+{
16
+    private static final long serialVersionUID = 1L;
17
+
18
+    /** 专题id */
19
+    private String id;
20
+
21
+    /** 专题名称 */
22
+    @Excel(name = "专题名称")
23
+    private String topicName;
24
+
25
+    public void setId(String id) 
26
+    {
27
+        this.id = id;
28
+    }
29
+
30
+    public String getId() 
31
+    {
32
+        return id;
33
+    }
34
+    public void setTopicName(String topicName) 
35
+    {
36
+        this.topicName = topicName;
37
+    }
38
+
39
+    public String getTopicName() 
40
+    {
41
+        return topicName;
42
+    }
43
+
44
+    @Override
45
+    public String toString() {
46
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
47
+            .append("id", getId())
48
+            .append("topicName", getTopicName())
49
+            .toString();
50
+    }
51
+}

+ 70
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesAchievementMapper.java View File

@@ -0,0 +1,70 @@
1
+package com.ruoyi.file.mapper;
2
+
3
+import com.ruoyi.file.domain.FilesAchievement;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 成果表Mapper接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-06
12
+ */
13
+public interface FilesAchievementMapper 
14
+{
15
+    /**
16
+     * 查询成果表
17
+     * 
18
+     * @param id 成果表主键
19
+     * @return 成果表
20
+     */
21
+    public FilesAchievement selectFilesAchievementById(String id);
22
+
23
+    /**
24
+     * 查询成果表列表
25
+     * 
26
+     * @param filesAchievement 成果表
27
+     * @return 成果表集合
28
+     */
29
+    public List<FilesAchievement> selectFilesAchievementList(FilesAchievement filesAchievement);
30
+
31
+    /**
32
+     * 新增成果表
33
+     * 
34
+     * @param filesAchievement 成果表
35
+     * @return 结果
36
+     */
37
+    public int insertFilesAchievement(FilesAchievement filesAchievement);
38
+
39
+    /**
40
+     * 修改成果表
41
+     * 
42
+     * @param filesAchievement 成果表
43
+     * @return 结果
44
+     */
45
+    public int updateFilesAchievement(FilesAchievement filesAchievement);
46
+
47
+    /**
48
+     * 删除成果表
49
+     * 
50
+     * @param id 成果表主键
51
+     * @return 结果
52
+     */
53
+    public int deleteFilesAchievementById(String id);
54
+
55
+    /**
56
+     * 批量删除成果表
57
+     * 
58
+     * @param ids 需要删除的数据主键集合
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesAchievementByIds(String[] ids);
62
+
63
+    /**
64
+     * 根据项目id批量删除对应的成果列表
65
+     *
66
+     * @param ids 需要删除的数据主键集合
67
+     * @return 结果
68
+     */
69
+    public int deleteFilesAchievementByProjectIds(String[] ids);
70
+}

+ 73
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesProjectMapper.java View File

@@ -0,0 +1,73 @@
1
+package com.ruoyi.file.mapper;
2
+
3
+import com.ruoyi.file.domain.FilesProject;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 项目管理Mapper接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-05
12
+ */
13
+public interface FilesProjectMapper 
14
+{
15
+    /**
16
+     * 查询项目管理
17
+     * 
18
+     * @param id 项目管理主键
19
+     * @return 项目管理
20
+     */
21
+    public FilesProject selectFilesProjectById(String id);
22
+
23
+    /**
24
+     * 查询项目
25
+     *
26
+     * @param projectNumber 项目编号
27
+     * @return 项目管理
28
+     */
29
+    public FilesProject selectFilesProjectByNumber(String projectNumber);
30
+    /**
31
+     * 查询项目管理列表
32
+     * 
33
+     * @param filesProject 项目管理
34
+     * @return 项目管理集合
35
+     */
36
+    public List<FilesProject> selectFilesProjectList(FilesProject filesProject);
37
+
38
+    /**
39
+     * 新增项目管理
40
+     * 
41
+     * @param filesProject 项目管理
42
+     * @return 结果
43
+     */
44
+    public int insertFilesProject(FilesProject filesProject);
45
+
46
+    /**
47
+     * 修改项目管理
48
+     * 
49
+     * @param filesProject 项目管理
50
+     * @return 结果
51
+     */
52
+    public int updateFilesProject(FilesProject filesProject);
53
+
54
+    /**
55
+     * 删除项目管理
56
+     * 
57
+     * @param id 项目管理主键
58
+     * @return 结果
59
+     */
60
+    public int deleteFilesProjectById(String id);
61
+
62
+    /**
63
+     * 批量删除项目管理
64
+     * 
65
+     * @param ids 需要删除的数据主键集合
66
+     * @return 结果
67
+     */
68
+    public int deleteFilesProjectByIds(String[] ids);
69
+
70
+    int selectAllCount(FilesProject filesProject);
71
+
72
+    public List<FilesProject> selectFilesProjectByNumbers(String[] ids);
73
+}

+ 70
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesStorageMapper.java View File

@@ -0,0 +1,70 @@
1
+package com.ruoyi.file.mapper;
2
+
3
+import com.ruoyi.file.domain.FilesStorage;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 存放表Mapper接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-06
12
+ */
13
+public interface FilesStorageMapper 
14
+{
15
+    /**
16
+     * 查询存放表
17
+     * 
18
+     * @param id 存放表主键
19
+     * @return 存放表
20
+     */
21
+    public FilesStorage selectFilesStorageById(String id);
22
+
23
+    /**
24
+     * 查询存放表列表
25
+     * 
26
+     * @param filesStorage 存放表
27
+     * @return 存放表集合
28
+     */
29
+    public List<FilesStorage> selectFilesStorageList(FilesStorage filesStorage);
30
+
31
+    /**
32
+     * 查询存放表列表
33
+     *
34
+     * @param filesStorage 存放表
35
+     * @return 存放表集合
36
+     */
37
+    public List<FilesStorage> selectFilesStorageListE(FilesStorage filesStorage);
38
+
39
+    /**
40
+     * 新增存放表
41
+     * 
42
+     * @param filesStorage 存放表
43
+     * @return 结果
44
+     */
45
+    public int insertFilesStorage(FilesStorage filesStorage);
46
+
47
+    /**
48
+     * 修改存放表
49
+     * 
50
+     * @param filesStorage 存放表
51
+     * @return 结果
52
+     */
53
+    public int updateFilesStorage(FilesStorage filesStorage);
54
+
55
+    /**
56
+     * 删除存放表
57
+     * 
58
+     * @param id 存放表主键
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesStorageById(String id);
62
+
63
+    /**
64
+     * 批量删除存放表
65
+     * 
66
+     * @param ids 需要删除的数据主键集合
67
+     * @return 结果
68
+     */
69
+    public int deleteFilesStorageByIds(String[] ids);
70
+}

+ 62
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/mapper/FilesTopicMapper.java View File

@@ -0,0 +1,62 @@
1
+package com.ruoyi.file.mapper;
2
+
3
+import com.ruoyi.file.domain.FilesTopic;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 专题管理Mapper接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-05
12
+ */
13
+public interface FilesTopicMapper 
14
+{
15
+    /**
16
+     * 查询专题管理
17
+     * 
18
+     * @param id 专题管理主键
19
+     * @return 专题管理
20
+     */
21
+    public FilesTopic selectFilesTopicById(String id);
22
+
23
+    /**
24
+     * 查询专题管理列表
25
+     * 
26
+     * @param filesTopic 专题管理
27
+     * @return 专题管理集合
28
+     */
29
+    public List<FilesTopic> selectFilesTopicList(FilesTopic filesTopic);
30
+
31
+    /**
32
+     * 新增专题管理
33
+     * 
34
+     * @param filesTopic 专题管理
35
+     * @return 结果
36
+     */
37
+    public int insertFilesTopic(FilesTopic filesTopic);
38
+
39
+    /**
40
+     * 修改专题管理
41
+     * 
42
+     * @param filesTopic 专题管理
43
+     * @return 结果
44
+     */
45
+    public int updateFilesTopic(FilesTopic filesTopic);
46
+
47
+    /**
48
+     * 删除专题管理
49
+     * 
50
+     * @param id 专题管理主键
51
+     * @return 结果
52
+     */
53
+    public int deleteFilesTopicById(String id);
54
+
55
+    /**
56
+     * 批量删除专题管理
57
+     * 
58
+     * @param ids 需要删除的数据主键集合
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesTopicByIds(String[] ids);
62
+}

+ 62
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesAchievementService.java View File

@@ -0,0 +1,62 @@
1
+package com.ruoyi.file.service;
2
+
3
+import com.ruoyi.file.domain.FilesAchievement;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 成果表Service接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-06
12
+ */
13
+public interface IFilesAchievementService 
14
+{
15
+    /**
16
+     * 查询成果表
17
+     * 
18
+     * @param id 成果表主键
19
+     * @return 成果表
20
+     */
21
+    public FilesAchievement selectFilesAchievementById(String id);
22
+
23
+    /**
24
+     * 查询成果表列表
25
+     * 
26
+     * @param filesAchievement 成果表
27
+     * @return 成果表集合
28
+     */
29
+    public List<FilesAchievement> selectFilesAchievementList(FilesAchievement filesAchievement);
30
+
31
+    /**
32
+     * 新增成果表
33
+     * 
34
+     * @param filesAchievement 成果表
35
+     * @return 结果
36
+     */
37
+    public int insertFilesAchievement(FilesAchievement filesAchievement);
38
+
39
+    /**
40
+     * 修改成果表
41
+     * 
42
+     * @param filesAchievement 成果表
43
+     * @return 结果
44
+     */
45
+    public int updateFilesAchievement(FilesAchievement filesAchievement);
46
+
47
+    /**
48
+     * 批量删除成果表
49
+     * 
50
+     * @param ids 需要删除的成果表主键集合
51
+     * @return 结果
52
+     */
53
+    public int deleteFilesAchievementByIds(String[] ids);
54
+
55
+    /**
56
+     * 删除成果表信息
57
+     * 
58
+     * @param id 成果表主键
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesAchievementById(String id);
62
+}

+ 79
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesProjectService.java View File

@@ -0,0 +1,79 @@
1
+package com.ruoyi.file.service;
2
+
3
+import com.ruoyi.file.domain.FilesProject;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 项目管理Service接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-05
12
+ */
13
+public interface IFilesProjectService 
14
+{
15
+    /**
16
+     * 查询项目管理
17
+     * 
18
+     * @param id 项目管理主键
19
+     * @return 项目管理
20
+     */
21
+    public FilesProject selectFilesProjectById(String id);
22
+    /**
23
+     * 查询项目
24
+     *
25
+     * @param id 项目管理主键
26
+     * @return 项目管理
27
+     */
28
+    public FilesProject selectFilesProjectByNumber(String projectNumber);
29
+
30
+    /**
31
+     * 查询项目管理列表
32
+     * 
33
+     * @param filesProject 项目管理
34
+     * @return 项目管理集合
35
+     */
36
+    public List<FilesProject> selectFilesProjectList(FilesProject filesProject);
37
+
38
+    /**
39
+     * 新增项目管理
40
+     * 
41
+     * @param filesProject 项目管理
42
+     * @return 结果
43
+     */
44
+    public int insertFilesProject(FilesProject filesProject);
45
+
46
+    /**
47
+     * 修改项目管理
48
+     * 
49
+     * @param filesProject 项目管理
50
+     * @return 结果
51
+     */
52
+    public int updateFilesProject(FilesProject filesProject);
53
+
54
+    /**
55
+     * 批量删除项目管理
56
+     * 
57
+     * @param ids 需要删除的项目管理主键集合
58
+     * @return 结果
59
+     */
60
+    public int deleteFilesProjectByIds(String[] ids);
61
+
62
+    /**
63
+     * 删除项目管理信息
64
+     * 
65
+     * @param id 项目管理主键
66
+     * @return 结果
67
+     */
68
+    public int deleteFilesProjectById(String id);
69
+
70
+    int selectAllCount(FilesProject filesProject);
71
+
72
+    /**
73
+     *根据项目编号获取项目信息
74
+     *
75
+     * @param ids 项目编号
76
+     * @return 结果
77
+     */
78
+    public List<FilesProject> selectFilesProjectByNumbers(String[] ids);
79
+}

+ 70
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesStorageService.java View File

@@ -0,0 +1,70 @@
1
+package com.ruoyi.file.service;
2
+
3
+import com.ruoyi.file.domain.FilesStorage;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 存放表Service接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-06
12
+ */
13
+public interface IFilesStorageService 
14
+{
15
+    /**
16
+     * 查询存放表
17
+     * 
18
+     * @param id 存放表主键
19
+     * @return 存放表
20
+     */
21
+    public FilesStorage selectFilesStorageById(String id);
22
+
23
+    /**
24
+     * 查询存放表列表
25
+     * 
26
+     * @param filesStorage 存放表
27
+     * @return 存放表集合
28
+     */
29
+    public List<FilesStorage> selectFilesStorageList(FilesStorage filesStorage);
30
+
31
+    /**
32
+     * 查询存放表列表
33
+     *
34
+     * @param filesStorage 存放表
35
+     * @return 存放表集合
36
+     */
37
+    public List<FilesStorage> selectFilesStorageListE(FilesStorage filesStorage);
38
+
39
+    /**
40
+     * 新增存放表
41
+     * 
42
+     * @param filesStorage 存放表
43
+     * @return 结果
44
+     */
45
+    public int insertFilesStorage(FilesStorage filesStorage);
46
+
47
+    /**
48
+     * 修改存放表
49
+     * 
50
+     * @param filesStorage 存放表
51
+     * @return 结果
52
+     */
53
+    public int updateFilesStorage(FilesStorage filesStorage);
54
+
55
+    /**
56
+     * 批量删除存放表
57
+     * 
58
+     * @param ids 需要删除的存放表主键集合
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesStorageByIds(String[] ids);
62
+
63
+    /**
64
+     * 删除存放表信息
65
+     * 
66
+     * @param id 存放表主键
67
+     * @return 结果
68
+     */
69
+    public int deleteFilesStorageById(String id);
70
+}

+ 62
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/IFilesTopicService.java View File

@@ -0,0 +1,62 @@
1
+package com.ruoyi.file.service;
2
+
3
+import com.ruoyi.file.domain.FilesTopic;
4
+
5
+import java.util.List;
6
+
7
+/**
8
+ * 专题管理Service接口
9
+ * 
10
+ * @author cmc
11
+ * @date 2022-09-05
12
+ */
13
+public interface IFilesTopicService 
14
+{
15
+    /**
16
+     * 查询专题管理
17
+     * 
18
+     * @param id 专题管理主键
19
+     * @return 专题管理
20
+     */
21
+    public FilesTopic selectFilesTopicById(String id);
22
+
23
+    /**
24
+     * 查询专题管理列表
25
+     * 
26
+     * @param filesTopic 专题管理
27
+     * @return 专题管理集合
28
+     */
29
+    public List<FilesTopic> selectFilesTopicList(FilesTopic filesTopic);
30
+
31
+    /**
32
+     * 新增专题管理
33
+     * 
34
+     * @param filesTopic 专题管理
35
+     * @return 结果
36
+     */
37
+    public int insertFilesTopic(FilesTopic filesTopic);
38
+
39
+    /**
40
+     * 修改专题管理
41
+     * 
42
+     * @param filesTopic 专题管理
43
+     * @return 结果
44
+     */
45
+    public int updateFilesTopic(FilesTopic filesTopic);
46
+
47
+    /**
48
+     * 批量删除专题管理
49
+     * 
50
+     * @param ids 需要删除的专题管理主键集合
51
+     * @return 结果
52
+     */
53
+    public int deleteFilesTopicByIds(String[] ids);
54
+
55
+    /**
56
+     * 删除专题管理信息
57
+     * 
58
+     * @param id 专题管理主键
59
+     * @return 结果
60
+     */
61
+    public int deleteFilesTopicById(String id);
62
+}

+ 94
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesAchievementServiceImpl.java View File

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

+ 123
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesProjectServiceImpl.java View File

@@ -0,0 +1,123 @@
1
+package com.ruoyi.file.service.impl;
2
+
3
+import com.ruoyi.file.domain.FilesProject;
4
+import com.ruoyi.file.mapper.FilesAchievementMapper;
5
+import com.ruoyi.file.mapper.FilesProjectMapper;
6
+import com.ruoyi.file.service.IFilesProjectService;
7
+import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.stereotype.Service;
9
+
10
+import java.util.List;
11
+
12
+/**
13
+ * 项目管理Service业务层处理
14
+ * 
15
+ * @author cmc
16
+ * @date 2022-09-05
17
+ */
18
+@Service
19
+public class FilesProjectServiceImpl implements IFilesProjectService 
20
+{
21
+    @Autowired
22
+    private FilesProjectMapper filesProjectMapper;
23
+    @Autowired
24
+    private FilesAchievementMapper filesAchievementMapper;
25
+    /**
26
+     * 查询项目管理
27
+     * 
28
+     * @param id 项目管理主键
29
+     * @return 项目管理
30
+     */
31
+    @Override
32
+    public FilesProject selectFilesProjectById(String id)
33
+    {
34
+        return filesProjectMapper.selectFilesProjectById(id);
35
+    }
36
+
37
+    /**
38
+     * 查询项目管理
39
+     *
40
+     * @param projectNumber 项目编号
41
+     * @return 项目管理
42
+     */
43
+    @Override
44
+    public FilesProject selectFilesProjectByNumber(String projectNumber)
45
+    {
46
+        return filesProjectMapper.selectFilesProjectByNumber(projectNumber);
47
+    }
48
+
49
+    /**
50
+     * 查询项目管理列表
51
+     * 
52
+     * @param filesProject 项目管理
53
+     * @return 项目管理
54
+     */
55
+    @Override
56
+    public List<FilesProject> selectFilesProjectList(FilesProject filesProject)
57
+    {
58
+        return filesProjectMapper.selectFilesProjectList(filesProject);
59
+    }
60
+
61
+    /**
62
+     * 新增项目管理
63
+     * 
64
+     * @param filesProject 项目管理
65
+     * @return 结果
66
+     */
67
+    @Override
68
+    public int insertFilesProject(FilesProject filesProject)
69
+    {
70
+        return filesProjectMapper.insertFilesProject(filesProject);
71
+    }
72
+
73
+    /**
74
+     * 修改项目管理
75
+     * 
76
+     * @param filesProject 项目管理
77
+     * @return 结果
78
+     */
79
+    @Override
80
+    public int updateFilesProject(FilesProject filesProject)
81
+    {
82
+        return filesProjectMapper.updateFilesProject(filesProject);
83
+    }
84
+
85
+    /**
86
+     * 批量删除项目管理
87
+     * 
88
+     * @param ids 需要删除的项目管理主键
89
+     * @return 结果
90
+     */
91
+    @Override
92
+    public int deleteFilesProjectByIds(String[] ids)
93
+    {
94
+        try{
95
+            filesAchievementMapper.deleteFilesAchievementByProjectIds(ids);
96
+            return filesProjectMapper.deleteFilesProjectByIds(ids);
97
+        }catch (Exception e) {
98
+            throw new RuntimeException();
99
+        }
100
+    }
101
+
102
+    /**
103
+     * 删除项目管理信息
104
+     * 
105
+     * @param id 项目管理主键
106
+     * @return 结果
107
+     */
108
+    @Override
109
+    public int deleteFilesProjectById(String id)
110
+    {
111
+        return filesProjectMapper.deleteFilesProjectById(id);
112
+    }
113
+
114
+    @Override
115
+    public int selectAllCount(FilesProject filesProject) {
116
+        return filesProjectMapper.selectAllCount(filesProject);
117
+    }
118
+
119
+    @Override
120
+    public List<FilesProject> selectFilesProjectByNumbers(String[] ids){
121
+        return filesProjectMapper.selectFilesProjectByNumbers(ids);
122
+    }
123
+}

+ 106
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesStorageServiceImpl.java View File

@@ -0,0 +1,106 @@
1
+package com.ruoyi.file.service.impl;
2
+
3
+import com.ruoyi.file.domain.FilesStorage;
4
+import com.ruoyi.file.mapper.FilesStorageMapper;
5
+import com.ruoyi.file.service.IFilesStorageService;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.stereotype.Service;
8
+
9
+import java.util.List;
10
+
11
+/**
12
+ * 存放表Service业务层处理
13
+ * 
14
+ * @author cmc
15
+ * @date 2022-09-06
16
+ */
17
+@Service
18
+public class FilesStorageServiceImpl implements IFilesStorageService 
19
+{
20
+    @Autowired
21
+    private FilesStorageMapper filesStorageMapper;
22
+
23
+    /**
24
+     * 查询存放表
25
+     * 
26
+     * @param id 存放表主键
27
+     * @return 存放表
28
+     */
29
+    @Override
30
+    public FilesStorage selectFilesStorageById(String id)
31
+    {
32
+        return filesStorageMapper.selectFilesStorageById(id);
33
+    }
34
+
35
+    /**
36
+     * 查询存放表列表
37
+     * 
38
+     * @param filesStorage 存放表
39
+     * @return 存放表
40
+     */
41
+    @Override
42
+    public List<FilesStorage> selectFilesStorageList(FilesStorage filesStorage)
43
+    {
44
+        return filesStorageMapper.selectFilesStorageList(filesStorage);
45
+    }
46
+
47
+    /**
48
+     * 查询存放表列表
49
+     *
50
+     * @param filesStorage 存放表
51
+     * @return 存放表
52
+     */
53
+    @Override
54
+    public List<FilesStorage> selectFilesStorageListE(FilesStorage filesStorage)
55
+    {
56
+        return filesStorageMapper.selectFilesStorageListE(filesStorage);
57
+    }
58
+
59
+    /**
60
+     * 新增存放表
61
+     * 
62
+     * @param filesStorage 存放表
63
+     * @return 结果
64
+     */
65
+    @Override
66
+    public int insertFilesStorage(FilesStorage filesStorage)
67
+    {
68
+        return filesStorageMapper.insertFilesStorage(filesStorage);
69
+    }
70
+
71
+    /**
72
+     * 修改存放表
73
+     * 
74
+     * @param filesStorage 存放表
75
+     * @return 结果
76
+     */
77
+    @Override
78
+    public int updateFilesStorage(FilesStorage filesStorage)
79
+    {
80
+        return filesStorageMapper.updateFilesStorage(filesStorage);
81
+    }
82
+
83
+    /**
84
+     * 批量删除存放表
85
+     * 
86
+     * @param ids 需要删除的存放表主键
87
+     * @return 结果
88
+     */
89
+    @Override
90
+    public int deleteFilesStorageByIds(String[] ids)
91
+    {
92
+        return filesStorageMapper.deleteFilesStorageByIds(ids);
93
+    }
94
+
95
+    /**
96
+     * 删除存放表信息
97
+     * 
98
+     * @param id 存放表主键
99
+     * @return 结果
100
+     */
101
+    @Override
102
+    public int deleteFilesStorageById(String id)
103
+    {
104
+        return filesStorageMapper.deleteFilesStorageById(id);
105
+    }
106
+}

+ 94
- 0
oa-back/ruoyi-system/src/main/java/com/ruoyi/file/service/impl/FilesTopicServiceImpl.java View File

@@ -0,0 +1,94 @@
1
+package com.ruoyi.file.service.impl;
2
+
3
+import com.ruoyi.file.domain.FilesTopic;
4
+import com.ruoyi.file.mapper.FilesTopicMapper;
5
+import com.ruoyi.file.service.IFilesTopicService;
6
+import org.springframework.beans.factory.annotation.Autowired;
7
+import org.springframework.stereotype.Service;
8
+
9
+import java.util.List;
10
+
11
+/**
12
+ * 专题管理Service业务层处理
13
+ * 
14
+ * @author cmc
15
+ * @date 2022-09-05
16
+ */
17
+@Service
18
+public class FilesTopicServiceImpl implements IFilesTopicService 
19
+{
20
+    @Autowired
21
+    private FilesTopicMapper filesTopicMapper;
22
+
23
+    /**
24
+     * 查询专题管理
25
+     * 
26
+     * @param id 专题管理主键
27
+     * @return 专题管理
28
+     */
29
+    @Override
30
+    public FilesTopic selectFilesTopicById(String id)
31
+    {
32
+        return filesTopicMapper.selectFilesTopicById(id);
33
+    }
34
+
35
+    /**
36
+     * 查询专题管理列表
37
+     * 
38
+     * @param filesTopic 专题管理
39
+     * @return 专题管理
40
+     */
41
+    @Override
42
+    public List<FilesTopic> selectFilesTopicList(FilesTopic filesTopic)
43
+    {
44
+        return filesTopicMapper.selectFilesTopicList(filesTopic);
45
+    }
46
+
47
+    /**
48
+     * 新增专题管理
49
+     * 
50
+     * @param filesTopic 专题管理
51
+     * @return 结果
52
+     */
53
+    @Override
54
+    public int insertFilesTopic(FilesTopic filesTopic)
55
+    {
56
+        return filesTopicMapper.insertFilesTopic(filesTopic);
57
+    }
58
+
59
+    /**
60
+     * 修改专题管理
61
+     * 
62
+     * @param filesTopic 专题管理
63
+     * @return 结果
64
+     */
65
+    @Override
66
+    public int updateFilesTopic(FilesTopic filesTopic)
67
+    {
68
+        return filesTopicMapper.updateFilesTopic(filesTopic);
69
+    }
70
+
71
+    /**
72
+     * 批量删除专题管理
73
+     * 
74
+     * @param ids 需要删除的专题管理主键
75
+     * @return 结果
76
+     */
77
+    @Override
78
+    public int deleteFilesTopicByIds(String[] ids)
79
+    {
80
+        return filesTopicMapper.deleteFilesTopicByIds(ids);
81
+    }
82
+
83
+    /**
84
+     * 删除专题管理信息
85
+     * 
86
+     * @param id 专题管理主键
87
+     * @return 结果
88
+     */
89
+    @Override
90
+    public int deleteFilesTopicById(String id)
91
+    {
92
+        return filesTopicMapper.deleteFilesTopicById(id);
93
+    }
94
+}

+ 168
- 0
oa-back/ruoyi-system/src/main/resources/mapper/file/FilesAchievementMapper.xml View File

@@ -0,0 +1,168 @@
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.file.mapper.FilesAchievementMapper">
6
+    
7
+    <resultMap type="FilesAchievement" id="FilesAchievementResult">
8
+        <result property="id"    column="id"    />
9
+        <result property="projectId"    column="project_id"    />
10
+        <result property="projectNumber"    column="project_number"    />
11
+        <result property="achiName"    column="achi_name"    />
12
+        <result property="dataYear"    column="data_year"    />
13
+        <result property="scaleOrder"    column="scale_order"    />
14
+        <result property="resultType"    column="result_type"    />
15
+        <result property="fileType"    column="file_type"    />
16
+        <result property="kmlUrl"    column="kml_url"    />
17
+        <result property="kmlLng"    column="kml_lng"    />
18
+        <result property="kmlLat"    column="kml_lat"    />
19
+        <result property="workLoad"    column="work_load"    />
20
+        <result property="unit"    column="unit"    />
21
+        <result property="dataSource"    column="data_source"    />
22
+        <result property="dataType"    column="data_type"    />
23
+        <result property="storageId"    column="storage_id"    />
24
+        <result property="storageAddress"    column="storage_address"    />
25
+        <result property="remark"    column="remark"    />
26
+        <result property="submitDate"    column="submit_date"    />
27
+        <result property="productionTime"    column="production_time"    />
28
+        <result property="resolution"    column="resolution"    />
29
+        <result property="geodeticDatum"    column="geodetic_datum"    />
30
+    </resultMap>
31
+
32
+    <sql id="selectFilesAchievementVo">
33
+        select id, project_id, achi_name, data_year, scale_order, result_type, file_type, kml_url, kml_lng, kml_lat, work_load, unit, data_source, data_type, storage_id, remark, submit_date, production_time, resolution, geodetic_datum from files_achievement
34
+    </sql>
35
+
36
+    <sql id="Base_Column_List" >
37
+        a.id, a.project_id, p.project_number, a.achi_name, a.data_year, a.scale_order, a.result_type, a.file_type, a.kml_url, a.kml_lng, a.kml_lat, a.work_load, a.unit, a.data_source, a.data_type, a.storage_id, s.storage_address, a.remark, a.submit_date, a.production_time, a.resolution, a.geodetic_datum
38
+    </sql>
39
+
40
+    <sql id="selectFilesAchievementAllVo">
41
+        select <include refid="Base_Column_List"/> from files_achievement a
42
+        left join files_storage s on a.storage_id = s.id
43
+        left join files_project p on a.project_id = p.id
44
+    </sql>
45
+
46
+    <select id="selectFilesAchievementList" parameterType="FilesAchievement" resultMap="FilesAchievementResult">
47
+        <include refid="selectFilesAchievementAllVo"/>
48
+        <where>  
49
+            <if test="projectId != null  and projectId != ''"> and project_id = #{projectId}</if>
50
+            <if test="projectNumber != null  and projectNumber != ''"> and project_number like concat('%', #{projectNumber}, '%')</if>
51
+            <if test="achiName != null  and achiName != ''"> and achi_name like concat('%', #{achiName}, '%')</if>
52
+            <if test="dataYear != null  and dataYear != ''"> and data_year like concat('%', #{dataYear}, '%')</if>
53
+            <if test="scaleOrder != null  and scaleOrder != ''"> and scale_order like concat('%', #{scaleOrder}, '%')</if>
54
+            <if test="resultType != null  and resultType != ''"> and result_type like concat('%', #{resultType}, '%')</if>
55
+            <if test="fileType != null  and fileType != ''"> and file_type like concat('%', #{fileType}, '%')</if>
56
+            <if test="kmlUrl != null  and kmlUrl != ''"> and kml_url like concat('%', #{kmlUrl}, '%')</if>
57
+            <if test="kmlLng != null  and kmlLng != ''"> and kml_lng like concat('%', #{kmlLng}, '%')</if>
58
+            <if test="kmlLat != null  and kmlLat != ''"> and kml_lat like concat('%', #{kmlLat}, '%')</if>
59
+            <if test="workLoad != null  and workLoad != ''"> and work_load = #{workLoad}</if>
60
+            <if test="unit != null  and unit != ''"> and unit = #{unit}</if>
61
+            <if test="dataSource != null  and dataSource != ''"> and data_source like concat('%', #{dataSource}, '%')</if>
62
+            <if test="dataType != null  and dataType != ''"> and data_type like concat('%', #{dataType}, '%')</if>
63
+            <if test="storageId != null  and storageId != ''"> and storage_id like concat('%', #{storageId}, '%')</if>
64
+            <if test="submitDate != null  and submitDate != ''"> and submit_date like concat('%', #{submitDate}, '%')</if>
65
+            <if test="productionTime != null  and productionTime != ''"> and production_time like concat('%', #{productionTime}, '%')</if>
66
+            <if test="resolution != null  and resolution != ''"> and resolution like concat('%', #{resolution}, '%')</if>
67
+            <if test="geodeticDatum != null  and geodeticDatum != ''"> and geodetic_datum like concat('%', #{geodeticDatum}, '%')</if>
68
+        </where>
69
+        order by p.project_number desc
70
+    </select>
71
+    
72
+    <select id="selectFilesAchievementById" parameterType="String" resultMap="FilesAchievementResult">
73
+        <include refid="selectFilesAchievementAllVo"/>
74
+        where a.id = #{id}
75
+    </select>
76
+    <insert id="insertFilesAchievement" parameterType="FilesAchievement">
77
+        insert into files_achievement
78
+        <trim prefix="(" suffix=")" suffixOverrides=",">
79
+            <if test="id != null">id,</if>
80
+            <if test="projectId != null">project_id,</if>
81
+            <if test="achiName != null">achi_name,</if>
82
+            <if test="dataYear != null">data_year,</if>
83
+            <if test="scaleOrder != null">scale_order,</if>
84
+            <if test="resultType != null">result_type,</if>
85
+            <if test="fileType != null">file_type,</if>
86
+            <if test="kmlUrl != null">kml_url,</if>
87
+            <if test="kmlLng != null">kml_lng,</if>
88
+            <if test="kmlLat != null">kml_lat,</if>
89
+            <if test="workLoad != null">work_load,</if>
90
+            <if test="unit != null">unit,</if>
91
+            <if test="dataSource != null">data_source,</if>
92
+            <if test="dataType != null">data_type,</if>
93
+            <if test="storageId != null">storage_id,</if>
94
+            <if test="remark != null">remark,</if>
95
+            <if test="submitDate != null">submit_date,</if>
96
+            <if test="productionTime != null">production_time,</if>
97
+            <if test="resolution != null">resolution,</if>
98
+            <if test="geodeticDatum != null">geodetic_datum,</if>
99
+         </trim>
100
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
101
+            <if test="id != null">#{id},</if>
102
+            <if test="projectId != null">#{projectId},</if>
103
+            <if test="achiName != null">#{achiName},</if>
104
+            <if test="dataYear != null">#{dataYear},</if>
105
+            <if test="scaleOrder != null">#{scaleOrder},</if>
106
+            <if test="resultType != null">#{resultType},</if>
107
+            <if test="fileType != null">#{fileType},</if>
108
+            <if test="kmlUrl != null">#{kmlUrl},</if>
109
+            <if test="kmlLng != null">#{kmlLng},</if>
110
+            <if test="kmlLat != null">#{kmlLat},</if>
111
+            <if test="workLoad != null">#{workLoad},</if>
112
+            <if test="unit != null">#{unit},</if>
113
+            <if test="dataSource != null">#{dataSource},</if>
114
+            <if test="dataType != null">#{dataType},</if>
115
+            <if test="storageId != null">#{storageId},</if>
116
+            <if test="remark != null">#{remark},</if>
117
+            <if test="submitDate != null">#{submitDate},</if>
118
+            <if test="productionTime != null">#{productionTime},</if>
119
+            <if test="resolution != null">#{resolution},</if>
120
+            <if test="geodeticDatum != null">#{geodeticDatum},</if>
121
+         </trim>
122
+    </insert>
123
+
124
+    <update id="updateFilesAchievement" parameterType="FilesAchievement">
125
+        update files_achievement
126
+        <trim prefix="SET" suffixOverrides=",">
127
+            <if test="projectId != null">project_id = #{projectId},</if>
128
+            <if test="achiName != null">achi_name = #{achiName},</if>
129
+            <if test="dataYear != null">data_year = #{dataYear},</if>
130
+            <if test="scaleOrder != null">scale_order = #{scaleOrder},</if>
131
+            <if test="resultType != null">result_type = #{resultType},</if>
132
+            <if test="fileType != null">file_type = #{fileType},</if>
133
+            <if test="kmlUrl != null">kml_url = #{kmlUrl},</if>
134
+            <if test="kmlLng != null">kml_lng = #{kmlLng},</if>
135
+            <if test="kmlLat != null">kml_lat = #{kmlLat},</if>
136
+            <if test="workLoad != null">work_load = #{workLoad},</if>
137
+            <if test="unit != null">unit = #{unit},</if>
138
+            <if test="dataSource != null">data_source = #{dataSource},</if>
139
+            <if test="dataType != null">data_type = #{dataType},</if>
140
+            <if test="storageId != null">storage_id = #{storageId},</if>
141
+            <if test="remark != null">remark = #{remark},</if>
142
+            <if test="submitDate != null">submit_date = #{submitDate},</if>
143
+            <if test="productionTime != null">production_time = #{productionTime},</if>
144
+            <if test="resolution != null">resolution = #{resolution},</if>
145
+            <if test="resolution != null">resolution = #{resolution},</if>
146
+            <if test="geodeticDatum != null">geodetic_datum = #{geodeticDatum},</if>
147
+        </trim>
148
+        where id = #{id}
149
+    </update>
150
+
151
+    <delete id="deleteFilesAchievementById" parameterType="String">
152
+        delete from files_achievement where id = #{id}
153
+    </delete>
154
+
155
+    <delete id="deleteFilesAchievementByProjectIds" parameterType="String">
156
+        delete from files_achievement where project_id  in
157
+        <foreach item="projectId" collection="array" open="(" separator="," close=")">
158
+            #{projectId}
159
+        </foreach>
160
+    </delete>
161
+
162
+    <delete id="deleteFilesAchievementByIds" parameterType="String">
163
+        delete from files_achievement where id in 
164
+        <foreach item="id" collection="array" open="(" separator="," close=")">
165
+            #{id}
166
+        </foreach>
167
+    </delete>
168
+</mapper>

+ 326
- 0
oa-back/ruoyi-system/src/main/resources/mapper/file/FilesProjectMapper.xml View File

@@ -0,0 +1,326 @@
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.file.mapper.FilesProjectMapper">
6
+    
7
+    <resultMap type="com.ruoyi.file.domain.FilesProject" id="FilesProjectResult">
8
+        <result property="id"    column="ID"    />
9
+        <result property="projectNumber"    column="project_number"    />
10
+        <result property="projectName"    column="project_name"    />
11
+        <result property="currentProgress"    column="current_progress"    />
12
+        <result property="projectSource"    column="project_source"    />
13
+        <result property="partyA"    column="party_a"    />
14
+        <result property="contactPerson"    column="contact_person"    />
15
+        <result property="telephone"    column="telephone"    />
16
+        <result property="contractCode"    column="contract_code"    />
17
+        <result property="contractNumber"    column="contract_number"    />
18
+        <result property="projectType"    column="project_type"    />
19
+        <result property="expectedPrice"    column="expected_price"    />
20
+        <result property="projectLevel"    column="project_level"    />
21
+        <result property="technicalDirector"    column="technical_director"    />
22
+        <result property="techinicalDesigner"    column="techinical_designer"    />
23
+        <result property="qualityInspector"    column="quality_inspector"    />
24
+        <result property="undertakingSector"    column="undertaking_sector"    />
25
+        <result property="projectLeader"    column="project_leader"    />
26
+        <result property="fund"    column="fund"    />
27
+        <result property="approvalDate"    column="approval_date"    />
28
+        <result property="approachTime"    column="approach_time"    />
29
+        <result property="withdrawalTime"    column="withdrawal_time"    />
30
+        <result property="requiredCompletionDate"    column="required_completion_date"    />
31
+        <result property="submissionDate"    column="submission_date"    />
32
+        <result property="licensePlateNumber"    column="license_plate_number"    />
33
+        <result property="mileage"    column="mileage"    />
34
+        <result property="fuelExpense"    column="fuel_expense"    />
35
+        <result property="mainEquipment"    column="main_equipment"    />
36
+        <result property="projectParticipants"    column="project_participants"    />
37
+        <result property="currentProcessing"    column="current_processing"    />
38
+        <result property="currentHandler"    column="current_handler"    />
39
+        <result property="projectRegistrant"    column="project_registrant"    />
40
+        <result property="registrationDate"    column="registration_date"    />
41
+        <result property="leadingSector"    column="leading_sector"    />
42
+        <result property="year"    column="year"    />
43
+        <result property="topicId"    column="topic_id"    />
44
+        <result property="topicName"    column="topic_name"    />
45
+        <result property="storageId"    column="storage_id"    />
46
+        <result property="storageAddress"    column="storage_address"    />
47
+        <result property="projectKml"    column="project_kml"    />
48
+        <result property="projectCp"    column="project_cp"    />
49
+        <result property="kmlLng"    column="kml_lng"    />
50
+        <result property="kmlLat"    column="kml_lat"    />
51
+        <result property="isFinish"    column="is_finish"    />
52
+    </resultMap>
53
+
54
+    <sql id="selectFilesProjectVo">
55
+        select ID, project_number, project_name, current_progress, project_source, party_a, contact_person, telephone, contract_code, contract_number, project_type, expected_price, project_level, technical_director, techinical_designer, quality_inspector, undertaking_sector, project_leader, fund, approval_date, approach_time, withdrawal_time, required_completion_date, submission_date, license_plate_number, mileage, fuel_expense, main_equipment, project_participants, current_processing, current_handler, project_registrant, registration_date, leading_sector, year, topic_id, storage_id, project_kml, project_cp, kml_lng,kml_lat, is_finish from files_project
56
+    </sql>
57
+    <sql id="Base_Column_List" >
58
+        p.ID, p.project_number, p.project_name, p.current_progress, p.project_source, p.party_a, p.contact_person, p.telephone, p.contract_code, p.contract_number, p.project_type, p.expected_price, p.project_level, p.technical_director, p.techinical_designer, p.quality_inspector, p.undertaking_sector, p.project_leader, p.fund, p.approval_date, p.approach_time, p.withdrawal_time, p.required_completion_date, p.submission_date, p.license_plate_number, p.mileage, p.fuel_expense, p.main_equipment, p.project_participants, p.current_processing, p.current_handler, p.project_registrant, p.registration_date, p.leading_sector, p.year, p.topic_id,t.topic_name, p.storage_id,s.storage_address, p.project_kml, p.project_cp,  p.kml_lng,p.kml_lat, p.is_finish
59
+    </sql>
60
+    <sql id="selectFilesProjectAllVo">
61
+        select <include refid="Base_Column_List"/> from files_project  p
62
+            left join files_storage s on p.storage_id = s.id
63
+            left join files_topic t on p.topic_id = t.id
64
+    </sql>
65
+
66
+    <select id="selectFilesProjectList" parameterType="FilesProject" resultMap="FilesProjectResult">
67
+        <include refid="selectFilesProjectAllVo"/>
68
+        <where>  
69
+            <if test="projectNumber != null  and projectNumber != ''"> and project_number like concat('%', #{projectNumber}, '%')</if>
70
+            <if test="projectName != null  and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
71
+            <if test="currentProgress != null  and currentProgress != ''"> and current_progress = #{currentProgress}</if>
72
+            <if test="projectSource != null  and projectSource != ''"> and project_source like concat('%', #{projectSource}, '%')</if>
73
+            <if test="partyA != null  and partyA != ''"> and party_a like concat('%', #{partyA}, '%')</if>
74
+            <if test="contactPerson != null  and contactPerson != ''"> and contact_person like concat('%', #{contactPerson}, '%')</if>
75
+            <if test="telephone != null  and telephone != ''"> and telephone like concat('%', #{telephone}, '%')</if>
76
+            <if test="contractCode != null  and contractCode != ''"> and contract_code like concat('%', #{contractCode}, '%')</if>
77
+            <if test="contractNumber != null  and contractNumber != ''"> and contract_number like concat('%', #{contractNumber}, '%')</if>
78
+            <if test="projectType != null  and projectType != ''"> and project_type like concat('%', #{projectType}, '%')</if>
79
+            <if test="expectedPrice != null  and expectedPrice != ''"> and expected_price = #{expectedPrice}</if>
80
+            <if test="projectLevel != null  and projectLevel != ''"> and project_level like concat('%', #{projectLevel}, '%')</if>
81
+            <if test="technicalDirector != null  and technicalDirector != ''"> and technical_director like concat('%', #{technicalDirector}, '%')</if>
82
+            <if test="techinicalDesigner != null  and techinicalDesigner != ''"> and techinical_designer like concat('%', #{techinicalDesigner}, '%')</if>
83
+            <if test="qualityInspector != null  and qualityInspector != ''"> and quality_inspector like concat('%', #{qualityInspector}, '%')</if>
84
+            <if test="undertakingSector != null  and undertakingSector != ''"> and undertaking_sector like concat('%', #{undertakingSector}, '%')</if>
85
+            <if test="projectLeader != null  and projectLeader != ''"> and project_leader like concat('%', #{projectLeader}, '%')</if>
86
+            <if test="fund != null  and fund != ''"> and fund = #{fund}</if>
87
+            <if test="approvalDate != null  and approvalDate != ''"> and approval_date = #{approvalDate}</if>
88
+            <if test="approachTime != null  and approachTime != ''"> and approach_time = #{approachTime}</if>
89
+            <if test="withdrawalTime != null  and withdrawalTime != ''"> and withdrawal_time = #{withdrawalTime}</if>
90
+            <if test="requiredCompletionDate != null  and requiredCompletionDate != ''"> and required_completion_date = #{requiredCompletionDate}</if>
91
+            <if test="submissionDate != null  and submissionDate != ''"> and submission_date = #{submissionDate}</if>
92
+            <if test="licensePlateNumber != null  and licensePlateNumber != ''"> and license_plate_number like concat('%', #{licensePlateNumber}, '%')</if>
93
+            <if test="mileage != null  and mileage != ''"> and mileage = #{mileage}</if>
94
+            <if test="fuelExpense != null  and fuelExpense != ''"> and fuel_expense = #{fuelExpense}</if>
95
+            <if test="mainEquipment != null  and mainEquipment != ''"> and main_equipment like concat('%', #{mainEquipment}, '%')</if>
96
+            <if test="projectParticipants != null  and projectParticipants != ''"> and project_participants like concat('%', #{projectParticipants}, '%')</if>
97
+            <if test="currentProcessing != null  and currentProcessing != ''"> and current_processing like concat('%', #{currentProcessing}, '%')</if>
98
+            <if test="currentHandler != null  and currentHandler != ''"> and current_handler like concat('%', #{currentHandler}, '%')</if>
99
+            <if test="projectRegistrant != null  and projectRegistrant != ''"> and project_registrant like concat('%', #{projectRegistrant}, '%')</if>
100
+            <if test="registrationDate != null  and registrationDate != ''"> and registration_date = #{registrationDate}</if>
101
+            <if test="leadingSector != null  and leadingSector != ''"> and leading_sector like concat('%', #{leadingSector}, '%')</if>
102
+            <if test="year != null  and year != ''"> and year like concat('%', #{year}, '%')</if>
103
+            <if test="topicId != null  and topicId != ''"> and topic_id = #{topicId}</if>
104
+            <if test="storageId != null  and storageId != ''"> and storage_id like concat('%', #{storageId}, '%')</if>
105
+            <if test="projectKml != null  and projectKml != ''"> and project_kml like concat('%', #{projectKml}, '%')</if>
106
+            <if test="projectCp != null  and projectCp != ''"> and project_cp like concat('%', #{projectCp}, '%')</if>
107
+            <if test="kmlLng != null  and kmlLng != ''"> and kml_lng like concat('%', #{kmlLng}, '%')</if>
108
+            <if test="kmlLat != null  and kmlLat != ''"> and kml_lat like concat('%', #{kmlLat}, '%')</if>
109
+            <if test="isFinish != null  and isFinish != ''"> and is_finish like concat('%', #{isFinish}, '%')</if>
110
+        </where>
111
+        order by project_number desc
112
+    </select>
113
+    
114
+    <select id="selectFilesProjectById" parameterType="String" resultMap="FilesProjectResult">
115
+        <include refid="selectFilesProjectAllVo"/>
116
+        where p.ID = #{id}
117
+    </select>
118
+    <select id="selectFilesProjectByNumber" parameterType="String" resultMap="FilesProjectResult">
119
+        <include refid="selectFilesProjectAllVo"/>
120
+        where p.project_number = #{projectNumber}
121
+    </select>
122
+    <select id="selectAllCount" resultType="java.lang.Integer">
123
+        select count(1) from files_project  p
124
+        left join files_storage s on p.storage_id = s.id
125
+        left join files_topic t on p.topic_id = t.id
126
+        <where>
127
+            <if test="projectNumber != null  and projectNumber != ''"> and project_number like concat('%', #{projectNumber}, '%')</if>
128
+            <if test="projectName != null  and projectName != ''"> and project_name like concat('%', #{projectName}, '%')</if>
129
+            <if test="currentProgress != null  and currentProgress != ''"> and current_progress = #{currentProgress}</if>
130
+            <if test="projectSource != null  and projectSource != ''"> and project_source like concat('%', #{projectSource}, '%')</if>
131
+            <if test="partyA != null  and partyA != ''"> and party_a like concat('%', #{partyA}, '%')</if>
132
+            <if test="contactPerson != null  and contactPerson != ''"> and contact_person like concat('%', #{contactPerson}, '%')</if>
133
+            <if test="telephone != null  and telephone != ''"> and telephone like concat('%', #{telephone}, '%')</if>
134
+            <if test="contractCode != null  and contractCode != ''"> and contract_code like concat('%', #{contractCode}, '%')</if>
135
+            <if test="contractNumber != null  and contractNumber != ''"> and contract_number like concat('%', #{contractNumber}, '%')</if>
136
+            <if test="projectType != null  and projectType != ''"> and project_type like concat('%', #{projectType}, '%')</if>
137
+            <if test="expectedPrice != null  and expectedPrice != ''"> and expected_price = #{expectedPrice}</if>
138
+            <if test="projectLevel != null  and projectLevel != ''"> and project_level like concat('%', #{projectLevel}, '%')</if>
139
+            <if test="technicalDirector != null  and technicalDirector != ''"> and technical_director like concat('%', #{technicalDirector}, '%')</if>
140
+            <if test="techinicalDesigner != null  and techinicalDesigner != ''"> and techinical_designer like concat('%', #{techinicalDesigner}, '%')</if>
141
+            <if test="qualityInspector != null  and qualityInspector != ''"> and quality_inspector like concat('%', #{qualityInspector}, '%')</if>
142
+            <if test="undertakingSector != null  and undertakingSector != ''"> and undertaking_sector like concat('%', #{undertakingSector}, '%')</if>
143
+            <if test="projectLeader != null  and projectLeader != ''"> and project_leader like concat('%', #{projectLeader}, '%')</if>
144
+            <if test="fund != null  and fund != ''"> and fund = #{fund}</if>
145
+            <if test="approvalDate != null  and approvalDate != ''"> and approval_date = #{approvalDate}</if>
146
+            <if test="approachTime != null  and approachTime != ''"> and approach_time = #{approachTime}</if>
147
+            <if test="withdrawalTime != null  and withdrawalTime != ''"> and withdrawal_time = #{withdrawalTime}</if>
148
+            <if test="requiredCompletionDate != null  and requiredCompletionDate != ''"> and required_completion_date = #{requiredCompletionDate}</if>
149
+            <if test="submissionDate != null  and submissionDate != ''"> and submission_date = #{submissionDate}</if>
150
+            <if test="licensePlateNumber != null  and licensePlateNumber != ''"> and license_plate_number like concat('%', #{licensePlateNumber}, '%')</if>
151
+            <if test="mileage != null  and mileage != ''"> and mileage = #{mileage}</if>
152
+            <if test="fuelExpense != null  and fuelExpense != ''"> and fuel_expense = #{fuelExpense}</if>
153
+            <if test="mainEquipment != null  and mainEquipment != ''"> and main_equipment like concat('%', #{mainEquipment}, '%')</if>
154
+            <if test="projectParticipants != null  and projectParticipants != ''"> and project_participants like concat('%', #{projectParticipants}, '%')</if>
155
+            <if test="currentProcessing != null  and currentProcessing != ''"> and current_processing like concat('%', #{currentProcessing}, '%')</if>
156
+            <if test="currentHandler != null  and currentHandler != ''"> and current_handler like concat('%', #{currentHandler}, '%')</if>
157
+            <if test="projectRegistrant != null  and projectRegistrant != ''"> and project_registrant like concat('%', #{projectRegistrant}, '%')</if>
158
+            <if test="registrationDate != null  and registrationDate != ''"> and registration_date = #{registrationDate}</if>
159
+            <if test="leadingSector != null  and leadingSector != ''"> and leading_sector like concat('%', #{leadingSector}, '%')</if>
160
+            <if test="year != null  and year != ''"> and year like concat('%', #{year}, '%')</if>
161
+            <if test="topicId != null  and topicId != ''"> and topic_id = #{topicId}</if>
162
+            <if test="storageId != null  and storageId != ''"> and storage_id like concat('%', #{storageId}, '%')</if>
163
+            <if test="projectKml != null  and projectKml != ''"> and project_kml like concat('%', #{projectKml}, '%')</if>
164
+            <if test="projectCp != null  and projectCp != ''"> and project_cp like concat('%', #{projectCp}, '%')</if>
165
+            <if test="kmlLng != null  and kmlLng != ''"> and kml_lng like concat('%', #{kmlLng}, '%')</if>
166
+            <if test="kmlLat != null  and kmlLat != ''"> and kml_lat like concat('%', #{kmlLat}, '%')</if>
167
+            <if test="isFinish != null  and isFinish != ''"> and is_finish like concat('%', #{isFinish}, '%')</if>
168
+        </where>
169
+    </select>
170
+    <select id="selectFilesProjectByNumbers" resultMap="FilesProjectResult" parameterType="String">
171
+        <include refid="selectFilesProjectVo"/> where project_number in
172
+        <foreach item="projectNumber" collection="array" open="(" separator="," close=")">
173
+            #{projectNumber}
174
+        </foreach>
175
+    </select>
176
+    <insert id="insertFilesProject" parameterType="FilesProject">
177
+        insert into files_project
178
+        <trim prefix="(" suffix=")" suffixOverrides=",">
179
+            <if test="id != null">ID,</if>
180
+            <if test="projectNumber != null">project_number,</if>
181
+            <if test="projectName != null">project_name,</if>
182
+            <if test="currentProgress != null">current_progress,</if>
183
+            <if test="projectSource != null">project_source,</if>
184
+            <if test="partyA != null">party_a,</if>
185
+            <if test="contactPerson != null">contact_person,</if>
186
+            <if test="telephone != null">telephone,</if>
187
+            <if test="contractCode != null">contract_code,</if>
188
+            <if test="contractNumber != null">contract_number,</if>
189
+            <if test="projectType != null">project_type,</if>
190
+            <if test="expectedPrice != null">expected_price,</if>
191
+            <if test="projectLevel != null">project_level,</if>
192
+            <if test="technicalDirector != null">technical_director,</if>
193
+            <if test="techinicalDesigner != null">techinical_designer,</if>
194
+            <if test="qualityInspector != null">quality_inspector,</if>
195
+            <if test="undertakingSector != null">undertaking_sector,</if>
196
+            <if test="projectLeader != null">project_leader,</if>
197
+            <if test="fund != null">fund,</if>
198
+            <if test="approvalDate != null">approval_date,</if>
199
+            <if test="approachTime != null">approach_time,</if>
200
+            <if test="withdrawalTime != null">withdrawal_time,</if>
201
+            <if test="requiredCompletionDate != null">required_completion_date,</if>
202
+            <if test="submissionDate != null">submission_date,</if>
203
+            <if test="licensePlateNumber != null">license_plate_number,</if>
204
+            <if test="mileage != null">mileage,</if>
205
+            <if test="fuelExpense != null">fuel_expense,</if>
206
+            <if test="mainEquipment != null">main_equipment,</if>
207
+            <if test="projectParticipants != null">project_participants,</if>
208
+            <if test="currentProcessing != null">current_processing,</if>
209
+            <if test="currentHandler != null">current_handler,</if>
210
+            <if test="projectRegistrant != null">project_registrant,</if>
211
+            <if test="registrationDate != null">registration_date,</if>
212
+            <if test="leadingSector != null">leading_sector,</if>
213
+            <if test="year != null">year,</if>
214
+            <if test="topicId != null">topic_id,</if>
215
+            <if test="storageId != null">storage_id,</if>
216
+            <if test="projectKml != null">project_kml,</if>
217
+            <if test="projectCp != null">project_cp,</if>
218
+            <if test="kmlLng != null">kml_lng,</if>
219
+            <if test="kmlLat != null">kml_lat,</if>
220
+            <if test="isFinish != null">is_finish,</if>
221
+         </trim>
222
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
223
+            <if test="id != null">#{id},</if>
224
+            <if test="projectNumber != null">#{projectNumber},</if>
225
+            <if test="projectName != null">#{projectName},</if>
226
+            <if test="currentProgress != null">#{currentProgress},</if>
227
+            <if test="projectSource != null">#{projectSource},</if>
228
+            <if test="partyA != null">#{partyA},</if>
229
+            <if test="contactPerson != null">#{contactPerson},</if>
230
+            <if test="telephone != null">#{telephone},</if>
231
+            <if test="contractCode != null">#{contractCode},</if>
232
+            <if test="contractNumber != null">#{contractNumber},</if>
233
+            <if test="projectType != null">#{projectType},</if>
234
+            <if test="expectedPrice != null">#{expectedPrice},</if>
235
+            <if test="projectLevel != null">#{projectLevel},</if>
236
+            <if test="technicalDirector != null">#{technicalDirector},</if>
237
+            <if test="techinicalDesigner != null">#{techinicalDesigner},</if>
238
+            <if test="qualityInspector != null">#{qualityInspector},</if>
239
+            <if test="undertakingSector != null">#{undertakingSector},</if>
240
+            <if test="projectLeader != null">#{projectLeader},</if>
241
+            <if test="fund != null">#{fund},</if>
242
+            <if test="approvalDate != null">#{approvalDate},</if>
243
+            <if test="approachTime != null">#{approachTime},</if>
244
+            <if test="withdrawalTime != null">#{withdrawalTime},</if>
245
+            <if test="requiredCompletionDate != null">#{requiredCompletionDate},</if>
246
+            <if test="submissionDate != null">#{submissionDate},</if>
247
+            <if test="licensePlateNumber != null">#{licensePlateNumber},</if>
248
+            <if test="mileage != null">#{mileage},</if>
249
+            <if test="fuelExpense != null">#{fuelExpense},</if>
250
+            <if test="mainEquipment != null">#{mainEquipment},</if>
251
+            <if test="projectParticipants != null">#{projectParticipants},</if>
252
+            <if test="currentProcessing != null">#{currentProcessing},</if>
253
+            <if test="currentHandler != null">#{currentHandler},</if>
254
+            <if test="projectRegistrant != null">#{projectRegistrant},</if>
255
+            <if test="registrationDate != null">#{registrationDate},</if>
256
+            <if test="leadingSector != null">#{leadingSector},</if>
257
+            <if test="year != null">#{year},</if>
258
+            <if test="topicId != null">#{topicId},</if>
259
+            <if test="storageId != null">#{storageId},</if>
260
+            <if test="projectKml != null">#{projectKml},</if>
261
+            <if test="projectCp != null">#{projectCp},</if>
262
+            <if test="kmlLng != null">#{kmlLng},</if>
263
+            <if test="kmlLat != null">#{kmlLat},</if>
264
+            <if test="isFinish != null">#{isFinish},</if>
265
+         </trim>
266
+    </insert>
267
+
268
+    <update id="updateFilesProject" parameterType="FilesProject">
269
+        update files_project
270
+        <trim prefix="SET" suffixOverrides=",">
271
+            <if test="projectNumber != null">project_number = #{projectNumber},</if>
272
+            <if test="projectName != null">project_name = #{projectName},</if>
273
+            <if test="currentProgress != null">current_progress = #{currentProgress},</if>
274
+            <if test="projectSource != null">project_source = #{projectSource},</if>
275
+            <if test="partyA != null">party_a = #{partyA},</if>
276
+            <if test="contactPerson != null">contact_person = #{contactPerson},</if>
277
+            <if test="telephone != null">telephone = #{telephone},</if>
278
+            <if test="contractCode != null">contract_code = #{contractCode},</if>
279
+            <if test="contractNumber != null">contract_number = #{contractNumber},</if>
280
+            <if test="projectType != null">project_type = #{projectType},</if>
281
+            <if test="expectedPrice != null">expected_price = #{expectedPrice},</if>
282
+            <if test="projectLevel != null">project_level = #{projectLevel},</if>
283
+            <if test="technicalDirector != null">technical_director = #{technicalDirector},</if>
284
+            <if test="techinicalDesigner != null">techinical_designer = #{techinicalDesigner},</if>
285
+            <if test="qualityInspector != null">quality_inspector = #{qualityInspector},</if>
286
+            <if test="undertakingSector != null">undertaking_sector = #{undertakingSector},</if>
287
+            <if test="projectLeader != null">project_leader = #{projectLeader},</if>
288
+            <if test="fund != null">fund = #{fund},</if>
289
+            <if test="approvalDate != null">approval_date = #{approvalDate},</if>
290
+            <if test="approachTime != null">approach_time = #{approachTime},</if>
291
+            <if test="withdrawalTime != null">withdrawal_time = #{withdrawalTime},</if>
292
+            <if test="requiredCompletionDate != null">required_completion_date = #{requiredCompletionDate},</if>
293
+            <if test="submissionDate != null">submission_date = #{submissionDate},</if>
294
+            <if test="licensePlateNumber != null">license_plate_number = #{licensePlateNumber},</if>
295
+            <if test="mileage != null">mileage = #{mileage},</if>
296
+            <if test="fuelExpense != null">fuel_expense = #{fuelExpense},</if>
297
+            <if test="mainEquipment != null">main_equipment = #{mainEquipment},</if>
298
+            <if test="projectParticipants != null">project_participants = #{projectParticipants},</if>
299
+            <if test="currentProcessing != null">current_processing = #{currentProcessing},</if>
300
+            <if test="currentHandler != null">current_handler = #{currentHandler},</if>
301
+            <if test="projectRegistrant != null">project_registrant = #{projectRegistrant},</if>
302
+            <if test="registrationDate != null">registration_date = #{registrationDate},</if>
303
+            <if test="leadingSector != null">leading_sector = #{leadingSector},</if>
304
+            <if test="year != null">year = #{year},</if>
305
+            <if test="topicId != null">topic_id = #{topicId},</if>
306
+            <if test="storageId != null">storage_id = #{storageId},</if>
307
+            <if test="projectKml != null">project_kml = #{projectKml},</if>
308
+            <if test="projectCp != null">project_cp = #{projectCp},</if>
309
+            <if test="kmlLng != null">kml_lng = #{kmlLng},</if>
310
+            <if test="kmlLat != null">kml_lat = #{kmlLat},</if>
311
+            <if test="isFinish != null">is_finish = #{isFinish},</if>
312
+        </trim>
313
+        where ID = #{id}
314
+    </update>
315
+
316
+    <delete id="deleteFilesProjectById" parameterType="String">
317
+        delete from files_project where ID = #{id}
318
+    </delete>
319
+
320
+    <delete id="deleteFilesProjectByIds" parameterType="String">
321
+        delete from files_project where ID in 
322
+        <foreach item="id" collection="array" open="(" separator="," close=")">
323
+            #{id}
324
+        </foreach>
325
+    </delete>
326
+</mapper>

+ 75
- 0
oa-back/ruoyi-system/src/main/resources/mapper/file/FilesStorageMapper.xml View File

@@ -0,0 +1,75 @@
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.file.mapper.FilesStorageMapper">
6
+    
7
+    <resultMap type="FilesStorage" id="FilesStorageResult">
8
+        <result property="id"    column="id"    />
9
+        <result property="storageAddress"    column="storage_address"    />
10
+        <result property="administrator"    column="administrator"    />
11
+        <result property="remark"    column="remark"    />
12
+    </resultMap>
13
+
14
+    <sql id="selectFilesStorageVo">
15
+        select id, storage_address, administrator, remark from files_storage
16
+    </sql>
17
+
18
+    <select id="selectFilesStorageList" parameterType="FilesStorage" resultMap="FilesStorageResult">
19
+        <include refid="selectFilesStorageVo"/>
20
+        <where>  
21
+            <if test="storageAddress != null  and storageAddress != ''"> and storage_address like concat('%', #{storageAddress}, '%')</if>
22
+            <if test="administrator != null  and administrator != ''"> and administrator like concat('%', #{administrator}, '%')</if>
23
+        </where>
24
+    </select>
25
+
26
+    <select id="selectFilesStorageListE" parameterType="FilesStorage" resultMap="FilesStorageResult">
27
+        <include refid="selectFilesStorageVo"/>
28
+        <where>
29
+            <if test="storageAddress != null  and storageAddress != ''"> and storage_address = #{storageAddress}</if>
30
+            <if test="administrator != null  and administrator != ''"> and administrator = #{administrator}</if>
31
+        </where>
32
+    </select>
33
+
34
+    <select id="selectFilesStorageById" parameterType="String" resultMap="FilesStorageResult">
35
+        <include refid="selectFilesStorageVo"/>
36
+        where id = #{id}
37
+    </select>
38
+        
39
+    <insert id="insertFilesStorage" parameterType="FilesStorage">
40
+        insert into files_storage
41
+        <trim prefix="(" suffix=")" suffixOverrides=",">
42
+            <if test="id != null">id,</if>
43
+            <if test="storageAddress != null">storage_address,</if>
44
+            <if test="administrator != null">administrator,</if>
45
+            <if test="remark != null">remark,</if>
46
+         </trim>
47
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
48
+            <if test="id != null">#{id},</if>
49
+            <if test="storageAddress != null">#{storageAddress},</if>
50
+            <if test="administrator != null">#{administrator},</if>
51
+            <if test="remark != null">#{remark},</if>
52
+         </trim>
53
+    </insert>
54
+
55
+    <update id="updateFilesStorage" parameterType="FilesStorage">
56
+        update files_storage
57
+        <trim prefix="SET" suffixOverrides=",">
58
+            <if test="storageAddress != null">storage_address = #{storageAddress},</if>
59
+            <if test="administrator != null">administrator = #{administrator},</if>
60
+            <if test="remark != null">remark = #{remark},</if>
61
+        </trim>
62
+        where id = #{id}
63
+    </update>
64
+
65
+    <delete id="deleteFilesStorageById" parameterType="String">
66
+        delete from files_storage where id = #{id}
67
+    </delete>
68
+
69
+    <delete id="deleteFilesStorageByIds" parameterType="String">
70
+        delete from files_storage where id in 
71
+        <foreach item="id" collection="array" open="(" separator="," close=")">
72
+            #{id}
73
+        </foreach>
74
+    </delete>
75
+</mapper>

+ 58
- 0
oa-back/ruoyi-system/src/main/resources/mapper/file/FilesTopicMapper.xml View File

@@ -0,0 +1,58 @@
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.file.mapper.FilesTopicMapper">
6
+    
7
+    <resultMap type="FilesTopic" id="FilesTopicResult">
8
+        <result property="id"    column="id"    />
9
+        <result property="topicName"    column="topic_name"    />
10
+    </resultMap>
11
+
12
+    <sql id="selectFilesTopicVo">
13
+        select id, topic_name from files_topic
14
+    </sql>
15
+
16
+    <select id="selectFilesTopicList" parameterType="FilesTopic" resultMap="FilesTopicResult">
17
+        <include refid="selectFilesTopicVo"/>
18
+        <where>  
19
+            <if test="topicName != null  and topicName != ''"> and topic_name like concat('%', #{topicName}, '%')</if>
20
+        </where>
21
+    </select>
22
+    
23
+    <select id="selectFilesTopicById" parameterType="String" resultMap="FilesTopicResult">
24
+        <include refid="selectFilesTopicVo"/>
25
+        where id = #{id}
26
+    </select>
27
+        
28
+    <insert id="insertFilesTopic" parameterType="FilesTopic">
29
+        insert into files_topic
30
+        <trim prefix="(" suffix=")" suffixOverrides=",">
31
+            <if test="id != null">id,</if>
32
+            <if test="topicName != null">topic_name,</if>
33
+         </trim>
34
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
35
+            <if test="id != null">#{id},</if>
36
+            <if test="topicName != null">#{topicName},</if>
37
+         </trim>
38
+    </insert>
39
+
40
+    <update id="updateFilesTopic" parameterType="FilesTopic">
41
+        update files_topic
42
+        <trim prefix="SET" suffixOverrides=",">
43
+            <if test="topicName != null">topic_name = #{topicName},</if>
44
+        </trim>
45
+        where id = #{id}
46
+    </update>
47
+
48
+    <delete id="deleteFilesTopicById" parameterType="String">
49
+        delete from files_topic where id = #{id}
50
+    </delete>
51
+
52
+    <delete id="deleteFilesTopicByIds" parameterType="String">
53
+        delete from files_topic where id in 
54
+        <foreach item="id" collection="array" open="(" separator="," close=")">
55
+            #{id}
56
+        </foreach>
57
+    </delete>
58
+</mapper>

+ 134
- 0
oa-back/sql/files.sql View File

@@ -0,0 +1,134 @@
1
+/*
2
+ Navicat Premium Data Transfer
3
+
4
+ Source Server         : mysql
5
+ Source Server Type    : MySQL
6
+ Source Server Version : 80028
7
+ Source Host           : localhost:3306
8
+ Source Schema         : cmc_oa
9
+
10
+ Target Server Type    : MySQL
11
+ Target Server Version : 80028
12
+ File Encoding         : 65001
13
+
14
+ Date: 08/05/2024 17:42:34
15
+*/
16
+
17
+SET NAMES utf8mb4;
18
+SET FOREIGN_KEY_CHECKS = 0;
19
+
20
+-- ----------------------------
21
+-- Table structure for files_achievement
22
+-- ----------------------------
23
+DROP TABLE IF EXISTS `files_achievement`;
24
+CREATE TABLE `files_achievement`  (
25
+  `id` char(19) NOT NULL COMMENT '成果id',
26
+  `project_id` char(19) NULL DEFAULT NULL COMMENT '项目id',
27
+  `achi_name` varchar(255) NULL DEFAULT NULL COMMENT '成果名称',
28
+  `data_year` char(10) NULL DEFAULT NULL COMMENT '数据年份',
29
+  `scale_order` char(10) NULL DEFAULT NULL COMMENT '比例尺或等级',
30
+  `result_type` char(20) NULL DEFAULT NULL COMMENT '成果类型',
31
+  `file_type` char(20) NULL DEFAULT NULL COMMENT '文件类型',
32
+  `submit_date` datetime NULL DEFAULT NULL COMMENT '成果提交时间',
33
+  `kml_url` varchar(255) NULL DEFAULT NULL COMMENT 'KML地址',
34
+  `kml_lng` varchar(255) NULL DEFAULT NULL COMMENT 'kml文件的中心位置经度',
35
+  `kml_lat` varchar(255) NULL DEFAULT NULL COMMENT 'kml文件的中心位置纬度',
36
+  `work_load` char(20) NULL DEFAULT NULL COMMENT '工作量',
37
+  `unit` char(10) NULL DEFAULT NULL COMMENT '单位',
38
+  `data_source` varchar(100) NULL DEFAULT NULL COMMENT '数据来源',
39
+  `data_type` char(10) NULL DEFAULT NULL COMMENT '数据类型(0原始数据,1成果数据,2过程数据)',
40
+  `storage_id` char(19) NULL DEFAULT NULL COMMENT '存放地址id',
41
+  `remark` varchar(255) NULL DEFAULT NULL COMMENT '备注',
42
+  `production_time` char(20) NULL DEFAULT NULL COMMENT '生产日期',
43
+  `resolution` char(10) NULL DEFAULT NULL COMMENT '分辨率(米)',
44
+  `geodetic_datum` char(40) NULL DEFAULT NULL COMMENT '大地基准',
45
+  PRIMARY KEY (`id`) USING BTREE
46
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
47
+
48
+-- ----------------------------
49
+-- Records of files_achievement
50
+-- ----------------------------
51
+-- ----------------------------
52
+-- Table structure for files_project
53
+-- ----------------------------
54
+DROP TABLE IF EXISTS `files_project`;
55
+CREATE TABLE `files_project`  (
56
+  `ID` varchar(32) NOT NULL COMMENT '项目唯一标识',
57
+  `project_number` varchar(100) NULL DEFAULT NULL COMMENT '项目编号',
58
+  `project_name` varchar(255) NULL DEFAULT NULL COMMENT '项目名称',
59
+  `current_progress` varchar(255) NULL DEFAULT NULL COMMENT '当前进度',
60
+  `project_source` varchar(255) NULL DEFAULT NULL COMMENT '项目来源',
61
+  `party_a` varchar(255) NULL DEFAULT NULL COMMENT '甲方单位',
62
+  `contact_person` varchar(255) NULL DEFAULT NULL COMMENT '联系人',
63
+  `telephone` varchar(255) NULL DEFAULT NULL COMMENT '联系电话',
64
+  `contract_code` varchar(255) NULL DEFAULT NULL COMMENT '合同编码',
65
+  `contract_number` varchar(255) NULL DEFAULT NULL COMMENT '合同编号',
66
+  `project_type` varchar(255) NULL DEFAULT NULL COMMENT '项目类型',
67
+  `expected_price` varchar(255) NULL DEFAULT NULL COMMENT '预计价款',
68
+  `project_level` varchar(255) NULL DEFAULT NULL COMMENT '项目级别',
69
+  `technical_director` varchar(255) NULL DEFAULT NULL COMMENT '技术负责人',
70
+  `techinical_designer` varchar(50) NULL DEFAULT NULL COMMENT '技术设计人',
71
+  `quality_inspector` varchar(50) NULL DEFAULT NULL COMMENT '质量检察员',
72
+  `undertaking_sector` varchar(255) NULL DEFAULT NULL COMMENT '承担部门',
73
+  `project_leader` varchar(50) NULL DEFAULT NULL COMMENT '项目负责人',
74
+  `fund` varchar(255) NULL DEFAULT NULL COMMENT '经费合计',
75
+  `approval_date` varchar(255) NULL DEFAULT NULL COMMENT '领导批准时间',
76
+  `approach_time` varchar(255) NULL DEFAULT NULL COMMENT '进场时间',
77
+  `withdrawal_time` varchar(255) NULL DEFAULT NULL COMMENT '撤场时间',
78
+  `required_completion_date` varchar(255) NULL DEFAULT NULL COMMENT '项目要求完成日期',
79
+  `submission_date` varchar(255) NULL DEFAULT NULL COMMENT '资料提交日期',
80
+  `license_plate_number` varchar(255) NULL DEFAULT NULL COMMENT '使用车辆(车牌号)',
81
+  `mileage` varchar(255) NULL DEFAULT NULL COMMENT '项目行车公里数',
82
+  `fuel_expense` varchar(255) NULL DEFAULT NULL COMMENT '项目燃油使用费',
83
+  `main_equipment` varchar(255) NULL DEFAULT NULL COMMENT '主要设备',
84
+  `project_participants` varchar(255) NULL DEFAULT NULL COMMENT '项目参与人员',
85
+  `current_processing` varchar(255) NULL DEFAULT NULL COMMENT '当前处理环节',
86
+  `current_handler` varchar(50) NULL DEFAULT NULL COMMENT '当前处理人',
87
+  `project_registrant` varchar(50) NULL DEFAULT NULL COMMENT '项目登记人',
88
+  `registration_date` varchar(255) NULL DEFAULT NULL COMMENT '项目登记日期',
89
+  `leading_sector` varchar(255) NULL DEFAULT NULL COMMENT '牵头项目',
90
+  `year` varchar(255) NULL DEFAULT NULL COMMENT '项目年份',
91
+  `topic_id` char(19) NULL DEFAULT NULL COMMENT '所属专题id',
92
+  `storage_id` char(19) NULL DEFAULT NULL COMMENT '存放地址的id',
93
+  `project_kml` varchar(255) NULL DEFAULT NULL COMMENT '范围kml地址',
94
+  `project_cp` varchar(255) NULL DEFAULT NULL COMMENT '控制点kml地址',
95
+  `kml_lng` varchar(255) NULL DEFAULT NULL COMMENT 'kml文件的中心位置经度',
96
+  `kml_lat` varchar(255) NULL DEFAULT NULL COMMENT 'kml文件的中心位置纬度',
97
+  `is_finish` char(1) NULL DEFAULT NULL COMMENT '项目是否结束(0进行,1结束)',
98
+  PRIMARY KEY (`ID`) USING BTREE
99
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
100
+
101
+-- ----------------------------
102
+-- Records of files_project
103
+-- ----------------------------
104
+-- ----------------------------
105
+-- Table structure for files_storage
106
+-- ----------------------------
107
+DROP TABLE IF EXISTS `files_storage`;
108
+CREATE TABLE `files_storage`  (
109
+  `id` char(19) NOT NULL COMMENT '存放地址id',
110
+  `storage_address` varchar(255) NULL DEFAULT NULL COMMENT '存放地址',
111
+  `administrator` char(10) NULL DEFAULT NULL COMMENT '管理人',
112
+  `remark` varchar(255) NULL DEFAULT NULL COMMENT '备注',
113
+  PRIMARY KEY (`id`) USING BTREE
114
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
115
+
116
+-- ----------------------------
117
+-- Records of files_storage
118
+-- ----------------------------
119
+
120
+-- ----------------------------
121
+-- Table structure for files_topic
122
+-- ----------------------------
123
+DROP TABLE IF EXISTS `files_topic`;
124
+CREATE TABLE `files_topic`  (
125
+  `id` char(19) NOT NULL COMMENT '专题id',
126
+  `topic_name` varchar(100) NULL DEFAULT NULL COMMENT '专题名称',
127
+  PRIMARY KEY (`id`) USING BTREE
128
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
129
+
130
+-- ----------------------------
131
+-- Records of files_topic
132
+-- ----------------------------
133
+
134
+SET FOREIGN_KEY_CHECKS = 1;

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


+ 13
- 33
oa-ui/src/views/flowable/form/archiveForm.vue View File

@@ -2,16 +2,11 @@
2 2
   <div class="app-container">
3 3
     <el-row :gutter="20">
4 4
       <el-col :span="18" :xs="24">
5
-        <h2 class="text-center">成果归档表</h2>
5
+        <h2 class="text-center">成果归档记录表</h2>
6 6
         <el-divider></el-divider>
7 7
         <el-form ref="form" :model="form" :rules="rules" label-width="120px">
8
-          <el-form-item label="项目id" prop="projectId">
9
-            <el-select v-model="form.projectId" filterable placeholder="请选择" @change="handleSelectProject"
10
-              :disabled="taskName != '成果上传'" clearable>
11
-              <el-option v-for="item in projectList" :key="item.value" :label="item.projectName" :value="item.projectId">
12
-              </el-option>
13
-            </el-select>
14
-            <el-descriptions border v-if="isSelect" style="margin-top: 10px;" :column="2" direction="vertical">
8
+          <el-form-item label="项目信息" prop="projectId">
9
+            <el-descriptions border style="margin-top: 10px;" :column="2" direction="vertical">
15 10
               <el-descriptions-item label="项目名称" label-class-name="my-label">{{ chooseProject.projectName
16 11
               }}</el-descriptions-item>
17 12
               <el-descriptions-item label="项目编号" label-class-name="my-label">{{ chooseProject.projectNumber
@@ -220,12 +215,13 @@ export default {
220 215
         archiveComment: null
221 216
       },
222 217
       // 表单参数
223
-      form: {},
218
+      form: {
219
+        submitTime: undefined,
220
+      },
224 221
       // 表单校验
225 222
       rules: {
226 223
       },
227 224
       chooseProject: {},
228
-      isSelect: false,
229 225
       formTotal: 0,
230 226
       flowData: {},
231 227
       projectList: [],
@@ -252,7 +248,7 @@ export default {
252 248
       this.archiveUser = this.$store.getters.name;
253 249
       this.archiveTime = parseTime(new Date(), '{y}-{m}-{d}')
254 250
     }
255
-    this.getProjectList();
251
+    this.getProjectInfo();
256 252
     this.getList();
257 253
     flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then(res => {
258 254
       this.flowData = res.data;
@@ -273,7 +269,6 @@ export default {
273 269
           if (res.data.projectId) {
274 270
             getProject(res.data.projectId).then(response => {
275 271
               this.chooseProject = response.data;
276
-              this.isSelect = true;
277 272
               listProjectContract({ projectId: response.data.projectId }).then(res => {
278 273
                 if (res.rows.length > 0) {
279 274
                   for (let row of res.rows) {
@@ -311,22 +306,10 @@ export default {
311 306
       this.open = false;
312 307
       this.reset();
313 308
     },
314
-    // 查询项目列表
315
-    getProjectList() {
316
-      this.loading = true
317
-      listProject({
318
-        pageNum: 1,
319
-        pageSize: 99999999
320
-      }).then(response => {
321
-        this.projectList = response.rows;
322
-      })
323
-    },
324
-    // 选择项目
325
-    handleSelectProject(val) {
326
-      if (val != "" && val != undefined && val != null) {
327
-        getProject(val).then(response => {
309
+    // 查询项目信息
310
+    getProjectInfo() {
311
+      getProject(this.taskForm.formId).then(response => {
328 312
           this.chooseProject = response.data;
329
-          this.isSelect = true;
330 313
           listProjectContract({ projectId: response.data.projectId }).then(res => {
331 314
             if (res.rows.length > 0) {
332 315
               for (let row of res.rows) {
@@ -345,9 +328,6 @@ export default {
345 328
               this.contractCode = '';
346 329
           })
347 330
         })
348
-      } else {
349
-        this.isSelect = false
350
-      }
351 331
     },
352 332
     isEmptyObject(obj) {
353 333
       for (var key in obj) {
@@ -432,7 +412,7 @@ export default {
432 412
                   this.$modal.msgSuccess(response.msg);
433 413
                   this.$emit('goBack')
434 414
                 });
435
-              }              
415
+              }
436 416
               if (this.taskName == '质检审核') {
437 417
                 getUsersDeptLeaderByDept({ deptId: 110 }).then(res => {
438 418
                   let userId = res.data.userId;
@@ -442,14 +422,14 @@ export default {
442 422
                     this.$emit('goBack')
443 423
                   });
444 424
                 });
445
-              }              
425
+              }
446 426
               if (this.taskName == '技术部审核') {
447 427
                 this.$set(this.taskForm.variables, "approval", '57');
448 428
                 complete(this.taskForm).then(response => {
449 429
                   this.$modal.msgSuccess(response.msg);
450 430
                   this.$emit('goBack')
451 431
                 });
452
-              }              
432
+              }
453 433
               if (this.taskName == '成果归档') {
454 434
                 complete(this.taskForm).then(response => {
455 435
                   this.$modal.msgSuccess(response.msg);

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

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-15 09:35:41
4
- * @LastEditors: 
5
- * @LastEditTime: 2024-05-07 17:06:16
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-05-08 16:01:53
6 6
 -->
7 7
 <!--
8 8
  * @Author: ysh
@@ -75,8 +75,7 @@
75 75
                   value-format="yyyy-MM-dd"></el-date-picker>
76 76
               </td>
77 77
               <td>
78
-                <el-input-number v-model="progress.percentage" :controls="false"
79
-                  style="width: 120px"></el-input-number>%
78
+                <el-input-number v-model="progress.percentage" :controls="false" style="width: 120px"></el-input-number>%
80 79
               </td>
81 80
               <td>
82 81
                 <el-input v-model="progress.situation" type="textarea"></el-input>
@@ -216,7 +215,7 @@ export default {
216 215
           this.form.exitTime = res.data.exitTime;
217 216
         }
218 217
       });
219
-      listProjectProgress({projectId: this.taskForm.formId}).then(res => {
218
+      listProjectProgress({ projectId: this.taskForm.formId }).then(res => {
220 219
         this.oldProgressList = res.rows
221 220
         if (res.rows.length != 0) {
222 221
           this.progressList = res.rows;
@@ -231,7 +230,7 @@ export default {
231 230
         } else {
232 231
           this.noBudget = false;
233 232
           this.budgetId = res.rows[0].budgetId;
234
-          listBudgetCar({budgetId: this.budgetId}).then(res => {
233
+          listBudgetCar({ budgetId: this.budgetId }).then(res => {
235 234
             let carArr = [];
236 235
             let carDriverList = [];
237 236
             for (let i of res.rows) {
@@ -243,7 +242,7 @@ export default {
243 242
             }
244 243
             this.form.licensePlate = carArr.join("、");
245 244
           });
246
-          listBudgetStaff({budgetId: this.budgetId}).then(res => {
245
+          listBudgetStaff({ budgetId: this.budgetId }).then(res => {
247 246
             let userArr = [];
248 247
             for (let u of res.rows) {
249 248
               userArr.push(u.user.nickName);
@@ -301,7 +300,23 @@ export default {
301 300
         this.userList = res.rows
302 301
       })
303 302
     },
304
-    submitNextFlow() { },
303
+    submitNextFlow() {
304
+      const params = { taskId: this.taskForm.taskId };
305
+      // 获取下一个流程节点
306
+      getNextFlowNode(params).then(res => {
307
+        getProject(this.taskForm.formId).then(res => {
308
+          if (res.data) {
309
+            this.$set(this.taskForm.variables, "formId", this.taskForm.formId);
310
+            this.$set(this.taskForm.variables, "archiveInitiator", res.data.projectLeader);
311
+            this.$set(this.taskForm.variables, "settleInitiator", res.data.projectLeader);
312
+            complete(this.taskForm).then(response => {
313
+              this.$modal.msgSuccess(response.msg);
314
+              this.$emit('goBack');
315
+            });
316
+          }
317
+        })
318
+      })
319
+    },
305 320
   },
306 321
 };
307 322
 </script>

+ 3
- 3
oa-ui/src/views/flowable/task/myProcess/index.vue View File

@@ -1,8 +1,8 @@
1 1
 <!--
2 2
  * @Author: ysh
3 3
  * @Date: 2024-01-03 09:23:11
4
- * @LastEditors: Please set LastEditors
5
- * @LastEditTime: 2024-04-30 10:05:21
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2024-05-08 15:34:14
6 6
 -->
7 7
 <template>
8 8
   <div class="app-container">
@@ -465,7 +465,7 @@ export default {
465 465
     },
466 466
     // 子流程不可以删除
467 467
     beDeleted(row) {
468
-      if (row.procDefName == '项目预算' || row.procDefName == '技术交底' || row.procDefName == '安全交底' || row.finishTime != null) {
468
+      if (row.procDefName == '项目预算' || row.procDefName == '技术交底' || row.procDefName == '安全交底' || row.procDefName == '成果归档' || row.procDefName == '项目结算' || row.finishTime != null) {
469 469
         return true
470 470
       } else if (row.procDefName == '项目流转' && row.taskName != '项目登记') {
471 471
         return true

+ 2
- 2
oa-ui/src/views/flowable/task/myProcess/progressTree.vue View File

@@ -2,7 +2,7 @@
2 2
  * @Author: ysh
3 3
  * @Date: 2024-04-18 15:14:45
4 4
  * @LastEditors: wrh
5
- * @LastEditTime: 2024-04-28 14:58:44
5
+ * @LastEditTime: 2024-05-08 15:39:42
6 6
 -->
7 7
 <template>
8 8
   <div>
@@ -77,7 +77,7 @@ export default {
77 77
           this.treeData[0].children.push(i);
78 78
         }
79 79
         else if (i.category == "project") {
80
-          if (i.name != "安全交底" && i.name != "技术交底" && i.name != "项目预算") 
80
+          if (i.name == "项目流转") 
81 81
             this.treeData[1].children.push(i);
82 82
         } else if (i.category == "finance") {
83 83
           this.treeData[2].children.push(i);

Loading…
Cancel
Save