Commit d5516114 authored by suhuiguang's avatar suhuiguang

1.维保任务-app

parent 4ed0ef43
......@@ -26,6 +26,22 @@ import cn.afterturn.easypoi.excel.annotation.Excel;
public class Point extends BasicEntity {
private static final long serialVersionUID = 1L;
public String getBuildingId() {
return buildingId;
}
public void setBuildingId(String buildingId) {
this.buildingId = buildingId;
}
public String getBuildingName() {
return buildingName;
}
public void setBuildingName(String buildingName) {
this.buildingName = buildingName;
}
/**
* 参考地址
*/
......@@ -143,6 +159,18 @@ public class Point extends BasicEntity {
@Column(name="point_no")
private String pointNo;
/**
* 所在建筑
*/
private String buildingId;
/**
* 所在建筑名称
*/
private String buildingName;
public String getEquipmentId() {
return equipmentId;
}
......
......@@ -32,4 +32,6 @@ public interface InputItemMapper {
List<PointInputItemVo> queryCustomInputItemByPointId(@Param("pointId") Long pointId, @Param("equipmentId") String equipmentName);
Integer insertList(List<InputItem> list);
List<Map<String, Object>> queryInputItemInRountPoint(String routePointId);
}
......@@ -77,10 +77,10 @@ public interface PlanTaskMapper extends BaseMapper {
Map queryPlanTaskById(@Param(value="planTaskId") Long planTaskId);
/**
* 通过计划任务Id获取任务所有点信息
* @param planTaskId
* @param param
* @return
*/
List getPlanTaskPoints(@Param(value="planTaskId") Long planTaskId);
List<Map<String,Object>> getPlanTaskPoints(Map<String, Object> param);
/**
* 获取用户当前所有可以做的任务个数
* @param userId
......
......@@ -15,8 +15,6 @@ public interface IRoutePointDao extends BaseDao<RoutePoint, Long> {
@Query(value = "SELECT COUNT( point_id ) FROM `p_route_point` where route_id = ?1", nativeQuery = true)
int countRoutePoint(Long routeId);
@Query(value = "SELECT * FROM `p_route_point` where point_id = ?1", nativeQuery = true)
List<RoutePoint> queryByPointId(Long pointId);
@Query(value = "SELECT IfNULL(max(order_no),0) FROM `p_route_point` where route_id = ?1", nativeQuery = true)
int maxRoutePointOrderNo(Long routeId);
......@@ -38,11 +36,6 @@ public interface IRoutePointDao extends BaseDao<RoutePoint, Long> {
@Query(value = "select point_id from p_route_point WHERE route_id = ?1", nativeQuery = true)
List<Long> findAllByRouteId(Long routeId);
@Modifying
@Transactional
@Query(value = "delete from p_route_point WHERE point_id in (?1)", nativeQuery = true)
void delRoutePointByPointId(List<Long> pointIds);
@Query(value = "SELECT id FROM p_route_point WHERE point_id IN (?1)", nativeQuery = true)
List<BigInteger> queryRoutePointByPointId(List<Long> pointIds);
......
......@@ -7,13 +7,13 @@ import com.google.common.base.Joiner;
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.dao.mapper.InputItemMapper;
import com.yeejoin.amos.maintenance.business.dao.mapper.PlanMapper;
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.repository.*;
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.Business;
import com.yeejoin.amos.maintenance.business.feign.EquipFeign;
import com.yeejoin.amos.maintenance.business.param.CheckPtListPageParam;
import com.yeejoin.amos.maintenance.business.param.PlanTaskPageParam;
......@@ -30,15 +30,13 @@ 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.StringUtil;
import com.yeejoin.amos.maintenance.dao.entity.Check;
import com.yeejoin.amos.maintenance.dao.entity.Plan;
import com.yeejoin.amos.maintenance.dao.entity.PlanTask;
import com.yeejoin.amos.maintenance.dao.entity.PlanTaskDetail;
import com.yeejoin.amos.maintenance.dao.entity.*;
import com.yeejoin.amos.maintenance.exception.YeeException;
import com.yeejoin.amos.maintenance.feign.RemoteSecurityService;
import com.yeejoin.amos.maintenance.quartz.IJobService;
import org.apache.commons.collections.CollectionUtils;
import org.assertj.core.util.Lists;
import org.omg.CORBA.OBJ_ADAPTER;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -85,10 +83,16 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
private ICheckService checkService;
@Autowired
private Business business;
private EquipFeign equipFeign;
@Autowired
private EquipFeign equipFeign;
IPointDao iPointDao;
@Autowired
IPlanTaskDetailDao iPlanTaskDetailDao;
@Autowired
InputItemMapper inputItemMapper;
@Override
public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) {
......@@ -582,8 +586,8 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
@Override
public List getPlanTaskPoints(Long planTaskId) {
return planTaskMapper.getPlanTaskPoints(planTaskId);
public List getPlanTaskPoints(Map<String, Object> param) {
return planTaskMapper.getPlanTaskPoints(param);
}
@Override
......@@ -1009,4 +1013,34 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
}
return result;
}
@Override
public Map<String, Object> planTaskPointDetail(String planTaskDetailId, String routePointId) {
Map<String,Object> result = new LinkedHashMap<>();
Optional<RoutePoint> rOp = iRoutePointDao.findById(Long.parseLong(routePointId));
RoutePoint routePoint = rOp.orElseThrow(()->new RuntimeException("计划清单不存在该点"));
Point point = iPointDao.findById(routePoint.getPointId()).orElseThrow(()->new RuntimeException("维保项不存在"));
PlanTaskDetail planTaskDetail = iPlanTaskDetailDao.findById(Long.parseLong(planTaskDetailId)).orElseThrow(()->new RuntimeException("任务不存在"));
PlanTask planTask = iplanTaskDao.findById(planTaskDetail.getTaskNo()).orElseThrow(()->new RuntimeException("主任务不存在"));
Map<String,Object> facility = this.buildFacilityDetail(point,planTask);
List<Map<String, Object>> itemList = this.buildCheckInputItem(routePointId);
result.put("facility",facility);
result.put("itemList",itemList);
return result;
}
private List<Map<String, Object>> buildCheckInputItem(String routePointId) {
return inputItemMapper.queryInputItemInRountPoint(routePointId);
}
private Map<String, Object> buildFacilityDetail(Point point, PlanTask planTask) {
Map<String,Object> facility = new LinkedHashMap<>();
facility.put("name",point.getName());
facility.put("pointId",point.getId());
facility.put("point_no",point.getPointNo());
facility.put("position",point.getBuildingName() + point.getAddress());
facility.put("userName",planTask.getUserName());
facility.put("riskAndManage",point.getRemark());
return facility;
}
}
......@@ -91,10 +91,10 @@ public interface IPlanTaskService {
/**
* 根据计划ID获取所有的 任务计划巡检点
* @param planTaskId
* @param param
* @return
*/
List getPlanTaskPoints(Long planTaskId);
List getPlanTaskPoints(Map<String, Object> param);
/**
* 获取用户当前所有有的计划任务
......@@ -149,4 +149,13 @@ public interface IPlanTaskService {
List<Map<String,Object>> queryPlanTaskTimeAxis(Long userId,Integer createDate);
List<Map<String,Object>> queryTimeAxis(Long userId,Integer createDate);
/**
* 任务点详情
*
* @param planTaskDetailId 子表id
* @param routePointId 关系表id
* @return Map<String, Object>
*/
Map<String, Object> planTaskPointDetail(String planTaskDetailId, String routePointId);
}
......@@ -16,4 +16,26 @@
ALTER TABLE p_point ADD COLUMN `last_check_id` varchar(32) DEFAULT NULL COMMENT '最近检查记录(漏检不算)' AFTER `original_id`;
</sql>
</changeSet>
<changeSet author="suhuiguang" id="1628747347004-1">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_point" columnName="building_id"/>
</not>
</preConditions>
<comment>p_point ADD COLUMN building_id 需求变更</comment>
<sql>
ALTER TABLE p_point ADD COLUMN `building_id` varchar(32) DEFAULT NULL COMMENT '所在建筑' AFTER `address`;
</sql>
</changeSet>
<changeSet author="suhuiguang" id="1628747347004-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="p_point" columnName="building_name"/>
</not>
</preConditions>
<comment>p_point ADD COLUMN building_name 需求变更</comment>
<sql>
ALTER TABLE p_point ADD COLUMN `building_name` varchar(255) DEFAULT NULL COMMENT '所在建筑名称' AFTER `building_id`;
</sql>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -230,6 +230,26 @@
and org_Code = #{orgCode}
</if>
</select>
<select id="queryInputItemInRountPoint" resultType="java.util.Map">
SELECT
pii.id,
pii.`name` inputName,
pii.item_type itemType,
pii.test_requirement testRequirement,
pii.data_json dataJson,
pii.is_must isMust,
pii.picture_json pictureJson,
pii.order_no orderNo,
prpi.id as routePointItemId
FROM
p_route_point_item prpi
LEFT JOIN p_point_inputitem ppii ON ppii.id = prpi.point_input_item_id
LEFT JOIN p_input_item pii ON pii.id = ppii.input_item_id
WHERE
prpi.route_point_id = #{routePointId}
ORDER BY
prpi.order_no
</select>
<insert id="insertList" parameterType="java.util.List">
INSERT INTO p_input_item (
`org_code`, `name`, `item_type`,
......
......@@ -336,28 +336,32 @@
where 1 = 1
<if test="planTaskId != null and planTaskId >0 "> and a.planTaskId = #{planTaskId} </if>
</select>
<select id="getPlanTaskPoints" resultType="Map">
SELECT
ptd.id,
p.name,
p.id pointId,
p.point_no pointNO,
p.offline,
p.point_no pointNo,
concat_ws(' ',p.building_name,p.address) as position,
p.belong_system_name as belongSystemName,
ptd.status,
ptd.is_finish finish,
p.is_fixed isFixed,
pt.route_id routeId,
ptd.is_finish as isFinish,
pt.route_id as routeId,
c.id checkId,
prp.order_no orderNo
prp.order_no orderNo,
prp.id as routePointId
FROM
p_plan_task_detail ptd
LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no
LEFT JOIN p_point p ON p.id = ptd.point_id
LEFT JOIN p_check c ON c.plan_task_detail_id = ptd.id
LEFT JOIN p_route_point prp ON prp.point_id = ptd.point_id AND prp.route_id = pt.route_id
LEFT JOIN p_plan_task pt ON pt.id = ptd.task_no
LEFT JOIN p_point p ON p.id = ptd.point_id
LEFT JOIN p_check c ON c.plan_task_detail_id = ptd.id
LEFT JOIN p_route_point prp ON prp.point_id = ptd.point_id AND prp.route_id = pt.route_id
WHERE
p.is_delete = 0
<if test="planTaskId != null and planTaskId > 0 ">and pt.id = #{planTaskId}</if>
p.is_delete = 0 and pt.id = #{planTaskId}
<if test="buildingId != null and buildingId != ''">and find_in_set(p.building_id,#{buildingId})</if>
<if test="isFinish != null and isFinish != ''">and ptd.is_finish = #{isFinish}</if>
<if test="systemId != null and systemId != ''">and p.belong_system_id = #{systemId}</if>
<if test="pointNo != null and pointNo != ''">and p.point_no = #{pointNo}</if>
<if test="pointName != null and pointName != ''">and p.name like CONCAT ('%',#{pointName},'%')</if>
ORDER BY orderNo
</select>
......@@ -712,100 +716,6 @@
<if test="routeId != null">prp.route_id = #{routeId}</if>
<if test="pointId != null">and prp.point_id = #{pointId}</if>
</where>
<!--
SELECT
ii.*, pii.classify_ids, group_concat(ppc.name) classifyNames
FROM
p_input_item ii
LEFT JOIN p_point_inputitem pii ON pii.input_item_id = ii.id
LEFT JOIN p_point_classify ppc on pii.classify_ids REGEXP CONCAT(
'^',
ppc.id,
',|,',
ppc.id,
',|,',
ppc.id,
'$',
'|^',
ppc.id,
'$'
)
LEFT JOIN p_route_point_item prpi ON prpi.point_input_item_id = pii.id,
(
SELECT
id AS route_point_id
FROM
p_route_point rp
<where>
<if test="routeId != null">route_id = #{routeId}</if>
<if test="pointId != null">and point_id = #{pointId}</if>
</where>
) prp
WHERE
prp.route_point_id = prpi.route_point_id
GROUP BY ii.id,
ii.org_code,
ii.name,
ii.order_no,
ii.item_type,
ii.is_must,
ii.is_score,
ii.default_value,
ii.is_multiline,
ii.catalog_id,
ii.input_json,
ii.data_json,
ii.remark,
ii.picture_json,
ii.create_by,
ii.create_date,
ii.is_delete,
ii.level
, pii.classify_ids
SELECT
*
FROM
p_point_inputitem
WHERE
id IN (
SELECT
point_input_item_id
FROM
p_route_point_item prpi,
(
SELECT
id AS route_point_id
FROM
p_route_point
<where>
<if test="routeId != null">route_id = #{routeId}</if>
<if test="pointId != null">and point_id = #{pointId}</if>
</where>
) prp
WHERE
prp.route_point_id = prpi.route_point_id
) -->
</select>
<select id="queryPointClassifyByRouteIdAndPointId" resultType="Map">
SELECT
ppc.id,
ppc.point_id pointId,
ppc.`name`,
ppc.order_no orderNo
FROM
`p_route_point_item` prpi
LEFT JOIN p_route_point prp ON prp.id = prpi.route_point_id
LEFT JOIN p_point_classify ppc ON ppc.id = prpi.point_classify_id
WHERE
prp.route_id = #{routeId}
AND prp.point_id = #{pointId}
GROUP BY
ppc.id,
ppc.point_id,
ppc.`name`,
ppc.order_no
</select>
<select id="queryLeavePlanTask" resultMap="LeavePlanTaskMap">
......
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