Commit d9e3898f authored by hekaiwen's avatar hekaiwen

Merge remote-tracking branch 'origin/develop_tzs_bugfix' into develop_tzs_register_sxs

parents 28091be6 1b2003ac
......@@ -15,7 +15,6 @@
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-security</artifactId>
<version>1.10.8-TZS</version>
</dependency>
<dependency>
<groupId>org.typroject</groupId>
......
......@@ -97,11 +97,11 @@ public class ControllerAop {
urls.add("/tcm/flc-unit-info/region/tree");
urls.add("/tcm/reg-unit-info/management-unit/tree");
urls.add("/tcm/reg-unit-info/unit-type/list");
urls.add("^/tcm/flc-unit-info/hasExistPhone/[0-9]+$");
urls.add("^/tcm/flc-unit-info/sendTelCode/[0-9]+$");
urls.add("^/tcm/reg-unit-info/[A-Za-z0-9]+/check$");
urls.add("^/tcm/flc-unit-info/verifyTelCode/[A-Za-z0-9]+/[A-Za-z0-9]+");
urls.add("^/tcm/flc-unit-info/hasExistUser/[A-Za-z0-9_-]+");
urls.add("/tcm/flc-unit-info/hasExistPhone/[0-9]+$");
urls.add("/tcm/flc-unit-info/sendTelCode/[0-9]+$");
urls.add("/tcm/reg-unit-info/[A-Za-z0-9]+/check$");
urls.add("/tcm/flc-unit-info/verifyTelCode/[A-Za-z0-9]+/[A-Za-z0-9]+");
urls.add("/tcm/flc-unit-info/hasExistUser/.+");
urls.add("/tcm/reg-unit-info/save");
urls.add("/tcm/reg-unit-info/child-list");
urls.add("/tcm/reg-unit-info/management-unit/tree");
......
package com.yeejoin.amos.boot.biz.common.utils;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import org.springframework.stereotype.Component;
@Component
public class SnowflakeIdUtil {
public Long nextId() {
return IdWorker.getId();
}
}
......@@ -2,7 +2,6 @@ package com.yeejoin.amos.boot.biz.config;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.core.config.GlobalConfig;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.interceptors.PermissionInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
......@@ -25,11 +24,6 @@ public class MyBatisPlusConfig {
return globalConfig;
}
@Bean
public Sequence sequence() {
return new Sequence();
}
/**
* pageHelper插件支持
*
......
......@@ -6,6 +6,7 @@ import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* ${table.comment!}
......
......@@ -19,7 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import ${package.Xml}.${entity}Model;
import ${package.Xml}.${entity};
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -55,9 +55,9 @@ public class ${table.controllerName} {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<${entity}Model> save(@RequestBody ${entity}Model model) {
model = ${table.serviceImplName ?uncap_first}.createWithModel(model);
return ResponseHelper.buildResponse(model);
public ResponseModel<${entity}> save(@RequestBody ${entity} ) {
entity = ${table.serviceImplName ?uncap_first}.createWithModel(entity);
return ResponseHelper.buildResponse(entity);
}
/**
......@@ -69,9 +69,9 @@ public class ${table.controllerName} {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<${entity}Model> updateBySequenceNbr${entity}(@RequestBody ${entity}Model model,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
model.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(${table.serviceImplName ?uncap_first}.updateWithModel(model));
public ResponseModel<${entity}> updateBySequenceNbr${entity}(@RequestBody ${entity} entity,@PathVariable(value = "sequenceNbr") Long sequenceNbr) {
entity.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(${table.serviceImplName ?uncap_first}.updateWithModel(entity));
}
/**
......@@ -96,7 +96,7 @@ public class ${table.controllerName} {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<${entity}Model> selectOne(@PathVariable Long sequenceNbr) {
public ResponseModel<${entity}> selectOne(@PathVariable Long sequenceNbr) {
return ResponseHelper.buildResponse(${table.serviceImplName ?uncap_first}.queryBySeq(sequenceNbr));
}
......@@ -110,9 +110,9 @@ public class ${table.controllerName} {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<${entity}Model>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
public ResponseModel<Page<${entity}>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size) {
Page<${entity}Model> page = new Page<${entity}Model>();
Page<${entity}> page = new Page<${entity}>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(${table.serviceImplName ?uncap_first}.queryFor${entity}Page(page));
......@@ -126,7 +126,7 @@ public class ${table.controllerName} {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<${entity}Model>> selectForList() {
public ResponseModel<List<${entity}>> selectForList() {
return ResponseHelper.buildResponse(${table.serviceImplName ?uncap_first}.queryFor${entity}List());
}
}
......
......@@ -3,7 +3,7 @@ package ${package.ServiceImpl};
import ${package.Entity}.${entity};
import ${package.Mapper}.${table.mapperName};
import ${package.Service}.${table.serviceName};
import ${package.Xml}.${entity}Model;
import ${package.Xml}.${entity};
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......@@ -16,18 +16,18 @@ import java.util.List;
* @date ${date}
*/
@Service
public class ${table.serviceImplName} extends BaseService<${entity}Model,${entity},${table.mapperName}> implements ${table.serviceName} {
public class ${table.serviceImplName} extends BaseService<${entity},${entity},${table.mapperName}> implements ${table.serviceName} {
/**
* 分页查询
*/
public Page<${entity}Model> queryFor${entity}Page(Page<${entity}Model> page) {
public Page<${entity}> queryFor${entity}Page(Page<${entity}> page) {
return this.queryForPage(page, null, false);
}
/**
* 列表查询 示例
*/
public List<${entity}Model> queryFor${entity}List() {
public List<${entity}> queryFor${entity}List() {
return this.queryForList("" , false);
}
}
\ No newline at end of file
......@@ -181,7 +181,6 @@
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-security</artifactId>
<version>${amos.version}</version>
</dependency>
</dependencies>
<build>
......
package com.yeejoin.amos.api.openapi.controller;
import com.yeejoin.amos.api.common.restful.utils.ResponseHelper;
import com.yeejoin.amos.api.common.restful.utils.ResponseModel;
import com.yeejoin.amos.api.openapi.face.service.OpenapiBizTokenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
......@@ -10,15 +16,9 @@ import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import com.yeejoin.amos.api.common.restful.utils.ResponseHelper;
import com.yeejoin.amos.api.common.restful.utils.ResponseModel;
import com.yeejoin.amos.api.openapi.face.service.OpenapiBizTokenService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javax.validation.constraints.NotBlank;
/**
*
* <pre>
* 企业数据对接票据管理
* </pre>
......@@ -29,34 +29,21 @@ import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping(value = "/bizToken")
@Api(tags = "bizToken-企业数据对接票据管理")
public class OpenapiBizTokenController
{
private static final Logger logger = LogManager.getLogger(OpenapiBizTokenController.class);
@Autowired
private OpenapiBizTokenService openapiBizTokenService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "申请登录令牌")
@GetMapping(value = "/applyToken")
public ResponseModel<String> applyToken (
@RequestParam String appId) throws Exception
{
logger.info("appId信息:",appId);
String appToken = openapiBizTokenService.getByAppId(appId);
logger.info("appToken信息:",appToken);
return ResponseHelper.buildResponse(appToken);
}
// @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
// @ApiOperation(value = "获取APPID")
// @GetMapping(value = "/getAppId")
// public ResponseModel<String> getAppId (
// @RequestParam String companyCode) throws Exception
// {
// String appId = DesUtil.encode(companyCode, Constant.SECRETKEY);
// logger.info("appId信息:",appId);
// return ResponseHelper.buildResponse(appId);
// }
//
@Validated
public class OpenapiBizTokenController {
private static final Logger logger = LogManager.getLogger(OpenapiBizTokenController.class);
@Autowired
private OpenapiBizTokenService openapiBizTokenService;
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "申请登录令牌")
@GetMapping(value = "/applyToken")
public ResponseModel<String> applyToken(
@NotBlank(message = "appId不能为空") @RequestParam String appId) {
logger.info("appId信息:{}", appId);
String appToken = openapiBizTokenService.getByAppId(appId);
logger.info("appToken信息:{}", appToken);
return ResponseHelper.buildResponse(appToken);
}
}
......@@ -97,4 +97,17 @@ public class AlertUseUnitStatistics extends BaseEntity {
@TableField("address")
private String address;
/**
* 有效期
*/
private String expiryDate;
/**
* 设备分类代码
*/
private String equipmentClassificationCode;
/**
* 设备分类
*/
private String equipmentClassification;
}
......@@ -17,10 +17,12 @@
) as mainName,
use.USE_UNIT_NAME as useName,
use.USE_UNIT_CREDIT_CODE as unitCode,
ul.expiry_date as expiryDate,
(SELECT supervise_org_name from tz_base_enterprise_info where use_unit_code = use.USE_UNIT_CREDIT_CODE) as supervisoryUnitName,
(SELECT supervise_org_code from tz_base_enterprise_info where use_unit_code = use.USE_UNIT_CREDIT_CODE) as supervisoryUnitOrgCode
from tz_alert_called tac
LEFT JOIN idx_biz_jg_use_info use on tac.equipment_id = use.RECORD
left join tz_base_unit_licence ul ON use.USE_UNIT_CREDIT_CODE = ul.unit_code
WHERE tac.alarm_type_code != '962'
and tac.equipment_id is not null
and use.ADDRESS is not null
......@@ -40,7 +42,14 @@
SELECT count(1) from tz_alert_called where alarm_type_code = '960' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
and father_alert is null
) as trappedNum,
(
SELECT equipment_classification_code from tz_alert_called where alarm_type_code = '960' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
and father_alert is null group by equipment_id limit 1
) as equipmentClassificationCode,
(
SELECT equipment_classification from tz_alert_called where alarm_type_code = '960' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
and father_alert is null group by equipment_id limit 1
) as equipmentClassification,
(
SELECT count(1) from tz_alert_called where alarm_type_code = '961' and equipment_id = #{equipmentId} and call_time between #{startDate} and #{endDate}
and father_alert is null
......
......@@ -18,6 +18,11 @@ public class DPFilterParamForDetailDto {
private String cityCode;
/**
* 机构
*/
private String orgCode;
/**
* 业务类型
*/
private String businessType;
......@@ -107,5 +112,62 @@ public class DPFilterParamForDetailDto {
* 业务状态
*/
private String status;
/**
* 工单编号
*/
private String workOrderNumber;
/**
* 接警人
*/
private String recUserName;
/**
* 求援人
*/
private String emergencyPerson;
/**
* 求援开始事件
*/
private String emergencyStartTime;
/**
* 求援结束事件
*/
private String emergencyEndTime;
/**
* 求援电话
*/
private String emergencyCall;
/**
* 电梯识别码
*/
private String deviceId;
/**
* 警情状态
*/
private String alertStatus;
/**
* 处置环节
*/
private String alertStage;
/**
* 检测结果
*/
private String inspectionConclusion;
/**
* 发起单位
*/
private String applicationUnitName;
/**
* 接受单位
*/
private String inspectionUnitName;
}
......@@ -95,4 +95,17 @@ public class AlertUseUnitStatistics extends BaseEntity {
@TableField("address")
private String address;
/**
* 有效期
*/
private String expiryDate;
/**
* 设备分类代码
*/
private String equipmentClassificationCode;
/**
* 设备分类
*/
private String equipmentClassification;
}
package com.yeejoin.amos.boot.module.common.api.enums;
import java.util.*;
/**
* 警情枚举类
*/
public enum AlertCallEnum {
//警情类型
KRJY("960","困人救援","JQLX", false),
GZWX("961","故障维修","JQLX", false),
TSZX("962","投诉咨询","JQLX", false),
//警情来源类型
DHBJ("963","电话报警","JQLYLX", true),
WLJR("1014","物联接入","JQLYLX", true),
YDDSB("1015","移动端上报","JQLYLX", true),
//处置环节
YJJ("860", "已接警", "CZHJ", true),
YPQ("861", "已派遣", "CZHJ", true),
YDS("862", "已到达", "CZHJ", true),
WBYDD("863", "维保已到达", "CZHJ", true),
JYWC("864", "救援完成", "CZHJ", true),
JYHF("865", "救援回访", "CZHJ", true),
WXWC("866", "维修完成", "CZHJ", true),
BXRYFK("867", "报修人已反馈", "CZHJ", true),
WBYCZ("868", "维保已处置", "CZHJ", true),
TSRYFK("869", "投诉人已反馈", "CZHJ", true),
WJA("0", "未结案", "WCZT", true),
YJA("1", "已结案", "WCZT", true),
;
private AlertCallEnum(String code, String name, String type,Boolean isSearch){
this.code=code;
this.name=name;
this.type=type;
this.isSearch=isSearch;
}
private String code;
private String name;
private String type;
private Boolean isSearch;
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getType() {
return type;
}
public Boolean getSearch() {
return isSearch;
}
public static List<HashMap<String,Object>> getTypeEnumList() {
List<HashMap<String, Object>> list = new ArrayList<>();
for (AlertCallEnum testEnum : EnumSet.allOf(AlertCallEnum.class)) {
if(!testEnum.getSearch()) {
HashMap<String, Object> map = new HashMap<>();
map.put("title", testEnum.name);
map.put("value", testEnum.code);
list.add(map);
}
}
return list;
}
public static Map<String,List<Map<String,Object>>> getSearchEnumList() {
Map<String,List<Map<String,Object>>> searchMap = new HashMap<>();
for (AlertCallEnum testEnum : EnumSet.allOf(AlertCallEnum.class)) {
if(testEnum.getSearch()) {
// 检查 searchMap 中是否存在 testEnum.type 对应的值
List existingList = searchMap.get(testEnum.type);
// 如果不存在,则创建一个新的 ArrayList
if (existingList == null) {
existingList = new ArrayList<>();
searchMap.put(testEnum.type, existingList);
}
// 创建一个 map 并添加到 list 中
HashMap<String, Object> map = new HashMap<>();
map.put("title", testEnum.name);
map.put("value", testEnum.code);
existingList.add(map);
}
}
return searchMap;
}
}
package com.yeejoin.amos.boot.module.common.api.enums;
import java.util.*;
/**
* 警情枚举类
*/
public enum JYJCResultEnum {
//警情类型
KRJY("960","困人救援","JQLX", false),
GZWX("961","故障维修","JQLX", false),
TSZX("962","投诉咨询","JQLX", false),
//检测结果
HG("6040","合格","YYJG", true),
BHG("6041","不合格","YYJG", true),
FJHG("6042","复检合格","YYJG", true),
FJBHG("6043","复检不合格","YYJG", true),
QT("6044","其他","YYJG", true),
ZGHHG("6045","整改后合格","YYJG", true),
FY("6046","符合","YYJG", true),
BFH("6047","不符合","YYJG", true),
FHYQ("6048","符合要求","YYJG", true),
JBFHYQ("6049","基本符合要求","YYJG", true),
BFHYQ("6050","不符合要求","YYJG", true),
YXSY("6051","允许使用","YYJG", true),
JYSY("6052","降压使用","YYJG", true),
JXHYSYPJ("6053","进行合于使用评价","YYJG", true),
;
private JYJCResultEnum(String code, String name, String type, Boolean isSearch){
this.code=code;
this.name=name;
this.type=type;
this.isSearch=isSearch;
}
private String code;
private String name;
private String type;
private Boolean isSearch;
public String getCode() {
return code;
}
public String getName() {
return name;
}
public String getType() {
return type;
}
public Boolean getSearch() {
return isSearch;
}
public static List<HashMap<String,Object>> getTypeEnumList() {
List<HashMap<String, Object>> list = new ArrayList<>();
for (JYJCResultEnum testEnum : EnumSet.allOf(JYJCResultEnum.class)) {
if(!testEnum.getSearch()) {
HashMap<String, Object> map = new HashMap<>();
map.put("title", testEnum.name);
map.put("value", testEnum.code);
list.add(map);
}
}
return list;
}
public static Map<String,List<Map<String,Object>>> getSearchEnumList() {
Map<String,List<Map<String,Object>>> searchMap = new HashMap<>();
for (JYJCResultEnum testEnum : EnumSet.allOf(JYJCResultEnum.class)) {
if(testEnum.getSearch()) {
// 检查 searchMap 中是否存在 testEnum.type 对应的值
List existingList = searchMap.get(testEnum.type);
// 如果不存在,则创建一个新的 ArrayList
if (existingList == null) {
existingList = new ArrayList<>();
searchMap.put(testEnum.type, existingList);
}
// 创建一个 map 并添加到 list 中
HashMap<String, Object> map = new HashMap<>();
map.put("title", testEnum.name);
map.put("value", testEnum.code);
existingList.add(map);
}
}
return searchMap;
}
}
......@@ -31,7 +31,7 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.DateUtils;
import com.yeejoin.amos.boot.module.common.api.dto.DutyCarDto;
......@@ -66,7 +66,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
DutyPersonShiftServiceImpl dutyPersonShiftService;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
HttpServletRequest request;
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.common.api.dto.DynamicFormInstanceDto;
......@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
public class DynamicFormInstanceServiceImpl extends BaseService<DynamicFormInstanceDto, DynamicFormInstance, DynamicFormInstanceMapper> implements IDynamicFormInstanceService {
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
DynamicFormColumnServiceImpl dynamicFormColumnService;
......
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.FirefightersContractDto;
import com.yeejoin.amos.boot.module.common.api.entity.FirefightersContract;
......@@ -36,7 +36,7 @@ public class FirefightersContractServiceImpl extends BaseService<FirefightersCon
@Autowired
SourceFileServiceImpl sourceFileService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
DataDictionaryServiceImpl iDataDictionaryService;
......
......@@ -27,7 +27,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -75,7 +75,7 @@ public class KeySiteServiceImpl extends BaseService<KeySiteDto, KeySite, KeySite
EquipFeignClient equipFeignClient;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Value("${auth-key-key-site:key_site_info}")
private String authKey;
......
......@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
......@@ -65,7 +65,7 @@ public class MaintenanceCompanyServiceImpl
DynamicFormColumnServiceImpl dynamicFormColumnServiceImpl;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
@Autowired
MaintenanceCompanyMapper maintenanceCompanyMapper;
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
......@@ -35,7 +35,7 @@ import java.util.stream.Collectors;
public class SourceFileServiceImpl extends BaseService<SourceFileDto, SourceFile, SourceFileMapper> implements ISourceFileService {
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/**
* 分页查询
......
......@@ -4,7 +4,7 @@ package com.yeejoin.amos.boot.module.cylinder.biz.event.listener;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderQuestionInfoDto;
import com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderQuestionInfo;
import com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderQuestionCreateEvent;
......@@ -40,11 +40,11 @@ public class CylinderQuestionCreateEventListener implements ApplicationListener<
private CylinderQuestionInfoServiceImpl cylinderQuestionInfoService;
private Sequence sequence;
private SnowflakeIdUtil sequence;
public CylinderQuestionCreateEventListener(CylinderInfoServiceImpl cylinderInfoService,
CylinderQuestionInfoServiceImpl cylinderQuestionInfoService,
Sequence sequence) {
SnowflakeIdUtil sequence) {
this.cylinderInfoService = cylinderInfoService;
this.cylinderQuestionInfoService = cylinderQuestionInfoService;
this.sequence = sequence;
......
......@@ -5,7 +5,7 @@ import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.cylinder.api.dto.CylinderFillingRecordStatisticsUnitDayDto;
import com.yeejoin.amos.boot.module.cylinder.api.entity.CylinderFillingRecordStatisticsUnitDay;
import com.yeejoin.amos.boot.module.cylinder.biz.event.CylinderStatisticsUnitDayInsertOrUpdateEvent;
......@@ -46,12 +46,12 @@ public class CylinderStatisticsUnitDayInsertOrUpdateEventListener implements App
private ReentrantLock reentrantLock = new ReentrantLock();
private Sequence sequence;
private SnowflakeIdUtil sequence;
private CylinderFillingRecordStatisticsUnitDayServiceImpl statisticsUnitDayService;
public CylinderStatisticsUnitDayInsertOrUpdateEventListener(CylinderFillingRecordStatisticsUnitDayServiceImpl statisticsUnitDayService,
Sequence sequence) {
SnowflakeIdUtil sequence) {
this.statisticsUnitDayService = statisticsUnitDayService;
this.sequence = sequence;
}
......
......@@ -160,5 +160,7 @@ public class JgChangeRegistrationTransferDto extends BaseDto {
@ApiModelProperty(value = " 转办后执行人的Id逗号分割")
private String transferToUserIds;
@ApiModelProperty (value = "其他附件")
private String otherAccessories;
}
package com.yeejoin.amos.boot.module.jg.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
/**
* 设备保险信息
*
* @author LiuLin
* @date 2024-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "JgEquipInsuranceDto", description = "设备保险信息")
public class JgEquipInsuranceDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "设备id")
private String equId;
@ApiModelProperty(value = "承保单位名称")
private String underWriteName;
@ApiModelProperty(value = "承保单位统一信用代码")
private String underWriteCreditCode;
@ApiModelProperty(value = "保险服务单位")
private String insuranceServiceUnitName;
@ApiModelProperty(value = "保险服务单位统一社会信用代码")
private String insuranceServiceUnitCode;
@ApiModelProperty(value = "理赔电话")
private String claimTelephone;
@ApiModelProperty(value = "保险单号")
private String insuranceNumber;
@ApiModelProperty(value = "保险截止日期")
private Date insuranceExpirationDate;
@ApiModelProperty(value = "设备种类")
private String equList;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "设备品种")
private String equDefine;
@ApiModelProperty(value = "登记机关")
private String receiveOrgName;
@ApiModelProperty(value = "使用单位")
private String useUnitName;
@ApiModelProperty(value = "单位内编号")
private String useInnerCode;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = "使用登记证编号")
private String useRegistrationCode;
}
......@@ -261,4 +261,10 @@ public class JgChangeRegistrationTransfer extends BaseEntity {
*/
@TableField("transfer_type")
private String transferType;
/**
* 其他附件
*/
@TableField(value = "other_accessories")
private String otherAccessories;
}
package com.yeejoin.amos.boot.module.jg.api.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
/**
* 设备保险信息
*
* @author LiuLin
* @date 2024-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tzs_jg_equip_insurance")
public class JgEquipInsurance extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 设备id
*/
@TableField("equ_id")
private String equId;
/**
* 承保单位名称
*/
@TableField("under_write_name")
private String underWriteName;
/**
* 承保单位统一信用代码
*/
@TableField("under_write_credit_code")
private String underWriteCreditCode;
/**
* 保险服务单位
*/
@TableField("insurance_service_unit_name")
private String insuranceServiceUnitName;
/**
* 保险服务单位统一社会信用代码
*/
@TableField("insurance_service_unit_code")
private String insuranceServiceUnitCode;
/**
* 理赔电话
*/
@TableField("claim_telephone")
private String claimTelephone;
/**
* 保险单号
*/
@TableField("insurance_number")
private String insuranceNumber;
/**
* 保险截止日期
*/
@TableField("insurance_expiration_date")
private Date insuranceExpirationDate;
/**
* 设备种类
*/
@TableField("equ_list")
private String equList;
/**
* 设备类别
*/
@TableField("equ_category")
private String equCategory;
/**
* 设备品种
*/
@TableField("equ_define")
private String equDefine;
}
......@@ -123,7 +123,7 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
*/
Integer checkFactoryNumUnique(@Param("factoryNum") String factoryNum,
@Param("sequenceNbr") String sequenceNbr,
@Param("useUnitCreditCode") String useUnitCreditCode);
@Param("produceUnitCreditCode") String produceUnitCreditCode);
/**
* 使用登记证编号全库唯一校验
......
package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipInsurance;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* Mapper 接口
*
* @author LiuLin
* @date 2024-10-17
*/
public interface JgEquipInsuranceMapper extends BaseMapper<JgEquipInsurance> {
Page<JgEquipInsuranceDto> getListPage(@Param("page") Page<JgEquipInsurance> page,
@Param("sort") SortVo sortMap,
@Param("dto") JgEquipInsuranceDto dto);
JgEquipInsuranceDto getDetailById(@Param("sequenceNbr") Long sequenceNbr);
@MapKey("orgCode")
List<Map<String, Object>> getEquipInsuranceTotal(@Param("orgCode") String orgCode);
}
......@@ -23,9 +23,10 @@ public interface IJgChangeRegistrationUnitService {
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @param selectedOrgInfo
* @return 安装告知
*/
Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr);
Map<String, Map<String, Object>> queryBySequenceNbr(Long sequenceNbr, ReginParams selectedOrgInfo);
/**
* 更新安装告知
......
package com.yeejoin.amos.boot.module.jg.api.service;
/**
* 接口类
*
* @author LiuLin
* @date 2024-10-17
*/
public interface IJgEquipInsuranceService {}
......@@ -263,4 +263,10 @@ public class JgVehicleInformationVo implements Serializable {
private String oRegDate;
private CompanyBo companyInfo;
@ApiModelProperty(value = "主体类型")
private String companyType;
@ApiModelProperty(value = "是否有权限")
private Boolean havingPermission;
}
......@@ -797,13 +797,13 @@
count(1)
FROM
"idx_biz_jg_factory_info" ibjfi
JOIN idx_biz_jg_register_info ibjri ON ibjfi."RECORD" = ibjri."RECORD"
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjri."RECORD" = ibjui."RECORD"
WHERE
ibjri."EQU_LIST" = '2000'
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjfi."RECORD" = ibjri."RECORD"
LEFT JOIN idx_biz_jg_other_info joi ON joi."RECORD" = ibjfi."RECORD"
WHERE ibjri."EQU_LIST" = '2000'
AND ibjri."EQU_CATEGORY" = '2300'
AND ibjfi."FACTORY_NUM" = #{factoryNum}
AND ibjui."USE_UNIT_CREDIT_CODE" = #{useUnitCreditCode}
AND ibjfi."PRODUCE_UNIT_CREDIT_CODE" = #{produceUnitCreditCode}
AND joi.CLAIM_STATUS = '已认领'
</select>
<select id="useRegistrationCertificateAccountUnique" resultType="java.lang.Integer">
......
<?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.jg.api.mapper.JgEquipInsuranceMapper">
<sql id="page-list">
select
tjei.sequence_nbr as sequenceNbr,
tjei.equ_id as equId,
tjei.under_write_name as underWriteName,
tjei.under_write_credit_code as underWriteCreditCode,
tjei.insurance_service_unit_name as insuranceServiceUnitName,
tjei.insurance_service_unit_code as insuranceServiceUnitCode,
tjei.claim_telephone as claimTelephone,
tjei.insurance_number as insuranceNumber,
tjei.insurance_expiration_date as insuranceExpirationDate,
date_format(tjei.rec_date,'%Y-%m-%d') as recDate,
ibjsi.ORG_BRANCH_NAME as receiveOrgName,
jri.USE_ORG_CODE as useRegistrationCode,
ibjui.USE_UNIT_NAME as useUnitName,
ibjui.USE_INNER_CODE as useInnerCode,
ibjfi.FACTORY_NUM as factoryNum,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_LIST)) AS equList,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE)) as equDefine
from
tzs_jg_equip_insurance tjei
LEFT JOIN idx_biz_jg_register_info jri on tjei.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info ibjui on tjei.equ_id = ibjui.RECORD
LEFT JOIN idx_biz_jg_factory_info ibjfi on tjei.equ_id = ibjfi.RECORD
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON tjei.equ_id = ibjsi.RECORD
</sql>
<select id="getListPage" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto">
<include refid="page-list"/>
<where>
tjei.is_delete = 0
<if test="dto.factoryNum != null and dto.factoryNum != ''">
AND ibjfi.FACTORY_NUM = #{dto.factoryNum}
</if>
<if test="dto.useInnerCode != null and dto.useInnerCode != ''">
AND ibjui.USE_INNER_CODE = #{dto.useInnerCode}
</if>
<if test="dto.underWriteName != null and dto.underWriteName != ''">
AND tjei.under_write_name like concat('%',#{dto.underWriteName},'%')
</if>
<if test="dto.insuranceNumber != null and dto.insuranceNumber != ''">
AND tjei.insurance_number like concat('%',#{dto.insuranceNumber},'%')
</if>
<if test="dto.useRegistrationCode != null and dto.useRegistrationCode != ''">
AND jri.USE_ORG_CODE like concat('%',#{dto.useRegistrationCode},'%')
</if>
GROUP BY tjei.equ_id
</where>
order by
<if test="sort != null">
tjei.${sort.field} ${sort.sortType},
</if>
tjei.rec_date DESC
</select>
<select id="getDetailById" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto">
<include refid="page-list"/>
where tjei.sequence_nbr = #{sequenceNbr} and tjei.is_delete = 0
</select>
<select id="getEquipInsuranceTotal" resultType="map">
SELECT
COALESCE(SUM(CASE WHEN jri.EQU_LIST = '3000' THEN 1 ELSE 0 END), 0) AS elevatorInsuranceCount,
COALESCE(SUM(CASE WHEN jri.EQU_CATEGORY = '2300' THEN 1 ELSE 0 END), 0) AS cylinderInsuranceCount
FROM
tzs_jg_equip_insurance tjei
LEFT JOIN idx_biz_jg_supervision_info ibjsi ON tjei.equ_id = ibjsi.RECORD
LEFT JOIN idx_biz_jg_register_info jri ON tjei.equ_id = jri.RECORD
WHERE
tjei.is_delete = 0
AND ibjsi.ORG_BRANCH_CODE LIKE CONCAT(#{orgCode}, '%');
</select>
</mapper>
......@@ -6,49 +6,48 @@
where sequence_nbr = #{id}
</update>
<sql id="page-list">
select ur.sequence_nbr as sequenceNbr,
ur.audit_status as auditStatus,
date_format(ur.reg_date,'%Y-%m-%d') as regDate,
ur.use_unit_name as useUnitName,
ur.status,
ur.receive_org_name as receiveOrgName,
ur.use_address as place,
ur.instance_id as instanceId,
ur.apply_no as applyNo,
ur.next_execute_ids as nextExecuteIds,
ur.promoter,
GROUP_CONCAT(DISTINCT other.supervisory_code) as supervisoryCode,
ur.use_registration_code as useRegistrationCode,
date_format(ur.audit_pass_date,'%Y-%m-%d') as auditPassDate,
date_format(ur.create_date,'%Y-%m-%d') as createDate,
ur.receive_org_name as receiveOrgName,
ur.next_execute_user_ids as nextExecuteUserIds,
ur.next_task_id as nextTaskId,
ur.create_user_id as createUserId,
ur.rec_date as recDate,
ur.manage_type as manageType,
ur.reg_type as regType,
GROUP_CONCAT(DISTINCT other.CODE96333) AS code96333,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE)) as equDefine,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.PRODUCT_NAME) AS productName,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.EQU_CODE) AS equCode,
GROUP_CONCAT(DISTINCT jri.EQU_LIST) AS equList,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_LIST)) AS equListName,
GROUP_CONCAT(DISTINCT use.USE_INNER_CODE) AS innerCode,
GROUP_CONCAT(DISTINCT re.equ_id) AS equipId,
concat(use."PROVINCE_NAME", '', use."CITY_NAME", '', use."COUNTY_NAME", '', use."STREET_NAME") as fullAddress,
use."ADDRESS" as detailedAddress,
ibjsi.ORG_BRANCH_NAME as orgBranchName,
ur.cancel_reason as cancelReason
from tzs_jg_use_registration ur
LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_use_info use on re.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info other on re.equ_id = other.RECORD
LEFT JOIN idx_biz_jg_supervision_info ibjsi on re.equ_id = ibjsi.RECORD
select
ur.sequence_nbr as sequenceNbr,
ur.audit_status as auditStatus,
date_format(ur.reg_date,'%Y-%m-%d') as regDate,
ur.use_unit_name as useUnitName,
ur.status,
ur.receive_org_name as receiveOrgName,
ur.use_address as place,
ur.instance_id as instanceId,
ur.apply_no as applyNo,
ur.next_execute_ids as nextExecuteIds,
ur.promoter,
ur.use_registration_code as useRegistrationCode,
date_format(ur.audit_pass_date,'%Y-%m-%d') as auditPassDate,
date_format(ur.create_date,'%Y-%m-%d') as createDate,
ur.receive_org_name as receiveOrgName,
ur.next_execute_user_ids as nextExecuteUserIds,
ur.next_task_id as nextTaskId,
ur.create_user_id as createUserId,
ur.rec_date as recDate,
ur.manage_type as manageType,
ur.reg_type as regType,
ur.use_address as fullAddress,
ur.cancel_reason as cancelReason,
GROUP_CONCAT(DISTINCT other.supervisory_code) as supervisoryCode,
GROUP_CONCAT(DISTINCT other.CODE96333) AS code96333,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_DEFINE)) as equDefine,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.PRODUCT_NAME) AS productName,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.EQU_CODE) AS equCode,
GROUP_CONCAT(DISTINCT jri.EQU_LIST) AS equList,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_LIST)) AS equListName,
GROUP_CONCAT(DISTINCT re.equ_id) AS equipId,
GROUP_CONCAT(DISTINCT ibjsi.ORG_BRANCH_NAME) AS orgBranchName
from
tzs_jg_use_registration ur
LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_other_info other on re.equ_id = other.RECORD
LEFT JOIN idx_biz_jg_supervision_info ibjsi on re.equ_id = ibjsi.RECORD
</sql>
<select id="getListPage" resultType="java.util.Map">
......@@ -135,6 +134,8 @@
</foreach>
</if>
</where>
GROUP BY
re.equip_transfer_id
order by
ur.create_date DESC, ur.apply_no DESC
</select>
......@@ -383,7 +384,8 @@
</select>
<select id="getMaintenanceDetail" resultType="java.util.Map">
SELECT tjmc."maintenance_unit_name" as maintenanceUnitName,
SELECT
tjmc."maintenance_unit_name" as maintenanceUnitName,
tjmc."use_unit_name" as maintenanceUseUnitName,
tjmc."maintenance_manager_name" as maintenanceManagerName,
tjmc."maintenance_manager_phone" as maintenanceManagerPhone,
......@@ -392,14 +394,17 @@
tjmc."maintenance_manager_two_name" as maintenanceManagerTwoName,
tjmc."maintenance_manager_two_phone" as maintenanceManagerTwoPhone,
tjmc."maintenance_contract" as maintenanceContract,
tjmc."other_accessories" as maintOtherAccessories
FROM "tzs_jg_maintenance_contract_eq" as tjmce
LEFT JOIN "tzs_jg_maintenance_contract" as tjmc
ON tjmce."equip_transfer_id" = tjmc."sequence_nbr"
WHERE tjmce."equ_id" = #{id}
tjmc."other_accessories" as maintOtherAccessories,
tjmc."inform_start" as informStart,
tjmc."inform_end" as informEnd
FROM
"tzs_jg_maintenance_contract_eq" as tjmce
LEFT JOIN "tzs_jg_maintenance_contract" as tjmc ON tjmce."equip_transfer_id" = tjmc."sequence_nbr"
WHERE
tjmce."equ_id" = #{id}
AND tjmc."status" = '已完成'
ORDER BY tjmce."rec_date" desc
LIMIT 1
ORDER BY tjmce."rec_date" desc
LIMIT 1
</select>
<select id="getMaintenanceDetailByIdx" resultType="java.util.Map">
......
......@@ -18,6 +18,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.IPdfService;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgRegistrationHistoryServiceImpl;
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.feign.systemctl.Systemctl;
......@@ -150,12 +151,21 @@ public class CommonController extends BaseController {
String companyType = selectedOrgInfo.getCompany().getCompanyType();
if ("个人主体".equals(companyType)) {
String[] code = selectedOrgInfo.getCompany().getCompanyCode().split("_");
map.put("useUnitCreditCode", code.length > 1 ? code[1] : code[0]);
String useUnitCode = code.length > 1 ? code[1] : code[0];
map.put("useUnitCreditCode", useUnitCode);
String[] companyName = selectedOrgInfo.getCompany().getCompanyName().split("_");
map.put("useUnitName", companyName.length > 1 ? companyName[1] : companyName[0]);
map.put("address", commonService.getEnterpriseInfo(useUnitCode).get("address"));
// 冗余兼容其他业务
map.put("useUnitAddress", map.get("address"));
map.put("companyType", "person");
} else {
map.put("useUnitCreditCode", selectedOrgInfo.getCompany().getCompanyCode());
map.put("useUnitName", selectedOrgInfo.getCompany().getCompanyName());
map.put("address", commonService.getEnterpriseInfo(selectedOrgInfo.getCompany().getCompanyCode()).get("address"));
// 冗余兼容其他业务
map.put("useUnitAddress", map.get("address"));
map.put("companyType", "company");
}
return ResponseHelper.buildResponse(map);
}
......@@ -182,7 +192,7 @@ public class CommonController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equipmentClassification")
@ApiOperation(httpMethod = "GET", value = "设备分类", notes = "1,设备种类 2,设备类别 3,设备品种")
public ResponseModel<List<EquipmentCategory>> equipmentClassification(@RequestParam(value = "type") String type) {
public ResponseModel<List<EquipmentCategoryDto>> equipmentClassification(@RequestParam(value = "type") String type) {
return ResponseHelper.buildResponse(commonService.equipmentClassification(type));
}
......
......@@ -117,7 +117,7 @@ public class JgChangeRegistrationUnitController extends BaseController {
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个单位变更", notes = "根据sequenceNbr查询单个单位变更")
public ResponseModel<Map<String,
Map<String, Object>>> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.queryBySequenceNbr(sequenceNbr));
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.queryBySequenceNbr(sequenceNbr, getSelectedOrgInfo()));
}
......@@ -202,4 +202,20 @@ public class JgChangeRegistrationUnitController extends BaseController {
jgChangeRegistrationUnitServiceImpl.exportUseRegistrationCertificate(sequenceNbr, response, printType);
}
/**
* bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)
*
* @param applyNos 单位变更的申请编号
* @return result
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/bug24304")
@ApiOperation(httpMethod = "GET", value = "bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去)",
notes = "bug24304脏数据处理(单位变更登记一勾选过多,部分变更设备失败,现在将变更失败的设备变更过去")
public ResponseModel<String> bug24304(@RequestParam(value = "applyNos")
@ApiParam(value = "单位变更的申请编号,多个用逗号分隔") String applyNos) {
jgChangeRegistrationUnitServiceImpl.bug24304Handle(applyNos);
return ResponseHelper.buildResponse("申请单号:" + applyNos + "数据修改成功");
}
}
......@@ -162,7 +162,7 @@ public class JgChangeVehicleRegistrationUnitController extends BaseController {
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "获取详情", notes = "获取详情")
public ResponseModel<Map<String, Object>> getDetails(@RequestParam(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getDetails(sequenceNbr));
return ResponseHelper.buildResponse(jgChangeVehicleRegistrationUnitServiceImpl.getDetails(sequenceNbr, getSelectedOrgInfo()));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
......
package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEquipInsuranceDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEquipInsurance;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RestController;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgEquipInsuranceServiceImpl;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.List;
import java.util.Map;
/**
* 设备保险信息控制类
* @author LiuLin
* @date 2024-10-17
*/
@RestController
@Api(tags = "Api")
@RequestMapping(value = "/jg-equip-insurance")
public class JgEquipInsuranceController extends BaseController {
@Autowired
JgEquipInsuranceServiceImpl jgEquipInsuranceServiceImpl;
/**
* 新增
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/save")
@ApiOperation(httpMethod = "POST", value = "新增", notes = "新增")
public ResponseModel<Object> save(@RequestBody JSONObject map) {
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.save(map));
}
/**
* 根据sequenceNbr更新
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PutMapping(value = "/update")
@ApiOperation(httpMethod = "PUT", value = "根据sequenceNbr更新", notes = "根据sequenceNbr更新")
public ResponseModel<JgEquipInsurance> updateBySequenceNbrJgEquipInsurance(@RequestBody JgEquipInsurance entity,
@RequestParam(value = "sequenceNbr") Long sequenceNbr) {
entity.setSequenceNbr(sequenceNbr);
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.updateWithModel(entity));
}
/**
* 根据sequenceNbr删除
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/delete")
@ApiOperation(httpMethod = "POST", value = "根据sequenceNbr删除", notes = "根据sequenceNbr删除")
public ResponseModel<Boolean> deleteBySequenceNbr(@RequestParam(value = "sequenceNbr") Long sequenceNbr){
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.removeById(sequenceNbr));
}
/**
* 根据sequenceNbr查询
*
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getDetail")
@ApiOperation(httpMethod = "GET",value = "根据sequenceNbr查询单个", notes = "根据sequenceNbr查询单个")
public ResponseModel<JgEquipInsuranceDto> getDetail(@RequestParam Long sequenceNbr) {
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.getDetail(sequenceNbr));
}
/**
* 列表分页查询
*
* @param current 当前页
* @param current 每页大小
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<JgEquipInsuranceDto>> queryForPage(@RequestParam(value = "sort", required = false) String sort,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
JgEquipInsuranceDto dto){
Page<JgEquipInsurance> page = new Page<>(current, size);
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.queryForJgEquipInsurancePage(page, sort, dto));
}
/**
* 列表全部数据查询
*
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET",value = "列表全部数据查询", notes = "列表全部数据查询")
@GetMapping(value = "/list")
public ResponseModel<List<JgEquipInsurance>> selectForList() {
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.queryForJgEquipInsuranceList());
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "市级为维度,责任保险统计")
@GetMapping(value = "/countLiabilityInsuranceStatisticsByCity")
public ResponseModel<Map<String, Object>> countLiabilityInsuranceStatisticsByCity() {
return ResponseHelper.buildResponse(jgEquipInsuranceServiceImpl.countLiabilityInsuranceStatisticsByCity());
}
}
......@@ -112,7 +112,10 @@ public class JgUseRegistrationController extends BaseController {
dto.setReceiveCompanyCode(info.getCompany().getCompanyCode());
}
Page<Map<String, Object>> list = jgUseRegistrationServiceImpl.getList(dto, sort, page, dto.getRoleIds());
list.getRecords().forEach(x -> x.put("companyType", info.getCompany().getCompanyType()));
list.getRecords().forEach(x -> {
x.put("companyType", info.getCompany().getCompanyType());
x.put("regTypeDesc", "1".equals(x.get("regType")) ? "历史登记" : "新增登记");
});
return ResponseHelper.buildResponse(list);
}
......
......@@ -144,7 +144,10 @@ public class JgVehicleInformationController extends BaseController {
dto.setDataType(BaseController.COMPANY_TYPE_SUPERVISION);
}
Page<Map<String, Object>> list = jgVehicleInformationServiceImpl.getPageList(dto,sort, page, dto.getRoleIds());
list.getRecords().forEach(x -> x.put("companyType", info.getCompany().getCompanyType()));
list.getRecords().forEach(x -> {
x.put("companyType", info.getCompany().getCompanyType());
x.put("regTypeDesc", "1".equals(x.get("regType")) ? "历史登记" : "新增登记");
});
return ResponseHelper.buildResponse(list);
}
......@@ -171,7 +174,7 @@ public class JgVehicleInformationController extends BaseController {
@GetMapping(value = "/details")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询单个车用气瓶控制类", notes = "根据sequenceNbr查询单个车用气瓶控制类")
public ResponseModel<JgVehicleInformationVo> selectOne(@RequestParam("sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(jgVehicleInformationServiceImpl.queryBySequenceNbr(sequenceNbr));
return ResponseHelper.buildResponse(jgVehicleInformationServiceImpl.queryBySequenceNbr(sequenceNbr, getSelectedOrgInfo()));
}
/**
......
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.InstanceRuntimeData;
import com.yeejoin.amos.boot.module.jg.api.dto.UseFlagParamDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistrationManage;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import javax.servlet.http.HttpServletResponse;
......@@ -184,7 +185,7 @@ public interface ICommonService {
* @param type 1,设备种类 2,设备类别 3,设备品种
* @return
*/
List<EquipmentCategory> equipmentClassification(String type);
List<EquipmentCategoryDto> equipmentClassification(String type);
/**
* 套打使用标志生成
......
......@@ -12,5 +12,10 @@ public interface IIdxBizJgMaintenanceRecordInfoService {
boolean saveOrUpdateData(IdxBizJgMaintenanceRecordInfo maintenanceRecordInfo);
/**
* 按照创建日期倒叙排列,查询最新的一条维保信息
* @param record 设备唯一标识
* @return 查询最新的一条维保信息
*/
IdxBizJgMaintenanceRecordInfo queryNewestDetailByRecord(String record);
}
......@@ -47,6 +47,7 @@ import com.yeejoin.amos.boot.module.jg.biz.utils.FileExporter;
import com.yeejoin.amos.boot.module.jg.biz.utils.ImageUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.jg.biz.utils.WordTemplateUtils;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipTechParamPipeline;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.entity.RegistrationInfo;
......@@ -1968,9 +1969,9 @@ public class CommonServiceImpl implements ICommonService {
* .c@return
*/
@Override
public List<EquipmentCategory> equipmentClassification(String type) {
List<EquipmentCategory> categoryList = equipmentCategoryMapper.selectList(new QueryWrapper<>());
List<EquipmentCategory> result = Collections.emptyList();
public List<EquipmentCategoryDto> equipmentClassification(String type) {
List<EquipmentCategoryDto> categoryList = equipmentCategoryMapper.selectClassifyNoStart7();
List<EquipmentCategoryDto> result = Collections.emptyList();
switch (type) {
case "1":
result = categoryList.stream().filter(category -> Pattern.compile("^[^\\D0]*000$").matcher(category.getCode()).matches()).collect(Collectors.toList());
......
......@@ -25,16 +25,19 @@ public class IdxBizJgMaintenanceRecordInfoServiceImpl extends BaseService<IdxBiz
return this.saveOrUpdate(maintenanceRecordInfo);
}
//查询最新的记录
/**
* 查询最新的维保记录
*/
@Override
public IdxBizJgMaintenanceRecordInfo queryNewestDetailByRecord(String record) {
IdxBizJgMaintenanceRecordInfo result = new IdxBizJgMaintenanceRecordInfo();
QueryWrapper<IdxBizJgMaintenanceRecordInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(IdxBizJgMaintenanceRecordInfo::getRecord,record).orderByDesc(IdxBizJgMaintenanceRecordInfo::getInformEnd);
List<IdxBizJgMaintenanceRecordInfo> maintenanceRecordInfoList = list(queryWrapper);
if(!ValidationUtil.isEmpty(maintenanceRecordInfoList)){
BeanUtils.copyProperties(maintenanceRecordInfoList.get(0),result);
queryWrapper.lambda().eq(IdxBizJgMaintenanceRecordInfo::getRecord,record).orderByDesc(IdxBizJgMaintenanceRecordInfo::getRecDate).last("limit 1");
IdxBizJgMaintenanceRecordInfo init = new IdxBizJgMaintenanceRecordInfo();
IdxBizJgMaintenanceRecordInfo last = getOne(queryWrapper);
if(last != null){
init = last;
}
return result;
return init;
}
......
......@@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -149,7 +149,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/***
* @deprecated 根据查询调教获取分页对象
......
......@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.ImmutableMap;
......@@ -129,7 +129,7 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
@Autowired
private JgUseRegistrationManageServiceImpl registrationManageService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgCertificateChangeRecordServiceImpl certificateChangeRecordService;
@Autowired
......@@ -325,6 +325,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
//设备移装详细地址
oldTransfer.setFullAddress(fullAddress);
oldTransfer.setTransferType((String) tableData.get("transferType"));
if (!ObjectUtils.isEmpty(tableData.get("otherAccessories"))) {
oldTransfer.setOtherAccessories(JSONObject.toJSONString(tableData.get("otherAccessories")));
}
//保存【移装变更登记】基本信息
if (!ValidationUtil.isEmpty(oldTransfer)) {
......@@ -649,6 +652,9 @@ public class JgChangeRegistrationTransferServiceImpl extends BaseService<JgChang
resultDataMap.put("receiveCompanyCode", transfer.getReceiveCompanyCode() + "_" + transfer.getReceiveOrgName());
resultDataMap.put("registrationList", newRegistrationList);
}
if (!ObjectUtils.isEmpty(resultDataMap.get("otherAccessories"))) {
resultDataMap.put("otherAccessories", JSONObject.parse(resultDataMap.get("otherAccessories").toString()));
}
String transferSafetyManager = Optional.ofNullable(resultDataMap.get("transferSafetyManager")).orElse("").toString();
if (StringUtil.isNotEmpty(transferSafetyManager)) {
String[] transferSafetyManagerList = transferSafetyManager.split("_");
......
......@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -27,9 +28,11 @@ import com.yeejoin.amos.boot.module.jg.biz.service.ICommonService;
import com.yeejoin.amos.boot.module.jg.biz.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgOtherInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgUseInfoMapper;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
......@@ -89,8 +92,6 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Autowired
private JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
@Autowired
private JgVehicleInformationServiceImpl jgVehicleInformationService;
@Autowired
private JgChangeVehicleRegistrationUnitEqServiceImpl jgChangeVehicleRegistrationUnitEqService;
@Autowired
private RedissonClient redissonClient;
......@@ -103,6 +104,9 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Autowired
private IdxBizJgOtherInfoMapper otherInfoMapper;
@Autowired
private IdxBizJgUseInfoMapper jgUseInfoMapper;
private volatile Map<String, Object> fillingMediumMap;
......@@ -443,6 +447,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
HashMap<String, Object> param = new HashMap<>();
param.put("USE_UNIT_NAME", jgChangeVehicleRegistrationUnit.getNewUseUnitName());
param.put("USE_UNIT_CREDIT_CODE", jgChangeVehicleRegistrationUnit.getNewUseUnitCreditCode());
// 更新车用气瓶变更登记后,修改气瓶的单位内部编号为车牌号 bug23732
param.put("USE_INNER_CODE", jgChangeVehicleRegistrationUnit.getNewCarNumber());
if (!ObjectUtils.isEmpty(useRegistCode)) {
param.put("USE_ORG_CODE", useRegistCode);
LambdaQueryWrapper<IdxBizJgOtherInfo> eq = new QueryWrapper<IdxBizJgOtherInfo>().lambda().eq(IdxBizJgOtherInfo::getRecord, item);
......@@ -523,6 +529,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
if ("1".equals(jgChangeVehicleRegistrationUnit.getChangeType()) && !ObjectUtils.isEmpty(collect)) {
updateEsData(collect, jgChangeVehicleRegistrationUnit, null);
}
// 更新车用气瓶变更登记后,修改气瓶的单位内部编号为车牌号 bug23732
updateCarNumIntoUseInnerCode(jgChangeVehicleRegistrationUnit, collect);
// 修改证管理信息
manage.setUseUnitName(jgChangeVehicleRegistrationUnit.getNewUseUnitName());
manage.setUseUnitCreditCode(jgChangeVehicleRegistrationUnit.getNewUseUnitCreditCode());
......@@ -551,6 +559,13 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
}
private void updateCarNumIntoUseInnerCode(JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit, List<String> collect) {
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(IdxBizJgUseInfo::getRecord, collect);
updateWrapper.set(IdxBizJgUseInfo::getUseInnerCode, jgChangeVehicleRegistrationUnit.getNewCarNumber());
jgUseInfoMapper.update(null, updateWrapper);
}
/**
* 生成监管码
*/
......@@ -772,7 +787,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return Boolean.TRUE;
}
public Map<String, Object> getDetails(String sequenceNbr) {
public Map<String, Object> getDetails(String sequenceNbr, ReginParams selectedOrgInfo) {
JgChangeVehicleRegistrationUnit registrationUnit = this.getById(sequenceNbr);
this.doCompensate(registrationUnit);
JgRegistrationHistory history = jgRegistrationHistoryService.lambdaQuery()
......@@ -791,6 +806,13 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
} else {
object.put("newCarNumber", registrationUnit.getCarNumber());
}
String companyType = selectedOrgInfo.getCompany().getCompanyType();
if ("个人主体".equals(companyType)) {
object.put("companyType", "person");
} else {
object.put("companyType", "company");
}
object.put("havingPermission", registrationUnit.getNextExecuteUserIds() != null && registrationUnit.getNextExecuteUserIds().contains(RequestContext.getExeUserId()));
return object;
} else {
return new HashMap<>();
......
......@@ -3,7 +3,7 @@ package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -107,7 +107,7 @@ public class JgEnableDisableServiceImpl extends BaseService<JgEnableDisableDto,
private JgRegistrationHistoryMapper jgRegistrationHistoryMapper;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl jgInspectionDetectionInfoService;
......
......@@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -161,7 +161,7 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
@Autowired
JgCertificateChangeRecordEqServiceImpl certificateChangeRecordEqService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgInstallationNoticeMapper jgInstallationNoticeMapper;
@Autowired
......
......@@ -5,7 +5,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -114,7 +114,7 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
ESEquipmentCategory esEquipmentCategory;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
SupervisoryCodeInfoMapper supervisoryCodeInfoMapper;
......
......@@ -697,27 +697,28 @@ public class JgMaintenanceContractServiceImpl extends BaseService<JgMaintenanceC
LambdaQueryWrapper<JgMaintenanceContractEq> lambda = new QueryWrapper<JgMaintenanceContractEq>().lambda();
lambda.eq(JgMaintenanceContractEq::getEquipTransferId, id);
List<JgMaintenanceContractEq> list = jgMaintenanceContractEqService.getBaseMapper().selectList(lambda);
ArrayList<IdxBizJgMaintenanceRecordInfo> data = new ArrayList<>();
List<IdxBizJgMaintenanceRecordInfo> maintenanceRecordInfoList = new ArrayList<>();
// 循环设备
list.forEach(item -> {
IdxBizJgMaintenanceRecordInfo info = idxBizJgMaintenanceRecordInfoService.queryNewestDetailByRecord(item.getEquId());
if (!ObjectUtils.isEmpty(info)) {
info.setMeUnitName(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceUnitName()) ? null : jgMaintenanceContract.getMaintenanceUnitName());
info.setMeUnitCreditCode(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceUnitCode()) ? null : jgMaintenanceContract.getMaintenanceUnitCode());
info.setMeMaster(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOneName()) ? null : jgMaintenanceContract.getMaintenanceManagerOneName());
info.setMeMasterPhone(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOnePhone()) ? null : jgMaintenanceContract.getMaintenanceManagerOnePhone());
info.setMeMasterId(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOneIdNum()) ? null : jgMaintenanceContract.getMaintenanceManagerOneIdNum());
info.setMeMaster1(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoName()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoName());
info.setMeMaster1Phone(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoPhone()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoPhone());
info.setMeMaster1Id(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoIdNum()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoIdNum());
info.setInformStart(ObjectUtils.isEmpty(jgMaintenanceContract.getInformStart()) ? null : jgMaintenanceContract.getInformStart());
info.setInformEnd(ObjectUtils.isEmpty(jgMaintenanceContract.getInformEnd()) ? null : jgMaintenanceContract.getInformEnd());
info.setRepairInform(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceContract()) ? null : jgMaintenanceContract.getMaintenanceContract());
data.add(info);
}
IdxBizJgMaintenanceRecordInfo info = new IdxBizJgMaintenanceRecordInfo();
info.setRecord(item.getEquId());
info.setRecDate(new Date());
info.setRecUserId(RequestContext.getExeUserId());
info.setMeUnitName(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceUnitName()) ? null : jgMaintenanceContract.getMaintenanceUnitName());
info.setMeUnitCreditCode(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceUnitCode()) ? null : jgMaintenanceContract.getMaintenanceUnitCode());
info.setMeMaster(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOneName()) ? null : jgMaintenanceContract.getMaintenanceManagerOneName());
info.setMeMasterPhone(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOnePhone()) ? null : jgMaintenanceContract.getMaintenanceManagerOnePhone());
info.setMeMasterId(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerOneIdNum()) ? null : jgMaintenanceContract.getMaintenanceManagerOneIdNum());
info.setMeMaster1(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoName()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoName());
info.setMeMaster1Phone(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoPhone()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoPhone());
info.setMeMaster1Id(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceManagerTwoIdNum()) ? null : jgMaintenanceContract.getMaintenanceManagerTwoIdNum());
info.setInformStart(ObjectUtils.isEmpty(jgMaintenanceContract.getInformStart()) ? null : jgMaintenanceContract.getInformStart());
info.setInformEnd(ObjectUtils.isEmpty(jgMaintenanceContract.getInformEnd()) ? null : jgMaintenanceContract.getInformEnd());
info.setRepairInform(ObjectUtils.isEmpty(jgMaintenanceContract.getMaintenanceContract()) ? null : jgMaintenanceContract.getMaintenanceContract());
maintenanceRecordInfoList.add(info);
});
idxBizJgMaintenanceRecordInfoService.updateBatchById(data);
emqKeeper.getMqttClient().publish(SafetyProblemTypeEnum.WBBA.getTopic(), JSON.toJSONBytes(data), 2, false);
idxBizJgMaintenanceRecordInfoService.saveBatch(maintenanceRecordInfoList);
emqKeeper.getMqttClient().publish(SafetyProblemTypeEnum.WBBA.getTopic(), JSON.toJSONBytes(maintenanceRecordInfoList), 2, false);
}
......
......@@ -6,7 +6,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
......@@ -112,7 +112,7 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
@Autowired
RedisUtils redisUtils;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
IIdxBizJgRegisterInfoService idxBizJgRegisterInfoService;
@Autowired
......
......@@ -7,7 +7,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -123,7 +123,7 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqServiceImpl;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
/**
* 移装移装注销/报废注销判断
......
......@@ -21,14 +21,20 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.elasticsearch.action.search.ClearScrollRequest;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.search.SearchScrollRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.core.TimeValue;
import org.elasticsearch.index.query.BoolQueryBuilder;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.TermsQueryBuilder;
import org.elasticsearch.search.Scroll;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -43,6 +49,7 @@ import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
......@@ -50,7 +57,9 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.stream.Collectors;
import static com.alibaba.fastjson.JSON.parseArray;
import static com.yeejoin.amos.boot.module.jg.biz.service.impl.JgUseRegistrationServiceImpl.getAuditPassedDate;
......@@ -112,6 +121,9 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
@Autowired
private RedisTemplate<String, String> redisTemplate;
private static final long SCROLL_TIMEOUT = 180000;
private static final int SIZE = 1000;
/**
* 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中
......@@ -341,29 +353,87 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)) {
return new ArrayList<>();
}
List<JSONObject> result = new ArrayList<>();
// List<JSONObject> result = new ArrayList<>();
Set<String> useOrgCodes = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getUseRegistrationCode).collect(Collectors.toSet());
// es中通过查询【使用登记证编号】所有设备
SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true);
// SearchRequest request = new SearchRequest("idx_biz_view_jg_all");
// SearchSourceBuilder builder = new SearchSourceBuilder();
// builder.trackTotalHits(true);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes);
boolQuery.must(termsQuery);
builder.query(boolQuery);
request.source(builder);
// builder.query(boolQuery);
// builder.size(useOrgCodes.size());
// request.source(builder);
List<JSONObject> result = Collections.emptyList();
try {
SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
for (SearchHit hit : response.getHits().getHits()) {
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
result.add(dto2);
result = searchResponse("idx_biz_view_jg_all", boolQuery, hit -> JSONObject.parseObject(hit.getSourceAsString(), JSONObject.class));
}catch (Exception ex){
ex.printStackTrace();
}
// try {
// SearchResponse response = restHighLevelClient.search(request, RequestOptions.DEFAULT);
// for (SearchHit hit : response.getHits().getHits()) {
// JSONObject jsonObject = (JSONObject) JSONObject.toJSON(hit);
// JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
// result.add(dto2);
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
return result;
}
/**
* 构建SearchResponse
*
* @param indices 索引
* @param query queryBuilder
* @param fun 返回函数
* @param <T> 返回类型
* @return List, 可以使用fun转换为T结果
* @throws Exception e
*/
public <T> List<T> searchResponse(String indices, QueryBuilder query, Function<SearchHit, T> fun) throws Exception {
SearchRequest request = new SearchRequest(indices);
Scroll scroll = new Scroll(TimeValue.timeValueMillis(SCROLL_TIMEOUT));
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.query(query);
sourceBuilder.size(SIZE);
request.scroll(scroll);
request.source(sourceBuilder);
List<String> scrollIdList = new ArrayList<>();
List<T> result = new ArrayList<>();
SearchResponse searchResponse = restHighLevelClient.search(request, RequestOptions.DEFAULT);
String scrollId = searchResponse.getScrollId();
SearchHit[] hits = searchResponse.getHits().getHits();
scrollIdList.add(scrollId);
try {
while (ArrayUtils.isNotEmpty(hits)) {
for (SearchHit hit : hits) {
result.add(fun.apply(hit));
}
if (hits.length < SIZE) {
break;
}
SearchScrollRequest searchScrollRequest = new SearchScrollRequest(scrollId);
searchScrollRequest.scroll(scroll);
SearchResponse searchScrollResponse = restHighLevelClient.scroll(searchScrollRequest, RequestOptions.DEFAULT);
scrollId = searchScrollResponse.getScrollId();
hits = searchScrollResponse.getHits().getHits();
scrollIdList.add(scrollId);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
ClearScrollRequest clearScrollRequest = new ClearScrollRequest();
clearScrollRequest.setScrollIds(scrollIdList);
restHighLevelClient.clearScroll(clearScrollRequest, RequestOptions.DEFAULT);
}
return result;
}
......@@ -600,13 +670,13 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
return useFlagParamDto;
}
public void setInspectField(String record, UseFlagParamDto useFlagParamDto) {
private void setInspectField(String record, UseFlagParamDto useFlagParamDto) {
Map<String, Object> inspectDetail = jgUseRegistrationMapper.getInspectDetail(record, null);
useFlagParamDto.setInspectionUnitName(inspectDetail.get("inspectOrgName") == null ? "" : inspectDetail.get("inspectOrgName").toString());
useFlagParamDto.setNextInspectionDate(inspectDetail.get("nextInspectDate") == null ? null : (Date) inspectDetail.get("nextInspectDate"));
}
public void setMainInfoField(String record, UseFlagParamDto useFlagParamDto) {
private void setMainInfoField(String record, UseFlagParamDto useFlagParamDto) {
IdxBizJgMaintenanceRecordInfo idxBizJgMaintenanceRecordInfo = idxBizJgMaintenanceRecordInfoService.queryNewestDetailByRecord(record);
useFlagParamDto.setEmergencyTel(this.buildEmergencyTel(idxBizJgMaintenanceRecordInfo));
......
......@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -123,7 +123,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
@Autowired
private RedisUtils redisUtils;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
private JgVehicleInformationEqMapper jgVehicleInformationEqMapper;
@Autowired
......@@ -573,9 +573,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
* 查看详情
*
* @param sequenceNbr sequenceNbr
* @param selectedOrgInfo
* @return JgVehicleInformationModel
*/
public JgVehicleInformationVo queryBySequenceNbr(Long sequenceNbr) {
public JgVehicleInformationVo queryBySequenceNbr(Long sequenceNbr, ReginParams selectedOrgInfo) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
JgVehicleInformationVo vo = new JgVehicleInformationVo();
JgVehicleInformationDto dto = this.baseMapper.queryBySequenceNbr(sequenceNbr);
......@@ -680,6 +681,13 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
vo.setOldUseRegistrationTable(JSONArray.parseArray(useInfo.getOldUseRegistrationTable()));
vo.setOldUseRegistrationCertificate(JSONArray.parseArray(useInfo.getOldUseRegistrationCertificate()));
}
String companyType = selectedOrgInfo.getCompany().getCompanyType();
if ("个人主体".equals(companyType)) {
vo.setCompanyType("person");
} else {
vo.setCompanyType("company");
}
vo.setHavingPermission(dto.getNextExecuteUserIds() != null && dto.getNextExecuteUserIds().contains(RequestContext.getExeUserId()));
return vo;
}
......@@ -1406,7 +1414,9 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
*/
private void invalidUseRegistrationCertificate(JgVehicleInformation jgVehicleInformation) {
Integer count = this.baseMapper.selectCount(new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode()));
.eq(JgVehicleInformation::getUseRegistrationCode, jgVehicleInformation.getUseRegistrationCode())
.ne(JgVehicleInformation::getStatus, "已作废")
.eq(JgVehicleInformation::getIsDelete, false));
// 一证对应多条使用登记单时,不作废证
if (count > 1) {
return;
......@@ -1597,9 +1607,6 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
}
private void generateRegistrationManage(JgVehicleInformation jgVehicleInformation, IdxBizJgRegisterInfo registerInfo) {
// 使用单位信息
Map<String, Object> enterpriseInfo = commonService.getEnterpriseInfo(jgVehicleInformation.getUseUnitCreditCode());
//
Map<String, String> equType = new HashMap<>();
equType.put("equList", this.baseMapper.getEquCategoryNameByCode(registerInfo.getEquList()));
equType.put("equListCode", registerInfo.getEquList());
......@@ -1629,7 +1636,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
jgUseRegistrationManage.setCreateDate(jgVehicleInformation.getRecDate());
jgUseRegistrationManage.setEquUseAddress("");
jgUseRegistrationManage.setManageType("unit");
jgUseRegistrationManage.setUseUnitAddress(!ValidationUtil.isEmpty(enterpriseInfo) ? (String) enterpriseInfo.get("address") : "");
jgUseRegistrationManage.setUseUnitAddress(jgVehicleInformation.getUseUnitAddress());
jgUseRegistrationManage.setUseRegistrationCode(jgVehicleInformation.getUseRegistrationCode());
jgUseRegistrationManage.setUseUnitCreditCode(jgVehicleInformation.getUseUnitCreditCode());
jgUseRegistrationManage.setReceiveCompanyCode(jgVehicleInformation.getReceiveCompanyCode());
......@@ -1745,6 +1752,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
if (used){
throw new BadRequest("使用登记证编号已存在!");
}
//使用登记证编号判断是否使用未来系统生成编号
idxBizJgRegisterInfoService.checkUseRegistrationCode(useRegistrationCode1,"vehicle");
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
JgVehicleInformationDto vehicleInfoDto = JSON.parseObject(JSON.toJSONString(map), JgVehicleInformationDto.class);
......
package com.yeejoin.amos.boot.module.jyjc.api.enums;
import com.yeejoin.amos.boot.module.common.api.enums.AlertCallEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -48,4 +48,15 @@ public enum JYJCTypeEnum {
}
return Arrays.stream(JYJCTypeEnum.values()).filter(e -> e.getBizType().equals(bizType)).collect(Collectors.toList());
}
public static List<HashMap<String,Object>> getTypeEnumList() {
List<HashMap<String, Object>> list = new ArrayList<>();
for (JYJCTypeEnum testEnum : EnumSet.allOf(JYJCTypeEnum.class)) {
HashMap<String, Object> map = new HashMap<>();
map.put("title", testEnum.getName());
map.put("value", testEnum.getCode());
list.add(map);
}
return list;
}
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipDto;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
......@@ -96,6 +97,16 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
Page<Map<String, Object>> getInspectDetailList(@Param("page") Page<Map<String, Object>> page, @Param("orgCode") String orgCode, @Param("dto") DPFilterParamDto filterParamDto, @Param("businessType") String businessType);
Page<Map<String, Object>> getInspectBusinessList(@Param("page") Page<Map<String, Object>> page, @Param("orgCode") String orgCode, @Param("dto") DPFilterParamDto filterParamDto, @Param("businessType") String businessType);
Long queryQualifiedCount(@Param("orgCode") String orgCode, @Param("dpFilterParamDto") DPFilterParamDto dpFilterParamDto);
Page<Map<String, Object>> queryAllList( @Param("page") Page page,@Param("orgCode") String orgCode, @Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
Long queryAllFlowingAndFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
Long queryAllPendingAndFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
Long queryAllFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
}
package com.yeejoin.amos.boot.module.jyjc.biz.event.listener;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationNoAcceptLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.RequestTypeEnum;
......@@ -43,7 +43,7 @@ import static com.yeejoin.amos.boot.module.jyjc.api.enums.CategoryEnum.getCatego
@Slf4j
public class EnableRuleDataPreparationListener implements ApplicationListener<InspectionOrgRefreshEvent> {
private Sequence sequence;
private SnowflakeIdUtil sequence;
private RegistrationInfoMapper registrationInfoMapper;
......@@ -63,7 +63,7 @@ public class EnableRuleDataPreparationListener implements ApplicationListener<In
private int threadNumber;
public EnableRuleDataPreparationListener(Sequence sequence,
public EnableRuleDataPreparationListener(SnowflakeIdUtil sequence,
RegistrationInfoMapper registrationInfoMapper,
RuleCommonServiceImpl ruleCommonService,
InspectionRuleEnableConfig inspectionRuleEnableConfig, InspectionApplicationPushEventListener applicationPushEventListener,
......@@ -198,7 +198,7 @@ public class EnableRuleDataPreparationListener implements ApplicationListener<In
private RegistrationInfo fetchRegistrationInfo(String record) {
return registrationInfoMapper.selectOne(
Wrappers.<RegistrationInfo>lambdaQuery().select(RegistrationInfo::getRecord, RegistrationInfo::getEquCategory,
RegistrationInfo::getEquDefine, RegistrationInfo::getEquList, RegistrationInfo::getWhetherSphericalTank)
RegistrationInfo::getEquDefine, RegistrationInfo::getEquList, RegistrationInfo::getWhetherSphericalTank)
.eq(RegistrationInfo::getRecord, record));
}
......
......@@ -5,8 +5,8 @@ import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationPushLog;
import com.yeejoin.amos.boot.module.jyjc.api.enums.EquipCategoryEnum;
......@@ -95,7 +95,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
KafkaProducer kafkaProducer;
@Autowired
Sequence sequence;
SnowflakeIdUtil sequence;
/**
......@@ -248,7 +248,7 @@ public class InspectionApplicationPushEventListener implements ApplicationListen
}
private void castStr2JsonField(Map<String, Object> echParamMap) {
if(echParamMap != null){
if (echParamMap != null) {
echParamMap.forEach((k, v) -> {
if (JyjcConstant.TECH_PARAM_JSON_FIELDS.contains(k) && v != null) {
echParamMap.put(k, JSON.parse(v.toString()));
......
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.boot.module.jyjc.biz.event.listener;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult;
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionDetectionSaveToDbEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.BizEmqPublisher;
......@@ -40,7 +40,7 @@ public class InspectionDetectionSaveToDbEventListener implements ApplicationList
CommonServiceImpl commonService;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
......
......@@ -41,9 +41,9 @@ public class TouchRuleEventListener implements ApplicationListener<TouchRuleEven
private void touchRuleWithApi(InspectionEquipInfo inspectionEquipInfo) {
try {
RequestContext.setToken(amosRequestContext.getToken());
RequestContext.setAppKey(amosRequestContext.getAppKey());
RequestContext.setProduct(amosRequestContext.getProduct());
RequestContext.setToken(amosRequestContext.getToken());
HashMap<String, byte[]> factMap = new HashMap<>();
List<Object> factList = new ArrayList<>();
factList.add(inspectionEquipInfo);
......
......@@ -8,7 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
......@@ -101,7 +101,7 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
InspectionDetectionInfoMapper inspectionDetectionInfoMapper;
@Autowired
private Sequence sequence;
private SnowflakeIdUtil sequence;
@Autowired
TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
......
......@@ -17,15 +17,8 @@ feign.client.config.default.read-timeout=30000
## eureka properties:
eureka.client.registry-fetch-interval-seconds=5
eureka.instance.prefer-ip-address=true
management.endpoint.health.show-details=always
management.endpoints.web.exposure.include=*
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.lease-renewal-interval-in-seconds=5
eureka.instance.metadata-map.management.context-path=${server.servlet.context-path}/actuator
eureka.instance.status-page-url-path=/actuator/info
eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}${server.servlet.context-path}/doc.html
knife4j.production=false
knife4j.enable=true
......
......@@ -120,6 +120,52 @@ public class JYJCDPStatisticsController {
return ResponseHelper.buildResponse(statisticsService.endRate(dpFilterParamDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-检验检测-近30日业务办理量/办结率统计下钻图表", notes = "大屏-检验检测-近30日业务办理量/办结率统计下钻图表")
@PostMapping(value = "/endRateDetail")
public ResponseModel<Map<String, Object>> endRateDetail(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.endRateDetail(dpFilterParamForDetailDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-检验检测-近30日业务办理量/办结率统计下钻列表", notes = "大屏-检验检测-近30日业务办理量/办结率统计下钻列表")
@PostMapping(value = "/endRateList")
public ResponseModel<Page<Map<String, Object>>> endRateList(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result,
@RequestParam(value = "current", defaultValue = "1") Integer current,
@RequestParam(value = "size", defaultValue = "20") Integer size) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
Page<Map<String, Object>> page = new Page<>(current,size);
return ResponseHelper.buildResponse(statisticsService.endRateList(dpFilterParamForDetailDto,page));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-检验检测-近30日业务办理量/办结率统计下钻类型", notes = "大屏-检验检测-近30日业务办理量/办结率统计下钻类型")
@PostMapping(value = "/endRateType")
public ResponseModel<List<Map<String, Object>>> endRateType(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.endRateType(dpFilterParamForDetailDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-检验检测-近30日业务办理量/办结率统计下钻筛选类型", notes = "大屏-检验检测-近30日业务办理量/办结率统计下钻筛选类型")
@PostMapping(value = "/endRateSearch")
public ResponseModel<Map<String,List<Map<String,Object>>>> endRateSearch(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.endRateSearch(dpFilterParamForDetailDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-检验检测-按机构进行检验时效统计Top10排名", notes = "大屏-检验检测-按机构进行检验时效统计Top10排名")
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.statistcs.biz.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.common.api.entity.AlertUseUnitStatistics;
......@@ -111,6 +112,42 @@ public class YJDPStatisticsController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-即时警情下钻列表", notes = "大屏-应急-即时警情下钻列表")
@PostMapping(value = "/instantAlertList")
public ResponseModel<Page<Map<String,Object>>> instantAlertList(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result,
@RequestParam(value = "current", defaultValue = "1") Integer current,
@RequestParam(value = "size", defaultValue = "20") Integer size) throws Exception {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
Page<Map<String, Object>> page = new Page<>(current,size);
return ResponseHelper.buildResponse(statisticsService.instantAlertList(dpFilterParamForDetailDto,page));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-即时警情下钻列表类型", notes = "大屏-应急-即时警情下钻列表类型")
@PostMapping(value = "/getAlertCallType")
public ResponseModel<List<Map<String, Object>>> getAlertCallType(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.getAlertCallType(dpFilterParamForDetailDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-即时警情下钻列表筛选", notes = "大屏-应急-即时警情下钻列表筛选")
@PostMapping(value = "/getAlertCallSearch")
public ResponseModel<Map<String,List<Map<String,Object>>>> getAlertCallSearch(@Validated @RequestBody DPFilterParamForDetailDto dpFilterParamForDetailDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.getAlertCallSearch(dpFilterParamForDetailDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏-应急-月度困人故障高发使用单位(默认上月度)", notes = "大屏-应急-月度困人故障高发使用单位")
@PostMapping(value = "/trappedUserHighCompanyCount")
public ResponseModel<List<AlertUseUnitStatisticsDto>> trappedUserHighCompanyCount(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) throws Exception {
......@@ -240,7 +277,7 @@ public class YJDPStatisticsController {
@ApiOperation(value = "月度困人故障高发使用单位-右上角更多-地市月度应急事件高发使用单位-柱状图",
notes = "月度困人故障高发使用单位-右上角更多-地市月度应急事件高发使用单位-柱状图")
@PostMapping("/alertUnitBarChart/dp")
public ResponseModel<JSONObject> alertUnitBarChartForDP(@Validated @RequestBody DPFilterParamForDetailDto detailDto) {
public ResponseModel<JSONObject> alertUnitBarChartForDP(@Validated @RequestBody DPFilterParamForDetailDto detailDto) throws Exception {
return statisticsService.alertUnitBarChartForDP(detailDto);
}
......@@ -249,8 +286,8 @@ public class YJDPStatisticsController {
notes = "月度困人故障高发使用单位-右上角更多-地市月度应急事件高发使用单位-表格")
@PostMapping("/alertUseUnitTable/dp")
public ResponseModel<IPage<AlertUseUnitStatistics>> alertUseUnitTableForDP(@Validated @RequestBody DPFilterParamForDetailDto detailDto,
@RequestParam(value = "current") Integer current,
@RequestParam(value = "size") Integer size) {
@RequestParam(value = "current", defaultValue = "1") Integer current,
@RequestParam(value = "size", defaultValue = "20") Integer size) throws Exception {
detailDto.setCurrent(current);
detailDto.setSize(size);
return statisticsService.alertUseUnitTableForDP(detailDto);
......
......@@ -472,7 +472,7 @@ public class CylinderDPStatisticsServiceImpl {
Long count = null == orgCode ? null : cylinderStatisticsMapper.countEnterpriseUsed(orgCode);
if (totalNum != null && count != null && totalNum > 0 ) {
BigDecimal percent = (new BigDecimal(count.doubleValue() * 100).divide(new BigDecimal(totalNum.doubleValue()), 2, RoundingMode.HALF_UP));
BigDecimal percent = (new BigDecimal(count.doubleValue()).divide(new BigDecimal(totalNum.doubleValue()), 2, RoundingMode.HALF_UP));
result.put("stationRate", Double.valueOf(percent.toString()));
} else {
result.put("stationRate", 0.0);
......
......@@ -10,7 +10,9 @@ import com.yeejoin.amos.boot.biz.common.dto.JyjcInspectionApplicationDto;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.common.api.enums.AlertCallEnum;
import com.yeejoin.amos.boot.module.common.api.enums.JYJCBusinessTypeEnum;
import com.yeejoin.amos.boot.module.common.api.enums.JYJCResultEnum;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectTimeCountDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionTimelinesDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.PublicityInspectOrgInfoDto;
......@@ -43,6 +45,7 @@ import org.elasticsearch.search.aggregations.bucket.terms.Terms;
import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilder;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.elasticsearch.search.sort.SortOrder;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
......@@ -828,12 +831,18 @@ public class JYJCDPStatisticsServiceImpl {
//检验完成
Long finshCount = inspectionApplicationMapper.queryAllFinishedCount(orgCode, dpFilterParamDto);
ydata.add(finshCount);
//检验合格数量
Long qualifiedCount = inspectionApplicationMapper.queryQualifiedCount(orgCode, dpFilterParamDto);
// 计算比率
double completionRate = 0.0;
if (pendingCount != 0 && finshCount != 0) {
completionRate = (double) finshCount / pendingCount;
}
double qualifiedRate = 0.0;
if (finshCount != 0 && qualifiedCount != 0) {
qualifiedRate = (double) qualifiedCount / finshCount;
}
String[] xdata = {
"报检",
"受理",
......@@ -843,10 +852,108 @@ public class JYJCDPStatisticsServiceImpl {
// 格式化比率
DecimalFormat df = new DecimalFormat("#,##0.00");
String formattedCompletionRate = df.format(completionRate);
String formattedQualifiedRate = df.format(qualifiedRate);
result.put("xdata",xdata);
result.put("ydata",ydata);
result.put("completionRate",formattedCompletionRate);
result.put("qualifiedRate",formattedQualifiedRate);
return result;
}
public Map<String,Object> endRateDetail(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
List<RegionModel> regionModels = stCommonService.setRegionIfRootParent(dpFilterParamForDetailDto.getCityCode());
List<Map<String,Object>> result = regionModels.parallelStream().map(r -> {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode());
DPFilterParamForDetailDto filterParamDto = new DPFilterParamForDetailDto();
BeanUtils.copyProperties(dpFilterParamForDetailDto, filterParamDto);
filterParamDto.setCityCode(r.getRegionCode()+"");
filterParamDto.setOrgCode(orgCode);
Map<String, Object> itemResult = endRateForDetail(filterParamDto);
itemResult.put("xdata",r.getRegionName());
return itemResult;
}).collect(Collectors.toList());
Map<String,Object> returnMap = new HashMap<>();
List<Map<String,Object>> legendData = new ArrayList<>();
for(int i = 0;i<2; i++){
Map<String,Object> map = new HashMap<>();
if(i == 0){
map.put("dataKey","allCount");
map.put("value","总数");
map.put("chartType","bar");
}else{
map.put("dataKey","completionRate");
map.put("value","完结率");
map.put("chartType","line");
}
legendData.add(map);
}
returnMap.put("legendData",legendData);
List xdata = new ArrayList();
List allCount = new ArrayList();
List completionRate = new ArrayList();
for(int i = 0;i<result.size();i++){
xdata.add(result.get(i).get("xdata"));
allCount.add(result.get(i).get("allCount"));
completionRate.add(result.get(i).get("completionRate"));
}
returnMap.put("xdata",xdata);
returnMap.put("finishedNum",allCount);
returnMap.put("percentData",completionRate);
return returnMap;
}
private Map<String, Object> endRateForDetail(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
Map<String,Object> result = new HashMap<>();
//报检数量
Long allCount = inspectionApplicationMapper.queryAllFlowingAndFinishedCountForDetail(dpFilterParamForDetailDto);
//受理数量
Long pendingCount = inspectionApplicationMapper.queryAllPendingAndFinishedCountForDetail(dpFilterParamForDetailDto);
//检验完成
Long finshCount = inspectionApplicationMapper.queryAllFinishedCountForDetail(dpFilterParamForDetailDto);
// 计算比率
double completionRate = 0.0;
if (pendingCount != 0 && finshCount != 0) {
completionRate = (double) finshCount / pendingCount;
}
// 格式化比率
DecimalFormat df = new DecimalFormat("#,##0.00");
String formattedCompletionRate = df.format(completionRate);
result.put("allCount",allCount);
result.put("completionRate",formattedCompletionRate);
return result;
}
public Page<Map<String,Object>> endRateList(DPFilterParamForDetailDto dpFilterParamForDetailDto,Page page){
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode());
if(orgCode == null){
return null;
}
//报检数量
Page<Map<String,Object>> result = inspectionApplicationMapper.queryAllList(page,orgCode, dpFilterParamForDetailDto);
return result;
}
public Map<String,List<Map<String,Object>>> endRateSearch(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
Map<String,List<Map<String,Object>>> enumMap = JYJCResultEnum.getSearchEnumList();
return enumMap;
}
public List<Map<String, Object>> endRateType(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
List<HashMap<String, Object>> enumList = JYJCTypeEnum.getTypeEnumList();
List<Map<String,Object>> result = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("title","业务类型");
map.put("value","0");
map.put("children",enumList);
result.add(map);
return result;
}
......
......@@ -15,6 +15,8 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDateDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.common.api.entity.AlertRescueStatistics;
import com.yeejoin.amos.boot.module.common.api.entity.AlertUseUnitStatistics;
import com.yeejoin.amos.boot.module.common.api.enums.AlertCallEnum;
import com.yeejoin.amos.boot.module.common.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.statistics.api.dto.AlertUseUnitStatisticsDto;
import com.yeejoin.amos.boot.module.statistics.api.mapper.AlertRescueStatisticsMapper;
import com.yeejoin.amos.boot.module.statistics.api.mapper.AlertStatisticsMapper;
......@@ -215,6 +217,28 @@ public class YJDPStatisticsServiceImpl {
return alertCalledMapper.getAlertPaperInfoList(regionCodes, false);
}
public Page<Map<String,Object>> instantAlertList(DPFilterParamForDetailDto dpFilterParamForDetailDto,Page page) {
String orgCode = stCommonService.getAndSetOrgCode(dpFilterParamForDetailDto.getCityCode());
dpFilterParamForDetailDto.setOrgCode(orgCode);
return alertCalledMapper.getInstantAlertPage(page,dpFilterParamForDetailDto);
}
public List<Map<String, Object>> getAlertCallType(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
List<HashMap<String, Object>> enumList = AlertCallEnum.getTypeEnumList();
List<Map<String,Object>> result = new ArrayList<>();
Map<String,Object> map = new HashMap<>();
map.put("title","警情类型");
map.put("value","0");
map.put("children",enumList);
result.add(map);
return result;
}
public Map<String,List<Map<String,Object>>> getAlertCallSearch(DPFilterParamForDetailDto dpFilterParamForDetailDto) {
Map<String,List<Map<String,Object>>> enumMap = AlertCallEnum.getSearchEnumList();
return enumMap;
}
public JSONObject trappedUserCount(DPFilterParamDto dpFilterParamDto) throws Exception {
JSONObject jsonObject = new JSONObject();
jsonObject.put("xdata", Arrays.asList("30分钟内到达次数", "超过30分钟到次数", "一级救援次数", "二级救援次数", "三级救援次数"));
......@@ -547,7 +571,7 @@ public class YJDPStatisticsServiceImpl {
return ResponseHelper.buildResponse(mapPage);
}
public ResponseModel<JSONObject> alertUnitBarChartForDP(DPFilterParamForDetailDto detailDto){
public ResponseModel<JSONObject> alertUnitBarChartForDP(DPFilterParamForDetailDto detailDto) throws Exception {
JSONObject res = new JSONObject();
JSONArray legendData = new JSONArray();
legendData.add(new JSONObject()
......@@ -560,6 +584,7 @@ public class YJDPStatisticsServiceImpl {
.map(RegionModel::getRegionName)
.filter(regionName -> !"西咸新区".equals(regionName))
.collect(Collectors.toList());
String date = DateUtil.formatDate(DateTimeUtil.addMonths(new Date(), -1), "yyyy-MM");
List<? extends Number> alertUnitTotal = regionList.stream()
.map(region -> {
String orgCode = stCommonService.getAndSetOrgCode(String.valueOf(region.getRegionCode()));
......@@ -568,6 +593,7 @@ public class YJDPStatisticsServiceImpl {
}
return alertUseUnitStatisticsMapper.selectCount(new QueryWrapper<AlertUseUnitStatistics>().lambda()
.likeRight(AlertUseUnitStatistics::getSupervisoryUnitOrgCode, orgCode)
.eq(AlertUseUnitStatistics::getStatisticsDate,date)
.isNotNull(AlertUseUnitStatistics::getUseUnitCode));
}).collect(Collectors.toList());
res.put("legendData", legendData);
......@@ -576,7 +602,7 @@ public class YJDPStatisticsServiceImpl {
return ResponseHelper.buildResponse(res);
}
public ResponseModel<IPage<AlertUseUnitStatistics>> alertUseUnitTableForDP(DPFilterParamForDetailDto detailDto){
public ResponseModel<IPage<AlertUseUnitStatistics>> alertUseUnitTableForDP(DPFilterParamForDetailDto detailDto) throws Exception{
Page<AlertUseUnitStatistics> page = new Page<>();
page.setCurrent(detailDto.getCurrent());
page.setSize(detailDto.getSize());
......@@ -603,7 +629,8 @@ public class YJDPStatisticsServiceImpl {
}else {
lambda.likeRight(AlertUseUnitStatistics::getSupervisoryUnitOrgCode, orgCode);
}
String date = DateUtil.formatDate(DateTimeUtil.addMonths(new Date(), -1), "yyyy-MM");
lambda.ge(AlertUseUnitStatistics::getStatisticsDate, date);
// 使用单位
if (!ValidationUtil.isEmpty(detailDto.getCompanyName())){
lambda.like(AlertUseUnitStatistics::getUseUnit, detailDto.getCompanyName().trim());
......@@ -612,6 +639,19 @@ public class YJDPStatisticsServiceImpl {
if (!ValidationUtil.isEmpty(detailDto.getMaintenanceCompanyName())){
lambda.like(AlertUseUnitStatistics::getMaintenanceUnit, detailDto.getMaintenanceCompanyName().trim());
}
// 开始时间
if (!ValidationUtil.isEmpty(detailDto.getTimeSearchOne().getBeginDate())){
lambda.ge(AlertUseUnitStatistics::getStartDate, detailDto.getTimeSearchOne().getBeginDate());
}
// 结束时间
if (!ValidationUtil.isEmpty(detailDto.getTimeSearchOne().getEndDate())){
lambda.le(AlertUseUnitStatistics::getEndDate, detailDto.getTimeSearchOne().getEndDate());
}
// 设备类型
if (!ValidationUtil.isEmpty(detailDto.getEquListCode())){
lambda.le(AlertUseUnitStatistics::getEquipmentClassificationCode, detailDto.getEquListCode());
}
IPage<AlertUseUnitStatistics> alertUseUnitStatistics = alertUseUnitStatisticsMapper.selectPage(page, lambda);
return ResponseHelper.buildResponse(alertUseUnitStatistics);
}
......@@ -651,4 +691,7 @@ public class YJDPStatisticsServiceImpl {
}
return list;
}
}
package com.yeejoin.amos.boot.module.tcm.api.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
/**
......@@ -29,11 +27,9 @@ public class BasePersonRegisterDto extends BaseDto {
@ApiModelProperty(value = "真实姓名")
private String realName;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty(value = "有效期开始")
private Date expirationDateStart;
private String expirationDateStart;
@JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty(value = "有效期结束")
private String expirationDateEnd;
......@@ -41,7 +37,6 @@ public class BasePersonRegisterDto extends BaseDto {
private String expirationDateType;
@ApiModelProperty(value = "单位名称")
private String name;
......@@ -85,8 +80,6 @@ public class BasePersonRegisterDto extends BaseDto {
@ApiModelProperty(value = "管理员身份证号")
private String adminIdNumber;
// @ApiModelProperty(value = "个人基本信息")
// private TzsBaseIndividualityDto baseIndividualityDto;
@ApiModelProperty(value = "平台公司id,平台创建公司后更新")
private String amosCompanySeq;
......@@ -94,4 +87,7 @@ public class BasePersonRegisterDto extends BaseDto {
@ApiModelProperty(value = "平台用户id,平台创建用户后更新")
private String adminUserId;
@ApiModelProperty(value = "住所")
private String address;
}
......@@ -25,14 +25,6 @@ public interface IRegUnitInfoService {
*/
RegUnitInfoDto registerUnit(RegUnitInfoDto model);
/**
* 单位校验
* @param unitCode 单位唯一编号
* @return RegUnitInfoDto
*/
RegUnitInfoDto unitCheck(String unitCode, String companyName,String registerType, String cardType);
/**
* 单位类型列表字典
* @return List<DataDictionary>
......@@ -84,4 +76,28 @@ public interface IRegUnitInfoService {
List<DataDictionary> getDictionaryListByType(String type) throws Exception;
List<DataDictionary> getXkItemList(String type);
/**
* 企业类型单位注册检验
* @param unitCode 单位code
* @param isNationwide 是否省外
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForEnterprises(String unitCode, Boolean isNationwide);
/**
* 事业单位类型注册检验
* @param unitCode 单位code
* @param isNationwide 是否省外
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForCause(String unitCode, Boolean isNationwide);
/**
* 个人类型注册检验
* @param unitCode 单位code
* @param cardType 证件类型
* @return RegUnitInfoDto
*/
RegUnitInfoDto regBeforeCheckForPerson(String unitCode, String cardType);
}
package com.yeejoin.amos.boot.module.tcm.biz.config;
import lombok.extern.slf4j.Slf4j;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Slf4j
public class RedissonManager {
/**
* 集群环境使用-节点信息
*/
@Value("${spring.redis.cluster.nodes:default}")
private String clusterNodes;
/**
* 公共-密码
*/
@Value("${spring.redis.password}")
private String password;
/**
* 单机环境使用
*/
@Value("${spring.redis.host:default}")
private String host;
/**
* 单机环境使用
*/
@Value("${spring.redis.port:default}")
private String port;
/**
* 单机环境使用
*/
@Value("${spring.redis.database:0}")
private int database;
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "cluster")
public RedissonClient redissonClient() {
// 集群环境使用
Config config = new Config();
config.useClusterServers()
.addNodeAddress(clusterNodes.split(","))
.setPassword(password);
return Redisson.create(config);
}
@Bean
@ConditionalOnProperty(name = "spring.redis.mode", havingValue = "singleton", matchIfMissing = true)
public RedissonClient redissonSingletonClient() {
// 单机环境使用
Config config = new Config();
config.useSingleServer().setAddress(host + ":" + port).setPassword(password).setDatabase(database);
return Redisson.create(config);
}
}
......@@ -305,7 +305,7 @@ public class ThreeSystemsServiceImpl extends BaseService<ThreeSystemsDto, ThreeS
}
nowDayThreeSystemsDto.setRecDate(new Date());
nowDayThreeSystemsDto.setRecUserId(amosRequestContext.getUserId());
// nowDayThreeSystemsDto.setRecUserId(amosRequestContext.getUserId());
nowDayThreeSystemsDto.setRecUserName(amosRequestContext.getUserName());
nowDayThreeSystemsDto.setIsDelete(false);
......
......@@ -46,19 +46,24 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.exception.BaseException;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.exception.instance.TooManyRequests;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Predicate;
import java.util.stream.Collectors;
......@@ -80,7 +85,7 @@ public class TzBaseEnterpriseInfoServiceImpl
/**
* 企业管理员变更缓存key前缀
*/
private final String adminChange = "ADMIN_CHANGE_";
private final static String adminChange = "ADMIN_CHANGE_";
@Autowired
RedisUtil redisUtil;
@Autowired
......@@ -114,12 +119,15 @@ public class TzBaseEnterpriseInfoServiceImpl
@Autowired
private TzsUserInfoServiceImpl userInfoService;
private static Map<String ,String> JYJC_CERT_MAP = new HashMap<>();
@Autowired
private RedissonClient redissonClient;
private static final Map<String ,String> JYJC_CERT_MAP = new HashMap<>();
/**
* 公司类型下的资质类型map:key为登录人的公司类型、value为包含的资质枚举
*/
private static Map<String ,String> COMPANY_TYPE_CERT_TYPE_MAP = new HashMap<>();
private static final Map<String ,String> COMPANY_TYPE_CERT_TYPE_MAP = new HashMap<>();
// 数据来源cb_data_dictionary type='UNIT_TYPE_NEW'
static {
COMPANY_TYPE_CERT_TYPE_MAP.put("使用单位", "1232");
......@@ -886,31 +894,49 @@ public class TzBaseEnterpriseInfoServiceImpl
@Override
public Map<String, Object> adminInfoUpdate(Map<String, Object> map) {
//每一个企业只有一个管理员,所以当前登录用户即管理员用户
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
//自己不能修改自己 所以需要设置为机器人
platformTokenService.setRequestContext();
// 按照用户进行加锁,解决用户重复提交导致的身份信息重复问题
String userId = RequestContext.getExeUserId();
RLock lock = redissonClient.getLock(this.buildUserUpdateLockKey(userId));
Map<String, Object> resultMap = new HashMap<>();
RegUnitInfo regUnitInfo = new RegUnitInfo();
String unitCode = String.valueOf(map.get("unitCode"));
regUnitInfo.setAdminName(String.valueOf(map.get("adminName")));
regUnitInfo.setAdminIdNumber(String.valueOf(map.get("adminIdNumber")));
regUnitInfo.setAdminIdCardPhoto(JSON.toJSONString(map.get("adminIdCardPhoto")));
regUnitInfo.setAdminTel(String.valueOf(map.get("adminTel")));
me.setMobile(regUnitInfo.getAdminTel());
me.setRealName(String.valueOf(map.get("adminName")));
try {
boolean isLocked = lock.tryLock(0, 180, TimeUnit.SECONDS);
if (!isLocked) {
throw new TooManyRequests("信息正在保存中,请稍后重试!");
}
//每一个企业只有一个管理员,所以当前登录用户即管理员用户
AgencyUserModel me = Privilege.agencyUserClient.getme().getResult();
//自己不能修改自己 所以需要设置为机器人
platformTokenService.setRequestContext();
RegUnitInfo regUnitInfo = new RegUnitInfo();
String unitCode = String.valueOf(map.get("unitCode"));
regUnitInfo.setAdminName(String.valueOf(map.get("adminName")));
regUnitInfo.setAdminIdNumber(String.valueOf(map.get("adminIdNumber")));
regUnitInfo.setAdminIdCardPhoto(JSON.toJSONString(map.get("adminIdCardPhoto")));
regUnitInfo.setAdminTel(String.valueOf(map.get("adminTel")));
me.setMobile(regUnitInfo.getAdminTel());
me.setRealName(String.valueOf(map.get("adminName")));
Privilege.agencyUserClient.update(me, me.getUserId());
regUnitInfoService.update(regUnitInfo, new LambdaQueryWrapper<RegUnitInfo>().eq(RegUnitInfo::getUnitCode, unitCode));
} catch (Exception e) {
resultMap.put("success", regUnitInfo);
redisUtil.del(adminChange + map.get("adminTel"));
} catch (InterruptedException e) {
log.error("tryLock获取锁失败:",e);
throw new BadRequest("系统繁忙,请稍后重试!");
} catch (TooManyRequests e) {
log.error(e.getMessage(),e);
throw new BadRequest(e.getMessage());
throw e;
} finally {
if (lock.isHeldByCurrentThread()) {
lock.unlock();
}
}
resultMap.put("success", regUnitInfo);
redisUtil.del(adminChange + map.get("adminTel"));
return resultMap;
}
private String buildUserUpdateLockKey(String userId) {
return String.format("TCM_USER_UPDATE_LOCK_KEY:%s", userId);
}
public void setSpeUseUnitState(int state,SpeUseUnit speUseUnit){
speUseUnit.setSyncState(state);
speUseUnitService.updateById(speUseUnit);
......
......@@ -75,6 +75,7 @@ public class TzsBaseIndividualityServiceImpl extends BaseService<TzsBaseIndividu
companyInfo.setCompanyName(dto.getCredentialsNum() + "_" + dto.getRealName());
companyInfo.setCompanyCode(dto.getUnitCode());
companyInfo.setCompanyType(unitType);
companyInfo.setAddress(dto.getAddress());
try {
FeignClientResult<CompanyModel> companyResult = Privilege.companyClient.create(companyInfo);
if (companyResult == null || companyResult.getResult() == null) {
......
......@@ -14,6 +14,7 @@ import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
......@@ -110,18 +111,40 @@ public class RegUnitInfoController extends BaseController {
return ResponseHelper.buildResponse(iRegUnitInfoService.adminInfo(unitCode));
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/enterprises/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "企业单位注册校验", notes = "企业单位注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForEnterprises(@PathVariable String unitCode,
@ApiParam(value = "是否省外") @RequestParam Boolean isNationwide) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForEnterprises(unitCode, isNationwide);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
response.setResult(null);
response.setDevMessage(e.getMessage());
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath());
return response;
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "单位注册校验", notes = "单位注册校验")
public ResponseModel<RegUnitInfoDto> unitCheck(@PathVariable String unitCode,
@RequestParam(required = false) String registerType,
@RequestParam(required = false) String cardType,
@RequestParam(required = false) String companyName) {
@GetMapping(value = "/cause/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "事业单位注册校验", notes = "事业单位注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForCause(@PathVariable String unitCode,
@ApiParam(value = "是否省外") @RequestParam Boolean isNationwide) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.unitCheck(unitCode, companyName,registerType,cardType);
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForCause(unitCode, isNationwide);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
......@@ -136,6 +159,30 @@ public class RegUnitInfoController extends BaseController {
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/person/{unitCode}/check")
@ApiOperation(httpMethod = "GET", value = "个人注册校验", notes = "个人注册校验")
public ResponseModel<RegUnitInfoDto> regBeforeCheckForPerson(@PathVariable String unitCode,
@RequestParam(required = false) String cardType) {
if (ValidationUtil.isEmpty(unitCode)) {
throw new BadRequest("注册编码不能为空");
}
try {
RegUnitInfoDto regUnitInfoDto = iRegUnitInfoService.regBeforeCheckForPerson(unitCode, cardType);
return ResponseHelper.buildResponse(regUnitInfoDto);
} catch (Exception e) {
ResponseModel<RegUnitInfoDto> response = new ResponseModel<>();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
response.setResult(null);
response.setDevMessage(e.getMessage());
response.setStatus(HttpStatus.INTERNAL_SERVER_ERROR.value());
response.setTraceId(RequestContext.getTraceId());
response.setPath(request.getServletPath());
return response;
}
}
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/unit-type/list")
@ApiOperation(httpMethod = "GET", value = "单位类型列表", notes = "单位类型列表")
public ResponseModel<List<DataDictionary>> unitTypeList() {
......
......@@ -19,7 +19,7 @@ import com.yeejoin.amos.boot.module.tcm.api.common.BizCommonConstant;
import com.yeejoin.amos.boot.module.tcm.api.dto.WechatMessageDto;
import com.yeejoin.amos.boot.module.tcm.api.entity.WechatRelation;
import com.yeejoin.amos.boot.module.tcm.api.enums.TzsCommonParam;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.TzsAuthServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.StartPlatformTokenService;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.WechatRelationServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.service.impl.WechatServiceImpl;
import com.yeejoin.amos.boot.module.tcm.biz.utils.JsonUtils;
......@@ -73,7 +73,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
private Resource stepRegin;
@Autowired
private TzsAuthServiceImpl tzsAuthServiceImpl;
private StartPlatformTokenService platformTokenService;
@Autowired
ISourceFileService ISourceFileService;
......@@ -115,7 +115,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
@Transactional
public UnitInfoDto saveUnitInfo(UnitInfoDto model) {
tzsAuthServiceImpl.setRequestContext();
platformTokenService.setRequestContext();
model.setUnitStatus(0);// 设置为待审核状态
model.setSubmitTime(new Date()); // 提交时间
model.setIsChange(false);// 新增状态不是变更状态
......@@ -650,7 +650,7 @@ public class UnitInfoServiceImpl extends BaseService<UnitInfoDto, UnitInfo, Unit
@Override
public Collection<RegionModel> getRegionTree(Long parentId, String isNationwide) {
tzsAuthServiceImpl.setRequestContext();
platformTokenService.setRequestContext();
Collection<RegionModel> result = null;
if(parentId == null) {
result = this.getAllRegionTree(isNationwide);
......
......@@ -168,4 +168,9 @@ tzs.auth.user.photo=/public/common/userPic.png
tzs.WxApp.appId=wx48a1b1915b10d14b
tzs.WxApp.secret=ac4f4a9d3c97676badb70c19a2f37b16
tzs.WxApp.grant-type=authorization_code
\ No newline at end of file
tzs.WxApp.grant-type=authorization_code
# ??????(0<=datacenter-id<=31)
mybatis-plus.global-config.datacenter-id=1
# ??????(0<=worker-id<=31)
mybatis-plus.global-config.worker-id=2
\ No newline at end of file
......@@ -2,7 +2,7 @@ package com.yeejoin.amos.patrol.business.data;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.component.robot.AmosRequestContext;
import com.yeejoin.amos.feign.privilege.Privilege;
......@@ -50,7 +50,7 @@ public class CheckRecordDataConsumer implements Runnable {
private AmosRequestContext requestContext;
private Sequence sequence;
private SnowflakeIdUtil sequence;
private CheckMapper checkMapper;
......@@ -66,7 +66,7 @@ public class CheckRecordDataConsumer implements Runnable {
inputItemDao = applicationContext.getBean(IInputItemDao.class);
planTaskDetailMapper = applicationContext.getBean(PlanTaskDetailMapper.class);
requestContext = applicationContext.getBean(AmosRequestContext.class);
sequence = applicationContext.getBean(Sequence.class);
sequence = applicationContext.getBean(SnowflakeIdUtil.class);
checkMapper = applicationContext.getBean(CheckMapper.class);
checkInputMapper = applicationContext.getBean(CheckInputMapper.class);
}
......@@ -75,8 +75,8 @@ public class CheckRecordDataConsumer implements Runnable {
public void run() {
while (true) {
try {
this.setRequestContext();
CheckRecordDataDto checkRecordDataDto = blockingQueue.take();
this.setRequestContext();
this.save2Db(checkRecordDataDto);
} catch (Exception e) {
log.error("入库失败", e);
......
......@@ -7,7 +7,7 @@ import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
@Configuration
@EnableElasticsearchRepositories(basePackages = {"com.yeejoin.amos.boot.module.common.biz.dao","com.yeejoin.amos.patrol.business.dao.repository"})
@EnableElasticsearchRepositories(basePackages = {"com.yeejoin.amos.boot.module.common.biz.dao","com.yeejoin.amos.patrol.business.dao.repository","com.yeejoin.amos.boot.module.common.api.dao"})
public class ElasticSearchRestTemplateConfig {
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamForDetailDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledQueryDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertCalledRecordDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.AlertPaperInfoDto;
......@@ -139,4 +140,5 @@ public interface AlertCalledMapper extends BaseMapper<AlertCalled> {
*/
List<CountDto> faultCauseRatio(@Param("regionCode") String regionCode);
Page<Map<String, Object>> getInstantAlertPage(@Param("page") Page page,@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
}
......@@ -23,6 +23,10 @@ import java.util.Map;
@Mapper
public interface EquipmentCategoryMapper extends BaseMapper<EquipmentCategory> {
@Select("SELECT * FROM tz_equipment_category WHERE code NOT LIKE '7%' ORDER BY parent_id")
List<EquipmentCategoryDto> selectClassifyNoStart7();
@Select("select * from tz_equipment_category where code in('1000','2000','3000','4000','5000','6000','8000','9000')")
List<EquipmentCategoryDto> selectClassify();
......
......@@ -677,6 +677,63 @@
longValue ASC
LIMIT 5
</select>
<select id="getInstantAlertPage" resultType="java.util.Map">
SELECT
ac.work_order_number AS workOrderNumber,
ac.rec_user_name AS recUserName,
ac.alarm_type AS alarmType,
ac.emergency_person AS emergencyPerson,
ac.call_time AS callTime,
ac.device_id AS deviceId,
ac.address AS address,
concat(ac.city, ac.district) AS area,
ac.alert_source AS alertSource,
ac.alert_stage AS alertStage,
ac.alert_status AS alertStatus
FROM
tz_alert_called ac
LEFT JOIN tz_dispatch_task dt ON ac.sequence_nbr = dt.alert_id
WHERE 1=1
<if test="dpFilterParamForDetailDto.orgCode != null and dpFilterParamForDetailDto.orgCode != '' ">
AND ac.biz_org_code LIKE CONCAT( #{dpFilterParamForDetailDto.orgCode} , '%')
</if>
<if test="dpFilterParamForDetailDto.workOrderNumber != null and dpFilterParamForDetailDto.workOrderNumber != ''">
AND ac.work_order_number LIKE CONCAT('%', #{dpFilterParamForDetailDto.workOrderNumber}, '%')
</if>
<if test="dpFilterParamForDetailDto.recUserName != null and dpFilterParamForDetailDto.recUserName != ''">
AND ac.rec_user_name LIKE CONCAT('%', #{dpFilterParamForDetailDto.recUserName}, '%')
</if>
<if test="dpFilterParamForDetailDto.emergencyPerson != null and dpFilterParamForDetailDto.emergencyPerson != ''">
AND ac.emergency_person = #{dpFilterParamForDetailDto.emergencyPerson}
</if>
<if test="dpFilterParamForDetailDto.emergencyCall != null and dpFilterParamForDetailDto.emergencyCall != ''">
AND ac.emergency_call LIKE CONCAT('%', #{dpFilterParamForDetailDto.emergencyCall}, '%')
</if>
<if test="dpFilterParamForDetailDto.deviceId != null and dpFilterParamForDetailDto.deviceId != ''">
AND ac.device_id = LIKE CONCAT('%', #{dpFilterParamForDetailDto.deviceId}, '%')
</if>
<if test="dpFilterParamForDetailDto.address != null and dpFilterParamForDetailDto.address != ''">
AND ac.address LIKE CONCAT('%', #{dpFilterParamForDetailDto.address}, '%')
</if>
<if test="dpFilterParamForDetailDto.emergencyStartTime != null and dpFilterParamForDetailDto.emergencyStartTime != ''">
AND dt.arrive_time &gt;= #{dpFilterParamForDetailDto.emergencyStartTime}
</if>
<if test="dpFilterParamForDetailDto.emergencyEndTime != null and dpFilterParamForDetailDto.emergencyEndTime != ''">
AND dt.arrive_time &lt;= #{dpFilterParamForDetailDto.emergencyEndTime}
</if>
<if test="dpFilterParamForDetailDto.alertSourceCode != null and dpFilterParamForDetailDto.alertSourceCode != ''">
AND ac.alert_source_code = #{dpFilterParamForDetailDto.alertSourceCode}
</if>
<if test="dpFilterParamForDetailDto.alertStage != null and dpFilterParamForDetailDto.alertStage != ''">
AND ac.alert_stage = #{dpFilterParamForDetailDto.alertStage}
</if>
<if test="dpFilterParamForDetailDto.alertStatus != null and dpFilterParamForDetailDto.alertStatus != ''">
AND ac.alert_status = #{dpFilterParamForDetailDto.alertStatus}
</if>
<if test="dpFilterParamForDetailDto.alertTypeCode != null and dpFilterParamForDetailDto.alertTypeCode != '' and dpFilterParamForDetailDto.alertTypeCode != '0'">
AND ac.alarm_type_code = #{dpFilterParamForDetailDto.alertTypeCode}
</if>
</select>
</mapper>
......@@ -76,7 +76,6 @@
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-component-security</artifactId>
<version>${amos.version.tzs}</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
......
......@@ -251,7 +251,7 @@
<dependency>
<groupId>com.yeejoin</groupId>
<artifactId>amos-feign-workflow</artifactId>
<version>1.10.8</version>
<version>${amos.version}</version>
</dependency>
<dependency>
<groupId>com.yeejoin</groupId>
......
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