Commit 099be078 authored by tangwei's avatar tangwei

Merge branch 'develop_dl_0410' into develop_dl

parents f060fb4e 328a7cdc
......@@ -12,6 +12,13 @@
<artifactId>amos-boot-module-patrol-api</artifactId>
<dependencies>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
......
package com.yeejoin.amos.patrol.core.common.request;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.net.NetUtil;
import cn.hutool.core.util.IdUtil;
import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.id.IdentifierGenerator;
import org.springframework.beans.factory.annotation.Value;
import javax.annotation.PostConstruct;
import java.io.Serializable;
/**
* @description:
* @author: tw
* @createDate: 2023/4/10
*/
public class MyIdGeneratorConfig implements IdentifierGenerator {
/**
* 终端ID
*/
@Value("${generator.worker_id}")
public long WORKER_ID;
/**
* 数据中心id
*/
@Value("${generator.datacenter_id}")
public long DATACENTER_ID;
private Snowflake snowflake = IdUtil.createSnowflake(WORKER_ID, DATACENTER_ID);
@PostConstruct
public void init() {
WORKER_ID = NetUtil.ipv4ToLong(NetUtil.getLocalhostStr());
}
public synchronized long snowflakeId() {
return snowflake.nextId();
}
public synchronized long snowflakeId(long workerId, long datacenterId) {
Snowflake snowflake = IdUtil.createSnowflake(workerId, datacenterId);
return snowflake.nextId();
}
@Override
public Serializable generate(SharedSessionContractImplementor session, Object object)
throws HibernateException {
return snowflakeId(WORKER_ID, DATACENTER_ID);
}
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.patrol.dao.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.annotations.GenericGenerator;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
......@@ -35,7 +36,11 @@ public class BasicEntity implements Serializable{
private Date createDate;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@GeneratedValue(generator = "myIdGeneratorConfig",
strategy = GenerationType.AUTO)
@GenericGenerator(
name = "myIdGeneratorConfig",
strategy = "com.yeejoin.amos.patrol.core.common.request.MyIdGeneratorConfig")
@Column(name = "ID",nullable=false,unique=true)
public long getId() {
return id;
......
......@@ -18,6 +18,25 @@
<version>${amos-biz-boot.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
<exclusions>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-rule</artifactId>
<exclusions>
......
......@@ -12,6 +12,7 @@ import com.yeejoin.amos.patrol.business.dao.repository.IPointInputItemDao;
import com.yeejoin.amos.patrol.business.dto.InputItemDataDto;
import com.yeejoin.amos.patrol.business.dto.InputItemDataJsonlDto;
import com.yeejoin.amos.patrol.business.dto.InputItemExcelDto;
import com.yeejoin.amos.patrol.business.dto.InputItemExcelVo;
import com.yeejoin.amos.patrol.business.feign.JcsFeignClient;
import com.yeejoin.amos.patrol.business.param.InputItemPageParam;
import com.yeejoin.amos.patrol.business.param.InputItemParam;
......@@ -370,9 +371,9 @@ public class InputItemController extends AbstractBaseController {
@RequestMapping(value = "/exportData", produces = "application/json;charset=UTF-8", method = RequestMethod.GET)
public void exportData(HttpServletResponse response) {
InputItemPageParam criterias = new InputItemPageParam();
List<InputItemExcelDto> content = inputItemMapper.getInputItemInfoExcelNew(criterias);
List<InputItemExcelVo> content = inputItemMapper.getInputItemInfoExcelNew(criterias);
//此处对数据做统一处理 拼接为易读内容
for (InputItemExcelDto inputItemExcelDto : content) {
for (InputItemExcelVo inputItemExcelDto : content) {
String text = "";
if (inputItemExcelDto.getItemType().equals("选择")&& !inputItemExcelDto.getDataJson().equals("[]")) {
List<Map> maps = JSONObject.parseArray(inputItemExcelDto.getDataJson(), Map.class);
......@@ -395,7 +396,7 @@ public class InputItemController extends AbstractBaseController {
}
}
ExcelUtil.createTemplate(response,"检查项","检查项",content,InputItemExcelDto.class,null,true);
ExcelUtil.createTemplate(response,"检查项","检查项",content,InputItemExcelVo.class,null,true);
}
......
package com.yeejoin.amos.patrol.business.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.patrol.business.constants.XJConstant;
......@@ -238,7 +240,13 @@ public class PlanController extends AbstractBaseController {
public CommonResponse queryPointById(@ApiParam(value = "计划id", required = true) @PathVariable(name = "id") Long id) {
Plan plan = planService.queryPlanById(id);
return CommonResponseUtil.success(plan);
String json=plan!=null? JSON.toJSONString(plan):null;
JSONObject obj=json!=null?JSON.parseObject(json):null;
if(obj!=null){
obj.put("id",obj.get("id").toString());
}
return CommonResponseUtil.success(obj);
}
......
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.patrol.business.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.patrol.business.dto.InputItemExcelDto;
import com.yeejoin.amos.patrol.business.dto.InputItemExcelVo;
import com.yeejoin.amos.patrol.business.param.InputItemPageParam;
import com.yeejoin.amos.patrol.business.vo.InputItemVo;
import com.yeejoin.amos.patrol.business.vo.PointInputItemVo;
......@@ -31,7 +32,7 @@ public interface InputItemMapper extends BaseMapper<InputItem> {
public List<InputItemVo> getInputItemInfoNew(InputItemPageParam param);
public List<InputItemExcelDto> getInputItemInfoExcelNew(InputItemPageParam param);
public List<InputItemExcelVo> getInputItemInfoExcelNew(InputItemPageParam param);
Map<Long, Long> getAllCountInfo();
......
......@@ -71,7 +71,7 @@ public class InputItemExcelDto extends BaseDto {
@ExplicitConstraint(indexNum=11,source = {"是","否"})
@ExcelProperty(value = "是否必填", index = 11)
@ApiModelProperty(value = "是否必填")
private String isMust = "0";
private String isMust = "";
@ExplicitConstraint(indexNum=12,source = {"是","否"})
@ExcelProperty(value = "是否评分", index = 12)
......@@ -298,20 +298,27 @@ public class InputItemExcelDto extends BaseDto {
}
public String getKeyPartsType() {
return keyPartsType.equals("是")?"0":"1";
return keyPartsType;
// keyPartsType.equals("是")?"0":"1";
}
public void setKeyPartsType(String keyPartsType) {
this.keyPartsType = StringUtils.isEmpty(keyPartsType) ? "1":keyPartsType;
// this.keyPartsType = StringUtils.isEmpty(keyPartsType) ? "1":keyPartsType;
this.keyPartsType =StringUtils.isNotEmpty(keyPartsType) ? (keyPartsType.equals("是")?"0":"1") :keyPartsType;
}
public String getCustomType() {
return customType.equals("是")?"0":"1";
return customType;
}
public void setCustomType(String customType) {
/* public void setCustomType(String customType) {
this.customType = StringUtils.isEmpty(customType) ? "1":customType;
}*/
public void setCustomType(String customType) {
this.customType =StringUtils.isNotEmpty(customType) ? (customType.equals("是")?"0":"1") :customType;
}
public String getUnit() {
......@@ -347,11 +354,11 @@ public class InputItemExcelDto extends BaseDto {
}
public String getLevel() {
return level == null? null :String.valueOf(PointLevelEnum.getValue(level));
return level ;
}
public void setLevel(String level) {
this.level = level;
this.level = level == null? null :String.valueOf(PointLevelEnum.getValue(level));
}
public long getCatalogId() {
......
package com.yeejoin.amos.patrol.business.dto;
import cn.jiguang.common.utils.StringUtils;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.biz.common.excel.ExplicitConstraint;
import com.yeejoin.amos.patrol.common.enums.PointCheckTypeEnum;
import com.yeejoin.amos.patrol.common.enums.PointLevelEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "InputItemExcelVo", description = "检查项")
@Data
public class InputItemExcelVo extends BaseDto {
@ExcelProperty(value = "编号", index = 0)
@ApiModelProperty(value = "检查项编号")
private String itemNo;
@ExcelProperty(value = "名称", index = 1)
@ApiModelProperty(value = "检查项名称")
private String name;
@ExplicitConstraint(indexNum=2,source = {"选择","数字","文本"})
@ExcelProperty(value = "检查项类型", index = 2)
@ApiModelProperty(value = "检查项类型")
private String itemType;
@ExplicitConstraint(indexNum=3,source = {"一级","二级","三级","四级","五级"})
@ExcelProperty(value = "检查项等级", index = 3)
@ApiModelProperty(value = "检查项等级")
private String level;
@ExcelProperty(value = "检查方法", index = 4)
@ApiModelProperty(value = "检查方法")
private String checkMethod;
@ExcelProperty(value = "评分项(选择)", index = 5)
@ApiModelProperty(value = "评分项")
private String dataJson;
@ExcelProperty(value = "消防装备类型", index = 6)
@ApiModelProperty(value = "消防装备类型")
private String equipmentType;
@ExcelProperty(value = "消防设施类型", index = 7)
@ApiModelProperty(value = "消防设施类型")
private String facilitiesType;
@ExplicitConstraint(indexNum=8,source = {"是","否"})
@ExcelProperty(value = "是否重点类型", index = 8)
@ApiModelProperty(value = "重点类型")
private String keyPartsType = "1";
@ExplicitConstraint(indexNum=9,source = {"是","否"})
@ExcelProperty(value = "是否自定义类型", index = 9)
@ApiModelProperty(value = "自定义类型")
private String customType = "1";
@ExplicitConstraint(indexNum=10,source = {"外观检查","功能测试","环境检查","其他"})
@ExcelProperty(value = "检查类型", index =10)
@ApiModelProperty(value = "检查类型")
private String inputClassify;
@ExcelProperty(value = "拍照项(文本/选择)", index = 14)
@ApiModelProperty(value = "拍照项")
private Object pictureJson;
@ExplicitConstraint(indexNum=11,source = {"是","否"})
@ExcelProperty(value = "是否必填", index = 11)
@ApiModelProperty(value = "是否必填")
private String isMust = "否";
@ExplicitConstraint(indexNum=12,source = {"是","否"})
@ExcelProperty(value = "是否评分", index = 12)
@ApiModelProperty(value = "是否评分")
private String isScore = "0";
@ExplicitConstraint(indexNum=13,source = {"始终合格","始终不合格","无内容合格","有内容合格"})
@ExcelProperty(value = "合格判断方法(文本)", index = 13)
@ApiModelProperty(value = "合格判断方法")
private String checkType = "始终合格";
@ExcelProperty(value = "默认输入值(文本/数字)", index = 17)
@ApiModelProperty(value = "默认输入值")
private String defaultValue;
@ExcelProperty(value = "合格评分数(文本/数字)", index = 16)
@ApiModelProperty(value = "合格评分数")
private Integer okScore;
@ExcelProperty(value = "不合格评分数(文本/数字)", index = 15)
@ApiModelProperty(value = "不合格评分数")
private Integer noScore;
@ExcelProperty(value = "输入值单位(数字)", index = 27)
@ApiModelProperty(value = "输入值单位")
private String unit;
@ExcelProperty(value = "有效值上限(数字)", index = 18)
@ApiModelProperty(value = "有效值上限")
private Integer validUp;
@ExcelProperty(value = "有效值下限(数字)", index = 19)
@ApiModelProperty(value = "有效值下限")
private Integer validDown;
@ExcelProperty(value = "合格值上限(数字)", index = 20)
@ApiModelProperty(value = "合格值上限")
private Integer okUp;
@ExcelProperty(value = "合格值下限(数字)", index = 21)
@ApiModelProperty(value = "合格值下限")
private Integer okDown;
@ExcelProperty(value = "强制校验,输入值不能大于有效值上限(数字)", index = 22)
@ApiModelProperty(value = "强制校验,输入值不能大于有效值上限")
private String checkValidUp = "false";
@ExcelProperty(value = "强制校验,输入值不能小于有效值下限(数字)", index = 23)
@ApiModelProperty(value = "强制校验,输入值不能小于有效值下限")
private String checkValidDown = "false";
@ExcelProperty(value = "合格判断,输入值大于合格值上限时为不合格(数字)", index = 24)
@ApiModelProperty(value = "合格判断,输入值大于合格值上限时为不合格")
private String checkOkUp = "false";
@ExcelProperty(value = "合格判断,输入值小于合格值上限时为不合格(数字)", index = 25)
@ApiModelProperty(value = "合格判断,输入值小于合格值上限时为不合格")
private String checkOkDown = "false";
@ExcelProperty(value = "小数点后位数(数字)", index = 26)
@ApiModelProperty(value = "小数点后位数")
private Integer precision;
@ExcelIgnore
private long id;
@ExcelIgnore
private long catalogId;
@ExcelIgnore
private String inputJson;
@ExcelIgnore
private String isMultiline;
@ExcelIgnore
private int orderNo;
@ExcelIgnore
private String orgCode;
@ExcelIgnore
private String remark;
@ExcelIgnore
private String riskDesc;
/**
* 新加字段
*/
//单位code
@ExcelIgnore
private String bizOrgCode;
//单位名称
@ExcelIgnore
private String bizOrgName;
public Integer getValidUp() {
return validUp;
}
public void setValidUp(Integer validUp) {
this.validUp = validUp;
}
public Integer getValidDown() {
return validDown;
}
public void setValidDown(Integer validDown) {
this.validDown = validDown;
}
public Integer getOkUp() {
return okUp;
}
public void setOkUp(Integer okUp) {
this.okUp = okUp;
}
public Integer getOkDown() {
return okDown;
}
public void setOkDown(Integer okDown) {
this.okDown = okDown;
}
public String getCheckValidUp() {
return checkValidUp;
}
public void setCheckValidUp(String checkValidUp) {
this.checkValidUp = checkValidUp;
}
public String getCheckValidDown() {
return checkValidDown;
}
public void setCheckValidDown(String checkValidDown) {
this.checkValidDown = checkValidDown;
}
public String getCheckOkUp() {
return checkOkUp;
}
public void setCheckOkUp(String checkOkUp) {
this.checkOkUp = checkOkUp;
}
public String getCheckOkDown() {
return checkOkDown;
}
public void setCheckOkDown(String checkOkDown) {
this.checkOkDown = checkOkDown;
}
public Integer getPrecision() {
return precision;
}
public void setPrecision(Integer precision) {
this.precision = precision;
}
public Integer getOkScore() {
return okScore;
}
public void setOkScore(Integer okScore) {
this.okScore = okScore;
}
public Integer getNoScore() {
return noScore;
}
public void setNoScore(Integer noScore) {
this.noScore = noScore;
}
public String getCheckType() {
return checkType;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getBizOrgCode() {
return bizOrgCode;
}
public void setBizOrgCode(String bizOrgCode) {
this.bizOrgCode = bizOrgCode;
}
public String getBizOrgName() {
return bizOrgName;
}
public void setBizOrgName(String bizOrgName) {
this.bizOrgName = bizOrgName;
}
public String getEquipmentType() {
return equipmentType;
}
public void setEquipmentType(String equipmentType) {
this.equipmentType = equipmentType;
}
public String getFacilitiesType() {
return facilitiesType;
}
public void setFacilitiesType(String facilitiesType) {
this.facilitiesType = facilitiesType;
}
public String getKeyPartsType() {
return keyPartsType;
}
public void setKeyPartsType(String keyPartsType) {
this.keyPartsType = keyPartsType.equals("1")?"否":"是";
}
public String getCustomType() {
return customType;
}
/* public void setCustomType(String customType) {
this.customType = StringUtils.isEmpty(customType) ? "1":customType;
}*/
public void setCustomType(String customType) {
this.customType = customType.equals("1")?"否":"是";
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getCheckMethod() {
return checkMethod;
}
public void setCheckMethod(String checkMethod) {
this.checkMethod = checkMethod;
}
public String getInputClassify() {
return inputClassify ;
}
public void setInputClassify(String inputClassify) {
this.inputClassify = PointCheckTypeEnum.getName(inputClassify);
}
public String getItemNo() {
return itemNo;
}
public void setItemNo(String itemNo) {
this.itemNo = itemNo;
}
public String getLevel() {
return PointLevelEnum.getName(Integer.parseInt(level)) ;
}
public void setLevel(String level) {
this.level = level == null? null :String.valueOf(PointLevelEnum.getValue(level));
}
public long getCatalogId() {
return catalogId;
}
public void setCatalogId(long catalogId) {
this.catalogId = catalogId;
}
public String getDataJson() {
return dataJson;
}
public void setDataJson(String dataJson) {
this.dataJson = dataJson;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public String getInputJson() {
return inputJson;
}
public void setInputJson(String inputJson) {
this.inputJson = inputJson;
}
public String getIsMultiline() {
return isMultiline;
}
public void setIsMultiline(String isMultiline) {
this.isMultiline = isMultiline;
}
public String getIsMust() {
return isMust;
}
public void setIsMust(String isMust) {
this.isMust = isMust;
}
public String getIsScore() {
return isScore;
}
public void setIsScore(String isScore) {
this.isScore = isScore;
}
public String getItemType() {
return itemType;
}
public void setItemType(String itemType) {
this.itemType = itemType;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getOrderNo() {
return orderNo;
}
public void setOrderNo(int orderNo) {
this.orderNo = orderNo;
}
public String getOrgCode() {
return orgCode;
}
public void setOrgCode(String orgCode) {
this.orgCode = orgCode;
}
public Object getPictureJson() {
return pictureJson;
}
public void setPictureJson(Object pictureJson) {
this.pictureJson = pictureJson;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public InputItemExcelVo() {
super();
}
public String getRiskDesc() {
return riskDesc;
}
public void setRiskDesc(String riskDesc) {
this.riskDesc = riskDesc;
}
}
......@@ -614,7 +614,11 @@ public class CheckServiceImpl implements ICheckService {
imgList.add(img);
}
}
List<CheckInput> checkInputList = checkInputDao.saveAll(checkItemList);
List<CheckInput> checkInputList = new ArrayList<>();
for (CheckInput checkInput : checkItemList) {
checkInputDao.saveAndFlush(checkInput);
checkInputList.add(checkInput);
}
//规则请求结果
checkInputList.forEach(checkInput -> {
InputItem inputItem = inputItemDao.findById(checkInput.getInputId()).get();
......
......@@ -67,4 +67,9 @@ equipment.hierarchy=1,2,4,6
management.security.enabled=true
spring.security.user.name=admin
spring.security.user.password=a1234560
\ No newline at end of file
spring.security.user.password=a1234560
#雪花算法参数 终端ID
generator.worker_id=1
#雪花算法参数 数据中心id
generator.datacenter_id=1
\ No newline at end of file
......@@ -388,7 +388,7 @@
</choose>
</select>
<select id="getInputItemInfoExcelNew" resultType="com.yeejoin.amos.patrol.business.dto.InputItemExcelDto">
<select id="getInputItemInfoExcelNew" resultType="com.yeejoin.amos.patrol.business.dto.InputItemExcelVo">
SELECT
a.id,
a.name,
......@@ -402,40 +402,30 @@
a.input_classify,
a.check_method,
(CASE a.equipment_type
WHEN a.equipment_type is not null and a.equipment_type = '-1'
WHEN '-1'
THEN '通用消防装备'
ELSE
(select name from wl_equipment_category where code = a.equipment_type AND industry_code = 2)
END) as equipment_type,
(CASE a.facilities_type
WHEN a.facilities_type is not null and a.facilities_type = '-1'
WHEN '-1'
THEN '通用消防设施'
ELSE (select name from wl_equipment_category where code = a.facilities_type AND industry_code = 2)
END) as facilities_type,
(CASE a.level
WHEN 1 THEN
'1级'
'级'
WHEN 2 THEN
'2级'
'级'
WHEN 3 THEN
'3级'
'级'
WHEN 4 THEN
'4级'
'级'
ELSE
'5级'
'级'
END )AS level,
(CASE a.key_parts_type
WHEN 0 THEN
'是'
WHEN 1 THEN
'否'
END )AS keyPartsType,
(CASE a.custom_type
WHEN 0 THEN
'是'
WHEN 1 THEN
'否'
END )AS customType,
IFNULL(a.key_parts_type,1) AS keyPartsType,
IFNULL(a.custom_type,1) AS customType,
a.risk_desc,
a.data_json
from
......
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