Commit 53f3476d authored by kongfm's avatar kongfm

Merge remote-tracking branch 'origin/developer' into developer

parents 2d7f8cfa aad350c9
...@@ -9,7 +9,7 @@ public interface IWorkflowExcuteService{ ...@@ -9,7 +9,7 @@ public interface IWorkflowExcuteService{
* @param key 流程定义的key * @param key 流程定义的key
* @param condition 执行控制条件 * @param condition 执行控制条件
*/ */
void startAndComplete(String key,String condition)throws Exception; String startAndComplete(String key,String condition)throws Exception;
/** /**
* 检查当前登录人有没有流程操作权限 * 检查当前登录人有没有流程操作权限
......
...@@ -24,10 +24,10 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService { ...@@ -24,10 +24,10 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService {
@Transactional @Transactional
@Override @Override
public void startAndComplete(String key, String condition) throws Exception { public String startAndComplete(String key, String condition) throws Exception {
JSONObject body = new JSONObject(); JSONObject body = new JSONObject();
String businessKey = buildOrderNo(); String businessKey = buildOrderNo();
body.put("businessKey", businessKey); body.put("businessKey", businessKey);
body.put("processDefinitionKey", key); body.put("processDefinitionKey", key);
JSONObject jsonObject = workflowFeignService.startByVariable(body); JSONObject jsonObject = workflowFeignService.startByVariable(body);
if (jsonObject == null || jsonObject.getJSONObject("data") == null) { if (jsonObject == null || jsonObject.getJSONObject("data") == null) {
...@@ -39,6 +39,7 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService { ...@@ -39,6 +39,7 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService {
throw new RuntimeException("初始执行任务失败"); throw new RuntimeException("初始执行任务失败");
} }
} }
return jsonObject.getJSONObject("data").getString("id");
} }
@Override @Override
...@@ -105,15 +106,20 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService { ...@@ -105,15 +106,20 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService {
@Override @Override
public Object setTaskAssign(String processInstanceId, String userId) { public Object setTaskAssign(String processInstanceId, String userId) {
JSONObject teskObject = workflowFeignService.getTaskList(processInstanceId); JSONObject teskObject = workflowFeignService.getTaskList(processInstanceId);
if (ObjectUtils.isNotEmpty(teskObject)) { if (ObjectUtils.isEmpty(teskObject)) {
JSONArray taskDetailArray = teskObject.getJSONArray("data"); throw new RuntimeException("设置任务执行人失败, 任务不存在,请检查processInstanceId" + processInstanceId + "是否正确");
for (Object obj : taskDetailArray) { }
JSONObject detail = JSONObject.parseObject(JSONObject.toJSONString(obj)); JSONArray taskDetailArray = teskObject.getJSONArray("data");
try { for (Object obj : taskDetailArray) {
JSONObject detail = JSONObject.parseObject(JSONObject.toJSONString(obj));
JSONObject taskGroupNameObject = workflowFeignService.getTaskGroupName(detail.getString("id"));
try {
if (taskGroupNameObject.getJSONArray("data") == null
&& taskGroupNameObject.getJSONArray("data").size() < 1) {
workflowFeignService.setTaskUser(detail.getString("id"), userId); workflowFeignService.setTaskUser(detail.getString("id"), userId);
} catch (Exception e) {
throw new RuntimeException("设置任务执行人失败");
} }
} catch (Exception e) {
throw new RuntimeException("设置任务执行人失败");
} }
} }
return true; return true;
...@@ -135,14 +141,15 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService { ...@@ -135,14 +141,15 @@ public class WorkflowExcuteServiceImpl implements IWorkflowExcuteService {
} }
return true; return true;
} }
public static String buildOrderNo() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static String buildOrderNo() {
String newDate = sdf.format(new Date()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String result = ""; String newDate = sdf.format(new Date());
Random random = new Random(); String result = "";
for (int i = 0; i < 3; i++) { Random random = new Random();
result += random.nextInt(10); for (int i = 0; i < 3; i++) {
} result += random.nextInt(10);
return newDate + result; }
} return newDate + result;
}
} }
package com.yeejoin.amos.boot.module.common.api.dto;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="FirefightersJacketDto", description="消防人员配装记录")
public class FirestationJacketDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "消防队员")
private Long firefightersId;
@ApiModelProperty(value = "装备id")
private Long equipmentDetailId;
@ApiModelProperty(value = "装备数量")
private Double amount;
@ApiModelProperty(value = "装备计量单位")
private String unit;
@ApiModelProperty(value = "装备名称")
private String equipmentDetailName;
@ApiModelProperty(value = "装备分类名称")
private String equipmentTypeName;
@ApiModelProperty(value = "配发日期")
private Date allotmentTime;
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@ApiModelProperty(value = "操作人名称")
private String recUserName;
}
package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("jc_firestation_jacket")
@ApiModel(value="FirestationJacket", description="微型消防站配装记录")
public class FirestationJacket extends BaseEntity {
/**
*
*/
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "消防队员")
private Long firefightersId;
@ApiModelProperty(value = "装备id")
private Long equipmentDetailId;
@ApiModelProperty(value = "装备数量")
private Double amount;
@ApiModelProperty(value = "装备计量单位")
private String unit;
@ApiModelProperty(value = "装备库存明细id")
private Long stockDetailId;
@ApiModelProperty(value = "装备名称")
private String equipmentDetailName;
@ApiModelProperty(value = "装备分类名称")
private String equipmentTypeName;
@ApiModelProperty(value = "配发日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@TableField(fill=FieldFill.INSERT_UPDATE)
private Date allotmentTime;
@ApiModelProperty(value = "更新时间")
@TableField(fill=FieldFill.UPDATE)
private Date updateTime;
}
package com.yeejoin.amos.boot.module.common.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
/**
* 消防人员配装记录 Mapper 接口
*
* @author tb
* @date 2021-06-07
*/
public interface FirestationJacketMapper extends BaseMapper<FirestationJacket> {
}
...@@ -31,6 +31,8 @@ public class EquipSpecificDto extends BaseEntity { ...@@ -31,6 +31,8 @@ public class EquipSpecificDto extends BaseEntity {
* 队伍ID * 队伍ID
*/ */
private Long teamId; private Long teamId;
//单位id
private Long agencyId;
/** /**
* 分页 * 分页
*/ */
......
package com.yeejoin.amos.boot.module.jcs.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
/**
* 消防人员配装记录 服务类
*
* @author tb
* @date 2021-06-07
*/
public interface IFirestationJacketService {
ResponseModel<Page<Object>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size);
boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos);
boolean update(String type, FirestationJacket firestationJacket);
ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId);
}
...@@ -2,6 +2,9 @@ package com.yeejoin.amos.supervision.core.common.dto; ...@@ -2,6 +2,9 @@ package com.yeejoin.amos.supervision.core.common.dto;
import lombok.Data; import lombok.Data;
import java.util.Date;
import java.util.List;
/** /**
* @author xixinzhao * @author xixinzhao
*/ */
...@@ -9,9 +12,19 @@ import lombok.Data; ...@@ -9,9 +12,19 @@ import lombok.Data;
public class DangerDto { public class DangerDto {
/** /**
* 隐患id
*/
private Long id;
/**
* 隐患名称
*/
private String name;
/**
* 检查项记录id * 检查项记录id
*/ */
private Long checkInputId; private Long bizId;
/** /**
* 隐患级别 * 隐患级别
...@@ -19,24 +32,113 @@ public class DangerDto { ...@@ -19,24 +32,113 @@ public class DangerDto {
private String dangerLevel; private String dangerLevel;
/** /**
* 隐患id * 隐患等级名称
*/ */
private Long dangerId; private String dangerLevelName;
/** /**
* 隐患名称 * 状态
*/ */
private String name; private String dangerState;
/**
* 是否删除
* 0:未删除 1:已删除
*/
private Boolean deleted;
/**
* 治理方式
*/
private String governWay;
/**
* 业务类型(不同业务创建的隐患以此区分:巡检隐患、防火监督隐患、其他隐患。。。)
*/
private String bizType;
/**
* 整改期限
*/
private Date reformLimitDate;
/**
* 问题描述
*/
private String remark;
/**
* 检查类型:1-自行检查 ;2计划检查
*/
private String checkMode;
/**
* 隐患图片列表
*/
private List<String> photoUrl;
/**
* 检查项名称
*/
private String inputItemName;
/**
* 检查时间
*/
private String checkTime;
/**
* 2470 49 2052
* 检查人员名称
*/
private String checkUserName;
/**
* 责任单位
*/
private String pointName;
/** /**
* 状态 * 状态
*/ */
private Long state; private String dangerStateName;
/** /**
* 是否删除 * 建筑id
* 0:未删除 1:已删除
*/ */
private String deleted; private Long structureId;
/**
* 建筑名称
*/
private String structureName;
/**
* 经度
*/
private String longitude;
/**
* 纬度
*/
private String latitude;
/**
* 隐患地址
*/
private String dangerPosition;
/**
* 治理方式
*/
private String reformType;
/**
* 治理方式名称
*/
private String reformTypeName;
} }
package com.yeejoin.amos.supervision.dao.entity; package com.yeejoin.amos.supervision.dao.entity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.Date;
/** /**
* @author xixinzhao * @author xixinzhao
*/ */
@EqualsAndHashCode(callSuper = true)
@Data @Data
@Entity @Entity
@Table(name="p_hidden_danger") @Table(name = "p_hidden_danger")
public class HiddenDanger extends BasicEntity { public class HiddenDanger extends BasicEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* 隐患id * 隐患id
*/ */
@Column(name="latent_danger_id") @Column(name = "latent_danger_id")
private Long latentDangerId; private Long latentDangerId;
/** /**
* 检查记录id * 检查记录id
*/ */
@Column(name="check_id") @Column(name = "check_id")
private Long checkId; private Long checkId;
/** /**
* 检查项记录id * 检查项记录id
*/ */
@Column(name="check_input_id") @Column(name = "check_input_id")
private Long checkInputId; private Long checkInputId;
/** /**
* 计划id * 计划id
*/ */
@Column(name="plan_id") @Column(name = "plan_id")
private Long planId; private Long planId;
/** /**
* 点id * 点id
*/ */
@Column(name="point_id") @Column(name = "point_id")
private Long pointId; private Long pointId;
/** /**
* 隐患类型(1-防火监督检查;2-自行检查) * 隐患类型(1-防火监督检查;2-自行检查)
*/ */
@Column(name="danger_type") @Column(name = "danger_type")
private Long dangerType; private String dangerType;
/** /**
* 隐患类型名称 * 隐患类型名称
*/ */
@Column(name="danger_type_name") @Column(name = "danger_type_name")
private Long dangerTypeName; private String dangerTypeName;
/**
* 创建者
*/
private String createBy;
/**
* 更新日期
*/
private Date updateDate;
} }
package com.yeejoin.amos.boot.module.jcs.biz.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.utils.NameUtils;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.biz.service.impl.FirestationJacketServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 消防人员配装记录
*
* @author tb
* @date 2021-06-07
*/
@RestController
@Api(tags = "消防人员配装记录Api")
@RequestMapping(value = "/firestation-jacket")
public class FirestationJacketController extends BaseController {
@Autowired
FirestationJacketServiceImpl iFirestationJacketService;
/**
* 新增消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/save/{firestationId}", method = RequestMethod.POST)
@ApiOperation(httpMethod = "POST", value = "新增消防人员配装记录", notes = "新增消防人员配装记录")
@Transactional
public ResponseModel<Object> saveFirestationJacket(@ApiParam(value = "消防队员ID", required = true) @PathVariable Long firestationId, @RequestBody List<EquipmentOnCarDto> equipmentOnCarDtos) {
boolean flag = iFirestationJacketService.saveOrUpdateBatch(firestationId, equipmentOnCarDtos);
if (!flag) {
throw new BadRequest("保存失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 删除数据(退装|回库)
*
* @param
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{type}", method = RequestMethod.DELETE)
@ApiOperation(httpMethod = "DELETE", value = "删除数据", notes = "删除数据")
public ResponseModel<Object> deleteById(@PathVariable String type, @RequestBody FirestationJacket firestationJacket) {
boolean flag = iFirestationJacketService.update(type, firestationJacket);
if (!flag) {
throw new BadRequest("删除失败.");
}
return ResponseHelper.buildResponse(null);
}
/**
* 修改消防人员配装记录
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/updateById", method = RequestMethod.PUT)
@ApiOperation(httpMethod = "PUT", value = "修改消防人员配装记录", notes = "修改消防人员配装记录")
public ResponseModel<FirestationJacket> updateByIdFirestationJacket(HttpServletRequest request,
@RequestBody FirestationJacket firestationJacket) {
iFirestationJacketService.updateById(firestationJacket);
return ResponseHelper.buildResponse(firestationJacket);
}
/**
* 根据id查询
*
* @param id
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "根据id查询", notes = "根据id查询")
public ResponseModel<FirestationJacket> selectById(HttpServletRequest request, @PathVariable Long id) {
QueryWrapper<FirestationJacket> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("firestation_id", id);
FirestationJacket firestationJacket = iFirestationJacketService.getOne(queryWrapper);
return ResponseHelper.buildResponse(firestationJacket);
}
/**
* 列表分页查询
*
* @return
*/
@TycloudOperation(needAuth = true, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<IPage<FirestationJacket>> listPage(String pageNum, String pageSize, FirestationJacket firestationJacket) {
Page<FirestationJacket> pageBean;
QueryWrapper<FirestationJacket> firestationJacketQueryWrapper = new QueryWrapper<>();
firestationJacketQueryWrapper.eq("is_delete", 0);
Class<? extends FirestationJacket> aClass = firestationJacket.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(firestationJacket);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
if("EQUIPMENT_DETAIL_NAME".equals(name)){
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.like(name, fileValue);
}else {
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
}
} else if (type.equals(Date.class)) {
Date fileValue = (Date) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
} else {
if(!name.equals(NameUtils.camel2Underline("serialVersionUID"))) {
String fileValue = (String) field.get(firestationJacket);
firestationJacketQueryWrapper.eq(name, fileValue);
}
}
}
} catch (Exception e) {
throw new RuntimeException("系统异常");
}
});
IPage<FirestationJacket> page;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
page = iFirestationJacketService.page(pageBean, firestationJacketQueryWrapper);
return ResponseHelper.buildResponse(page);
}
/**
* 分页查询设备列表(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备列表")
@RequestMapping(value = "/airEquipSpecificPage", method = RequestMethod.GET)
public ResponseModel<Page<Object>> getAirEquipSpecificPage(int current, int size,
EquipSpecificDto equipSpecificDto) throws Exception {
return iFirestationJacketService.getAirEquipSpecificPage(equipSpecificDto, current, size);
}
/**
* 查询设备详情(调用装备接口)
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "人员装备详情")
@RequestMapping(value = "/getEquipByStockDetailId/{stockDetailId}", method = RequestMethod.GET)
public ResponseModel<Object> getEquipByStockDetailId(@PathVariable Long stockDetailId) throws Exception {
return iFirestationJacketService.getEquipByStockDetailId(stockDetailId);
}
}
package com.yeejoin.amos.boot.module.jcs.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersJacketDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirestationJacketDto;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersJacket;
import com.yeejoin.amos.boot.module.common.api.entity.FirestationJacket;
import com.yeejoin.amos.boot.module.common.api.feign.EquipFeignClient;
import com.yeejoin.amos.boot.module.common.api.mapper.FirefightersJacketMapper;
import com.yeejoin.amos.boot.module.common.api.mapper.FirestationJacketMapper;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipSpecificDto;
import com.yeejoin.amos.boot.module.jcs.api.dto.EquipmentOnCarDto;
import com.yeejoin.amos.boot.module.jcs.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirefightersJacketService;
import com.yeejoin.amos.boot.module.jcs.api.service.IFirestationJacketService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 消防人员配装记录 服务实现类
*
* @author tb
* @date 2021-06-07
*/
@Service
public class FirestationJacketServiceImpl extends BaseService<FirestationJacketDto, FirestationJacket, FirestationJacketMapper> implements IFirestationJacketService {
@Autowired
private EquipFeignClient equipFeignClient;
@Override
public ResponseModel<Page<Object>> getAirEquipSpecificPage(EquipSpecificDto equipSpecificDto, int current, int size) {
Page page = new Page(current, size);
equipSpecificDto.setPage(page);
ResponseModel<Page<Object>> airEquipSpecificPage = equipFeignClient.getAirEquipSpecificPage(equipSpecificDto);
return airEquipSpecificPage;
}
@Override
public boolean saveOrUpdateBatch(Long firefightersId, List<EquipmentOnCarDto> equipmentOnCarDtos) {
List<Long> ids = equipmentOnCarDtos.stream().map(EquipmentOnCarDto::getStockDetailId).collect(Collectors.toList());
List<Object> result = equipFeignClient.stockBindEquip(ids).getResult();
if (result.size() > 0) {
List<FirestationJacket> firefightersJackets = new ArrayList<>();
equipmentOnCarDtos.forEach(x -> {
FirestationJacket firefightersJacket = new FirestationJacket();
BeanUtils.copyProperties(x, firefightersJacket);
firefightersJacket.setEquipmentDetailId(x.getEquipmentSpecificId());
firefightersJacket.setEquipmentDetailName(x.getEquipmentSpecificName());
firefightersJacket.setEquipmentTypeName(x.getEquipDefinitionName());
firefightersJacket.setAllotmentTime(DateUtils.getDateNow());
firefightersJacket.setFirefightersId(firefightersId);
firefightersJackets.add(firefightersJacket);
});
saveOrUpdateBatch(firefightersJackets);
return true;
}
return false;
}
@Override
public boolean update(String type, FirestationJacket firestationJacket) {
ResponseModel<Object> objectResponseModel = null;
if (EquipTypeEnum.退装.getKey().equals(type)) {
objectResponseModel = equipFeignClient.scrapEquip(String.valueOf(firestationJacket.getStockDetailId()));
} else if (EquipTypeEnum.回库.getKey().equals(type)) {
Map<String, Object> map = new HashMap<>();
map.put("stockDetailId", firestationJacket.getStockDetailId());
objectResponseModel = equipFeignClient.stockEquip(map);
}
if (ValidationUtil.isEmpty(objectResponseModel)){
return false;
}
update(new UpdateWrapper<FirestationJacket>().eq("sequence_nbr", firestationJacket.getSequenceNbr()).set("is_delete", 1));
return true;
}
@Override
public ResponseModel<Object> getEquipByStockDetailId(Long stockDetailId) {
return equipFeignClient.getAirEquipSpecificDetail(stockDetailId);
}
}
package com.yeejoin.amos.supervision.business.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService;
import com.yeejoin.amos.supervision.business.util.FileHelper;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
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 java.util.List;
/**
* @author DELL
*/
@Slf4j
@RestController
@Api(tags = "隐患api")
@RequestMapping(value = "api/hidden/danger")
public class HiddenDangerController extends AbstractBaseController {
@Autowired
IHiddenDangerService iHiddenDangerService;
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "分页查询", notes = "分页查询")
@PostMapping(value = "/{planId}/page-list")
public ResponseModel pageList(
@PathVariable String planId,
@RequestParam(value = "pointId", required = false) Long pointId,
@RequestParam(value = "level", required = false) String level,
@RequestParam(value = "status", required = false) String status,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page page = new Page<DangerDto>(current, size);
IPage<DangerDto> dtoList = iHiddenDangerService.pageList(page, planId, pointId, level, status);
return ResponseHelper.buildResponse(dtoList);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "查询隐患详情", notes = "查询隐患详情")
@GetMapping("/{latentDangerId}")
public ResponseModel getOne(@PathVariable Long latentDangerId) {
DangerDto dangerDto = iHiddenDangerService.getOne(latentDangerId);
return ResponseHelper.buildResponse(dangerDto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "更新隐患", notes = "更新隐患")
@PutMapping(value = "/{latentDangerId}")
public ResponseModel updateDanger(
@RequestBody DangerDto dangerDto,
@PathVariable Long latentDangerId) {
dangerDto = iHiddenDangerService.updateDanger(latentDangerId, dangerDto);
return ResponseHelper.buildResponse(dangerDto);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导入隐患", notes = "导入隐患")
@RequestMapping(value = "/import", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public ResponseModel importDanger(
@RequestParam(value = "planId") Long planId,
@RequestParam(value = "pointId") Long pointId,
@ApiParam(value = "导入数据文件", required = true) @RequestBody MultipartFile file) {
String fileName = file.getOriginalFilename();
assert fileName != null;
if (!fileName.endsWith(".xls")) {
throw new RuntimeException("文件格式不正确");
}
List<HiddenDangerImportDto> list = FileHelper.importExcel(file, 0, 1, HiddenDangerImportDto.class);
iHiddenDangerService.importDanger(planId, pointId, list);
return ResponseHelper.buildResponse("导入成功");
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "导出指定计划的隐患", notes = "导出指定计划的隐患")
@PostMapping(value = "{planId}/export")
public void exportDangerList(
@PathVariable String planId,
@RequestParam(value = "pointId", required = false) Long pointId,
@RequestParam(value = "level", required = false) String level,
@RequestParam(value = "status", required = false) String status,
HttpServletResponse response) {
List<HiddenDangerExportDto> dtoList = iHiddenDangerService.listAll(planId, pointId, level, status);
String fileName = "隐患问题清单" + System.currentTimeMillis();
FileHelper.exportExcel(dtoList, "隐患问题清单", "隐患问题清单", HiddenDangerExportDto.class, fileName + ".xls", response);
}
}
package com.yeejoin.amos.supervision.business.dao.mapper; package com.yeejoin.amos.supervision.business.dao.mapper;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.apache.ibatis.annotations.Param;
import sun.awt.SunHints;
import java.util.List;
/** /**
* @author DELL * @author DELL
*/ */
public interface HiddenDangerMapper extends BaseMapper { public interface HiddenDangerMapper extends BaseMapper {
/**
* 隐患业务关系表
* @param planId 计划id
* @param pointId 点id
* @return List<HiddenDanger>
*/
List<HiddenDangerDto> listByCondition(@Param(value = "planId") String planId, @Param(value = "pointId") Long pointId);
} }
package com.yeejoin.amos.supervision.business.dao.repository;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.springframework.stereotype.Repository;
@Repository("iHiddenDangerDao")
public interface IHiddenDangerDao extends BaseDao<HiddenDanger, Long> {
/**
* 按照唯一索引查询
*
* @param latentDangerId 隐患模块id
* @return HiddenDanger
*/
HiddenDanger findByLatentDangerId(Long latentDangerId);
}
package com.yeejoin.amos.supervision.business.dto;
import lombok.Data;
import java.util.Date;
/**
* @author DELL
*/
@Data
public class HiddenDangerDto {
private Long id;
/**
* 隐患id
*/
private Long latentDangerId;
/**
* 检查记录id
*/
private Long checkId;
/**
* 检查项记录id
*/
private Long checkInputId;
/**
* 计划id
*/
private Long planId;
/**
* 点id
*/
private Long pointId;
/**
* 隐患类型(1-防火监督检查;2-自行检查)
*/
private String dangerType;
/**
* 隐患类型名称
*/
private String dangerTypeName;
/**
* 创建者
*/
private String createBy;
/**
* 更新日期
*/
private Date updateDate;
/**
* 检查时间
*/
private String checkTime;
/**
* 2470 49 2052
* 检查人员名称
*/
private String checkUserName;
/**
* 责任单位
*/
private String pointName;
/**
* 状态
*/
private String stateName;
/**
* 检查项名称
*/
private String inputItemName;
}
package com.yeejoin.amos.supervision.business.dto;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import java.util.Date;
@Data
public class HiddenDangerExportDto {
/**
* 隐患名称
*/
@Excel(name = "安全隐患", orderNum = "0")
private String name;
/**
* 检查项名称
*/
@Excel(name = "检查项", orderNum = "1")
private String inputItemName;
/**
* 隐患级别
*/
@Excel(name = "隐患级别", orderNum = "2")
private String dangerLevelName;
/**
* 治理方式
*/
@Excel(name = "治理方式", orderNum = "3")
private String governWayName;
/**
* 整改期限
*/
@Excel(name = "整改期限", orderNum = "4")
private Date reformLimitDate;
/**
* 检查时间
*/
@Excel(name = "检查时间", orderNum = "5")
private String checkTime;
/**2470 49 2052
* 检查人员名称
*/
@Excel(name = "检查人员名称", orderNum = "6")
private String checkUserName;
/**
* 责任单位
*/
@Excel(name = "责任单位", orderNum = "7")
private String pointName;
/**
* 状态
*/
@Excel(name = "状态", orderNum = "8")
private String stateName;
/**
* 隐患来源
*/
@Excel(name = "隐患来源", orderNum = "9")
private String dangerTypeName;
}
package com.yeejoin.amos.supervision.business.dto;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class HiddenDangerImportDto {
/**
* 隐患名称
*/
private String name;
/**
* 检查项记录id
*/
private Long bizId;
/**
* 隐患级别
*/
private String dangerLevel;
/**
* 治理方式
*/
private String governWay;
/**
* 业务类型(不同业务创建的隐患以此区分:巡检隐患、防火监督隐患、其他隐患。。。)
*/
private String bizType;
/**
* 整改期限
*/
private Date reformLimitDate;
/**
* 检查类型:1-自行检查 ;2计划检查
*/
private String checkMode;
}
package com.yeejoin.amos.supervision.business.feign;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @author DELL
*/
@FeignClient(value = "API-DANGER-API", path = "danger")
public interface DangerFeignClient {
/**
* 隐患详情
*
* @param sequenceNbr 隐患主键
* @return FeignClientResult
*/
@GetMapping(value = "/{sequenceNbr}/detail")
FeignClientResult<DangerDto> getOne(@PathVariable Long sequenceNbr);
/**
* 隐患的创建或者更新
*
* @param danger 隐患对象数组
* @return FeignClientResult
*/
@PostMapping(value = "/saveOrUpdateBatch")
FeignClientResult<List<DangerDto>> saveOrUpdateBatch(@RequestBody List<DangerDto> danger);
/**
* 隐患分页查询
*
* @param page 分页信息
* @param ids 隐患ids
* @param dangerLevel 隐患级别
* @param dangerState 隐患状态
* @return FeignClientResult
*/
@GetMapping(value = "/page-list")
FeignClientResult<IPage<DangerDto>> pageList(Page page, @RequestParam String ids, @RequestParam(required = false) String dangerLevel, @RequestParam(required = false) String dangerState);
/**
* 查询所有的隐患
*
* @param ids 隐患ids
* @param dangerLevel 隐患级别
* @param dangerState 隐患状态
* @return FeignClientResult
*/
@GetMapping(value = "/list-all")
FeignClientResult<List<DangerDto>> listAll(@RequestParam String ids, @RequestParam(required = false) String dangerLevel, @RequestParam(required = false) String dangerState);
}
package com.yeejoin.amos.supervision.business.service.impl; package com.yeejoin.amos.supervision.business.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper;
import com.yeejoin.amos.supervision.business.dao.repository.IHiddenDangerDao;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.business.feign.DangerFeignClient;
import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService; import com.yeejoin.amos.supervision.business.service.intfc.IHiddenDangerService;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import com.yeejoin.amos.supervision.dao.entity.HiddenDanger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.restful.exception.instance.DataNotFound;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* @author DELL * @author DELL
*/ */
@Service
public class HiddenDangerServiceImpl implements IHiddenDangerService { public class HiddenDangerServiceImpl implements IHiddenDangerService {
@Autowired
DangerFeignClient feignClient;
@Autowired
IHiddenDangerDao iHiddenDangerDao;
@Autowired
HiddenDangerMapper hiddenDangerMapper;
@Value("${spring.application.name}")
private String applicationName;
@Autowired
Sequence sequence;
@Override
public List<HiddenDangerExportDto> listAll(String planId, Long pointId, String level, String status) {
//1.查询指定计划和公司的关联隐患数据
List<HiddenDangerDto> hiddenDangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(hiddenDangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds);
//2.调用隐患模块查询关联隐患的具体数据(业务系统直落关系,具体隐患数据再隐患服务进行储存)
FeignClientResult<List<DangerDto>> daResult = feignClient.listAll(dangerIdsStr, level, status);
List<DangerDto> allData = daResult.getResult();
Map<Long, HiddenDangerDto> keyMap = hiddenDangers.stream().collect(Collectors.toMap(HiddenDangerDto::getLatentDangerId, Function.identity()));
//3.将查询会来的数据与业务数据拼接,进行返回
return allData.stream().map(s -> {
HiddenDangerExportDto exportDto = new HiddenDangerExportDto();
Bean.copyExistPropertis(s, exportDto);
HiddenDangerDto hiddenDangerDto = keyMap.get(s.getId());
exportDto.setCheckTime(hiddenDangerDto != null ? hiddenDangerDto.getCheckTime() : "");
exportDto.setCheckUserName(hiddenDangerDto != null ? hiddenDangerDto.getCheckUserName() : "");
exportDto.setPointName(hiddenDangerDto != null ? hiddenDangerDto.getPointName() : "");
exportDto.setInputItemName(hiddenDangerDto != null ? hiddenDangerDto.getInputItemName() : "");
return exportDto;
}).collect(Collectors.toList());
}
@Override
public DangerDto getOne(Long latentDangerId) {
HiddenDanger hiddenDanger = iHiddenDangerDao.findByLatentDangerId(latentDangerId);
if (hiddenDanger == null) {
throw new DataNotFound("该隐患数据不存在");
}
FeignClientResult<DangerDto> feignClientResult = feignClient.getOne(latentDangerId);
return feignClientResult.getResult();
}
@Override
public DangerDto updateDanger(Long latentDangerId, DangerDto dangerDto) {
HiddenDanger hiddenDanger = iHiddenDangerDao.findByLatentDangerId(latentDangerId);
if (hiddenDanger == null) {
throw new DataNotFound("该隐患数据不存在");
}
FeignClientResult<List<DangerDto>> feignClientResult = feignClient.saveOrUpdateBatch(Collections.singletonList(dangerDto));
List<DangerDto> saveDangers = feignClientResult.getResult();
if (!saveDangers.isEmpty()) {
hiddenDanger.setUpdateDate(new Date());
iHiddenDangerDao.save(hiddenDanger);
return saveDangers.get(0);
} else {
throw new RuntimeException("更新失败");
}
}
@Override
public IPage pageList(Page page, String planId, Long pointId, String level, String status) {
List<HiddenDangerDto> dangers = hiddenDangerMapper.listByCondition(planId, pointId);
List<Long> dangerIds = Lists.transform(dangers, HiddenDangerDto::getLatentDangerId);
String dangerIdsStr = Joiner.on(",").join(dangerIds);
FeignClientResult<IPage<DangerDto>> feignClientResult = feignClient.pageList(page, dangerIdsStr, level, status);
IPage<DangerDto> dangerDtoIPage = feignClientResult.getResult();
Map<Long, HiddenDangerDto> keyMap = dangers.stream().collect(Collectors.toMap(HiddenDangerDto::getLatentDangerId, Function.identity()));
dangerDtoIPage.getRecords().forEach(r -> {
HiddenDangerDto hiddenDangerDto = keyMap.get(r.getId());
r.setCheckTime(hiddenDangerDto != null ? hiddenDangerDto.getCheckTime() : "");
r.setCheckUserName(hiddenDangerDto != null ? hiddenDangerDto.getCheckUserName() : "");
r.setPointName(hiddenDangerDto != null ? hiddenDangerDto.getPointName() : "");
r.setInputItemName(hiddenDangerDto != null ? hiddenDangerDto.getInputItemName() : "");
});
return dangerDtoIPage;
}
@Override
public void importDanger(Long planId, Long pointId, List<HiddenDangerImportDto> list) {
//1.调用创建隐患
List<DangerDto> dtoList = list.stream().map(s -> {
DangerDto dangerDto = new DangerDto();
Bean.copyExistPropertis(s, dangerDto);
dangerDto.setBizType(applicationName);
dangerDto.setBizId(sequence.nextId());
//自行检查
dangerDto.setCheckMode("1");
return dangerDto;
}).collect(Collectors.toList());
FeignClientResult<List<DangerDto>> feignClientResult = feignClient.saveOrUpdateBatch(dtoList);
List<DangerDto> dangerDbs = feignClientResult.getResult();
//2.保存隐患关系表
List<HiddenDanger> hiddenDangers = dangerDbs.stream().map(d -> {
HiddenDanger hiddenDanger = new HiddenDanger();
hiddenDanger.setCreateBy(RequestContext.getExeUserId());
hiddenDanger.setPlanId(planId);
hiddenDanger.setPointId(pointId);
hiddenDanger.setLatentDangerId(d.getId());
hiddenDanger.setCheckInputId(d.getBizId());
hiddenDanger.setDangerType("1");
hiddenDanger.setDangerTypeName("自行检查");
hiddenDanger.setCreateDate(new Date());
return hiddenDanger;
}).collect(Collectors.toList());
iHiddenDangerDao.saveAll(hiddenDangers);
}
} }
package com.yeejoin.amos.supervision.business.service.intfc; package com.yeejoin.amos.supervision.business.service.intfc;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerExportDto;
import com.yeejoin.amos.supervision.business.dto.HiddenDangerImportDto;
import com.yeejoin.amos.supervision.core.common.dto.DangerDto;
import java.util.List;
/** /**
* @author DELL * @author DELL
*/ */
public interface IHiddenDangerService { public interface IHiddenDangerService {
/**
* 重新指定的隐患数据
*
* @param planId 计划id
* @param pointId 点id
* @param level 隐患级别
* @param status 状态
* @return List<HiddenDangerExportDto>
*/
List<HiddenDangerExportDto> listAll(String planId, Long pointId, String level, String status);
/**
* 隐患详情
*
* @param dangerId 隐患id
* @return DangerDto
*/
DangerDto getOne(Long dangerId);
/**
* 隐患更新
*
* @param dangerId 隐患id
* @param dangerDto 隐患对象
* @return DangerDto
*/
DangerDto updateDanger(Long dangerId, DangerDto dangerDto);
/**
* 分页查询
*
* @param page 分页信息
* @param planId 计划id
* @param pointId 点id
* @param level 隐患级别
* @param status 状态
* @return
*/
IPage<DangerDto> pageList(Page page, String planId, Long pointId, String level, String status);
/**
* 导入
* @param planId 计划id
* @param pointId 点id
* @param list 数据
*/
void importDanger(Long planId, Long pointId, List<HiddenDangerImportDto> list);
} }
...@@ -1159,4 +1159,36 @@ ...@@ -1159,4 +1159,36 @@
</changeSet> </changeSet>
<changeSet author="tw" id="2021-09-23-0001">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="jc_firestation_jacket"/>
</not>
</preConditions>
<comment>create table jc_firestation_jacket</comment>
<sql>
CREATE TABLE `jc_firestation_jacket` (
`sequence_nbr` bigint(19) NOT NULL COMMENT 'id',
`firefighters_id` bigint(19) NULL DEFAULT NULL COMMENT '微型消防站id',
`equipment_detail_id` bigint(19) NULL DEFAULT NULL COMMENT '装备id',
`amount` double(10, 0) NULL DEFAULT NULL COMMENT '装备数量',
`unit` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '装备计量单位',
`equipment_detail_name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '装备名称',
`equipment_type_name` varchar(25) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '装备分类名称',
`allotment_time` date NULL DEFAULT NULL COMMENT '配发日期',
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
`rec_user_name` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人名称',
`rec_user_id` varchar(19) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作人员',
`rec_date` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
`is_delete` bit(1) NULL DEFAULT b'0' COMMENT '是否删除',
`stock_detail_id` bigint(19) NULL DEFAULT NULL COMMENT '装备库存明细id',
PRIMARY KEY (`sequence_nbr`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '消防人员配装记录' ROW_FORMAT = Dynamic;
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
...@@ -3,4 +3,19 @@ ...@@ -3,4 +3,19 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper"> <mapper namespace="com.yeejoin.amos.supervision.business.dao.mapper.HiddenDangerMapper">
<select id="listByCondition" resultType="com.yeejoin.amos.supervision.business.dto.HiddenDangerDto">
SELECT
phd.*,
ci.input_name as inputItemName,
ci.user_name as checkUserName,
ci.create_date as checkTime,
c.point_name
FROM `p_hidden_danger` phd
left join p_check_input ci on phd.check_input_id = ci.id
left join p_check c on c.id = phd.check_id
<where>
<if test="planId !=null and planId != ''">and phd.plan_id=#{planId}</if>
<if test="pointId !=null and pointId != ''">and phd.point_id=#{pointId}</if>
</where>
</select>
</mapper> </mapper>
\ No newline at end of file
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