Commit a26b587a authored by chenzhao's avatar chenzhao

Merge branch 'developer' of http://172.16.10.76/moa/amos-boot-biz into developer

parents df895f93 33462341
......@@ -58,7 +58,7 @@ public interface LinkageUnitMapper extends BaseMapper<LinkageUnit> {
* @return
*/
Page<List<LinkageUnitDto>> getEmergencyLinkageUnitList(IPage<LinkageUnitDto> page,String unitName,
String linkageUnitType, String emergencyLinkageUnitCode);
String linkageUnitType, String linkageUnitTypeCode, String emergencyLinkageUnitCode);
List<LinkageUnitDto> exportToExcel();
......
......@@ -2,16 +2,12 @@ package com.yeejoin.amos.boot.module.common.api.service;
import java.util.List;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.Menu;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitDto;
import com.yeejoin.amos.boot.module.common.api.dto.LinkageUnitZhDto;
import com.yeejoin.amos.boot.module.common.api.dto.RequestData;
import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
/**
* 联动单位接口类
......@@ -37,17 +33,16 @@ public interface ILinkageUnitService {
* @param emergencyLinkageUnitCode 紧急联动单位类型code
* @return
*/
Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
@Condition(Operator.eq) Boolean isDelete,
@Condition(Operator.like) String unitName,
@Condition(Operator.eq) String linkageUnitTypeCode,
@Condition(Operator.eq) String emergencyLinkageUnitCode,
String inAgreement);
Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page, Boolean isDelete, String unitName,
String linkageUnitTypeCode, String linkageUnitType, String emergencyLinkageUnitCode, String inAgreement);
/**
* 获取当前存在的联动单位的类型组code
*
* @return
*/
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName) ;
public List<Menu> getEmergencyLinkageUnitCodeGroupBy(String type, String rootName);
List<LinkageUnitDto> exportToExcel();
List<LinkageUnitDto> queryForLinkageUnitList(Boolean isDelete);
......
......@@ -192,5 +192,9 @@
test="emergencyLinkageUnitCode != null and emergencyLinkageUnitCode != ''">
AND clu.emergency_linkage_unit_code =#{emergencyLinkageUnitCode}
</if>
<if
test="linkageUnitTypeCode != null and linkageUnitTypeCode != ''">
AND clu.linkage_unit_type_code =#{linkageUnitTypeCode}
</if>
</select>
</mapper>
......@@ -541,12 +541,12 @@ public class CommandController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "联动单位分页查询", notes = "联动单位分页查询")
public ResponseModel<Page<LinkageUnitDto>> LinkageUnitDtoQueryForPage(@RequestParam(value = "pageNum") int pageNum,
@RequestParam(value = "pageSize") int pageSize,
String unitName, String linkageUnitType, String inAgreement) {
String unitName,String linkageUnitTypeCode, String linkageUnitType, String inAgreement) {
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(pageNum);
page.setSize(pageSize);
Page<LinkageUnitDto> linkageUnitDtoPage = iLinkageUnitService.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType, null, inAgreement);
unitName,linkageUnitTypeCode, linkageUnitType, null, inAgreement);
return ResponseHelper.buildResponse(linkageUnitDtoPage);
}
......
......@@ -123,12 +123,12 @@ public class LinkageUnitController extends BaseController {
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "联动单位分页查询", notes = "联动单位分页查询")
public ResponseModel<Page<LinkageUnitDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size, String unitName, String linkageUnitType, String inAgreement, String emergencyLinkageUnitCode) {
(value = "size") int size, String unitName,String linkageUnitTypeCode, String linkageUnitType, String inAgreement, String emergencyLinkageUnitCode) {
Page<LinkageUnitDto> page = new Page<LinkageUnitDto>();
page.setCurrent(current);
page.setSize(size);
Page<LinkageUnitDto> linkageUnitDtoPage = linkageUnitServiceImpl.queryForLinkageUnitPage(page, false,
unitName, linkageUnitType, emergencyLinkageUnitCode,inAgreement);
unitName, linkageUnitTypeCode,linkageUnitType, emergencyLinkageUnitCode,inAgreement);
return ResponseHelper.buildResponse(linkageUnitDtoPage);
}
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -21,22 +39,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.LinkageUnit;
import com.yeejoin.amos.boot.module.common.api.entity.SourceFile;
import com.yeejoin.amos.boot.module.common.api.mapper.LinkageUnitMapper;
import com.yeejoin.amos.boot.module.common.api.service.ILinkageUnitService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.annotation.Condition;
import org.typroject.tyboot.core.rdbms.annotation.Operator;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 联动单位服务实现类
......@@ -72,10 +74,11 @@ public class LinkageUnitServiceImpl extends BaseService<LinkageUnitDto, LinkageU
*/
@Override
public Page<LinkageUnitDto> queryForLinkageUnitPage(IPage<LinkageUnitDto> page,
@Condition(Operator.eq) Boolean isDelete, @Condition(Operator.like) String unitName,
@Condition(Operator.eq) String linkageUnitType, @Condition(Operator.eq) String emergencyLinkageUnitCode,
Boolean isDelete, String unitName,
String linkageUnitTypeCode,
String linkageUnitType, String emergencyLinkageUnitCode,
String inAgreement) {
Page<List<LinkageUnitDto>> linkageUnitList = linkageUnitMapper.getEmergencyLinkageUnitList(page,unitName, linkageUnitType, emergencyLinkageUnitCode);
Page<List<LinkageUnitDto>> linkageUnitList = linkageUnitMapper.getEmergencyLinkageUnitList(page,unitName, linkageUnitType,linkageUnitTypeCode, emergencyLinkageUnitCode);
List<Map> linkageUnitListMap =JSONArray.parseArray(JSONArray.toJSONString(linkageUnitList.getRecords()), Map.class);
List<Map<String, Object>> pageList = dynamicFormInstanceService.listAll(getGroupCode());
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -435,7 +436,7 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
OrgUsrFormDto formDto = this.selectCompanyById(orgUsr.getSequenceNbr());
if (OrgPersonEnum.公司.getKey().equals(orgUsr.getBizOrgType())) {
try {
emqKeeper.getMqttClient().publish(airportAddTopic, formDto.toString().getBytes(), 2, true);
emqKeeper.getMqttClient().publish(airportAddTopic, JSON.toJSONString(formDto).getBytes(), 2, false);
} catch (Exception e) {
e.getMessage();
}
......
......@@ -3,8 +3,6 @@ package com.yeejoin.amos.maintenance.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dto.CheckDto;
import com.yeejoin.amos.maintenance.business.dto.CheckInputDto;
import com.yeejoin.amos.maintenance.business.dto.CheckShotDto;
import com.yeejoin.amos.maintenance.business.param.CheckInfoPageParam;
import com.yeejoin.amos.maintenance.business.param.CheckRecordParam;
import com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam;
......@@ -13,6 +11,7 @@ import com.yeejoin.amos.maintenance.business.util.*;
import com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo;
import com.yeejoin.amos.maintenance.business.vo.CheckInfoVo;
import com.yeejoin.amos.maintenance.common.enums.CheckRecordOrderByEnum;
import com.yeejoin.amos.maintenance.common.enums.CheckStatusEnum;
import com.yeejoin.amos.maintenance.core.async.AsyncTask;
import com.yeejoin.amos.maintenance.core.common.request.CommonPageable;
import com.yeejoin.amos.maintenance.core.common.request.CommonRequest;
......@@ -80,10 +79,11 @@ public class CheckController extends AbstractBaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PersonIdentify
@ApiOperation(value = "巡检记录查询", notes = "巡检记录查询")
@RequestMapping(value = "/list", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse qryCheckInfoPage(
@ApiParam(value = "查询条件", required = false) @RequestBody(required = false) List<CommonRequest> queryRequests,
@ApiParam(value = "查询条件") @RequestBody(required = false) List<CommonRequest> queryRequests,
@ApiParam(value = "分页参数", required = true) CommonPageable commonPageable) {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
......@@ -307,7 +307,7 @@ public class CheckController extends AbstractBaseController {
@ApiOperation(value = "维保日历-mobile", notes = "维保日历-mobile")
@GetMapping(value = "/{date}/checkCalendar", produces = "application/json;charset=UTF-8")
public CommonResponse checkCalendar(
@ApiParam(value = "date,格式YYYY-MM-DD",required = true)@PathVariable String date) {
@ApiParam(value = "date,格式YYYY-MM-DD", required = true) @PathVariable String date) {
Map<String, Object> params = new HashMap<>();
ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams);
......@@ -480,7 +480,7 @@ public class CheckController extends AbstractBaseController {
return CommonResponseUtil.success(checkService.obtainLastCheckRecord(relationId));
}
@PersonIdentify(isNeedIdentity = true)
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "维保记录分页查询", notes = "维保记录分页查询")
@GetMapping(value = "/page")
......@@ -492,10 +492,10 @@ public class CheckController extends AbstractBaseController {
@ApiParam(value = "开始时间") @RequestParam(value = "beginTime", required = false) String beginTime,
@ApiParam(value = "结束时间") @RequestParam(value = "endTime", required = false) String endTime,
@ApiParam(value = "维保人员") @RequestParam(value = "personId", required = false) String person,
@ApiParam(value = "业主单位") @RequestParam(value = "teamId", required = false) String teamId,
@ApiParam(value = "业主单位") @RequestParam(value = "companyId", required = false) String companyId,
@ApiParam(value = "设施Id") @RequestParam(value = "equipId", required = false) String equipId,
@ApiParam(value = "当前页") @RequestParam(value = "pageNumber") int pageNumber,
@ApiParam(value = "页大小") @RequestParam(value = "pageSize") int pageSize) throws Exception{
@ApiParam(value = "页大小") @RequestParam(value = "pageSize") int pageSize) throws Exception {
HashMap<String, Object> params = new HashMap<>();
ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams);
......@@ -510,7 +510,7 @@ public class CheckController extends AbstractBaseController {
params.put("beginTime", beginTime);
params.put("endTime", endTime);
params.put("person", person);
params.put("teamId", teamId);
params.put("companyId", companyId);
params.put("equipId", equipId);
params.put("orgCode", loginOrgCode);
CommonPageable pageable = new CommonPageable(pageNumber, pageSize);
......@@ -521,7 +521,7 @@ public class CheckController extends AbstractBaseController {
@ApiOperation(value = "维保记录详情", notes = "维保记录详情")
@GetMapping(value = "/detail/{id}")
public CommonResponse getCheckDetail(
@ApiParam(value = "记录Id") @PathVariable(value = "id") String id) throws Exception{
@ApiParam(value = "记录Id") @PathVariable(value = "id") String id) throws Exception {
return CommonResponseUtil.success(checkService.getCheckDetail(id));
}
......@@ -532,21 +532,28 @@ public class CheckController extends AbstractBaseController {
return ResponseHelper.buildResponse(CheckRecordOrderByEnum.getEnumList());
}
@ApiOperation(value = "/设备设施维保记录分页列表",notes = "外部接口装备和者水源使用")
@ApiOperation(value = "/设备设施维保记录分页列表", notes = "外部接口装备和者水源使用")
@GetMapping(value = "page/{originalId}/list")
public ResponseModel getCheckListByOriginalId(
@PathVariable String originalId,
@RequestParam(value = "current") int pageNum,
@RequestParam(value = "size") int pageSize
){
CommonPageable pageable = new CommonPageable(pageNum,pageSize);
return ResponseHelper.buildResponse(checkService.getCheckListByOriginalId(originalId,pageable));
) {
CommonPageable pageable = new CommonPageable(pageNum, pageSize);
return ResponseHelper.buildResponse(checkService.getCheckListByOriginalId(originalId, pageable));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "web端维保记录详情")
@GetMapping(value = "input/{checkId}/detail")
public ResponseModel inputDetail(@ApiParam(value = "记录主表id") @PathVariable String checkId){
public ResponseModel inputDetail(@ApiParam(value = "记录主表id") @PathVariable String checkId) {
return ResponseHelper.buildResponse(checkService.getInputDetail(checkId));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "维保检查结果下拉列表")
@GetMapping(value = "/isOk-list")
public ResponseModel statusList() {
return ResponseHelper.buildResponse(CheckStatusEnum.getEnumList());
}
}
package com.yeejoin.amos.maintenance.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.maintenance.business.dto.PointDto;
import com.yeejoin.amos.maintenance.business.param.PointImportParam;
import com.yeejoin.amos.maintenance.business.param.PointImportQueryParam;
......@@ -636,10 +635,9 @@ public class PointController extends AbstractBaseController {
public CommonResponse syncSavePoint(
@ApiParam(value = "同步请求参数") @RequestBody() List<MaintenanceResourceData> list) {
ReginParams reginParams = getSelectedOrgInfo();
AgencyUserModel model = getUserInfo();
String orgCode = getOrgCode(reginParams);
iPointService.syncSavePoint(list, orgCode, model.getUserId());
iPointService.syncSavePoint(list, reginParams);
return CommonResponseUtil.success();
}
}
package com.yeejoin.amos.maintenance.business.controller;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.param.SynInputItemParam;
import com.yeejoin.amos.maintenance.business.param.SynPlanParam;
import com.yeejoin.amos.maintenance.business.param.SynPointParam;
import com.yeejoin.amos.maintenance.business.param.SynRouteParam;
import com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService;
import com.yeejoin.amos.maintenance.business.util.CommonResponse;
import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
import com.yeejoin.amos.maintenance.business.util.Toke;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
@RestController
@RequestMapping(value = "/api/syn")
@Api(tags = "巡检同步接口api")
@Api(tags = "维保同步接口api")
@Slf4j
public class SynDataController extends AbstractBaseController {
private final Logger logger = LoggerFactory.getLogger(SynDataController.class);
private static final String saveOperationType = "save";
private static final String updateOperationType = "update";
private static final String deleteOperationType = "delete";
@Autowired
private ISynDataService iSynDataService;
......@@ -48,189 +29,9 @@ public class SynDataController extends AbstractBaseController {
* 同步巡检项
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步巡检项", notes = "同步巡检项")
@PostMapping(value = "/inputItem/{operationType}")
public CommonResponse inputItem(@ApiParam(value = "操作类型(save/update/delete)", required = true) @PathVariable String operationType,
@ApiParam(value = "巡检项信息", required = true) @RequestBody SynInputItemParam synInputItemParam) {
try {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
String userId = getUserId();
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
if (operationType.equals(saveOperationType)) {
return iSynDataService.saveInputItem(synInputItemParam,userId, orgCode);
}
if (operationType.equals(updateOperationType)) {
return iSynDataService.updateInputItem(synInputItemParam);
}
if (operationType.equals(deleteOperationType)) {
return iSynDataService.deleteInputItem(synInputItemParam);
}
return CommonResponseUtil.failure("操作类型有误");
} catch (Exception e) {
logger.error("同步巡检项异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 同步巡检点
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步巡检点", notes = "同步巡检点")
@PostMapping(value = "/point/{operationType}")
public CommonResponse point(@ApiParam(value = "操作类型(save/update/delete)", required = true) @PathVariable String operationType,
@ApiParam(value = "巡检点信息", required = true) @RequestBody SynPointParam synPointParam) {
try {
if (operationType.equals(saveOperationType)) {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
String userId = getUserId();
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
return iSynDataService.saveSinglePoint(synPointParam, userId, orgCode);
}
if (operationType.equals(updateOperationType)) {
return iSynDataService.updateSinglePoint(synPointParam);
}
if (operationType.equals(deleteOperationType)) {
return iSynDataService.deleteSinglePoint(synPointParam);
}
return CommonResponseUtil.failure("操作类型有误");
} catch (Exception e) {
logger.error("同步巡检点异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 同步巡检点和巡检项关系
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步巡检点和巡检项关系", notes = "同步巡检点和巡检项关系")
@PostMapping(value = "/pointItem/relation/{operationType}")
public CommonResponse relation(@ApiParam(value = "操作类型(save/update/delete)", required = true) @PathVariable String operationType,
@ApiParam(value = "巡检点信息", required = true) @RequestBody SynPointParam synPointParam) {
try {
/* User user = getUserInfo();
if (ObjectUtils.isEmpty(user)) {
return CommonResponseUtil.failure("用户session过期");
}*/
String userId = getUserId();
if (operationType.equals(saveOperationType)) {
return iSynDataService.synPointItemRelation(synPointParam, true, userId);
}
if (operationType.equals(updateOperationType)) {
return iSynDataService.synPointItemRelation(synPointParam, false, userId);
}
return CommonResponseUtil.failure("操作类型有误");
} catch (Exception e) {
logger.error("同步巡检点和巡检项关系异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 同步巡检路线
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步巡检路线", notes = "同步巡检路线")
@PostMapping(value = "/route/{operationType}")
public CommonResponse route(@ApiParam(value = "操作类型(save/update/delete)", required = true) @PathVariable String operationType,
@ApiParam(value = "巡检路线信息") @RequestBody SynRouteParam synRouteParam) {
try {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
String userId = getUserId();
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
// String orgCode = getLoginUserParam().getOrgCode();
if (operationType.equals(saveOperationType)) {
return iSynDataService.saveRoute(synRouteParam, userId, orgCode);
}
if (operationType.equals(updateOperationType)) {
return iSynDataService.updateRoute(synRouteParam, userId, orgCode);
}
return CommonResponseUtil.failure("操作类型有误");
} catch (Exception e) {
logger.error("同步巡检路线异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 同步巡检计划
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "同步巡检计划", notes = "同步巡检计划")
@PostMapping(value = "/plan/{operationType}")
public CommonResponse plan(@ApiParam(value = "操作类型(save/update/delete)", required = true) @PathVariable String operationType,
@ApiParam(value = "巡检计划信息") @RequestBody SynPlanParam synPlanParam) {
try {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
String userId = getUserId();
Toke toke = new Toke();
toke.setAppKey(getAppKey());
toke.setProduct(getProduct());
toke.setToke(getToken());
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
// String orgCode = getLoginUserParam().getOrgCode();
if (operationType.equals(saveOperationType)) {
return iSynDataService.savePlan(synPlanParam, userId, orgCode,toke);
}
if (operationType.equals(updateOperationType)) {
return iSynDataService.updatePlan(synPlanParam, userId, orgCode);
}
return CommonResponseUtil.failure("操作类型有误");
} catch (Exception e) {
logger.error("同步巡检计划异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 停用巡检计划
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "停用巡检计划", notes = "停用巡检计划")
@PostMapping(value = "/stopPlan")
public CommonResponse stopPlan(@ApiParam(value = "巡检计划信息", required = true) @RequestParam String originalId) {
try {
ReginParams reginParams = getSelectedOrgInfo();
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
iSynDataService.stopPlan(originalId);
return CommonResponseUtil.success();
} catch (Exception e) {
logger.error("停用巡检计划异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
}
/**
* 获取巡检计划已完成次数
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "获取巡检计划已完成次数", notes = "获取巡检计划已完成次数")
@GetMapping(value = "/plan/getFinishTimes")
public CommonResponse getPlanFinishTimes(@ApiParam(value = "巡检计划原始编号(多个逗号隔开)", required = true) @RequestParam String originalIds) {
try {
ReginParams reginParams = getSelectedOrgInfo();
if (ObjectUtils.isEmpty(reginParams)) {
return CommonResponseUtil.failure("用户session过期");
}
return iSynDataService.getPlanFinishTimes(originalIds);
} catch (Exception e) {
logger.error("获取巡检计划已完成次数异常", e);
return CommonResponseUtil.failure("系统繁忙,请稍后再试");
}
@ApiOperation(value = "同步删除维保点", notes = "同步删除维保点")
@DeleteMapping(value = "/{ids}/point")
public ResponseModel pointDelete(@PathVariable String ids) {
return ResponseHelper.buildResponse(iSynDataService.pointDelete(ids));
}
}
......@@ -279,7 +279,7 @@ public interface CheckMapper extends BaseMapper {
long getCheckCount(HashMap<String, Object> params);
List<HashMap<String, Object>> getChecks(HashMap<String, Object> params);
List<Map<String, Object>> getChecks(HashMap<String, Object> params);
Map<String, Object> getCheckDetail(@Param(value = "id") String id);
......
......@@ -1090,8 +1090,8 @@ public class CheckServiceImpl implements ICheckService {
}
@Override
public Page<HashMap<String, Object>> getCheckPage(HashMap<String, Object> params, CommonPageable page) {
List<HashMap<String, Object>> content = Lists.newArrayList();
public Page<Map<String, Object>> getCheckPage(HashMap<String, Object> params, CommonPageable page) {
List<Map<String, Object>> content = Lists.newArrayList();
long total = checkMapper.getCheckCount(params);
if (total == 0) {
return new PageImpl<>(content, page, total);
......@@ -1100,7 +1100,7 @@ public class CheckServiceImpl implements ICheckService {
params.put("pageSize", page.getPageSize());
content = checkMapper.getChecks(params);
if (0 < content.size()) {
for (HashMap<String, Object> map : content) {
for (Map<String, Object> map : content) {
if (map.containsKey("isOk")) {
map.put("status", CheckStatusEnum.getEnum(String.valueOf(map.get("isOk"))).getName());
}
......
......@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper;
......@@ -35,11 +36,11 @@ import org.springframework.data.domain.*;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.domain.Sort.Order;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import javax.annotation.Resource;
......@@ -273,7 +274,7 @@ public class PointServiceImpl implements IPointService {
public Point updatePoint(PointParam pointParam) {
//1.更新点
long pointId = pointParam.getPoint().getId();
Point newPoint = iPointDao.findById(pointId).orElseThrow(()->new RuntimeException("找不到原始数据"));
Point newPoint = iPointDao.findById(pointId).orElseThrow(() -> new RuntimeException("找不到原始数据"));
Bean.copyExistPropertis(pointParam.getPoint(), newPoint);
newPoint.setLastUpdateTime(new Date());
iPointDao.save(newPoint);
......@@ -1087,25 +1088,10 @@ public class PointServiceImpl implements IPointService {
@Override
@Async
public void syncSavePoint(List<MaintenanceResourceData> list, String orgCode, String userId) {
public void syncSavePoint(List<MaintenanceResourceData> list, ReginParams reginParams) {
List<Point> points = new ArrayList<>();
List<PointInputItem> inputItems = new ArrayList<>();
List<Long> ids = new ArrayList<>();
//1.删除已有数据
for (MaintenanceResourceData x : list) {
String pointNo = x.getFireFacilityCode();
String originalId = String.valueOf(x.getFireFacilityId());
Long id = iPointDao.findPointByEquipmentIdAndFireFacilityId(pointNo, originalId);
if (null != id) {
ids.add(id);
}
}
if (!ids.isEmpty()) {
Long[] idsArray = ids.toArray(new Long[0]);
delPointById(idsArray);
}
//2.创建
//1.创建
for (MaintenanceResourceData x : list) {
Point point = new Point();
String pointNo = StringUtil.isNotEmpty(x.getFireFacilityCode()) ? x.getFireFacilityCode() : String.valueOf(sequence.nextId());
......@@ -1123,11 +1109,14 @@ public class PointServiceImpl implements IPointService {
point.setBuildingName(x.getBuildingName());
point.setAddress(x.getArea());
point.setLevel("");
point.setCreatorId(userId);
point.setOrgCode(orgCode);
point.setCreatorId(RequestContext.getExeUserId());
//TODO BUG orgCode 取值 没值来源
point.setOrgCode(reginParams.getCompany().getOrgCode());
point.setCompanyId(String.valueOf(x.getMaintenanceCompanyId()));
point.setCompanyName(x.getMaintenanceCompanyName());
points.add(point);
iPointDao.save(point);
List<InputItem> inputItemVos = inputItemMapper.getInputItemByEquipmentName(x.getClassifyName(), orgCode);
List<InputItem> inputItemVos = inputItemMapper.getInputItemByEquipmentName(x.getClassifyName(), null);
if (0 < inputItemVos.size()) {
inputItemVos.forEach(y -> {
PointInputItem inputItem = new PointInputItem();
......
package com.yeejoin.amos.maintenance.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.maintenance.business.dao.repository.*;
import com.yeejoin.amos.maintenance.business.param.*;
import com.yeejoin.amos.maintenance.business.service.intfc.IPlanTaskService;
import com.yeejoin.amos.maintenance.business.dao.repository.IPointDao;
import com.yeejoin.amos.maintenance.business.service.intfc.IPointService;
import com.yeejoin.amos.maintenance.business.service.intfc.ISynDataService;
import com.yeejoin.amos.maintenance.business.util.CommonResponse;
import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
import com.yeejoin.amos.maintenance.business.util.Toke;
import com.yeejoin.amos.maintenance.core.util.DateUtil;
import com.yeejoin.amos.maintenance.dao.entity.*;
import com.yeejoin.amos.maintenance.dao.entity.BasicEntity;
import com.yeejoin.amos.maintenance.dao.entity.Point;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import java.math.BigInteger;
import java.util.*;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@Service("synDataService")
/**
* @author DELL
*/
@Service
public class SynDataServiceImpl implements ISynDataService {
@Autowired
private IInputItemDao iInputItemDao;
@Autowired
private IPointDao iPointDao;
@Autowired
private IPointInputItemDao iPointInputItemDao;
@Autowired
private IRouteDao iRouteDao;
@Autowired
private IRoutePointDao iRoutePointDao;
@Autowired
private IRoutePointItemDao iRoutePointItemDao;
@Autowired
private IPlanDao iPlanDao;
@Autowired
private IPlanTaskDao iplanTaskDao;
@Autowired
private PlanTaskMapper planTaskMapper;
IPointService iPointService;
@Autowired
private IPointClassifyDao iPointClassifyDao;
@Autowired
private IPlanTaskService iPlanTaskService;
private static final String YYMMMMDD = "yyyy-MM-dd";
@Override
public CommonResponse saveInputItem(SynInputItemParam synInputItemParam, String userId, String orgCode) {
InputItem inputItem = iInputItemDao.findByOriginalId(synInputItemParam.getOriginalId());
if (inputItem == null) {
if (StringUtils.isEmpty(synInputItemParam.getItemType())) {
return CommonResponseUtil.failure("请选择类型");
}
inputItem = buildSaveItemByType(synInputItemParam, userId, orgCode);
iInputItemDao.save(inputItem);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse updateInputItem(SynInputItemParam synInputItemParam) {
InputItem inputItem = iInputItemDao.findByOriginalId(synInputItemParam.getOriginalId());
if (inputItem != null) {
inputItem.setName(synInputItemParam.getItemName());
inputItem.setBasisJson(JSON.toJSONString(synInputItemParam.getBasisJson()));
iInputItemDao.save(inputItem);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse deleteInputItem(SynInputItemParam synInputItemParam) {
InputItem inputItem = iInputItemDao.findByOriginalId(synInputItemParam.getOriginalId());
if (inputItem != null) {
inputItem.setIsDelete(true);
iInputItemDao.save(inputItem);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse saveSinglePoint(SynPointParam synPointParam, String userId, String orgCode) {
Point point = iPointDao.findByOriginalId(synPointParam.getOriginalId());
if (point == null) {
point = buildSavePoint(synPointParam, userId, orgCode);
iPointDao.save(point);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse updateSinglePoint(SynPointParam synPointParam) {
Point point = iPointDao.findByOriginalId(synPointParam.getOriginalId());
if (point != null) {
point.setName(synPointParam.getPointName());
point.setCoordinates(synPointParam.getCoordinates());
point.setChargeDeptId(synPointParam.getChargeDeptId());
point.setChargePersonId(synPointParam.getChargePersonId());
point.setLastUpdateTime(new Date());
iPointDao.save(point);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse deleteSinglePoint(SynPointParam synPointParam) {
Point point = iPointDao.findByOriginalId(synPointParam.getOriginalId());
if (point != null) {
point.setIsDelete(true);
iPointDao.save(point);
}
return CommonResponseUtil.success();
}
@Transactional
@Override
public CommonResponse synPointItemRelation(SynPointParam synPointParam, Boolean isSave, String userId) {
Point point = iPointDao.findByOriginalId(synPointParam.getOriginalId());
if (point != null) {
point.setLevel(synPointParam.getLevel());
point.setLastUpdateTime(new Date());
iPointDao.save(point);
long pointId = point.getId();
List<SynItemInfoParam> itemInfoList = synPointParam.getItemInfo();
if (!CollectionUtils.isEmpty(itemInfoList)) {
if (!isSave) {
List<Long> pointIds = Lists.newArrayList(pointId);
iPointClassifyDao.deleteByPointId(pointIds);
iPointInputItemDao.deleteByPointId(pointIds);
}
Map<String, PointClassify> pointClassifyMap = Maps.newHashMap();
//保存分类
List<SynClassifyInfoParam> classifyInfoParamList = synPointParam.getClassifyInfo();
if (!CollectionUtils.isEmpty(classifyInfoParamList)) {
List<PointClassify> pointClassifyList = Lists.newArrayList();
int classfyOrderNo = 0;
for (SynClassifyInfoParam synClassifyInfoParam : classifyInfoParamList) {
PointClassify pointClassify = new PointClassify();
pointClassify.setPointId(pointId);
pointClassify.setName(synClassifyInfoParam.getName());
pointClassify.setOrderNo(classfyOrderNo);
pointClassify.setCreatorId(userId);
pointClassify.setOriginalId(synClassifyInfoParam.getClassifyOriginalId());
pointClassifyList.add(pointClassify);
classfyOrderNo++;
}
iPointClassifyDao.saveAll(pointClassifyList);
pointClassifyMap = Maps.uniqueIndex(pointClassifyList, PointClassify::getOriginalId);
}
//保存点和项的关系
List<InputItem> inputItemList = iInputItemDao.listByOriginalIds(Lists.transform(itemInfoList, SynItemInfoParam::getItemOriginalId));
Map<String, InputItem> inputItemVoMap = Maps.uniqueIndex(inputItemList, InputItem::getOriginalId);
List<PointInputItem> pointInputItemList = Lists.newArrayList();
int orderNo = 0;
for (SynItemInfoParam itemInfo : itemInfoList) {
List<String> classifyOriginalIds = itemInfo.getClassifyOriginalIds();
String classifyIds = "";
if (!CollectionUtils.isEmpty(classifyOriginalIds)) {
StringBuilder classifyIdsBuilder = new StringBuilder();
for (String classifyOriginalId : classifyOriginalIds) {
PointClassify classify = pointClassifyMap.get(classifyOriginalId);
if (classify != null) {
classifyIdsBuilder.append(classify.getId()).append(",");
}
}
classifyIds = classifyIdsBuilder.substring(0, classifyIdsBuilder.length() - 1);
}
PointInputItem pointInputItem = new PointInputItem();
pointInputItem.setOrderNo(orderNo);
pointInputItem.setPointId(pointId);
pointInputItem.setInputItemId(inputItemVoMap.get(itemInfo.getItemOriginalId()).getId());
pointInputItem.setClassifyIds(classifyIds);
pointInputItemList.add(pointInputItem);
orderNo++;
}
iPointInputItemDao.saveAll(pointInputItemList);
}
}
return CommonResponseUtil.success();
}
@Transactional
@Override
public CommonResponse saveRoute(SynRouteParam synRouteParam, String userId, String orgCode) {
String routeOriginalId = synRouteParam.getOriginalId();
Route route = iRouteDao.findByOriginalId(routeOriginalId);
if (route == null) {
route = buildSaveRoute(synRouteParam, orgCode, userId);
iRouteDao.save(route);
long routeId = route.getId();
List<SynRouteInfoParam> routeInfoList = synRouteParam.getRouteInfo();
synRouteRelation(routeInfoList, routeId, true, userId, orgCode);
}
return CommonResponseUtil.success();
}
@Transactional
@Override
public CommonResponse updateRoute(SynRouteParam synRouteParam, String userId, String orgCode) {
String routeOriginalId = synRouteParam.getOriginalId();
Route route = iRouteDao.findByOriginalId(routeOriginalId);
if (route != null) {
route.setBoss(synRouteParam.getBoss());
route.setName(synRouteParam.getRouteName());
iRouteDao.save(route);
long routeId = route.getId();
List<SynRouteInfoParam> routeInfoList = synRouteParam.getRouteInfo();
synRouteRelation(routeInfoList, routeId, false, userId, orgCode);
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse savePlan(SynPlanParam synPlanParam, String userId, String orgCode, Toke toke) {
Plan plan = iPlanDao.findByOriginalId(synPlanParam.getOriginalId());
Route route = iRouteDao.findByOriginalId(synPlanParam.getOriginalId());
if (plan == null && route != null) {
boolean tag = savePlanAndRedo(route, synPlanParam, userId, orgCode, toke);
if (!tag) {
return CommonResponseUtil.failure("计划重做失败");
}
}
return CommonResponseUtil.success();
}
private boolean savePlanAndRedo(Route route, SynPlanParam synPlanParam, String userId, String orgCode, Toke toke) {
Date now = new Date();
Plan plan = new Plan();
plan.setName(synPlanParam.getPlanName());
plan.setOrgCode(orgCode);
plan.setDeptId(synPlanParam.getDeptId());
plan.setRouteId(route.getId());
plan.setIsFixedDate("0");
plan.setInOrder("0");
plan.setPlanBegin(synPlanParam.getPlanBegin());
plan.setPlanEnd(synPlanParam.getPlanEnd());
plan.setDayRate(0);
plan.setDayInterval(1);
plan.setDayIntervalUnit("1");
plan.setExecuteInterval(1);
plan.setMonthType("1");
plan.setWhatDay("1");
plan.setWhatWeek(1);
plan.setWeekDay(1);
plan.setUserId(synPlanParam.getUserId());
plan.setWeekBeginNum(1);
plan.setWeekEndNum(7);
plan.setMinSpace(0);
plan.setIsScore("1");
plan.setError(0);
plan.setStatus(Byte.parseByte(XJConstant.PLAN_STATUS_START));
plan.setNextGenDate(DateUtil.getIntervalDate(now, 0));
plan.setCreateBy(userId.toString());
plan.setRemark1(synPlanParam.getRemark());
plan.setFirstFlag(0);
plan.setOriginalId(synPlanParam.getOriginalId());
HashMap<String, Object> map = Maps.newHashMap();
switch (synPlanParam.getPlanType()) {
case "1":
plan.setDayTime("00:00:00");
plan.setDayBegin(DateUtil.formatStrToTime("08:00:00"));
plan.setDayEnd(DateUtil.formatStrToTime("18:00:00"));
plan.setDuration(1440);
plan.setRemark("每1天的00:00执行");
plan.setExecuteRate(1);
plan.setPlanType("1");
map.put("beginDate", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
map.put("endDate", DateUtil.formatDatrToStr(now, "yyyy-MM-dd"));
break;
case "2":
plan.setDayTime("08:00:00");
plan.setDayBegin(DateUtil.formatStrToTime("00:00:00"));
plan.setDayEnd(DateUtil.formatStrToTime("23:59:59"));
plan.setDuration(60);
plan.setRemark("执行区间:第1天00:00至第7天23:59结束");
plan.setExecuteRate(1);
plan.setPlanType("2");
map.put("beginDate", DateUtil.formatDatrToStr(DateUtil.getThisWeekMonday(now), YYMMMMDD));
map.put("endDate", DateUtil.formatDatrToStr(now, YYMMMMDD));
break;
case "3":
plan.setDayTime("08:00:00");
plan.setDayBegin(DateUtil.formatStrToTime("00:00:00"));
plan.setDayEnd(DateUtil.formatStrToTime("23:59:59"));
plan.setDuration(60);
plan.setRemark("执行区间:开始日期所在月1号00:00至下月1号00:00");
plan.setExecuteRate(1);
plan.setPlanType("3");
map.put("beginDate", DateUtil.formatDatrToStr(DateUtil.getThisMonthFirstDay(now), YYMMMMDD));
map.put("endDate", DateUtil.formatDatrToStr(now, YYMMMMDD));
break;
case "4":
plan.setDayTime("08:00:00");
plan.setDayBegin(DateUtil.formatStrToTime("00:00:00"));
plan.setDayEnd(DateUtil.formatStrToTime("23:59:59"));
plan.setDuration(60);
plan.setRemark("每1年执行,执行频率:1年1次");
plan.setExecuteRate(1);
plan.setPlanType("4");
map.put("beginDate", DateUtil.formatDatrToStr(DateUtil.getCurrYearFirst(), YYMMMMDD));
map.put("endDate", DateUtil.formatDatrToStr(DateUtil.getCurrYearLast(), YYMMMMDD));
break;
case "5":
plan.setDayTime("08:00:00");
plan.setDayBegin(DateUtil.formatStrToTime("00:00:00"));
plan.setDayEnd(DateUtil.formatStrToTime("23:59:59"));
plan.setDuration(60);
plan.setRemark("每1年执行,执行频率:1年4次");
plan.setExecuteRate(4);
plan.setPlanType("4");
map.put("beginDate", DateUtil.formatDatrToStr(DateUtil.getCurrYearFirst(), YYMMMMDD));
map.put("endDate", DateUtil.formatDatrToStr(DateUtil.getCurrYearLast(), YYMMMMDD));
break;
default:
break;
}
iPlanDao.save(plan);
map.put("planId", plan.getId());
map.put("changeFlag", "0");
try {
iPlanTaskService.reGenPlanTask(map);
} catch (Exception e) {
return false;
}
return true;
}
@Override
public CommonResponse updatePlan(SynPlanParam synPlanParam, String userId, String orgCode) {
return CommonResponseUtil.success();
}
IPointDao iPointDao;
@Transactional
@Override
public CommonResponse stopPlan(String originalId) {
Plan plan = iPlanDao.findByOriginalId(originalId);
if (plan != null) {
plan.setStatus(Byte.parseByte(XJConstant.PLAN_STATUS_STOP));
iPlanDao.save(plan);
List<PlanTask> planTasks = iplanTaskDao.findByPlanId(plan.getId());
if (!CollectionUtils.isEmpty(planTasks)) {
planTasks.forEach(e -> {
e.setStatus(Integer.parseInt(XJConstant.PLAN_STATUS_STOP));
});
iplanTaskDao.saveAll(planTasks);
}
}
return CommonResponseUtil.success();
}
@Override
public CommonResponse getPlanFinishTimes(String originalIds) {
List<Map<String, Object>> list = Lists.newArrayList();
List<String> originalIdList = Arrays.asList(originalIds.split(","));
List<Plan> planList = iPlanDao.findByOriginalIds(originalIdList);
if (!CollectionUtils.isEmpty(planList)) {
Map<Long, Plan> planMap = Maps.uniqueIndex(planList, Plan::getId);
List<Long> planIds = Lists.transform(planList, Plan::getId);
list = planTaskMapper.countFinishByPlanIds(planIds);
if (!CollectionUtils.isEmpty(list)) {
list.forEach(e -> {
e.put("originalId", planMap.get(Long.valueOf(e.get("planId").toString())).getOriginalId());
});
}
public List<Long> pointDelete(String ids) {
List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
List<Point> points = iPointDao.listByOriginalIds(idList);
List<Long> pointIds = points.stream().map(BasicEntity::getId).collect(Collectors.toList());
Long[] sds = pointIds.toArray(new Long[0]);
if (sds.length > 0) {
return iPointService.delPointById(sds);
}
return CommonResponseUtil.success(list);
}
private void synRouteRelation(List<SynRouteInfoParam> routeInfoList, Long routeId, Boolean isSave, String userId, String orgCode) {
if (!CollectionUtils.isEmpty(routeInfoList)) {
List<String> pointOriginalIds = Lists.newArrayList();
for (SynRouteInfoParam synRouteInfoParam : routeInfoList) {
pointOriginalIds.add(synRouteInfoParam.getPointOriginalId());
}
List<Point> pointVos = iPointDao.listByOriginalIds(pointOriginalIds);
List<Long> pointIds = Lists.transform(pointVos, Point::getId);
if (!isSave) {
List<BigInteger> routePointIds = iRoutePointDao.queryRoutePointByPointId(pointIds);
if (!CollectionUtils.isEmpty(routePointIds)) {
routePointIds.forEach(id -> iRoutePointItemDao.delRoutePointItem(id.longValue()));
}
iRoutePointDao.delRoutePointByRouteId(routeId);
}
Map<String, Point> pointVoMap = Maps.uniqueIndex(pointVos, Point::getOriginalId);
int routePointOrderNo = 0;
for (SynRouteInfoParam synRouteInfoParam : routeInfoList) {
long pointId = pointVoMap.get(synRouteInfoParam.getPointOriginalId()).getId();
RoutePoint routePoint = new RoutePoint();
routePoint.setOrgCode(orgCode);
routePoint.setRouteId(routeId);
routePoint.setPointId(pointId);
routePoint.setOrderNo(routePointOrderNo);
routePoint.setCreatorId(userId);
iRoutePointDao.save(routePoint);
routePointOrderNo++;
List<SynRouteItemInfoParam> itemInfo = synRouteInfoParam.getItemInfo();
List<String> itemOriginalIds = Lists.transform(itemInfo, SynRouteItemInfoParam::getItemOriginalId);
List<InputItem> inputItemVos = iInputItemDao.listByOriginalIds(itemOriginalIds);
List<Long> itemIds = Lists.transform(inputItemVos, InputItem::getId);
Map<String, InputItem> inputItemVoMap = Maps.uniqueIndex(inputItemVos, InputItem::getOriginalId);
List<RoutePointItem> routePointItems = Lists.newArrayList();
List<PointInputItem> pointInputItems = iPointInputItemDao.findAllPointInputItemByPointIdAndItemIds(pointId, itemIds);
Map<String, PointInputItem> pointInputItemMap = Maps.uniqueIndex(pointInputItems, (PointInputItem i) -> {
if (i != null) {
return buildId(i.getPointId(), i.getInputItemId());
}
return "";
});
int routePointItemOrderNo = 0;
for (SynRouteItemInfoParam item : itemInfo) {
Long itemId = inputItemVoMap.get(item.getItemOriginalId()).getId();
PointInputItem pointInputItem = pointInputItemMap.get(buildId(pointId, itemId));
if (pointInputItem != null) {
String classifyIds = pointInputItem.getClassifyIds();
if (StringUtils.isEmpty(classifyIds)) {
RoutePointItem routePointItem = buildRoutePointItem(pointInputItem, routePoint, routePointItemOrderNo, userId, item.getBasisJson().toJSONString());
routePointItems.add(routePointItem);
routePointItemOrderNo++;
} else {
List<Long> classifyIdList = Arrays.stream(classifyIds.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
int orderNo = 0;
for (Long classifyId : classifyIdList) {
RoutePointItem routePointItem = buildRoutePointItem(pointInputItem, routePoint, orderNo, userId, item.getBasisJson().toJSONString());
routePointItem.setPointClassifyId(classifyId);
routePointItems.add(routePointItem);
orderNo++;
}
}
}
}
iRoutePointItemDao.saveAll(routePointItems);
}
}
}
private RoutePointItem buildRoutePointItem(PointInputItem pointInputItem, RoutePoint routePoint, Integer orderNo, String userId, String json) {
RoutePointItem routePointItem = new RoutePointItem();
routePointItem.setRoutePointId(routePoint.getId());
routePointItem.setPointInputItemId(pointInputItem.getId());
routePointItem.setOrderNo(orderNo);
routePointItem.setCreatorId(userId);
routePointItem.setBasisJson(json);
return routePointItem;
}
private String buildId(Long pointId, Long itemId) {
return pointId + "_" + itemId;
}
private Route buildSaveRoute(SynRouteParam synRouteParam, String orgCode, String userId) {
Route route = new Route();
route.setCreatorId(userId);
route.setOrgCode(orgCode);
route.setName(synRouteParam.getRouteName());
route.setBoss(synRouteParam.getBoss());
route.setOriginalId(synRouteParam.getOriginalId());
return route;
}
private InputItem buildSaveItemByType(SynInputItemParam synInputItemParam, String userId, String orgCode) {
InputItem inputItem = new InputItem();
if ("选择".equals(synInputItemParam.getItemType())) {
inputItem.setOrgCode(orgCode);
inputItem.setName(synInputItemParam.getItemName());
inputItem.setOrderNo(0);
inputItem.setItemType(synInputItemParam.getItemType());
inputItem.setIsMust("否");
inputItem.setIsScore("否");
inputItem.setIsMultiline("否");
inputItem.setCatalogId(0L);
String dataJsonStr = "[{\"name\":\"通过\",\"isOk\":\"是\",\"isChecked\":\"否\",\"orderNo\":0},{\"name\":\"不通过\",\"isOk\":\"否\",\"isChecked\":\"否\",\"orderNo\":1}]";
JSONArray dataJson = JSONArray.parseArray(dataJsonStr);
inputItem.setDataJson(dataJson.toJSONString());
String pictureJsonStr = "[{\"isMust\":\"是\",\"name\":\"照片\",\"orderNo\":0}]";
JSONArray pictureJson = JSONArray.parseArray(pictureJsonStr);
inputItem.setPictureJson(pictureJson.toJSONString());
if (StringUtils.isEmpty(synInputItemParam.getItemNo())) {
inputItem.setItemNo(buildRandomNum(synInputItemParam.getOriginalId()));
} else {
inputItem.setItemNo(synInputItemParam.getItemNo());
}
inputItem.setOriginalId(synInputItemParam.getOriginalId());
inputItem.setCreateBy(userId);
inputItem.setBasisJson(synInputItemParam.getBasisJson().toJSONString());
}
return inputItem;
}
private Point buildSavePoint(SynPointParam synPointParam, String userId, String orgCode) {
Point point = new Point();
point.setName(synPointParam.getPointName());
if (StringUtils.isEmpty(synPointParam.getPointNo())) {
point.setPointNo(buildRandomNum(synPointParam.getOriginalId()));
} else {
point.setPointNo(synPointParam.getPointNo());
}
point.setSaveGps("0");
point.setDistance(0);
point.setShotMinNumber(0);
point.setShotMaxNumber(10);
point.setFixedShot(10);
point.setOffline(false);
point.setIsFixed("1");
point.setCatalogId(0L);
point.setIsScore("0");
point.setOrgCode(orgCode);
point.setCoordinates(synPointParam.getCoordinates());
point.setChargeDeptId(synPointParam.getChargeDeptId());
point.setChargePersonId(synPointParam.getChargePersonId());
point.setStatus("0");
point.setIsIndoor(false);
point.setOriginalId(synPointParam.getOriginalId());
point.setCreatorId(userId);
return point;
}
private String buildRandomNum(String originalId) {
return "SPC_" + (int) ((Math.random() * 9 + 1) * 100000) + "_" + originalId;
return pointIds;
}
}
......@@ -258,7 +258,7 @@ public interface ICheckService {
*/
Map<String,CheckRecordDto> obtainLastCheckRecord(String[] relationId);
Page<HashMap<String, Object>> getCheckPage(HashMap<String, Object> map, CommonPageable pageable);
Page<Map<String, Object>> getCheckPage(HashMap<String, Object> map, CommonPageable pageable);
Map<String, Object> getCheckDetail(String id);
/**
......
package com.yeejoin.amos.maintenance.business.service.intfc;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.dto.PointDto;
import com.yeejoin.amos.maintenance.business.param.*;
import com.yeejoin.amos.maintenance.business.util.DaoCriteria;
......@@ -299,7 +300,6 @@ public interface IPointService {
LinkedHashMap<String,Object> getRegionTress();
void syncSavePoint(List<MaintenanceResourceData> list, String orgCode, String userId);
/**
* 查询巡检点及点及点的项
* @param queryRequests 请求参数
......@@ -309,4 +309,5 @@ public interface IPointService {
*/
Page<PointDto> queryPointInfoWithItem(List<DaoCriteria> queryRequests, CommonPageable commonPageable, Long ownerId);
void syncSavePoint(List<MaintenanceResourceData> list, ReginParams reginParams);
}
package com.yeejoin.amos.maintenance.business.service.intfc;
import com.yeejoin.amos.maintenance.business.param.SynInputItemParam;
import com.yeejoin.amos.maintenance.business.util.CommonResponse;
import com.yeejoin.amos.maintenance.business.util.Toke;
import com.yeejoin.amos.maintenance.business.param.SynPlanParam;
import com.yeejoin.amos.maintenance.business.param.SynPointParam;
import com.yeejoin.amos.maintenance.business.param.SynRouteParam;
import java.util.List;
public interface ISynDataService {
CommonResponse saveInputItem(SynInputItemParam synInputItemParam, String userId, String orgCode);
CommonResponse updateInputItem(SynInputItemParam synInputItemParam);
CommonResponse deleteInputItem(SynInputItemParam synInputItemParam);
CommonResponse saveSinglePoint(SynPointParam synPointParam, String userId, String orgCode);
CommonResponse updateSinglePoint(SynPointParam synPointParam);
CommonResponse deleteSinglePoint(SynPointParam synPointParam);
CommonResponse synPointItemRelation(SynPointParam synPointParam, Boolean isSave, String userId);
CommonResponse saveRoute(SynRouteParam synRouteParam, String userId, String orgCode);
CommonResponse updateRoute(SynRouteParam synRouteParam, String userId, String orgCode);
CommonResponse savePlan(SynPlanParam synPlanParam, String userId, String orgCode, Toke toke);
CommonResponse updatePlan(SynPlanParam synPlanParam, String userId, String orgCode);
CommonResponse stopPlan(String originalId);
CommonResponse getPlanFinishTimes(String originalIds);
/**
* 删除维保项(原巡检点)
* @param ids 原ids
* @return Boolean
*/
List<Long> pointDelete(String ids);
}
package com.yeejoin.amos.maintenance.jpush;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.model.PushPayload;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.param.PushMsgParam;
import com.yeejoin.amos.maintenance.business.util.CommonResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -7,12 +11,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.param.PushMsgParam;
import cn.jpush.api.JPushClient;
import cn.jpush.api.push.model.PushPayload;
@Service
public class AppMessagePushService {
......@@ -46,6 +44,7 @@ public class AppMessagePushService {
private static JPushClient jpushClient = new JPushClient(MASTER_SECRET,
APP_KEY);
public static String buildJpushUserKey(String userId) {
return XJConstant.JPUSH_USER_KEY + "_" + userId;
}
......@@ -83,7 +82,7 @@ public class AppMessagePushService {
*/
private PushPayload buildPushPayload(PushMsgParam response) {
CommonResponse commonResponse = PushFeign.buildPushPayload(response);
return (PushPayload)commonResponse.getDataList();
return (PushPayload) commonResponse.getDataList();
/*if(JPushTypeEnum.ALL.getCode().equals(response.getType())){
return PushPayload.newBuilder()
.setPlatform(Platform.android())
......@@ -104,14 +103,14 @@ public class AppMessagePushService {
}
public void sendMessage(PushMsgParam response){
public void sendMessage(PushMsgParam response) {
try {
if(null!=response && "true".equals(isPush)){
if (null != response && "true".equals(isPush)) {
CommonResponse commonResponse = PushFeign.sendMessageone(response);
}
} catch (Exception e) {
log.error(e.getMessage(),e);
log.error(e.getMessage(), e);
e.printStackTrace();
}
......
......@@ -423,14 +423,12 @@ public class CheckController extends AbstractBaseController {
@ApiOperation(value = "获取巡检日历数据<font color='blue'>手机app</font>", notes = "获取巡检日历数据<font color='blue'>手机app</font>")
@PostMapping(value = "/checkCalendar", produces = "application/json;charset=UTF-8")
public CommonResponse checkCalendar(
@ApiParam(value = "查询条件", required = false) @RequestBody(required = false) List<CommonRequest> queryRequests) {
@ApiParam(value = "查询条件") @RequestBody(required = false) List<CommonRequest> queryRequests) {
try {
ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams);
String roleTypeName = getRoleTypeName(reginParams);
List<DaoCriteria> daoCriterias = buildDaoCriterias(queryRequests, true, loginOrgCode, roleTypeName);
Map<String, Object> map = checkService.checkCalendar(CheckParamUtil.checkCalendar(daoCriterias));
return CommonResponseUtil.success(map);
} catch (Exception e) {
......
......@@ -97,6 +97,19 @@
ADD COLUMN maintenance_period VARCHAR ( 10 ) COMMENT '维保周期';
</sql>
</changeSet>
<changeSet author="chenhao" id="2021-08-26-chenhao-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="cb_firefighters_contract" columnName="start_time"/>
</not>
</preConditions>
<comment>modify table cb_firefighters_contract add one columns</comment>
<sql>
ALTER TABLE `cb_firefighters_contract` ADD start_time date COMMENT '起始时间';
</sql>
</changeSet>
<changeSet author="tb" id="2021-08-27-tb-1">
<preConditions onFail="MARK_RAN">
<not>
......
package com.yeejoin.amos;
import java.io.IOException;
import java.net.InetAddress;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
......@@ -25,6 +20,11 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.client.RestTemplate;
import org.typroject.tyboot.core.restful.exception.GlobalExceptionHandler;
import java.io.IOException;
import java.net.InetAddress;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
/**
* <pre>
* 服务启动类
......
......@@ -266,7 +266,7 @@
ELSE
0
END
),0) AS "qualified",
),0) AS '合格',
COALESCE(SUM(
CASE
WHEN is_ok = '2' THEN
......@@ -274,7 +274,7 @@
ELSE
0
END
),0) AS "unqualified",
),0) AS '不合格',
COALESCE(SUM(
CASE
WHEN is_ok = '3' THEN
......@@ -282,8 +282,7 @@
ELSE
0
END
),0) AS "omission",
COUNT(id) count
),0) AS '漏检'
FROM
p_check
<include refid="calendar-where"/>
......@@ -1913,12 +1912,13 @@
pp.belong_system_name systemName,
pp.address address,
pp.original_id equipId,
CONCAT(pp.address, pp.building_name) buildingName,
CONCAT_WS('',pp.building_name,pp.address) buildingName,
pc.org_code AS orgCode
FROM p_check pc
LEFT JOIN p_point pp ON pp.id = pc.point_id
) a
<include refid="mobile-check-record-where" />
order by checkDate
limit #{offset},#{pageSize}
</select>
......@@ -1948,30 +1948,30 @@
<if test="beginTime != null and beginTime != '' and endTime != null and endTime != '' ">
AND (
(
a.beginTime <![CDATA[>=]]> #{beginTime}
AND a.endTime <![CDATA[<=]]> #{endTime}
a.checkDate <![CDATA[>=]]> #{beginTime}
AND a.checkDate <![CDATA[<=]]> #{endTime}
)
OR (
a.beginTime <![CDATA[<=]]> #{endTime}
AND a.endTime <![CDATA[>=]]> #{endTime}
a.checkDate <![CDATA[<=]]> #{endTime}
AND a.checkDate <![CDATA[>=]]> #{endTime}
)
OR (
a.beginTime <![CDATA[<=]]> #{beginTime}
AND a.endTime <![CDATA[>]]> #{beginTime}
a.checkDate <![CDATA[<=]]> #{beginTime}
AND a.checkDate <![CDATA[>]]> #{beginTime}
)
OR (
a.beginTime <![CDATA[<=]]> #{beginTime}
AND a.endTime <![CDATA[>=]]> #{endTime}
a.checkDate <![CDATA[<=]]> #{beginTime}
AND a.checkDate <![CDATA[>=]]> #{endTime}
)
)
</if>
<choose>
<when test="identityType==1">
And (a.orgCode LIKE CONCAT( #{orgCode}, '-%' ) or a.orgCode= #{orgCode} )
<if test="companyId != null"> and a.ownerId = #{teamId}</if>
<if test="companyId != null and companyId != ''"> and a.ownerId = #{companyId}</if>
</when>
<when test="identityType==2">
And a.ownerId = #{teamId}
And a.ownerId = #{companyId}
</when>
</choose>
</where>
......@@ -2014,14 +2014,13 @@
pp.belong_system_id systemId,
pp.belong_system_name systemName,
pp.address address,
CONCAT(pp.address, pp.building_name) buildingName,
CONCAT_WS('',pp.building_name,pp.address) buildingName,
pc.org_code AS orgCode
FROM p_check pc
LEFT JOIN p_point pp ON pp.id = pc.point_id
) a
<include refid="mobile-check-record-where" />
</select>
<select id="getCheckDetail" resultType="Map">
SELECT
pc.id checkId,
......@@ -2046,7 +2045,7 @@
'%Y-%m-%d %H:%i:%s'
)) planDate,
ppl.name planName,
pp.plan_type planType,
ppl.plan_type planType,
ppt.user_name planUser,
pci.input_name itemName,
pii.maintenance_content itemContent,
......
......@@ -26,7 +26,7 @@
<springboot.version>2.3.11.RELEASE</springboot.version>
<springcloud.version>Hoxton.SR8</springcloud.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<tyboot-version>1.1.20Ty-SNAPSHOT</tyboot-version>
<tyboot-version>1.1.20</tyboot-version>
<amos.version>1.6.0</amos.version>
<itext.version>7.1.1</itext.version>
</properties>
......
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