Commit 46065788 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_register' of…

Merge branch 'develop_tzs_register' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_tzs_register
parents 607f7dc9 0c83fded
......@@ -289,6 +289,7 @@ public class ControllerAop {
regionParams.setUserModel(userList.get(0));
ReginParams.PersonIdentity personIdentity = new ReginParams.PersonIdentity();
personIdentity.setBizOrgCode(companyM.getOrgCode());
personIdentity.setCompanyBizOrgCode(companyM.getOrgCode());
regionParams.setPersonIdentity(personIdentity);
redisUtils.set(authToken, JSONObject.toJSONString(regionParams), redisRegionTimeSecond);
......
......@@ -82,6 +82,8 @@ public class ESTaskDetailDto {
@Field(type = FieldType.Text)
private String score;
private String isRisk;
@Field(type = FieldType.Text)
private List<String> pointImgUrls;
......
......@@ -375,6 +375,9 @@ public class XJConstant {
public static final int INIT_NUM = 0;
public static final int RISK_NUM = 1;
public static final int NORISK_NUM = 2;
//点是否有合格 1 合格 2 不合格
public static final String IS_RISK = "1";
public static final String NO_IS_RISK = "2";
public static final String INPUT_ITEM_OK_SCORE = "OkScore";
public static final String INPUT_ITEM_NOT_SCORE = "NoScore";
......
package com.yeejoin.amos.patrol.business.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
......@@ -17,6 +18,7 @@ import com.yeejoin.amos.patrol.business.dto.SendToMsgRiskDetailVo;
import com.yeejoin.amos.patrol.business.dto.SendToMsgRiskEquipInfoVo;
import com.yeejoin.amos.patrol.business.dto.TopicEntityVo;
import com.yeejoin.amos.patrol.business.param.CheckInfoPageParam;
import com.yeejoin.amos.patrol.business.param.CheckInputParam;
import com.yeejoin.amos.patrol.business.param.CheckRecordParam;
import com.yeejoin.amos.patrol.business.param.CheckStatisticalParam;
import com.yeejoin.amos.patrol.business.service.intfc.ICheckService;
......@@ -40,6 +42,7 @@ import com.yeejoin.amos.patrol.common.enums.PlanTaskTypeStatusEnum;
import com.yeejoin.amos.patrol.core.async.AsyncTask;
import com.yeejoin.amos.patrol.core.common.request.CommonPageable;
import com.yeejoin.amos.patrol.core.common.request.CommonRequest;
import com.yeejoin.amos.patrol.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.patrol.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.patrol.core.common.response.GraphInitDataResponse;
import com.yeejoin.amos.patrol.core.enums.QueryOperatorEnum;
......@@ -53,6 +56,7 @@ import com.yeejoin.amos.patrol.utils.UserTransmittableUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.beanutils.BeanUtils;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
......@@ -94,6 +98,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@RestController
@RequestMapping(value = "/api/check")
......@@ -162,9 +167,6 @@ public class CheckController extends AbstractBaseController {
PointMapper pointMapper;
@Autowired
ESPlanTaskList esPlanTaskList;
@Autowired
JobService jobService;
private String P_STATIC_DAY = "p_static_day";
......@@ -294,48 +296,14 @@ public class CheckController extends AbstractBaseController {
}
int count = checkService.checkHasRecord(requestParam);
if (count < 1) {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode =reginParams.getPersonIdentity().getBizOrgCode();
requestParam.setOrgCode(orgCode);
requestParam.setUserId(getUserId());
CheckDto checkDto = checkService.saveCheckRecordNew(requestParam, planTask);
//准备es数据
ESTaskDetailDto esTaskDetailDto = checkService.buildEsDetailData(requestParam, planTask);
ESPlanTaskListDto esPlanTaskListDto = checkService.buildEsTaskData(requestParam.getPlanTaskId(),esTaskDetailDto);
//更新必须数据
checkService.saveMustData(esTaskDetailDto, esPlanTaskListDto, planTask);
Long planTaskId = planTask.getId();
List<String> ids = new ArrayList<>();
ids.add(String.valueOf(planTaskId));
Map<String, Object> map = planTaskMapper.selectTaskStatus(planTaskId);
String status = map.get("status").toString();
ESPlanTaskListDto esPlanTaskListDto = esPlanTaskList.findById(String.valueOf(planTaskId)).get();
Map task = planTaskMapper.queryPlanTaskById(planTaskId);
esPlanTaskListDto.setFinshNum(ObjectUtils.isEmpty(task.get("finshNum")) ? "0" : task.get("finshNum").toString());
esPlanTaskListDto.setOmission(ObjectUtils.isEmpty(task.get("omission")) ? "0" : task.get("omission").toString());
esPlanTaskListDto.setUnqualified(ObjectUtils.isEmpty(task.get("unqualified")) ? "0" : task.get("unqualified").toString());
esPlanTaskListDto.setUnplan(ObjectUtils.isEmpty(task.get("unplan")) ? "0" : task.get("unplan").toString());
esPlanTaskListDto.setTaskPlanNum(ObjectUtils.isEmpty(task.get("taskPlanNum")) ? "0" : task.get("taskPlanNum").toString());
List<PlanTaskDetail> planTaskDetailList = planTaskMapper.selectTaskDetails("('" + planTaskId + "')");
esPlanTaskListDto.setFinishStatus(status);
esPlanTaskListDto.setPoints(planTaskDetailList);
esPlanTaskList.save(esPlanTaskListDto);
if(status.equals(String.valueOf(PlanTaskFinishStatusEnum.FINISHED.getValue()))) {
// 更新统计表
if(planTask.getPlanType().equals(String.valueOf(PlanTaskTypeStatusEnum.day.getValue()))) {
planTaskMapper.updateSingle(P_STATIC_DAY, XJConstant.RISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
XJConstant.NORISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
planTask.getOrgCode(),planTask.getCheckDate());
} else if(planTask.getPlanType().equals(String.valueOf(PlanTaskTypeStatusEnum.week.getValue()))) {
planTaskMapper.updateSingle(P_STATIC_WEEK, XJConstant.RISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
XJConstant.NORISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
planTask.getOrgCode(),planTask.getCheckDate());
} else {
planTaskMapper.updateSingle(P_STATIC_WEEK, XJConstant.RISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
XJConstant.NORISK_NUM == Integer.parseInt(map.get("riskStatus").toString()) ? 1 : 0,
planTask.getOrgCode(),planTask.getCheckDate());
}
}
return ResponseHelper.buildResponse(checkDto);
CheckDto checkDto = checkService.saveCheckRecordNew(requestParam, planTask);
return ResponseHelper.buildResponse("ok");
} else {
return ResponseHelperUtil.buildErrorResponse("无需重新巡检");
}
......
......@@ -17,4 +17,6 @@ public interface PlanTaskDetailMapper extends BaseMapper {
List<PlanTaskDetail> findAllByIdInAndStatus(@Param("planTaskIds") List<Long> planTaskNo, @Param("status") String status);
List<ESTaskDetailDto> findAllByTaskNos(@Param("ids") String ids);
PlanTaskDetail selectOne(Long planTaskId, Long pointId);
}
......@@ -59,6 +59,7 @@ import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.transaction.Transactional;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
......@@ -122,6 +123,9 @@ public class CheckServiceImpl implements ICheckService {
ESTaskDetail esTaskDetail;
@Autowired
ESPlanTaskList esPlanTaskList;
@Autowired
PointMapper pointMapper;
@Autowired
......@@ -526,8 +530,8 @@ public class CheckServiceImpl implements ICheckService {
check.setRemark(requestParam.getRemark());
check.setCheckTime(DateUtil.getLongDate(requestParam.getCheckTime()));
check.setUploadTime(new Date());
check.setOrgCode(requestParam.getOrgCode());
check.setUserId(requestParam.getUserId());
check.setOrgCode(planTask.getOrgCode());
check.setUserId(planTask.getUserId());
StringBuffer deptName = new StringBuffer();
if(planTask.getUserDept().indexOf(",") > 0) {
......@@ -560,12 +564,14 @@ public class CheckServiceImpl implements ICheckService {
CheckInput checkInput = new CheckInput();
checkInput.setCreateDate(new Date());
checkInput.setOrgCode(requestParam.getOrgCode());
checkInput.setOrgCode(planTask.getOrgCode());
checkInput.setInputId(Long.valueOf(item.getInputItemId() + ""));
checkInput.setInputName(inputItem.getName());
checkInput.setOrderNo(inputItem.getOrderNo());
checkInput.setRemark(item.getRemark());
//1.校验结果
checkInput = setInputValueByItemType(checkInput,inputItem.getDataJson(),inputItem.getItemType(),item,inputItem.getIsScore());
if (XJConstant.INPUT_ITEM_SELECT.equals(inputItem.getItemType())) {
checkInput = paraseSelect(checkInput, inputItem.getDataJson(), item, inputItem.getIsScore());
......@@ -612,26 +618,26 @@ public class CheckServiceImpl implements ICheckService {
taskDetail.setStatus(CheckStatusEnum.QUALIFIED.getCode());
}
planTaskDetailDao.saveAndFlush(taskDetail);
ESTaskDetailDto esTaskDetailDto = esTaskDetail.findById(String.valueOf(taskDetail.getId())).get();
esTaskDetailDto.setPointStatus(String.valueOf(taskDetail.getIsFinish()));
JSONObject appCheckInput = esTaskDetailDto.getAppCheckInput();
List<CheckInputParam> checkItems = requestParam.getCheckItems();
Map<String,List<Map<String,Object>>> mapList = (Map<String,List<Map<String,Object>>>)JSON.parse(appCheckInput.toJSONString());
List<AppCheckInputRespone> appCheckInputRespones = new ArrayList<>();
for (Map<String,Object> map : mapList.get("items")) {
AppCheckInputRespone appCheckInputRespone = new AppCheckInputRespone();
CheckInputParam checkInputId = checkItems.stream().filter(x -> x.getInputItemId()== Long.valueOf(map.get("checkInputId").toString())).collect(Collectors.toList()).get(0);
BeanUtils.copyProperties(appCheckInputRespone, map);
appCheckInputRespone.setInputValue(checkInputId.getInputValue());
appCheckInputRespone.setPointInputImgUrls(ObjectUtils.isEmpty(checkInputId) ? new ArrayList<>() : checkInputId.getCheckInputImg());
appCheckInputRespones.add(appCheckInputRespone);
}
appCheckInput.put("items", appCheckInputRespones);
esTaskDetailDto.setPointImgUrls(requestParam.getCheckRecordImg());
esTaskDetailDto.setAppCheckInput(appCheckInput);
esTaskDetail.save(esTaskDetailDto);
// ESTaskDetailDto esTaskDetailDto = esTaskDetail.findById(String.valueOf(taskDetail.getId())).get();
// esTaskDetailDto.setPointStatus(String.valueOf(taskDetail.getIsFinish()));
// JSONObject appCheckInput = esTaskDetailDto.getAppCheckInput();
// List<CheckInputParam> checkItems = requestParam.getCheckItems();
// Map<String,List<Map<String,Object>>> mapList = (Map<String,List<Map<String,Object>>>)JSON.parse(appCheckInput.toJSONString());
//
// List<AppCheckInputRespone> appCheckInputRespones = new ArrayList<>();
//
// for (Map<String,Object> map : mapList.get("items")) {
// AppCheckInputRespone appCheckInputRespone = new AppCheckInputRespone();
// CheckInputParam checkInputId = checkItems.stream().filter(x -> x.getInputItemId()== Long.valueOf(map.get("checkInputId").toString())).collect(Collectors.toList()).get(0);
// BeanUtils.copyProperties(appCheckInputRespone, map);
// appCheckInputRespone.setInputValue(checkInputId.getInputValue());
// appCheckInputRespone.setPointInputImgUrls(ObjectUtils.isEmpty(checkInputId) ? new ArrayList<>() : checkInputId.getCheckInputImg());
// appCheckInputRespones.add(appCheckInputRespone);
// }
// appCheckInput.put("items", appCheckInputRespones);
// esTaskDetailDto.setPointImgUrls(requestParam.getCheckRecordImg());
// esTaskDetailDto.setAppCheckInput(appCheckInput);
// esTaskDetail.save(esTaskDetailDto);
check.setError(error);
// check.setErrorClassify(StringUtils.join(errorClassifyNames.keySet(), ","));
......@@ -710,6 +716,19 @@ public class CheckServiceImpl implements ICheckService {
}
}
private CheckInput setInputValueByItemType(CheckInput checkInput, String dataJson, String itemType, CheckInputParam item, String isScore) {
if (XJConstant.INPUT_ITEM_SELECT.equals(itemType)) {
checkInput = paraseSelect(checkInput, dataJson, item, isScore);
} else if (XJConstant.INPUT_ITEM_NUMBER.equals(itemType)) {
checkInput = paraseNumber(checkInput, dataJson, item, isScore);
} else if (XJConstant.INPUT_ITEM_TEXT.equals(itemType)) {
checkInput = paraseText(checkInput, dataJson, item, isScore);
}
return checkInput;
}
private void updateTaskStatus(Long id, String userId) {
try {
......@@ -2067,4 +2086,86 @@ public class CheckServiceImpl implements ICheckService {
public Map<String, Object> getPeopleStatistic(String bizOrgCode, String userId){
return checkMapper.getPeopleStatistic(bizOrgCode, userId);
}
@Override
public ESTaskDetailDto buildEsDetailData(CheckRecordParam requestParam, PlanTask planTask) {
PlanTaskDetail planTaskDetail = planTaskDetailMapper.selectOne(requestParam.getPlanTaskId(), requestParam.getPointId());
ESTaskDetailDto esTaskDetailDto = esTaskDetail.findById(String.valueOf(planTaskDetail.getId())).get();
esTaskDetailDto.setPointStatus(String.valueOf(PlanTaskDetailIsFinishEnum.FINISHED.getValue()));
JSONObject appCheckInput = esTaskDetailDto.getAppCheckInput();
List<CheckInputParam> checkItems = requestParam.getCheckItems();
Map<String,List<Map<String,Object>>> mapList = (Map<String,List<Map<String,Object>>>)JSON.parse(appCheckInput.toJSONString());
List<AppCheckInputRespone> appCheckInputRespones = new ArrayList<>();
for (Map<String,Object> map : mapList.get("items")) {
AppCheckInputRespone appCheckInputRespone = new AppCheckInputRespone();
CheckInputParam checkInputId = checkItems.stream().filter(x -> x.getInputItemId()== Long.valueOf(map.get("checkInputId").toString())).collect(Collectors.toList()).get(0);
try {
BeanUtils.copyProperties(appCheckInputRespone, map);
} catch (Exception e) {
e.printStackTrace();
return null;
}
CheckInput checkInput = setInputValueByItemType(new CheckInput(), appCheckInputRespone.getDataJson(), appCheckInputRespone.getItemType(), checkInputId, null);
if (XJConstant.NO.equals(checkInput.getIsOk())) {
planTask.setRiskStatus(XJConstant.RISK_NUM);
esTaskDetailDto.setIsRisk(XJConstant.NO_IS_RISK);
}
if(ObjectUtils.isEmpty(planTask.getRiskStatus()) || planTask.getRiskStatus() == XJConstant.INIT_NUM) {
planTask.setRiskStatus(XJConstant.NORISK_NUM);
esTaskDetailDto.setIsRisk(XJConstant.IS_RISK);
}
appCheckInputRespone.setInputValue(checkInputId.getInputValue());
appCheckInputRespone.setPointInputImgUrls(ObjectUtils.isEmpty(checkInputId) ? new ArrayList<>() : checkInputId.getCheckInputImg());
appCheckInputRespones.add(appCheckInputRespone);
}
appCheckInput.put("items", appCheckInputRespones);
esTaskDetailDto.setPointImgUrls(requestParam.getCheckRecordImg());
esTaskDetailDto.setAppCheckInput(appCheckInput);
return esTaskDetailDto;
}
@Override
public ESPlanTaskListDto buildEsTaskData(Long planTaskId,ESTaskDetailDto esTaskDetailDto) {
ESPlanTaskListDto esPlanTaskListDto = esPlanTaskList.findById(String.valueOf(planTaskId)).get();
String finishNum = String.valueOf(Integer.valueOf(esPlanTaskListDto.getFinshNum()) + 1);
String unPlan = String.valueOf(Integer.valueOf(esPlanTaskListDto.getUnplan()) - 1);
esPlanTaskListDto.setFinshNum(finishNum);
esPlanTaskListDto.setOmission(esPlanTaskListDto.getOmission());
esPlanTaskListDto.setUnqualified(esPlanTaskListDto.getUnqualified());
esPlanTaskListDto.setUnplan(unPlan);
esPlanTaskListDto.setTaskPlanNum(esPlanTaskListDto.getTaskPlanNum());
List<PlanTaskDetail> points = esPlanTaskListDto.getPoints();
PlanTaskDetail planTaskDetail = points.stream().filter(x -> x.getId() == Long.valueOf(esTaskDetailDto.getId())).collect(Collectors.toList()).get(0);
points.remove(planTaskDetail);
planTaskDetail.setIsFinish(PlanTaskDetailIsFinishEnum.FINISHED.getValue());
planTaskDetail.setStatus(esTaskDetailDto.getIsRisk());
points.add(planTaskDetail);
String status = unPlan.equals("0") ? String.valueOf(PlanTaskFinishStatusEnum.FINISHED.getValue()) : esPlanTaskListDto.getFinishStatus();
esPlanTaskListDto.setFinishStatus(status);
esPlanTaskListDto.setPoints(points);
return esPlanTaskListDto;
}
@Override
public void saveMustData(ESTaskDetailDto esTaskDetailDto, ESPlanTaskListDto esPlanTaskListDto,PlanTask planTask) {
esPlanTaskList.save(esPlanTaskListDto);
esTaskDetail.save(esTaskDetailDto);
if(esPlanTaskListDto.getFinishStatus().equals(String.valueOf(PlanTaskFinishStatusEnum.FINISHED.getValue()))) {
// 更新统计表
int riskNum = XJConstant.RISK_NUM == planTask.getRiskStatus() ? 1 : 0;
int noRiskNum = XJConstant.NORISK_NUM == planTask.getRiskStatus() ? 1 : 0;
String tabName = P_STATIC_DAY;
// 更新统计表
if (planTask.getPlanType().equals(String.valueOf(PlanTaskTypeStatusEnum.day.getValue()))) {
tabName = P_STATIC_DAY;
} else if (planTask.getPlanType().equals(String.valueOf(PlanTaskTypeStatusEnum.week.getValue()))) {
tabName = P_STATIC_WEEK;
} else {
tabName = P_STATIC_WEEK;
}
planTaskMapper.updateSingle(tabName, riskNum, noRiskNum, planTask.getOrgCode(), planTask.getCheckDate());
}
}
}
......@@ -1136,7 +1136,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
List<AppCheckInputRespone> appCheckInputRespones1 = new ArrayList<>();
for (String exclude_item : exclude_items) {
List<AppCheckInputRespone> collect = appCheckInputRespones.stream().filter(x -> x.getPointInputItemId().equals(exclude_item)).collect(Collectors.toList());
if (CollectionUtils.isEmpty(collect) && !ObjectUtils.isEmpty(collect.get(0))){
if (CollectionUtils.isEmpty(collect)){
continue;
}
appCheckInputRespones1.add(collect.get(0));
......@@ -1964,9 +1964,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
if (params.containsKey("finishStatus")) {
params.put("finishStatus", String.valueOf(PlanTaskTheStatusEnum.getValue(params.get("finishStatus").toString())));
}
if (params.containsKey("type")) {
params.put("type", String.valueOf(PlanTaskTypeStatusEnum.getValue(params.get("type").toString())));
}
SearchRequest request = new SearchRequest();
request.indices("web_app_plan_task_list");
......
......@@ -14,6 +14,8 @@ import com.yeejoin.amos.patrol.core.common.response.CommonPage;
import com.yeejoin.amos.patrol.core.common.response.GraphInitDataResponse;
import com.yeejoin.amos.patrol.core.common.response.QueryCriteriaRespone;
import com.yeejoin.amos.patrol.dao.entity.CheckShot;
import com.yeejoin.amos.patrol.dao.entity.ESPlanTaskListDto;
import com.yeejoin.amos.patrol.dao.entity.ESTaskDetailDto;
import com.yeejoin.amos.patrol.dao.entity.PlanTask;
import com.yeejoin.amos.patrol.exception.YeeException;
import org.springframework.data.domain.Page;
......@@ -276,4 +278,10 @@ public interface ICheckService {
Page<CheckInfoVo> getPeoplePatrolPage(CheckInfoPageParam param);
Map<String, Object> getPeopleStatistic(String bizOrgCode, String userId);
ESTaskDetailDto buildEsDetailData(CheckRecordParam requestParam, PlanTask planTask);
ESPlanTaskListDto buildEsTaskData(Long planTaskId,ESTaskDetailDto esTaskDetailDto);
void saveMustData(ESTaskDetailDto esTaskDetailDto, ESPlanTaskListDto esPlanTaskListDto,PlanTask planTask);
}
......@@ -38,4 +38,14 @@
where
pptd.task_no in #{ids}
</select>
<select id="selectOne" resultType="com.yeejoin.amos.patrol.dao.entity.PlanTaskDetail">
select
pptd.id
from
"p_plan_task_detail" pptd
where
pptd.task_no = #{planTaskId}
and pptd.point_id = #{pointId}
</select>
</mapper>
\ No newline at end of file
......@@ -316,7 +316,7 @@
</repositories>
<modules>
<!-- <module>amos-boot-module</module>-->
<module>amos-boot-module</module>
<module>amos-boot-biz-common</module>
<module>amos-boot-system-tzs</module>
<!-- <module>amos-boot-system-jcs</module>-->
......@@ -328,8 +328,8 @@
<!-- <module>amos-boot-system-equip</module>-->
<module>amos-boot-core</module>
<module>amos-boot-utils</module>
<!-- <module>amos-boot-system-latentdanger</module>-->
<!-- <module>amos-boot-system-ccs</module>-->
<module>amos-boot-system-latentdanger</module>
<module>amos-boot-system-ccs</module>
<module>amos-boot-data</module>
<!-- <module>amos-boot-system-precontrol</module>-->
<!-- <module>amos-boot-system-cas</module>-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment