소스 검색

bug修改

songwb 10 달 전
부모
커밋
aee15463d8

+ 35 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/controller/DeptAssessmentDeclarationController.java

@@ -4,11 +4,14 @@ import cn.hutool.core.convert.Convert;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ims.common.utils.StringUtils;
 import com.ims.eval.config.CustomException;
+import com.ims.eval.config.ImaConfig;
 import com.ims.eval.entity.DeptAssessmentDeclaration;
 import com.ims.eval.entity.DeptAssessmentDeclarationComplete;
 import com.ims.eval.entity.DeptAssessmentDeclarationContent;
@@ -22,12 +25,16 @@ import com.ims.eval.service.custom.PostUserService;
 import com.ims.eval.util.ExcelUtil;
 import com.ims.eval.util.ExcelUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.*;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.client.RestTemplate;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
 import java.io.InputStream;
 import java.net.URLEncoder;
 import java.util.*;
@@ -66,6 +73,12 @@ public class DeptAssessmentDeclarationController {
 	@Resource
 	private HttpServletRequest request;
 
+	@Resource
+	private RestTemplate restTemplate;
+
+	@Resource
+	private ImaConfig imaConfig;
+
 	/**
 	 * 绩效结果考核申报列表信息(分页)
 	 *
@@ -400,9 +413,30 @@ public class DeptAssessmentDeclarationController {
 	 */
 	@PostMapping(value = "/targetStart")
 	public R targetStart(@RequestParam(value = "id") String id,
-						 @RequestParam(value = "stage") String stage) {
+						 @RequestParam(value = "stage") String stage) throws IOException {
 		try {
 			DeptAssessmentDeclaration deptAssessmentDeclaration = deptAssessmentDeclarationService.getById(id);
+			HttpHeaders headers = new HttpHeaders();
+			headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
+			headers.add("Blade-Auth", request.getHeader("Blade-Auth"));
+			headers.add("code", request.getHeader("code"));
+
+			HttpEntity<Map> param = new HttpEntity<>(null, headers);
+			ResponseEntity<String> responseEntity2 = restTemplate.exchange(imaConfig.getFlowUrl() + "/bpm/instance/getOpinion?instId={1}", HttpMethod.POST, param, String.class, deptAssessmentDeclaration.getInstId());
+			log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
+			if (200 == responseEntity2.getStatusCodeValue()) {
+				JSONObject jsonObject = JSON.parseObject(responseEntity2.getBody());
+				if ("200".equals(jsonObject.getString("code"))) {
+					String data = jsonObject.getString("data");
+					ObjectMapper objectMapper = new ObjectMapper();
+					Object[] jsonArray = objectMapper.readValue(data, Object[].class);
+					if (jsonArray.length > 1){
+						String lastItemJson = objectMapper.writeValueAsString(jsonArray[jsonArray.length - 1]);
+						//processState = JSON.parseObject(lastItemJson).getString("taskName");
+						stage = JSON.parseObject(lastItemJson).getString("taskName");
+					}
+				}
+			}
 			deptAssessmentDeclaration.setStage(stage);
 			boolean b = deptAssessmentDeclarationService.updateById(deptAssessmentDeclaration);
 			if (b) {

+ 1 - 1
ims-service/ims-eval/src/main/java/com/ims/eval/service/IDeptAssessmentDeclarationService.java

@@ -20,7 +20,7 @@ public interface IDeptAssessmentDeclarationService extends IService<DeptAssessme
 
 	String removeByIds(List<String> ids);
 
-	boolean editState(String id, String state, String instId, String destination, HttpServletRequest request);
+	boolean editState(String id, String state, String instId, String destination);
 
 	Object processInformation(String instId, HttpServletRequest request);
 }

+ 1 - 4
ims-service/ims-eval/src/main/java/com/ims/eval/service/custom/impl/WorkflowServiceImpl.java

@@ -44,9 +44,6 @@ public class WorkflowServiceImpl {
 	private ImaConfig imaConfig;
 
 	@Autowired
-	private HttpServletRequest request;
-
-	@Autowired
 	private IDeptResponsibilityService deptResponsibilityService;
 
 	@Autowired
@@ -470,7 +467,7 @@ public class WorkflowServiceImpl {
 				evaluationDeptBusinessAssessmentService.editState(bizKey, taskName, instId);
 				break;
 			case "jxjgkhsb"://绩效结果考核申报
-				deptAssessmentDeclarationService.editState(bizKey, taskName, instId, destination, request);
+				deptAssessmentDeclarationService.editState(bizKey, taskName, instId, destination);
 				break;
 			case "nddwpj"://年度单位评级
 				organizationYearRatingService.editState(bizKey, taskName, instId, destination);

+ 7 - 23
ims-service/ims-eval/src/main/java/com/ims/eval/service/impl/DeptAssessmentDeclarationServiceImpl.java

@@ -21,19 +21,22 @@ import com.ims.eval.entity.EvaluationDeptRating;
 import com.ims.eval.entity.dto.request.UserDTO;
 import com.ims.eval.entity.dto.response.MyuserResDTO;
 import com.ims.eval.entity.dto.result.ResultInfo;
-import com.ims.eval.entity.flow.FlowResult;
 import com.ims.eval.feign.RemoteServiceBuilder;
 import com.ims.eval.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @author hlf
@@ -205,26 +208,7 @@ public class DeptAssessmentDeclarationServiceImpl extends ServiceImpl<DeptAssess
 	}
 
 	@Override
-	public boolean editState(String id, String state, String instId, String destination, HttpServletRequest request) {
-		String processState = null;
-		HttpHeaders headers = new HttpHeaders();
-		headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
-		headers.add("Blade-Auth", request.getHeader("Blade-Auth"));
-		headers.add("code", request.getHeader("code"));
-
-		Map<String, String> map = new LinkedHashMap<>();
-		map.put("instId", instId);
-		HttpEntity<Map> param = new HttpEntity<>(map, headers);
-		ResponseEntity<String> responseEntity2 = restTemplate.exchange(imaConfig.getFlowUrl() + "/bpm/instance/getOpinion", HttpMethod.POST, param, String.class);
-		log.info("\n code:{}\n header:{}\n body:{}\n", responseEntity2.getStatusCodeValue(), responseEntity2.getHeaders(), responseEntity2.getBody());
-		if (200 == responseEntity2.getStatusCodeValue()) {
-			FlowResult result = JSON.parseObject(responseEntity2.getBody()).toJavaObject(FlowResult.class);
-			if (result.getIsOk()) {
-				JSONObject json = JSON.parseObject(result.getData());
-				processState = json.getString("taskName");
-			}
-		}
-		state = processState;
+	public boolean editState(String id, String state, String instId, String destination) {
 		DeptAssessmentDeclaration deptAssessmentDeclaration = baseMapper.selectById(id);
 		if (StringUtils.isNotEmpty(state)) {
 			if ("组织人事部审核".equals(state)) {