Commit dce5787f authored by xixinzhao's avatar xixinzhao

检查结果提交

parent a62b8c59
......@@ -26,7 +26,6 @@ public class Check extends BasicEntity {
private static final long serialVersionUID = 1L;
/**
* 参考地址
......@@ -175,6 +174,18 @@ public class Check extends BasicEntity {
*/
@Column(name="dep_name")
private String depName;
/**
* 责任单位id
*/
@Column(name="company_id")
private String companyId;
/**
* 责任单位名称
*/
@Column(name="company_name")
private String companyName;
@Column(name="error_classify")
private String errorClassify;
......@@ -412,4 +423,19 @@ public class Check extends BasicEntity {
this.routeName = routeName;
}
public String getCompanyId() {
return companyId;
}
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
\ 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.*;
import java.util.List;
/**
......@@ -89,6 +85,53 @@ public class CheckInput extends BasicEntity {
*/
private String remark;
/**
* 执行人ids
*/
@Column(name="user_id")
private String userId;
/**
* 执行人名称
*/
@Column(name="user_name")
private String userName;
/**
* 执行部门ids
*/
@Column(name="dep_id")
private String depId;
/**
* 执行部门名称
*/
@Column(name="dep_name")
private String depName;
/**
* 安全隐患个数
*/
@Column(name="safety_danger_num")
private int safetyDangerNum;
/**
* 重大隐患个数
*/
@Column(name="major_danger_num")
private int majorDangerNum;
@Transient
public List<CheckShot> getCheckShotList() {
return checkShotList;
}
public void setCheckShotList(List<CheckShot> checkShotList) {
this.checkShotList = checkShotList;
}
private List<CheckShot> checkShotList;
public String getRemark() {
return remark;
}
......@@ -201,4 +244,51 @@ public class CheckInput extends BasicEntity {
this.pointClassifyName = pointClassifyName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getDepId() {
return depId;
}
public void setDepId(String depId) {
this.depId = depId;
}
public String getDepName() {
return depName;
}
public void setDepName(String depName) {
this.depName = depName;
}
public int getMajorDangerNum() {
return majorDangerNum;
}
public void setMajorDangerNum(int majorDangerNum) {
this.majorDangerNum = majorDangerNum;
}
public int getSafetyDangerNum() {
return safetyDangerNum;
}
public void setSafetyDangerNum(int safetyDangerNum) {
this.safetyDangerNum = safetyDangerNum;
}
}
\ No newline at end of file
......@@ -55,6 +55,30 @@ public class PlanTaskDetail extends BasicEntity {
@Column(name="status")
private String status="0";
/**
* 检查项个数
*/
@Column(name="item_num")
private int itemNum;
/**
* 已执行个数
*/
@Column(name="executed_num")
private int executedNum;
/**
* 已执行个数
*/
@Column(name="safety_danger_num")
private int safetyDangerNum;
/**
* 已执行个数
*/
@Column(name="major_danger_num")
private int majorDangerNum;
public PlanTaskDetail() {
}
......@@ -112,6 +136,45 @@ public class PlanTaskDetail extends BasicEntity {
public void setExecutorId(String executorId) {
this.executorId = executorId;
}
public int getItemNum() {
return itemNum;
}
public void setItemNum(int itemNum) {
this.itemNum = itemNum;
}
public int getExecutedNum() {
return executedNum;
}
public void setExecutedNum(int executedNum) {
this.executedNum = executedNum;
}
public Date getExecutorDate() {
return executorDate;
}
public void setExecutorDate(Date executorDate) {
this.executorDate = executorDate;
}
public int getSafetyDangerNum() {
return safetyDangerNum;
}
public void setSafetyDangerNum(int safetyDangerNum) {
this.safetyDangerNum = safetyDangerNum;
}
public int getMajorDangerNum() {
return majorDangerNum;
}
public void setMajorDangerNum(int majorDangerNum) {
this.majorDangerNum = majorDangerNum;
}
}
\ No newline at end of file
......@@ -249,77 +249,6 @@ public class CheckController extends AbstractBaseController {
FileHelper.exportZip(list, fileName, response);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "保存巡检记录<font color='blue'>手机app</font>", notes = "保存巡检记录<font color='blue'>手机app</font>")
@RequestMapping(value = "/saveRecord", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse saveCheckRecord(
@ApiParam(value = "检查信息", required = false) @RequestBody(required = true) CheckRecordParam requestParam) {
Toke token = new Toke();
token.setProduct(request.getHeader("product"));
token.setToke(request.getHeader("X-Access-Token"));
token.setAppKey(request.getHeader("appKey"));
int statu = -1;
PlanTask planTask = null;
if (requestParam.getPlanTaskId() != null && requestParam.getPlanTaskId() != 0) {
planTask = planTaskService.selectPlanTaskStatus(requestParam.getPlanTaskId());
}
AgencyUserModel user = getUserInfo();
String userId = user.getUserId();
String realName = user.getRealName();
requestParam.setIsOffline(requestParam.getIsOffline() == null ? false : requestParam.getIsOffline());
try {
if (planTask != null) {
if (!ToolUtils.transBeanList(planTask.getUserId()).contains(userId.toString())) {
return CommonResponseUtil.failure("无权执行该任务");
}
statu = planTask.getFinishStatus();
if (!requestParam.getIsOffline() && statu == PlanTaskFinishStatusEnum.OVERTIME.getValue()) {
return CommonResponseUtil.failure("任务已超时,上传失败!");
} else if (statu == PlanTaskFinishStatusEnum.FINISHED.getValue()) {
return CommonResponseUtil.failure("任务已完成!");
}
Date checkTime = requestParam.getIsOffline() ? DateUtil.getLongDate(requestParam.getCheckTime()) : new Date();
Date beginTime = DateUtil.getLongDate(planTask.getBeginTime());
Date endTime = DateUtil.getLongDate(planTask.getEndTime());
int beginCompareTo = checkTime.compareTo(beginTime);
int endCompareTo = checkTime.compareTo(endTime);
if (beginCompareTo == -1 || endCompareTo == 1) {
return CommonResponseUtil.failure("请在计划时间内完成任务!");
}
}
int count = checkService.checkHasRecord(requestParam);
if (count < 1 || requestParam.getPlanTaskId() < 1) {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
String departmentId = getDepartmentId(reginParams);
requestParam.setOrgCode(orgCode);
requestParam.setUserId(getUserId());
requestParam.setCheckDepartmentId(departmentId);
CheckDto checkDto = checkService.saveCheckRecord(requestParam, getUserInfo(), reginParams.getDepartment(), token);
if (StringUtil.isNotEmpty(checkDto)) {
asyncTaskf(checkDto.getCheckId());
}
is.pointCheckInfoPushToB(checkDto.getCheckId());
//数字换流站页面刷新
try {
webMqttComponent.publish(patrolTopic, "");
} catch (Exception e) {
log.error("数字换流站页面推送失败-----------" + e.getMessage());
}
return CommonResponseUtil.success(checkDto);
} else {
return CommonResponseUtil.success("无需重新巡检");
}
} catch (Exception e) {
e.printStackTrace();
// TODO Auto-generated catch block
log.error(e.getMessage());
return CommonResponseUtil.failure("数据提交失败");
}
}
@Async
public void asyncTaskf(Long id) {
......@@ -645,4 +574,20 @@ public class CheckController extends AbstractBaseController {
return ResponseHelper.buildResponse(checkService.getPlanExecuteTeams());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "保存检查记录", notes = "保存检查记录")
@RequestMapping(value = "/saveRecord", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public ResponseModel saveSupervisionCheckRecord( @ApiParam(value = "检查信息", required = false) @RequestBody(required = true) CheckRecordParam requestParam) {
try {
ReginParams reginParams = getSelectedOrgInfo();
String orgCode = getOrgCode(reginParams);
requestParam.setOrgCode(orgCode);
CheckDto checkDto = checkService.saveCheckRecord(requestParam, reginParams);
return ResponseHelper.buildResponse(checkDto);
} catch (Exception e) {
log.error(e.getMessage(), e);
return ResponseHelper.buildResponse(e.getMessage());
}
}
}
......@@ -283,4 +283,6 @@ public interface CheckMapper extends BaseMapper {
List<Map<String, Object>> getPlanExecuteTeams();
int checkHasRecord(@Param(value = "planTaskId") Long planTaskId, @Param(value = "pointId") Long pointId);
}
......@@ -6,7 +6,9 @@ import org.apache.ibatis.annotations.Param;
public interface PlanTaskDetailMapper extends BaseMapper {
void finishTaskDetail(@Param(value="planTaskDetailId") long planTaskDetailId, @Param(value="pointId") long pointId, @Param(value="planTaskId") long planTaskId
, @Param(value="executorId") String executorId);
, @Param(value="executorId") String executorId , @Param(value="executorName") String executorName);
Map findPlanTaskByTaskIdAndPointId(@Param(value="planTaskId") long planTaskId,@Param(value="pointId") long pointId);
int findPlanTaskDetailByTaskId( @Param(value="planTaskId") long planTaskId);
}
package com.yeejoin.amos.supervision.business.param;
import com.yeejoin.amos.supervision.dao.entity.CheckShot;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class CheckInputParam {
private long inputItemId;
private String inputValue;
private String selectName;
private boolean isCheck;
private String remark;
private Long classifyIds;
private Long routePointItemId;
private List<String> checkInputImg;
public List<String> getCheckInputImg() {
return checkInputImg;
}
public void setCheckInputImg(List<String> checkInputImg) {
this.checkInputImg = checkInputImg;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public long getInputItemId() {
return inputItemId;
}
public void setInputItemId(long inputItemId) {
this.inputItemId = inputItemId;
}
public String getInputValue() {
return inputValue;
}
public void setInputValue(String inputValue) {
this.inputValue = inputValue;
}
public String getSelectName() {
return selectName;
}
public void setSelectName(String selectName) {
this.selectName = selectName;
}
public boolean getIsCheck() {
return isCheck;
}
public void setIsCheck(boolean isCheck) {
this.isCheck = isCheck;
}
public Long getClassifyIds() {
return classifyIds;
}
public void setClassifyIds(Long classifyIds) {
this.classifyIds = classifyIds;
}
public Long getRoutePointItemId() {
return routePointItemId;
}
public void setRoutePointItemId(Long routePointItemId) {
this.routePointItemId = routePointItemId;
}
private String userId;
private String userName;
private String depId;
private String depName;
private List<CheckShot> checkInputShot = new ArrayList<>();
}
package com.yeejoin.amos.supervision.business.param;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class CheckRecordParam {
@ApiModelProperty(value = "任务id",required = true)
private Long planTaskId;
private Long pointId;
private String pointName;
private Long checkId;
private String remark;
private String userId;
private String orgCode;
private String checkDepartmentId;
private List<String> checkRecordImg;
/**
* 检查项分类
*/
private Long classId;
/**
* 路线id
*/
private Long routeId;
/**
* 检查时间
*/
private String checkTime;
private String checkMode;
/**
* 是否离线提交
*/
private Boolean isOffline = false;
private List<CheckInputParam> checkItems;
public Long getPointId() {
return pointId;
}
public void setPointId(Long pointId) {
this.pointId = pointId;
}
public Long getCheckId() {
return checkId;
}
public void setCheckId(Long checkId) {
this.checkId = checkId;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public List<CheckInputParam> getCheckItems() {
return checkItems;
}
public void setCheckItems(List<CheckInputParam> checkItems) {
this.checkItems = checkItems;
}
public Long getPlanTaskId() {
return planTaskId;
}
public void setPlanTaskId(Long planTaskId) {
this.planTaskId = planTaskId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public String getCheckTime() {
return checkTime;
}
public String getCheckMode() {
return checkMode;
}
public void setCheckTime(String checkTime) {
this.checkTime = checkTime;
}
public Long getRouteId() {
return routeId;
}
public void setRouteId(Long routeId) {
this.routeId = routeId;
}
public String getPointName() {
return pointName;
}
public void setPointName(String pointName) {
this.pointName = pointName;
}
public void setCheckMode(String checkMode) {
this.checkMode = checkMode;
}
public Long getClassId() {
return classId;
}
public void setClassId(Long classId) {
this.classId = classId;
}
public Boolean getIsOffline() {
return isOffline;
}
@ApiModelProperty(value = "点id",required = true)
private Long pointId;
public void setIsOffline(Boolean isOffline) {
this.isOffline = isOffline;
}
@ApiModelProperty(value = "组织机构")
private String orgCode;
public String getCheckDepartmentId() {
return checkDepartmentId;
}
@ApiModelProperty(value = "备注")
private String remark;
public void setCheckDepartmentId(String checkDepartmentId) {
this.checkDepartmentId = checkDepartmentId;
}
@ApiModelProperty(value = "路线id")
private Long routeId;
public List<String> getCheckRecordImg() {
return checkRecordImg;
}
@ApiModelProperty(value = "检查时间")
private String checkTime;
public void setCheckRecordImg(List<String> checkRecordImg) {
this.checkRecordImg = checkRecordImg;
}
/**
* 检查项
*/
@ApiModelProperty(value = "检查项",required = true)
private List<CheckInputParam> checkItems = new ArrayList<>();
}
......@@ -62,6 +62,12 @@ public class PlanInfoPageParam extends CommonPageable {
*/
private String leadPerson;
/**
* 计划执行状态
* @return
*/
private int finishStatus;
public String getOwnerId() {
return ownerId;
}
......@@ -141,4 +147,12 @@ public class PlanInfoPageParam extends CommonPageable {
public void setLeadPerson(String leadPerson) {
this.leadPerson = leadPerson;
}
public int getFinishStatus() {
return finishStatus;
}
public void setFinishStatus(int finishStatus) {
this.finishStatus = finishStatus;
}
}
......@@ -36,15 +36,13 @@ import com.yeejoin.amos.supervision.core.common.response.AppCheckInputRespone;
import com.yeejoin.amos.supervision.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.supervision.core.util.DateUtil;
import com.yeejoin.amos.supervision.core.util.StringUtil;
import com.yeejoin.amos.supervision.dao.entity.Check;
import com.yeejoin.amos.supervision.dao.entity.Plan;
import com.yeejoin.amos.supervision.dao.entity.PlanTask;
import com.yeejoin.amos.supervision.dao.entity.PlanTaskDetail;
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.supervision.quartz.IJobService;
import org.apache.commons.collections.CollectionUtils;
import org.assertj.core.util.Lists;
import org.checkerframework.checker.units.qual.A;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -96,6 +94,9 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
@Autowired
private EquipFeign equipFeign;
@Autowired
private IPointInputItemDao pointInputItemDao;
@Override
public Page<HashMap<String, Object>> getPlanTaskInfo(PlanTaskPageParam params) {
long total = planTaskMapper.countPlanTask(params);
......@@ -510,6 +511,11 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
planTaskDetailInstance.setIsFinish(Integer.parseInt(XJConstant.PLAN_TASK_DET_FINISH_YES));
planTaskDetailInstance.setStatus("1");
}
// 查询点下检查项的个数
List<PointInputItem> pointInputItemByPointId = pointInputItemDao.getPointInputItemByPointId(pointId.longValue());
planTaskDetailInstance.setItemNum(pointInputItemByPointId.size());
// 2.保存执行数据明细表
planTaskDetail.saveAndFlush(planTaskDetailInstance);
}
......
......@@ -4,6 +4,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.supervision.business.vo.CheckAnalysisVo;
import com.yeejoin.amos.supervision.business.vo.CheckInfoVo;
import com.yeejoin.amos.supervision.core.common.request.CommonPageable;
......@@ -46,7 +47,7 @@ public interface ICheckService {
void saveCheckImg(List<CheckShot> imgList);
CheckDto saveCheckRecord(CheckRecordParam requestParam, AgencyUserModel user, DepartmentBo departmentModel, Toke token);
// CheckDto saveCheckRecord(CheckRecordParam requestParam, AgencyUserModel user, DepartmentBo departmentModel, Toke token);
/**
* 巡检记录删除
......@@ -64,15 +65,6 @@ public interface ICheckService {
*/
List<Map> queryUnqualifiedInputItem(int checkId);
/**
* 检查该店时候已经巡检完成
*
* @param requestParam
* @return
*/
int checkHasRecord(CheckRecordParam requestParam);
AppPointCheckRespone queryCheckPointDetail(String toke,String product,String appKey,long checkId);
AppPointCheckRespone queryCheckPointDetailInVersion2(String toke,String product,String appKey,long checkId);
......@@ -278,4 +270,20 @@ public interface ICheckService {
List<Map<String, String>> getPlanExecuteStates();
List<Map<String, Object>> getPlanExecuteTeams();
/**
* 保存检查记录
* @param recordParam 填写记录
* @param reginParams 权限信息
* @return CheckDto
*/
CheckDto saveCheckRecord(CheckRecordParam recordParam, ReginParams reginParams) throws Exception;
/**
* 校验是否已经填写过
* @param planTaskId
* @param pointId
* @return
*/
int checkHasRecord(Long planTaskId, Long pointId);
}
......@@ -17,8 +17,6 @@ public class CheckParamUtil {
if("checkTime".equals(name)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
param.setCheckTime(daoCriterias.get(i).getValue().toString());
}else if("userId".equals(name)){
param.setUserId(daoCriterias.get(i).getValue().toString());
}else if("routeId".equals(name)){
param.setRouteId(Long.valueOf(daoCriterias.get(i).getValue().toString()));
}else if("orgCode".equals(name) && operator.equals(QueryOperatorEnum.EQUAL.getName())){
......
......@@ -250,16 +250,16 @@
order by pci.order_no
</select>
<select id="checkHasRecord" resultType="int">
SELECT
count(1) num
FROM
p_check c
WHERE
is_ok in (1,2)
and c.point_id = #{pointId}
and c.plan_task_id = #{planTaskId}
</select>
<!-- <select id="checkHasRecord" resultType="int">-->
<!-- SELECT-->
<!-- count(1) num-->
<!-- FROM-->
<!-- p_check c-->
<!-- WHERE-->
<!-- is_ok in (1,2)-->
<!-- and c.point_id = #{pointId}-->
<!-- and c.plan_task_id = #{planTaskId}-->
<!-- </select>-->
<select id="pieChartData" resultType="Map">
SELECT
......@@ -1956,4 +1956,15 @@
FROM
p_check pc
</select>
<select id="checkHasRecord" resultType="int">
SELECT
count(1) num
FROM
p_check c
WHERE
c.point_id = #{pointId}
and c.plan_task_id = #{planTaskId}
</select>
</mapper>
\ No newline at end of file
......@@ -3,7 +3,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.PlanTaskDetailMapper">
<update id="finishTaskDetail">
call updatePlanTask(#{planTaskId}, #{pointId}, #{planTaskDetailId} ,#{executorId})
call updatePlanTask(#{planTaskId}, #{pointId}, #{planTaskDetailId} ,#{executorId},#{executorName})
</update>
<select id="findPlanTaskByTaskIdAndPointId" resultType="Map">
......
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