Commit d26fa61c authored by suhuiguang's avatar suhuiguang

1.检查记录照片和检查项增加对应关系

2.增加检查记录详情接口
parent 6f90dc7a
...@@ -62,6 +62,11 @@ public class CheckShot extends BasicEntity { ...@@ -62,6 +62,11 @@ public class CheckShot extends BasicEntity {
private long checkInputId; private long checkInputId;
/** /**
* 照片配置key(关联照片和拍照设置),来源picture_json
*/
private String photoConfKey;
/**
* 扩展分类id * 扩展分类id
*/ */
@Column(name="classify_id") @Column(name="classify_id")
...@@ -113,6 +118,14 @@ public class CheckShot extends BasicEntity { ...@@ -113,6 +118,14 @@ public class CheckShot extends BasicEntity {
this.photoData = photoData; this.photoData = photoData;
} }
public String getPhotoConfKey() {
return photoConfKey;
}
public void setPhotoConfKey(String photoConfKey) {
this.photoConfKey = photoConfKey;
}
public String getPointName() { public String getPointName() {
return this.pointName; return this.pointName;
} }
......
...@@ -3,6 +3,8 @@ package com.yeejoin.amos.maintenance.business.controller; ...@@ -3,6 +3,8 @@ package com.yeejoin.amos.maintenance.business.controller;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.constants.XJConstant; import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dto.CheckDto; 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.CheckInfoPageParam;
import com.yeejoin.amos.maintenance.business.param.CheckRecordParam; import com.yeejoin.amos.maintenance.business.param.CheckRecordParam;
import com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam; import com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam;
...@@ -11,7 +13,6 @@ import com.yeejoin.amos.maintenance.business.util.*; ...@@ -11,7 +13,6 @@ import com.yeejoin.amos.maintenance.business.util.*;
import com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo; import com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo;
import com.yeejoin.amos.maintenance.business.vo.CheckInfoVo; import com.yeejoin.amos.maintenance.business.vo.CheckInfoVo;
import com.yeejoin.amos.maintenance.common.enums.CheckRecordOrderByEnum; import com.yeejoin.amos.maintenance.common.enums.CheckRecordOrderByEnum;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskOrderByEnum;
import com.yeejoin.amos.maintenance.core.async.AsyncTask; 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.CommonPageable;
import com.yeejoin.amos.maintenance.core.common.request.CommonRequest; import com.yeejoin.amos.maintenance.core.common.request.CommonRequest;
...@@ -19,7 +20,6 @@ import com.yeejoin.amos.maintenance.core.common.response.AppPointCheckRespone; ...@@ -19,7 +20,6 @@ import com.yeejoin.amos.maintenance.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.maintenance.core.common.response.GraphInitDataResponse; import com.yeejoin.amos.maintenance.core.common.response.GraphInitDataResponse;
import com.yeejoin.amos.maintenance.core.framework.PersonIdentify; import com.yeejoin.amos.maintenance.core.framework.PersonIdentify;
import com.yeejoin.amos.maintenance.core.util.StringUtil; import com.yeejoin.amos.maintenance.core.util.StringUtil;
import com.yeejoin.amos.maintenance.dao.entity.Check;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
...@@ -36,6 +36,8 @@ import org.springframework.web.bind.annotation.*; ...@@ -36,6 +36,8 @@ import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.Bean; import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.*; import javax.xml.transform.*;
...@@ -540,4 +542,11 @@ public class CheckController extends AbstractBaseController { ...@@ -540,4 +542,11 @@ public class CheckController extends AbstractBaseController {
CommonPageable pageable = new CommonPageable(pageNum,pageSize); CommonPageable pageable = new CommonPageable(pageNum,pageSize);
return CommonResponseUtil.success(checkService.getCheckListByOriginalId(originalId,pageable)); return CommonResponseUtil.success(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){
return ResponseHelper.buildResponse(checkService.getInputDetail(checkId));
}
} }
...@@ -9,9 +9,9 @@ import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil; ...@@ -9,9 +9,9 @@ import com.yeejoin.amos.maintenance.business.util.CommonResponseUtil;
import com.yeejoin.amos.maintenance.business.util.FileHelper; import com.yeejoin.amos.maintenance.business.util.FileHelper;
import com.yeejoin.amos.maintenance.business.util.PlanTaskPageParamUtil; import com.yeejoin.amos.maintenance.business.util.PlanTaskPageParamUtil;
import com.yeejoin.amos.maintenance.business.vo.PlanTaskVo; import com.yeejoin.amos.maintenance.business.vo.PlanTaskVo;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskOrderByEnum;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskDetailIsFinishEnum; import com.yeejoin.amos.maintenance.common.enums.PlanTaskDetailIsFinishEnum;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskFinishStatusEnum; import com.yeejoin.amos.maintenance.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskOrderByEnum;
import com.yeejoin.amos.maintenance.core.common.request.CommonPageable; import com.yeejoin.amos.maintenance.core.common.request.CommonPageable;
import com.yeejoin.amos.maintenance.core.common.request.CommonRequest; import com.yeejoin.amos.maintenance.core.common.request.CommonRequest;
import com.yeejoin.amos.maintenance.core.framework.PersonIdentify; import com.yeejoin.amos.maintenance.core.framework.PersonIdentify;
...@@ -198,14 +198,14 @@ public class PlanTaskController extends AbstractBaseController { ...@@ -198,14 +198,14 @@ public class PlanTaskController extends AbstractBaseController {
@RequestMapping(value = "/queryPlanTask", produces = "application/json;charset=UTF-8", method = RequestMethod.GET) @RequestMapping(value = "/queryPlanTask", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public CommonResponse qryLoginUserPlanTask( public CommonResponse qryLoginUserPlanTask(
@ApiParam(value = "人员") @RequestParam(value = "userId", required = false) Long userId, @ApiParam(value = "人员") @RequestParam(value = "userId", required = false) Long userId,
@ApiParam(value = "开始日期", required = true) @RequestParam(value = "startDate") String startTime, @ApiParam(value = "开始日期") @RequestParam(value = "startDate",required = false) String startTime,
@ApiParam(value = "结束日期", required = true) @RequestParam(value = "endDate") String endTime, @ApiParam(value = "结束日期") @RequestParam(value = "endDate",required = false) String endTime,
@ApiParam(value = "维保状态") @RequestParam(value = "finishStatus", required = false) Integer finishStatus, @ApiParam(value = "维保状态") @RequestParam(value = "finishStatus", required = false) Integer finishStatus,
@ApiParam(value = "排序条件") @RequestParam(value = "orderBy", defaultValue = "1") String orderBy, @ApiParam(value = "排序条件") @RequestParam(value = "orderBy", defaultValue = "1") String orderBy,
@ApiParam(value = "业主单位") @RequestParam(value = "companyId", required = false) String companyId, @ApiParam(value = "业主单位") @RequestParam(value = "companyId", required = false) String companyId,
@ApiParam(value = "当前页", required = true) @RequestParam(value = "pageNumber") int pageNumber, @ApiParam(value = "当前页", required = true) @RequestParam(value = "pageNumber") int pageNumber,
@ApiParam(value = "页大小", required = true) @RequestParam(value = "pageSize") int pageSize) throws Exception { @ApiParam(value = "页大小", required = true) @RequestParam(value = "pageSize") int pageSize) throws Exception {
HashMap<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
String loginOrgCode = getOrgCode(reginParams); String loginOrgCode = getOrgCode(reginParams);
Map<String, Object> authMap = Bean.BeantoMap(reginParams.getPersonIdentity()); Map<String, Object> authMap = Bean.BeantoMap(reginParams.getPersonIdentity());
......
...@@ -4,6 +4,7 @@ import java.util.HashMap; ...@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.yeejoin.amos.maintenance.business.dto.CheckInputDto;
import com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam; import com.yeejoin.amos.maintenance.business.param.CheckStatisticalParam;
import com.yeejoin.amos.maintenance.business.util.CheckDetailInputPageParam; import com.yeejoin.amos.maintenance.business.util.CheckDetailInputPageParam;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -16,7 +17,6 @@ import com.yeejoin.amos.maintenance.business.entity.mybatis.CheckUserBo; ...@@ -16,7 +17,6 @@ import com.yeejoin.amos.maintenance.business.entity.mybatis.CheckUserBo;
import com.yeejoin.amos.maintenance.business.param.CheckInfoListPageParam; import com.yeejoin.amos.maintenance.business.param.CheckInfoListPageParam;
import com.yeejoin.amos.maintenance.business.param.CheckInfoPageParam; import com.yeejoin.amos.maintenance.business.param.CheckInfoPageParam;
import com.yeejoin.amos.maintenance.business.param.CheckPtListPageParam; import com.yeejoin.amos.maintenance.business.param.CheckPtListPageParam;
import com.yeejoin.amos.maintenance.business.param.CheckRecordParam;
import com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo; import com.yeejoin.amos.maintenance.business.vo.CheckAnalysisVo;
import com.yeejoin.amos.maintenance.business.vo.CheckInfoVo; import com.yeejoin.amos.maintenance.business.vo.CheckInfoVo;
import com.yeejoin.amos.maintenance.core.common.response.PointCheckInfoBusinessRespone; import com.yeejoin.amos.maintenance.core.common.response.PointCheckInfoBusinessRespone;
...@@ -283,4 +283,11 @@ public interface CheckMapper extends BaseMapper { ...@@ -283,4 +283,11 @@ public interface CheckMapper extends BaseMapper {
Map<String, Object> getCheckDetail(@Param(value = "id") String id); Map<String, Object> getCheckDetail(@Param(value = "id") String id);
/**
* 检查项结果列表
* @param checkId 检查记录主表id
* @param fileUrl 文件服务器前缀
* @return List<CheckInputDto>
*/
List<CheckInputDto> queryCheckInputDetail(@Param("checkId") String checkId, @Param("fileUrl") String fileUrl);
} }
...@@ -68,7 +68,7 @@ public interface PlanTaskMapper extends BaseMapper { ...@@ -68,7 +68,7 @@ public interface PlanTaskMapper extends BaseMapper {
* @param params * @param params
* @return * @return
*/ */
List<HashMap<String, Object>> getPlanTasks(HashMap<String, Object> params); List<Map<String, Object>> getPlanTasks(Map<String, Object> params);
/** /**
* 通过计划任务Id获得计划任务信息 * 通过计划任务Id获得计划任务信息
* @param planTaskId * @param planTaskId
...@@ -120,7 +120,13 @@ public interface PlanTaskMapper extends BaseMapper { ...@@ -120,7 +120,13 @@ public interface PlanTaskMapper extends BaseMapper {
* @return * @return
*/ */
List<CheckChkExListBo> getChkExList(CheckPtListPageParam param); List<CheckChkExListBo> getChkExList(CheckPtListPageParam param);
long getPlanTasksCount(HashMap<String, Object> params);
/**
* 数量统计
* @param params
* @return
*/
long getPlanTasksCount(Map<String, Object> params);
Map<String, Object> getPlanTaskStatisticsForApp(HashMap<String, Object> params); Map<String, Object> getPlanTaskStatisticsForApp(HashMap<String, Object> params);
......
package com.yeejoin.amos.maintenance.business.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* @author DELL
*/
@Data
public class CheckInputDto {
private Long checkInputId;
private Long inputId;
private String inputName;
private Integer orderNo;
private String inputValue;
private String isOk;
private String isOkDesc;
private String pictureJson;
private String dataJson;
private String remark;
private List<CheckShotDto> checkInputShot;
}
...@@ -7,6 +7,19 @@ import lombok.Data; ...@@ -7,6 +7,19 @@ import lombok.Data;
*/ */
@Data @Data
public class CheckShotDto { public class CheckShotDto {
private Long checkShotId;
/**
* 照片类型:1-检查项照片;2-不合格照片
*/
private String shotType; private String shotType;
/**
* 照片路径
*/
private String fileUrl; private String fileUrl;
/**
* 照片配置key,用来照片和具体的拍照配置对应
*/
private String photoConfKey;
} }
package com.yeejoin.amos.maintenance.business.dto;
import lombok.Data;
/**
* @author DELL
*/
@Data
public class PictureJsonConfig {
/**
* 是否必输
*/
private String isMust;
/**
* 名称
*/
private String name;
/**
* 排序
*/
private Integer orderNo;
/**
* 拍照数量
*/
private String picNumber;
/**
* 配置key
*/
private String photoConfKey;
}
...@@ -21,7 +21,7 @@ public class CheckRecordParam { ...@@ -21,7 +21,7 @@ public class CheckRecordParam {
@ApiModelProperty(value = "点id",required = true) @ApiModelProperty(value = "点id",required = true)
private Long pointId; private Long pointId;
@ApiModelProperty(value = "组织机构",required = false) @ApiModelProperty(value = "组织机构")
private String orgCode; private String orgCode;
@ApiModelProperty(value = "备注") @ApiModelProperty(value = "备注")
......
...@@ -3,6 +3,7 @@ package com.yeejoin.amos.maintenance.business.service.action; ...@@ -3,6 +3,7 @@ package com.yeejoin.amos.maintenance.business.service.action;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.maintenance.business.dao.repository.ICheckInputDao; import com.yeejoin.amos.maintenance.business.dao.repository.ICheckInputDao;
import com.yeejoin.amos.maintenance.business.dao.repository.IInputItemDao; import com.yeejoin.amos.maintenance.business.dao.repository.IInputItemDao;
import com.yeejoin.amos.maintenance.business.entity.mybatis.EquipmentInputItemRo; import com.yeejoin.amos.maintenance.business.entity.mybatis.EquipmentInputItemRo;
...@@ -37,6 +38,8 @@ public class AcceptEquipmentRules { ...@@ -37,6 +38,8 @@ public class AcceptEquipmentRules {
private ICheckInputDao checkInputDao; private ICheckInputDao checkInputDao;
@Value("${input.statute.prefix}") @Value("${input.statute.prefix}")
private String statutePre; private String statutePre;
@Autowired
private Sequence sequence;
public void getContent( public void getContent(
...@@ -71,6 +74,7 @@ public class AcceptEquipmentRules { ...@@ -71,6 +74,7 @@ public class AcceptEquipmentRules {
pictureObject.put("name", "拍照"); pictureObject.put("name", "拍照");
pictureObject.put("orderNo", "0"); pictureObject.put("orderNo", "0");
pictureObject.put("picNumber", 0); pictureObject.put("picNumber", 0);
pictureObject.put("photoConfKey",String.valueOf(sequence.nextId()));
pictureArray.add(pictureObject); pictureArray.add(pictureObject);
item.setPictureJson(pictureArray.toJSONString()); item.setPictureJson(pictureArray.toJSONString());
} else { } else {
......
...@@ -18,6 +18,7 @@ import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper; ...@@ -18,6 +18,7 @@ import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.RouteMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.RouteMapper;
import com.yeejoin.amos.maintenance.business.dao.repository.*; import com.yeejoin.amos.maintenance.business.dao.repository.*;
import com.yeejoin.amos.maintenance.business.dto.CheckDto; import com.yeejoin.amos.maintenance.business.dto.CheckDto;
import com.yeejoin.amos.maintenance.business.dto.CheckInputDto;
import com.yeejoin.amos.maintenance.business.dto.CheckRecordDto; import com.yeejoin.amos.maintenance.business.dto.CheckRecordDto;
import com.yeejoin.amos.maintenance.business.dto.CheckShotDto; import com.yeejoin.amos.maintenance.business.dto.CheckShotDto;
import com.yeejoin.amos.maintenance.business.entity.mybatis.*; import com.yeejoin.amos.maintenance.business.entity.mybatis.*;
...@@ -210,6 +211,7 @@ public class CheckServiceImpl implements ICheckService { ...@@ -210,6 +211,7 @@ public class CheckServiceImpl implements ICheckService {
img.setPointName(check.getPointName()); img.setPointName(check.getPointName());
img.setShotType(shotDto.getShotType()); img.setShotType(shotDto.getShotType());
img.setPhotoData(shotDto.getFileUrl()); img.setPhotoData(shotDto.getFileUrl());
img.setPhotoConfKey(shotDto.getPhotoConfKey());
checkShots.add(img); checkShots.add(img);
} }
checkInput.setCheckShotList(checkShots); checkInput.setCheckShotList(checkShots);
...@@ -236,7 +238,7 @@ public class CheckServiceImpl implements ICheckService { ...@@ -236,7 +238,7 @@ public class CheckServiceImpl implements ICheckService {
Check finalCheck = check; Check finalCheck = check;
//4.检查项入库 //4.检查项入库
checkItemList.forEach(checkInput -> checkInput.setCheckId(finalCheck.getId())); checkItemList.forEach(checkInput -> checkInput.setCheckId(finalCheck.getId()));
if(!checkItemList.isEmpty()){ if (!checkItemList.isEmpty()) {
checkInputDao.saveAll(checkItemList); checkInputDao.saveAll(checkItemList);
} }
List<CheckShot> allShot = new ArrayList<>(); List<CheckShot> allShot = new ArrayList<>();
...@@ -255,11 +257,11 @@ public class CheckServiceImpl implements ICheckService { ...@@ -255,11 +257,11 @@ public class CheckServiceImpl implements ICheckService {
planTaskDetailMapper.finishTaskDetail(Long.parseLong(detail.get("planTaskDetailId").toString()), recordParam.getPointId(), recordParam.getPlanTaskId(), mtUserSeq); planTaskDetailMapper.finishTaskDetail(Long.parseLong(detail.get("planTaskDetailId").toString()), recordParam.getPointId(), recordParam.getPlanTaskId(), mtUserSeq);
//6.消息广播最近维保日期 //6.消息广播最近维保日期
if(StringUtil.isNotEmpty(point.getOriginalId())){ if (StringUtil.isNotEmpty(point.getOriginalId())) {
JSONObject jsonObject = new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("fireFacilityId",point.getOriginalId()); jsonObject.put("fireFacilityId", point.getOriginalId());
jsonObject.put("maintenanceTime",check.getCheckTime()); jsonObject.put("maintenanceTime", check.getCheckTime());
mqttGateway.publish(CHECK_UPDATE_TOPIC,jsonObject.toJSONString()); mqttGateway.publish(CHECK_UPDATE_TOPIC, jsonObject.toJSONString());
} }
//7.返回不合格记录 //7.返回不合格记录
return new CheckDto(check.getId(), unqualifiedCheckItemList); return new CheckDto(check.getId(), unqualifiedCheckItemList);
...@@ -271,7 +273,7 @@ public class CheckServiceImpl implements ICheckService { ...@@ -271,7 +273,7 @@ public class CheckServiceImpl implements ICheckService {
private void checkCanFinishTask(String mtUserSeq, PlanTask planTask, Long pointId) throws Exception { private void checkCanFinishTask(String mtUserSeq, PlanTask planTask, Long pointId) throws Exception {
int status; int status;
int count = checkService.checkHasRecord(planTask.getId(), pointId); int count = checkService.checkHasRecord(planTask.getId(), pointId);
if(count > 0){ if (count > 0) {
throw new RuntimeException("任务已执行,不能重复执行"); throw new RuntimeException("任务已执行,不能重复执行");
} }
if (!ToolUtils.transBeanList(planTask.getUserId()).contains(mtUserSeq)) { if (!ToolUtils.transBeanList(planTask.getUserId()).contains(mtUserSeq)) {
...@@ -414,7 +416,7 @@ public class CheckServiceImpl implements ICheckService { ...@@ -414,7 +416,7 @@ public class CheckServiceImpl implements ICheckService {
@Override @Override
public Page<Check> getCheckListByOriginalId(String originalId, CommonPageable pageable) { public Page<Check> getCheckListByOriginalId(String originalId, CommonPageable pageable) {
Point point = iPointDao.findByOriginalId(originalId); Point point = iPointDao.findByOriginalId(originalId);
if(point == null){ if (point == null) {
throw new RuntimeException("不存在该设备设施"); throw new RuntimeException("不存在该设备设施");
} }
List<DaoCriteria> criterias = new ArrayList<>(); List<DaoCriteria> criterias = new ArrayList<>();
...@@ -429,7 +431,19 @@ public class CheckServiceImpl implements ICheckService { ...@@ -429,7 +431,19 @@ public class CheckServiceImpl implements ICheckService {
orders.add(idOrder); orders.add(idOrder);
Sort sort = Sort.by(orders); Sort sort = Sort.by(orders);
pageable.setSort(sort); pageable.setSort(sort);
return checkDao.findAll(spec,pageable); return checkDao.findAll(spec, pageable);
}
@Override
public List<CheckInputDto> getInputDetail(String checkId) {
List<CheckInputDto> list = this.checkMapper.queryCheckInputDetail(checkId,fileUrl);
list.forEach(input->{
CheckStatusEnum statusEnum = CheckStatusEnum.getEnum(input.getIsOk());
if(statusEnum != null){
input.setIsOkDesc(statusEnum.getName());
}
});
return list;
} }
@Override @Override
...@@ -674,12 +688,12 @@ public class CheckServiceImpl implements ICheckService { ...@@ -674,12 +688,12 @@ public class CheckServiceImpl implements ICheckService {
Map<String, Object> charData = checkMapper.pieChartData(param); Map<String, Object> charData = checkMapper.pieChartData(param);
List<Map<String, Object>> calendarData = checkMapper.calendarData(param); List<Map<String, Object>> calendarData = checkMapper.calendarData(param);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
Map<String,List<CalendarStatusCountRespone>> calendarMap = calendarData.stream().collect(Collectors.groupingBy(map -> map.get("time").toString(),Collectors.mapping(c->{ Map<String, List<CalendarStatusCountRespone>> calendarMap = calendarData.stream().collect(Collectors.groupingBy(map -> map.get("time").toString(), Collectors.mapping(c -> {
CalendarStatusCountRespone countRespone = new CalendarStatusCountRespone(); CalendarStatusCountRespone countRespone = new CalendarStatusCountRespone();
countRespone.setCount(Long.parseLong(c.get("count").toString())); countRespone.setCount(Long.parseLong(c.get("count").toString()));
countRespone.setStatus(c.get("status").toString()); countRespone.setStatus(c.get("status").toString());
return countRespone; return countRespone;
},Collectors.toList()))); }, Collectors.toList())));
result.put("charData", charData); result.put("charData", charData);
result.put("calendarData", calendarMap); result.put("calendarData", calendarMap);
return result; return result;
...@@ -1077,7 +1091,7 @@ public class CheckServiceImpl implements ICheckService { ...@@ -1077,7 +1091,7 @@ public class CheckServiceImpl implements ICheckService {
params.put("pageSize", page.getPageSize()); params.put("pageSize", page.getPageSize());
content = checkMapper.getChecks(params); content = checkMapper.getChecks(params);
if (0 < content.size()) { if (0 < content.size()) {
for(HashMap<String, Object> map : content) { for (HashMap<String, Object> map : content) {
if (map.containsKey("isOk")) { if (map.containsKey("isOk")) {
map.put("status", CheckStatusEnum.getEnum(String.valueOf(map.get("isOk"))).getName()); map.put("status", CheckStatusEnum.getEnum(String.valueOf(map.get("isOk"))).getName());
} }
......
package com.yeejoin.amos.maintenance.business.service.impl; package com.yeejoin.amos.maintenance.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.maintenance.business.constants.XJConstant; import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.RouteMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.RouteMapper;
import com.yeejoin.amos.maintenance.business.dao.repository.IInputItemDao; import com.yeejoin.amos.maintenance.business.dao.repository.IInputItemDao;
import com.yeejoin.amos.maintenance.business.dao.repository.IPointInputItemDao; import com.yeejoin.amos.maintenance.business.dao.repository.IPointInputItemDao;
import com.yeejoin.amos.maintenance.business.dto.PictureJsonConfig;
import com.yeejoin.amos.maintenance.business.param.CheckInputParam; import com.yeejoin.amos.maintenance.business.param.CheckInputParam;
import com.yeejoin.amos.maintenance.business.param.InputItemPageParam; import com.yeejoin.amos.maintenance.business.param.InputItemPageParam;
import com.yeejoin.amos.maintenance.business.service.intfc.ICatalogTreeService; import com.yeejoin.amos.maintenance.business.service.intfc.ICatalogTreeService;
...@@ -15,6 +18,7 @@ import com.yeejoin.amos.maintenance.business.util.DaoCriteria; ...@@ -15,6 +18,7 @@ import com.yeejoin.amos.maintenance.business.util.DaoCriteria;
import com.yeejoin.amos.maintenance.business.vo.InputItemTemplateVo; import com.yeejoin.amos.maintenance.business.vo.InputItemTemplateVo;
import com.yeejoin.amos.maintenance.business.vo.InputItemVo; import com.yeejoin.amos.maintenance.business.vo.InputItemVo;
import com.yeejoin.amos.maintenance.business.vo.PointInputItemVo; import com.yeejoin.amos.maintenance.business.vo.PointInputItemVo;
import com.yeejoin.amos.maintenance.core.util.StringUtil;
import com.yeejoin.amos.maintenance.core.util.query.BaseQuerySpecification; import com.yeejoin.amos.maintenance.core.util.query.BaseQuerySpecification;
import com.yeejoin.amos.maintenance.dao.entity.CheckInput; import com.yeejoin.amos.maintenance.dao.entity.CheckInput;
import com.yeejoin.amos.maintenance.dao.entity.InputItem; import com.yeejoin.amos.maintenance.dao.entity.InputItem;
...@@ -28,6 +32,7 @@ import org.springframework.stereotype.Service; ...@@ -28,6 +32,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.*; import java.util.*;
...@@ -42,17 +47,26 @@ public class InputItemServiceImpl implements IInputItemService { ...@@ -42,17 +47,26 @@ public class InputItemServiceImpl implements IInputItemService {
RouteMapper routeMapper; RouteMapper routeMapper;
@Autowired @Autowired
InputItemMapper inputItemMapper; InputItemMapper inputItemMapper;
@Autowired
private ICatalogTreeService iCatalogTreeService;
@Value("${input.custom.prefix}") @Value("${input.custom.prefix}")
private String customPre; private String customPre;
@Autowired @Autowired
private RemoteSecurityService remoteSecurityService; private RemoteSecurityService remoteSecurityService;
@Autowired
private Sequence sequence;
@Override @Override
@Transactional @Transactional(rollbackFor = Exception.class)
public long addNewInputItem(InputItem param) { public long addNewInputItem(InputItem param) {
List<PictureJsonConfig> pictureJsonConfigs = JSON.parseArray(param.getPictureJson(), PictureJsonConfig.class);
for(PictureJsonConfig p: pictureJsonConfigs){
if(StringUtils.isEmpty(p.getPhotoConfKey())){
p.setPhotoConfKey(String.valueOf(sequence.nextId()));
}
}
param.setPictureJson(JSONObject.toJSONString(pictureJsonConfigs));
if (param.getId() > 0) { if (param.getId() > 0) {
inputItemMapper.updateInputItem(param); inputItemMapper.updateInputItem(param);
} else { } else {
...@@ -200,7 +214,7 @@ public class InputItemServiceImpl implements IInputItemService { ...@@ -200,7 +214,7 @@ public class InputItemServiceImpl implements IInputItemService {
public Boolean uploadListByTemplate(List<InputItemTemplateVo> itemTemplateVoList, String orgCode, String userId) throws Exception { public Boolean uploadListByTemplate(List<InputItemTemplateVo> itemTemplateVoList, String orgCode, String userId) throws Exception {
List<InputItem> list = new ArrayList<>(); List<InputItem> list = new ArrayList<>();
if (!CollectionUtils.isEmpty(itemTemplateVoList)) { if (!CollectionUtils.isEmpty(itemTemplateVoList)) {
itemTemplateVoList.stream().forEach(x -> { itemTemplateVoList.forEach(x -> {
InputItem inputItem = new InputItem(); InputItem inputItem = new InputItem();
BeanUtils.copyProperties(x, inputItem); BeanUtils.copyProperties(x, inputItem);
inputItem.setOrgCode(orgCode); inputItem.setOrgCode(orgCode);
......
package com.yeejoin.amos.maintenance.business.service.impl; package com.yeejoin.amos.maintenance.business.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.beust.jcommander.internal.Sets;
import com.google.common.base.Joiner;
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.maintenance.business.constants.XJConstant; import com.yeejoin.amos.maintenance.business.constants.XJConstant;
import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.InputItemMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.PlanMapper;
...@@ -13,20 +8,16 @@ import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskDetailMapper; ...@@ -13,20 +8,16 @@ import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskDetailMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper; import com.yeejoin.amos.maintenance.business.dao.mapper.PlanTaskMapper;
import com.yeejoin.amos.maintenance.business.dao.repository.*; import com.yeejoin.amos.maintenance.business.dao.repository.*;
import com.yeejoin.amos.maintenance.business.entity.mybatis.CheckChkExListBo; import com.yeejoin.amos.maintenance.business.entity.mybatis.CheckChkExListBo;
import com.yeejoin.amos.maintenance.business.entity.mybatis.PointCheckDetailBo;
import com.yeejoin.amos.maintenance.business.feign.EquipFeignClient; import com.yeejoin.amos.maintenance.business.feign.EquipFeignClient;
import com.yeejoin.amos.maintenance.business.param.CheckPtListPageParam; import com.yeejoin.amos.maintenance.business.param.CheckPtListPageParam;
import com.yeejoin.amos.maintenance.business.param.PlanTaskPageParam; import com.yeejoin.amos.maintenance.business.param.PlanTaskPageParam;
import com.yeejoin.amos.maintenance.business.service.intfc.ICheckService; import com.yeejoin.amos.maintenance.business.service.intfc.ICheckService;
import com.yeejoin.amos.maintenance.business.service.intfc.IPlanTaskService; import com.yeejoin.amos.maintenance.business.service.intfc.IPlanTaskService;
import com.yeejoin.amos.maintenance.business.util.PlanTaskUtil; import com.yeejoin.amos.maintenance.business.util.PlanTaskUtil;
import com.yeejoin.amos.maintenance.business.util.Toke;
import com.yeejoin.amos.maintenance.business.vo.CalDateVo; import com.yeejoin.amos.maintenance.business.vo.CalDateVo;
import com.yeejoin.amos.maintenance.business.vo.LeavePlanTaskVo;
import com.yeejoin.amos.maintenance.business.vo.PlanTaskVo; import com.yeejoin.amos.maintenance.business.vo.PlanTaskVo;
import com.yeejoin.amos.maintenance.common.enums.PlanTaskFinishStatusEnum;
import com.yeejoin.amos.maintenance.core.common.request.CommonPageable; import com.yeejoin.amos.maintenance.core.common.request.CommonPageable;
import com.yeejoin.amos.maintenance.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.maintenance.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.maintenance.core.util.DateUtil; import com.yeejoin.amos.maintenance.core.util.DateUtil;
import com.yeejoin.amos.maintenance.core.util.StringUtil; import com.yeejoin.amos.maintenance.core.util.StringUtil;
import com.yeejoin.amos.maintenance.dao.entity.*; import com.yeejoin.amos.maintenance.dao.entity.*;
...@@ -42,7 +33,6 @@ import org.springframework.data.domain.Page; ...@@ -42,7 +33,6 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl; import org.springframework.data.domain.PageImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -503,8 +493,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -503,8 +493,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Override @Override
public Page<HashMap<String, Object>> getPlanTasks(HashMap<String, Object> params, CommonPageable pageParam) { public Page<Map<String, Object>> getPlanTasks(Map<String, Object> params, CommonPageable pageParam) {
List<HashMap<String, Object>> content = Lists.newArrayList(); List<Map<String, Object>> content = Lists.newArrayList();
long total = planTaskMapper.getPlanTasksCount(params); long total = planTaskMapper.getPlanTasksCount(params);
if (total == 0) { if (total == 0) {
return new PageImpl<>(content, pageParam, total); return new PageImpl<>(content, pageParam, total);
...@@ -512,6 +502,12 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -512,6 +502,12 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
params.put("offset", pageParam.getOffset()); params.put("offset", pageParam.getOffset());
params.put("pageSize", pageParam.getPageSize()); params.put("pageSize", pageParam.getPageSize());
content = planTaskMapper.getPlanTasks(params); content = planTaskMapper.getPlanTasks(params);
content.forEach(c -> {
if (c.containsKey("finishStatus")) {
String finishStatusDesc = PlanTaskFinishStatusEnum.getName(Integer.parseInt(c.get("finishStatus").toString()));
c.put("finishStatusDesc", finishStatusDesc);
}
});
return new PageImpl<>(content, pageParam, total); return new PageImpl<>(content, pageParam, total);
} }
...@@ -656,10 +652,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService { ...@@ -656,10 +652,6 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
} }
@Override @Override
public String getCumulativePlanCountByOrgCode(String loginOrgCode) { public String getCumulativePlanCountByOrgCode(String loginOrgCode) {
return planTaskMapper.getCumulativePlanCountByOrgCode(loginOrgCode); return planTaskMapper.getCumulativePlanCountByOrgCode(loginOrgCode);
......
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.maintenance.business.service.intfc; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.maintenance.business.service.intfc;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.maintenance.business.dto.CheckDto; import com.yeejoin.amos.maintenance.business.dto.CheckDto;
import com.yeejoin.amos.maintenance.business.dto.CheckInputDto;
import com.yeejoin.amos.maintenance.business.dto.CheckRecordDto; import com.yeejoin.amos.maintenance.business.dto.CheckRecordDto;
import com.yeejoin.amos.maintenance.business.entity.mybatis.*; import com.yeejoin.amos.maintenance.business.entity.mybatis.*;
import com.yeejoin.amos.maintenance.business.param.*; import com.yeejoin.amos.maintenance.business.param.*;
...@@ -269,4 +270,11 @@ public interface ICheckService { ...@@ -269,4 +270,11 @@ public interface ICheckService {
int checkHasRecord(Long planTaskId, Long pointId); int checkHasRecord(Long planTaskId, Long pointId);
Page<Check> getCheckListByOriginalId(String originalId, CommonPageable pageable); Page<Check> getCheckListByOriginalId(String originalId, CommonPageable pageable);
/**
* 维保检查项详情
* @param checkId 记录ID
* @return List<CheckInputDto>
*/
List<CheckInputDto> getInputDetail(String checkId);
} }
...@@ -66,7 +66,7 @@ public interface IPlanTaskService { ...@@ -66,7 +66,7 @@ public interface IPlanTaskService {
* @param page * @param page
* @return * @return
*/ */
Page<HashMap<String, Object>> getPlanTasks(HashMap<String, Object> params, CommonPageable page); Page<Map<String, Object>> getPlanTasks(Map<String, Object> params, CommonPageable page);
/** /**
......
...@@ -47,4 +47,15 @@ ...@@ -47,4 +47,15 @@
ALTER TABLE p_check_shot modify `org_code` varchar(100) DEFAULT NULL COMMENT '权限系统org code'; ALTER TABLE p_check_shot modify `org_code` varchar(100) DEFAULT NULL COMMENT '权限系统org code';
</sql> </sql>
</changeSet> </changeSet>
<changeSet author="suhuiguang" id="1629788256095-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_check_shot" columnName="photo_conf_key"/>
</not>
</preConditions>
<comment>p_check_shot add COLUMN photo_conf_key 增加项和照片关联</comment>
<sql>
ALTER TABLE p_check_shot add COLUMN `photo_conf_key` varchar(32) DEFAULT NULL COMMENT '照片配置key(关联照片和拍照设置)';
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
...@@ -2063,4 +2063,41 @@ ...@@ -2063,4 +2063,41 @@
WHERE WHERE
pc.id = #{id} pc.id = #{id}
</select> </select>
<select id="queryCheckInputDetail" resultMap="checkInputWithPhotoMap">
select
ci.id,
ci.input_id,
ci.input_name,
ci.input_value,
ci.is_ok,
ci.remark,
ci.order_no,
#{fileUrl} as prefix,
ii.picture_json,
ii.data_json
from p_check_input ci
left join p_input_item ii on ci.input_id = ii.id
where ci.check_id=#{checkId}
order by order_no
</select>
<resultMap id="checkInputWithPhotoMap" type="com.yeejoin.amos.maintenance.business.dto.CheckInputDto">
<result column="id" property="checkInputId"/>
<collection
property="checkInputShot"
ofType="com.yeejoin.amos.maintenance.business.dto.CheckShotDto"
select="queryCheckShot"
column="{checkInputId=id,prefix=prefix}"
/>
</resultMap>
<select id="queryCheckShot" resultType="com.yeejoin.amos.maintenance.business.dto.CheckShotDto">
select
id as checkShotId,
check_input_id,
shot_type,
photo_conf_key,
concat(#{prefix},photo_data) as fileUrl
from
p_check_shot
where check_input_id = #{checkInputId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -214,7 +214,7 @@ ...@@ -214,7 +214,7 @@
<sql id="mobile-plan-task-where"> <sql id="mobile-plan-task-where">
<where> <where>
<if test="userId != null and userId > 0 "> and find_in_set(#{userId},a.userId)>0</if> <if test="userId != null and userId > 0 "> and find_in_set(#{userId},a.userId)>0</if>
<if test="finishStatus != null"> and a.finishStatus = #{finishStatus}</if> <if test="finishStatus != null and finishStatus!=''"> and a.finishStatus = #{finishStatus}</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != '' "> <if test="startTime != null and startTime != '' and endTime != null and endTime != '' ">
AND ( AND (
( (
...@@ -238,7 +238,7 @@ ...@@ -238,7 +238,7 @@
<choose> <choose>
<when test="identityType==1"> <when test="identityType==1">
And (a.orgCode LIKE CONCAT( #{orgCode}, '-%' ) or a.orgCode= #{orgCode} ) And (a.orgCode LIKE CONCAT( #{orgCode}, '-%' ) or a.orgCode= #{orgCode} )
<if test="companyId != null"> and a.owner_id = #{companyId}</if> <if test="companyId != null and companyId != ''"> and a.owner_id = #{companyId}</if>
</when> </when>
<when test="identityType==2"> <when test="identityType==2">
And a.owner_id = #{companyId} And a.owner_id = #{companyId}
......
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