Commit 777d2540 authored by 高建强's avatar 高建强

item:监督检查业务接口新增及调整

parent 4f3a7fdf
package com.yeejoin.amos.supervision.dao.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import org.hibernate.annotations.Where;
import javax.persistence.*;
/**
* 检查项
......@@ -183,42 +179,54 @@ public class InputItem extends BasicEntity {
private String testRequirement;
/**
* 检查类型字典值
*/
@Column(name = "check_type_Val")
private String checkTypeId;
/**
* 检查类型
*/
@Column(name="check_type")
@Column(name = "check_type")
private String checkType;
/**
* 父类检查项id
*/
@Column(name="item_parent")
@Column(name = "item_parent")
private String itemParent;
/**
* 检查项分类
*/
@Column(name="item_classify")
@Column(name = "item_classify")
private String itemClassify;
/**
* 适用检查类别
*/
@Lob
@Column(name="item_type_classify")
@Column(name = "item_type_classify")
private String itemTypeClassify;
/**
* 检查项等级
*/
@Column(name="item_level")
@Column(name = "item_level")
private String itemLevel;
/**
* 检查项启用
*/
@Column(name="item_start")
@Column(name = "item_start")
private Integer itemStart;
/**
* 扩展属性
*/
@Transient
private String ext;
public Integer getItemStart() {
return itemStart;
}
......@@ -332,14 +340,14 @@ public class InputItem extends BasicEntity {
}
public String getRiskDesc() {
return riskDesc;
}
return riskDesc;
}
public void setRiskDesc(String riskDesc) {
this.riskDesc = riskDesc;
}
public void setRiskDesc(String riskDesc) {
this.riskDesc = riskDesc;
}
public String getItemNo() {
public String getItemNo() {
return itemNo;
}
......@@ -498,4 +506,20 @@ public class InputItem extends BasicEntity {
public void setBasisJson(String basisJson) {
this.basisJson = basisJson;
}
public String getCheckTypeId() {
return checkTypeId;
}
public void setCheckTypeId(String checkTypeId) {
this.checkTypeId = checkTypeId;
}
public String getExt() {
return ext;
}
public void setExt(String ext) {
this.ext = ext;
}
}
\ No newline at end of file
package com.yeejoin.amos.supervision.dao.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.fasterxml.jackson.annotation.JsonBackReference;
import javax.persistence.*;
/**
* The persistent class for the p_route_point_item database table.
*
*/
@Entity
@Table(name="p_route_point_item")
@NamedQuery(name="RoutePointItem.findAll", query="SELECT r FROM RoutePointItem r")
@Table(name = "p_route_point_item")
@NamedQuery(name = "RoutePointItem.findAll", query = "SELECT r FROM RoutePointItem r")
public class RoutePointItem extends BasicEntity {
private static final long serialVersionUID = 1L;
private static final long serialVersionUID = 1L;
/**
* 创建者
*/
@Column(name = "creator_id")
private String creatorId;
/**
* 排序
*/
@Column(name = "order_no")
private int orderNo;
/**
* 巡检点检查项id
*/
@Column(name = "point_input_item_id")
private long pointInputItemId;
/**
* 创建者
*/
@Column(name="creator_id")
private String creatorId;
/**
* 排序
*/
@Column(name="order_no")
private int orderNo;
/**
* 巡检点检查项id
*/
@Column(name="point_input_item_id")
private long pointInputItemId;
/**
* 路线点表id
*/
@Column(name="route_point_id")
private long routePointId;
/**
* 点分类id
*/
@Column(name="point_classify_id")
private Long pointClassifyId;
/**
* 前端标记是否绑定
*/
private boolean isBound = true;
private RoutePoint routePoint;
/**
* 标准依据
*/
@Column(name = "basis_json", columnDefinition = "text COMMENT '标准依据'")
private String basisJson;
private long pointId;
public RoutePointItem() {
}
public String getCreatorId() {
return this.creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public int getOrderNo() {
return this.orderNo;
}
public void setOrderNo(int orderNo) {
this.orderNo = orderNo;
}
public long getPointInputItemId() {
return this.pointInputItemId;
}
public void setPointInputItemId(long pointInputItemId) {
this.pointInputItemId = pointInputItemId;
}
public long getRoutePointId() {
return this.routePointId;
}
public void setRoutePointId(long routePointId) {
this.routePointId = routePointId;
}
@ManyToOne
@JoinColumn(name = "routePointId", referencedColumnName = "id", updatable = false, insertable = false)
public RoutePoint getRoutePoint() {
return routePoint;
}
@JsonBackReference
public void setRoutePoint(RoutePoint routePoint) {
this.routePoint = routePoint;
}
public Long getPointClassifyId() {
return pointClassifyId;
}
public void setPointClassifyId(Long pointClassifyId) {
this.pointClassifyId = pointClassifyId;
}
public String getBasisJson() {
return basisJson;
}
public void setBasisJson(String basisJson) {
this.basisJson = basisJson;
}
@Transient
public long getPointId() {
return pointId;
}
public void setPointId(long pointId) {
this.pointId = pointId;
}
@Transient
public boolean getIsBound() {
return isBound;
}
public void setIsBound(boolean bound) {
isBound = bound;
}
/**
* 路线点表id
*/
@Column(name = "route_point_id")
private long routePointId;
/**
* 点分类id
*/
@Column(name = "point_classify_id")
private Long pointClassifyId;
/**
* 前端标记是否绑定
*/
private boolean isBound = true;
private RoutePoint routePoint;
/**
* 标准依据
*/
@Column(name = "basis_json", columnDefinition = "text COMMENT '标准依据'")
private String basisJson;
/**
* 检查项ID
*/
@Column(name = "input_item_id")
private Long inputItemId;
/**
* 计划ID
*/
@Column(name = "plan_id")
private Long planId;
private long pointId;
public RoutePointItem() {
}
public String getCreatorId() {
return this.creatorId;
}
public void setCreatorId(String creatorId) {
this.creatorId = creatorId;
}
public int getOrderNo() {
return this.orderNo;
}
public void setOrderNo(int orderNo) {
this.orderNo = orderNo;
}
public long getPointInputItemId() {
return this.pointInputItemId;
}
public void setPointInputItemId(long pointInputItemId) {
this.pointInputItemId = pointInputItemId;
}
public long getRoutePointId() {
return this.routePointId;
}
public void setRoutePointId(long routePointId) {
this.routePointId = routePointId;
}
@ManyToOne
@JoinColumn(name = "routePointId", referencedColumnName = "id", updatable = false, insertable = false)
public RoutePoint getRoutePoint() {
return routePoint;
}
@JsonBackReference
public void setRoutePoint(RoutePoint routePoint) {
this.routePoint = routePoint;
}
public Long getPointClassifyId() {
return pointClassifyId;
}
public void setPointClassifyId(Long pointClassifyId) {
this.pointClassifyId = pointClassifyId;
}
public String getBasisJson() {
return basisJson;
}
public void setBasisJson(String basisJson) {
this.basisJson = basisJson;
}
@Transient
public long getPointId() {
return pointId;
}
public void setPointId(long pointId) {
this.pointId = pointId;
}
@Transient
public boolean getIsBound() {
return isBound;
}
public void setIsBound(boolean bound) {
isBound = bound;
}
public Long getInputItemId() {
return inputItemId;
}
public void setInputItemId(Long inputItemId) {
this.inputItemId = inputItemId;
}
public Long getPlanId() {
return planId;
}
public void setPlanId(Long planId) {
this.planId = planId;
}
}
\ No newline at end of file
......@@ -95,6 +95,10 @@
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<dependency>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId>
</dependency>
<dependency>
<groupId>cn.jpush.api</groupId>
<artifactId>jpush-client</artifactId>
</dependency>
......
package com.yeejoin.amos.supervision.business.controller;
import com.yeejoin.amos.supervision.business.service.intfc.IRoutePointItemService;
import com.yeejoin.amos.supervision.business.util.CommonResponse;
import com.yeejoin.amos.supervision.business.util.CommonResponseUtil;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.RoutePointItem;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.util.List;
/**
* @author gaojianqiang
* @date 2021/09/10 11:28
*/
@RestController
@RequestMapping(value = "/api/routePointItem")
@Api(tags = "巡检路线点项api")
public class RoutePointItemController extends AbstractBaseController {
private final Logger log = LoggerFactory.getLogger(RoutePointItemController.class);
@Autowired
private IRoutePointItemService routePointItemService;
/**
* 增加巡检路线点项关系
*
* @param plan 巡检计划
* @param inputItemIds 巡检项IDS
* @return CommonResponse
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "新增巡检路线点项关系", notes = "新增巡检路线点项关系")
@PostMapping(value = "/addRoutePointItem", produces = "application/json;charset=UTF-8")
public CommonResponse addRoute(@ApiParam(value = "巡检计划", required = true) @RequestBody Plan plan,
@ApiParam(value = "检查项IDS", required = true) @RequestParam List<Long> inputItemIds) {
try {
String userId = getUserId();
if (StringUtils.isNotBlank(userId)) {
List<RoutePointItem> list = routePointItemService.addRoutePointItemList(plan, inputItemIds, userId);
if (CollectionUtils.isNotEmpty(list)) {
return CommonResponseUtil.success();
}
return CommonResponseUtil.failure("路线点或检查项为空!");
}
return CommonResponseUtil.failure("创建用户为空!");
} catch (Exception e) {
log.error(e.getMessage(), e);
return CommonResponseUtil.failure("巡检路线点项关系新增失败!");
}
}
}
......@@ -22,6 +22,9 @@ public interface IInputItemDao extends BaseDao<InputItem, Long> {
@Query(value = "select * from p_input_item where original_id in ?1 and is_delete =0", nativeQuery = true)
List<InputItem> listByOriginalIds(List<String> originalIds);
@Query(value = "select * from p_input_item where id in ?1 and is_delete =0", nativeQuery = true)
List<InputItem> listByIds(List<Long> ids);
@Query(value = "select * from p_input_item where item_no = ?1 and equipment_name = ?2 and is_delete =0", nativeQuery = true)
List<InputItem> findByItemNoAndEquipmentName(String itemNo,String equipmentName);
......
......@@ -23,4 +23,9 @@ public interface IRoutePointItemDao extends BaseDao<RoutePointItem, Long> {
@Transactional
@Query(value = "delete from p_route_point_item WHERE id in (?1)", nativeQuery = true)
void deleteByRoutePointItemId(List<Long> delRoutePointItemIds);
@Modifying
@Transactional
@Query(value = "delete from p_route_point_item WHERE plan_id = ?1", nativeQuery = true)
void deleteByPlanId(Long planId);
}
......@@ -11,6 +11,7 @@ public class InputItemPageParam extends CommonPageable{
private String name;
private String level;
private String itemNo;
private String checkTypeId;
/**
* 机构
*/
......@@ -82,4 +83,12 @@ public class InputItemPageParam extends CommonPageable{
public void setCatalogIds(List<Long> catalogIds) {
this.catalogIds = catalogIds;
}
public String getCheckTypeId() {
return checkTypeId;
}
public void setCheckTypeId(String checkTypeId) {
this.checkTypeId = checkTypeId;
}
}
......@@ -3,46 +3,25 @@ package com.yeejoin.amos.supervision.business.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.utils.DateUtils;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.safety.common.cache.PointStatusCache;
import com.yeejoin.amos.supervision.business.constants.XJConstant;
import com.yeejoin.amos.supervision.business.dao.mapper.InputItemMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.PointMapper;
import com.yeejoin.amos.supervision.business.dao.mapper.RouteMapper;
import com.yeejoin.amos.supervision.business.dao.repository.*;
import com.yeejoin.amos.supervision.business.dao.repository.ICatalogTreeDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanTaskDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPlanTaskDetailDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointClassifyDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointInputItemDao;
import com.yeejoin.amos.supervision.business.dao.repository.IPointPhotoDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointItemDao;
import com.yeejoin.amos.supervision.business.dto.FormValue;
import com.yeejoin.amos.supervision.business.dto.OrgUsrFormDto;
import com.yeejoin.amos.supervision.business.dto.PointDto;
import com.yeejoin.amos.supervision.business.entity.mybatis.CheckPtListBo;
import com.yeejoin.amos.supervision.business.feign.EquipFeign;
import com.yeejoin.amos.supervision.business.param.*;
import com.yeejoin.amos.supervision.business.param.CheckPtListPageParam;
import com.yeejoin.amos.supervision.business.param.MovePointParam;
import com.yeejoin.amos.supervision.business.param.PointImportParam;
import com.yeejoin.amos.supervision.business.param.PointImportQueryParam;
import com.yeejoin.amos.supervision.business.param.PointParam;
import com.yeejoin.amos.supervision.business.service.intfc.IPointService;
import com.yeejoin.amos.supervision.business.util.DaoCriteria;
import com.yeejoin.amos.supervision.business.vo.*;
import com.yeejoin.amos.supervision.business.vo.InputItemVo;
import com.yeejoin.amos.supervision.business.vo.LeavelMovePointVo;
import com.yeejoin.amos.supervision.business.vo.MaintenanceResourceData;
import com.yeejoin.amos.supervision.business.vo.PointClassifyVo;
import com.yeejoin.amos.supervision.business.vo.PointInputItemVo;
import com.yeejoin.amos.supervision.business.vo.PointVo;
import com.yeejoin.amos.supervision.common.enums.PointStatusEnum;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
import com.yeejoin.amos.supervision.core.common.response.PointResponse;
......@@ -51,19 +30,8 @@ import com.yeejoin.amos.supervision.core.util.query.BaseQuerySpecification;
import com.yeejoin.amos.supervision.dao.entity.*;
import com.yeejoin.amos.supervision.exception.YeeException;
import com.yeejoin.amos.supervision.feign.RemoteSecurityService;
import com.yeejoin.amos.safety.common.cache.PointStatusCache;
import com.yeejoin.amos.supervision.dao.entity.CatalogTree;
import com.yeejoin.amos.supervision.dao.entity.InputItem;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import com.yeejoin.amos.supervision.dao.entity.PlanTaskDetail;
import com.yeejoin.amos.supervision.dao.entity.Point;
import com.yeejoin.amos.supervision.dao.entity.PointClassify;
import com.yeejoin.amos.supervision.dao.entity.PointInputItem;
import com.yeejoin.amos.supervision.dao.entity.PointPhoto;
import org.apache.commons.lang.StringUtils;
import org.apache.poi.ss.formula.functions.T;
import org.assertj.core.util.Sets;
import org.eclipse.paho.client.mqttv3.MqttException;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -141,7 +109,7 @@ public class PointServiceImpl implements IPointService {
Point point = pointParam.getPoint();
point.setIsDelete(false);
iPointDao.saveAndFlush(point);
addClassifyAndInputItem(pointParam, point);
// addClassifyAndInputItem(pointParam, point);
return point;
}
......
package com.yeejoin.amos.supervision.business.service.impl;
import com.google.common.collect.Lists;
import com.yeejoin.amos.supervision.business.dao.repository.IInputItemDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointDao;
import com.yeejoin.amos.supervision.business.dao.repository.IRoutePointItemDao;
import com.yeejoin.amos.supervision.business.service.intfc.IRoutePointItemService;
import com.yeejoin.amos.supervision.dao.entity.InputItem;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.RoutePoint;
import com.yeejoin.amos.supervision.dao.entity.RoutePointItem;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service("routePointItemService")
public class RoutePointItemServiceImpl implements IRoutePointItemService {
@Autowired
private IRoutePointItemDao routePointItemDao;
@Autowired
private IInputItemDao inputItemDao;
@Autowired
private IRoutePointDao routePointDao;
@Override
public List<RoutePointItem> addRoutePointItemList(Plan plan, List<Long> inputItemIds, String userId) {
Long planId = plan.getId();
Long routeId = plan.getRouteId();
if (CollectionUtils.isNotEmpty(inputItemIds) && routeId != null && planId != null) {
routePointItemDao.deleteByPlanId(planId);
List<InputItem> inputItemList = inputItemDao.listByIds(inputItemIds);
List<RoutePoint> routePointList = routePointDao.findByRouteId(routeId);
if (CollectionUtils.isNotEmpty(inputItemList) && CollectionUtils.isNotEmpty(routePointList)) {
List<RoutePointItem> list = new ArrayList<>();
routePointList.stream().forEach(route->{
Long routePointId = route.getId();
inputItemList.stream().forEach(item->{
RoutePointItem routePointItem = new RoutePointItem();
routePointItem.setInputItemId(item.getId());
routePointItem.setBasisJson(item.getBasisJson());
routePointItem.setOrderNo(item.getOrderNo());
routePointItem.setRoutePointId(routePointId);
routePointItem.setCreatorId(userId);
routePointItem.setCreateDate(new Date());
list.add(routePointItem);
});
});
return routePointItemDao.saveAll(list);
}
}
return Lists.newArrayList();
}
}
package com.yeejoin.amos.supervision.business.service.intfc;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.RoutePointItem;
import java.util.List;
public interface IRoutePointItemService {
List<RoutePointItem> addRoutePointItemList(Plan plan, List<Long> inputItemIds, String userId);
}
......@@ -58,6 +58,8 @@ public class InputItemParamUtil {
param.setInputClassify(toString(queryRequests.get(i).getValue()));
} else if ("itemClassify".equals(name)) {
param.setItemClassify(toString(queryRequests.get(i).getValue()));
} else if ("checkTypeId".equals(name)) {
param.setCheckTypeId(toString(queryRequests.get(i).getValue()));
}
}
}
......
......@@ -216,4 +216,37 @@
ALTER TABLE `p_check_input` ADD COLUMN `major_danger_num` int(11) DEFAULT NULL COMMENT '重大隐患个数' AFTER `safety_danger_num`;
</sql>
</changeSet>
<changeSet author="gaojianqiang" id="1630567666-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_input_item" columnName="check_type_id"/>
</not>
</preConditions>
<comment>p_input_item ADD COLUMN check_type_id</comment>
<sql>
ALTER TABLE `p_input_item` ADD COLUMN `check_type_id` varchar(32) DEFAULT NULL COMMENT '检查类别字典值';
</sql>
</changeSet>
<changeSet author="gaojianqiang" id="1630567666-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_route_point_item" columnName="input_item_id"/>
</not>
</preConditions>
<comment>p_route_point_item ADD COLUMN input_item_id</comment>
<sql>
ALTER TABLE `p_route_point_item` ADD COLUMN `input_item_id` bigint(20) DEFAULT NULL COMMENT '巡检项id';
</sql>
</changeSet>
<changeSet author="gaojianqiang" id="1630567666-3">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_route_point_item" columnName="plan_id"/>
</not>
</preConditions>
<comment>p_route_point_item ADD COLUMN plan_id</comment>
<sql>
ALTER TABLE `p_route_point_item` ADD COLUMN `plan_id` bigint(20) DEFAULT NULL COMMENT '计划ID';
</sql>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -66,12 +66,14 @@
<result property="checkMethod" column="check_method" />
<result property="createDate" column="create_date" />
<result property="inputClassify" column="input_classify" />
<result property="checkTypeId" column="check_type_id" />
<result property="checkType" column="check_type" />
<result property="itemParent" column="item_parent" />
<result property="itemClassify" column="item_classify" />
<result property="itemTypeClassify" column="item_type_classify" />
<result property="itemLevel" column="item_level" />
<result property="itemStart" column="item_start" />
<result property="ext" column="ext" />
</resultMap>
<!--统计 -->
<select id="countInputItemInfoData" resultType="long">
......@@ -89,17 +91,17 @@
</select>
<!--查询 -->
<select id="getInputItemInfo" resultMap="inputItemMap">
SELECT
SELECT
a.id,
a.name,
a.NAME,
a.item_no,
a.item_type,
a.is_must,
a.default_value,
a.is_score,
b.name as catalog_name,
b.NAME AS catalog_name,
a.remark,
a.level,
a.LEVEL,
a.risk_desc,
a.maintenance_content,
a.test_requirement,
......@@ -111,14 +113,20 @@
a.item_classify,
a.item_type_classify,
a.item_level,
a.item_start
from
p_input_item a left join p_catalog_tree b on a.catalog_id = b.id
where a.is_delete = '0'
and a.input_type != '1'
a.item_start,
IF
( i.input_item_id IS NULL, 0, 1 ) AS ext
FROM
p_input_item a
LEFT JOIN p_catalog_tree b ON a.catalog_id = b.id
LEFT JOIN p_route_point_item i ON a.id = i.input_item_id
WHERE
a.is_delete = '0'
AND a.input_type != '1'
<if test="name!=null"> and a.name like concat(concat("%",#{name}),"%")</if>
<if test="itemNo!=null"> and a.item_no like concat(concat("%",#{itemNo}),"%")</if>
<if test="itemType!=null"> and a.item_Type = #{itemType} </if>
<if test="checkTypeId!=null"> and a.check_type_Val = #{checkTypeId} </if>
<!-- <if test="orgCode!=null"> and a.org_Code = #{orgCode}</if>-->
<if test="itemClassify != null"> and a.item_classify = #{itemClassify}</if>
order by a.id desc
......
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