Commit 974d4c05524c985e30c71984c05cf66bbd499e60

Authored by youxiw2000
1 parent 1729275c

m

trash-admin/settings.txt 0 → 100644
  1 +2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1
0 \ No newline at end of file 2 \ No newline at end of file
trash-common/src/main/java/com/trash/common/utils/RemoteServerUtils.java
@@ -718,7 +718,6 @@ public class RemoteServerUtils { @@ -718,7 +718,6 @@ public class RemoteServerUtils {
718 } 718 }
719 719
720 return turckList; 720 return turckList;
721 -  
722 } 721 }
723 722
724 public static JSONArray getDriverList(String token) { 723 public static JSONArray getDriverList(String token) {
@@ -756,6 +755,90 @@ public class RemoteServerUtils { @@ -756,6 +755,90 @@ public class RemoteServerUtils {
756 return null; 755 return null;
757 } 756 }
758 } 757 }
  758 +
  759 +
  760 +
  761 + public static String getUpUser(){
  762 + if(okHttpClient == null){
  763 + okHttpClient = new OkHttpClient.Builder()
  764 + .connectTimeout(20, TimeUnit.SECONDS)
  765 + .writeTimeout(20, TimeUnit.SECONDS)
  766 + .readTimeout(30, TimeUnit.SECONDS)
  767 + .build();
  768 + }
  769 +
  770 +
  771 + Map map = new HashMap<>();
  772 +
  773 + map.put("userName", "市渣土管理系统");
  774 + map.put("password", "u2nuQKePryLy6ccJywKCCQ==");
  775 + String param = JSON.toJSON(map).toString();
  776 +
  777 + RequestBody body = RequestBody.create(MediaType.parse("application/json"), param );
  778 +
  779 + Request request = new Request.Builder().url("https://cszgf.tyykj.com:37251/api/thirdApi/basic/token").post(body).build();
  780 +
  781 +
  782 + try {
  783 + okhttp3.Response response = okHttpClient.newCall(request).execute();
  784 + String result = response.body().string();
  785 +
  786 + if(result != null){
  787 + JSONObject json = JSON.parseObject(result);
  788 + if(json.getBoolean("success")){
  789 + return json.getString("data");
  790 + }
  791 + }else{
  792 + return null;
  793 + }
  794 +
  795 + }catch (Exception e) {
  796 + e.printStackTrace();
  797 + return null;
  798 + }
  799 + return null;
  800 + }
  801 +
  802 + public static JSONArray getCaseList(){
  803 + if(okHttpClient == null){
  804 + okHttpClient = new OkHttpClient.Builder()
  805 + .connectTimeout(20, TimeUnit.SECONDS)
  806 + .writeTimeout(20, TimeUnit.SECONDS)
  807 + .readTimeout(30, TimeUnit.SECONDS)
  808 + .build();
  809 + }
  810 +
  811 +
  812 + Map map = new HashMap<>();
  813 +
  814 +
  815 + String param = JSON.toJSON(map).toString();
  816 +
  817 + RequestBody body = RequestBody.create(MediaType.parse("application/json"), param );
  818 +
  819 + Request request = new Request.Builder().url("https://cszgf.tyykj.com:37251/api/thirdApi/query/dispatchEvtList").addHeader("Authorization",getUpUser()).post(body).build();
  820 +
  821 +
  822 + try {
  823 + okhttp3.Response response = okHttpClient.newCall(request).execute();
  824 + String result = response.body().string();
  825 +
  826 + if(result != null){
  827 + JSONObject json = JSON.parseObject(result);
  828 + if(json.getBoolean("success")){
  829 + return json.getJSONArray("data");
  830 + }
  831 + }else{
  832 + return null;
  833 + }
  834 +
  835 + }catch (Exception e) {
  836 + e.printStackTrace();
  837 + return null;
  838 + }
  839 + return null;
  840 + }
  841 +
759 842
760 public static Object getAuth(String token) { 843 public static Object getAuth(String token) {
761 844
trash-quartz/src/main/java/com/trash/quartz/task/DriverTask.java
1 package com.trash.quartz.task; 1 package com.trash.quartz.task;
2 2
  3 +import java.io.File;
  4 +import java.io.FileInputStream;
  5 +import java.io.FileOutputStream;
3 import java.io.IOException; 6 import java.io.IOException;
4 import java.text.ParseException; 7 import java.text.ParseException;
5 import java.text.SimpleDateFormat; 8 import java.text.SimpleDateFormat;
6 import java.util.ArrayList; 9 import java.util.ArrayList;
  10 +import java.util.Collections;
7 import java.util.Date; 11 import java.util.Date;
8 import java.util.HashMap; 12 import java.util.HashMap;
9 import java.util.List; 13 import java.util.List;
10 import java.util.Map; 14 import java.util.Map;
11 15
12 -import com.trash.casefile.domain.KafkaCompensation;  
13 -import com.trash.casefile.kafka.Consumer;  
14 -import com.trash.casefile.mapper.KafkaCompensationMapper;  
15 -import com.trash.common.core.redis.RedisCache;  
16 import org.springframework.beans.BeansException; 16 import org.springframework.beans.BeansException;
17 import org.springframework.beans.factory.annotation.Autowired; 17 import org.springframework.beans.factory.annotation.Autowired;
18 import org.springframework.stereotype.Component; 18 import org.springframework.stereotype.Component;
  19 +import org.springframework.web.multipart.MultipartFile;
19 20
20 import com.alibaba.fastjson.JSONArray; 21 import com.alibaba.fastjson.JSONArray;
21 import com.alibaba.fastjson.JSONObject; 22 import com.alibaba.fastjson.JSONObject;
  23 +import com.google.gson.Gson;
  24 +import com.google.gson.reflect.TypeToken;
22 import com.trash.activiti.service.IActTaskService; 25 import com.trash.activiti.service.IActTaskService;
23 import com.trash.business.domain.CompanyCredit; 26 import com.trash.business.domain.CompanyCredit;
24 import com.trash.business.domain.DriverCredit; 27 import com.trash.business.domain.DriverCredit;
25 -import com.trash.business.domain.SupervisionThreestep; 28 +import com.trash.business.domain.SupervisionTrack;
26 import com.trash.business.domain.TruckCredit; 29 import com.trash.business.domain.TruckCredit;
27 import com.trash.business.mapper.CompanyCreditMapper; 30 import com.trash.business.mapper.CompanyCreditMapper;
28 -import com.trash.business.mapper.SupervisionThreestepMapper;  
29 import com.trash.business.service.ICompanyCreditService; 31 import com.trash.business.service.ICompanyCreditService;
30 import com.trash.business.service.IDriverCreditService; 32 import com.trash.business.service.IDriverCreditService;
31 import com.trash.business.service.ISupervisionThreestepService; 33 import com.trash.business.service.ISupervisionThreestepService;
  34 +import com.trash.business.service.ISupervisionTrackService;
32 import com.trash.business.service.ITruckActivateService; 35 import com.trash.business.service.ITruckActivateService;
33 import com.trash.business.service.ITruckCreditService; 36 import com.trash.business.service.ITruckCreditService;
  37 +import com.trash.casefile.domain.KafkaCompensation;
  38 +import com.trash.casefile.domain.ViolationCaseFile;
  39 +import com.trash.casefile.kafka.Consumer;
  40 +import com.trash.casefile.mapper.KafkaCompensationMapper;
  41 +import com.trash.casefile.mapper.ViolationCaseFileMapper;
  42 +import com.trash.casefile.service.IViolationCaseFileService;
34 import com.trash.common.config.trashConfig; 43 import com.trash.common.config.trashConfig;
  44 +import com.trash.common.core.redis.RedisCache;
35 import com.trash.common.utils.LogUtils; 45 import com.trash.common.utils.LogUtils;
36 import com.trash.common.utils.RemoteServerUtils; 46 import com.trash.common.utils.RemoteServerUtils;
  47 +import com.trash.common.utils.file.FileUploadUtils;
37 import com.trash.common.utils.spring.SpringUtils; 48 import com.trash.common.utils.spring.SpringUtils;
  49 +import com.trash.office.domain.UploadFile;
  50 +import com.trash.office.mapper.UploadFileMapper;
38 import com.trash.workflow.service.IWorkflowService; 51 import com.trash.workflow.service.IWorkflowService;
39 52
40 /** 53 /**
@@ -54,6 +67,232 @@ public class DriverTask { @@ -54,6 +67,232 @@ public class DriverTask {
54 67
55 @Autowired 68 @Autowired
56 private RedisCache redisCache; 69 private RedisCache redisCache;
  70 +
  71 + public void getUpCase(){
  72 +
  73 +
  74 + JSONArray array = RemoteServerUtils.getCaseList();
  75 +
  76 + if(array != null && array.size() > 0){
  77 + for(Object object:array){
  78 + JSONObject json = (JSONObject) object;
  79 +
  80 +
  81 +
  82 + try {
  83 + ViolationCaseFile caseFile = new ViolationCaseFile(json);
  84 +
  85 +
  86 + for (Object fileObj : json.getJSONArray("attchList")) {
  87 +
  88 + JSONObject fileJSON = (JSONObject)fileObj;
  89 + UploadFile uploadFile = new UploadFile();
  90 + uploadFile.setTableName("violation_case_file");
  91 + uploadFile.setTableNumber(caseFile.getId().toString());
  92 + uploadFile.setFileName(fileJSON.getString("attchFileName"));
  93 + uploadFile.setFilePath(fileJSON.getString("attchFilePath"));
  94 +
  95 + SpringUtils.getBean(UploadFileMapper.class).insertUploadFile(uploadFile);
  96 + }
  97 +
  98 +
  99 + SpringUtils.getBean(ViolationCaseFileMapper.class).insertViolationCaseFile(caseFile);
  100 + } catch (BeansException e) {
  101 + // TODO Auto-generated catch block
  102 + e.printStackTrace();
  103 + }
  104 +
  105 + }
  106 + }
  107 +
  108 +
  109 +
  110 + }
  111 +
  112 +
  113 + Map<String, String> paramsMap = new HashMap<String, String>();
  114 +
  115 + public void createTrackData() {
  116 +
  117 + File file = new File("./settings.txt");
  118 +
  119 + String params = "2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10";
  120 +
  121 + if (!file.exists()) {
  122 + try {
  123 + file.createNewFile();
  124 +
  125 + FileOutputStream fos = new FileOutputStream(file);
  126 +
  127 + fos.write(params.getBytes());
  128 + fos.flush();
  129 +
  130 + fos.close();
  131 +
  132 + } catch (IOException e) {
  133 + // TODO Auto-generated catch block
  134 + e.printStackTrace();
  135 + }
  136 + } else {
  137 + try {
  138 + FileInputStream fis = new FileInputStream(file);
  139 +
  140 + byte[] bs = new byte[fis.available()];
  141 +
  142 + fis.read(bs);
  143 +
  144 + params = new String(bs);
  145 +
  146 + } catch (Exception e) {
  147 + // TODO Auto-generated catch block
  148 + e.printStackTrace();
  149 + }
  150 +
  151 + }
  152 +
  153 + String[] arr = params.split(" ");
  154 +
  155 + for (int i = 0; i < 8; i++) {
  156 + paramsMap.put("type_" + i + "_timeout", arr[i * 3]);
  157 + paramsMap.put("type_" + i + "_season", arr[i * 3 + 1]);
  158 + paramsMap.put("type_" + i + "_pect", arr[i * 3 + 2]);
  159 + }
  160 +
  161 + JSONArray areas = redisCache.getCacheObject("areaList");
  162 +
  163 + Gson g = new Gson();
  164 +
  165 + JSONArray array;
  166 +
  167 + Map<String, String> area = new HashMap<>();
  168 +
  169 + for (Object object : areas) {
  170 + JSONObject json = (JSONObject) object;
  171 + area.put(json.getString("code"), json.getString("name"));
  172 + }
  173 +
  174 + array = redisCache.getCacheObject("truckList");// 车辆
  175 + if (array != null && array.size() > 0) {
  176 +
  177 + int type = 4;
  178 +
  179 + List<JSONObject> list = ShuffleData(g, array, type);
  180 +
  181 + for (JSONObject json : list) {
  182 + try {
  183 + insertData(json.getString("id"), json.getString("licenseplateNo"), type, "行业事务部",
  184 + json.getString("areaName"));
  185 + } catch (Exception e) {
  186 + e.printStackTrace();
  187 + }
  188 + }
  189 +
  190 + }
  191 +
  192 + array = redisCache.getCacheObject("contractList");// 合同
  193 + if (array != null && array.size() > 0) {
  194 +
  195 + int type = 3;
  196 +
  197 + List<JSONObject> list = ShuffleData(g, array, type);
  198 +
  199 + for (JSONObject json : list) {
  200 +
  201 + try {
  202 + insertData(json.getString("id"), json.getString("constructionSiteName"), type, "综合管理部",
  203 + area.get(json.getString("earthSiteAreaCode")));
  204 + } catch (Exception e) {
  205 + e.printStackTrace();
  206 + }
  207 + }
  208 +
  209 + }
  210 +
  211 + array = redisCache.getCacheObject("companyList");// 公司
  212 + if (array != null && array.size() > 0) {
  213 + int type = 2;
  214 +
  215 + List<JSONObject> list = ShuffleData(g, array, type);
  216 +
  217 + for (JSONObject json : list) {
  218 + try {
  219 + insertData(json.getString("id"), json.getString("name"), type, "行业事务部",
  220 + area.get(json.getString("areaCode")));
  221 + } catch (Exception e) {
  222 + e.printStackTrace();
  223 + }
  224 + }
  225 +
  226 + }
  227 +
  228 + array = redisCache.getCacheObject("constructionList");// 工地
  229 +
  230 + if (array != null && array.size() > 0) {
  231 +
  232 + int type = 0;
  233 +
  234 + List<JSONObject> list = ShuffleData(g, array, type);
  235 +
  236 + for (JSONObject json : list) {
  237 + try {
  238 + insertData(json.getString("id"), json.getString("name"), type, "勘察事务部",
  239 + area.get(json.getString("areaCode").split("\\.")[0]));
  240 + } catch (Exception e) {
  241 + e.printStackTrace();
  242 + }
  243 +
  244 + }
  245 + }
  246 +
  247 + array = redisCache.getCacheObject("earthSitesList"); // 消纳场
  248 +
  249 + if (array != null && array.size() > 0) {
  250 +
  251 + int type = 1;
  252 +
  253 + List<JSONObject> list = ShuffleData(g, array, type);
  254 +
  255 + for (JSONObject json : list) {
  256 + try {
  257 + insertData(json.getString("id"), json.getString("name"), type, "消纳事务部",
  258 + area.get(json.getString("areaCode")));
  259 + } catch (Exception e) {
  260 + e.printStackTrace();
  261 + }
  262 + }
  263 + }
  264 + }
  265 +
  266 + public List ShuffleData(Gson g, JSONArray array, int type) {
  267 + List<JSONObject> list = g.fromJson(array.toJSONString(), new TypeToken<List<JSONObject>>() {
  268 + }.getType());
  269 +
  270 + Collections.shuffle(list);
  271 +
  272 + double pect = Double.parseDouble(paramsMap.get("type_" + type + "_pect")) / 100;
  273 +
  274 + list = list.subList(0, (int) (list.size() * pect));
  275 +
  276 + return list;
  277 + }
  278 +
  279 + public void insertData(String id, String name, int type, String dept, String place) {
  280 + try {
  281 + SupervisionTrack track = new SupervisionTrack();
  282 + track.setObjectId(id);
  283 + track.setTitle(name);
  284 + track.setType(type);
  285 + track.setCreateTime(new Date());
  286 + track.setCreateBy("长沙市建筑垃圾智慧监管平台");
  287 + track.setDept(dept);
  288 + track.setPlace(place);
  289 + SpringUtils.getBean(ISupervisionTrackService.class).insertSupervisionTrack(track);
  290 +
  291 + } catch (Exception e) {
  292 + e.printStackTrace();
  293 + }
  294 +
  295 + }
57 296
58 public void checkCredit() { 297 public void checkCredit() {
59 298
trash-ui/dist.zip
No preview for this file type
trash-ui/src/api/business/track.js 0 → 100644
  1 +import request from '@/utils/request'
  2 +
  3 +// 查询跟踪监督列表
  4 +export function listTrack(query) {
  5 + return request({
  6 + url: '/business/track/list',
  7 + method: 'get',
  8 + params: query
  9 + })
  10 +}
  11 +
  12 +// 查询跟踪监督详细
  13 +export function getTrack(id) {
  14 + return request({
  15 + url: '/business/track/' + id,
  16 + method: 'get'
  17 + })
  18 +}
  19 +// 查询跟踪监督详细
  20 +export function getSettings() {
  21 + return request({
  22 + url: '/business/track/getSettings',
  23 + method: 'get'
  24 + })
  25 +}
  26 +
  27 +// 查询跟踪监督详细
  28 +export function saveSettings(data) {
  29 + return request({
  30 + url: '/business/track/saveSettings',
  31 + method: 'post',
  32 + data:data
  33 + })
  34 +}
  35 +
  36 +
  37 +
  38 +// 新增跟踪监督
  39 +export function addTrack(data) {
  40 + return request({
  41 + url: '/business/track',
  42 + method: 'post',
  43 + data: data
  44 + })
  45 +}
  46 +
  47 +// 修改跟踪监督
  48 +export function updateTrack(data) {
  49 + return request({
  50 + url: '/business/track',
  51 + method: 'put',
  52 + data: data
  53 + })
  54 +}
  55 +
  56 +// 删除跟踪监督
  57 +export function delTrack(id) {
  58 + return request({
  59 + url: '/business/track/' + id,
  60 + method: 'delete'
  61 + })
  62 +}
  63 +
  64 +// 导出跟踪监督
  65 +export function exportTrack(query) {
  66 + return request({
  67 + url: '/business/track/export',
  68 + method: 'get',
  69 + params: query
  70 + })
  71 +}
trash-ui/src/api/track.js 0 → 100644
  1 +import { listTrack, getTrack, delTrack, addTrack, updateTrack, exportTrack,getSettings,saveSettings } from "@/api/business/track";
  2 +
  3 +
  4 + import companyInfo from "@/views/activiti/task/companyInfo";
  5 +
  6 +export default {
  7 + name: "Track",
  8 +
  9 + components: {
  10 + companyInfo,
  11 + },
  12 + data() {
  13 + return {
  14 + // 遮罩层
  15 + loading: true,
  16 + // 选中数组
  17 + ids: [],
  18 + // 非单个禁用
  19 + single: true,
  20 + // 非多个禁用
  21 + multiple: true,
  22 + // 显示搜索条件
  23 + showSearch: true,
  24 + // 总条数
  25 + total: 0,
  26 + // 跟踪监督表格数据
  27 + trackList: [],
  28 + // 弹出层标题
  29 + title: "",
  30 + // 是否显示弹出层
  31 + open: false,
  32 + settings:null,
  33 + // 查询参数
  34 + queryParams: {
  35 + pageNum: 1,
  36 + pageSize: 10,
  37 + type: null,
  38 + title: null,
  39 + place: null,
  40 + status: null,
  41 + objectId: null,
  42 + type:0
  43 + },
  44 + // 表单参数
  45 + form: {},
  46 + activeIndex:"0",
  47 + // 表单校验
  48 + rules: {
  49 + type: [
  50 + { required: true, message: "类型不能为空", trigger: "change" }
  51 + ],
  52 + },
  53 + settingsOpen:false,
  54 + infoDialog:false,
  55 + objectId:null,
  56 + objectType:null,
  57 + id:null,
  58 + };
  59 + },
  60 + created() {
  61 + this.getList();
  62 + },
  63 + methods: {
  64 + getInfo(type,objectId,id){
  65 +
  66 + this.objectId = objectId;
  67 + this.id = id;
  68 +
  69 + if(type == 0){
  70 + this.objectType = 2;
  71 + this.infoDialog = true;
  72 + }else if(type == 1){
  73 + this.objectType = 3;
  74 + this.infoDialog = true;
  75 + }else if(type == 2){
  76 + this.objectType = 0;
  77 + this.infoDialog = true;
  78 + }else if(type == 3){
  79 + this.objectType = 4;
  80 + this.infoDialog = true;
  81 + }else if(type == 4){
  82 + this.objectType = 1;
  83 + this.infoDialog = true;
  84 + }else if(type == 5){
  85 + }else if(type == 6){
  86 + }else if(type == 7){
  87 + }
  88 +
  89 + },
  90 + update(state){
  91 + updateTrack({id:this.id,status:state}).then(res=>{
  92 + console.log(res);
  93 + });
  94 + },
  95 +
  96 + saveSettings(){
  97 + saveSettings(this.settings).then(res=>{
  98 + if(res.code==200){
  99 +
  100 + this.$message("保存成功");
  101 + }
  102 + this.settingsOpen = false;
  103 + });
  104 + },
  105 + /** 查询跟踪监督列表 */
  106 + getList() {
  107 + this.loading = true;
  108 + listTrack(this.queryParams).then(response => {
  109 + this.trackList = response.rows;
  110 + this.total = response.total;
  111 + this.loading = false;
  112 + });
  113 + },
  114 + // 取消按钮
  115 + cancel() {
  116 + this.open = false;
  117 + this.reset();
  118 + },
  119 + // 表单重置
  120 + reset() {
  121 + this.form = {
  122 + id: null,
  123 + type: null,
  124 + title: null,
  125 + dept: null,
  126 + place: null,
  127 + createBy: null,
  128 + createTime: null,
  129 + updateTime: null,
  130 + updateBy: null,
  131 + attach: null,
  132 + status: 0,
  133 + objectId: null
  134 + };
  135 + this.resetForm("form");
  136 + },
  137 + /** 搜索按钮操作 */
  138 + handleQuery() {
  139 + this.queryParams.pageNum = 1;
  140 + this.getList();
  141 + },
  142 + /** 重置按钮操作 */
  143 + resetQuery() {
  144 + this.resetForm("queryForm");
  145 + this.handleQuery();
  146 + },
  147 +
  148 + handleSelect(value){
  149 + if(value == 99){
  150 + getSettings().then(response => {
  151 + this.settings = response.data;
  152 + this.settingsOpen = true;
  153 + });
  154 + return;
  155 + }
  156 +
  157 +
  158 + this.queryParams.type = value;
  159 + this.getList();
  160 +
  161 + },
  162 +
  163 + // 多选框选中数据
  164 + handleSelectionChange(selection) {
  165 + this.ids = selection.map(item => item.id)
  166 + this.single = selection.length!==1
  167 + this.multiple = !selection.length
  168 + },
  169 + /** 新增按钮操作 */
  170 + handleAdd() {
  171 + this.reset();
  172 + this.open = true;
  173 + this.title = "添加跟踪监督";
  174 + },
  175 + /** 修改按钮操作 */
  176 + handleUpdate(row) {
  177 + this.reset();
  178 + const id = row.id || this.ids
  179 + getTrack(id).then(response => {
  180 + this.form = response.data;
  181 + this.open = true;
  182 + this.title = "修改跟踪监督";
  183 + });
  184 + },
  185 + /** 提交按钮 */
  186 + submitForm() {
  187 + this.$refs["form"].validate(valid => {
  188 + if (valid) {
  189 + if (this.form.id != null) {
  190 + updateTrack(this.form).then(response => {
  191 + this.msgSuccess("修改成功");
  192 + this.open = false;
  193 + this.getList();
  194 + });
  195 + } else {
  196 + addTrack(this.form).then(response => {
  197 + this.msgSuccess("新增成功");
  198 + this.open = false;
  199 + this.getList();
  200 + });
  201 + }
  202 + }
  203 + });
  204 + },
  205 + /** 删除按钮操作 */
  206 + handleDelete(row) {
  207 + const ids = row.id || this.ids;
  208 + this.$confirm('是否确认删除跟踪监督编号为"' + ids + '"的数据项?', "警告", {
  209 + confirmButtonText: "确定",
  210 + cancelButtonText: "取消",
  211 + type: "warning"
  212 + }).then(function() {
  213 + return delTrack(ids);
  214 + }).then(() => {
  215 + this.getList();
  216 + this.msgSuccess("删除成功");
  217 + })
  218 + },
  219 + /** 导出按钮操作 */
  220 + handleExport() {
  221 + const queryParams = this.queryParams;
  222 + this.$confirm('是否确认导出所有跟踪监督数据项?', "警告", {
  223 + confirmButtonText: "确定",
  224 + cancelButtonText: "取消",
  225 + type: "warning"
  226 + }).then(function() {
  227 + return exportTrack(queryParams);
  228 + }).then(response => {
  229 + this.download(response.msg);
  230 + })
  231 + }
  232 + }
  233 +};
trash-ui/src/api/vio_casefile.js
@@ -224,7 +224,6 @@ export default { @@ -224,7 +224,6 @@ export default {
224 selectArea(item) { 224 selectArea(item) {
225 225
226 this.form.owningRegion = item.name; 226 this.form.owningRegion = item.name;
227 - this.form.projectName = null;  
228 227
229 }, 228 },
230 /** 查询平台违规案卷列表 */ 229 /** 查询平台违规案卷列表 */
@@ -281,7 +280,7 @@ export default { @@ -281,7 +280,7 @@ export default {
281 }; 280 };
282 this.rules.companyName = [{required: false, message: "必填", trigger: "blur"}] 281 this.rules.companyName = [{required: false, message: "必填", trigger: "blur"}]
283 this.rules.projectName = [{required: false, message: "必填", trigger: "blur"}] 282 this.rules.projectName = [{required: false, message: "必填", trigger: "blur"}]
284 - 283 + this.remoteQueryData.name = null;
285 this.resetForm("form"); 284 this.resetForm("form");
286 }, 285 },
287 /** 搜索按钮操作 */ 286 /** 搜索按钮操作 */
@@ -312,7 +311,9 @@ export default { @@ -312,7 +311,9 @@ export default {
312 /** 新增按钮操作 */ 311 /** 新增按钮操作 */
313 handleAdd() { 312 handleAdd() {
314 this.reset(); 313 this.reset();
315 - this.open = true; 314 + this.open = true;
  315 + this.form.projectName = null;
  316 + this.getRemoteDate();
316 this.form.number = this.getNumber(); 317 this.form.number = this.getNumber();
317 this.form.violationGrade = "一般类"; 318 this.form.violationGrade = "一般类";
318 this.form.sendObject = "区管理部门"; 319 this.form.sendObject = "区管理部门";
trash-ui/src/layout/index.vue
1 <template> 1 <template>
2 <div :class="classObj" class="app-wrapper"> 2 <div :class="classObj" class="app-wrapper">
3 <sidebar class="sidebar-container" /> 3 <sidebar class="sidebar-container" />
4 - <div :class="{ hasTagsView: true }" class="main-container"> 4 + <div :class="{ hasTagsView: false }" class="main-container">
5 <tags-view v-if="needTagsView" /> 5 <tags-view v-if="needTagsView" />
6 <app-main /> 6 <app-main />
7 7
trash-ui/src/layout/index44.vue renamed to trash-ui/src/layout/index4.vue
trash-ui/src/main.js
@@ -37,8 +37,8 @@ Vue.prototype.handleTree = handleTree @@ -37,8 +37,8 @@ Vue.prototype.handleTree = handleTree
37 Vue.prototype.parseStatus = parseStatus 37 Vue.prototype.parseStatus = parseStatus
38 Vue.prototype.checkPer = checkPermi 38 Vue.prototype.checkPer = checkPermi
39 39
40 -// Vue.prototype.remoteFrame = "http://183.66.242.6:14601"  
41 -Vue.prototype.remoteFrame = "http://175.6.47.84:8008" 40 +Vue.prototype.remoteFrame = "http://183.66.242.6:14601"
  41 +// Vue.prototype.remoteFrame = "http://175.6.47.84:8008"
42 42
43 Vue.prototype.msgSuccess = function (msg) { 43 Vue.prototype.msgSuccess = function (msg) {
44 this.$message({ showClose: true, message: msg, type: "success" }); 44 this.$message({ showClose: true, message: msg, type: "success" });
trash-ui/src/router/index.js
@@ -117,18 +117,24 @@ export const constantRoutes = [ @@ -117,18 +117,24 @@ export const constantRoutes = [
117 meta: { title: '修改生成配置' } 117 meta: { title: '修改生成配置' }
118 } 118 }
119 ] 119 ]
120 - }, 120 + },
121 { 121 {
122 path: '/business', 122 path: '/business',
123 component: Layout, 123 component: Layout,
124 - hidden: true, 124 + hidden: false,
125 children: [ 125 children: [
126 { 126 {
127 path: 'credit/ConstructionCredit', 127 path: 'credit/ConstructionCredit',
128 component: (resolve) => require(['@/views/business/ConstructionCredit'], resolve), 128 component: (resolve) => require(['@/views/business/ConstructionCredit'], resolve),
129 name: '工地失信管理', 129 name: '工地失信管理',
130 meta: { title: '工地失信管理' } 130 meta: { title: '工地失信管理' }
131 - }, 131 + },
  132 + {
  133 + path: 'track',
  134 + component: (resolve) => require(['@/views/business/track'], resolve),
  135 + name: '跟踪监督',
  136 + meta: { title: '跟踪监督' }
  137 + },
132 { 138 {
133 path: 'supervision/threestep', 139 path: 'supervision/threestep',
134 component: (resolve) => require(['@/views/business/threestep'], resolve), 140 component: (resolve) => require(['@/views/business/threestep'], resolve),
@@ -200,7 +206,7 @@ export const constantRoutes = [ @@ -200,7 +206,7 @@ export const constantRoutes = [
200 }, { 206 }, {
201 path: '/other', 207 path: '/other',
202 component: Layout, 208 component: Layout,
203 - hidden: false, 209 + hidden: true,
204 children: [ 210 children: [
205 { 211 {
206 path: 'otherData', 212 path: 'otherData',
@@ -236,7 +242,7 @@ export const constantRoutes = [ @@ -236,7 +242,7 @@ export const constantRoutes = [
236 }, { 242 }, {
237 path: '/h5', 243 path: '/h5',
238 component: Layout, 244 component: Layout,
239 - hidden: false, 245 + hidden: true,
240 children: [ 246 children: [
241 { 247 {
242 path: 'task', 248 path: 'task',
@@ -338,7 +344,7 @@ export const constantRoutes = [ @@ -338,7 +344,7 @@ export const constantRoutes = [
338 { 344 {
339 path: '/daily', 345 path: '/daily',
340 component: Layout, 346 component: Layout,
341 - hidden: false, 347 + hidden: true,
342 children: [ 348 children: [
343 { 349 {
344 path: 'report/index', 350 path: 'report/index',
trash-ui/src/views/business/track/index.vue 0 → 100644
  1 +<template>
  2 + <div class="app-container">
  3 +
  4 + <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
  5 + <el-menu-item index="0" >工地</el-menu-item>
  6 + <el-menu-item index="1">消纳场</el-menu-item>
  7 + <el-menu-item index="2">企业</el-menu-item>
  8 + <el-menu-item index="3">合同</el-menu-item>
  9 + <el-menu-item index="4">车辆</el-menu-item>
  10 + <el-menu-item index="5">后勤管理</el-menu-item>
  11 + <el-menu-item index="6">交办案卷</el-menu-item>
  12 + <el-menu-item index="7">违规案卷</el-menu-item>
  13 + <el-menu-item index="99">设置</el-menu-item>
  14 + </el-menu>
  15 +
  16 +
  17 + <!-- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  18 + <el-form-item label="督办项目名称" prop="title">
  19 + <el-select v-model="queryParams.title" placeholder="督办项目名称" clearable size="small">
  20 + <el-option label="请选择字典生成" value="" />
  21 + </el-select>
  22 + <el-input
  23 + v-model="queryParams.title"
  24 + placeholder="请输入所属区域"
  25 + clearable
  26 + size="small"
  27 + @keyup.enter.native="handleQuery"
  28 + />
  29 + </el-form-item>
  30 + <el-form-item label="所属区域" prop="place">
  31 + <el-input
  32 + v-model="queryParams.place"
  33 + placeholder="请输入所属区域"
  34 + clearable
  35 + size="small"
  36 + @keyup.enter.native="handleQuery"
  37 + />
  38 + </el-form-item>
  39 + <el-form-item>
  40 + <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  41 + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  42 + </el-form-item>
  43 + </el-form>
  44 +
  45 + <el-row :gutter="10" class="mb8">
  46 + <el-col :span="1.5">
  47 + <el-button
  48 + type="primary"
  49 + icon="el-icon-plus"
  50 + size="mini"
  51 + @click="handleAdd"
  52 + v-hasPermi="['workflow:track:add']"
  53 + >新增</el-button>
  54 + </el-col>
  55 + <el-col :span="1.5">
  56 + <el-button
  57 + type="success"
  58 + icon="el-icon-edit"
  59 + size="mini"
  60 + :disabled="single"
  61 + @click="handleUpdate"
  62 + v-hasPermi="['workflow:track:edit']"
  63 + >修改</el-button>
  64 + </el-col>
  65 + <el-col :span="1.5">
  66 + <el-button
  67 + type="danger"
  68 + icon="el-icon-delete"
  69 + size="mini"
  70 + :disabled="multiple"
  71 + @click="handleDelete"
  72 + v-hasPermi="['workflow:track:remove']"
  73 + >删除</el-button>
  74 + </el-col>
  75 + <el-col :span="1.5">
  76 + <el-button
  77 + type="warning"
  78 + icon="el-icon-download"
  79 + size="mini"
  80 + @click="handleExport"
  81 + v-hasPermi="['workflow:track:export']"
  82 + >导出</el-button>
  83 + </el-col>
  84 + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  85 + </el-row>
  86 + -->
  87 +
  88 + <el-table v-loading="loading" :data="trackList" >
  89 + <el-table-column label="序号" align="center" type="index" />
  90 + <el-table-column label="督查事项" align="center" prop="title">
  91 + <template slot-scope="scope">
  92 + <a @click="getInfo(scope.row.type,scope.row.objectId,scope.row.id);">{{ (scope.row.title)}}</a>
  93 + </template>
  94 + </el-table-column>
  95 + <el-table-column label="所属区域" align="center" prop="place" />
  96 + <el-table-column label="生成时间" align="center" prop="createTime" width="180">
  97 + <template slot-scope="scope">
  98 + <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
  99 + </template>
  100 + </el-table-column>
  101 + <el-table-column label="督察时间" align="center" prop="updateTime" width="180">
  102 + <template slot-scope="scope">
  103 + <span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span>
  104 + </template>
  105 + </el-table-column>
  106 + <el-table-column label="督察结果" align="center" prop="status" >
  107 + <template slot-scope="scope">
  108 + <span>{{ (scope.row.status == 1 ? "审批通过" : "")}}</span>
  109 + </template>
  110 + </el-table-column>
  111 + </el-table>
  112 +
  113 + <pagination
  114 + v-show="total>0"
  115 + :total="total"
  116 + :page.sync="queryParams.pageNum"
  117 + :limit.sync="queryParams.pageSize"
  118 + @pagination="getList"
  119 + />
  120 +
  121 + <el-dialog title="详情" :visible.sync="infoDialog" width="1500px" append-to-body>
  122 + <companyInfo :businessKey="objectId" :businessType="objectType" v-if="infoDialog"/>
  123 +
  124 + <div slot="footer" class="dialog-footer">
  125 + <el-button type="success" @click="update(0)">督察通过</el-button>
  126 + <el-button type="danger" @click="update(3)">督察异常</el-button>
  127 + </div>
  128 + </el-dialog>
  129 +
  130 + <el-dialog title="督办推送设置" :visible.sync="settingsOpen">
  131 +
  132 + <el-button @click="saveSettings();" type="success" style="float:right;margin-left: 20px;">保存</el-button>
  133 + <br />
  134 + <el-form label-width="150px" v-if="settings">
  135 + <h3>工地设置</h3>
  136 + <el-row>
  137 + <el-col :span="8">
  138 + <el-form-item label="异常流程审批超时(天)" >
  139 + <el-input v-model="settings.type_0_timeout" type="number"
  140 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  141 + </el-form-item>
  142 + </el-col>
  143 + <el-col :span="8">
  144 + <el-form-item label="推送时间范围(季度)" >
  145 + <el-input v-model="settings.type_0_season" type="number"
  146 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  147 + </el-form-item></el-col>
  148 + <el-col :span="8">
  149 + <el-form-item label="推送数据比例(n%)" >
  150 + <el-input v-model="settings.type_0_pect" type="number"
  151 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  152 + </el-form-item></el-col>
  153 + </el-row>
  154 + <h3>消纳场</h3>
  155 + <el-row>
  156 + <el-col :span="8">
  157 + <el-form-item label="异常流程审批超时(天)" >
  158 + <el-input v-model="settings.type_1_timeout" type="number"
  159 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  160 + </el-form-item>
  161 + </el-col>
  162 + <el-col :span="8">
  163 + <el-form-item label="推送时间范围(季度)" >
  164 + <el-input v-model="settings.type_1_season" type="number"
  165 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  166 + </el-form-item></el-col>
  167 + <el-col :span="8">
  168 + <el-form-item label="推送数据比例(n%)" >
  169 + <el-input v-model="settings.type_1_pect" type="number"
  170 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  171 + </el-form-item></el-col>
  172 + </el-row>
  173 +
  174 + <h3>企业</h3>
  175 + <el-row>
  176 + <el-col :span="8">
  177 + <el-form-item label="异常流程审批超时(天)" >
  178 + <el-input v-model="settings.type_2_timeout" type="number"
  179 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  180 + </el-form-item>
  181 + </el-col>
  182 + <el-col :span="8">
  183 + <el-form-item label="推送时间范围(季度)" >
  184 + <el-input v-model="settings.type_2_season" type="number"
  185 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  186 + </el-form-item></el-col>
  187 + <el-col :span="8">
  188 + <el-form-item label="推送数据比例(n%)" >
  189 + <el-input v-model="settings.type_2_pect" type="number"
  190 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  191 + </el-form-item></el-col>
  192 + </el-row>
  193 + <h3>合同</h3>
  194 + <el-row>
  195 + <el-col :span="8">
  196 + <el-form-item label="异常流程审批超时(天)" >
  197 + <el-input v-model="settings.type_3_timeout" type="number"
  198 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  199 + </el-form-item>
  200 + </el-col>
  201 + <el-col :span="8">
  202 + <el-form-item label="推送时间范围(季度)" >
  203 + <el-input v-model="settings.type_3_season" type="number"
  204 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  205 + </el-form-item></el-col>
  206 + <el-col :span="8">
  207 + <el-form-item label="推送数据比例(n%)" >
  208 + <el-input v-model="settings.type_3_pect" type="number"
  209 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  210 + </el-form-item></el-col>
  211 + </el-row>
  212 + <h3>车辆</h3>
  213 + <el-row>
  214 + <el-col :span="8">
  215 + <el-form-item label="异常流程审批超时(天)" >
  216 + <el-input v-model="settings.type_4_timeout" type="number"
  217 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  218 + </el-form-item>
  219 + </el-col>
  220 + <el-col :span="8">
  221 + <el-form-item label="推送时间范围(季度)" >
  222 + <el-input v-model="settings.type_4_season" type="number"
  223 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  224 + </el-form-item></el-col>
  225 + <el-col :span="8">
  226 + <el-form-item label="推送数据比例(n%)" >
  227 + <el-input v-model="settings.type_4_pect" type="number"
  228 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  229 + </el-form-item></el-col>
  230 + </el-row>
  231 + <h3>后勤管理</h3>
  232 + <el-row>
  233 + <el-col :span="8">
  234 + <el-form-item label="异常流程审批超时(天)" >
  235 + <el-input v-model="settings.type_5_timeout" type="number"
  236 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  237 + </el-form-item>
  238 + </el-col>
  239 + <el-col :span="8">
  240 + <el-form-item label="推送时间范围(季度)" >
  241 + <el-input v-model="settings.type_5_season" type="number"
  242 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  243 + </el-form-item></el-col>
  244 + <el-col :span="8">
  245 + <el-form-item label="推送数据比例(n%)" >
  246 + <el-input v-model="settings.type_5_pect" type="number"
  247 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  248 + </el-form-item></el-col>
  249 + </el-row>
  250 + <h3>交办案卷</h3>
  251 + <el-row>
  252 + <el-col :span="8">
  253 + <el-form-item label="异常流程审批超时(天)" >
  254 + <el-input v-model="settings.type_6_timeout" type="number"
  255 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  256 + </el-form-item>
  257 + </el-col>
  258 + <el-col :span="8">
  259 + <el-form-item label="推送时间范围(季度)" >
  260 + <el-input v-model="settings.type_6_season" type="number"
  261 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  262 + </el-form-item></el-col>
  263 + <el-col :span="8">
  264 + <el-form-item label="推送数据比例(n%)" >
  265 + <el-input v-model="settings.type_6_pect" type="number"
  266 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"/>
  267 + </el-form-item></el-col>
  268 + </el-row>
  269 + <h3>违规案卷</h3>
  270 + <el-row>
  271 + <el-col :span="8">
  272 + <el-form-item label="异常流程审批超时(天)" >
  273 + <el-input v-model="settings.type_7_timeout" type="number"
  274 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>365){value=365}"/>
  275 + </el-form-item>
  276 + </el-col>
  277 + <el-col :span="8">
  278 + <el-form-item label="推送时间范围(季度)" >
  279 + <el-input v-model="settings.type_7_season" type="number"
  280 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>4){value=4}"/>
  281 + </el-form-item></el-col>
  282 + <el-col :span="8">
  283 + <el-form-item label="推送数据比例(n%)" >
  284 + <el-input v-model="settings.type_7_pect" type="number"
  285 + oninput="if(value){value=value.replace(/[^\d]/g,'')} if(value<=1){value=1} if(value>100){value=100}"
  286 + />
  287 + </el-form-item></el-col>
  288 + </el-row>
  289 + </el-form>
  290 + </el-dialog>
  291 +
  292 + <!-- 添加或修改跟踪监督对话框
  293 + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
  294 + <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  295 + <el-form-item label="类型 0工地 1消纳场 2企业 3合同 4车 5后勤管理 6电子交办案卷 7违规案卷" prop="type">
  296 + <el-select v-model="form.type" placeholder="请选择类型 0工地 1消纳场 2企业 3合同 4车 5后勤管理 6电子交办案卷 7违规案卷">
  297 + <el-option label="请选择字典生成" value="" />
  298 + </el-select>
  299 + </el-form-item>
  300 + <el-form-item label="督查事项" prop="title">
  301 + <el-input v-model="form.title" type="textarea" placeholder="请输入内容" />
  302 + </el-form-item>
  303 + <el-form-item label="部门" prop="dept">
  304 + <el-input v-model="form.dept" placeholder="请输入部门" />
  305 + </el-form-item>
  306 + <el-form-item label="所属区域" prop="place">
  307 + <el-input v-model="form.place" placeholder="请输入所属区域" />
  308 + </el-form-item>
  309 + <el-form-item label="所属区域" prop="attach">
  310 + <el-input v-model="form.attach" placeholder="请输入所属区域" />
  311 + </el-form-item>
  312 + <el-form-item label="审批状态 0审批中 1审批通过 2审批驳回 3异常审批 4异常通过 5异常驳回">
  313 + <el-radio-group v-model="form.status">
  314 + <el-radio label="1">请选择字典生成</el-radio>
  315 + </el-radio-group>
  316 + </el-form-item>
  317 + <el-form-item label="基础数据ID" prop="objectId">
  318 + <el-input v-model="form.objectId" placeholder="请输入基础数据ID" />
  319 + </el-form-item>
  320 + </el-form>
  321 + <div slot="footer" class="dialog-footer">
  322 + <el-button type="primary" @click="submitForm">确 定</el-button>
  323 + <el-button @click="cancel">取 消</el-button>
  324 + </div>
  325 + </el-dialog>-->
  326 + </div>
  327 +</template>
  328 +
  329 +
  330 +
  331 +<script src="../../../api/track.js" />
trash-workFlow/src/main/java/com/trash/business/controller/SupervisionTrackController.java 0 → 100644
  1 +package com.trash.business.controller;
  2 +
  3 +import java.io.File;
  4 +import java.io.FileInputStream;
  5 +import java.io.FileNotFoundException;
  6 +import java.io.FileOutputStream;
  7 +import java.io.IOException;
  8 +import java.util.HashMap;
  9 +import java.util.List;
  10 +import java.util.Map;
  11 +
  12 +import org.springframework.security.access.prepost.PreAuthorize;
  13 +import org.springframework.beans.factory.annotation.Autowired;
  14 +import org.springframework.web.bind.annotation.GetMapping;
  15 +import org.springframework.web.bind.annotation.PostMapping;
  16 +import org.springframework.web.bind.annotation.PutMapping;
  17 +import org.springframework.web.bind.annotation.DeleteMapping;
  18 +import org.springframework.web.bind.annotation.PathVariable;
  19 +import org.springframework.web.bind.annotation.RequestBody;
  20 +import org.springframework.web.bind.annotation.RequestMapping;
  21 +import org.springframework.web.bind.annotation.RestController;
  22 +import com.trash.common.annotation.Log;
  23 +import com.trash.common.core.controller.BaseController;
  24 +import com.trash.common.core.domain.AjaxResult;
  25 +import com.trash.common.enums.BusinessType;
  26 +import com.trash.business.domain.SupervisionTrack;
  27 +import com.trash.business.service.ISupervisionTrackService;
  28 +import com.trash.common.utils.poi.ExcelUtil;
  29 +import com.trash.common.core.page.TableDataInfo;
  30 +
  31 +/**
  32 + * 跟踪监督Controller
  33 + *
  34 + * @author wmh
  35 + * @date 2023-11-22
  36 + */
  37 +@RestController
  38 +@RequestMapping("/business/track")
  39 +public class SupervisionTrackController extends BaseController
  40 +{
  41 + @Autowired
  42 + private ISupervisionTrackService supervisionTrackService;
  43 +
  44 + /**
  45 + * 查询跟踪监督列表
  46 + */
  47 + @GetMapping("/list")
  48 + public TableDataInfo list(SupervisionTrack supervisionTrack)
  49 + {
  50 + startPage();
  51 + List<SupervisionTrack> list = supervisionTrackService.selectSupervisionTrackList(supervisionTrack);
  52 + return getDataTable(list);
  53 + }
  54 +
  55 + /**
  56 + * 查询跟踪监督列表
  57 + */
  58 + @GetMapping("/getSettings")
  59 + public AjaxResult getSettings()
  60 + {
  61 + Map map = new HashMap<String, String>();
  62 + File file =new File("./settings.txt");
  63 +
  64 +
  65 + String params = "2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10";
  66 +
  67 + if(!file.exists()){
  68 + try {
  69 + file.createNewFile();
  70 +
  71 + FileOutputStream fos =new FileOutputStream(file);
  72 +
  73 + fos.write(params.getBytes());
  74 + fos.flush();
  75 +
  76 + fos.close();
  77 +
  78 + } catch (IOException e) {
  79 + // TODO Auto-generated catch block
  80 + e.printStackTrace();
  81 + }
  82 + }else{
  83 + try {
  84 + FileInputStream fis = new FileInputStream(file);
  85 +
  86 + byte[] bs = new byte[fis.available()];
  87 +
  88 + fis.read(bs);
  89 +
  90 + params = new String(bs);
  91 +
  92 +
  93 + } catch (Exception e) {
  94 + // TODO Auto-generated catch block
  95 + e.printStackTrace();
  96 + }
  97 +
  98 + }
  99 +
  100 +
  101 + String[] arr = params.split(" ");
  102 +
  103 + for(int i =0;i<8;i++){
  104 + map.put("type_"+i+"_timeout", arr[i*3]);
  105 + map.put("type_"+i+"_season", arr[i*3+1]);
  106 + map.put("type_"+i+"_pect", arr[i*3+2]);
  107 + }
  108 +
  109 +
  110 + return AjaxResult.success(map);
  111 + }
  112 +
  113 + @PostMapping("/saveSettings")
  114 + public AjaxResult saveSettings(@RequestBody Map<String, String> map)
  115 + {
  116 + File file =new File("./settings.txt");
  117 +
  118 + String params = "";
  119 +
  120 + for(int i =0;i<8;i++){
  121 + params += " " + map.get("type_"+i+"_timeout") + " " + map.get("type_"+i+"_season") + " " + map.get("type_"+i+"_pect");
  122 + }
  123 + if(!file.exists()){
  124 + try {
  125 + file.createNewFile();
  126 + } catch (IOException e) {
  127 + // TODO Auto-generated catch block
  128 + e.printStackTrace();
  129 + }
  130 + }
  131 +
  132 + params = params.substring(1,params.length());
  133 +
  134 + try {
  135 + FileOutputStream fos =new FileOutputStream(file);
  136 +
  137 + fos.write(params.getBytes());
  138 + fos.flush();
  139 +
  140 + fos.close();
  141 + } catch (IOException e) {
  142 + // TODO Auto-generated catch block
  143 + e.printStackTrace();
  144 + }
  145 +
  146 +
  147 + return AjaxResult.success();
  148 + }
  149 +
  150 + /**
  151 + * 导出跟踪监督列表
  152 + */
  153 + @Log(title = "跟踪监督", businessType = BusinessType.EXPORT)
  154 + @GetMapping("/export")
  155 + public AjaxResult export(SupervisionTrack supervisionTrack)
  156 + {
  157 + List<SupervisionTrack> list = supervisionTrackService.selectSupervisionTrackList(supervisionTrack);
  158 + ExcelUtil<SupervisionTrack> util = new ExcelUtil<SupervisionTrack>(SupervisionTrack.class);
  159 + return util.exportExcel(list, "track");
  160 + }
  161 +
  162 + /**
  163 + * 获取跟踪监督详细信息
  164 + */
  165 + @GetMapping(value = "/{id}")
  166 + public AjaxResult getInfo(@PathVariable("id") Long id)
  167 + {
  168 + return AjaxResult.success(supervisionTrackService.selectSupervisionTrackById(id));
  169 + }
  170 +
  171 + /**
  172 + * 新增跟踪监督
  173 + */
  174 + @PreAuthorize("@ss.hasPermi('business:track:add')")
  175 + @Log(title = "跟踪监督", businessType = BusinessType.INSERT)
  176 + @PostMapping
  177 + public AjaxResult add(@RequestBody SupervisionTrack supervisionTrack)
  178 + {
  179 + return toAjax(supervisionTrackService.insertSupervisionTrack(supervisionTrack));
  180 + }
  181 +
  182 + /**
  183 + * 修改跟踪监督
  184 + */
  185 + @Log(title = "跟踪监督", businessType = BusinessType.UPDATE)
  186 + @PutMapping
  187 + public AjaxResult edit(@RequestBody SupervisionTrack supervisionTrack)
  188 + {
  189 + return toAjax(supervisionTrackService.updateSupervisionTrack(supervisionTrack));
  190 + }
  191 +
  192 + /**
  193 + * 删除跟踪监督
  194 + */
  195 + @Log(title = "跟踪监督", businessType = BusinessType.DELETE)
  196 + @DeleteMapping("/{ids}")
  197 + public AjaxResult remove(@PathVariable Long[] ids)
  198 + {
  199 + return toAjax(supervisionTrackService.deleteSupervisionTrackByIds(ids));
  200 + }
  201 +}
trash-workFlow/src/main/java/com/trash/business/domain/SupervisionTrack.java 0 → 100644
  1 +package com.trash.business.domain;
  2 +
  3 +import org.apache.commons.lang3.builder.ToStringBuilder;
  4 +import org.apache.commons.lang3.builder.ToStringStyle;
  5 +import com.trash.common.annotation.Excel;
  6 +import com.trash.common.core.domain.BaseEntity;
  7 +
  8 +/**
  9 + * 跟踪监督对象 supervision_track
  10 + *
  11 + * @author wmh
  12 + * @date 2023-11-22
  13 + */
  14 +public class SupervisionTrack extends BaseEntity
  15 +{
  16 + private static final long serialVersionUID = 1L;
  17 +
  18 + /** 主键ID */
  19 + private Long id;
  20 +
  21 + /** 类型 0工地 1消纳场 2企业 3合同 4车 5后勤管理 6电子交办案卷 7违规案卷 */
  22 + @Excel(name = "类型 0工地 1消纳场 2企业 3合同 4车 5后勤管理 6电子交办案卷 7违规案卷")
  23 + private Integer type;
  24 +
  25 + /** 督查事项 */
  26 + @Excel(name = "督查事项")
  27 + private String title;
  28 +
  29 + /** 部门 */
  30 + private String dept;
  31 +
  32 + /** 所属区域 */
  33 + @Excel(name = "所属区域")
  34 + private String place;
  35 +
  36 + /** $column.columnComment */
  37 + private String attach;
  38 +
  39 + /** 审批状态 0审批中 1审批通过 2审批驳回 3异常审批 4异常通过 5异常驳回 */
  40 + @Excel(name = "审批状态 0审批中 1审批通过 2审批驳回 3异常审批 4异常通过 5异常驳回")
  41 + private Integer status;
  42 +
  43 + /** 基础数据ID */
  44 + @Excel(name = "基础数据ID")
  45 + private String objectId;
  46 +
  47 + public void setId(Long id)
  48 + {
  49 + this.id = id;
  50 + }
  51 +
  52 + public Long getId()
  53 + {
  54 + return id;
  55 + }
  56 + public void setType(Integer type)
  57 + {
  58 + this.type = type;
  59 + }
  60 +
  61 + public Integer getType()
  62 + {
  63 + return type;
  64 + }
  65 + public void setTitle(String title)
  66 + {
  67 + this.title = title;
  68 + }
  69 +
  70 + public String getTitle()
  71 + {
  72 + return title;
  73 + }
  74 + public void setDept(String dept)
  75 + {
  76 + this.dept = dept;
  77 + }
  78 +
  79 + public String getDept()
  80 + {
  81 + return dept;
  82 + }
  83 + public void setPlace(String place)
  84 + {
  85 + this.place = place;
  86 + }
  87 +
  88 + public String getPlace()
  89 + {
  90 + return place;
  91 + }
  92 + public void setAttach(String attach)
  93 + {
  94 + this.attach = attach;
  95 + }
  96 +
  97 + public String getAttach()
  98 + {
  99 + return attach;
  100 + }
  101 + public void setStatus(Integer status)
  102 + {
  103 + this.status = status;
  104 + }
  105 +
  106 + public Integer getStatus()
  107 + {
  108 + return status;
  109 + }
  110 + public void setObjectId(String objectId)
  111 + {
  112 + this.objectId = objectId;
  113 + }
  114 +
  115 + public String getObjectId()
  116 + {
  117 + return objectId;
  118 + }
  119 +
  120 + @Override
  121 + public String toString() {
  122 + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
  123 + .append("id", getId())
  124 + .append("type", getType())
  125 + .append("title", getTitle())
  126 + .append("dept", getDept())
  127 + .append("place", getPlace())
  128 + .append("createBy", getCreateBy())
  129 + .append("createTime", getCreateTime())
  130 + .append("updateTime", getUpdateTime())
  131 + .append("updateBy", getUpdateBy())
  132 + .append("attach", getAttach())
  133 + .append("status", getStatus())
  134 + .append("objectId", getObjectId())
  135 + .toString();
  136 + }
  137 +}
trash-workFlow/src/main/java/com/trash/business/mapper/SupervisionTrackMapper.java 0 → 100644
  1 +package com.trash.business.mapper;
  2 +
  3 +import java.util.List;
  4 +import com.trash.business.domain.SupervisionTrack;
  5 +
  6 +/**
  7 + * 跟踪监督Mapper接口
  8 + *
  9 + * @author wmh
  10 + * @date 2023-11-22
  11 + */
  12 +public interface SupervisionTrackMapper
  13 +{
  14 + /**
  15 + * 查询跟踪监督
  16 + *
  17 + * @param id 跟踪监督ID
  18 + * @return 跟踪监督
  19 + */
  20 + SupervisionTrack selectSupervisionTrackById(Long id);
  21 +
  22 + /**
  23 + * 查询跟踪监督列表
  24 + *
  25 + * @param supervisionTrack 跟踪监督
  26 + * @return 跟踪监督集合
  27 + */
  28 + List<SupervisionTrack> selectSupervisionTrackList(SupervisionTrack supervisionTrack);
  29 +
  30 + /**
  31 + * 新增跟踪监督
  32 + *
  33 + * @param supervisionTrack 跟踪监督
  34 + * @return 结果
  35 + */
  36 + int insertSupervisionTrack(SupervisionTrack supervisionTrack);
  37 +
  38 + /**
  39 + * 修改跟踪监督
  40 + *
  41 + * @param supervisionTrack 跟踪监督
  42 + * @return 结果
  43 + */
  44 + int updateSupervisionTrack(SupervisionTrack supervisionTrack);
  45 +
  46 + /**
  47 + * 删除跟踪监督
  48 + *
  49 + * @param id 跟踪监督ID
  50 + * @return 结果
  51 + */
  52 + int deleteSupervisionTrackById(Long id);
  53 +
  54 + /**
  55 + * 批量删除跟踪监督
  56 + *
  57 + * @param ids 需要删除的数据ID
  58 + * @return 结果
  59 + */
  60 + int deleteSupervisionTrackByIds(Long[] ids);
  61 +}
trash-workFlow/src/main/java/com/trash/business/service/ISupervisionTrackService.java 0 → 100644
  1 +package com.trash.business.service;
  2 +
  3 +import java.util.List;
  4 +import com.trash.business.domain.SupervisionTrack;
  5 +
  6 +/**
  7 + * 跟踪监督Service接口
  8 + *
  9 + * @author wmh
  10 + * @date 2023-11-22
  11 + */
  12 +public interface ISupervisionTrackService
  13 +{
  14 + /**
  15 + * 查询跟踪监督
  16 + *
  17 + * @param id 跟踪监督ID
  18 + * @return 跟踪监督
  19 + */
  20 + SupervisionTrack selectSupervisionTrackById(Long id);
  21 +
  22 + /**
  23 + * 查询跟踪监督列表
  24 + *
  25 + * @param supervisionTrack 跟踪监督
  26 + * @return 跟踪监督集合
  27 + */
  28 + List<SupervisionTrack> selectSupervisionTrackList(SupervisionTrack supervisionTrack);
  29 +
  30 + /**
  31 + * 新增跟踪监督
  32 + *
  33 + * @param supervisionTrack 跟踪监督
  34 + * @return 结果
  35 + */
  36 + int insertSupervisionTrack(SupervisionTrack supervisionTrack);
  37 +
  38 + /**
  39 + * 修改跟踪监督
  40 + *
  41 + * @param supervisionTrack 跟踪监督
  42 + * @return 结果
  43 + */
  44 + int updateSupervisionTrack(SupervisionTrack supervisionTrack);
  45 +
  46 + /**
  47 + * 批量删除跟踪监督
  48 + *
  49 + * @param ids 需要删除的跟踪监督ID
  50 + * @return 结果
  51 + */
  52 + int deleteSupervisionTrackByIds(Long[] ids);
  53 +
  54 + /**
  55 + * 删除跟踪监督信息
  56 + *
  57 + * @param id 跟踪监督ID
  58 + * @return 结果
  59 + */
  60 + int deleteSupervisionTrackById(Long id);
  61 +}
trash-workFlow/src/main/java/com/trash/business/service/impl/SupervisionTrackServiceImpl.java 0 → 100644
  1 +package com.trash.business.service.impl;
  2 +
  3 +import java.io.File;
  4 +import java.io.FileInputStream;
  5 +import java.io.FileOutputStream;
  6 +import java.io.IOException;
  7 +import java.text.SimpleDateFormat;
  8 +import java.util.Date;
  9 +import java.util.HashMap;
  10 +import java.util.List;
  11 +import java.util.Map;
  12 +
  13 +import com.trash.common.utils.DateUtils;
  14 +import com.trash.workflow.domain.Workflow;
  15 +import com.trash.workflow.service.IWorkflowService;
  16 +import com.trash.workflow.service.impl.WorkflowServiceImpl;
  17 +
  18 +import org.springframework.beans.factory.annotation.Autowired;
  19 +import org.springframework.stereotype.Service;
  20 +import org.springframework.transaction.annotation.Transactional;
  21 +
  22 +import com.trash.business.mapper.SupervisionTrackMapper;
  23 +import com.trash.business.domain.SupervisionTrack;
  24 +import com.trash.business.service.ISupervisionTrackService;
  25 +
  26 +/**
  27 + * 跟踪监督Service业务层处理
  28 + *
  29 + * @author wmh
  30 + * @date 2023-11-22
  31 + */
  32 +@Service
  33 +public class SupervisionTrackServiceImpl implements ISupervisionTrackService
  34 +{
  35 + @Autowired
  36 + private SupervisionTrackMapper supervisionTrackMapper;
  37 +
  38 +
  39 + @Autowired
  40 + IWorkflowService workflowService;
  41 +
  42 + /**
  43 + * 查询跟踪监督
  44 + *
  45 + * @param id 跟踪监督ID
  46 + * @return 跟踪监督
  47 + */
  48 + @Override
  49 + public SupervisionTrack selectSupervisionTrackById(Long id)
  50 + {
  51 + return supervisionTrackMapper.selectSupervisionTrackById(id);
  52 + }
  53 +
  54 + /**
  55 + * 查询跟踪监督列表
  56 + *
  57 + * @param supervisionTrack 跟踪监督
  58 + * @return 跟踪监督
  59 + */
  60 + @Override
  61 + public List<SupervisionTrack> selectSupervisionTrackList(SupervisionTrack supervisionTrack)
  62 + {
  63 + return supervisionTrackMapper.selectSupervisionTrackList(supervisionTrack);
  64 + }
  65 +
  66 + /**
  67 + * 新增跟踪监督
  68 + *
  69 + * @param supervisionTrack 跟踪监督
  70 + * @return 结果
  71 + */
  72 + @Override
  73 + public int insertSupervisionTrack(SupervisionTrack supervisionTrack)
  74 + {
  75 + supervisionTrack.setCreateTime(DateUtils.getNowDate());
  76 + return supervisionTrackMapper.insertSupervisionTrack(supervisionTrack);
  77 + }
  78 +
  79 +
  80 + public String[] getTimeOutParams(){
  81 +
  82 + File file =new File("./settings.txt");
  83 +
  84 +
  85 + String params = "2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10 2 1 10";
  86 +
  87 + if(!file.exists()){
  88 + try {
  89 + file.createNewFile();
  90 +
  91 + FileOutputStream fos =new FileOutputStream(file);
  92 +
  93 + fos.write(params.getBytes());
  94 + fos.flush();
  95 +
  96 + fos.close();
  97 +
  98 + } catch (IOException e) {
  99 + // TODO Auto-generated catch block
  100 + e.printStackTrace();
  101 + }
  102 + }else{
  103 + try {
  104 + FileInputStream fis = new FileInputStream(file);
  105 +
  106 + byte[] bs = new byte[fis.available()];
  107 +
  108 + fis.read(bs);
  109 +
  110 + params = new String(bs);
  111 +
  112 +
  113 + } catch (Exception e) {
  114 + // TODO Auto-generated catch block
  115 + e.printStackTrace();
  116 + }
  117 +
  118 + }
  119 +
  120 +
  121 + String[] arr = params.split(" ");
  122 +
  123 + return arr;
  124 +
  125 + }
  126 +
  127 + /**
  128 + * 修改跟踪监督
  129 + *
  130 + * @param supervisionTrack 跟踪监督
  131 + * @return 结果
  132 + */
  133 +
  134 + String workflow_supervision = "workflow_supervision";
  135 + String[] workflow = {"supervision-gongdi","supervision_xnc","supervision_company","supervision_contract","supervision_company","supervision_contract","supervision_anjuan","supervision_casefile"};
  136 +
  137 + @Override
  138 + @Transactional
  139 + public int updateSupervisionTrack(SupervisionTrack supervisionTrack)
  140 + {
  141 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  142 + Map<String, Object> map = new HashMap<String, Object>();
  143 +
  144 + int i = supervisionTrackMapper.updateSupervisionTrack(supervisionTrack);
  145 +
  146 + if(i == 1){
  147 + supervisionTrack = supervisionTrackMapper.selectSupervisionTrackById(supervisionTrack.getId());
  148 +
  149 +
  150 + Map data = new HashMap<>();
  151 +
  152 + data.put("id", supervisionTrack.getId() + "");
  153 +
  154 + if(supervisionTrack.getStatus() == 0){
  155 + map.put("type", workflow_supervision);
  156 + data.put("startTime", sdf.format(new Date()));
  157 + data.put("endTime", data.get("startTime"));
  158 + data.put("type", "督查通过");
  159 + data.put("title", "督查通过:" + supervisionTrack.getTitle());
  160 + data.put("reason", "督查通过:" + supervisionTrack.getTitle());
  161 + }else{
  162 + map.put("type", workflow[supervisionTrack.getType()]);
  163 +
  164 + Date date = new Date();
  165 +
  166 + data.put("startTime", sdf.format(date));
  167 +
  168 + date.setDate(date.getDate() + Integer.parseInt(getTimeOutParams()[supervisionTrack.getType()*3]));
  169 +
  170 + data.put("type", "督查异常");
  171 + data.put("endTime", sdf.format(date));
  172 + data.put("title", "督查异常:" + supervisionTrack.getTitle());
  173 + data.put("reason", "督查异常:" + supervisionTrack.getTitle());
  174 + }
  175 +
  176 +
  177 + map.put("data", data);
  178 +
  179 + workflowService.createWorkFlow(map);
  180 + }
  181 +
  182 +
  183 +
  184 + return i;
  185 + }
  186 +
  187 + /**
  188 + * 批量删除跟踪监督
  189 + *
  190 + * @param ids 需要删除的跟踪监督ID
  191 + * @return 结果
  192 + */
  193 + @Override
  194 + public int deleteSupervisionTrackByIds(Long[] ids)
  195 + {
  196 + return supervisionTrackMapper.deleteSupervisionTrackByIds(ids);
  197 + }
  198 +
  199 + /**
  200 + * 删除跟踪监督信息
  201 + *
  202 + * @param id 跟踪监督ID
  203 + * @return 结果
  204 + */
  205 + @Override
  206 + public int deleteSupervisionTrackById(Long id)
  207 + {
  208 + return supervisionTrackMapper.deleteSupervisionTrackById(id);
  209 + }
  210 +}
trash-workFlow/src/main/java/com/trash/casefile/domain/ViolationCaseFile.java
1 package com.trash.casefile.domain; 1 package com.trash.casefile.domain;
2 2
  3 +import java.text.ParseException;
  4 +import java.text.SimpleDateFormat;
3 import java.util.Date; 5 import java.util.Date;
4 import java.util.List; 6 import java.util.List;
5 7
  8 +import com.alibaba.fastjson.JSONObject;
6 import com.fasterxml.jackson.annotation.JsonFormat; 9 import com.fasterxml.jackson.annotation.JsonFormat;
7 import org.apache.commons.lang3.builder.ToStringBuilder; 10 import org.apache.commons.lang3.builder.ToStringBuilder;
8 import org.apache.commons.lang3.builder.ToStringStyle; 11 import org.apache.commons.lang3.builder.ToStringStyle;
@@ -89,9 +92,35 @@ public class ViolationCaseFile extends BaseEntity @@ -89,9 +92,35 @@ public class ViolationCaseFile extends BaseEntity
89 92
90 private short needUpload; 93 private short needUpload;
91 94
  95 + public ViolationCaseFile() {
  96 + }
92 97
93 -  
94 - public short getNeedUpload() { 98 + public ViolationCaseFile(JSONObject json) {
  99 + this.id = json.getLong("taskId");
  100 + this.number = json.getString("evtId");
  101 + this.setCreateBy(json.getString("reporter"));
  102 +
  103 + SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
  104 +
  105 + try {
  106 + this.createTime = sdf.parse(json.getString("reportTime"));
  107 + } catch (ParseException e) {
  108 + this.createTime = new Date();
  109 + e.printStackTrace();
  110 + }
  111 +
  112 + this.projectName = json.getString("caseClassName");
  113 +
  114 + this.describe = json.getString("regCaseStandard");
  115 +
  116 + this.owningRegion = json.getString("areaName");
  117 +
  118 + this.needUpload = 1;
  119 +
  120 +
  121 + }
  122 +
  123 + public short getNeedUpload() {
95 return needUpload; 124 return needUpload;
96 } 125 }
97 126
trash-workFlow/src/main/resources/mapper/SupervisionTrackMapper.xml 0 → 100644
  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.trash.business.mapper.SupervisionTrackMapper">
  6 +
  7 + <resultMap type="SupervisionTrack" id="SupervisionTrackResult">
  8 + <result property="id" column="id" />
  9 + <result property="type" column="type" />
  10 + <result property="title" column="title" />
  11 + <result property="dept" column="dept" />
  12 + <result property="place" column="place" />
  13 + <result property="createBy" column="create_by" />
  14 + <result property="createTime" column="create_time" />
  15 + <result property="updateTime" column="update_time" />
  16 + <result property="updateBy" column="update_by" />
  17 + <result property="attach" column="attach" />
  18 + <result property="status" column="status" />
  19 + <result property="objectId" column="object_id" />
  20 + </resultMap>
  21 +
  22 + <sql id="selectSupervisionTrackVo">
  23 + select id, type, title, dept, place, create_by, create_time, update_time, update_by, attach, status, object_id from supervision_track
  24 + </sql>
  25 +
  26 + <select id="selectSupervisionTrackList" parameterType="SupervisionTrack" resultMap="SupervisionTrackResult">
  27 + <include refid="selectSupervisionTrackVo"/>
  28 + <where>
  29 + <if test="type != null "> and type = #{type}</if>
  30 + <if test="title != null and title != ''"> and title like concat('%', #{title}, '%')</if>
  31 + <if test="place != null and place != ''"> and place = #{place}</if>
  32 + <if test="status != null "> and status = #{status}</if>
  33 + <if test="objectId != null and objectId != ''"> and object_id = #{objectId}</if>
  34 + </where>
  35 + </select>
  36 +
  37 + <select id="selectSupervisionTrackById" parameterType="Long" resultMap="SupervisionTrackResult">
  38 + <include refid="selectSupervisionTrackVo"/>
  39 + where id = #{id}
  40 + </select>
  41 +
  42 + <insert id="insertSupervisionTrack" parameterType="SupervisionTrack" useGeneratedKeys="true" keyProperty="id">
  43 + insert into supervision_track
  44 + <trim prefix="(" suffix=")" suffixOverrides=",">
  45 + <if test="type != null">type,</if>
  46 + <if test="title != null">title,</if>
  47 + <if test="dept != null">dept,</if>
  48 + <if test="place != null">place,</if>
  49 + <if test="createBy != null">create_by,</if>
  50 + <if test="createTime != null">create_time,</if>
  51 + <if test="updateTime != null">update_time,</if>
  52 + <if test="updateBy != null">update_by,</if>
  53 + <if test="attach != null">attach,</if>
  54 + <if test="status != null">status,</if>
  55 + <if test="objectId != null">object_id,</if>
  56 + </trim>
  57 + <trim prefix="values (" suffix=")" suffixOverrides=",">
  58 + <if test="type != null">#{type},</if>
  59 + <if test="title != null">#{title},</if>
  60 + <if test="dept != null">#{dept},</if>
  61 + <if test="place != null">#{place},</if>
  62 + <if test="createBy != null">#{createBy},</if>
  63 + <if test="createTime != null">#{createTime},</if>
  64 + <if test="updateTime != null">#{updateTime},</if>
  65 + <if test="updateBy != null">#{updateBy},</if>
  66 + <if test="attach != null">#{attach},</if>
  67 + <if test="status != null">#{status},</if>
  68 + <if test="objectId != null">#{objectId},</if>
  69 + </trim>
  70 + </insert>
  71 +
  72 + <update id="updateSupervisionTrack" parameterType="SupervisionTrack">
  73 + update supervision_track
  74 + <trim prefix="SET" suffixOverrides=",">
  75 + <if test="type != null">type = #{type},</if>
  76 + <if test="title != null">title = #{title},</if>
  77 + <if test="dept != null">dept = #{dept},</if>
  78 + <if test="place != null">place = #{place},</if>
  79 + <if test="createBy != null">create_by = #{createBy},</if>
  80 + <if test="createTime != null">create_time = #{createTime},</if>
  81 + <if test="updateTime != null">update_time = #{updateTime},</if>
  82 + <if test="updateBy != null">update_by = #{updateBy},</if>
  83 + <if test="attach != null">attach = #{attach},</if>
  84 + <if test="status != null">status = #{status},</if>
  85 + <if test="objectId != null">object_id = #{objectId},</if>
  86 + </trim>
  87 + where id = #{id}
  88 + </update>
  89 +
  90 + <delete id="deleteSupervisionTrackById" parameterType="Long">
  91 + delete from supervision_track where id = #{id}
  92 + </delete>
  93 +
  94 + <delete id="deleteSupervisionTrackByIds" parameterType="String">
  95 + delete from supervision_track where id in
  96 + <foreach item="id" collection="array" open="(" separator="," close=")">
  97 + #{id}
  98 + </foreach>
  99 + </delete>
  100 +
  101 +</mapper>
0 \ No newline at end of file 102 \ No newline at end of file
trash-workFlow/src/main/resources/mapper/casefile/ViolationCaseFileMapper.xml
@@ -78,6 +78,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -78,6 +78,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
78 <insert id="insertViolationCaseFile" parameterType="ViolationCaseFile" useGeneratedKeys="true" keyProperty="id"> 78 <insert id="insertViolationCaseFile" parameterType="ViolationCaseFile" useGeneratedKeys="true" keyProperty="id">
79 insert into casefile_violation 79 insert into casefile_violation
80 <trim prefix="(" suffix=")" suffixOverrides=","> 80 <trim prefix="(" suffix=")" suffixOverrides=",">
  81 + <if test="id != null">`id`,</if>
81 create_time, 82 create_time,
82 <if test="number != null">`number`,</if> 83 <if test="number != null">`number`,</if>
83 <if test="violationObjectType != null">violation_object_type,</if> 84 <if test="violationObjectType != null">violation_object_type,</if>
@@ -99,6 +100,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot; @@ -99,6 +100,7 @@ PUBLIC &quot;-//mybatis.org//DTD Mapper 3.0//EN&quot;
99 100
100 </trim> 101 </trim>
101 <trim prefix="values (" suffix=")" suffixOverrides=","> 102 <trim prefix="values (" suffix=")" suffixOverrides=",">
  103 + <if test="id != null">#{id},</if>
102 now(), 104 now(),
103 <if test="number != null">#{number},</if> 105 <if test="number != null">#{number},</if>
104 <if test="violationObjectType != null">#{violationObjectType},</if> 106 <if test="violationObjectType != null">#{violationObjectType},</if>