Commit 37ba82a4 authored by tangwei's avatar tangwei

修改任务

parent 8292944a
...@@ -245,6 +245,31 @@ public class Plan extends BasicEntity { ...@@ -245,6 +245,31 @@ public class Plan extends BasicEntity {
@Column(name="user_dept") @Column(name="user_dept")
private String userDept; private String userDept;
//单位code
@Column(name = "biz_org_code")
private String bizOrgCode;
//单位名称
@Column(name = "biz_org_name")
private String bizOrgName;
public String getBizOrgCode() {
return bizOrgCode;
}
public void setBizOrgCode(String bizOrgCode) {
this.bizOrgCode = bizOrgCode;
}
public String getBizOrgName() {
return bizOrgName;
}
public void setBizOrgName(String bizOrgName) {
this.bizOrgName = bizOrgName;
}
public String getUserDept() { public String getUserDept() {
return userDept; return userDept;
} }
......
...@@ -10,6 +10,7 @@ import java.util.stream.Collectors; ...@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.yeejoin.amos.boot.module.common.api.enums.OrgPersonEnum;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -986,4 +987,32 @@ public class OrgUsrController extends BaseController { ...@@ -986,4 +987,32 @@ public class OrgUsrController extends BaseController {
return ResponseHelper.buildResponse(iOrgUsrService.getDetByCompanyId(parentId.getResult())); return ResponseHelper.buildResponse(iOrgUsrService.getDetByCompanyId(parentId.getResult()));
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "查询单位基本信息", notes = "查询单位基本信息")
@GetMapping(value = "/selectByIdDeptList")
public ResponseModel<Object> selectByIdDeptList(@RequestBody String ids) throws Exception {
String[] slid = ids.split(",");
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getIsDelete, false);
wrapper.in(OrgUsr::getSequenceNbr, Arrays.asList(slid));
List<OrgUsr> orgUsrList =orgUsrMapper.selectList(wrapper);
return ResponseHelper.buildResponse(orgUsrList);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "查询单位基本信息", notes = "查询单位基本信息")
@GetMapping(value = "/selectByAmosOrgIdDeptList")
public ResponseModel<Object> selectByAmosOrgIdDeptList(@RequestBody String ids) throws Exception {
String[] slid = ids.split(",");
LambdaQueryWrapper<OrgUsr> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrgUsr::getIsDelete, false);
wrapper.in(OrgUsr::getAmosOrgId, Arrays.asList(slid));
List<OrgUsr> orgUsrList =orgUsrMapper.selectList(wrapper);
return ResponseHelper.buildResponse(orgUsrList);
}
} }
\ No newline at end of file
...@@ -88,6 +88,51 @@ public class PlanTaskController extends AbstractBaseController { ...@@ -88,6 +88,51 @@ public class PlanTaskController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "计划执行重做", notes = "计划执行重做")
@RequestMapping(value = "/regenPlanTaskNew", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse planTaskReGenNew(
@ApiParam(value = "巡检计划", required = true) @RequestBody HashMap<String, Object> param) {
if (param.get("planId") == null) {
throw new YeeException("计划编号不能为空");
}
if (param.get("beginDate") == null) {
throw new YeeException("开始日期能为空");
}
if (param.get("endDate") == null) {
throw new YeeException("结束日期不能为空");
}
if (param.get("changeFlag") == null) {
throw new YeeException("是否记为合格不能为空");
}
try {
planTaskService.reGenPlanTaskNew(param);
return CommonResponseUtil.success();
} catch (Exception e) {
log.error(e.getMessage(), e);
return CommonResponseUtil.failure("计划执行重做失败");
}
}
/** /**
* 计划执行删除 * 计划执行删除
* *
......
...@@ -65,5 +65,11 @@ public interface JcsFeignClient { ...@@ -65,5 +65,11 @@ public interface JcsFeignClient {
@GetMapping(value = "/org-usr/getCompanyInfo") @GetMapping(value = "/org-usr/getCompanyInfo")
ResponseModel<Object> getCompanyInfo(@RequestParam(value = "companyId") String companyId); ResponseModel<Object> getCompanyInfo(@RequestParam(value = "companyId") String companyId);
@PostMapping (value = "/org-usr/selectByIdDeptList")
FeignClientResult<List<Map<String, Object>>> selectByIdDeptList(@RequestBody String ids);
@PostMapping (value = "/org-usr/selectByAmosOrgIdDeptList")
FeignClientResult<List<Map<String, Object>>> selectByAmosOrgIdDeptList(@RequestBody String ids);
} }
...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject; ...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.yeejoin.amos.boot.biz.common.constants.RuleConstant; import com.yeejoin.amos.boot.biz.common.constants.RuleConstant;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.component.rule.RuleTrigger; import com.yeejoin.amos.component.rule.RuleTrigger;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel; import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
...@@ -24,6 +25,7 @@ import com.yeejoin.amos.patrol.business.entity.mybatis.CheckChkExListBo; ...@@ -24,6 +25,7 @@ import com.yeejoin.amos.patrol.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.patrol.business.entity.mybatis.PointCheckDetailBo; import com.yeejoin.amos.patrol.business.entity.mybatis.PointCheckDetailBo;
import com.yeejoin.amos.patrol.business.feign.Business; import com.yeejoin.amos.patrol.business.feign.Business;
import com.yeejoin.amos.patrol.business.feign.EquipFeign; import com.yeejoin.amos.patrol.business.feign.EquipFeign;
import com.yeejoin.amos.patrol.business.feign.JcsFeignClient;
import com.yeejoin.amos.patrol.business.param.CheckPtListPageParam; import com.yeejoin.amos.patrol.business.param.CheckPtListPageParam;
import com.yeejoin.amos.patrol.business.param.PlanTaskPageParam; import com.yeejoin.amos.patrol.business.param.PlanTaskPageParam;
import com.yeejoin.amos.patrol.business.service.intfc.ICheckService; import com.yeejoin.amos.patrol.business.service.intfc.ICheckService;
...@@ -119,6 +121,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -119,6 +121,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired @Autowired
RedisUtils redisUtils; RedisUtils redisUtils;
@Autowired
JcsFeignClient jcsFeignClient;
private final String PATROL_PLAN_TASK_KEY = "PATROL_PLAN_ID:"; private final String PATROL_PLAN_TASK_KEY = "PATROL_PLAN_ID:";
...@@ -310,6 +314,62 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -310,6 +314,62 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void reGenPlanTaskNew(HashMap<String, Object> param) throws ParseException {
//1.公共参数准备
String planId = param.get("planId").toString();//重做的计划编号id
String strBginDate = param.get("beginDate").toString();//开始日期(yyyy-MM-dd)
String strEndDate = param.get("endDate").toString();//结束日期(yyyy-MM-dd)
String flag = param.get("changeFlag").toString();//是否记为合格标记:0-否,1-是
Plan plan = iplanDao.findById(Long.parseLong(planId)).get();//
if (plan == null) {
throw new YeeException("计划不存在");
}
if (StringUtil.isNotEmpty(plan.getUserId())) {
//2.数据必输校验,不满足直接return,不再向下进行
Boolean fileFlag = PlanTaskUtil.checkMustFile(plan);
if (!fileFlag) {
return;
}
//3.计算生成数据的日期区间(前10位:yyyy-MM-dd)
CalDateVo vo = PlanTaskUtil.reGenPlanTaskData(plan, strBginDate, strEndDate);
if (null == vo) {//计划未开始,则结束
return;
}
if (!vo.getIsGenData()) {//日期不符合条件直接结束
return;
}
//3.删除planTask表,按照计划id+日期
deletePlanTaskAndDet(param);
//5.执行数据生成(具体时间 + 人员)
List<HashMap<String, Object>> list = genAllExeDate(plan, vo, XJConstant.REGEN_FLAG);
//6.插入planTask及planTaskDetail
insertPlanTaskAndDetNew(list, plan, flag, new Date());
//7.重新统计计划
if (ObjectUtils.isEmpty(plan.getUserId())) {
return;
}
reformStatisticsPlanTask(strBginDate, strEndDate, plan.getUserId(), plan.getBizOrgCode());
//8.通知3d数据统计进行更新(换流站全景监控)
// this.notifyBusinessRefresh(NotifyBusinessTypeEum.planTask.getCode());
}
}
private void notifyBusinessRefresh(String type) { private void notifyBusinessRefresh(String type) {
try { try {
business.planTaskInsertToB(type); business.planTaskInsertToB(type);
...@@ -601,6 +661,204 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -601,6 +661,204 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
} }
/**
* plantask及det入库
*
* @param list
* @param plan
* @param flag 是否初始状态0-初始 1-非初始
*/
public void insertPlanTaskAndDetNew(List<HashMap<String, Object>> list, Plan plan, String flag, Date now) {
if (list == null || list.size() <= 0) {
HashMap<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", plan.getId());
paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期
}
Toke toke = remoteSecurityService.getServerToken();
Map<String, String> deptMap = new HashMap<>();
Map<String, Object> nameMap = new HashMap<>();
try {
String isFixDate = plan.getIsFixedDate();// 是否固定日期
List<Long> pointIdList = iRoutePointDao.queryRoutePointIds(plan.getRouteId());
int pointNum = iRoutePointDao.countRoutePoint(plan.getRouteId());
long batchNo = now.getTime();
// List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(),
// plan.getUserId());
FeignClientResult<List<Map<String, Object>>> agencyUserModelsDate= jcsFeignClient.selectByAmosOrgIdDeptList(plan.getUserId());
List<Map<String, Object>> agencyUserModels = agencyUserModelsDate.getResult();
for (int i = 0; i < agencyUserModels.size(); i++) {
//遍历获取orgcode
nameMap.put(agencyUserModels.get(i).get("amosOrgId").toString(), agencyUserModels.get(i).get("bizOrgName"));
}
Set<String> departmentIds = new HashSet<>();
List<String> depts = Arrays.asList(plan.getUserDept().split(","));
depts.stream().forEach(dept -> {
deptMap.put(dept.substring(0, dept.indexOf("@")), dept.substring(dept.indexOf("@") + 1));
});
for (String entry : deptMap.keySet()) {
String entryValue = deptMap.get(entry);
departmentIds.add(entryValue);
}
StringBuffer departmentIdBuffer = new StringBuffer();
Iterator<String> it = departmentIds.iterator();
while (it.hasNext()) {
departmentIdBuffer.append(it.next()).append(",");
}
Map<String, String> orgCodeMap = new HashMap<>();
if (departmentIds.size() > 0) {
// List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(
// toke.getToke(), toke.getProduct(), toke.getAppKey(),
// departmentIdBuffer.toString().substring(0, departmentIdBuffer.toString().length() - 1));
FeignClientResult<List<Map<String, Object>>> departmentModeldate= jcsFeignClient.selectByIdDeptList(departmentIdBuffer.toString().substring(0, departmentIdBuffer.toString().length() - 1));
List<Map<String, Object>> departmentModels = departmentModeldate.getResult();
for (String key : deptMap.keySet()) {
String entryValue = deptMap.get(key);
for (Map<String, Object> departmentModel : departmentModels) {
if (entryValue.equals(departmentModel.get("sequenceNbr").toString())) {
orgCodeMap.put(key, departmentModel.get("bizOrgCode").toString());
}
}
}
}
for (int i = 0; i < list.size(); i++) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String startTime = list.get(i).get("BEGIN_TIME").toString();
String endTime = list.get(i).get("END_TIME").toString();
String userId = list.get(i).get("USER_ID") == null ? "-1" : list.get(i).get("USER_ID").toString();
String userDept = list.get(i).get("USER_DEPT") == null ? "-1" : list.get(i).get("USER_DEPT").toString();
PlanTask planTask = iplanTaskDao.findByUserIdAndBeginTimeAndEndTimeAndPlanIdAndRouteId(userId, startTime, endTime, plan.getId(), plan.getRouteId());
if (planTask != null) {
continue;
}
planTask = new PlanTask();
//修改巡检p_plan_task orgcode为执行人的org_code -- add by wujunkai 20201216
if (plan.getUserDept().indexOf(",") > 0 && plan.getIsSingleExecution() != true) {
Set<String> orgCodes = new HashSet<>();
StringBuffer nameBuffer = new StringBuffer();
orgCodeMap.forEach((key, entryValue) -> {
orgCodes.add(entryValue);
});
for (Map.Entry<String, Object> entry : nameMap.entrySet()) {
String entryValue = entry.getValue().toString();
nameBuffer.append(entryValue).append(",");
}
planTask.setOrgCode(orgCodes.toString().substring(1, orgCodes.toString().length() - 1));
planTask.setUserName(nameBuffer.toString().substring(0, nameBuffer.toString().length() - 1));
} else {
planTask.setOrgCode(orgCodeMap.get(userId));
planTask.setUserName(nameMap.get(userId).toString());
}
planTask.setPlanId(plan.getId());
planTask.setBatchNo(batchNo);
planTask.setRouteId(plan.getRouteId());
planTask.setInOrder(plan.getInOrder());
planTask.setUserId(userId);
planTask.setUserDept(userDept);
planTask.setPointNum(pointNum);
if (XJConstant.FIX_DATE_NO.equals(isFixDate)) {
if (sdf.parse(startTime).getTime() <= now.getTime() && sdf.parse(endTime).getTime() >= now.getTime()) {
planTask.setFinishStatus(XJConstant.TASK_STATUS_DEAL);
planTask.setFinishNum(0);
} else {
if (sdf.parse(endTime).getTime() < now.getTime()) {
planTask.setFinishStatus(XJConstant.TASK_STATUS_TIMEOUT);
planTask.setFinishNum(0);
}
}
} else {
if (sdf.parse(startTime).getTime() <= now.getTime() && sdf.parse(endTime).getTime() >= now.getTime()) {
planTask.setFinishStatus(XJConstant.TASK_STATUS_DEAL);
planTask.setFinishNum(0);
}
if (sdf.parse(endTime).getTime() < now.getTime()) {
planTask.setFinishStatus(XJConstant.TASK_STATUS_TIMEOUT);
planTask.setFinishNum(0);
}
}
if (XJConstant.CHECK_CHANGE_YES.equals(flag)) {
planTask.setFinishStatus(XJConstant.TASK_STATUS_FINISH);
planTask.setFinishNum(pointNum);
}
if (XJConstant.FIX_DATE_YES.equals(isFixDate) || (XJConstant.FIX_DATE_NO.equals(isFixDate)
&& XJConstant.PLAN_TYPE_DAY.equals(plan.getPlanType()))) {
planTask.setCheckDate(list.get(i).get("BEGIN_TIME").toString().substring(0, 10));
}
planTask.setBeginTime(startTime);
planTask.setEndTime(endTime);
// 1.保存执行数据主表
iplanTaskDao.saveAndFlush(planTask);
// 发送APP待办消息 (20220617 改为定时任务发送消息)
// sendMessage(plan, planTask);
String executorId = planTask.getUserId();
long planId = planTask.getId();
for (int i1 = 0; i1 < pointIdList.size(); i1++) {
Number pointId = pointIdList.get(i1);
PlanTaskDetail planTaskDetailInstance = new PlanTaskDetail();
planTaskDetailInstance.setPointId(pointId.longValue());
planTaskDetailInstance.setTaskNo(planId);
planTaskDetailInstance.setStatus("0");
if (XJConstant.TASK_STATUS_TIMEOUT == planTask.getFinishStatus()) {
planTaskDetailInstance.setIsFinish(Integer.parseInt(XJConstant.PLAN_TASK_DET_FINISH_OUT));
planTaskDetailInstance.setStatus("3");
}
if (XJConstant.CHECK_CHANGE_YES.equals(flag)) {
planTaskDetailInstance.setIsFinish(Integer.parseInt(XJConstant.PLAN_TASK_DET_FINISH_YES));
planTaskDetailInstance.setStatus("1");
}
// 2.保存执行数据明细表
planTaskDetail.saveAndFlush(planTaskDetailInstance);
}
// 定时任务监控
jobService.planTaskAddJob(planTask);
}
// 3.如果为自动任务调用,则更新id,如果重做或且下次时间大于等于明天,则更新planTaskId到plan表
Date genDate = DateUtil.str2Date(list.get(list.size() - 1).get("NEXT_GEN_DATE").toString(), "yyyy-MM-dd");//下次生成日期
Date tomorrow = DateUtil.getIntervalDate(now, 1);//明天
String strGenDate = list.get(list.size() - 1).get("NEXT_GEN_DATE").toString().substring(0, 10);
HashMap<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("id", plan.getId());
paramMap.put("next_gen_date", strGenDate);
if (XJConstant.SCHED_FLAG.equals(flag)) {
paramMap.put("plan_task_id", 0);//修改为初始值
paramMap.put("first_flag", XJConstant.PLAN_FIRST_STATUS_NO);
} else if (!XJConstant.SCHED_FLAG.equals(flag) && (genDate.getTime() - tomorrow.getTime() >= 0) && XJConstant.FIX_DATE_NO.equals(plan.getIsFixedDate())) {//更新日期及plantaskId到plan表
long planTaskId = iplanTaskDao.findMaxIdByBatchNo(batchNo);
paramMap.put("plan_task_id", planTaskId);// 更新新的任务id到plan
paramMap.put("first_flag", XJConstant.PLAN_FIRST_STATUS_NO);
}
if (DateUtil.str2Date(strGenDate, "yyyy-MM-dd").getTime() - now.getTime() < 0 || org.apache.commons.lang.StringUtils.isBlank(strGenDate)) {
paramMap.put("next_gen_date", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
}
planMapper.updPlanStatusOrGenDate(paramMap);// 更新下次任务生成日期
} catch (Exception e) {
log.error(e.getMessage(), e);
}
// return deptMap;
}
/** /**
* plantask及det入库 * plantask及det入库
* *
......
...@@ -40,6 +40,11 @@ public interface IPlanTaskService { ...@@ -40,6 +40,11 @@ public interface IPlanTaskService {
void reGenPlanTask(HashMap<String, Object> param) throws ParseException; void reGenPlanTask(HashMap<String, Object> param) throws ParseException;
/** /**
* 计划执行重做
*/
void reGenPlanTaskNew(HashMap<String, Object> param) throws ParseException;
/**
* 计划执行删除 * 计划执行删除
*/ */
void planTaskDet(String[] strArry); void planTaskDet(String[] strArry);
......
package com.yeejoin.amos.patrol.quartz; package com.yeejoin.amos.patrol.quartz;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.DepartmentModel; import com.yeejoin.amos.feign.privilege.model.DepartmentModel;
import com.yeejoin.amos.patrol.business.constants.XJConstant; import com.yeejoin.amos.patrol.business.constants.XJConstant;
...@@ -8,6 +9,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.MsgMapper; ...@@ -8,6 +9,7 @@ import com.yeejoin.amos.patrol.business.dao.mapper.MsgMapper;
import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper; import com.yeejoin.amos.patrol.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.patrol.business.dao.repository.*; import com.yeejoin.amos.patrol.business.dao.repository.*;
import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo; import com.yeejoin.amos.patrol.business.entity.mybatis.PlanTaskPointInputItemBo;
import com.yeejoin.amos.patrol.business.feign.JcsFeignClient;
import com.yeejoin.amos.patrol.business.param.MsgConfigParam; import com.yeejoin.amos.patrol.business.param.MsgConfigParam;
import com.yeejoin.amos.patrol.business.service.intfc.IMessageService; import com.yeejoin.amos.patrol.business.service.intfc.IMessageService;
import com.yeejoin.amos.patrol.business.util.DateUtil; import com.yeejoin.amos.patrol.business.util.DateUtil;
...@@ -82,6 +84,13 @@ public class JobService implements IJobService { ...@@ -82,6 +84,13 @@ public class JobService implements IJobService {
private String patrolTopic; private String patrolTopic;
@Autowired @Autowired
private WebMqttComponent webMqttComponent; private WebMqttComponent webMqttComponent;
@Autowired
JcsFeignClient jcsFeignClient;
@Override @Override
@Transactional @Transactional
public void initScheduler() { public void initScheduler() {
...@@ -228,14 +237,25 @@ public class JobService implements IJobService { ...@@ -228,14 +237,25 @@ public class JobService implements IJobService {
// for (int j = 0; j < ids.size(); j++) { // for (int j = 0; j < ids.size(); j++) {
String realNames=""; String realNames="";
List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), deptIds.toString().substring(0,deptIds.toString().length()-1)); // List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(),
List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), planTask.getUserId()); // toke.getProduct(), toke.getAppKey(), deptIds.toString().substring(0,deptIds.toString().length()-1));
// List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(),
// toke.getProduct(), toke.getAppKey(), planTask.getUserId());
FeignClientResult<List<Map<String, Object>>> agencyUserModelsDate= jcsFeignClient.selectByAmosOrgIdDeptList(planTask.getUserId());
List<Map<String, Object>> agencyUserModels = agencyUserModelsDate.getResult();
FeignClientResult<List<Map<String, Object>>> departmentModeldate= jcsFeignClient.selectByIdDeptList(deptIds.toString().substring(0,deptIds.toString().length()-1));
List<Map<String, Object>> departmentModels = departmentModeldate.getResult();
if(!agencyUserModels.isEmpty()){ if(!agencyUserModels.isEmpty()){
realNames = agencyUserModels.stream().map(AgencyUserModel::getRealName).collect(Collectors.joining(",")); realNames = agencyUserModels.stream().map(map->map.get("bizOrgName").toString()).collect(Collectors.joining(","));
userName.append(realNames); userName.append(realNames);
} }
if(!departmentModels.isEmpty()){ if(!departmentModels.isEmpty()){
String departmentName = departmentModels.stream().map(DepartmentModel::getDepartmentName).collect(Collectors.joining(",")); String departmentName = departmentModels.stream().map(map->map.get("bizOrgName").toString()).collect(Collectors.joining(","));
deptName.append(departmentName); deptName.append(departmentName);
}; };
// } // }
...@@ -244,18 +264,36 @@ public class JobService implements IJobService { ...@@ -244,18 +264,36 @@ public class JobService implements IJobService {
String realNames=""; String realNames="";
deptId.append(planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1)).append(","); deptId.append(planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1)).append(",");
deptMap.put(planTask.getUserDept().substring(0,planTask.getUserDept().indexOf("@")),planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1)); deptMap.put(planTask.getUserDept().substring(0,planTask.getUserDept().indexOf("@")),planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1));
List<DepartmentModel> departmentModel = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), deptMap.get(planTask.getUserId())); // List<DepartmentModel> departmentModel = remoteSecurityService.getlistDepartmentByDeptIds(
// toke.getToke(), toke.getProduct(), toke.getAppKey(), deptMap.get(planTask.getUserId()));
FeignClientResult<List<Map<String, Object>>> departmentModeldate= jcsFeignClient.selectByIdDeptList( deptMap.get(planTask.getUserId()));
List<Map<String, Object>> departmentModel = departmentModeldate.getResult();
if(departmentModel.size()>0){ if(departmentModel.size()>0){
departmentModel.stream().forEach(model->{ departmentModel.stream().forEach(model->{
deptName.append(model.getDepartmentName()); deptName.append(model.get("bizOrgName").toString());
}); });
}else{ }else{
deptName.append("其他").append(","); deptName.append("其他").append(",");
} }
List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), planTask.getUserId()); // List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(),
// planTask.getUserId());
FeignClientResult<List<Map<String, Object>>> agencyUserModelsDate= jcsFeignClient.selectByAmosOrgIdDeptList(planTask.getUserId());
List<Map<String, Object>> agencyUserModels = agencyUserModelsDate.getResult();
if(!agencyUserModels.isEmpty()){ if(!agencyUserModels.isEmpty()){
realNames = agencyUserModels.stream().map(AgencyUserModel::getRealName).collect(Collectors.joining(",")); realNames = agencyUserModels.stream().map(map->map.get("bizOrgName").toString()).collect(Collectors.joining(","));
// userIds = agencyUserModels.stream().map(AgencyUserModel::getUserId).collect(Collectors.joining(","));
} }
userName.append(realNames); userName.append(realNames);
} }
...@@ -366,6 +404,180 @@ public class JobService implements IJobService { ...@@ -366,6 +404,180 @@ public class JobService implements IJobService {
} }
// private void createOmissionCheckRecord(PlanTask planTask) {
// List<PlanTaskPointInputItemBo> planTaskPointInputItems = planTaskMapper
// .getPlanTaskPointInputItemByPlanTaskId(planTask.getId(),PlanTaskDetailStatusEnum.OMISSION.getValue());
// Map<Long, Check> checkMap = new HashMap<>();
// Set<Long> checkIds = new HashSet<Long>();
// Map<String,String> deptMap =new HashMap<>();
// Toke toke= remoteSecurityService.getServerToken();
// //查询用户名字
//
// //修改巡检p_plan_task orgcode为执行人的org_coed -- add by wujunkai 20201216
// String userIds="";
// StringBuffer deptName = new StringBuffer();
// StringBuffer deptId = new StringBuffer();
// StringBuffer userName = new StringBuffer();
// if(planTask.getUserDept().indexOf(",")>0){
// List<String> ids = Arrays.asList(planTask.getUserId().split(","));
// List<String> depts = Arrays.asList(planTask.getUserDept().split(","));
// depts.stream().forEach(dept->{
// deptMap.put(dept.substring(0,dept.indexOf("@")),dept.substring(dept.indexOf("@")+1));
// deptId.append(dept.substring(dept.indexOf("@")+1)).append(",");
// });
// Set<String> departmentOrgCode= new HashSet<>();
// for (String key:deptMap.keySet()) {
// departmentOrgCode.add(deptMap.get(key));
// }
// StringBuffer deptIds = new StringBuffer();
// Iterator it = departmentOrgCode.iterator();
// while(it.hasNext()){
// deptIds.append(it.next()).append(",");
// }
//
//// for (int j = 0; j < ids.size(); j++) {
// String realNames="";
// List<DepartmentModel> departmentModels = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), deptIds.toString().substring(0,deptIds.toString().length()-1));
// List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), planTask.getUserId());
// if(!agencyUserModels.isEmpty()){
// realNames = agencyUserModels.stream().map(AgencyUserModel::getRealName).collect(Collectors.joining(","));
// userName.append(realNames);
// }
// if(!departmentModels.isEmpty()){
// String departmentName = departmentModels.stream().map(DepartmentModel::getDepartmentName).collect(Collectors.joining(","));
// deptName.append(departmentName);
// };
//// }
//
// }else{
// String realNames="";
// deptId.append(planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1)).append(",");
// deptMap.put(planTask.getUserDept().substring(0,planTask.getUserDept().indexOf("@")),planTask.getUserDept().substring(planTask.getUserDept().indexOf("@")+1));
// List<DepartmentModel> departmentModel = remoteSecurityService.getlistDepartmentByDeptIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), deptMap.get(planTask.getUserId()));
// if(departmentModel.size()>0){
// departmentModel.stream().forEach(model->{
// deptName.append(model.getDepartmentName());
// });
// }else{
// deptName.append("其他").append(",");
// }
// List<AgencyUserModel> agencyUserModels = remoteSecurityService.listUserByUserIds(toke.getToke(), toke.getProduct(), toke.getAppKey(), planTask.getUserId());
// if(!agencyUserModels.isEmpty()){
// realNames = agencyUserModels.stream().map(AgencyUserModel::getRealName).collect(Collectors.joining(","));
//// userIds = agencyUserModels.stream().map(AgencyUserModel::getUserId).collect(Collectors.joining(","));
// }
// userName.append(realNames);
// }
//
// //查询部门名称
//// String depId="";
//// String depName="";
// /**
// * 对部门查询有问题需要修改
//
// if(iPlanDao.existsById(planTask.getPlanId())){
// Plan plan = iPlanDao.findById(planTask.getPlanId()).get();
// DepartmentModel departmentModel = remoteSecurityService.getDepartmentByDeptId(toke.getToke(), toke.getProduct(), toke.getAppKey(), plan.getDeptId());
// depId = plan.getDeptId();
// depName = departmentModel.getDepartmentName();
// } */
//
// for(PlanTaskPointInputItemBo arg:planTaskPointInputItems){
// Check check = new Check();
// if (checkMap.get(arg.getPointId()) == null) {
// check.setOrgCode(arg.getOrgCode());
// check.setUserId(planTask.getUserId());
// int len = userName.toString().indexOf(",");
// if (len != -1) {
// check.setUserName(userName.toString());
// } else {
// check.setUserName(userName.toString());
// }
// check.setDepId(deptId.toString().substring(0,deptId.length()-1));
// check.setDepName(deptName.toString());
// check.setPointId(arg.getPointId());
// check.setUploadTime(new Date());
// check.setPlanId(arg.getPlanId());
// check.setPlanTaskId(arg.getPlanTaskId());
// check.setPlanTaskDetailId(arg.getPlanTaskDetailId());
// check.setRouteId(arg.getRouteId());
// check.setCheckTime(arg.getEndTime());
// check.setIsOk(CheckStatusEnum.OMISSION.getCode());
// check = iCheckDao.saveAndFlush(check);
// checkMap.put(arg.getPointId(), check);
// checkIds.add(check.getId());
// } else {
// check = checkMap.get(arg.getPointId());
// }
// if (arg.getInputItemId() != null) {
// CheckInput checkInput = new CheckInput();
// checkInput.setCheckId(check.getId());
// checkInput.setInputId(arg.getInputItemId());
// checkInput.setIsOk(CheckStatusEnum.OMISSION.getCode());
// checkInput.setRoutePointItemId(arg.getRoutePointItemId());
// checkInput.setOrderNo(arg.getOrderNo());
// checkInput.setOrgCode(arg.getOrgCode());
// checkInput.setInputName(arg.getInputName());
// checkInput.setPointClassifyId(arg.getClassifyId());
// checkInput.setPointClassifyName(arg.getClassifyName());
// iCheckInputDao.saveAndFlush(checkInput);
// }
// }
//
// String usrIds = planTask.getUserId();
// if (!ObjectUtils.isEmpty(usrIds)) {
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// String[] ids = usrIds.split(",");
// for (String userId : usrIds.split(",")) {
// Map<String,AgencyUserModel> agencyUserModelMap = remoteSecurityService.getUsersMap(toke.getToke(),toke.getProduct(),toke.getAppKey(), Collections.singleton(userIds));
// List<Map<String, String>> idOrgCodeList = new ArrayList<>();
// for(Map.Entry<String, AgencyUserModel> entry : agencyUserModelMap.entrySet()){
// String id = entry.getKey();
// AgencyUserModel agencyUserModel = entry.getValue();
// StringBuffer agencyUserOrgcode = new StringBuffer();
// agencyUserModel.getCompanys().forEach(companyModel -> {
// agencyUserOrgcode.append(companyModel.getOrgCode()).append(",");
// });
// Map<String,String> map = new HashMap<>();
// map.put(id,agencyUserOrgcode.toString().substring(0,agencyUserOrgcode.length()-1));
// }
// Map<String, String> userIdOrgCodeMap = new HashMap<>(ids.length);
// if (!CollectionUtils.isEmpty(idOrgCodeList)) {
// userIdOrgCodeMap = idOrgCodeList.stream().collect(Collectors.toMap(x-> String.valueOf(x.get(
// "id")), x->x.get("org_code")));
// }
// if (ObjectUtils.isEmpty(userId)) {
// continue;
// }
//// planTaskMapper.reformStatistics(userId, sdf.format(new Date()), planTask.getOrgCode());
// planTaskMapper.reformStatistics(userId, sdf.format(new Date()), userIdOrgCodeMap.get(userId));
//
// }
// }
//
// // 向3d推送数据,发送消息推送
// checkIds.forEach(checkId -> {
// try {
// asyncTask.pushCheckInfoTo3D(checkId);
// asyncTask.pushCheckMessage(checkId);
// } catch (InterruptedException e) {
// log.error(e.getMessage(), e);
// e.printStackTrace();
// }
// });
// //数字换流站页面刷新
// try {
// webMqttComponent.publish(patrolTopic, "");
// }catch (Exception e){
// log.error("数字换流站页面推送失败-----------"+e.getMessage());
// }
//
//
// }
private void removeJob(String jobName) { private void removeJob(String jobName) {
log.debug("removeJob==jobName==" + jobName); log.debug("removeJob==jobName==" + jobName);
QuartzManager.removeJob(jobName); QuartzManager.removeJob(jobName);
......
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