|
@@ -4,8 +4,13 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.onemap.apply.domain.cggl.EscalationDTO;
|
|
|
+import com.onemap.apply.domain.cggl.ScmxDTO;
|
|
|
+import com.onemap.apply.domain.cggl.ScmxRecordDTO;
|
|
|
import com.onemap.apply.domain.sbjk.TjpgsbDTO;
|
|
|
import com.onemap.apply.domain.sbjk.XzczghcgsbDTO;
|
|
|
+import com.onemap.apply.mapper.cggl.EscalationMapper;
|
|
|
+import com.onemap.apply.mapper.cggl.ScmxMapper;
|
|
|
+import com.onemap.apply.mapper.cggl.ScmxRecordMapper;
|
|
|
import com.onemap.apply.mapper.sbjk.XzczghcgsbMapper;
|
|
|
import com.onemap.apply.service.sbjk.XzczghcgsbService;
|
|
|
import com.onemap.apply.utils.Md5Utils;
|
|
@@ -55,6 +60,50 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
@Autowired
|
|
|
private RedisService redisService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private EscalationMapper escalationMapper;
|
|
|
+ @Autowired
|
|
|
+ private ScmxMapper scmxMapper;
|
|
|
+ @Autowired
|
|
|
+ private ScmxRecordMapper scmxRecordMapper;
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public RequestResult startcgsc(String scmodel, String jqscmodel, String cgid) {
|
|
|
+ try {
|
|
|
+ //人工审查
|
|
|
+ if (StringUtils.isNotEmpty(scmodel)) {
|
|
|
+ QueryWrapper<XzczghcgsbDTO> wrapper = new QueryWrapper();
|
|
|
+ wrapper.eq("uuid", cgid);
|
|
|
+ XzczghcgsbDTO dto = xzczghcgsbMapper.selectOne(wrapper);
|
|
|
+ dto.setMsg(scmodel);
|
|
|
+ //TODO wanger 增加人工审查模型详情表
|
|
|
+ ScmxDTO scmxdto = scmxMapper.selectById(scmodel);
|
|
|
+ String users = scmxdto.getUsers();
|
|
|
+ if (StringUtils.isNotEmpty(users)) {
|
|
|
+ String[] userlist = users.split(",");
|
|
|
+ for (int i = 0; i < userlist.length; i++) {
|
|
|
+ String userid = userlist[i];
|
|
|
+ ScmxRecordDTO recordDto = new ScmxRecordDTO();
|
|
|
+ recordDto.setCgid(cgid);
|
|
|
+ recordDto.setSort(String.valueOf(i));
|
|
|
+ recordDto.setUserid(userid);
|
|
|
+ scmxRecordMapper.insert(recordDto);
|
|
|
+ }
|
|
|
+ scmxRecordMapper.updateUserName();
|
|
|
+ } else {
|
|
|
+ //空的人工审查流程 直接办结
|
|
|
+ dto.setStatus("11");
|
|
|
+ }
|
|
|
+ xzczghcgsbMapper.update(dto, wrapper);
|
|
|
+ }
|
|
|
+ return RequestResult.success("发起审查成功!");
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return RequestResult.error("发起审查失败!");
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 查询记录
|
|
|
*
|
|
@@ -119,9 +168,10 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
xzczghcgsbDTO.setUuid(IdUtils.simpleUUID());
|
|
|
xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
//如果是补正数据 直接上报到市级
|
|
|
- if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
- xzczghcgsbDTO.setStatus("12");
|
|
|
- xzczghcgsbDTO.setCglevel("2");
|
|
|
+ if (StringUtils.isNotEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
+ xzczghcgsbDTO.setStatus("11");
|
|
|
+ xzczghcgsbDTO.setCglevel("1");
|
|
|
+ xzczghcgsbDTO.setUploadStatus(2);
|
|
|
}
|
|
|
return xzczghcgsbMapper.insert(xzczghcgsbDTO);
|
|
|
}
|
|
@@ -270,26 +320,26 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
return AjaxResult.error("没有找到改数据!");
|
|
|
}
|
|
|
try {
|
|
|
- if ("2".equals(cglevel)) {
|
|
|
- setSbjd(uuid, "0/0");
|
|
|
- //调用厅里接口
|
|
|
- //获取token授权
|
|
|
- JSONObject jsonObject = new JSONObject();
|
|
|
- //组装请求参数
|
|
|
- jsonObject.put("grant_type", "password");
|
|
|
- jsonObject.put("username", username);
|
|
|
- jsonObject.put("password", Md5Utils.hash(password));
|
|
|
- //调用post请求方法
|
|
|
- JSONObject tokenJson = RInterfaceUtil.postRemote(null, oauthUrl, jsonObject, null);
|
|
|
- System.out.println(tokenJson);
|
|
|
- String token = "";
|
|
|
- String error = "";
|
|
|
- String fileMd5 = "";
|
|
|
+// if ("2".equals(cglevel)) {
|
|
|
+ setSbjd(uuid, "0/0");
|
|
|
+ //调用厅里接口
|
|
|
+ //获取token授权
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ //组装请求参数
|
|
|
+ jsonObject.put("grant_type", "password");
|
|
|
+ jsonObject.put("username", username);
|
|
|
+ jsonObject.put("password", Md5Utils.hash(password));
|
|
|
+ //调用post请求方法
|
|
|
+ JSONObject tokenJson = RInterfaceUtil.postRemote(null, oauthUrl, jsonObject, null);
|
|
|
+ System.out.println(tokenJson);
|
|
|
+ String token = "";
|
|
|
+ String error = "";
|
|
|
+ String fileMd5 = "";
|
|
|
|
|
|
- if (tokenJson.containsKey("success") && tokenJson.getBoolean("success")
|
|
|
- && tokenJson.containsKey("data") && tokenJson.getJSONObject("data").containsKey("access_token")) {
|
|
|
- token = tokenJson.getJSONObject("data").getString("access_token");
|
|
|
- System.out.println(token);
|
|
|
+ if (tokenJson.containsKey("success") && tokenJson.getBoolean("success")
|
|
|
+ && tokenJson.containsKey("data") && tokenJson.getJSONObject("data").containsKey("access_token")) {
|
|
|
+ token = tokenJson.getJSONObject("data").getString("access_token");
|
|
|
+ System.out.println(token);
|
|
|
// token = tokenJson.getJSONObject("data").getString("access_token");
|
|
|
// //调用上传接口
|
|
|
// Map<String, Object> paramFile = new HashMap<>();
|
|
@@ -307,121 +357,121 @@ public class XzczghcgsbServiceImpl implements XzczghcgsbService {
|
|
|
// xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
// update(xzczghcgsbDTO);
|
|
|
|
|
|
- //获取文件md5
|
|
|
- if (xzczghcgsbDTO != null) {
|
|
|
- File file = new File(xzczghcgsbDTO.getFilePath());
|
|
|
- if (file.exists()) {
|
|
|
- fileMd5 = Md5Utils.getMD5(file);
|
|
|
- JSONObject jsonObjectMd5 = new JSONObject();
|
|
|
- jsonObjectMd5.put("fileName", file.getName());
|
|
|
- jsonObjectMd5.put("fileSize", file.length());
|
|
|
- jsonObjectMd5.put("fileMd5", fileMd5);
|
|
|
- //每个切片文件大小
|
|
|
- long mod = file.length() % RInterfaceUtil.sliceSize;
|
|
|
- long totalSliceNum = file.length() / RInterfaceUtil.sliceSize;
|
|
|
- if (mod > 0) {
|
|
|
- totalSliceNum = totalSliceNum + 1;
|
|
|
- }
|
|
|
- if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
- jsonObjectMd5.put("instId", xzczghcgsbDTO.getInstid());
|
|
|
+ //获取文件md5
|
|
|
+ if (xzczghcgsbDTO != null) {
|
|
|
+ File file = new File(xzczghcgsbDTO.getFilePath());
|
|
|
+ if (file.exists()) {
|
|
|
+ fileMd5 = Md5Utils.getMD5(file);
|
|
|
+ JSONObject jsonObjectMd5 = new JSONObject();
|
|
|
+ jsonObjectMd5.put("fileName", file.getName());
|
|
|
+ jsonObjectMd5.put("fileSize", file.length());
|
|
|
+ jsonObjectMd5.put("fileMd5", fileMd5);
|
|
|
+ //每个切片文件大小
|
|
|
+ long mod = file.length() % RInterfaceUtil.sliceSize;
|
|
|
+ long totalSliceNum = file.length() / RInterfaceUtil.sliceSize;
|
|
|
+ if (mod > 0) {
|
|
|
+ totalSliceNum = totalSliceNum + 1;
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
+ jsonObjectMd5.put("instId", xzczghcgsbDTO.getInstid());
|
|
|
+ }
|
|
|
+ jsonObjectMd5.put("totalSliceNum", totalSliceNum);
|
|
|
+ jsonObjectMd5.put("curSliceOrder", 0);
|
|
|
+ jsonObjectMd5.put("resetSliceOrder2Zero", false);
|
|
|
+ JSONObject reStrMd5 = RInterfaceUtil.postRemote(token, findByMd5Url, jsonObjectMd5, null);
|
|
|
+ System.out.println("findByMd5Url : " + findByMd5Url);
|
|
|
+ if (reStrMd5 != null && reStrMd5.containsKey("success") && reStrMd5.getBoolean("success")) {
|
|
|
+ System.out.println(reStrMd5);
|
|
|
+ File toDir = new File(temp + File.separator + fileMd5);
|
|
|
+ String toFileName = toDir.getAbsolutePath() + File.separator + fileMd5;
|
|
|
+ if (toDir.exists()) {
|
|
|
+ FileUtils.deleteDirectory(toDir);
|
|
|
}
|
|
|
- jsonObjectMd5.put("totalSliceNum", totalSliceNum);
|
|
|
- jsonObjectMd5.put("curSliceOrder", 0);
|
|
|
- jsonObjectMd5.put("resetSliceOrder2Zero", false);
|
|
|
- JSONObject reStrMd5 = RInterfaceUtil.postRemote(token, findByMd5Url, jsonObjectMd5, null);
|
|
|
- System.out.println("findByMd5Url : " + findByMd5Url);
|
|
|
- if (reStrMd5 != null && reStrMd5.containsKey("success") && reStrMd5.getBoolean("success")) {
|
|
|
- System.out.println(reStrMd5);
|
|
|
- File toDir = new File(temp + File.separator + fileMd5);
|
|
|
- String toFileName = toDir.getAbsolutePath() + File.separator + fileMd5;
|
|
|
- if (toDir.exists()) {
|
|
|
- FileUtils.deleteDirectory(toDir);
|
|
|
- }
|
|
|
- toDir.mkdirs();
|
|
|
- //切割文件,是否成功
|
|
|
- long curSliceSize = RInterfaceUtil.spilt(file.getAbsolutePath(), toFileName, ".");
|
|
|
- if (curSliceSize > 0) {
|
|
|
- JSONObject reStrFileUpload = null;
|
|
|
- //上传zip文件分片
|
|
|
- int startIndex = 0;
|
|
|
- try {
|
|
|
- if (reStrMd5 != null && reStrMd5.containsKey("data") && reStrMd5.getJSONObject("data") != null) {
|
|
|
- startIndex = reStrMd5.getJSONObject("data").getInteger("curSliceOrder");
|
|
|
- }
|
|
|
- } catch (Exception r) {
|
|
|
+ toDir.mkdirs();
|
|
|
+ //切割文件,是否成功
|
|
|
+ long curSliceSize = RInterfaceUtil.spilt(file.getAbsolutePath(), toFileName, ".");
|
|
|
+ if (curSliceSize > 0) {
|
|
|
+ JSONObject reStrFileUpload = null;
|
|
|
+ //上传zip文件分片
|
|
|
+ int startIndex = 0;
|
|
|
+ try {
|
|
|
+ if (reStrMd5 != null && reStrMd5.containsKey("data") && reStrMd5.getJSONObject("data") != null) {
|
|
|
+ startIndex = reStrMd5.getJSONObject("data").getInteger("curSliceOrder");
|
|
|
+ }
|
|
|
+ } catch (Exception r) {
|
|
|
|
|
|
+ }
|
|
|
+ setSbjd(uuid, (startIndex + 1) + "/" + totalSliceNum);
|
|
|
+ //上传zip文件分片
|
|
|
+ for (int i = startIndex; i < totalSliceNum; i++) {
|
|
|
+ // 生成文件的路径
|
|
|
+ String t = toFileName + "." + i;
|
|
|
+ Map<String, Object> paramFile = new HashMap<>();
|
|
|
+ File f = new File(t);
|
|
|
+ paramFile.put("name", file.getName());
|
|
|
+ paramFile.put("year", xzczghcgsbDTO.getYear());
|
|
|
+ paramFile.put("zipFileSlice", f);
|
|
|
+ paramFile.put("zipMd5", fileMd5);
|
|
|
+ paramFile.put("totalSliceNum", totalSliceNum);
|
|
|
+ paramFile.put("curSliceOrder", i);
|
|
|
+ //上传文件总大小
|
|
|
+ paramFile.put("curSliceSize", 10240 * 1024);
|
|
|
+ if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
+ paramFile.put("instId", xzczghcgsbDTO.getInstid());
|
|
|
}
|
|
|
- setSbjd(uuid, (startIndex + 1) + "/" + totalSliceNum);
|
|
|
- //上传zip文件分片
|
|
|
- for (int i = startIndex; i < totalSliceNum; i++) {
|
|
|
- // 生成文件的路径
|
|
|
- String t = toFileName + "." + i;
|
|
|
- Map<String, Object> paramFile = new HashMap<>();
|
|
|
- File f = new File(t);
|
|
|
- paramFile.put("name", file.getName());
|
|
|
- paramFile.put("year", xzczghcgsbDTO.getYear());
|
|
|
- paramFile.put("zipFileSlice", f);
|
|
|
- paramFile.put("zipMd5", fileMd5);
|
|
|
- paramFile.put("totalSliceNum", totalSliceNum);
|
|
|
- paramFile.put("curSliceOrder", i);
|
|
|
- //上传文件总大小
|
|
|
- paramFile.put("curSliceSize", 10240 * 1024);
|
|
|
- if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
- paramFile.put("instId", xzczghcgsbDTO.getInstid());
|
|
|
- }
|
|
|
- //当前分片文件大小
|
|
|
+ //当前分片文件大小
|
|
|
// paramFile.put("curSliceSize", f.length());
|
|
|
- reStrFileUpload = RInterfaceUtil.postRemote(token, xzczghcgsbUplaodUrl, null, paramFile);
|
|
|
- System.out.println("reStrFileUpload :" + reStrFileUpload);
|
|
|
- if (reStrFileUpload.containsKey("code") && !"200".equals(reStrFileUpload.getString("code"))) {
|
|
|
- System.out.println("上传规划成果数据分片失败,分片数: " + i + " !");
|
|
|
- xzczghcgsbDTO.setUploadStatus(-1);
|
|
|
- xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
|
|
|
- update(xzczghcgsbDTO);
|
|
|
- return AjaxResult.error("上传分片数据" + i + "失败:" + reStrFileUpload.toString() + "!");
|
|
|
- } else {
|
|
|
- setSbjd(uuid, (i + 1) + "/" + totalSliceNum);
|
|
|
- }
|
|
|
+ reStrFileUpload = RInterfaceUtil.postRemote(token, xzczghcgsbUplaodUrl, null, paramFile);
|
|
|
+ System.out.println("reStrFileUpload :" + reStrFileUpload);
|
|
|
+ if (reStrFileUpload.containsKey("code") && !"200".equals(reStrFileUpload.getString("code"))) {
|
|
|
+ System.out.println("上传规划成果数据分片失败,分片数: " + i + " !");
|
|
|
+ xzczghcgsbDTO.setUploadStatus(-1);
|
|
|
+ xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
|
|
|
+ update(xzczghcgsbDTO);
|
|
|
+ return AjaxResult.error("上传分片数据" + i + "失败:" + reStrFileUpload.toString() + "!");
|
|
|
+ } else {
|
|
|
+ setSbjd(uuid, (i + 1) + "/" + totalSliceNum);
|
|
|
}
|
|
|
- if (reStrFileUpload != null && reStrFileUpload.containsKey("success") && reStrFileUpload.getBoolean("success")) {
|
|
|
- if (toDir.exists()) {
|
|
|
- //删除临时文件
|
|
|
+ }
|
|
|
+ if (reStrFileUpload != null && reStrFileUpload.containsKey("success") && reStrFileUpload.getBoolean("success")) {
|
|
|
+ if (toDir.exists()) {
|
|
|
+ //删除临时文件
|
|
|
// FileUtils.deleteDirectory(toDir);
|
|
|
|
|
|
- }
|
|
|
- xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
|
|
|
- xzczghcgsbDTO.setStatus(cglevel + "2");
|
|
|
- xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
- //补正的村庄规划成果上传完成后,将instid后面追加#标识为历史,当自治区再次推送到待办任务不再限制上传按钮
|
|
|
- if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
- xzczghcgsbDTO.setInstid(xzczghcgsbDTO.getInstid() + "#");
|
|
|
- }
|
|
|
- update(xzczghcgsbDTO);
|
|
|
- return AjaxResult.success("上报成功");
|
|
|
}
|
|
|
+ xzczghcgsbDTO.setMsg(reStrFileUpload.toString());
|
|
|
+ xzczghcgsbDTO.setStatus(cglevel + "2");
|
|
|
+ xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
+ //补正的村庄规划成果上传完成后,将instid后面追加#标识为历史,当自治区再次推送到待办任务不再限制上传按钮
|
|
|
+ if (!StringUtils.isEmpty(xzczghcgsbDTO.getInstid())) {
|
|
|
+ xzczghcgsbDTO.setInstid(xzczghcgsbDTO.getInstid() + "#");
|
|
|
+ }
|
|
|
+ update(xzczghcgsbDTO);
|
|
|
+ return AjaxResult.success("上报成功");
|
|
|
}
|
|
|
- } else {
|
|
|
- xzczghcgsbDTO.setUploadStatus(-1);
|
|
|
- xzczghcgsbDTO.setMsg(reStrMd5.toString());
|
|
|
- xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
- update(xzczghcgsbDTO);
|
|
|
- return AjaxResult.error("上传规划成果数据接口-查询MD5值接口失败!", false);
|
|
|
}
|
|
|
} else {
|
|
|
- System.out.println("成果文件不存在!");
|
|
|
- return AjaxResult.error("成果文件不存在!", false);
|
|
|
+ xzczghcgsbDTO.setUploadStatus(-1);
|
|
|
+ xzczghcgsbDTO.setMsg(reStrMd5.toString());
|
|
|
+ xzczghcgsbDTO.setUploadTime(new Date());
|
|
|
+ update(xzczghcgsbDTO);
|
|
|
+ return AjaxResult.error("上传规划成果数据接口-查询MD5值接口失败!", false);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ System.out.println("成果文件不存在!");
|
|
|
+ return AjaxResult.error("成果文件不存在!", false);
|
|
|
}
|
|
|
- return AjaxResult.success("上报成功");
|
|
|
- } else {
|
|
|
- return AjaxResult.error(tokenJson.toJSONString());
|
|
|
}
|
|
|
- } else {
|
|
|
- xzczghcgsbDTO.setStatus(cglevel + "2");
|
|
|
- xzczghcgsbDTO.setCglevel("2");
|
|
|
- update(xzczghcgsbDTO);
|
|
|
return AjaxResult.success("上报成功");
|
|
|
+ } else {
|
|
|
+ return AjaxResult.error(tokenJson.toJSONString());
|
|
|
}
|
|
|
+// } else {
|
|
|
+// xzczghcgsbDTO.setStatus(cglevel + "2");
|
|
|
+// xzczghcgsbDTO.setCglevel("2");
|
|
|
+// update(xzczghcgsbDTO);
|
|
|
+// return AjaxResult.success("上报成功");
|
|
|
+// }
|
|
|
} catch (Exception e) {
|
|
|
xzczghcgsbDTO.setUploadStatus(-1);
|
|
|
xzczghcgsbDTO.setMsg(e.toString());
|