Commit 22a07a1d authored by 高建强's avatar 高建强

Merge branch 'develop_dl_plan6' into develop_dl_plan6_temp

# Conflicts: # amos-boot-module/amos-boot-module-api/amos-boot-module-common-api/src/main/java/com/yeejoin/amos/boot/module/common/api/dto/PeopleBasicInfoDto.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/dto/EquipmentDetailDownloadTemplateDto.java # amos-boot-module/amos-boot-module-biz/amos-boot-module-equip-biz/src/main/java/com/yeejoin/equipmanage/dto/EquipmentDetailExcelSingleTemplateDto.java # amos-boot-system-equip/src/main/resources/mapper/EquipmentManageMapper.xml
parents 681a4998 a0e9e0a3
...@@ -83,13 +83,24 @@ public class ControllerAop { ...@@ -83,13 +83,24 @@ public class ControllerAop {
// 不需要添加请求头的接口 // 不需要添加请求头的接口
String[] url = new String[]{"/api/user/save/curCompany", "/jcs/command/lookHtmlText", String[] url = new String[]{"/api/user/save/curCompany", "/jcs/command/lookHtmlText",
"/jcs/common/duty-person/findByDutyAreaId", "/tzs/wechatBack", "/tzs/elevator/getElevatorInfo", "/jcs/common/duty-person/findByDutyAreaId", "/tzs/wechatBack", "/tzs/elevator/getElevatorInfo",
"/openapi/bizToken/applyToken","/fire-patrol-report/download","/fire-patrol-report/allPage","/jcs/excel/export/QDSJ"}; "/openapi/bizToken/applyToken","/fire-patrol-report/download","/fire-patrol-report/allPage"};
// 获取请求路径 // 获取请求路径
for (String uri : url) { for (String uri : url) {
if (request.getRequestURI().indexOf(uri) != -1) { if (request.getRequestURI().indexOf(uri) != -1) {
return; return;
} }
} }
// 因前端组件下载时不通过url请求,导致RequestContext取不到值,所以针对这个接口特殊处理
if (request.getRequestURI().indexOf("/jcs/excel/export/QDSJ") != -1) {
String appKey = request.getHeader("appKey");
String product = request.getHeader("product");
String token = request.getHeader("token");
RequestContext.setAppKey(appKey);
RequestContext.setProduct(product);
RequestContext.setToken(token);
}
//TODO tyboot 框架拦截器已缓存数据 //TODO tyboot 框架拦截器已缓存数据
String token = RequestContext.getToken(); String token = RequestContext.getToken();
......
...@@ -137,7 +137,7 @@ public class OrgUsrExcelDto extends BaseDto { ...@@ -137,7 +137,7 @@ public class OrgUsrExcelDto extends BaseDto {
private String telephone; //联系电话 private String telephone; //联系电话
@ExcelProperty(value = "人员类型", index = 15) @ExcelProperty(value = "人员类型", index = 15)
@ExplicitConstraint(type = "DWRYLX", indexNum =15, sourceClass = CommonExplicitConstraint.class) //动态下拉内 @ExplicitConstraint( indexNum =15, type = "DLRYLX", sourceClass = CommonExplicitConstraint.class) //动态下拉内
private String peopleType; //人员类型 private String peopleType; //人员类型
@ExplicitConstraint(indexNum = 16, sourceClass = CommonExplicitConstraint.class, method = "getNations") //固定下拉内容 @ExplicitConstraint(indexNum = 16, sourceClass = CommonExplicitConstraint.class, method = "getNations") //固定下拉内容
......
...@@ -59,7 +59,6 @@ public class PeopleBasicInfoDto { ...@@ -59,7 +59,6 @@ public class PeopleBasicInfoDto {
private String certificatesNumber; private String certificatesNumber;
@ApiModelProperty(value = "出生日期") @ApiModelProperty(value = "出生日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8") @JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date birthdayTime; private Date birthdayTime;
......
...@@ -3,14 +3,20 @@ package com.yeejoin.amos.boot.module.common.api.dto; ...@@ -3,14 +3,20 @@ package com.yeejoin.amos.boot.module.common.api.dto;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.excel.CommonExplicitConstraint; import com.yeejoin.amos.boot.module.common.api.excel.CommonExplicitConstraint;
import com.yeejoin.amos.boot.module.common.api.excel.ExplicitConstraint; import com.yeejoin.amos.boot.module.common.api.excel.ExplicitConstraint;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.ObjectUtils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -26,6 +32,7 @@ public class WaterResourceDto extends BaseDto { ...@@ -26,6 +32,7 @@ public class WaterResourceDto extends BaseDto {
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "机构/部门名称") @ApiModelProperty(value = "机构/部门名称")
private String bizOrgName; private String bizOrgName;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "机构编码") @ApiModelProperty(value = "机构编码")
private String bizOrgCode; private String bizOrgCode;
...@@ -88,11 +95,15 @@ public class WaterResourceDto extends BaseDto { ...@@ -88,11 +95,15 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "建造日期", index = 7) @ExcelProperty(value = "建造日期", index = 7)
@ApiModelProperty(value = "建造日期") @ApiModelProperty(value = "建造日期")
private Date buildDate; @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private String buildDate;
@ExcelProperty(value = "启用日期", index = 8) @ExcelProperty(value = "启用日期", index = 8)
@ApiModelProperty(value = "启用日期") @ApiModelProperty(value = "启用日期")
private Date enableDate; @DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private String enableDate;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "方位图集合") @ApiModelProperty(value = "方位图集合")
...@@ -152,7 +163,7 @@ public class WaterResourceDto extends BaseDto { ...@@ -152,7 +163,7 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "高度(cm)", index = 11) @ExcelProperty(value = "高度(cm)", index = 11)
@ApiModelProperty(value = "高度(cm)") @ApiModelProperty(value = "高度(cm)")
private float height; private Float height;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty(value = "水源可用状态类别代码") @ApiModelProperty(value = "水源可用状态类别代码")
...@@ -182,15 +193,15 @@ public class WaterResourceDto extends BaseDto { ...@@ -182,15 +193,15 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "管网直径(cm)", index = 16) @ExcelProperty(value = "管网直径(cm)", index = 16)
@ApiModelProperty(value = "管网直径(cm)") @ApiModelProperty(value = "管网直径(cm)")
private float pipeDiameter; private Float pipeDiameter;
@ExcelProperty(value = "进水管直径(cm)", index = 17) @ExcelProperty(value = "进水管直径(cm)", index = 17)
@ApiModelProperty(value = "进水管直径(cm)") @ApiModelProperty(value = "进水管直径(cm)")
private float inletPipeDiameter; private Float inletPipeDiameter;
@ExcelProperty(value = "出水管直径(cm)", index = 18) @ExcelProperty(value = "出水管直径(cm)", index = 18)
@ApiModelProperty(value = "出水管直径(cm)") @ApiModelProperty(value = "出水管直径(cm)")
private float outletPipeDiameter; private Float outletPipeDiameter;
@ExcelProperty(value = "加水车道数量(个)", index = 19) @ExcelProperty(value = "加水车道数量(个)", index = 19)
@ApiModelProperty(value = "加水车道数量(个)") @ApiModelProperty(value = "加水车道数量(个)")
...@@ -255,11 +266,11 @@ public class WaterResourceDto extends BaseDto { ...@@ -255,11 +266,11 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "容积(m³)", index = 28) @ExcelProperty(value = "容积(m³)", index = 28)
@ApiModelProperty(value = "容积(m³)") @ApiModelProperty(value = "容积(m³)")
private float volume; private Float volume;
@ExcelProperty(value = "面积(㎡)", index = 29) @ExcelProperty(value = "面积(㎡)", index = 29)
@ApiModelProperty(value = "面积(㎡)") @ApiModelProperty(value = "面积(㎡)")
private float area; private Float area;
@ExcelProperty(value = "水质情况", index = 30) @ExcelProperty(value = "水质情况", index = 30)
@ApiModelProperty(value = "水质情况") @ApiModelProperty(value = "水质情况")
...@@ -286,11 +297,11 @@ public class WaterResourceDto extends BaseDto { ...@@ -286,11 +297,11 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "取水高度(cm)", index = 34) @ExcelProperty(value = "取水高度(cm)", index = 34)
@ApiModelProperty(value = "取水高度(cm)") @ApiModelProperty(value = "取水高度(cm)")
private float intakeHeight; private Float intakeHeight;
@ExcelProperty(value = "水源标高差(cm)", index = 35) @ExcelProperty(value = "水源标高差(cm)", index = 35)
@ApiModelProperty(value = "水源标高差(cm)") @ApiModelProperty(value = "水源标高差(cm)")
private float elevationDifference; private Float elevationDifference;
@ExcelProperty(value = "停车位置", index = 36) @ExcelProperty(value = "停车位置", index = 36)
@ApiModelProperty(value = "停车位置") @ApiModelProperty(value = "停车位置")
...@@ -374,11 +385,11 @@ public class WaterResourceDto extends BaseDto { ...@@ -374,11 +385,11 @@ public class WaterResourceDto extends BaseDto {
@ExcelProperty(value = "最低报警水位(m)", index = 43) @ExcelProperty(value = "最低报警水位(m)", index = 43)
@ApiModelProperty(value = "最低报警水位(m)") @ApiModelProperty(value = "最低报警水位(m)")
private float minWaterLevel; private Float minWaterLevel;
@ExcelProperty(value = "最高报警水位(m)", index = 44) @ExcelProperty(value = "最高报警水位(m)", index = 44)
@ApiModelProperty(value = "最高报警水位(m)") @ApiModelProperty(value = "最高报警水位(m)")
private float maxWaterLevel; private Float maxWaterLevel;
@ExcelIgnore @ExcelIgnore
@ApiModelProperty("水池液位显示装置id") @ApiModelProperty("水池液位显示装置id")
......
...@@ -31,7 +31,7 @@ public class WaterResourceCrane extends BaseEntity { ...@@ -31,7 +31,7 @@ public class WaterResourceCrane extends BaseEntity {
* 高度(cm) * 高度(cm)
*/ */
@TableField("height") @TableField("height")
private float height; private Float height;
/** /**
* 水源可用状态类别代码 * 水源可用状态类别代码
*/ */
...@@ -66,17 +66,17 @@ public class WaterResourceCrane extends BaseEntity { ...@@ -66,17 +66,17 @@ public class WaterResourceCrane extends BaseEntity {
* 官网直径(cm) * 官网直径(cm)
*/ */
@TableField("pipe_diameter") @TableField("pipe_diameter")
private float pipeDiameter; private Float pipeDiameter;
/** /**
* 进水管直径(cm) * 进水管直径(cm)
*/ */
@TableField("inlet_pipe_diameter") @TableField("inlet_pipe_diameter")
private float inletPipeDiameter; private Float inletPipeDiameter;
/** /**
* 出水管直径(cm) * 出水管直径(cm)
*/ */
@TableField("outlet_pipe_diameter") @TableField("outlet_pipe_diameter")
private float outletPipeDiameter; private Float outletPipeDiameter;
/** /**
* 加水车道数量(个) * 加水车道数量(个)
*/ */
......
package com.yeejoin.amos.boot.module.common.api.entity; package com.yeejoin.amos.boot.module.common.api.entity;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
...@@ -7,6 +8,8 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; ...@@ -7,6 +8,8 @@ import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType;
/** /**
* *
* *
...@@ -31,7 +34,7 @@ public class WaterResourceNatural extends BaseEntity { ...@@ -31,7 +34,7 @@ public class WaterResourceNatural extends BaseEntity {
* 高度(cm) * 高度(cm)
*/ */
@TableField("height") @TableField("height")
private float height; private Float height;
/** /**
* 水源类型代码 * 水源类型代码
*/ */
...@@ -46,12 +49,12 @@ public class WaterResourceNatural extends BaseEntity { ...@@ -46,12 +49,12 @@ public class WaterResourceNatural extends BaseEntity {
* 容积(m³) * 容积(m³)
*/ */
@TableField("volume") @TableField("volume")
private float volume; private Float volume;
/** /**
* 面积(㎡) * 面积(㎡)
*/ */
@TableField("area") @TableField("area")
private float area; private Float area;
/** /**
* 水质情况 * 水质情况
*/ */
......
...@@ -31,7 +31,7 @@ public class WaterResourcePool extends BaseEntity { ...@@ -31,7 +31,7 @@ public class WaterResourcePool extends BaseEntity {
* 容积(m³) * 容积(m³)
*/ */
@TableField("volume") @TableField("volume")
private float volume; private Float volume;
/** /**
* 水源可用状态类别代码 * 水源可用状态类别代码
*/ */
...@@ -56,12 +56,12 @@ public class WaterResourcePool extends BaseEntity { ...@@ -56,12 +56,12 @@ public class WaterResourcePool extends BaseEntity {
* 取水高度(cm) * 取水高度(cm)
*/ */
@TableField("intake_height") @TableField("intake_height")
private float intakeHeight; private Float intakeHeight;
/** /**
* 水源标高差(cm) * 水源标高差(cm)
*/ */
@TableField("elevation_difference") @TableField("elevation_difference")
private float elevationDifference; private Float elevationDifference;
/** /**
* 停车位置 * 停车位置
*/ */
...@@ -92,13 +92,13 @@ public class WaterResourcePool extends BaseEntity { ...@@ -92,13 +92,13 @@ public class WaterResourcePool extends BaseEntity {
* 最低报警水位 * 最低报警水位
*/ */
@TableField("min_water_level") @TableField("min_water_level")
private float minWaterLevel; private Float minWaterLevel;
/** /**
* 最高报警水位 * 最高报警水位
*/ */
@TableField("max_water_level") @TableField("max_water_level")
private float maxWaterLevel; private Float maxWaterLevel;
/** /**
* 水池液位显示装置id * 水池液位显示装置id
......
...@@ -150,6 +150,13 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc ...@@ -150,6 +150,13 @@ public interface DynamicFormInstanceMapper extends BaseMapper<DynamicFormInstanc
List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds); List<Map<String, Object>> getOrgPersonTelphone(List<Map<String, Object>> companyIds);
List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet); List<Map<String, Object>> personInfoList(String groupCode, HashSet<String> userIdSet);
/**
* 查询运维人员
* @param page
* @return
*/
Page<Map<String, Object>> getPersonInfoByPage(Page page, @Param("bizOrgCode") String bizOrgCode);
} }
...@@ -51,5 +51,5 @@ public interface WaterResourceMapper extends BaseMapper<WaterResource> { ...@@ -51,5 +51,5 @@ public interface WaterResourceMapper extends BaseMapper<WaterResource> {
List<Map<String, Object>> getWaterTypeByBizOrgCode(String bizOrgCode); List<Map<String, Object>> getWaterTypeByBizOrgCode(String bizOrgCode);
Page<WaterResourceDto> pageByDefect(Page<WaterResourceDto> page, @Param("nameOrCode") String nameOrCode, @Param("bizOrgCode") String bizOrgCode); Page<WaterResourceDto> pageByDefect(Page<WaterResourceDto> page, @Param("nameOrCode") String nameOrCode, @Param("bizOrgCode") String bizOrgCode, @Param("systemName") String systemName);
} }
...@@ -32,7 +32,7 @@ public interface IDutyCommonService { ...@@ -32,7 +32,7 @@ public interface IDutyCommonService {
* @return * @return
* @throws ParseException * @throws ParseException
*/ */
IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate) throws ParseException; IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate, String bizOrgCode) throws ParseException;
/** /**
* 值班明细 * 值班明细
......
...@@ -646,5 +646,33 @@ WHERE ...@@ -646,5 +646,33 @@ WHERE
GROUP BY GROUP BY
i.instance_id i.instance_id
</select> </select>
<select id="getPersonInfoByPage" resultType="java.util.Map">
SELECT
ou.sequence_nbr as id,
ou.biz_org_name as userName,
IFNULL( MAX( CASE WHEN cfi.field_code = 'telephone' THEN field_value END ), '' ) AS telephone,
IFNULL( MAX( CASE WHEN cfi.field_code = 'postTypeName' THEN field_value END ), '' ) AS postTypeName,
IFNULL( MAX( CASE WHEN cfi.field_code = 'personImg' THEN field_value END ), '' ) AS personImg,
IFNULL( MAX( CASE WHEN cfi.field_code = 'peopleType' THEN field_value END ), '' ) AS peopleType
FROM
(
SELECT
IFNULL( max( CASE WHEN fi.field_code = 'userId' THEN fi.field_value END ), ps.instance_id ) AS id
FROM
cb_duty_person_shift ps
LEFT JOIN cb_dynamic_form_instance fi ON fi.instance_id = ps.instance_id
WHERE
ps.duty_date = CURRENT_DATE
GROUP BY
fi.instance_id
) a
LEFT JOIN cb_org_usr ou ON ou.sequence_nbr = a.id
LEFT JOIN cb_dynamic_form_instance cfi ON ou.sequence_nbr = cfi.instance_id
where ou.biz_org_code like concat(#{bizOrgCode}, '%')
GROUP BY
a.id
HAVING
peopleType = 1602
</select>
</mapper> </mapper>
...@@ -188,7 +188,14 @@ ...@@ -188,7 +188,14 @@
<select id="pageByDefect" resultType="com.yeejoin.amos.boot.module.common.api.dto.WaterResourceDto"> <select id="pageByDefect" resultType="com.yeejoin.amos.boot.module.common.api.dto.WaterResourceDto">
select * from cb_water_resource where is_delete = 1 select * from cb_water_resource where is_delete = 1
<if test="nameOrCode != null and nameOrCode != ''">and (name like concat('%', #{nameOrCode}, '%') or equip_code like concat('%', #{nameOrCode}, '%'))</if> <if test="nameOrCode != null and nameOrCode != ''">
AND (
name like concat('%', #{nameOrCode}, '%') or equip_code like concat('%', #{nameOrCode}, '%')
)
</if>
<if test="systemName != null and systemName != ''">
AND belong_fighting_system like concat('%', #{systemName}, '%')
</if>
<if test="bizOrgCode != null and bizOrgCode != ''">and biz_org_code like concat( #{bizOrgCode}, '%')</if> <if test="bizOrgCode != null and bizOrgCode != ''">and biz_org_code like concat( #{bizOrgCode}, '%')</if>
order by cb_water_resource.rec_date desc order by cb_water_resource.rec_date desc
</select> </select>
......
...@@ -223,4 +223,7 @@ public class EquipmentSpecificAlarmLog extends BaseEntity { ...@@ -223,4 +223,7 @@ public class EquipmentSpecificAlarmLog extends BaseEntity {
@ApiModelProperty(value = "是否是缺陷提交确认", notes = "是否是缺陷提交确认") @ApiModelProperty(value = "是否是缺陷提交确认", notes = "是否是缺陷提交确认")
@TableField(exist = false) @TableField(exist = false)
private boolean addDefect; private boolean addDefect;
@TableField(value = "defect_batch_id")
private String defectBatchId;
} }
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author DELL
*/
@Data
@TableName("wl_form_group_column_equip")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "wl_form_group_column_equip对象", description = "分组表")
public class FormGroupColumnEquip extends BaseEntity {
@ApiModelProperty(value = "字段名")
@TableField("field_name")
private String fieldName;
@ApiModelProperty(value = "中文名")
@TableField("field_label")
private String fieldLabel;
@ApiModelProperty(value = "数据类型:文本,数字,枚举,日期")
@TableField("data_type")
private String dataType;
@ApiModelProperty(value = "字段分组主键")
@TableField("group_id")
private Long groupId;
@ApiModelProperty(value = "查询策略;全等,模糊,区间")
@TableField("query_strategy")
private String queryStrategy;
@ApiModelProperty(value = "不能为空")
@TableField("not_null")
private Boolean notNull;
@ApiModelProperty(value = "分组编号")
@TableField("group_code")
private String groupCode;
@ApiModelProperty(value = "创建者")
@TableField("creator_id")
private Long creatorId;
}
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author DELL
*/
@Data
@TableName("wl_form_group_equip")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "wl_form_group_equip对象", description = "分组表")
public class FormGroupEquip extends BaseEntity {
@ApiModelProperty(value = "分组名称")
@TableField("group_name")
private String groupName;
@ApiModelProperty(value = "分组编号")
@TableField("group_code")
private String groupCode;
@ApiModelProperty(value = "分组类型(点位图过滤用)")
@TableField("group_type")
private String groupType;
@ApiModelProperty(value = "允许的操作(逗号分隔ids)")
@TableField("allow_operation")
private String allowOperation;
@ApiModelProperty(value = "创建者")
@TableField("creator_id")
private Long creatorId;
}
package com.yeejoin.equipmanage.common.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.equipmanage.common.entity.publics.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* @author DELL
*/
@Data
@TableName("wl_form_instance_equip")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "wl_form_instance_equip", description = "实例表")
public class FormInstanceEquip extends BaseEntity {
@ApiModelProperty(value = "字段名")
@TableField("field_name")
private String fieldName;
@ApiModelProperty(value = "中文名")
@TableField("field_label")
private String fieldLabel;
@ApiModelProperty(value = "数据类型:文本,数字,枚举,日期")
@TableField("data_type")
private String dataType;
@ApiModelProperty(value = "字段分组主键")
@TableField("group_id")
private Long groupId;
@ApiModelProperty(value = "动态配置字段的值")
@TableField("field_value")
private String fieldValue;
@ApiModelProperty(value = "分组类型(冗余字段便于查询)")
@TableField("group_type")
private String groupType;
@ApiModelProperty(value = "设备实例id")
@TableField("instance_id")
private Long instanceId;
@ApiModelProperty(value = "字段定义信息的主键")
@TableField("group_column_id")
private Long groupColumnId;
@ApiModelProperty(value = "查询策略;全等,模糊,区间")
@TableField("query_strategy")
private String queryStrategy;
@ApiModelProperty(value = "分组编号")
@TableField("group_code")
private String groupCode;
@ApiModelProperty(value = "创建者")
@TableField(value = "creator_id",fill = FieldFill.INSERT_UPDATE)
private Long creatorId;
}
...@@ -9,7 +9,7 @@ import lombok.Data; ...@@ -9,7 +9,7 @@ import lombok.Data;
*/ */
@Data @Data
@ApiModel(value = "FormGroupColumnDto对象", description = "分组Dto对象") @ApiModel(value = "FormGroupColumnDto对象", description = "分组Dto对象")
public class FormGroupColumnDto { public class FormGroupColumnEquipDto {
@ApiModelProperty(value = "字段名") @ApiModelProperty(value = "字段名")
private String fieldName; private String fieldName;
......
package com.yeejoin.amos.boot.module.common.biz.controller; package com.yeejoin.amos.boot.module.common.biz.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.api.dto.DutyPersonDto; import com.yeejoin.amos.boot.module.common.api.dto.DutyPersonDto;
import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService; import com.yeejoin.amos.boot.module.common.api.service.IDutyPersonService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -68,7 +71,12 @@ public class DutyPersonController extends BaseController { ...@@ -68,7 +71,12 @@ public class DutyPersonController extends BaseController {
beginDate = date; beginDate = date;
endDate = date; endDate = date;
} }
return ResponseHelper.buildResponse(iDutyPersonService.pageListDetail(current, size, beginDate, endDate)); ReginParams selectedOrgInfo = getSelectedOrgInfo();
String bizOrgCode = ObjectUtils.isEmpty(selectedOrgInfo) || ObjectUtils.isEmpty(selectedOrgInfo.getPersonIdentity()) ? "" : selectedOrgInfo.getPersonIdentity().getBizOrgCode();
if (StringUtils.isEmpty(bizOrgCode)) {
return ResponseHelper.buildResponse(null);
}
return ResponseHelper.buildResponse(iDutyPersonService.pageListDetail(current, size, beginDate, endDate, bizOrgCode));
} }
/** /**
......
...@@ -529,7 +529,8 @@ public class WaterResourceController extends BaseController { ...@@ -529,7 +529,8 @@ public class WaterResourceController extends BaseController {
public ResponseModel<Page<WaterResourceDto>> pageByDefect(@RequestParam(value = "pageNum") int pageNum, public ResponseModel<Page<WaterResourceDto>> pageByDefect(@RequestParam(value = "pageNum") int pageNum,
@RequestParam(value = "pageSize") int pageSize, @RequestParam(value = "pageSize") int pageSize,
@RequestParam(value = "nameOrCode", required = false) String nameOrCode, @RequestParam(value = "nameOrCode", required = false) String nameOrCode,
@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode) { @RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@RequestParam(value = "systemName", required = false) String systemName) {
ReginParams reginParams = getSelectedOrgInfo(); ReginParams reginParams = getSelectedOrgInfo();
if (StringUtils.isEmpty(bizOrgCode)) { if (StringUtils.isEmpty(bizOrgCode)) {
if (ObjectUtils.isEmpty(reginParams) || ObjectUtils.isEmpty(reginParams.getPersonIdentity()) || StringUtils.isEmpty(reginParams.getPersonIdentity().getBizOrgCode())) { if (ObjectUtils.isEmpty(reginParams) || ObjectUtils.isEmpty(reginParams.getPersonIdentity()) || StringUtils.isEmpty(reginParams.getPersonIdentity().getBizOrgCode())) {
...@@ -540,7 +541,7 @@ public class WaterResourceController extends BaseController { ...@@ -540,7 +541,7 @@ public class WaterResourceController extends BaseController {
Page<WaterResourceDto> page = new Page<>(); Page<WaterResourceDto> page = new Page<>();
page.setCurrent(pageNum); page.setCurrent(pageNum);
page.setSize(pageSize); page.setSize(pageSize);
Page<WaterResourceDto> waterResourceDtoPage = waterResourceServiceImpl.pageByDefect(page, nameOrCode, bizOrgCode); Page<WaterResourceDto> waterResourceDtoPage = waterResourceServiceImpl.pageByDefect(page, nameOrCode, bizOrgCode, systemName);
return ResponseHelper.buildResponse(waterResourceDtoPage); return ResponseHelper.buildResponse(waterResourceDtoPage);
} }
......
...@@ -11,8 +11,10 @@ import java.util.stream.Stream; ...@@ -11,8 +11,10 @@ import java.util.stream.Stream;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary; import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService; import com.yeejoin.amos.boot.biz.common.service.IDataDictionaryService;
import com.yeejoin.amos.boot.module.common.api.mapper.DynamicFormInstanceMapper;
import com.yeejoin.amos.boot.module.common.biz.enums.DataDictionaryTypeEnum; import com.yeejoin.amos.boot.module.common.biz.enums.DataDictionaryTypeEnum;
import com.yeejoin.amos.boot.module.common.biz.enums.DynamicGroupCodeEnum; import com.yeejoin.amos.boot.module.common.biz.enums.DynamicGroupCodeEnum;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -80,6 +82,8 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -80,6 +82,8 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
@Autowired @Autowired
IDataDictionaryService dataDictionaryService; IDataDictionaryService dataDictionaryService;
@Autowired
DynamicFormInstanceMapper dynamicFormInstanceMapper;
/** /**
* 每天单个班次执勤人数全部小于等于3人 * 每天单个班次执勤人数全部小于等于3人
...@@ -175,33 +179,34 @@ public class DutyCommonServiceImpl implements IDutyCommonService { ...@@ -175,33 +179,34 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
@Override @Override
public IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate) public IPage<Map<String, Object>> pageListDetail(int current, int size, String beginDate, String endDate, String bizOrgCode)
throws ParseException { throws ParseException {
// 1.已column为准 进行返回 // // 1.已column为准 进行返回
String groupCode = this.getGroupCode(); // String groupCode = this.getGroupCode();
// 不存在值班数据则不查找 修改sql 方法去除 by kongfm 2021-09-14 // // 不存在值班数据则不查找 修改sql 方法去除 by kongfm 2021-09-14
IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageListNew(current, size, groupCode, beginDate, endDate); // IPage<Map<String, Object>> iPage = dynamicFormInstanceService.pageListNew(current, size, groupCode, beginDate, endDate);
List<Map<String, Object>> records = iPage.getRecords(); // List<Map<String, Object>> records = iPage.getRecords();
HashSet<String> userIdSet = new HashSet<>(); // HashSet<String> userIdSet = new HashSet<>();
if (!CollectionUtils.isEmpty(records)) { // if (!CollectionUtils.isEmpty(records)) {
records.forEach(x -> { // records.forEach(x -> {
userIdSet.add(x.get("userId").toString()); // userIdSet.add(x.get("userId").toString());
}); // });
} // }
// 获取人员详细信息 // // 获取人员详细信息
List<Map<String, Object>> personInfoList = dynamicFormInstanceService.personInfoList(DynamicGroupCodeEnum.JCS_PERSON.getCode(), userIdSet); // List<Map<String, Object>> personInfoList = dynamicFormInstanceService.personInfoList(DynamicGroupCodeEnum.JCS_PERSON.getCode(), userIdSet);
if (!CollectionUtils.isEmpty(personInfoList)) { // if (!CollectionUtils.isEmpty(personInfoList)) {
Map<String, List<Map<String, Object>>> listMap = personInfoList.stream().collect(Collectors.groupingBy((Map m) -> String.valueOf(m.get("userId")))); // Map<String, List<Map<String, Object>>> listMap = personInfoList.stream().collect(Collectors.groupingBy((Map m) -> String.valueOf(m.get("userId"))));
records.forEach(x -> { // records.forEach(x -> {
String userId = x.get("userId").toString(); // String userId = x.get("userId").toString();
List<Map<String, Object>> list = listMap.get(userId); // List<Map<String, Object>> list = listMap.get(userId);
if (!CollectionUtils.isEmpty(list)) { // if (!CollectionUtils.isEmpty(list)) {
list.forEach(x::putAll); // list.forEach(x::putAll);
} // }
}); // });
iPage.setRecords(records); // iPage.setRecords(records);
} // }
return iPage; // return iPage;
return dynamicFormInstanceMapper.getPersonInfoByPage(new Page(current, size), bizOrgCode);
} }
private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException { private void fillDutyShiftData(String beginDate, String endDate, Map<String, Object> m) throws ParseException {
......
...@@ -3101,6 +3101,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -3101,6 +3101,10 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
} }
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance(); DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance); BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
// 修改bug 8364
if ("gender".equals(dynamicFormInstance.getFieldCode())){
dynamicFormInstance.setFieldValueLabel("346".equals(String.valueOf(dynamicFormInstance.getFieldValue()))?"男":"女");
}
dynamicFormInstancelist.add(dynamicFormInstance); dynamicFormInstancelist.add(dynamicFormInstance);
}); });
......
...@@ -98,8 +98,9 @@ public class WaterResourceServiceImpl extends BaseService<WaterResourceDto, Wate ...@@ -98,8 +98,9 @@ public class WaterResourceServiceImpl extends BaseService<WaterResourceDto, Wate
*/ */
public Page<WaterResourceDto> pageByDefect(Page<WaterResourceDto> page, public Page<WaterResourceDto> pageByDefect(Page<WaterResourceDto> page,
String nameOrCode, String nameOrCode,
String bizOrgCode) { String bizOrgCode,
return this.waterResourceMapper.pageByDefect(page, nameOrCode, bizOrgCode); String systemName) {
return this.waterResourceMapper.pageByDefect(page, nameOrCode, bizOrgCode, systemName);
} }
/** /**
......
...@@ -12,6 +12,7 @@ import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService; ...@@ -12,6 +12,7 @@ import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmService;
import com.yeejoin.equipmanage.service.IFireFightingSystemService; import com.yeejoin.equipmanage.service.IFireFightingSystemService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -22,7 +23,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType; ...@@ -22,7 +23,6 @@ import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; 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 org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.text.ParseException; import java.text.ParseException;
...@@ -718,4 +718,70 @@ public class ConfigureController extends AbstractBaseController { ...@@ -718,4 +718,70 @@ public class ConfigureController extends AbstractBaseController {
} }
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getEquipExpiryStatistics")
@ApiOperation(httpMethod = "GET", value = "4小概览-韶山-临期设备统计", notes = "4小概览-韶山-临期设备统计")
public ResponseModel getEquipExpiryStatistics(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@ApiParam("临期天数-近多少天") @RequestParam(value = "expiryDayNum", required = false) Integer expiryDayNum) {
if (ObjectUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
}
if (ObjectUtils.isEmpty(bizOrgCode)) {
return CommonResponseUtil.success(null);
}
expiryDayNum = Objects.isNull(expiryDayNum) ? 60 : expiryDayNum;
return CommonResponseUtil.success(iFireFightingSystemService.getEquipExpiryStatistics(bizOrgCode, expiryDayNum));
}
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getEquipExpiryListByPage")
@ApiOperation(httpMethod = "GET", value = "4小概览-韶山-临期设备列表", notes = "4小概览-韶山-临期设备列表")
public ResponseModel getEquipExpiryListByPage(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode,
@ApiParam("临期天数-近多少天") @RequestParam(value = "expiryDayNum", required = false) Integer expiryDayNum,
@RequestParam(value = "pageSize") Integer pageSize,
@RequestParam(value = "pageNum") Integer pageNum) {
if (ObjectUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
}
if (ObjectUtils.isEmpty(bizOrgCode)) {
return CommonResponseUtil.success(null);
}
expiryDayNum = Objects.isNull(expiryDayNum) ? 60 : expiryDayNum;
Page page = new Page(pageNum, pageSize);
return CommonResponseUtil.success(iFireFightingSystemService.getEquipExpiryListByPage(bizOrgCode, expiryDayNum, page));
}
@PersonIdentify
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getStockEquipStatistics")
@ApiOperation(httpMethod = "GET", value = "4小概览-韶山-报废设备统计", notes = "4小概览-韶山-报废设备统计")
public ResponseModel getStockEquipStatistics(@RequestParam(value = "bizOrgCode", required = false) String bizOrgCode) {
if (ObjectUtils.isEmpty(bizOrgCode)) {
ReginParams reginParams = getSelectedOrgInfo();
ReginParams.PersonIdentity personIdentity = reginParams.getPersonIdentity();
if (!ValidationUtil.isEmpty(personIdentity)) {
bizOrgCode = personIdentity.getBizOrgCode();
}
}
if (ObjectUtils.isEmpty(bizOrgCode)) {
return CommonResponseUtil.success(null);
}
// 重复列表组件只支持分页,所以组装数据
Page page = new Page(1, 4);
page.setTotal(4);
page.setRecords(iFireFightingSystemService.getStockEquipStatistics(bizOrgCode));
return CommonResponseUtil.success(page);
}
} }
...@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONObject; ...@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog; import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.entity.MonitorEvent; import com.yeejoin.equipmanage.common.entity.MonitorEvent;
import com.yeejoin.equipmanage.common.entity.publics.CommonResponse;
import com.yeejoin.equipmanage.common.entity.vo.IdxBizDefectVo; import com.yeejoin.equipmanage.common.entity.vo.IdxBizDefectVo;
import com.yeejoin.equipmanage.common.utils.CommonResponseUtil;
import com.yeejoin.equipmanage.fegin.IdxFeign; import com.yeejoin.equipmanage.fegin.IdxFeign;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper; import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper;
import com.yeejoin.equipmanage.service.IConfirmAlarmService; import com.yeejoin.equipmanage.service.IConfirmAlarmService;
...@@ -62,10 +64,10 @@ public class ConfirmAlarmController extends AbstractBaseController { ...@@ -62,10 +64,10 @@ public class ConfirmAlarmController extends AbstractBaseController {
@PostMapping(value = "/confirmAlam") @PostMapping(value = "/confirmAlam")
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "保存") @ApiOperation(value = "保存")
public void confirmAlam(@RequestBody EquipmentSpecificAlarmLog ent) { public ResponseModel confirmAlam(@RequestBody EquipmentSpecificAlarmLog ent) {
String appKey = getAppKey(); String appKey = getAppKey();
String product = getProduct(); String product = getProduct();
iConfirmAlarmService.confirmAlam(ent, appKey, product, getToken(), getUserId()); return CommonResponseUtil.success(iConfirmAlarmService.confirmAlam(ent, appKey, product, getToken(), getUserId()));
} }
@PostMapping(value = "/addConfirmAlam") @PostMapping(value = "/addConfirmAlam")
...@@ -74,7 +76,6 @@ public class ConfirmAlarmController extends AbstractBaseController { ...@@ -74,7 +76,6 @@ public class ConfirmAlarmController extends AbstractBaseController {
public void addConfirmAlam(@RequestBody EquipmentSpecificAlarmLog ent) { public void addConfirmAlam(@RequestBody EquipmentSpecificAlarmLog ent) {
String appKey = getAppKey(); String appKey = getAppKey();
String product = getProduct(); String product = getProduct();
String token = getToken();
iConfirmAlarmService.confirmAlam(ent, appKey, product, getToken(), getUserId()); iConfirmAlarmService.confirmAlam(ent, appKey, product, getToken(), getUserId());
} }
...@@ -120,7 +121,7 @@ public class ConfirmAlarmController extends AbstractBaseController { ...@@ -120,7 +121,7 @@ public class ConfirmAlarmController extends AbstractBaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "缺陷处理状态") @ApiOperation(value = "缺陷处理状态")
public IdxBizDefectVo getDefectStatus(@PathVariable String id) { public IdxBizDefectVo getDefectStatus(@PathVariable String id) {
ResponseModel<JSONObject> responseModel = idxFeign.queryDefectByAlarmLogId(id); ResponseModel<JSONObject> responseModel = idxFeign.queryDefectByBatchId(id);
JSONObject result = responseModel.getResult(); JSONObject result = responseModel.getResult();
IdxBizDefectVo vo = JSON.parseObject(JSON.toJSONString(result), IdxBizDefectVo.class); IdxBizDefectVo vo = JSON.parseObject(JSON.toJSONString(result), IdxBizDefectVo.class);
return vo; return vo;
......
package com.yeejoin.equipmanage.controller; package com.yeejoin.equipmanage.controller;
import com.yeejoin.equipmanage.common.entity.FormGroupColumn; import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnEquipDto;
import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnDto; import com.yeejoin.equipmanage.config.PersonIdentify;
import com.yeejoin.equipmanage.service.IFormGroupColumnService; import com.yeejoin.equipmanage.service.IFormInstanceEquipService;
import com.yeejoin.equipmanage.service.IFormInstanceService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
...@@ -31,15 +28,39 @@ public class FormInstanceController extends AbstractBaseController { ...@@ -31,15 +28,39 @@ public class FormInstanceController extends AbstractBaseController {
@Autowired @Autowired
private IFormInstanceService formInstanceService; private IFormInstanceEquipService formInstanceEquipService;
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "通过分组code查询列及值信息", notes = "通过分组code查询列及值信息") @ApiOperation(value = "通过分组code查询列及值信息", notes = "通过分组code查询列及值信息")
@RequestMapping(value = "/queryColumnAndValueByGroup", method = RequestMethod.GET) @RequestMapping(value = "/queryColumnAndValueByGroup", method = RequestMethod.GET)
public List<FormGroupColumnDto> queryColumnAndValueByGroup(@RequestParam String groupCode, @RequestParam(required = false) Long instanceId) { public List<FormGroupColumnEquipDto> queryColumnAndValueByGroup(@RequestParam String groupCode, @RequestParam(required = false) Long instanceId) {
return formInstanceService.queryColumnAndValueByGroup(groupCode, instanceId); return formInstanceEquipService.queryColumnAndValueByGroup(groupCode, instanceId);
} }
@PostMapping(value = "/commonSave")
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "通用保存")
@PersonIdentify
public Object save(
@RequestParam(value = "groupCode") String groupCode,
@RequestParam(value = "instanceId", required = false) String instanceId,
@RequestBody Map<String, Object> map) {
String orgCode = getOrgCode();
return formInstanceEquipService.saveForm(groupCode, orgCode, map, instanceId);
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(value = "通用更新")
@PutMapping(value = "/commonUpdate")
public Object update(
@RequestParam Long instanceId,
@RequestParam(value = "groupCode", required = false) String groupCode,
@RequestBody Map<String, Object> map) {
String orgCode = getOrgCode();
return formInstanceEquipService.updateForm(instanceId, orgCode, map, groupCode);
}
} }
...@@ -59,19 +59,19 @@ public class EquipmentDetailDownloadTemplateDto implements Serializable { ...@@ -59,19 +59,19 @@ public class EquipmentDetailDownloadTemplateDto implements Serializable {
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date productionDate; private Date productionDate;
@Excel(name = "报废年限",width = 30, orderNum = "14") // @Excel(name = "报废年限",width = 30, orderNum = "14")
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private String expiryDate; // private String expiryDate;
//
@Excel(name = "维保周期",width = 30, orderNum = "15") // @Excel(name = "维保周期",width = 30, orderNum = "15")
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private BigDecimal maintenanceCycle ; // private BigDecimal maintenanceCycle ;
@Excel(name = "投运日期",width = 30, orderNum = "16") @Excel(name = "投运时间",width = 30, orderNum = "14")
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date deliveryDate; private Date deliveryDate;
@Excel(name = "所属系统",width = 30, orderNum = "17") // @Excel(name = "所属系统",width = 30, orderNum = "17")
//@Excel(name = "所属单位",width = 30,orderNum = "12") // //@Excel(name = "所属单位",width = 30,orderNum = "12")
private String systemName; // private String systemName;
} }
...@@ -68,21 +68,21 @@ public class EquipmentDetailExcelSingleTemplateDto { ...@@ -68,21 +68,21 @@ public class EquipmentDetailExcelSingleTemplateDto {
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date productionDate; private Date productionDate;
@ExcelProperty(value = "报废年限", index = 13) // @ExcelProperty(value = "报废年限", index = 13)
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private String expiryDate; // private String expiryDate;
//
@ExcelProperty(value = "维保周期", index = 14) // @ExcelProperty(value = "维保周期", index = 14)
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private BigDecimal maintenanceCycle ; // private BigDecimal maintenanceCycle ;
@ExcelProperty(value = "投运日期", index = 15) @ExcelProperty(value = "投运时间", index = 13)
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date deliveryDate; private Date deliveryDate;
//动态下拉内容 //动态下拉内容
@ExplicitConstraint(indexNum = 16, sourceClass = RoleNameExplicitConstraint.class,method="getFireSystemList") //动态下拉内容 // @ExplicitConstraint(indexNum = 16, sourceClass = RoleNameExplicitConstraint.class,method="getFireSystemList") //动态下拉内容
@ExcelProperty(value = "所属系统", index = 16) // @ExcelProperty(value = "所属系统", index = 16)
//@Excel(name = "所属单位",width = 30,orderNum = "12") // //@Excel(name = "所属单位",width = 30,orderNum = "12")
private String systemName; // private String systemName;
} }
...@@ -69,21 +69,21 @@ public class EquipmentDetailExcelTemplateDto implements Serializable { ...@@ -69,21 +69,21 @@ public class EquipmentDetailExcelTemplateDto implements Serializable {
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date productionDate; private Date productionDate;
@ExcelProperty(value = "报废年限", index = 13) // @ExcelProperty(value = "报废年限", index = 13)
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private String expiryDate; // private String expiryDate;
//
@ExcelProperty(value = "维保周期", index = 14) // @ExcelProperty(value = "维保周期", index = 14)
//@Excel(name = "品牌", width = 30, orderNum = "4") // //@Excel(name = "品牌", width = 30, orderNum = "4")
private BigDecimal maintenanceCycle ; // private BigDecimal maintenanceCycle ;
@ExcelProperty(value = "投运时间", index = 15) @ExcelProperty(value = "投运时间", index = 13)
//@Excel(name = "品牌", width = 30, orderNum = "4") //@Excel(name = "品牌", width = 30, orderNum = "4")
private Date deliveryDate; private Date deliveryDate;
//动态下拉内容 //动态下拉内容
@ExplicitConstraint(indexNum = 16, sourceClass = RoleNameExplicitConstraint.class,method="getFireSystemList") //动态下拉内容 // @ExplicitConstraint(indexNum = 16, sourceClass = RoleNameExplicitConstraint.class,method="getFireSystemList") //动态下拉内容
@ExcelProperty(value = "所属系统", index = 16) // @ExcelProperty(value = "所属系统", index = 16)
//@Excel(name = "所属单位",width = 30,orderNum = "12") // //@Excel(name = "所属单位",width = 30,orderNum = "12")
private String systemName; // private String systemName;
} }
...@@ -25,6 +25,6 @@ public interface IdxFeign { ...@@ -25,6 +25,6 @@ public interface IdxFeign {
* @Date 2022/9/27 17:46 * @Date 2022/9/27 17:46
*/ */
@RequestMapping(value = "/defect/alarm/{alarmLogId}", method = RequestMethod.GET) @RequestMapping(value = "/defect/alarm/{alarmLogId}", method = RequestMethod.GET)
ResponseModel<JSONObject> queryDefectByAlarmLogId(@PathVariable String alarmLogId); ResponseModel<JSONObject> queryDefectByBatchId(@PathVariable String alarmLogId);
} }
...@@ -608,4 +608,9 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE ...@@ -608,4 +608,9 @@ public interface FireFightingSystemMapper extends BaseMapper<FireFightingSystemE
BigDecimal getWaterPoolLevelByEquipSpeId(@Param("equipSpeId") String equipSpeId); BigDecimal getWaterPoolLevelByEquipSpeId(@Param("equipSpeId") String equipSpeId);
List<Map<String, Object>> getEquipExpiryStatistics(@Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum);
Page<Map<String, String>> getEquipExpiryListByPage(@Param("page") Page page, @Param("bizOrgCode") String bizOrgCode, @Param("expiryDayNum") Integer expiryDayNum);
List<Map<String, Integer>> getStockEquipStatistics(@Param("bizOrgCode") String bizOrgCode);
} }
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.FormGroupColumnEquip;
/**
* 分组字段表
* @author DELL
*/
public interface FormGroupColumnEquipMapper extends BaseMapper<FormGroupColumnEquip> {
}
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.equipmanage.common.entity.FormGroupEquip;
/**
* 分组表
* @author DELL
*/
public interface FormGroupEquipMapper extends BaseMapper<FormGroupEquip> {
}
package com.yeejoin.equipmanage.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.equipmanage.common.entity.FormInstanceEquip;
import com.yeejoin.equipmanage.common.entity.dto.BuildIsRiskDTO;
import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO;
import org.apache.ibatis.annotations.Param;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
* 分组字段表
* @author DELL
*/
public interface FormInstanceEquipMapper extends BaseMapper<FormInstanceEquip> {
/**
* 实例基本信息分页查询
* @param page 分页信息
* @param params 查询条件
* @param fieldNames 字段
* @return List<Map<String,Object>>
*/
Page<Map<String,Object>> queryInstancePage(Page page,
@Param("groupCode") String groupCode,
@Param("fieldNames") Map<String,Object> fieldNames,
@Param("params") Map<String,String> params
);
/**
* 不分页查询
* @param groupCode 分组编号
* @param fieldNames 字段
* @param params 查询参数
* @return List<Map<String, Object>>
*/
List<Map<String, Object>> queryForMapList(@Param("groupCode") String groupCode,
@Param("fieldNames") Map<String, Object> fieldNames,
@Param("params") Map<String, String> params);
/**
* 查询指定节点的子
* @param parentId
* @return
*/
List<Map<String,Object>> querySpecialChildrenList(String parentId, String bizOrgCode);
/**
* 查询指定节点的子
* @param parentId
* @return
*/
List<Map<String,Object>> querySpecialChildrenListByName(String parentId, String bizOrgCode, String name);
/**
* 查询指定节点的子
* @param parentId
* @return
*/
List<Map<String,Object>> querySpecialChildrenListByBizOrgCode(@Param("parentId") String parentId, @Param("bizOrgCode") String bizOrgCode);
/**
* @Description 分页查询
* @param dto 查询参数
* @Return List<Map<String,Object>>
* @Date 2020/12/19 11:47
*/
Page queryPage(Page page, @Param("query") BuildSearchDTO dto);
/**
* @Description 不分页
* @param dto 查询参数
* @Return List<Map<String,Object>>
* @Date 2020/12/19 11:47
*/
List<Map<String,Object>> queryPage(@Param("query") BuildSearchDTO dto);
/**
* @Description 分页查询
* @param dto 查询参数
* @Return List<Map<String,Object>>
* @Date 2020/12/19 11:47
*/
Page roomPage(Page page, @Param("query") BuildSearchDTO dto);
/**
* @Description 查询列表
* @param dto 查询参数
* @Return List<Map<String,Object>>
* @Date 2020/12/19 11:47
*/
List<Map<String,Object>> roomPage(@Param("query") BuildSearchDTO dto);
/**
* @Description 根据parentId查询其下资源(楼层、房间)
* @param instanceId
* @Return List<Map<String,Object>>
* @Date 2020/12/19 15:06
*/
List<Map<String,Object>> queryFloorRoom(List<Long> instanceId);
/**
* 根据instanceId、groupType,获取建筑楼层list
* @param dto
* @return
*/
List<BuildSearchDTO> getBuildFloorList(@Param("query") BuildSearchDTO dto);
/**
* 根据instanceId,获取建筑楼层信息
* @param instanceId
* @param fileCategory
* @return
*/
LinkedHashMap<String, Object> findByInstanceId(@Param("instanceId") Long instanceId, @Param("fileCategory") String fileCategory);
List<LinkedHashMap<String, Object>> findDetailByInstanceId(@Param("instanceId") Long instanceId, @Param("fileCategory") String fileCategory);
/**
* 消防建筑视屏监控统计树
* @return
* @param bizOrgCodeList
*/
List<Map<String, Object>> getBuildVideoListCount(@Param("list") List<String> bizOrgCodeList);
/**
* 可乐建筑视屏监控统计树
* @return
*/
List<Map<String, Object>> getColaBuildVideoListCount(@Param("dto") BuildingVideoListVO dto);
/**
* 同步仓库
* @param formKeyMap
* @return
*/
int saveStucture(Map<String, Object> formKeyMap);
Map<String, String> getChildListdate(@Param("id")Long id);
void updateListChild(@Param("value")String value,
@Param("ids") List<String> ids,
@Param("fieldName") String fieldName);
/**
* 获取仓库父类详细位置
* @param id
* @return
*/
String getStuctureName(String id);
String getStuName(String id);
Long getStructureParentId(String id);
/**
* 删除仓库
* @param id
* @return
*/
int deleteStuById(Long id);
/**
* 修改仓库
*/
int updateStr(@Param("id") Long id,@Param("name") String name,@Param("fullName") String fullName,@Param("parentId")String parentId, @Param("code")String code, @Param("bizOrgCode")String bizOrgCode,@Param("bizOrgName")String bizOrgName);
/**
* 修改仓库
*/
int updateStrFullName(@Param("id") Long id,@Param("name") String name,@Param("fullName") String fullName);
/**
* 查询未设置风险区域的子风险区域列表
* @param instanceId
* @return
*/
List<BuildIsRiskDTO> getChildrenNotIsRiskList(@Param("instanceId") String instanceId);
int clearSystemId(@Param("id") Long id );
/**
* 清除绑定关系
* @param instanceId 建筑实例id
*/
void clearRegionBind(Long instanceId);
/*
* 查询id下是否还有子类货位信息
* */
List<Map<String,Object>> getParentId(Long parentId);
Map<String, String> getIdAndType(String id);
Map<String, Object> getFormInstanceById(Long instanceId);
/**
* 获取所有建筑 用于数据字典 // 需求958 导出模板需要列表获取建筑 by kongfm 2021-09-15
* @return
*/
List<LinkedHashMap<String, Object>> getAllBuilding();
Map<String, String> getBuildingToLongitudeAndLatitude(String instanceId);
List<Map<String, Long>> getBuildVideoCount();
int updateFormInstanceByInstanceAndFieldName(String name,String value ,Long instanceId);
/**
* 查询子节点
* @param id
* @return
*/
List<String> selectChildListdate(@Param("id")Long id);
int updateFormFieldValue(@Param("id") Long id, @Param("name") String name, @Param("value") String value);
}
...@@ -21,7 +21,7 @@ public interface IConfirmAlarmService extends IService<EquipmentSpecificAlarm> { ...@@ -21,7 +21,7 @@ public interface IConfirmAlarmService extends IService<EquipmentSpecificAlarm> {
Map<String ,Integer> videoList(List<String> list); Map<String ,Integer> videoList(List<String> list);
void confirmAlam(EquipmentSpecificAlarmLog ent, String appKey, String product, String token, String userId); String confirmAlam(EquipmentSpecificAlarmLog ent, String appKey, String product, String token, String userId);
/** /**
* 未处理消防告警 * 未处理消防告警
......
...@@ -12,11 +12,7 @@ import com.yeejoin.amos.feign.morphic.model.ResourceDTO; ...@@ -12,11 +12,7 @@ import com.yeejoin.amos.feign.morphic.model.ResourceDTO;
import com.yeejoin.equipmanage.common.datasync.entity.FireFightingSystem; import com.yeejoin.equipmanage.common.datasync.entity.FireFightingSystem;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity; import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO; import com.yeejoin.equipmanage.common.entity.dto.EquipTypeAmountPageDTO;
import com.yeejoin.equipmanage.common.entity.vo.EquipCountBySystemVO; import com.yeejoin.equipmanage.common.entity.vo.*;
import com.yeejoin.equipmanage.common.entity.vo.EquipTypeImgAmountVO;
import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO;
import com.yeejoin.equipmanage.common.entity.vo.EquipmentAlarmBySystemIdOrSourceIdVO;
import com.yeejoin.equipmanage.common.entity.vo.PointTreeVo;
import com.yeejoin.equipmanage.common.vo.*; import com.yeejoin.equipmanage.common.vo.*;
public interface IFireFightingSystemService extends IService<FireFightingSystemEntity> { public interface IFireFightingSystemService extends IService<FireFightingSystemEntity> {
...@@ -288,4 +284,9 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE ...@@ -288,4 +284,9 @@ public interface IFireFightingSystemService extends IService<FireFightingSystemE
Page<Map<String, Object>> getSystemInfo(Page page, String companyCode, String systemCode); Page<Map<String, Object>> getSystemInfo(Page page, String companyCode, String systemCode);
List<Map<String, Object>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum);
Page<Map<String, String>> getEquipExpiryListByPage(String bizOrgCode, Integer expiryDayNum, Page page);
List<Map<String, Integer>> getStockEquipStatistics(String bizOrgCode);
} }
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.FormGroupColumnEquip;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
public interface IFormGroupColumnEquipService extends IService<FormGroupColumnEquip> {
/**
* 查询指定分组的字段
* @param groupCode 分组
* @return List<FormGroupColumn>
*/
List<FormGroupColumnEquip> queryByGroup(String groupCode);
/**
* 枚举处理
* @param fieldName 需要处理的字段名
* @param value 需要处理的字段值
* @return Map<String, Map<String, Object>>
*/
Map<String, Map<String, Object>> processEnumData(String fieldName, String value);
}
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.FormGroup;
import com.yeejoin.equipmanage.common.entity.FormGroupEquip;
import java.util.Map;
/**
* @author DELL
*/
public interface IFormGroupEquipService extends IService<FormGroupEquip> {
/**
* @Description 根据groupCode查询
* @param groupCode
* @Return FormGroup
* @Date 2020/12/18 10:01
*/
FormGroupEquip allowOperationByGroupCode(String groupCode);
/**
* 按照唯一主键查询
* @param groupCode 编号
* @return FormGroup
*/
FormGroupEquip getByUniqueKey(String groupCode);
}
package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.FormInstanceEquip;
import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnEquipDto;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
public interface IFormInstanceEquipService extends IService<FormInstanceEquip> {
List<FormGroupColumnEquipDto> queryColumnAndValueByGroup(String groupCode, Long instanceId);
/**
* 通用表单保存
*
* @param groupCode 表单类型
* @param orgCode 公司编号
* @param map form
* @param caseId 实例ID
* @return Object
*/
Object saveForm(String groupCode, String orgCode, Map<String, Object> map, String instanceId);
/**
* 创建
*
* @param groupCode 分类
* @param companyCode 公司编码
* @param map 字段值对象
* @return Map<String, Object>
*/
Map<String, Object> createByMap(String groupCode, String companyCode, Map<String, Object> map, String caseId);
/**
* 通用表单更新
*
* @param instanceId 实例id
* @param companyCode 公司编号
* @param map form
* @return Object
*/
Object updateForm(Long instanceId, String companyCode, Map<String, Object> map, String groupCode);
/**
* 删除
*
* @param instanceId 实例id
* @return 是否成功
*/
Boolean deleteInstanceById(Long instanceId);
}
...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.FormInstance; import com.yeejoin.equipmanage.common.entity.FormInstance;
import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO; import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO;
import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnDto; import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnEquipDto;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO; import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO;
import com.yeejoin.equipmanage.common.vo.UnitAreaTreeVo; import com.yeejoin.equipmanage.common.vo.UnitAreaTreeVo;
...@@ -173,5 +173,5 @@ public interface IFormInstanceService extends IService<FormInstance> { ...@@ -173,5 +173,5 @@ public interface IFormInstanceService extends IService<FormInstance> {
*/ */
List<Map<String, Object>> getSpecialChildrenListByName(String parentId, String bizOrgCode, String name); List<Map<String, Object>> getSpecialChildrenListByName(String parentId, String bizOrgCode, String name);
List<FormGroupColumnDto> queryColumnAndValueByGroup(String groupCode, Long instanceId); List<FormGroupColumnEquipDto> queryColumnAndValueByGroup(String groupCode, Long instanceId);
} }
...@@ -178,7 +178,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -178,7 +178,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void confirmAlam(EquipmentSpecificAlarmLog ent, String appKey, String product, String token, String userId) { public String confirmAlam(EquipmentSpecificAlarmLog ent, String appKey, String product, String token, String userId) {
try { try {
AgencyUserModel userModel = remoteSecurityService.getAgencyUser(); AgencyUserModel userModel = remoteSecurityService.getAgencyUser();
ent.setConfirmUser(userModel.getUserId()); ent.setConfirmUser(userModel.getUserId());
...@@ -225,34 +225,23 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -225,34 +225,23 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
ent.setConfirmDate(new Date()); ent.setConfirmDate(new Date());
int i = 0 ; int i = 0 ;
ent.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(ent.getConfirmType())); ent.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(ent.getConfirmType()));
if (!ent.isAddDefect()) { Date date = new Date();
if (ent.getIsBatch() == 0){ SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
i = equipmentSpecificAlarmLogMapper.updateById(ent); String dateString = formatter.format(date);
}else { ent.setDefectBatchId(UUID.randomUUID().toString().replace("-", "").toLowerCase());
LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>(). if (ent.isAddDefect()) {
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId,ent.getEquipmentSpecificId()). ent.setResolveResult(dateString + " " + userModel.getRealName() + " 添加为缺陷进行消缺。");
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey,ent.getEquipmentSpecificIndexKey())
.isNull(EquipmentSpecificAlarmLog::getConfirmDate);
i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
}
} else { } else {
// 自动确警处理 ent.setResolveResult(dateString + " " + userModel.getRealName() + " 进行警情确认处理。");
EquipmentSpecific specific = equipmentSpecificMapper.selectById(ent.getEquipmentSpecificId()); }
Date date = new Date(); if (ent.getIsBatch() == 0){
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); i = equipmentSpecificAlarmLogMapper.updateById(ent);
String dateString = formatter.format(date); } else {
ent.setTraceId(null); LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>().
String equipmentName = StringUtil.isNotEmpty(specific.getCode()) ? specific.getName() + "(" + specific.getCode() + ")" : specific.getName(); eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId,ent.getEquipmentSpecificId()).
if (ent.getConfirmType().equals(AlarmTypeEnum.PB.getCode())) { eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey,ent.getEquipmentSpecificIndexKey())
ent.setAlarmReason(equipmentName + "频繁故障/误报,将设备报警信息屏蔽。"); .isNull(EquipmentSpecificAlarmLog::getConfirmDate);
} else { i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
ent.setAlarmReason(equipmentName + "引起设备报警");
}
ent.setResolveResult(dateString + "系统收到设备复归(已消除)信号,系统自动处理。");
ent.setConfirmUser("");
ent.setConfirmUserName("系统自动处理");
ent.setConfirmDate(date);
equipmentSpecificAlarmLogService.updateById(ent);
} }
//int i = confirmAlarmMapper.confirmAlam(ent); //int i = confirmAlarmMapper.confirmAlam(ent);
...@@ -297,6 +286,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ ...@@ -297,6 +286,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
mqttSendGateway.sendToMqtt(TopicEnum.ALARM_LOG_INSERT.getTopic(), jsonObject.toString()); mqttSendGateway.sendToMqtt(TopicEnum.ALARM_LOG_INSERT.getTopic(), jsonObject.toString());
} }
}); });
return ent.getDefectBatchId();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new BadRequest("确认失败"); throw new BadRequest("确认失败");
......
...@@ -220,7 +220,10 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment ...@@ -220,7 +220,10 @@ public class EquipmentServiceImpl extends ServiceImpl<EquipmentMapper, Equipment
equipment1.setImg(""); equipment1.setImg("");
} }
int savedEquipment = equipmentMapper.updateById(equipment1); int savedEquipment = equipmentMapper.updateById(equipment1);
iEquipmentDetailService.update(new UpdateWrapper<EquipmentDetail>().eq("equipment_id", equipment1.getId()).set("name", equipment1.getName())); iEquipmentDetailService.update(new UpdateWrapper<EquipmentDetail>().eq("equipment_id", equipment1.getId())
.set("name", equipment1.getName())
.set("expiry_date", equipment1.getExpiryDate())
.set("maintenance_cycle", equipment1.getMaintenanceCycle()));
JSONObject equipRuleParams = new JSONObject(); JSONObject equipRuleParams = new JSONObject();
equipRuleParams.put("name", equipment1.getName()); equipRuleParams.put("name", equipment1.getName());
equipRuleParams.put("inspectionSpecId", equipment1.getInspectionSpec()); equipRuleParams.put("inspectionSpecId", equipment1.getInspectionSpec());
......
...@@ -162,6 +162,9 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -162,6 +162,9 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
@Autowired @Autowired
private IFormInstanceService formInstanceService; private IFormInstanceService formInstanceService;
@Autowired
private IFormInstanceEquipService formInstanceEquipService;
@Value("${systemctl.dict.iot-core-param}") @Value("${systemctl.dict.iot-core-param}")
private String iotCoreParam; private String iotCoreParam;
...@@ -203,6 +206,9 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -203,6 +206,9 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
FormInstanceMapper formInstanceMapper; FormInstanceMapper formInstanceMapper;
@Autowired @Autowired
FormInstanceEquipMapper formInstanceEquipMapper;
@Autowired
EquipmentSpecificIndexMapper equipmentSpecificIndexMapper; EquipmentSpecificIndexMapper equipmentSpecificIndexMapper;
@Value("${systemctl.sync.switch}") @Value("${systemctl.sync.switch}")
...@@ -1018,7 +1024,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1018,7 +1024,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
} }
if (res > 0) { if (res > 0) {
// 删除设备动态表单扩展属性 // 删除设备动态表单扩展属性
return formInstanceService.deleteInstanceById(id); return formInstanceEquipService.deleteInstanceById(id);
} else { } else {
return false; return false;
} }
...@@ -1883,8 +1889,8 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1883,8 +1889,8 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
List<Map<String, Object>> equipSpecificScrap = equipmentSpecificIndexMapper.getEquipSpecificScrap(); List<Map<String, Object>> equipSpecificScrap = equipmentSpecificIndexMapper.getEquipSpecificScrap();
equipSpecificScrap.forEach(e->{ equipSpecificScrap.forEach(e->{
try { try {
if(e.get("wesExpiry") != null) { if(e.get("weExpiry") != null) {
int year = Integer.parseInt(e.get("wesExpiry").toString()); int year = Integer.parseInt(e.get("weExpiry").toString());
Date productDate = DateUtils.dateParse(e.get("product").toString(),"yyyy-MM-dd'T'HH:mm"); Date productDate = DateUtils.dateParse(e.get("product").toString(),"yyyy-MM-dd'T'HH:mm");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.setTime(productDate); calendar.setTime(productDate);
...@@ -1912,7 +1918,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM ...@@ -1912,7 +1918,7 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
model.setTitle("报废到期提醒"); model.setTitle("报废到期提醒");
String equipName = map.get("name").toString(); String equipName = map.get("name").toString();
String location = map.get("sname").toString() + map.get("position").toString() ; String location = map.get("position").toString() + map.get("area").toString();
String body = String.format("%s-%s于%s报废,请提前更换处理", equipName, location, scrapTime); String body = String.format("%s-%s于%s报废,请提前更换处理", equipName, location, scrapTime);
String join = String.format("设备还剩%s天报废,请提前更换", i); String join = String.format("设备还剩%s天报废,请提前更换", i);
......
...@@ -1999,4 +1999,23 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste ...@@ -1999,4 +1999,23 @@ public class FireFightingSystemServiceImpl extends ServiceImpl<FireFightingSyste
} }
return fireFightingSystemMapper.getSystemInfo(page, bizOrgCode, null); return fireFightingSystemMapper.getSystemInfo(page, bizOrgCode, null);
} }
@Override
public List<Map<String, Object>> getEquipExpiryStatistics(String bizOrgCode, Integer expiryDayNum) {
List<Map<String, Object>> equipExpiryStatistics = fireFightingSystemMapper.getEquipExpiryStatistics(bizOrgCode, expiryDayNum);
equipExpiryStatistics.forEach(item -> {
item.put("value", Integer.parseInt(item.get("value").toString()));
});
return equipExpiryStatistics;
}
@Override
public Page<Map<String, String>> getEquipExpiryListByPage(String bizOrgCode, Integer expiryDayNum, Page page) {
return fireFightingSystemMapper.getEquipExpiryListByPage(page, bizOrgCode, expiryDayNum);
}
@Override
public List<Map<String, Integer>> getStockEquipStatistics(String bizOrgCode) {
return fireFightingSystemMapper.getStockEquipStatistics(bizOrgCode);
}
} }
package com.yeejoin.equipmanage.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.equipmanage.common.entity.FormGroupColumnEquip;
import com.yeejoin.equipmanage.common.enums.DataOption;
import com.yeejoin.equipmanage.mapper.FormGroupColumnEquipMapper;
import com.yeejoin.equipmanage.service.IFormGroupColumnEquipService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.component.cache.Redis;
import org.typroject.tyboot.component.cache.enumeration.CacheType;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.StringUtil;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @author DELL
*/
@Service
public class FormGroupColumnEquipServiceImpl extends ServiceImpl<FormGroupColumnEquipMapper, FormGroupColumnEquip> implements IFormGroupColumnEquipService {
@Autowired
private RedisUtils redisUtils;
@Override
public List<FormGroupColumnEquip> queryByGroup(String groupCode) {
QueryWrapper<FormGroupColumnEquip> wrapper = new QueryWrapper<>();
wrapper.eq("group_code",groupCode);
return this.baseMapper.selectList(wrapper);
}
@Override
public Map<String, Map<String, Object>> processEnumData(String fieldName, String value) {
Map<String, Map<String, Object>> returnMap = new HashMap<>();
DataOption option = DataOption.getInstance(fieldName);
if (!ValidationUtil.isEmpty(option)) {
try {
String cacheKey = Redis.genKey(CacheType.ERASABLE.name(), "ENUM_DICT_VALUE",option.name());
List<DictionarieValueModel> valueModels = redisUtils.get(cacheKey) == null ? new ArrayList<>() : JSONObject.parseArray(redisUtils.get(cacheKey).toString(),DictionarieValueModel.class);
if (ValidationUtil.isEmpty(valueModels)) {
valueModels = FeignUtil.remoteCall(() -> Systemctl.dictionarieClient.dictValues(option.name()));
redisUtils.set(cacheKey, JSONObject.toJSONString(valueModels),60*60*24);
}
if (!ValidationUtil.isEmpty(valueModels)) {
Map<String, Object> map = new HashMap<>();
Map dictValueMap = Bean.listToMap(valueModels, "dictDataKey", "dictDataValue", DictionarieValueModel.class);
String dictKeys[] = StringUtil.string2Array(value);
for (String dictKey : dictKeys){
map.put(dictKey, dictValueMap.get(dictKey));
}
returnMap.put(fieldName + "_dictValue", map);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new RuntimeException("枚举类型处理失败.");
}
}
return returnMap;
}
}
package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.equipmanage.common.entity.FormGroup;
import com.yeejoin.equipmanage.common.entity.FormGroupEquip;
import com.yeejoin.equipmanage.mapper.FormGroupEquipMapper;
import com.yeejoin.equipmanage.mapper.FormGroupMapper;
import com.yeejoin.equipmanage.service.IFormGroupEquipService;
import com.yeejoin.equipmanage.service.IFormGroupService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
public class FormGroupEquipServiceImpl extends ServiceImpl<FormGroupEquipMapper, FormGroupEquip> implements IFormGroupEquipService {
@Value("${systemctl.dict.allow-operation}")
private String allowOperation;
/**
* @param groupCode
* @Description 根据groupCode查询
* @Return FormGroup
* @Date 2020/12/18 10:01
*/
@Override
public FormGroupEquip allowOperationByGroupCode(String groupCode) {
FormGroupEquip formGroup = this.getOne(new QueryWrapper<FormGroupEquip>()
.lambda()
.eq(FormGroupEquip::getGroupCode, groupCode));
Optional.ofNullable(formGroup).orElseThrow(() -> new BadRequest("分组CODE查询formGroup不存在"));
return formGroup;
}
@Override
public FormGroupEquip getByUniqueKey(String groupCode) {
QueryWrapper<FormGroupEquip> wrapper = new QueryWrapper<>();
wrapper.eq("group_code", groupCode);
return this.getOne(wrapper);
}
}
...@@ -13,7 +13,7 @@ import com.yeejoin.equipmanage.common.entity.FormGroupColumn; ...@@ -13,7 +13,7 @@ import com.yeejoin.equipmanage.common.entity.FormGroupColumn;
import com.yeejoin.equipmanage.common.entity.FormInstance; import com.yeejoin.equipmanage.common.entity.FormInstance;
import com.yeejoin.equipmanage.common.entity.SourceFile; import com.yeejoin.equipmanage.common.entity.SourceFile;
import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO; import com.yeejoin.equipmanage.common.entity.dto.BuildSearchDTO;
import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnDto; import com.yeejoin.equipmanage.common.entity.dto.FormGroupColumnEquipDto;
import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO; import com.yeejoin.equipmanage.common.entity.vo.BuildingVideoListVO;
import com.yeejoin.equipmanage.common.enums.GroupCodeEnum; import com.yeejoin.equipmanage.common.enums.GroupCodeEnum;
import com.yeejoin.equipmanage.common.enums.GroupColumnDataType; import com.yeejoin.equipmanage.common.enums.GroupColumnDataType;
...@@ -574,13 +574,13 @@ public class FormInstanceServiceImpl extends ServiceImpl<FormInstanceMapper, For ...@@ -574,13 +574,13 @@ public class FormInstanceServiceImpl extends ServiceImpl<FormInstanceMapper, For
} }
@Override @Override
public List<FormGroupColumnDto> queryColumnAndValueByGroup(String groupCode, Long instanceId) { public List<FormGroupColumnEquipDto> queryColumnAndValueByGroup(String groupCode, Long instanceId) {
List<FormGroupColumnDto> list = new ArrayList<>(); List<FormGroupColumnEquipDto> list = new ArrayList<>();
List<FormGroupColumn> columnList = iFormGroupColumnService.queryByGroup(groupCode); List<FormGroupColumn> columnList = iFormGroupColumnService.queryByGroup(groupCode);
if (!CollectionUtils.isEmpty(columnList)) { if (!CollectionUtils.isEmpty(columnList)) {
Map<String, Object> map = queryForMap(instanceId); Map<String, Object> map = queryForMap(instanceId);
columnList.forEach(x -> { columnList.forEach(x -> {
FormGroupColumnDto dto = new FormGroupColumnDto(); FormGroupColumnEquipDto dto = new FormGroupColumnEquipDto();
BeanUtils.copyProperties(x, dto); BeanUtils.copyProperties(x, dto);
if (!map.isEmpty()) { if (!map.isEmpty()) {
dto.setFieldValue(map.get(dto.getFieldName()).toString()); dto.setFieldValue(map.get(dto.getFieldName()).toString());
......
...@@ -29,7 +29,6 @@ import org.springframework.beans.BeanUtils; ...@@ -29,7 +29,6 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.security.core.parameters.P;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization; import org.springframework.transaction.support.TransactionSynchronization;
...@@ -38,18 +37,14 @@ import org.springframework.util.CollectionUtils; ...@@ -38,18 +37,14 @@ import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.lang.reflect.Array;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.BigInteger; import java.math.BigInteger;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
//import net.sf.json.JSONObject;
/** /**
* @author keyong * @author keyong
...@@ -601,24 +596,39 @@ public class MqttReceiveServiceImpl implements MqttReceiveService { ...@@ -601,24 +596,39 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
public static List<EquipmentSpecificAlarmLog> upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey, public static List<EquipmentSpecificAlarmLog> upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey,
String traceId, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService, String traceId, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService,
boolean flag) { boolean flag) {
LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper(); LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(EquipmentSpecificAlarmLog::getIotCode, iotCode); queryWrapper.eq(EquipmentSpecificAlarmLog::getIotCode, iotCode);
queryWrapper.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, equipmentSpecificIndexKey); queryWrapper.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, equipmentSpecificIndexKey);
queryWrapper.ne(EquipmentSpecificAlarmLog::getStatus, AlarmStatusEnum.HF.getCode()); queryWrapper.ne(EquipmentSpecificAlarmLog::getStatus, AlarmStatusEnum.HF.getCode());
List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogService.getBaseMapper().selectList(queryWrapper); List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogService.getBaseMapper().selectList(queryWrapper);
logs.forEach(x -> { if(!logs.isEmpty()){
x.setCleanTime(new Date()); EquipmentSpecificAlarmLog log = logs.get(0);
x.setStatus(AlarmStatusEnum.HF.getCode()); EquipmentSpecific specific = equipmentSpecificMapper.selectById(log.getEquipmentSpecificId());
x.setEquipmentSpecificIndexValue(TrueOrFalseEnum.fake.value); Date date = new Date();
if (!StringUtils.isEmpty(traceId)) { logs.forEach(x -> {
x.setTraceId(traceId); x.setCleanTime(new Date());
} x.setStatus(AlarmStatusEnum.HF.getCode());
}); if (!flag) {
x.setConfirmType(x.getType());
if (!logs.isEmpty()) { x.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(x.getType()));
String equipmentName = StringUtil.isNotEmpty(specific.getCode()) ? specific.getName() + "(" + specific.getCode() + ")" : specific.getName();
if (x.getType().equals(AlarmTypeEnum.PB.getCode())) {
x.setAlarmReason(equipmentName + "频繁故障/误报,将设备报警信息屏蔽。");
} else {
x.setAlarmReason(equipmentName + "引起设备报警");
}
x.setResolveResult(date + "系统收到设备复归(已消除)信号,系统自动处理。");
x.setConfirmUser("");
x.setConfirmUserName("系统自动处理");
x.setConfirmDate(date);
}
x.setEquipmentSpecificIndexValue(TrueOrFalseEnum.fake.value);
if (!StringUtils.isEmpty(traceId)) {
x.setTraceId(traceId);
}
});
equipmentSpecificAlarmLogService.updateBatchById(logs); equipmentSpecificAlarmLogService.updateBatchById(logs);
} }
if (flag) { if (flag) {
List<EquipmentSpecificIndex> indexList = equipmentSpecificIndexService.getEquipmentSpeIndexBySpeIotCode(iotCode); List<EquipmentSpecificIndex> indexList = equipmentSpecificIndexService.getEquipmentSpeIndexBySpeIotCode(iotCode);
publishDataToCanvas(indexList); publishDataToCanvas(indexList);
......
...@@ -22,10 +22,7 @@ import org.springframework.stereotype.Service; ...@@ -22,10 +22,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -128,6 +125,7 @@ public class ScrapServiceImpl extends ServiceImpl<ScrapMapper, Scrap> implements ...@@ -128,6 +125,7 @@ public class ScrapServiceImpl extends ServiceImpl<ScrapMapper, Scrap> implements
StockDetail stockDetail = new StockDetail(); StockDetail stockDetail = new StockDetail();
stockDetail.setId(x.getStockDetailId()); stockDetail.setId(x.getStockDetailId());
stockDetail.setStatus("7"); stockDetail.setStatus("7");
stockDetail.setUpdateDate(new Date());
stockDetailIds.add(stockDetail); stockDetailIds.add(stockDetail);
}); });
//修改库存状态 //修改库存状态
......
package com.yeejoin.equipmanage.service.impl; package com.yeejoin.equipmanage.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
...@@ -8,6 +9,7 @@ import java.util.stream.Collectors; ...@@ -8,6 +9,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import com.yeejoin.equipmanage.common.utils.*; import com.yeejoin.equipmanage.common.utils.*;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -609,8 +611,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements ...@@ -609,8 +611,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
AtomicReference<String> fightSysIds = new AtomicReference<>(""); AtomicReference<String> fightSysIds = new AtomicReference<>("");
String fightingSysCodes = equipmentDetailDownloadVOS.getFightingSysCodes(); String fightingSysCodes = equipmentDetailDownloadVOS.getFightingSysCodes();
if (StringUtils.isNotBlank(fightingSysCodes)) { if (StringUtils.isNotBlank(fightingSysCodes)) {
String[] idsArr = fightingSysCodes.split("-"); String[] codes = new String[]{};
List<FireFightingSystemEntity> fightingSystemList = fireFightingSystemService.getFightingSysByCodes(idsArr); String[] idsArr1 = fightingSysCodes.split("-");
String[] idsArr2 = fightingSysCodes.split(",");
codes = idsArr1.length >= idsArr2.length ? idsArr1 : idsArr2;
List<FireFightingSystemEntity> fightingSystemList = fireFightingSystemService.getFightingSysByCodes(codes);
if (!fightingSystemList.isEmpty()) { if (!fightingSystemList.isEmpty()) {
fightingSystemList.stream().forEach(x -> { fightingSystemList.stream().forEach(x -> {
String sysCodes = fightSysIds.get(); String sysCodes = fightSysIds.get();
...@@ -640,9 +645,9 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements ...@@ -640,9 +645,9 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
equipmentDetail.setName(equipmentDetailDownloadVOS.getName()); equipmentDetail.setName(equipmentDetailDownloadVOS.getName());
equipmentDetail.setArea(equipmentDetailDownloadVOS.getDescription()); equipmentDetail.setArea(equipmentDetailDownloadVOS.getDescription());
equipmentDetail.setProductionDate(equipmentDetailDownloadVOS.getProductionDate()); equipmentDetail.setProductionDate(equipmentDetailDownloadVOS.getProductionDate());
equipmentDetail.setExpiryDate(equipmentDetailDownloadVOS.getExpiryDate()); equipmentDetail.setExpiryDate(ObjectUtils.isEmpty(equipment.getExpiryDate()) ? "" : String.valueOf(equipment.getExpiryDate()));
equipmentDetail.setDeliveryDate(equipmentDetailDownloadVOS.getDeliveryDate()); equipmentDetail.setDeliveryDate(equipmentDetailDownloadVOS.getDeliveryDate());
equipmentDetail.setMaintenanceCycle(equipmentDetailDownloadVOS.getMaintenanceCycle()); equipmentDetail.setMaintenanceCycle(ObjectUtils.isEmpty(equipment.getMaintenanceCycle()) ? null : BigDecimal.valueOf(equipment.getMaintenanceCycle()));
// 导入新增所属单位 // 导入新增所属单位
...@@ -685,10 +690,10 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements ...@@ -685,10 +690,10 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
} }
if (StringUtils.isNotBlank(equipmentDetailDownloadVOS.getSystemName())) { // if (StringUtils.isNotBlank(equipmentDetailDownloadVOS.getSystemName())) {
String[] SystemName = equipmentDetailDownloadVOS.getSystemName().split("@"); // String[] SystemName = equipmentDetailDownloadVOS.getSystemName().split("@");
equipmentSpecific.setSystemId(SystemName[1]); // equipmentSpecific.setSystemId(SystemName[1]);
} // }
equipmentSpecificMapper.insert(equipmentSpecific); equipmentSpecificMapper.insert(equipmentSpecific);
StockServiceImpl controllerProxy = SpringUtils.getBean(StockServiceImpl.class); StockServiceImpl controllerProxy = SpringUtils.getBean(StockServiceImpl.class);
//添加对于装备类型统计数据的刷新 //添加对于装备类型统计数据的刷新
......
...@@ -326,13 +326,16 @@ public class ExcelServiceImpl { ...@@ -326,13 +326,16 @@ public class ExcelServiceImpl {
SignDto dto = new SignDto(); SignDto dto = new SignDto();
if(par!=null && par.size()>0) { if(par!=null && par.size()>0) {
String date =par.containsKey("date")?par.get("date").toString():null; String date =par.containsKey("date")?par.get("date").toString():null;
String bizOrgCode =par.containsKey("bizOrgCode")?par.get("bizOrgCode").toString():null; // String bizOrgCode =par.containsKey("bizOrgCode")?par.get("bizOrgCode").toString():null;
String bizOrgName =par.containsKey("bizOrgName")?par.get("bizOrgName").toString():null; String bizOrgName =par.containsKey("bizOrgName")?par.get("bizOrgName").toString():null;
String name =par.containsKey("name")?par.get("name").toString():null; String name =par.containsKey("name")?par.get("name").toString():null;
String type =par.containsKey("type")?par.get("type").toString():null; String type =par.containsKey("type")?par.get("type").toString():null;
String signTimeBIGGER =par.containsKey("signTimeBIGGER")?par.get("signTimeBIGGER").toString():null; String signTimeBIGGER =par.containsKey("signTimeBIGGER")?par.get("signTimeBIGGER").toString():null;
String signTimeLESS =par.containsKey("signTimeLESS")?par.get("signTimeLESS").toString():null; String signTimeLESS =par.containsKey("signTimeLESS")?par.get("signTimeLESS").toString():null;
dto.setBizOrgCode(bizOrgCode); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String companyId = reginParams.getPersonIdentity().getCompanyId();
OrgUsr orgUsr = orgUsrMapper.queryBySequenceNbr(companyId);
dto.setBizOrgCode(orgUsr.getBizOrgCode());
dto.setDate(date); dto.setDate(date);
dto.setBizOrgName(bizOrgName); dto.setBizOrgName(bizOrgName);
dto.setName(name); dto.setName(name);
...@@ -850,7 +853,7 @@ public class ExcelServiceImpl { ...@@ -850,7 +853,7 @@ public class ExcelServiceImpl {
String relationship = firefightersContacts.getRelationship().split("@")[1]; String relationship = firefightersContacts.getRelationship().split("@")[1];
firefightersContacts.setRelationship(relationship); firefightersContacts.setRelationship(relationship);
} }
if (!ObjectUtils.isEmpty(item.getPeopleType()) && item.getPeopleType().contains("@") && "2".equals(item.getPeopleType().split("@")[1])) { if (!ObjectUtils.isEmpty(item.getPeopleType()) && item.getPeopleType().contains("@") && "1601".equals(item.getPeopleType().split("@")[1])) {
// 保存消防队伍人员和紧急联系人 // 保存消防队伍人员和紧急联系人
Firefighters firefighters = new Firefighters(); Firefighters firefighters = new Firefighters();
firefighters = Bean.toPo(item, firefighters); firefighters = Bean.toPo(item, firefighters);
......
...@@ -273,4 +273,104 @@ ...@@ -273,4 +273,104 @@
REPLACE INTO `wl_form_group`(`id`, `group_name`, `group_code`, `group_type`, `allow_operation`, `creator_id`, `create_date`) VALUES (132828674827, '消防水池装置', '92010700', 'equip', 'edit,delete', 2581805, '2022-10-09 03:36:44'); REPLACE INTO `wl_form_group`(`id`, `group_name`, `group_code`, `group_type`, `allow_operation`, `creator_id`, `create_date`) VALUES (132828674827, '消防水池装置', '92010700', 'equip', 'edit,delete', 2581805, '2022-10-09 03:36:44');
</sql> </sql>
</changeSet> </changeSet>
<changeSet author="keyong" id="202210131888-1">
<preConditions onFail="MARK_RAN">
<tableExists tableName="wl_equipment"/>
</preConditions>
<comment>添加基础字段</comment>
<sql>
REPLACE INTO `wl_equipment`(`id`, `name`, `code`, `category_id`, `country`, `maintenance_cycle`, `check_cycle`, `remark`, `management_style`, `reviser_id`, `date_updated`, `creater_id`, `unit_id`, `made_in`, `manufacturer`, `img`, `video`, `mark_specification`, `supplier_id`, `pref_quota`, `create_date`, `company_name`, `department_orgcode`, `department_name`, `inspection_spec`, `maintenance_spec`, `area`, `is_iot`, `clean_type`, `expiry_date`) VALUES (1578945741864742914, '消防水箱', '93060600HQK44', 1547790305762250754, NULL, NULL, NULL, NULL, NULL, NULL, '2022-10-09 11:10:28', NULL, 55, NULL, NULL, 'upload/state_grid/studio_normalapp_3056965/D0D194CE38EA9F604B401F1BFCC31975.jpg', NULL, NULL, NULL, NULL, '2022-10-09 11:09:35', NULL, NULL, NULL, NULL, NULL, NULL, '1', '0', NULL);
</sql>
</changeSet>
<changeSet author="keyong" id="202210131888-2">
<preConditions onFail="MARK_RAN">
<not>
<columnExists tableName="wl_equipment_specific_alarm_log" columnName="defect_batch_id"/>
</not>
</preConditions>
<comment>新增属性字段 defect_batch_id</comment>
<sql>
alter table `wl_equipment_specific_alarm_log` add column `defect_batch_id` varchar(64) DEFAULT NULL COMMENT '缺陷表批次号';
</sql>
</changeSet>
<changeSet author="ls" id="202207221028-1">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="wl_form_group_column_equip"/>
</not>
</preConditions>
<comment>create table wl_form_group_column_equip 分组字段表</comment>
<sql>
CREATE TABLE `wl_form_group_column_equip` (
`id` bigint(20) NOT NULL,
`field_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '字段名',
`field_label` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '中文名',
`data_type` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '数据类型:文本,数字,枚举,日期',
`group_id` bigint(20) NOT NULL COMMENT '字段分组主键',
`query_strategy` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '查询策略;全等,模糊,区间',
`not_null` bit(1) NOT NULL DEFAULT b'0' COMMENT '不能为空',
`group_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '所属分组编号',
`creator_id` bigint(20) NOT NULL COMMENT '创建者',
`create_date` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '创建日期',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `unique_idx_group_code_file_name`(`group_code`, `field_name`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '分组字段表' ROW_FORMAT = Dynamic;
</sql>
</changeSet>
<changeSet author="ls" id="202207221028-2">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="wl_form_group_equip"/>
</not>
</preConditions>
<comment>create table wl_form_group_equip 分组表</comment>
<sql>
CREATE TABLE `wl_form_group_equip` (
`id` bigint(20) NOT NULL COMMENT '物理主键',
`group_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分组名称',
`group_code` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '分组编号',
`group_type` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '分组类型(点位图过滤用)',
`allow_operation` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '允许的操作(逗号分隔ids)',
`creator_id` bigint(20) NOT NULL COMMENT '更新者id',
`create_date` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新日期',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `unique_idx_group_code`(`group_code`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '分组表' ROW_FORMAT = Dynamic;
</sql>
</changeSet>
<changeSet author="ls" id="202207221028-3">
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="wl_form_instance_equip"/>
</not>
</preConditions>
<comment>create table wl_form_instance_equip 实例表</comment>
<sql>
CREATE TABLE `wl_form_instance_equip` (
`id` bigint(20) NOT NULL,
`field_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '字段名',
`field_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '中文名',
`data_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '数据类型:文本,数字,枚举,日期',
`group_type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分组类型(冗余字段便于查询)',
`group_id` bigint(20) NOT NULL COMMENT '字段分组id',
`field_value` varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '动态配置字段的值',
`instance_id` bigint(20) NOT NULL COMMENT '设备实例id',
`group_column_id` bigint(20) NOT NULL COMMENT '字段定义信息的主键',
`query_strategy` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '查询策略;全等,模糊,区间',
`group_code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分组编号',
`creator_id` bigint(20) NOT NULL COMMENT '创建者',
`create_date` datetime(0) NOT NULL ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '创建日期',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `u_idx_instance_id`(`instance_id`, `field_name`) USING BTREE,
INDEX `idx_group_code`(`group_code`) USING BTREE,
INDEX `pk_build_instance_id`(`instance_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '实例表' ROW_FORMAT = Dynamic;
</sql>
</changeSet>
</databaseChangeLog> </databaseChangeLog>
\ No newline at end of file
...@@ -127,6 +127,6 @@ ...@@ -127,6 +127,6 @@
</if> </if>
</where> </where>
ORDER BY ORDER BY
report_date_desc DESC create_date DESC
</select> </select>
</mapper> </mapper>
...@@ -51,7 +51,8 @@ ...@@ -51,7 +51,8 @@
confirm_date, confirm_date,
(SELECT GROUP_CONCAT(fem.name) FROM `f_fire_fighting_system` fem WHERE find_in_set(fem.id,spe.system_id)) as systemName, (SELECT GROUP_CONCAT(fem.name) FROM `f_fire_fighting_system` fem WHERE find_in_set(fem.id,spe.system_id)) as systemName,
if(ala.clean_time is null, '未消除', '已消除') AS cleanStatus, if(ala.clean_time is null, '未消除', '已消除') AS cleanStatus,
ala.clean_time ala.clean_time,
ala.defect_batch_id
from from
wl_equipment_specific_alarm_log as ala wl_equipment_specific_alarm_log as ala
left join wl_equipment_specific as spe on spe.id = ala.equipment_specific_id left join wl_equipment_specific as spe on spe.id = ala.equipment_specific_id
......
...@@ -4,56 +4,54 @@ ...@@ -4,56 +4,54 @@
<select id="queryEquipmenInfo" resultType="com.yeejoin.equipmanage.common.vo.EquipmentManageVo"> <select id="queryEquipmenInfo" resultType="com.yeejoin.equipmanage.common.vo.EquipmentManageVo">
select select
sys.id as id, sys.id as id,
sys.name as name, sys.name as name,
sys.code as code, sys.code as code,
sys.form_group_id, sys.form_group_id,
sys.instance_id, sys.instance_id,
sys.contro_box_build as controBoxBuildId, date_format(sys.install_date,'%Y-%m-%d') AS installDate,
(select full_name from wl_warehouse_structure where id = sys.contro_box_build) as controBoxBuildName, date_format(sys.first_maintenance_date,'%Y-%m-%d') AS firstMaintenanceDate,
date_format(sys.install_date,'%Y-%m-%d') AS installDate, sys.charge_person_name as chargePerson,
date_format(sys.first_maintenance_date,'%Y-%m-%d') AS firstMaintenanceDate, (select name from wl_manufacturer_info where id = construction_unit) as constructionUnit,
sys.charge_person_name as chargePerson, (select name from wl_manufacturer_info where id = maintenance_unit) as maintenanceUnit,
(select name from wl_manufacturer_info where id = construction_unit) as constructionUnit, wec.name as systemType,
(select name from wl_manufacturer_info where id = maintenance_unit) as maintenanceUnit, sys.system_type as systemTypeCode,
(select name from wl_equipment_category where id = system_type) as systemType, sys.construction_unit as constructionUnitCode,
sys.system_type as systemTypeCode, sys.maintenance_unit as maintenanceUnitCode,
sys.construction_unit as constructionUnitCode, sys.maintenance_frequency as maintenanceFrequency,
sys.maintenance_unit as maintenanceUnitCode, sys.biz_org_code as bizOrgCode,
sys.maintenance_frequency as maintenanceFrequency, sys.biz_org_name as bizOrgName,
sys.biz_org_code as bizOrgCode, sys.scene_id as sceneId,
sys.biz_org_name as bizOrgName, sys.design_org,
sys.scene_id as sceneId, sys.lead_designer,
sys.design_org, sys.design_org_telephone,
sys.lead_designer, (select count(1) from `wl_equipment_specific` es where find_in_set(sys.id,es.system_id) and es.single = true ) equipCount,
sys.design_org_telephone, wws.full_name as fullName
(select count(1) from `wl_equipment_specific` es where find_in_set(sys.id,es.system_id) and es.single = true ) equipCount, from
wws.full_name as fullName f_fire_fighting_system as sys
from left join wl_warehouse_structure wws on wws.id = sys.contro_box_build
f_fire_fighting_system as sys LEFT JOIN wl_equipment_category wec ON wec.id = sys.system_type
left join wl_warehouse_structure wws on wws.id = sys.contro_box_build where 1=1
<where> <if test="equimentName != null and equimentName !='' and equimentCode !='null' ">
<if test="equimentName != null and equimentName !='' and equimentCode !='null' "> AND sys.NAME like CONCAT('%',#{equimentName},'%')
AND sys.name like CONCAT('%',#{equimentName},'%') </if>
</if> <if test="equimentCode != null and equimentCode !='' and equimentCode !='null' ">
<if test="equimentCode != null and equimentCode !='' and equimentCode !='null' "> AND sys.CODE like CONCAT('%',#{equimentCode},'%')
AND sys.code like CONCAT('%',#{equimentCode},'%') </if>
</if> <if test="nameOrCode != null and nameOrCode != ''">
<if test="nameOrCode != null and nameOrCode != ''"> AND (sys.CODE like CONCAT('%',#{nameOrCode},'%') or sys.NAME like CONCAT('%',#{nameOrCode},'%') OR wec.`name` like CONCAT('%',#{nameOrCode},'%'))
AND (sys.code like CONCAT('%',#{nameOrCode},'%') or sys.NAME like CONCAT('%',#{equimentName},'%')) </if>
</if> <if test="construction != 'all' ">
<if test="construction != 'all' "> AND sys.CONSTRUCTION_UNIT = #{construction}
AND sys.CONSTRUCTION_UNIT = #{construction} </if>
</if> <if test="maintenance != 'all' ">
<if test="maintenance != 'all' "> AND sys.MAINTENANCE_UNIT = #{maintenance}
AND sys.MAINTENANCE_UNIT = #{maintenance} </if>
</if> <if test="bizOrgCode != null and bizOrgCode != ''">
<if test="bizOrgCode != null and bizOrgCode != ''"> AND sys.biz_org_code like CONCAT(#{bizOrgCode},'%')
AND sys.biz_org_code like CONCAT(#{bizOrgCode},'%') </if>
</if> <if test="formGroupId != null and formGroupId != '' and formGroupId != '-1'">
<if test="formGroupId != null and formGroupId != '' and formGroupId != '-1'"> AND sys.form_group_id = #{formGroupId}
AND sys.form_group_id = #{formGroupId} </if>
</if>
</where>
order by sys.id DESC order by sys.id DESC
LIMIT #{spage},#{pageSize} LIMIT #{spage},#{pageSize}
</select> </select>
......
...@@ -472,7 +472,8 @@ ...@@ -472,7 +472,8 @@
wes.position, wes.position,
wes.name, wes.name,
we.expiry_date as weExpiry, we.expiry_date as weExpiry,
wed.expiry_date as wesExpiry, <!-- wed.expiry_date as wesExpiry,-->
wed.area as area,
wed.production_date as product wed.production_date as product
from wl_equipment_specific wes from wl_equipment_specific wes
left join wl_equipment_detail wed on wes.equipment_detail_id = wed.id left join wl_equipment_detail wed on wes.equipment_detail_id = wed.id
......
...@@ -4760,7 +4760,7 @@ ...@@ -4760,7 +4760,7 @@
LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id
LEFT JOIN wl_equipment e ON e.id = ed.equipment_id LEFT JOIN wl_equipment e ON e.id = ed.equipment_id
LEFT JOIN wl_equipment_category ec ON e.category_id = ec.id LEFT JOIN wl_equipment_category ec ON e.category_id = ec.id
LEFT JOIN wl_form_instance fi ON fi.instance_id = es.id LEFT JOIN wl_form_instance_equip fi ON fi.instance_id = es.id
WHERE WHERE
ed.`code` LIKE '92031900%' ed.`code` LIKE '92031900%'
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%') AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
...@@ -4878,14 +4878,14 @@ ...@@ -4878,14 +4878,14 @@
max( CASE WHEN ei.equipment_index_key = 'FHS_PipePressureDetector_PipePressure' THEN DATE_FORMAT( ei.`update_date`, '%m-%d %H:%i:%S' ) END ), max( CASE WHEN ei.equipment_index_key = 'FHS_PipePressureDetector_PipePressure' THEN DATE_FORMAT( ei.`update_date`, '%m-%d %H:%i:%S' ) END ),
'--' '--'
) AS nowPressureDate, ) AS nowPressureDate,
max( CASE WHEN fi.field_name = 'lowLevel' THEN fi.field_value END ) AS minLevel, max( CASE WHEN fi.field_name = 'minPressure' THEN fi.field_value END ) AS minLevel,
max( CASE WHEN fi.field_name = 'highLevel' THEN fi.field_value END ) AS maxLevel max( CASE WHEN fi.field_name = 'maxPressure' THEN fi.field_value END ) AS maxLevel
FROM FROM
wl_equipment_specific es wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id
LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id
LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id
LEFT JOIN wl_form_instance fi ON fi.instance_id = es.id LEFT JOIN wl_form_instance_equip fi ON fi.instance_id = es.id
WHERE WHERE
ed.`code` LIKE '92011000%' ed.`code` LIKE '92011000%'
<!-- AND es.iot_code IS NOT NULL--> <!-- AND es.iot_code IS NOT NULL-->
...@@ -4913,7 +4913,7 @@ ...@@ -4913,7 +4913,7 @@
LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id LEFT JOIN wl_equipment_detail ed ON es.equipment_detail_id = ed.id
LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id
LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id LEFT JOIN wl_equipment_specific_index ei ON es.id = ei.equipment_specific_id
LEFT JOIN wl_form_instance fi ON fi.instance_id = es.id LEFT JOIN wl_form_instance_equip fi ON fi.instance_id = es.id
WHERE WHERE
ed.`code` LIKE '92010700%' ed.`code` LIKE '92010700%'
AND es.iot_code IS NOT NULL AND es.iot_code IS NOT NULL
...@@ -4991,7 +4991,7 @@ ...@@ -4991,7 +4991,7 @@
0, 0,
max( CASE WHEN fi.field_name = 'maxLevel' THEN fi.field_value END )) AS maxValues max( CASE WHEN fi.field_name = 'maxLevel' THEN fi.field_value END )) AS maxValues
FROM FROM
wl_form_instance fi wl_form_instance_equip fi
WHERE WHERE
fi.instance_id = #{equipSpeId} fi.instance_id = #{equipSpeId}
</select> </select>
...@@ -5011,7 +5011,7 @@ ...@@ -5011,7 +5011,7 @@
0, 0,
max( CASE WHEN fi.field_name = 'maxPressure' THEN fi.field_value END )) AS maxValues max( CASE WHEN fi.field_name = 'maxPressure' THEN fi.field_value END )) AS maxValues
FROM FROM
wl_form_instance fi wl_form_instance_equip fi
WHERE WHERE
fi.instance_id = #{equipSpeId} fi.instance_id = #{equipSpeId}
</select> </select>
...@@ -5042,4 +5042,130 @@ ...@@ -5042,4 +5042,130 @@
WHERE WHERE
equipment_specific_id = #{equipSpeId} equipment_specific_id = #{equipSpeId}
</select> </select>
<select id="getEquipExpiryStatistics" resultType="java.util.Map">
SELECT
a.equipSortName AS `name`,
count( 1 ) AS `value`
FROM
(
SELECT
es.id,
ed.`name`,
ed.standard,
DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ) AS passDate,
DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AS dayNum,
DATE_FORMAT( ed.production_date, '%Y-%m-%d' ) AS productDate,
e.`name` AS equipSortName,
e.id AS equipSortId
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment e ON ed.equipment_id = e.id
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE
ed.production_date IS NOT NULL
AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL
AND es.biz_org_code like concat(#{bizOrgCode}, '%')
<!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
) a
GROUP BY
a.equipSortId
</select>
<select id="getEquipExpiryListByPage" resultType="java.util.Map">
SELECT
es.id AS specificId,
ed.`name` AS specificName,
IFNULL( ed.standard, '' ) AS modelNumber,
DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ) AS passDate,
DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) AS dayNum,
DATE_FORMAT( ed.production_date, '%Y-%m-%d' ) AS productDate,
e.`name` AS equipSortName,
e.id AS equipSortId,
IFNULL( ws.full_name, '' ) AS equipAddress
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_warehouse_structure ws ON ws.id = es.warehouse_structure_id
LEFT JOIN wl_equipment e ON ed.equipment_id = e.id
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE
ed.production_date IS NOT NULL
AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL
AND es.biz_org_code like concat(#{bizOrgCode}, '%')
<!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND #{expiryDayNum} >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
ORDER BY DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) ASC
</select>
<select id="getStockEquipStatistics" resultType="java.util.Map">
SELECT
'本月已报废' AS `content`,
'upload/equipment_category_icon/byybf.png' AS image,
(
SELECT
count( 1 )
FROM
wl_stock_detail sd
LEFT JOIN wl_equipment_specific es ON es.id = sd.equipment_specific_id
WHERE
sd.`status` = 7
AND update_date LIKE CONCAT( DATE_FORMAT( CURRENT_DATE, '%Y-%m' ), '%' )
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
) AS countNum UNION ALL
SELECT
'累计报废装备' AS `content`,
'upload/equipment_category_icon/ljbf.png' AS image,
(
SELECT
count( 1 )
FROM
wl_stock_detail sd
LEFT JOIN wl_equipment_specific es ON es.id = sd.equipment_specific_id
WHERE
sd.`status` = 7
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
) AS countNum UNION ALL
SELECT
'超期未报废' AS `content`,
'upload/equipment_category_icon/cqwbf.png' AS image,
(
SELECT
count( es.id )
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment e ON ed.equipment_id = e.id
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE
ed.production_date IS NOT NULL
AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
AND 0 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
) AS countNum UNION ALL
SELECT
'近2月临期设备' AS `content`,
'upload/equipment_category_icon/j2ylqsb.png' AS image,
(
SELECT
count( es.id )
FROM
wl_equipment_specific es
LEFT JOIN wl_equipment_detail ed ON ed.id = es.equipment_detail_id
LEFT JOIN wl_equipment e ON ed.equipment_id = e.id
LEFT JOIN wl_stock_detail sd ON sd.equipment_detail_id = ed.id
WHERE
ed.production_date IS NOT NULL
AND ( (sd.`status` != 7) or (sd.`status` is null) or (sd.`status` = ''))
AND e.expiry_date IS NOT NULL
AND es.biz_org_code LIKE concat(#{bizOrgCode}, '%')
<!-- AND DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE ) > 0-->
AND 60 >= DATEDIFF( DATE_ADD( DATE_FORMAT( ed.production_date, '%Y-%m-%d' ), INTERVAL e.expiry_date YEAR ), CURRENT_DATE )
) AS countNum
</select>
</mapper> </mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.equipmanage.mapper.FormGroupColumnEquipMapper">
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.equipmanage.mapper.FormGroupEquipMapper">
</mapper>
...@@ -58,5 +58,6 @@ public class CheckResult { ...@@ -58,5 +58,6 @@ public class CheckResult {
@ApiModelProperty(value="模型名称") @ApiModelProperty(value="模型名称")
private String modelName; private String modelName;
@ApiModelProperty(value="提交记录id")
private Long submitRecordId;
} }
package com.yeejoin.amos.boot.module.tdc.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* @author xxz
*/
@Data
@Accessors(chain = true)
@TableName("tdc_model_item")
@ApiModel(value="ModelItem对象", description="模型填报项表")
public class ModelItem {
private static final long serialVersionUID = 1L;
@TableId(value = "sequence_nbr", type = IdType.ID_WORKER)
protected Long sequenceNbr;
@ApiModelProperty(value = "校验项名称")
private String checkItemLabel;
@ApiModelProperty(value = "校验项值")
private String checkItemValue;
@ApiModelProperty(value = "模型名称")
private String modelName;
@ApiModelProperty(value = "提交记录id")
private long submitRecordId;
}
package com.yeejoin.amos.boot.module.tdc.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* @author xxz
*/
@Data
@Accessors(chain = true)
@TableName("tdc_submit_record")
@ApiModel(value="SubmitRecord对象", description="提交记录")
public class SubmitRecord {
private static final long serialVersionUID = 1L;
@TableId(value = "sequence_nbr", type = IdType.ID_WORKER)
protected Long sequenceNbr;
@ApiModelProperty(value = "填报人")
private String submitPeople;
@ApiModelProperty(value = "机构code")
private String amosOrgCode;
@ApiModelProperty(value = "机构名称")
private String amosOrgName;
@ApiModelProperty(value = "填报时间")
private Date submitTime;
@ApiModelProperty(value = "校验批次号")
private String batchNo;
}
package com.yeejoin.amos.boot.module.tdc.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import org.mapstruct.Mapper;
/**
* @author DELL
*/
@Mapper
public interface ModelItemMapper extends BaseMapper<ModelItem> {
}
package com.yeejoin.amos.boot.module.tdc.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import org.mapstruct.Mapper;
/**
* @author DELL
*/
@Mapper
public interface SubmitRecordMapper extends BaseMapper<SubmitRecord> {
}
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import org.springframework.stereotype.Service;
import java.util.Map;
/**
* @author xxz
*/
@Service
public interface ModelItemService {
void saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo);
void editModelItem(JSONObject jsonObject, AgencyUserModel userInfo);
/**
* 获取详情接口
* @param sequenceNbr 记录id
* @return 项
*/
Map<String, Object> getModelItem(Long sequenceNbr);
void deleteModelItem(String sequenceNbr);
}
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import org.springframework.stereotype.Service;
/**
* @author xxz
*/
@Service
public interface SubmitRecordService {
int saveSubmitRecord(SubmitRecord submitRecord);
SubmitRecord updateById(Long sequenceNbr, String batchNo);
}
package com.yeejoin.amos.boot.module.tdc.api.service;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import java.util.List;
import java.util.Map;
/**
* @author xxz
*/
public interface SyncMethodService {
/**
* 校验
*/
void checkItem(Map<String, List<ModelItem>> itemValue, SubmitRecord record);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tdc.api.mapper.ModelItemMapper">
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper">
</mapper>
\ No newline at end of file
...@@ -70,7 +70,8 @@ public class CheckModelAction { ...@@ -70,7 +70,8 @@ public class CheckModelAction {
Map propertyValues = idxProjectModel.getPropertyValues(); Map propertyValues = idxProjectModel.getPropertyValues();
String batchNo = String.valueOf(propertyValues.get("batch_no")); String batchNo = String.valueOf(propertyValues.get("batch_no"));
Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType"))); Long submitRecordId = Long.valueOf(String.valueOf(propertyValues.get("submitRecordId")));
// Integer checkType = Integer.valueOf(String.valueOf(propertyValues.get("checkType")));
String orgCode = String.valueOf(propertyValues.get("org_code")); String orgCode = String.valueOf(propertyValues.get("org_code"));
String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName")); String checkPeopleName = String.valueOf(propertyValues.get("checkPeopleName"));
String itemName = idxProjectModel.getItemName(); String itemName = idxProjectModel.getItemName();
...@@ -81,12 +82,12 @@ public class CheckModelAction { ...@@ -81,12 +82,12 @@ public class CheckModelAction {
return; return;
} }
if (!CollectionUtils.isEmpty(idxProjectModel.getPropertys()) && StringUtils.isNotEmpty(checkItem)) { // if (!CollectionUtils.isEmpty(idxProjectModel.getPropertys()) && StringUtils.isNotEmpty(checkItem)) {
Map<String, Object> item = idxProjectModel.getPropertys().stream().filter(map -> checkItem.equals(map.get("name"))).findFirst().orElse(null); // Map<String, Object> item = idxProjectModel.getPropertys().stream().filter(map -> checkItem.equals(map.get("name"))).findFirst().orElse(null);
if (ObjectUtils.isNotEmpty(item)) { // if (ObjectUtils.isNotEmpty(item)) {
checkResult.setCheckItemLabel(String.valueOf(item.get("title"))); // checkResult.setCheckItemLabel(String.valueOf(item.get("title")));
} // }
} // }
checkResult.setBatchNo(StringUtils.isNotEmpty(batchNo) ? batchNo : String.valueOf(propertyValues.get("id"))); checkResult.setBatchNo(StringUtils.isNotEmpty(batchNo) ? batchNo : String.valueOf(propertyValues.get("id")));
checkResult.setCheckItemResult(result); checkResult.setCheckItemResult(result);
...@@ -96,23 +97,24 @@ public class CheckModelAction { ...@@ -96,23 +97,24 @@ public class CheckModelAction {
checkResult.setModelId(String.valueOf(checkModel.getSequenceNbr())); checkResult.setModelId(String.valueOf(checkModel.getSequenceNbr()));
checkResult.setAmosOrgCode(checkModel.getAmosOrgCode()); checkResult.setAmosOrgCode(checkModel.getAmosOrgCode());
checkResult.setAmosOrgName(checkModel.getAmosOrgName()); checkResult.setAmosOrgName(checkModel.getAmosOrgName());
checkResult.setSubmitRecordId(submitRecordId);
checkResult.setCheckDate(new Date()); checkResult.setCheckDate(new Date());
checkResult.setCheckType(ObjectUtils.isNotEmpty(checkType) ? checkType : 1); // checkResult.setCheckType(ObjectUtils.isNotEmpty(checkType) ? checkType : 1);
checkResult.setModelName(checkModel.getModelName()); checkResult.setModelName(checkModel.getModelName());
checkResultService.save(checkResult); checkResultService.save(checkResult);
// 2. 判断是否检验结束 // // 2. 判断是否检验结束
if (ObjectUtils.isNotEmpty(checkType)) { // if (ObjectUtils.isNotEmpty(checkType)) {
if (checkType == 1) { // if (checkType == 1) {
// 2.2 单独模型校验,根据批次号查询已经入库的属性 // // 2.2 单独模型校验,根据批次号查询已经入库的属性
sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName); // sendWebMessage(batchNo, checkModel.getCheckItemAmount(), orgCode, checkPeopleName, checkType, itemName);
} else if (checkType == 0) { // } else if (checkType == 0) {
// 2.1 全站校验 // // 2.1 全站校验
List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode); // List<CheckModel> checkModels = checkModelService.selectByOrgCode(orgCode);
int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum(); // int sum = checkModels.stream().mapToInt(CheckModel::getCheckItemAmount).sum();
sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName); // sendWebMessage(batchNo, sum, orgCode, checkPeopleName, checkType, itemName);
} // }
} // }
// else { // else {
// // 指标填报完自动调用,暂时不需要推送前端 // // 指标填报完自动调用,暂时不需要推送前端
// String number = ObjectUtils.isNotEmpty(checkType) ? batchNo : String.valueOf(propertyValues.get("id")); // String number = ObjectUtils.isNotEmpty(checkType) ? batchNo : String.valueOf(propertyValues.get("id"));
......
package com.yeejoin.amos.boot.module.tdc.biz.config;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import java.util.concurrent.Executor;
import java.util.concurrent.ThreadPoolExecutor;
/**
* @author DELL
*/
@Slf4j
@Configuration
@EnableAsync
public class SwjyExecutorConfig {
@Bean(name = "swjyAsyncExecutor")
public Executor asyncServiceExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
//配置核心线程数
executor.setCorePoolSize(10);
//配置最大线程数
executor.setMaxPoolSize(100);
//配置队列大小
executor.setQueueCapacity(1000);
//配置线程池中的线程的名称前缀
executor.setThreadNamePrefix("namePrefix");
//线程池维护线程所允许的空闲时间
executor.setKeepAliveSeconds(30);
// rejection-policy:当pool已经达到max size的时候,如何处理新任务
// CALLER_RUNS:不在新线程中执行任务,而是有调用者所在的线程来执行--拒绝策略
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
//执行初始化
executor.initialize();
//等待所有任务结束后再关闭线程池
executor.setWaitForTasksToCompleteOnShutdown(true);
return executor;
}
}
package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.service.ModelItemService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
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.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.Map;
/**
* 校验项提交
* @author xxz
*/
@RestController
@Api(tags = "校验项提交")
@RequestMapping(value = "/check-item")
public class ModelItemController extends BaseController {
@Autowired
ModelItemService modelItemService;
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/saveModelItem")
@ApiOperation(httpMethod = "POST", value = "保存模型项", notes = "保存模型项")
public ResponseModel saveModelItem(@RequestBody JSONObject jsonObject){
AgencyUserModel userInfo = getUserInfo();
if (ObjectUtils.isEmpty(jsonObject)) {
return null;
}
Object sequenceNbr = jsonObject.get("sequenceNbr");
if (ObjectUtils.isEmpty(sequenceNbr)) {
modelItemService.saveModelItem(jsonObject, userInfo);
return ResponseHelper.buildResponse(true);
}
modelItemService.editModelItem(jsonObject, userInfo);
return ResponseHelper.buildResponse(true);
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/getModelItem")
@ApiOperation(httpMethod = "GET", value = "获取模型项", notes = "获取模型项")
public ResponseModel<Map<String, Object>> getModelItem(@RequestParam(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(modelItemService.getModelItem(sequenceNbr));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/deleteModelItem")
@ApiOperation(httpMethod = "GET", value = "删除模型项", notes = "删除模型项")
public ResponseModel deleteModelItem(@RequestParam(value = "sequenceNbr") String sequenceNbr){
modelItemService.deleteModelItem(sequenceNbr);
return ResponseHelper.buildResponse(true);
}
}
package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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;
/**
* 校验记录
* @author xxz
*/
@RestController
@Api(tags = "校验项提交")
@RequestMapping(value = "/check-record")
public class SubmitRecordController {
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.netflix.discovery.converters.Auto;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper;
import com.yeejoin.amos.boot.module.tdc.api.mapper.ModelItemMapper;
import com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.ModelItemService;
import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService;
import com.yeejoin.amos.boot.module.tdc.api.service.SyncMethodService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
public class ModelItemServiceImpl extends ServiceImpl<ModelItemMapper, ModelItem> implements ModelItemService {
@Autowired
SubmitRecordService submitRecordService;
@Autowired
SyncMethodService syncMethodService;
@Autowired
CheckResultMapper checkResultMapper;
@Autowired
SubmitRecordMapper submitRecordMapper;
@Override
public void saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo) {
long start = System.currentTimeMillis();
if (ObjectUtils.isEmpty(jsonObject)) {
return;
}
SubmitRecord submitRecord = new SubmitRecord();
userInfo.getUserName();
List<CompanyModel> company = userInfo.getCompanys();
if (!CollectionUtils.isEmpty(company)) {
String companyName = company.get(0).getCompanyName();
String orgCode = company.get(0).getOrgCode();
submitRecord.setAmosOrgCode(orgCode);
submitRecord.setAmosOrgName(companyName);
}
submitRecord.setSubmitPeople(userInfo.getRealName());
submitRecord.setSubmitTime(new Date());
String batchNo = UUID.randomUUID().toString();
submitRecord.setBatchNo(batchNo);
long start1 = System.currentTimeMillis();
log.error("=====记录入库前用时:"+(start1-start)+"======");
submitRecordService.saveSubmitRecord(submitRecord);
long end = System.currentTimeMillis();
log.error("=====记录入库用时:"+(end-start1)+"======");
if (StringUtils.isEmpty(submitRecord.getSequenceNbr())) {
return;
}
List<ModelItem> collect = jsonObject.entrySet().stream().map(e -> {
ModelItem modelItem = new ModelItem();
String key = e.getKey();
String[] s = key.split("_");
if (s.length > 0) {
modelItem.setModelName(s[0]);
modelItem.setCheckItemLabel(s[1]);
}
String value = String.valueOf(e.getValue());
modelItem.setCheckItemValue(value);
modelItem.setSubmitRecordId(submitRecord.getSequenceNbr());
return modelItem;
}).collect(Collectors.toList());
Map<String, List<ModelItem>> itemValue = collect.stream().collect(Collectors.groupingBy(ModelItem::getModelName));
long e1 = System.currentTimeMillis();
log.error("=====参数解析用时:"+(e1-end)+"======");
this.saveBatch(collect);
long e2 = System.currentTimeMillis();
log.error("=====入库用时:"+(e2-e1)+"======");
// 异步请求规则校验
syncMethodService.checkItem(itemValue, submitRecord);
}
@Override
public void editModelItem(JSONObject jsonObject, AgencyUserModel userInfo) {
Long sequenceNbr = Long.valueOf(String.valueOf(jsonObject.get("sequenceNbr")));
String batchNo = UUID.randomUUID().toString();
SubmitRecord submitRecord = submitRecordService.updateById(sequenceNbr, batchNo);
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ModelItem::getSubmitRecordId, sequenceNbr);
this.baseMapper.delete(wrapper);
List<ModelItem> collect = jsonObject.entrySet().stream().map(e -> {
ModelItem modelItem = new ModelItem();
String key = e.getKey();
String[] s = key.split("_");
if (s.length > 1) {
modelItem.setModelName(s[0]);
modelItem.setCheckItemLabel(s[1]);
String value = String.valueOf(e.getValue());
modelItem.setCheckItemValue(value);
modelItem.setSubmitRecordId(submitRecord.getSequenceNbr());
return modelItem;
} else {
return null;
}
}).filter(item -> !ObjectUtils.isEmpty(item)).collect(Collectors.toList());
this.saveOrUpdateBatch(collect);
// 异步请求规则校验
Map<String, List<ModelItem>> itemValue = collect.stream().collect(Collectors.groupingBy(ModelItem::getModelName));
syncMethodService.checkItem(itemValue, submitRecord);
}
@Override
public Map<String, Object> getModelItem(Long sequenceNbr) {
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ModelItem::getSubmitRecordId, sequenceNbr);
List<ModelItem> list = this.list(wrapper);
Map<String, Object> map = list.stream().collect(Collectors.toMap(e -> e.getModelName() + "_" + e.getCheckItemLabel(), ModelItem::getCheckItemValue));
map.put("sequenceNbr", sequenceNbr);
return map;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteModelItem(String sequenceNbr) {
if (!StringUtils.isEmpty(sequenceNbr)) {
String[] split = sequenceNbr.split(",");
List<String> list = Arrays.asList(split);
// 1. 删除记录
submitRecordMapper.deleteBatchIds(list);
// 2. 删除填报项
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.in(ModelItem::getSubmitRecordId, list);
this.baseMapper.delete(wrapper);
// 3. 删除校验记录
LambdaQueryWrapper<CheckResult> resultWrapper = new LambdaQueryWrapper<>();
resultWrapper.in(CheckResult::getSubmitRecordId, list);
checkResultMapper.delete(resultWrapper);
}
}
}
package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.mapper.SubmitRecordMapper;
import com.yeejoin.amos.boot.module.tdc.api.service.SubmitRecordService;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
/**
* @author DELL
*/
@Service
public class SubmitRecordServiceImpl extends ServiceImpl<SubmitRecordMapper, SubmitRecord> implements SubmitRecordService {
@Override
public int saveSubmitRecord(SubmitRecord submitRecord) {
return this.baseMapper.insert(submitRecord);
}
@Override
public SubmitRecord updateById(Long sequenceNbr, String batchNo) {
SubmitRecord submitRecord = this.getById(sequenceNbr);
submitRecord.setBatchNo(batchNo);
this.updateById(submitRecord);
return submitRecord;
}
}
package com.yeejoin.amos.boot.module.tdc.biz.service.impl;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.service.SyncMethodService;
import com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel;
import com.yeejoin.amos.component.rule.RuleTrigger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author DELL
*/
@Service
@Async("swjyAsyncExecutor")
@Slf4j
public class SyncMethodServiceImpl implements SyncMethodService {
@Autowired
RuleTrigger ruleTrigger;
@Override
public void checkItem(Map<String, List<ModelItem>> itemValue, SubmitRecord record) {
try {
itemValue.forEach((key, value) -> {
IdxProjectModel idxProjectModel = new IdxProjectModel();
idxProjectModel.setItemName(key);
Map<String, Object> mapValue = value.stream().collect(Collectors.toMap(ModelItem::getCheckItemLabel, ModelItem::getCheckItemValue));
mapValue.put("submitRecordId", record.getSequenceNbr());
mapValue.put("batch_no", record.getBatchNo());
mapValue.put("org_code", record.getAmosOrgCode());
idxProjectModel.setPropertyValues(mapValue);
// 调用规则校验模型
try {
// 没有配决策流,processIds传null即可
String packageId = "三维校验/" + key;
ruleTrigger.publish(idxProjectModel, packageId, null);
} catch (Exception e) {
e.printStackTrace();
}
});
} catch (Exception e) {
log.error("调用规则校验失败:");
}
}
}
...@@ -19,6 +19,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP ...@@ -19,6 +19,7 @@ spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=120000 spring.datasource.hikari.max-lifetime=120000
spring.datasource.hikari.connection-timeout=30000 spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1 spring.datasource.hikari.connection-test-query=SELECT 1
spring.main.allow-bean-definition-overriding=true
##liquibase ##liquibase
spring.liquibase.change-log=classpath:/db/changelog/changelog-master.xml spring.liquibase.change-log=classpath:/db/changelog/changelog-master.xml
spring.liquibase.enabled=true spring.liquibase.enabled=true
......
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