Commit 9408fae754577ae43ebd6464764ee6695b97d7e1
1 parent
6397afed
m
Showing
17 changed files
with
219 additions
and
152 deletions
trash-activiti/src/main/java/com/trash/activiti/service/impl/ActTaskServiceImpl.java
trash-activiti/src/main/java/com/trash/activiti/service/impl/FormHistoryDataServiceImpl.java
| 1 | 1 | package com.trash.activiti.service.impl; |
| 2 | 2 | |
| 3 | 3 | import org.activiti.engine.RuntimeService; |
| 4 | +import org.activiti.engine.TaskService; | |
| 4 | 5 | import org.activiti.engine.runtime.ProcessInstance; |
| 6 | +import org.activiti.engine.runtime.ProcessInstanceQuery; | |
| 7 | +import org.activiti.engine.task.Task; | |
| 5 | 8 | import org.springframework.beans.factory.annotation.Autowired; |
| 6 | 9 | import org.springframework.stereotype.Service; |
| 7 | 10 | |
| ... | ... | @@ -25,15 +28,37 @@ import java.util.stream.Collectors; |
| 25 | 28 | public class FormHistoryDataServiceImpl implements IFormHistoryDataService { |
| 26 | 29 | @Autowired |
| 27 | 30 | private IActWorkflowFormDataService actWorkflowFormDataService; |
| 28 | - | |
| 29 | - | |
| 31 | + | |
| 30 | 32 | |
| 31 | 33 | private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| 34 | + | |
| 35 | + | |
| 36 | + @Autowired | |
| 37 | + private RuntimeService runtimeService; | |
| 32 | 38 | |
| 39 | + @Autowired | |
| 40 | + private TaskService taskService; | |
| 41 | + | |
| 33 | 42 | @Override |
| 34 | 43 | public List<ActWorkflowFormData> historyDataShow(String businessKey) { |
| 35 | 44 | List<ActWorkflowFormData> returnHistoryFromDataDTOS=new ArrayList<>(); |
| 36 | 45 | |
| 46 | + List<Task> tasks =taskService.createTaskQuery().processInstanceBusinessKey(businessKey).list(); | |
| 47 | + | |
| 48 | + if(tasks.size() > 0){ | |
| 49 | + | |
| 50 | + ActWorkflowFormData afw = new ActWorkflowFormData(); | |
| 51 | + | |
| 52 | + | |
| 53 | + afw.setControlName("审批"); | |
| 54 | + afw.setControlValue("待审批"); | |
| 55 | + afw.setTaskNodeName(tasks.get(0).getName()); | |
| 56 | + afw.setCreateBy(tasks.get(0).getName()); | |
| 57 | + afw.setCreateName(tasks.get(0).getName()); | |
| 58 | + afw.setCreateTime(tasks.get(0).getCreateTime()); | |
| 59 | + | |
| 60 | + returnHistoryFromDataDTOS.add(afw); | |
| 61 | + } | |
| 37 | 62 | |
| 38 | 63 | List<ActWorkflowFormData> actWorkflowFormData = actWorkflowFormDataService.selectActWorkflowFormDataByBusinessKey(businessKey); |
| 39 | 64 | |
| ... | ... | @@ -60,6 +85,7 @@ public class FormHistoryDataServiceImpl implements IFormHistoryDataService { |
| 60 | 85 | returnHistoryFromDataDTOS.add(one); |
| 61 | 86 | } |
| 62 | 87 | |
| 88 | + | |
| 63 | 89 | // Map<String, List<ActWorkflowFormData>> collect = actWorkflowFormData.stream().collect(Collectors.groupingBy(ActWorkflowFormData::getTaskNodeName)); |
| 64 | 90 | // collect.entrySet().forEach( |
| 65 | 91 | // entry -> { |
| ... | ... | @@ -71,7 +97,10 @@ public class FormHistoryDataServiceImpl implements IFormHistoryDataService { |
| 71 | 97 | // returnHistoryFromDataDTOS.add(returnHistoryFromDataDTO); |
| 72 | 98 | // } |
| 73 | 99 | // ); |
| 74 | -// List<HistoryDataDTO> collect1 = returnHistoryFromDataDTOS.stream().sorted((x, y) -> x.getCreatedDate().compareTo(y.getCreatedDate())).collect(Collectors.toList()); | |
| 100 | +// returnHistoryFromDataDTOS = returnHistoryFromDataDTOS.stream().sorted((x, y) -> x.getCreateTime().compareTo(y.getCreateTime())).collect(Collectors.toList()); | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 75 | 104 | |
| 76 | 105 | return returnHistoryFromDataDTOS; |
| 77 | 106 | } | ... | ... |
trash-admin/src/main/resources/application-dev.yml
| ... | ... | @@ -16,10 +16,10 @@ trash: |
| 16 | 16 | # 验证码类型 math 数组计算 char 字符验证 |
| 17 | 17 | captchaType: math |
| 18 | 18 | # 远程服务器地址 |
| 19 | - remotePath: http://175.6.47.84:8008 | |
| 20 | - token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJkdXJhYmxlIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg1NDE2NjEzMzU1fQ.58-J0KKfsK2pQhDQAzaBaUj-oFWMbYF1YzMAcshmcfidIkW16TZWIVhAVKPvCJvWfG54x7xB-ETxKCDLFnSctQ | |
| 21 | - #remotePath: http://183.66.242.6:14601 | |
| 22 | - #token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJjc3poIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg0NDU5MjEzNzQ2fQ.85oIrOnU7cz7L_-IGt4Bt1LXDTkFtyrdqNt05K0v9-4nsrrzzpbjbemK-yMlbnUpe4Fx2FFES-Wbw8Yr8ML69w | |
| 19 | + #remotePath: http://175.6.47.84:8008 | |
| 20 | + #token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJkdXJhYmxlIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg1NDE2NjEzMzU1fQ.58-J0KKfsK2pQhDQAzaBaUj-oFWMbYF1YzMAcshmcfidIkW16TZWIVhAVKPvCJvWfG54x7xB-ETxKCDLFnSctQ | |
| 21 | + remotePath: http://183.66.242.6:14601 | |
| 22 | + token: durable:auth:token:eyJhbGciOiJIUzUxMiJ9.eyJ5ZWEiOiJjc3poIiwiZXhwIjo0MTAyNDE1OTk5LCJjcmVhdGVkIjoxNjg0NDU5MjEzNzQ2fQ.85oIrOnU7cz7L_-IGt4Bt1LXDTkFtyrdqNt05K0v9-4nsrrzzpbjbemK-yMlbnUpe4Fx2FFES-Wbw8Yr8ML69w | |
| 23 | 23 | |
| 24 | 24 | |
| 25 | 25 | |
| ... | ... | @@ -33,7 +33,7 @@ spring: |
| 33 | 33 | # 主库数据源 |
| 34 | 34 | master: |
| 35 | 35 | #url: jdbc:mysql://localhost:3306/trash?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true |
| 36 | - url: jdbc:mysql://192.168.168.141:3306/trash?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true | |
| 36 | + url: jdbc:mysql://192.168.168.141:3306/trash1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true | |
| 37 | 37 | username: root |
| 38 | 38 | password: root |
| 39 | 39 | # 从库数据源 | ... | ... |
trash-quartz/src/main/java/com/trash/quartz/task/DriverTask.java
| ... | ... | @@ -79,56 +79,15 @@ public class DriverTask |
| 79 | 79 | |
| 80 | 80 | @SuppressWarnings("deprecation") |
| 81 | 81 | private void checkTruckActive() { |
| 82 | - int hour = new Date().getHours(); | |
| 83 | - int minute = new Date().getMinutes(); | |
| 84 | - if(hour < 8 && (hour==3 && minute>55)){ | |
| 85 | - return; | |
| 82 | + if(TOKEN == null){ | |
| 83 | + TOKEN = trashConfig.getToken(); | |
| 86 | 84 | } |
| 87 | - | |
| 88 | - SupervisionThreestep param =new SupervisionThreestep(); | |
| 89 | - | |
| 90 | - param.setType(0L); | |
| 91 | - param.setStatus(1L); | |
| 92 | - | |
| 93 | - String start, end; | |
| 94 | - | |
| 95 | - Date date = new Date(); | |
| 96 | - | |
| 97 | - if (new Date().getHours() < 8) { | |
| 98 | - end = sdf.format(date); | |
| 99 | - date.setDate(date.getDate() - 1); | |
| 100 | - start = sdf.format(date); | |
| 101 | - } else { | |
| 102 | - start = sdf.format(date); | |
| 103 | - date.setDate(date.getDate() + 1); | |
| 104 | - end = sdf.format(date); | |
| 105 | - } | |
| 106 | - | |
| 107 | - end += " 8:00:00"; | |
| 108 | - start += " 8:00:00"; | |
| 109 | - | |
| 110 | - try { | |
| 111 | - param.setWorkStartTime(sdf.parse(start)); | |
| 112 | - param.setWorkEndTime(sdf.parse(end)); | |
| 85 | + try { | |
| 86 | + SpringUtils.getBean(ISupervisionThreestepService.class).checkDataToActiveTruck(TOKEN); | |
| 113 | 87 | } catch (Exception e) { |
| 114 | - // TODO Auto-generated catch block | |
| 115 | - e.printStackTrace(); | |
| 88 | + // TODO: handle exception | |
| 116 | 89 | } |
| 117 | - | |
| 118 | - | |
| 119 | - | |
| 120 | - List<SupervisionThreestep> cs = SpringUtils.getBean(SupervisionThreestepMapper.class).selectTodayDataList(param); | |
| 121 | 90 | |
| 122 | - for(SupervisionThreestep c:cs){ | |
| 123 | - if(hour < 8 && (hour==3 && minute>55)){ | |
| 124 | - return; | |
| 125 | - } | |
| 126 | - try { | |
| 127 | - SpringUtils.getBean(ISupervisionThreestepService.class).checkDataToActiveTruck(c,TOKEN); | |
| 128 | - } catch (Exception e) { | |
| 129 | - // TODO: handle exception | |
| 130 | - } | |
| 131 | - } | |
| 132 | 91 | |
| 133 | 92 | } |
| 134 | 93 | ... | ... |
trash-ui/src/api/taskhismethod.js
| ... | ... | @@ -35,7 +35,6 @@ export default { |
| 35 | 35 | }, |
| 36 | 36 | /** 查询请假列表 */ |
| 37 | 37 | getList() { |
| 38 | - debugger; | |
| 39 | 38 | this.loading = true; |
| 40 | 39 | if (this.type == 1) { |
| 41 | 40 | listEndTask(this.queryParams).then(response => { |
| ... | ... | @@ -94,7 +93,7 @@ export default { |
| 94 | 93 | |
| 95 | 94 | this.hisfromData = []; |
| 96 | 95 | |
| 97 | - this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time}); | |
| 96 | + // this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time}); | |
| 98 | 97 | for(let i in response.data){ |
| 99 | 98 | |
| 100 | 99 | this.hisfromData.push(response.data[i]); | ... | ... |
trash-ui/src/api/taskmethod.js
| ... | ... | @@ -177,7 +177,7 @@ export default { |
| 177 | 177 | this.taskName = row.name; |
| 178 | 178 | historyFromData(this.businessKey).then(response => { |
| 179 | 179 | this.hisfromData = []; |
| 180 | - this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time}) | |
| 180 | + //this.hisfromData.push({createName:row.createBy,controlValue:row.reason,createTime:row.time}) | |
| 181 | 181 | for(let i in response.data){ |
| 182 | 182 | |
| 183 | 183 | this.hisfromData.push(response.data[i]); |
| ... | ... | @@ -214,10 +214,10 @@ export default { |
| 214 | 214 | this.form.formData = formData; |
| 215 | 215 | |
| 216 | 216 | if (this.definitionKey == "workflow_threestep") { |
| 217 | - | |
| 217 | + | |
| 218 | 218 | this.videos = []; |
| 219 | 219 | this.slides = []; |
| 220 | - | |
| 220 | + | |
| 221 | 221 | this.open2 = true; |
| 222 | 222 | return; |
| 223 | 223 | } |
| ... | ... | @@ -318,35 +318,38 @@ export default { |
| 318 | 318 | } |
| 319 | 319 | |
| 320 | 320 | if (this.definitionKey == "workflow_threestep") { |
| 321 | - | |
| 322 | - | |
| 323 | - for (let i = 0; i < 13; i++) { | |
| 324 | - if (this.form["sub_img" + i]) { | |
| 325 | - let paths = ""; | |
| 326 | - for (var j = 0; j < this.form["sub_img" + i].length; j++) { | |
| 327 | - paths += this.form["sub_img" + i][j].split(":")[1] + ","; | |
| 321 | + this.$refs["form"].validate(valid => { | |
| 322 | + if (!valid) { | |
| 323 | + return; | |
| 324 | + } | |
| 325 | + for (let i = 0; i < 13; i++) { | |
| 326 | + if (this.form["sub_img" + i]) { | |
| 327 | + let paths = ""; | |
| 328 | + for (var j = 0; j < this.form["sub_img" + i].length; j++) { | |
| 329 | + paths += this.form["sub_img" + i][j].split(":")[1] + ","; | |
| 330 | + } | |
| 331 | + this.form["sub_img" + i] = paths.substring(0, paths.length - 1); | |
| 328 | 332 | } |
| 329 | - this.form["sub_img" + i] = paths.substring(0, paths.length - 1); | |
| 330 | 333 | } |
| 331 | - } | |
| 332 | 334 | |
| 333 | - if (this.form.status == 1) { | |
| 334 | - activeThreestep(this.form).then(res => { | |
| 335 | + if (this.form.status == 1) { | |
| 336 | + activeThreestep(this.form).then(res => { | |
| 337 | + formDataSave(this.id, this.form.formData).then(response => { | |
| 338 | + this.msgSuccess("审批成功"); | |
| 339 | + this.open2 = false; | |
| 340 | + this.taskList = []; | |
| 341 | + this.getList(); | |
| 342 | + }); | |
| 343 | + }); | |
| 344 | + } else { | |
| 335 | 345 | formDataSave(this.id, this.form.formData).then(response => { |
| 336 | 346 | this.msgSuccess("审批成功"); |
| 337 | 347 | this.open2 = false; |
| 338 | 348 | this.taskList = []; |
| 339 | 349 | this.getList(); |
| 340 | 350 | }); |
| 341 | - }); | |
| 342 | - } else { | |
| 343 | - formDataSave(this.id, this.form.formData).then(response => { | |
| 344 | - this.msgSuccess("审批成功"); | |
| 345 | - this.open2 = false; | |
| 346 | - this.taskList = []; | |
| 347 | - this.getList(); | |
| 348 | - }); | |
| 349 | - } | |
| 351 | + } | |
| 352 | + }); | |
| 350 | 353 | return; |
| 351 | 354 | } |
| 352 | 355 | ... | ... |
trash-ui/src/views/activiti/task/index.vue
| ... | ... | @@ -58,10 +58,10 @@ |
| 58 | 58 | |
| 59 | 59 | <el-dialog :title="title" :visible.sync="open2" width="800px" append-to-body> |
| 60 | 60 | <threestepInfo :businessKey="businessKey" v-if="open2"/> |
| 61 | - <el-form :rules="rules" label-width="120px"> | |
| 61 | + <el-form ref="form" :model="form" :rules="rules" label-width="120px"> | |
| 62 | 62 | <el-row type="flex" justify="center"> |
| 63 | 63 | <el-col> |
| 64 | - <el-form-item label="补充说明"> | |
| 64 | + <el-form-item label="补充说明" prop="subReason"> | |
| 65 | 65 | <el-input type="textarea" v-model="form.subReason" maxlength=100 show-word-limit='true'/> |
| 66 | 66 | </el-form-item> |
| 67 | 67 | </el-col> |
| ... | ... | @@ -784,6 +784,8 @@ |
| 784 | 784 | }; |
| 785 | 785 | }, |
| 786 | 786 | created() { |
| 787 | + console.log(this); | |
| 788 | + console.log(this.$refs["form"]); | |
| 787 | 789 | let dep = {type: "CSUserDepartmentType"}; |
| 788 | 790 | |
| 789 | 791 | getDict(dep).then(res => { |
| ... | ... | @@ -814,4 +816,3 @@ |
| 814 | 816 | } |
| 815 | 817 | |
| 816 | 818 | </script> |
| 817 | - | ... | ... |
trash-ui/src/views/activiti/task/sitePaper.vue
| ... | ... | @@ -53,7 +53,7 @@ |
| 53 | 53 | <el-col :span="18" class="bd_padding">{{infoData.effectiveFrom}} 至 {{infoData.effectiveEnd}}</el-col> |
| 54 | 54 | </el-row> |
| 55 | 55 | |
| 56 | - <el-row class="bd_bottom"> | |
| 56 | + <!-- <el-row class="bd_bottom"> | |
| 57 | 57 | <el-col :span="6" >申报资料</el-col> |
| 58 | 58 | <el-col :span="18" class="bd_left"> |
| 59 | 59 | <el-row class="bd_bottom"> |
| ... | ... | @@ -82,7 +82,7 @@ |
| 82 | 82 | </el-row> |
| 83 | 83 | |
| 84 | 84 | </el-col> |
| 85 | - </el-row> | |
| 85 | + </el-row> --> | |
| 86 | 86 | <el-row class="bd_bottom"> |
| 87 | 87 | <el-col :span="6" class="bd_right bd_padding">消纳场地</el-col> |
| 88 | 88 | <el-col :span="18" class="bd_padding">{{infoData.earthName}}</el-col> | ... | ... |
trash-ui/src/views/activiti/task/taskCard.vue
| ... | ... | @@ -12,15 +12,15 @@ |
| 12 | 12 | </el-col> |
| 13 | 13 | </el-row> |
| 14 | 14 | |
| 15 | - <el-row class="card_row"> | |
| 15 | + <el-row class="card_row" v-if="task.checkStatus == 0"> | |
| 16 | 16 | <el-col :span="8" class="card_grid"> |
| 17 | - <div v-if="task.prev">上一节点: {{task.prev}}</div> | |
| 17 | + <div >上一节点: {{task.prev}}</div> | |
| 18 | 18 | </el-col> |
| 19 | 19 | <el-col :span="8" class="card_grid" v-if="task.name"> |
| 20 | 20 | <div >当前节点: {{task.name}}</div> |
| 21 | 21 | </el-col> |
| 22 | 22 | <el-col :span="8" class="card_grid"> |
| 23 | - <div v-if="task.next">下一节点: {{task.next}}</div> | |
| 23 | + <div >下一节点: {{task.next}}</div> | |
| 24 | 24 | </el-col> |
| 25 | 25 | </el-row> |
| 26 | 26 | ... | ... |
trash-ui/src/views/h5/task/index.vue
| ... | ... | @@ -55,9 +55,9 @@ |
| 55 | 55 | |
| 56 | 56 | <el-dialog :title="title" :visible.sync="open2" width="400px" append-to-body> |
| 57 | 57 | <threestepInfo :businessKey="businessKey" v-if="open2" /> |
| 58 | - <el-form :rules="rules" label-width="100px"> | |
| 58 | + <el-form ref="form" :model="form" :rules="rules" label-width="100px"> | |
| 59 | 59 | <el-row > |
| 60 | - <el-form-item label="补充说明"> | |
| 60 | + <el-form-item label="补充说明" prop="subReason"> | |
| 61 | 61 | <el-input type="textarea" v-model="form.subReason" /> |
| 62 | 62 | </el-form-item> |
| 63 | 63 | </el-row> | ... | ... |
trash-ui/src/views/h5/task/sitePaper.vue
| ... | ... | @@ -50,7 +50,7 @@ |
| 50 | 50 | <el-col :span="6" class="bd_right bd_padding">处置许可时间</el-col> |
| 51 | 51 | <el-col :span="18" class="bd_padding">{{infoData.effectiveFrom}} 至 {{infoData.effectiveEnd}}</el-col> |
| 52 | 52 | </el-row> |
| 53 | - <el-row class="bd_bottom"> | |
| 53 | +<!-- <el-row class="bd_bottom"> | |
| 54 | 54 | <el-col :span="6" >申报资料</el-col> |
| 55 | 55 | <el-col :span="18" class="bd_left"> |
| 56 | 56 | <el-row class="bd_bottom"> |
| ... | ... | @@ -79,7 +79,7 @@ |
| 79 | 79 | </el-row> |
| 80 | 80 | |
| 81 | 81 | </el-col> |
| 82 | - </el-row> | |
| 82 | + </el-row> --> | |
| 83 | 83 | <el-row class="bd_bottom"> |
| 84 | 84 | <el-col :span="6" class="bd_right bd_padding">消纳场地</el-col> |
| 85 | 85 | <el-col :span="18" class="bd_padding">{{infoData.earthName}}</el-col> | ... | ... |
trash-ui/src/views/h5/task/taskCard.vue
| ... | ... | @@ -6,23 +6,26 @@ |
| 6 | 6 | <el-row class="card_row"> |
| 7 | 7 | <div class="card_title">{{task.instanceName}}</div> |
| 8 | 8 | </el-row> |
| 9 | - | |
| 10 | - <el-row class="card_row"> | |
| 9 | + <el-row class="card_row" v-if="task.checkStatus == 0"> | |
| 11 | 10 | <el-col :span="24" class="card_grid"> |
| 12 | - <div>时间: {{task.startTime}} - {{task.endTime}}</div> | |
| 11 | + <div >上一节点: {{task.prev}}</div> | |
| 13 | 12 | </el-col> |
| 14 | - | |
| 15 | - </el-row> | |
| 13 | + <el-col :span="24" class="card_grid" v-if="task.name"> | |
| 14 | + <div >当前节点: {{task.name}}</div> | |
| 15 | + </el-col> | |
| 16 | + <el-col :span="24" class="card_grid"> | |
| 17 | + <div >下一节点: {{task.next}}</div> | |
| 18 | + </el-col> | |
| 19 | + </el-row> | |
| 16 | 20 | <el-row class="card_row"> |
| 17 | 21 | <el-col :span="24" class="card_grid"> |
| 18 | 22 | <div>申请类型: {{task.type}}</div> |
| 19 | 23 | </el-col> |
| 24 | + <el-col :span="24" class="card_grid"> | |
| 25 | + <div>接收时间: {{task.createdDate}}</div> | |
| 26 | + </el-col> | |
| 20 | 27 | </el-row> |
| 21 | - <el-row class="card_row"> | |
| 22 | - <el-col :span="24"> | |
| 23 | - <div>申请理由: {{task.reason}}</div> | |
| 24 | - </el-col> | |
| 25 | - </el-row> | |
| 28 | + | |
| 26 | 29 | </el-card></a> |
| 27 | 30 | </template> |
| 28 | 31 | ... | ... |
trash-ui/src/views/h5/taskhistory/index.vue
| ... | ... | @@ -34,6 +34,12 @@ |
| 34 | 34 | |
| 35 | 35 | <el-dialog :title="title" :visible.sync="open2" width="300px" append-to-body> |
| 36 | 36 | <threestepInfo :businessKey="businessKey" v-if="open2"/> |
| 37 | + <el-table :data="hisfromData" v-if="hisfromData != null"> | |
| 38 | + | |
| 39 | + <el-table-column label="审批意见" align="center" prop="controlValue"/> | |
| 40 | + <el-table-column label="审批人" align="center" prop="createName"/> | |
| 41 | + <el-table-column label="审批时间" align="center" prop="createTime"/> | |
| 42 | + </el-table> | |
| 37 | 43 | </el-dialog> |
| 38 | 44 | |
| 39 | 45 | <el-dialog :title="title" :visible.sync="construct" width="300px" append-to-body> |
| ... | ... | @@ -275,6 +281,7 @@ import taskhismethod from '@/api/taskhismethod' |
| 275 | 281 | company:false, |
| 276 | 282 | driver:false, |
| 277 | 283 | vehicle:false, |
| 284 | + hisfromData:[], | |
| 278 | 285 | }; |
| 279 | 286 | }, |
| 280 | 287 | created() { | ... | ... |
trash-workFlow/src/main/java/com/trash/business/controller/TruckActivateController.java
| ... | ... | @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; |
| 18 | 18 | import org.springframework.web.bind.annotation.RequestMapping; |
| 19 | 19 | import org.springframework.web.bind.annotation.RestController; |
| 20 | 20 | import com.trash.common.annotation.Log; |
| 21 | +import com.trash.common.annotation.RepeatSubmit; | |
| 21 | 22 | import com.trash.common.core.controller.BaseController; |
| 22 | 23 | import com.trash.common.core.domain.AjaxResult; |
| 23 | 24 | import com.trash.common.enums.BusinessType; |
| ... | ... | @@ -182,6 +183,7 @@ public class TruckActivateController extends BaseController |
| 182 | 183 | */ |
| 183 | 184 | @Log(title = "车辆激活", businessType = BusinessType.INSERT) |
| 184 | 185 | @PostMapping |
| 186 | + @RepeatSubmit | |
| 185 | 187 | public AjaxResult add(@RequestBody TruckActivate truckActivate) |
| 186 | 188 | { |
| 187 | 189 | return truckActivateService.insertTruckActivate(truckActivate); | ... | ... |
trash-workFlow/src/main/java/com/trash/business/service/ISupervisionThreestepService.java
| ... | ... | @@ -68,7 +68,7 @@ public interface ISupervisionThreestepService |
| 68 | 68 | * @return 结果 |
| 69 | 69 | */ |
| 70 | 70 | |
| 71 | - public void checkDataToActiveTruck(SupervisionThreestep supervisionThreestep, String tOKEN); | |
| 71 | + public void checkDataToActiveTruck(String token); | |
| 72 | 72 | |
| 73 | 73 | int deleteSupervisionThreestepById(Long id); |
| 74 | 74 | ... | ... |
trash-workFlow/src/main/java/com/trash/business/service/impl/SupervisionThreestepServiceImpl.java
| ... | ... | @@ -809,28 +809,24 @@ public class SupervisionThreestepServiceImpl implements ISupervisionThreestepSer |
| 809 | 809 | } |
| 810 | 810 | |
| 811 | 811 | @Override |
| 812 | - public void checkDataToActiveTruck(SupervisionThreestep construct,String token){ | |
| 813 | - | |
| 814 | - String trucks = construct.getCompanyTrucks(); | |
| 815 | - | |
| 812 | + public void checkDataToActiveTruck(String token){ | |
| 813 | + | |
| 816 | 814 | |
| 817 | - String[] truckArray = trucks.split(","); | |
| 815 | + String[] truckArray; | |
| 818 | 816 | |
| 819 | 817 | String unActiveTruck = ""; |
| 820 | 818 | |
| 821 | - for(String truckId:truckArray){ | |
| 822 | - | |
| 823 | 819 | TruckActivate truckActivate = new TruckActivate(); |
| 824 | - truckActivate.setObjectId(truckId); //设置ID | |
| 825 | - truckActivate.setCreateTime(construct.getCheckTime()); | |
| 826 | 820 | truckActivate.setStatus(0L); |
| 821 | + truckActivate.setActivateStatus("0"); | |
| 827 | 822 | |
| 828 | 823 | List<TruckActivate> taList = truckActivateService.selectTruckActivateList(truckActivate); |
| 829 | 824 | |
| 830 | - if(taList.size() == 0 || taList.get(0).getActivateTime() == null){ | |
| 831 | - unActiveTruck += truckId + ","; | |
| 825 | + for(TruckActivate ta:taList){ | |
| 826 | + unActiveTruck += ta.getObjectId() + ","; | |
| 832 | 827 | } |
| 833 | - } | |
| 828 | + | |
| 829 | + | |
| 834 | 830 | |
| 835 | 831 | |
| 836 | 832 | if(!unActiveTruck.isEmpty()){ |
| ... | ... | @@ -841,7 +837,6 @@ public class SupervisionThreestepServiceImpl implements ISupervisionThreestepSer |
| 841 | 837 | |
| 842 | 838 | truckArray = unActiveTruck.split(","); |
| 843 | 839 | |
| 844 | - | |
| 845 | 840 | params.put("vehicleIds", truckArray); |
| 846 | 841 | params.put("page", 1); |
| 847 | 842 | params.put("size", 9999); |
| ... | ... | @@ -850,49 +845,24 @@ public class SupervisionThreestepServiceImpl implements ISupervisionThreestepSer |
| 850 | 845 | array = RemoteServerUtils.getTruckOnline(params); |
| 851 | 846 | else |
| 852 | 847 | array = RemoteServerUtils.getTruckOnline(params,token); |
| 853 | - | |
| 848 | + | |
| 849 | + if(array == null) | |
| 850 | + return; | |
| 851 | + | |
| 854 | 852 | for(Object object :array){ |
| 855 | 853 | JSONObject truckObject = (JSONObject)object; |
| 856 | 854 | |
| 857 | - for(String truck: truckArray){ | |
| 855 | + for(TruckActivate ta:taList){ | |
| 858 | 856 | |
| 859 | - if(truckObject.getString("vehicleId").equals(truck)){ | |
| 860 | - TruckActivate truckActivate = new TruckActivate(); | |
| 861 | - | |
| 862 | - truckActivate.setStatus(0L); //当前数据 | |
| 863 | - truckActivate.setObjectId(truck); //设置ID | |
| 864 | - | |
| 865 | - List<TruckActivate> taList = truckActivateService.selectTruckActivateList(truckActivate); | |
| 866 | - | |
| 867 | - if(taList.size() == 1){ | |
| 868 | - if(taList.get(0).getActivateTime() != null){ //已激活 | |
| 869 | - continue; | |
| 870 | - } | |
| 871 | - truckActivate = taList.get(0); | |
| 872 | - } | |
| 873 | - | |
| 874 | - truckActivate.setConstruction(construct.getName()); | |
| 875 | - truckActivate.setEarthsite(construct.getEarthsitesName()); | |
| 876 | - | |
| 877 | - if(truckObject != null) | |
| 878 | - truckActivate.setLicensePlate(truckObject.getString("licenseplateNo"));//设置车牌号 | |
| 857 | + if(truckObject.getString("vehicleId").equals(ta.getObjectId())){ | |
| 879 | 858 | |
| 880 | - | |
| 881 | - JSONObject truckInfo = RemoteServerUtils.getTruckInfo(truck,token); | |
| 882 | - if(truckInfo != null) | |
| 883 | - truckActivate.setCompany(truckInfo.getString("companyName")); | |
| 884 | 859 | if(truckObject.getInteger("vehicleStatus") == 1){ |
| 885 | - truckActivate.setActivateTime(new Date()); | |
| 886 | - } | |
| 887 | - | |
| 888 | - if(taList.size() > 0){ | |
| 889 | - truckActivate.setId(taList.get(0).getId()); | |
| 890 | - truckActivateMapper.updateTruckActivate(truckActivate); | |
| 860 | + ta.setActivateTime(new Date()); | |
| 891 | 861 | }else{ |
| 892 | - truckActivate.setCreateTime(new Date()); | |
| 893 | - | |
| 894 | - truckActivateMapper.insertTruckActivate(truckActivate); | |
| 862 | + continue; | |
| 895 | 863 | } |
| 864 | + | |
| 865 | + truckActivateMapper.updateTruckActivate(ta); | |
| 896 | 866 | |
| 897 | 867 | break; |
| 898 | 868 | } | ... | ... |
trash-workFlow/src/main/java/com/trash/workflow/service/impl/WorkflowServiceImpl.java
| ... | ... | @@ -36,6 +36,8 @@ import org.springframework.transaction.annotation.Transactional; |
| 36 | 36 | |
| 37 | 37 | import com.alibaba.fastjson.JSONArray; |
| 38 | 38 | import com.alibaba.fastjson.JSONObject; |
| 39 | +import com.trash.activiti.domain.ActWorkflowFormData; | |
| 40 | +import com.trash.activiti.service.IActWorkflowFormDataService; | |
| 39 | 41 | import com.trash.business.domain.ConstructionSign; |
| 40 | 42 | import com.trash.business.domain.SupervisionThreestep; |
| 41 | 43 | import com.trash.business.service.IConstructionSignService; |
| ... | ... | @@ -88,8 +90,12 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 88 | 90 | |
| 89 | 91 | |
| 90 | 92 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
| 93 | + | |
| 91 | 94 | |
| 92 | 95 | @Autowired |
| 96 | + IActWorkflowFormDataService awfServer; | |
| 97 | + | |
| 98 | + @Autowired | |
| 93 | 99 | RuntimeService runtimeService; |
| 94 | 100 | |
| 95 | 101 | @Autowired |
| ... | ... | @@ -132,6 +138,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 132 | 138 | } |
| 133 | 139 | |
| 134 | 140 | ProcessInstance processInstance = null; |
| 141 | + ActWorkflowFormData awf = null; | |
| 135 | 142 | |
| 136 | 143 | try { |
| 137 | 144 | |
| ... | ... | @@ -158,6 +165,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 158 | 165 | signService.insertConstructionSign(constructionSign); |
| 159 | 166 | |
| 160 | 167 | } |
| 168 | + | |
| 161 | 169 | |
| 162 | 170 | Workflow workflow = new Workflow(); |
| 163 | 171 | workflow.setId(businessKey); |
| ... | ... | @@ -171,10 +179,16 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 171 | 179 | workflow.setCreateTime(new Date()); |
| 172 | 180 | workflow.setCreateBy(user.getUserName()); |
| 173 | 181 | |
| 182 | + awf = insertAwf(user,workflow); | |
| 183 | + | |
| 174 | 184 | return workflowMapper.insertWorkflow(workflow); |
| 175 | 185 | } catch (Exception e) { |
| 176 | - | |
| 177 | - processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); | |
| 186 | + | |
| 187 | + if(processInstance != null) | |
| 188 | + processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); | |
| 189 | + | |
| 190 | + if(awf.getId() != null) | |
| 191 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 178 | 192 | |
| 179 | 193 | e.printStackTrace(); |
| 180 | 194 | } |
| ... | ... | @@ -182,11 +196,38 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 182 | 196 | return 0; |
| 183 | 197 | } |
| 184 | 198 | |
| 199 | + private ActWorkflowFormData insertAwf(SysUser user ,Workflow workflow) { | |
| 200 | + | |
| 201 | + if(user == null){ | |
| 202 | + user = new SysUser(); | |
| 203 | + user.setUserName("定时器"); | |
| 204 | + } | |
| 205 | + | |
| 206 | + ActWorkflowFormData awf; | |
| 207 | + awf = new ActWorkflowFormData(); | |
| 208 | + awf.setCreateBy(user.getUserName()); | |
| 209 | + awf.setCreateName(user.getUserName()); | |
| 210 | + awf.setCreateTime(new Date()); | |
| 211 | + awf.setBusinessKey(workflow.getId()); | |
| 212 | + awf.setControlId("CREATED"); | |
| 213 | + awf.setControlName("发起人"); | |
| 214 | + awf.setFormKey("CREATED"); | |
| 215 | + awf.setTaskNodeName(user.getUserName() + "发起"); | |
| 216 | + awf.setControlValue(workflow.getTitle()); | |
| 217 | + | |
| 218 | + awfServer.insertActWorkflowFormData(awf); | |
| 219 | + return awf; | |
| 220 | + } | |
| 221 | + | |
| 185 | 222 | @Override |
| 186 | 223 | @Transactional |
| 187 | 224 | public int createLeaveWorkFlow(Workflow workflow, int index) { |
| 188 | 225 | ProcessInstance processInstance = null; |
| 189 | 226 | |
| 227 | + ActWorkflowFormData awf = null; | |
| 228 | + | |
| 229 | + SysUser user = SecurityUtils.getLoginUser().getUser(); | |
| 230 | + | |
| 190 | 231 | try { |
| 191 | 232 | |
| 192 | 233 | processInstance = processRuntime.start(ProcessPayloadBuilder.start() |
| ... | ... | @@ -207,13 +248,18 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 207 | 248 | |
| 208 | 249 | taskService.saveTask(task); |
| 209 | 250 | } |
| 251 | + | |
| 210 | 252 | |
| 253 | + awf = insertAwf(user,workflow); | |
| 254 | + | |
| 211 | 255 | workflow.setInstanceId(processInstance.getId()); |
| 212 | 256 | |
| 213 | 257 | workflow.setCreateTime(new Date()); |
| 214 | 258 | return workflowMapper.insertWorkflow(workflow); |
| 215 | 259 | } catch (Exception e) { |
| 216 | 260 | |
| 261 | + if(awf.getId() != null) | |
| 262 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 217 | 263 | processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); |
| 218 | 264 | |
| 219 | 265 | e.printStackTrace(); |
| ... | ... | @@ -226,6 +272,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 226 | 272 | @Transactional |
| 227 | 273 | public int createThreeStepWorkFlow(SupervisionThreestep supervision) { // 三查 |
| 228 | 274 | ProcessInstance processInstance = null; |
| 275 | + ActWorkflowFormData awf = null; | |
| 229 | 276 | try { |
| 230 | 277 | String name = "报工自查:" + supervision.getName(); |
| 231 | 278 | processInstance = processRuntime.start(ProcessPayloadBuilder.start() |
| ... | ... | @@ -244,10 +291,16 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 244 | 291 | workflow.setInstanceId(processInstance.getId()); |
| 245 | 292 | workflow.setState("0"); |
| 246 | 293 | workflow.setCreateTime(new Date()); |
| 294 | + | |
| 295 | + | |
| 296 | + SysUser user = SecurityUtils.getLoginUser().getUser(); | |
| 297 | + awf = insertAwf(user,workflow); | |
| 247 | 298 | |
| 248 | 299 | return workflowMapper.insertWorkflow(workflow); |
| 249 | 300 | } catch (Exception e) { |
| 250 | 301 | e.printStackTrace(); |
| 302 | + if(awf.getId() != null) | |
| 303 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 251 | 304 | processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); |
| 252 | 305 | } |
| 253 | 306 | |
| ... | ... | @@ -258,6 +311,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 258 | 311 | @Transactional |
| 259 | 312 | public int createCaseFile(ViolationCaseFile caseFile, int index) { // 三查 |
| 260 | 313 | ProcessInstance processInstance = null; |
| 314 | + ActWorkflowFormData awf = null; | |
| 261 | 315 | String title = "案卷号:" + caseFile.getNumber(); |
| 262 | 316 | String flowType = "workflow_casefile"; |
| 263 | 317 | try { |
| ... | ... | @@ -291,9 +345,13 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 291 | 345 | workflow.setState("0"); |
| 292 | 346 | workflow.setCreateTime(new Date()); |
| 293 | 347 | |
| 348 | + SysUser user = SecurityUtils.getLoginUser().getUser(); | |
| 349 | + awf = insertAwf(user,workflow); | |
| 294 | 350 | return workflowMapper.insertWorkflow(workflow); |
| 295 | 351 | } catch (Exception e) { |
| 296 | 352 | e.printStackTrace(); |
| 353 | + if(awf.getId() != null) | |
| 354 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 297 | 355 | processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); |
| 298 | 356 | throw new RuntimeException(e); |
| 299 | 357 | } |
| ... | ... | @@ -310,6 +368,20 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 310 | 368 | } |
| 311 | 369 | loginService.loginByRemote(trashConfig.getToken()); |
| 312 | 370 | } |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + SysUser user = null; | |
| 375 | + | |
| 376 | + try { | |
| 377 | + user = SecurityUtils.getLoginUser().getUser(); | |
| 378 | + } catch (Exception e) { | |
| 379 | +// e.printStackTrace(); | |
| 380 | + } | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 313 | 385 | SecurityContextImpl securityContextImpl = new SecurityContextImpl(); |
| 314 | 386 | |
| 315 | 387 | securityContextImpl.setAuthentication(SecurityContextHolder.getContext().getAuthentication()); |
| ... | ... | @@ -320,6 +392,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 320 | 392 | if(index > 0 && caseFile.getOwningRegion().contains("湘江新区")){ |
| 321 | 393 | index += 3; |
| 322 | 394 | } |
| 395 | + ActWorkflowFormData awf = null; | |
| 323 | 396 | |
| 324 | 397 | try { |
| 325 | 398 | Map map = new HashedMap<>(); |
| ... | ... | @@ -350,9 +423,14 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 350 | 423 | workflow.setInstanceId(instance.getId()); |
| 351 | 424 | workflow.setState("0"); |
| 352 | 425 | workflow.setCreateTime(new Date()); |
| 426 | + | |
| 427 | + | |
| 428 | + awf = insertAwf(user,workflow); | |
| 353 | 429 | |
| 354 | 430 | return workflowMapper.insertWorkflow(workflow); |
| 355 | 431 | } catch (Exception e) { |
| 432 | + if(awf.getId() != null) | |
| 433 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 356 | 434 | runtimeService.deleteProcessInstance(instance.getId(), "创建失败"); |
| 357 | 435 | throw new RuntimeException(e); |
| 358 | 436 | } |
| ... | ... | @@ -363,6 +441,7 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 363 | 441 | @Transactional |
| 364 | 442 | public int createCaseOffline(CaseOffline caseOffline) { // 三查 |
| 365 | 443 | ProcessInstance processInstance = null; |
| 444 | + ActWorkflowFormData awf = null; | |
| 366 | 445 | try { |
| 367 | 446 | |
| 368 | 447 | String title = "案卷号:" + caseOffline.getNumber(); |
| ... | ... | @@ -384,8 +463,22 @@ public class WorkflowServiceImpl implements IWorkflowService { |
| 384 | 463 | workflow.setState("0"); |
| 385 | 464 | workflow.setCreateTime(new Date()); |
| 386 | 465 | |
| 466 | + SysUser user = null; | |
| 467 | + | |
| 468 | + try { | |
| 469 | + user = SecurityUtils.getLoginUser().getUser(); | |
| 470 | + } catch (Exception e) { | |
| 471 | +// e.printStackTrace(); | |
| 472 | + } | |
| 473 | + | |
| 474 | + | |
| 475 | + awf = insertAwf(user,workflow); | |
| 476 | + | |
| 477 | + | |
| 387 | 478 | return workflowMapper.insertWorkflow(workflow); |
| 388 | 479 | } catch (Exception e) { |
| 480 | + if(awf.getId() != null) | |
| 481 | + awfServer.deleteActWorkflowFormDataById(awf.getId()); | |
| 389 | 482 | e.printStackTrace(); |
| 390 | 483 | processRuntime.delete(ProcessPayloadBuilder.delete(processInstance)); |
| 391 | 484 | } | ... | ... |