Commit 0aca5dd1 authored by 麻笑宇's avatar 麻笑宇

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into…

Merge remote-tracking branch 'origin/develop_tzs_register_to_0715' into develop_tzs_register_to_0715
parents 6712e6b8 4b72267d
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 大屏筛选过滤对象
*
* @author Administrator
*/
@Data
public class DPFilterParamDto {
/**
* 区域
*/
@NotBlank(message = "区域编码不能为空!")
private String cityCode;
/**
* 数据统计的开始日期
*/
private String beginDate;
/**
* 数据统计的结束日期
*/
private String endDate;
}
package com.yeejoin.amos.boot.module.common.api.dto;
import lombok.Builder;
import lombok.Data;
/**
* @author Administrator
*/
@Data
@Builder
public class LegendDataDto {
/**
* 唯一标识code
*/
private String dataKey;
/**
* 图列名称
*/
private String value;
}
package com.yeejoin.amos.boot.module.jg.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
*/
@Data
@ApiModel
public class EquipBizCountDto {
@ApiModelProperty(value = "设备种类code")
private String equList;
@ApiModelProperty(value = "设备类别code")
private String equCategory;
@ApiModelProperty(value = "设备品种code")
private String equipDefine;
@ApiModelProperty(value = "次数")
private Integer num;
@ApiModelProperty(value = "区域信息省#市#区,按照#分割")
private String areaCode;
}
package com.yeejoin.amos.boot.module.jg.api.mapper; package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgEnableDisableDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable; import com.yeejoin.amos.boot.module.jg.api.entity.JgEnableDisable;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
...@@ -24,4 +27,6 @@ public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> { ...@@ -24,4 +27,6 @@ public interface JgEnableDisableMapper extends BaseMapper<JgEnableDisable> {
@Param("userId") String userId); @Param("userId") String userId);
Map<String, Object> getDetail(@Param("sequenceNbr") Long sequenceNbr); Map<String, Object> getDetail(@Param("sequenceNbr") Long sequenceNbr);
List<EquipBizCountDto> queryStoppedDeviceStaticListData(DPFilterParamDto dpFilterParamDto);
} }
...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -2,6 +2,8 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgScrapCancelDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel; import com.yeejoin.amos.boot.module.jg.api.entity.JgScrapCancel;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
...@@ -43,4 +45,5 @@ public interface JgScrapCancelMapper extends BaseMapper<JgScrapCancel> { ...@@ -43,4 +45,5 @@ public interface JgScrapCancelMapper extends BaseMapper<JgScrapCancel> {
*/ */
Map<String, Object> queryEquipInformation(@Param("sequenceNbr") long sequenceNbr); Map<String, Object> queryEquipInformation(@Param("sequenceNbr") long sequenceNbr);
List<EquipBizCountDto> queryScrappedDeviceStaticListData(DPFilterParamDto dpFilterParamDto);
} }
...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jg.api.mapper; ...@@ -3,7 +3,9 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto; import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration; import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
...@@ -75,4 +77,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> { ...@@ -75,4 +77,6 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
@Select("select name from tz_equipment_category where code=#{code}") @Select("select name from tz_equipment_category where code=#{code}")
String getEquCategoryNameByCode(String code); String getEquCategoryNameByCode(String code);
List<EquipBizCountDto> queryNewDeviceStaticListData(DPFilterParamDto dpFilterParamDto);
} }
...@@ -115,4 +115,40 @@ ...@@ -115,4 +115,40 @@
LEFT JOIN idx_biz_jg_use_info use on jede.equ_id = use.RECORD LEFT JOIN idx_biz_jg_use_info use on jede.equ_id = use.RECORD
where jed.sequence_nbr = #{sequenceNbr} where jed.sequence_nbr = #{sequenceNbr}
</select> </select>
<select id="queryStoppedDeviceStaticListData"
resultType="com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto">
select
c.equ_list,
c.equ_category,
c.equ_define,
count(1) as num
from
(SELECT
ri.equ_list,
ri.equ_category,
ri.equ_define,
concat(u.PROVINCE,'#', u.CITY,'#', u.COUNTY) as areaCode
FROM
"tzs_jg_enable_disable_eq" ae,
tzs_jg_enable_disable a,
"idx_biz_jg_use_info" u,
idx_biz_jg_register_info ri
where
a.sequence_nbr = ae.enable_disable_apply_id
and ae.equ_id = u."RECORD"
and u."RECORD" = ri."RECORD"
and (a.audit_pass_date between #{beginDate} and #{endDate})
and a.apply_type ='SB_TY'
and a.audit_status='已完成'
and u."PROVINCE" <![CDATA[<>]]> ''
and u."CITY" <![CDATA[<>]]> ''
and u."COUNTY" <![CDATA[<>]]> ''
) c
where
c.areaCode like concat('%',#{cityCode}, '%')
group by
c.equ_list,
c.equ_category,
c.equ_define
</select>
</mapper> </mapper>
...@@ -253,4 +253,40 @@ ...@@ -253,4 +253,40 @@
WHERE ur.sequence_nbr = #{sequenceNbr} WHERE ur.sequence_nbr = #{sequenceNbr}
LIMIT 1 LIMIT 1
</select> </select>
<select id="queryScrappedDeviceStaticListData"
resultType="com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto">
select
c.equ_list,
c.equ_category,
c.equ_define,
count(1) as num
from
(SELECT
ri.equ_list,
ri.equ_category,
ri.equ_define,
concat(u.PROVINCE,'#', u.CITY,'#', u.COUNTY) as areaCode
FROM
"tzs_jg_scrap_cancel_eq" ae,
tzs_jg_scrap_cancel a,
"idx_biz_jg_use_info" u,
idx_biz_jg_register_info ri
where
a.sequence_nbr = ae.equip_transfer_id
and ae.equ_id = u."RECORD"
and u."RECORD" = ri."RECORD"
and (a.audit_pass_date between #{beginDate} and #{endDate})
and a.cancel_type ='1'
and a.audit_status='已完成'
and u."PROVINCE" <![CDATA[<>]]> ''
and u."CITY" <![CDATA[<>]]> ''
and u."COUNTY" <![CDATA[<>]]> ''
) c
where
c.areaCode like concat('%',#{cityCode}, '%')
group by
c.equ_list,
c.equ_category,
c.equ_define
</select>
</mapper> </mapper>
...@@ -557,4 +557,39 @@ ...@@ -557,4 +557,39 @@
LEFT JOIN idx_biz_jg_register_info jri ON re.equ_id = jri.RECORD LEFT JOIN idx_biz_jg_register_info jri ON re.equ_id = jri.RECORD
where ur.sequence_nbr = #{sequenceNbr} where ur.sequence_nbr = #{sequenceNbr}
</select> </select>
<select id="queryNewDeviceStaticListData"
resultType="com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto">
select
c.equ_list,
c.equ_category,
c.equ_define,
count(1) as num
from
(SELECT
ri.equ_list,
ri.equ_category,
ri.equ_define,
concat(u.PROVINCE,'#', u.CITY,'#', u.COUNTY) as areaCode
FROM
"tzs_jg_use_registration_eq" ae,
tzs_jg_use_registration a,
"idx_biz_jg_use_info" u,
idx_biz_jg_register_info ri
where
ae.equ_id = u."RECORD"
and a.sequence_nbr = ae.equip_transfer_id
and u."RECORD" = ri."RECORD"
and (a.audit_pass_date between #{beginDate} and #{endDate})
and a.status='已完成'
and u."PROVINCE" <![CDATA[<>]]> ''
and u."CITY" <![CDATA[<>]]> ''
and u."COUNTY" <![CDATA[<>]]> ''
) c
where
c.areaCode like concat('%',#{cityCode}, '%')
group by
c.equ_list,
c.equ_category,
c.equ_define
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jg.biz.controller;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.DPStatisticsServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
import java.util.Map;
/**
* 大屏统计controller
*
* @author Administrator
*/
@RestController
@RequestMapping("/db/statistics")
@Api(tags = "大屏统计")
public class DPStatisticsController {
private DPStatisticsServiceImpl statisticsService;
public DPStatisticsController(DPStatisticsServiceImpl statisticsService) {
this.statisticsService = statisticsService;
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "大屏总览右侧-使用登记统计", notes = "大屏总览右侧-使用登记统计")
@PostMapping(value = "/useRegister/count/byEquList")
public ResponseModel<Map<String, Object>> useRegisterCountByEquList(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if (!fieldErrors.isEmpty()) {
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.useRegisterCountByEquList(dpFilterParamDto));
}
}
...@@ -135,7 +135,7 @@ public class JgChangeRegistrationNameController extends BaseController { ...@@ -135,7 +135,7 @@ public class JgChangeRegistrationNameController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getTableData") @GetMapping(value = "/getTableData")
@ApiOperation(httpMethod = "GET", value = "获取", notes = "根据sequenceNbr查询单个详情") @ApiOperation(httpMethod = "GET", value = "获取当前企业下,某个接收机构下的使用登记证信息", notes = "获取当前企业下,某个接收机构下的使用登记证信息")
public ResponseModel<Map<String, Object>> getTableData(JgUseRegistrationManageDto dto) { public ResponseModel<Map<String, Object>> getTableData(JgUseRegistrationManageDto dto) {
if (ValidationUtil.isEmpty(dto.getUseUnitCreditCode())) { if (ValidationUtil.isEmpty(dto.getUseUnitCreditCode())) {
// 不传的话取当前登录单位的统一信用代码 // 不传的话取当前登录单位的统一信用代码
......
package com.yeejoin.amos.boot.module.jg.biz.controller; package com.yeejoin.amos.boot.module.jg.biz.controller;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController; import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationReformDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationReformServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationReformServiceImpl;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.utils.ResponseHelper; import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
...@@ -127,4 +132,56 @@ public class JgChangeRegistrationReformController extends BaseController { ...@@ -127,4 +132,56 @@ public class JgChangeRegistrationReformController extends BaseController {
@RequestParam(value = "printType", defaultValue = "0") String printType){ @RequestParam(value = "printType", defaultValue = "0") String printType){
jgChangeRegistrationReformServiceImpl.exportUseRegistrationCertificate(sequenceNbr, response, printType); jgChangeRegistrationReformServiceImpl.exportUseRegistrationCertificate(sequenceNbr, response, printType);
} }
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping (value = "/getEquDetail")
@ApiOperation(httpMethod = "GET", value = "根据使用登记证查询设备详情(前端组件默认传参record)", notes = "根据使用登记证查询设备详情")
public ResponseModel<Map<String, Object>> getEquDetail(@RequestParam String record) {
return ResponseHelper.buildResponse(jgChangeRegistrationReformServiceImpl.getEquDetail(record));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping (value = "/getUseRegistrationCodeData")
@ApiOperation(httpMethod = "GET", value = "获取当前企业,某接收机构审批的使用登记证信息", notes = "获取当前企业,某接收机构审批的使用登记证信息")
public ResponseModel<Page<JgUseRegistrationManageDto>> getUseRegistrationCodeData(
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "EQU_LIST_CODE", required = false) String EQU_LIST_CODE,
@RequestParam(value = "EQU_CATEGORY_CODE", required = false) String EQU_CATEGORY_CODE,
@RequestParam(value = "equList", required = false) String equList,
@RequestParam(value = "receiveCompanyCode") String receiveCompanyCode
) {
JgUseRegistrationManageDto dto = new JgUseRegistrationManageDto();
Page<JgUseRegistrationManageDto> page = new Page<JgUseRegistrationManageDto>();
page.setCurrent(current);
page.setSize(size);
ReginParams info = getSelectedOrgInfo();
if (info.getCompany().getLevel().equals(BaseController.COMPANY_TYPE_COMPANY)) {
dto.setDataType(BaseController.COMPANY_TYPE_COMPANY);
dto.setUseUnitCreditCode(CompanyTypeEnum.INDIVIDUAL.getName().equals(info.getCompany().getCompanyType()) ?
info.getCompany().getCompanyCode().split("_")[1] : info.getCompany().getCompanyCode());
} else {
dto.setDataType(BaseController.COMPANY_TYPE_SUPERVISION);
dto.setReceiveCompanyCode(info.getCompany().getCompanyCode());
}
// 新增时使用EQU_LIST_CODE,适配组件,适配原有表单
if (!ObjectUtils.isEmpty(EQU_LIST_CODE)){
dto.setEquListCode(EQU_LIST_CODE);
}
// 流程页面使用equList,适配组件,适配原有表单
if (!ObjectUtils.isEmpty(equList)){
dto.setEquListCode(equList);
}
// 流程页面使用equList,适配组件,适配原有表单
if (!ObjectUtils.isEmpty(EQU_CATEGORY_CODE)){
dto.setEquCategoryCode(EQU_CATEGORY_CODE);
}
if (!ValidationUtil.isEmpty(receiveCompanyCode)){
String[] codes = receiveCompanyCode.split("_");
if (!ValidationUtil.isEmpty(codes)){
dto.setReceiveCompanyCode(codes[0]);
}
}
return ResponseHelper.buildResponse(jgChangeRegistrationReformServiceImpl.getUseRegistrationCodeData(page, dto));
}
} }
...@@ -30,6 +30,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel; ...@@ -30,6 +30,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...@@ -112,6 +113,7 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -112,6 +113,7 @@ public class JgUseRegistrationManageController extends BaseController {
public ResponseModel<JgUseRegistrationManage> detail(@RequestParam(value = "sequenceNbr") String sequenceNbr) { public ResponseModel<JgUseRegistrationManage> detail(@RequestParam(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryDetailBySeq(sequenceNbr)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryDetailBySeq(sequenceNbr));
} }
/** /**
* 根据sequenceNbr查询使用登记证操作流水---使用登记证详情用 * 根据sequenceNbr查询使用登记证操作流水---使用登记证详情用
* *
...@@ -124,9 +126,11 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -124,9 +126,11 @@ public class JgUseRegistrationManageController extends BaseController {
public ResponseModel<List<Map<String, String>>> operationRecord(@RequestParam(value = "sequenceNbr") String sequenceNbr) { public ResponseModel<List<Map<String, String>>> operationRecord(@RequestParam(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.operationRecord(sequenceNbr)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.operationRecord(sequenceNbr));
} }
/** /**
* 根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用 * 根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用
* 分页接口 * 分页接口
*
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
...@@ -134,9 +138,9 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -134,9 +138,9 @@ public class JgUseRegistrationManageController extends BaseController {
@GetMapping(value = "/detail/equList") @GetMapping(value = "/detail/equList")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用", notes = "根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用") @ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用", notes = "根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用")
public ResponseModel<Page<JSONObject>> certificateEquList(@RequestParam(value = "current") int current, public ResponseModel<Page<JSONObject>> certificateEquList(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "sequenceNbr") String sequenceNbr) { @RequestParam(value = "sequenceNbr") String sequenceNbr) {
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.certificateEquList(current,size,sequenceNbr)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.certificateEquList(current, size, sequenceNbr));
} }
/** /**
...@@ -238,4 +242,25 @@ public class JgUseRegistrationManageController extends BaseController { ...@@ -238,4 +242,25 @@ public class JgUseRegistrationManageController extends BaseController {
.collect(Collectors.toList()); .collect(Collectors.toList());
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquForPageByCertificateSeqList(collect, current, size)); return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryEquForPageByCertificateSeqList(collect, current, size));
} }
/**
* 证的 相关打印
* @param response 响应
* @param printType certificateNormalPrint:使用登记证 普打
* certificateNestedPrint:使用登记证 套打
* useFlagNormalPrint:使用标志 普打
* useFlagNestedPrint:使用标志 套打
* exportSummaryTable;工业管道和气瓶 汇总表下载
* @param certificateSeq 证书的seq
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/printCertificate")
@ApiOperation(httpMethod = "GET", value = "使用登记证 相关打印", notes = "使用登记证 相关打印")
public void printCertificate(HttpServletResponse response,
@RequestParam(value = "printType") String printType,
@RequestParam(value = "certificateSeq") String certificateSeq) {
jgUseRegistrationManageServiceImpl.printCertificate(response,printType, certificateSeq);
}
} }
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.common.api.dto.LegendDataDto;
import com.yeejoin.amos.boot.module.jg.api.dto.EquipBizCountDto;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgEnableDisableMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgScrapCancelMapper;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgUseRegistrationMapper;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 大屏统计实现类
*
* @author Administrator
*/
@Service
public class DPStatisticsServiceImpl {
/**
* 压力容器设备种类
*/
private final static String EQU_LIST_CYLINDER = "2000";
/**
* 气瓶设备类别
*/
private final static String EQU_CATEGORY_CYLINDER = "2300";
private EquipmentCategoryMapper equipmentCategoryMapper;
private JgUseRegistrationMapper useRegistrationMapper;
private JgEnableDisableMapper enableDisableMapper;
private JgScrapCancelMapper scrapCancelMapper;
public DPStatisticsServiceImpl(EquipmentCategoryMapper equipmentCategoryMapper, JgUseRegistrationMapper useRegistrationMapper, JgEnableDisableMapper enableDisableMapper, JgScrapCancelMapper scrapCancelMapper) {
this.equipmentCategoryMapper = equipmentCategoryMapper;
this.useRegistrationMapper = useRegistrationMapper;
this.enableDisableMapper = enableDisableMapper;
this.scrapCancelMapper = scrapCancelMapper;
}
public Map<String, Object> useRegisterCountByEquList(DPFilterParamDto dpFilterParamDto) {
// 1.查询条件构造未上送时间时,默认查询数据为近一个月数据
this.setDefaultFilter(dpFilterParamDto);
// 2.按照前端约定格式返回数据
Map<String, Object> result = new HashMap<>();
List<LegendDataDto> legendDataDtos = this.buildLegendDataList();
//2.1 图列数据构造
result.put("legendData", legendDataDtos);
// 8大类设备种类
List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify();
//2.2 x轴数据构造
result.put("xdata", this.getXData(equipmentCategoryDtos));
//2.3 y轴数据构造
this.buildYData(result, legendDataDtos, dpFilterParamDto, equipmentCategoryDtos);
return result;
}
private List<LegendDataDto> buildLegendDataList() {
List<LegendDataDto> legendDataDtos = new ArrayList<>();
legendDataDtos.add(LegendDataDto.builder().dataKey("newDevice").value("新增登记设备").build());
legendDataDtos.add(LegendDataDto.builder().dataKey("stoppedDevice").value("报停设备").build());
legendDataDtos.add(LegendDataDto.builder().dataKey("scrappedDevice").value("报废设备").build());
return legendDataDtos;
}
private void buildYData(Map<String, Object> result, List<LegendDataDto> legendDataDtos, DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
// 待统计的数据本来sql可以单独统计,但是要求气瓶单独从压力容器里拎出来,与八大类同级,故java处理
// 1.新增登记统计
result.put("newDevice", this.getNewDeviceCountData(dpFilterParamDto, equipmentCategoryDtos));
// 2.新增报停设备统计
result.put("stoppedDevice", this.getStoppedDeviceCountData(dpFilterParamDto, equipmentCategoryDtos));
// 3.新增报废设备统计
result.put("scrappedDevice", this.getScrappedDeviceCountData(dpFilterParamDto, equipmentCategoryDtos));
}
private List<Integer> getNewDeviceCountData(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
List<EquipBizCountDto> staticsData = useRegistrationMapper.queryNewDeviceStaticListData(dpFilterParamDto);
return countNumByEquList(equipmentCategoryDtos, staticsData);
}
private List<Integer> getStoppedDeviceCountData(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
List<EquipBizCountDto> staticsData = enableDisableMapper.queryStoppedDeviceStaticListData(dpFilterParamDto);
return countNumByEquList(equipmentCategoryDtos, staticsData);
}
private List<Integer> getScrappedDeviceCountData(DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
List<EquipBizCountDto> staticsData = scrapCancelMapper.queryScrappedDeviceStaticListData(dpFilterParamDto);
return countNumByEquList(equipmentCategoryDtos, staticsData);
}
private List<Integer> countNumByEquList(List<EquipmentCategoryDto> equipmentCategoryDtos, List<EquipBizCountDto> bizCountDtos) {
List<Integer> lineData = new ArrayList<>();
// 8大类数据统计数量
equipmentCategoryDtos.forEach(equipmentCategoryDto -> {
int num = 0;
// 压力容器要去掉气瓶2300,气瓶单独统计
if (EQU_LIST_CYLINDER.equals(equipmentCategoryDto.getCode())) {
num = bizCountDtos.stream().filter(c -> c.getEquList().equals(equipmentCategoryDto.getCode()) && !EQU_CATEGORY_CYLINDER.equals(c.getEquCategory())).mapToInt(EquipBizCountDto::getNum).sum();
} else {
num = bizCountDtos.stream().filter(c -> c.getEquList().equals(equipmentCategoryDto.getCode())).mapToInt(EquipBizCountDto::getNum).sum();
}
lineData.add(num);
});
// 再增加气瓶(设备类别2300)专项
int num = bizCountDtos.stream().filter(c -> EQU_CATEGORY_CYLINDER.equals(c.getEquCategory())).mapToInt(EquipBizCountDto::getNum).sum();
lineData.add(num);
return lineData;
}
private List<String> getXData(List<EquipmentCategoryDto> equipmentCategoryDtos) {
// 8大类 + 气瓶 注意数据顺序和要和这个x轴一致
List<String> names = equipmentCategoryDtos.stream().map(EquipmentCategoryDto::getName).collect(Collectors.toList());
names.add("气瓶");
return names;
}
private void setDefaultFilter(DPFilterParamDto dpFilterParamDto) {
if (StringUtils.isEmpty(dpFilterParamDto.getBeginDate())) {
dpFilterParamDto.setBeginDate(DateUtil.lastMonth().toDateStr());
}
if (StringUtils.isEmpty(dpFilterParamDto.getEndDate())) {
dpFilterParamDto.setEndDate(DateUtil.today());
}
}
}
...@@ -123,6 +123,16 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -123,6 +123,16 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
public static final String WHETHER_SKID_MOUNTED_PRESSURE_VESSEL = "WHETHER_SKID_MOUNTED_PRESSURE_VESSEL"; public static final String WHETHER_SKID_MOUNTED_PRESSURE_VESSEL = "WHETHER_SKID_MOUNTED_PRESSURE_VESSEL";
// 检验检测机构 // 检验检测机构
public static final String INSPECTION_AND_TESTING_INSTITUTIONS = "检验检测机构"; public static final String INSPECTION_AND_TESTING_INSTITUTIONS = "检验检测机构";
// 设备纳管 纳管:true 未纳管:false
public static final String IS_INTO_MANAGEMENT = "IS_INTO_MANAGEMENT";
/**
* 设备来源 new:新设备录入 his:历史数据录入
*/
public static final String EQUIP_SOURCE = "EQUIP_SOURCE";
/**
* 业务类型 0:单个新增 1:批量导入
*/
public static final String BUSINESS_SCENARIOS = "businessScenarios";
// 需要转化成jsonObject的附件字段 // 需要转化成jsonObject的附件字段
public static String[] jsonFields = {"insOtherAccessories", "installContractAttachment", "installProxyStatementAttachment"}; public static String[] jsonFields = {"insOtherAccessories", "installContractAttachment", "installProxyStatementAttachment"};
@Autowired @Autowired
...@@ -557,6 +567,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -557,6 +567,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
registerInfoMap.put("registerinfoSeq", registerInfo.getSequenceNbr()); registerInfoMap.put("registerinfoSeq", registerInfo.getSequenceNbr());
registerInfoMap.put("sequenceNbr", registerInfo.getSequenceNbr()); registerInfoMap.put("sequenceNbr", registerInfo.getSequenceNbr());
registerInfoMap.put("productPhoto", JSON.parseArray(registerInfo.getProductPhoto())); registerInfoMap.put("productPhoto", JSON.parseArray(registerInfo.getProductPhoto()));
registerInfoMap.put("useRegistrationCode", registerInfo.getUseOrgCode());
if (CollectionUtils.isNotEmpty(categoryList0)) { if (CollectionUtils.isNotEmpty(categoryList0)) {
registerInfoMap.put("equListDesc", categoryList0.get(0).getName()); registerInfoMap.put("equListDesc", categoryList0.get(0).getName());
} }
...@@ -1307,6 +1318,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1307,6 +1318,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
seqBuilder.must(QueryBuilders.termsQuery("SEQUENCE_NBR.keyword", strings)); seqBuilder.must(QueryBuilders.termsQuery("SEQUENCE_NBR.keyword", strings));
boolMust.must(seqBuilder); boolMust.must(seqBuilder);
} }
if (!ObjectUtils.isEmpty(map.getString(IS_INTO_MANAGEMENT))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String param = QueryParser.escape(map.getString(IS_INTO_MANAGEMENT));
pBuilder.must(QueryBuilders.matchQuery(IS_INTO_MANAGEMENT, param));
boolMust.must(pBuilder);
}
if (!ObjectUtils.isEmpty(map.getString(EQU_CATEGORY))) { if (!ObjectUtils.isEmpty(map.getString(EQU_CATEGORY))) {
BoolQueryBuilder pBuilder = QueryBuilders.boolQuery(); BoolQueryBuilder pBuilder = QueryBuilders.boolQuery();
String param = QueryParser.escape(map.getString(EQU_CATEGORY)); String param = QueryParser.escape(map.getString(EQU_CATEGORY));
...@@ -1589,18 +1607,20 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1589,18 +1607,20 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
// 设备品种 // 设备品种
String equDefine = String.valueOf(equipmentClassForm.get(EQU_DEFINE)); String equDefine = String.valueOf(equipmentClassForm.get(EQU_DEFINE));
// 业务场景 // 业务场景
String businessScenarios = String.valueOf(equipmentClassForm.get("businessScenarios")); String businessScenarios = String.valueOf(equipmentClassForm.get(BUSINESS_SCENARIOS));
// 数据来源 历史数据his 新数据new
String equipSource = String.valueOf(equipmentClassForm.get(EQUIP_SOURCE));
// 操作类型 // 操作类型
String operateType = ValidationUtil.isEmpty(equipmentInfoForm.get(SEQUENCE_NBR)) ? OPERATESAVE : OPERATEEDIT; String operateType = ValidationUtil.isEmpty(equipmentInfoForm.get(SEQUENCE_NBR)) ? OPERATESAVE : OPERATEEDIT;
// 设备是否复制而来,复制来的设备走新增 // 设备是否复制而来,复制来的设备走新增
boolean isCopy = !ValidationUtil.isEmpty(equipmentInfoForm.get(IS_COPY)); boolean isCopy = !ValidationUtil.isEmpty(equipmentInfoForm.get(IS_COPY));
operateType = isCopy ? OPERATESAVE : operateType; operateType = isCopy ? OPERATESAVE : operateType;
// 新增设备保存时 : 历史设备=》dataSource为"his" jg新录入设备dataSource为"jg"
String dataSource = OPERATESAVE.equals(operateType) ? "jg" : equipmentInfoForm.get("DATA_SOURCE").toString(); String dataSource = OPERATESAVE.equals(operateType) ? ("new".equals(equipSource) ? "jg" : "his") : equipmentInfoForm.get("DATA_SOURCE").toString();
if (isCopy) { if (isCopy) {
String sourceRecord = equipmentClassForm.get(RECORD).toString(); String sourceRecord = equipmentClassForm.get(RECORD).toString();
dataSource = "jg_" + sourceRecord; dataSource = "new".equals(equipSource) ? ("jg_" + sourceRecord) : ("his_" + sourceRecord);
} }
record = OPERATESAVE.equals(operateType) ? UUID.randomUUID().toString() : equipmentInfoForm.get(RECORD).toString(); record = OPERATESAVE.equals(operateType) ? UUID.randomUUID().toString() : equipmentInfoForm.get(RECORD).toString();
...@@ -1629,6 +1649,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -1629,6 +1649,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
useInfo.setRecord(record); useInfo.setRecord(record);
useInfo.setRecDate(date); useInfo.setRecDate(date);
useInfo.setDataSource(dataSource); useInfo.setDataSource(dataSource);
useInfo.setIsIntoManagement(Boolean.FALSE);
useInfo.setSequenceNbr(OPERATESAVE.equals(operateType) ? null : String.valueOf(equipmentInfoForm.get("USEINFO_SEQ"))); useInfo.setSequenceNbr(OPERATESAVE.equals(operateType) ? null : String.valueOf(equipmentInfoForm.get("USEINFO_SEQ")));
if (companyTypeStr.contains(CompanyTypeEnum.USE.getCode()) || companyTypeStr.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) { if (companyTypeStr.contains(CompanyTypeEnum.USE.getCode()) || companyTypeStr.contains(CompanyTypeEnum.INDIVIDUAL.getCode())) {
useInfo.setUseUnitCreditCode(companyInfoMap.get("creditCode").toString()); useInfo.setUseUnitCreditCode(companyInfoMap.get("creditCode").toString());
......
...@@ -44,6 +44,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; ...@@ -44,6 +44,7 @@ import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
...@@ -148,6 +149,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -148,6 +149,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService; private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<JgChangeRegistrationName> save2(String submitType, JSONObject requestParam) { public List<JgChangeRegistrationName> save2(String submitType, JSONObject requestParam) {
Map<String, JSONObject> jgRegistrationInfoMap = (Map<String, JSONObject>) JSONObject.parseObject(JSONObject.toJSONString(requestParam), Map.class); Map<String, JSONObject> jgRegistrationInfoMap = (Map<String, JSONObject>) JSONObject.parseObject(JSONObject.toJSONString(requestParam), Map.class);
return Collections.singletonList(this.save(submitType, jgRegistrationInfoMap)); return Collections.singletonList(this.save(submitType, jgRegistrationInfoMap));
...@@ -211,6 +213,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -211,6 +213,8 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap); tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
} }
@Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgChangeRegistrationName save(String submitType, Map<String, JSONObject> jgRegistrationInfoMap) { public JgChangeRegistrationName save(String submitType, Map<String, JSONObject> jgRegistrationInfoMap) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String[] taskName = new String[]{"流程结束"}; String[] taskName = new String[]{"流程结束"};
...@@ -381,6 +385,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -381,6 +385,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public JgChangeRegistrationNameDto updateInfo(String submitType, JgChangeRegistrationNameDto jgChangeRegistrationNameDto, String op) { public JgChangeRegistrationNameDto updateInfo(String submitType, JgChangeRegistrationNameDto jgChangeRegistrationNameDto, String op) {
if (Objects.isNull(jgChangeRegistrationNameDto) || StringUtils.isEmpty(submitType)) { if (Objects.isNull(jgChangeRegistrationNameDto) || StringUtils.isEmpty(submitType)) {
throw new IllegalArgumentException("参数不能为空"); throw new IllegalArgumentException("参数不能为空");
...@@ -553,6 +558,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -553,6 +558,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void revocation(String instanceId, String taskId) { public void revocation(String instanceId, String taskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -624,6 +630,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -624,6 +630,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -725,10 +732,10 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -725,10 +732,10 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
// 完成时 下一步骤可执行人清空 // 完成时 下一步骤可执行人清空
jgChangeRegistrationName.setNextExecuteUserIds(""); jgChangeRegistrationName.setNextExecuteUserIds("");
jgChangeRegistrationName.setNextTaskId(nextTaskId); jgChangeRegistrationName.setNextTaskId(nextTaskId);
// 修改业务信息
updateInfoOther(jgChangeRegistrationName);
// 更新代办 // 更新代办
updateTaskModel(jgChangeRegistrationName, operate); TaskV2Model taskV2Model = updateTaskModel(jgChangeRegistrationName, operate);
// 修改业务信息
updateInfoOther(taskV2Model, jgChangeRegistrationName);
} }
// 保存redis最新流程数据 // 保存redis最新流程数据
commonService.saveExecuteFlowData2Redis(jgChangeRegistrationName.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationName)); commonService.saveExecuteFlowData2Redis(jgChangeRegistrationName.getInstanceId(), this.buildInstanceRuntimeData(jgChangeRegistrationName));
...@@ -769,7 +776,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -769,7 +776,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
return commonService.getDictionaryCodeByName(auditStatus); return commonService.getDictionaryCodeByName(auditStatus);
} }
public void updateInfoOther(JgChangeRegistrationName jgChangeRegistrationName) { public void updateInfoOther(TaskV2Model taskV2Model, JgChangeRegistrationName jgChangeRegistrationName) {
// LambdaQueryWrapper<JgChangeRegistrationNameEq> wrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<JgChangeRegistrationNameEq> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr()); // wrapper.eq(JgChangeRegistrationNameEq::getNameChangeRegistrationId, jgChangeRegistrationName.getSequenceNbr());
// List<String> collect = jgChangeRegistrationNameEqService.list(wrapper).stream().map(JgChangeRegistrationNameEq::getEquId).collect(Collectors.toList()); // List<String> collect = jgChangeRegistrationNameEqService.list(wrapper).stream().map(JgChangeRegistrationNameEq::getEquId).collect(Collectors.toList());
...@@ -846,6 +853,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -846,6 +853,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
lambda.in(JgUseRegistrationManage::getSequenceNbr, collect); lambda.in(JgUseRegistrationManage::getSequenceNbr, collect);
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage(); JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setUseUnitName(jgChangeRegistrationName.getNewUseUnitName()); jgUseRegistrationManage.setUseUnitName(jgChangeRegistrationName.getNewUseUnitName());
jgUseRegistrationManage.setAuditPassDate(new Date());
jgUseRegistrationManageService.update(jgUseRegistrationManage, lambda); jgUseRegistrationManageService.update(jgUseRegistrationManage, lambda);
// 业务流水生成 // 业务流水生成
...@@ -874,6 +882,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg ...@@ -874,6 +882,7 @@ public class JgChangeRegistrationNameServiceImpl extends BaseService<JgChangeReg
jgCertificateChangeRecord.setUseUnitName(jgChangeRegistrationName.getUseUnitName()); jgCertificateChangeRecord.setUseUnitName(jgChangeRegistrationName.getUseUnitName());
jgCertificateChangeRecord.setEquCategory(!ObjectUtils.isEmpty(object.get("equCategoryCode")) ? object.get("equCategoryCode").toString() : null); jgCertificateChangeRecord.setEquCategory(!ObjectUtils.isEmpty(object.get("equCategoryCode")) ? object.get("equCategoryCode").toString() : null);
jgCertificateChangeRecord.setReceiveCompanyCode(jgChangeRegistrationName.getReceiveOrgCode()); jgCertificateChangeRecord.setReceiveCompanyCode(jgChangeRegistrationName.getReceiveOrgCode());
jgCertificateChangeRecord.setRoutePath(taskV2Model.getRoutePath());
// 保存证流水信息 // 保存证流水信息
jgCertificateChangeRecordService.save(jgCertificateChangeRecord); jgCertificateChangeRecordService.save(jgCertificateChangeRecord);
// 生成证下设备流水信息 // 生成证下设备流水信息
......
...@@ -10,14 +10,13 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams; ...@@ -10,14 +10,13 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationReform; import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgChangeRegistrationReformEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.*; import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService; import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationReformService;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeRegistrationTransferService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient; import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.jg.biz.service.*; import com.yeejoin.amos.boot.module.jg.biz.service.*;
...@@ -28,11 +27,13 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; ...@@ -28,11 +27,13 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgRegisterInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgTechParamsElevatorMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgTechParamsElevatorMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.OtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.service.ITzsJgRegistrationInfoService;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO; import com.yeejoin.amos.feign.workflow.model.ProcessTaskDTO;
import com.yeejoin.amos.feign.workflow.model.TaskResultDTO; import com.yeejoin.amos.feign.workflow.model.TaskResultDTO;
import io.seata.spring.annotation.GlobalTransactional;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.redisson.api.RedissonClient; import org.redisson.api.RedissonClient;
...@@ -48,6 +49,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -48,6 +49,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -121,6 +123,21 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -121,6 +123,21 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
@Autowired
private IJgChangeRegistrationTransferService jgChangeRegistrationTransferService;
@Autowired
private IdxBizJgRegisterInfoServiceImpl jgRegisterInfoService;
@Autowired
private JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
@Autowired
private JgCertificateChangeRecordServiceImpl jgCertificateChangeRecordService;
@Autowired
private JgCertificateChangeRecordEqServiceImpl jgCertificateChangeRecordEqService;
/*** /***
* @deprecated 根据查询调教获取分页对象 * @deprecated 根据查询调教获取分页对象
* @param dto 查询的dto对象 * @param dto 查询的dto对象
...@@ -135,6 +152,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -135,6 +152,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public List<Map<String, Object>> save(JSONObject map) { public List<Map<String, Object>> save(JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class); ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
UseInfo useInfo = new UseInfo(); UseInfo useInfo = new UseInfo();
...@@ -369,9 +387,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -369,9 +387,9 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName()); jgChangeRegistrationReform.setStatus(FlowStatusEnum.TO_BE_FINISHED.getName());
JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr())); JgChangeRegistrationReformEq jgChangeRegistrationReformEq = jgChangeRegistrationReformEqMapper.selectOne(new QueryWrapper<JgChangeRegistrationReformEq>().eq("equip_transfer_id", jgChangeRegistrationReform.getSequenceNbr()));
// String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode()); // String newUseRegistrationCertificateNumber = getCode(jgChangeRegistrationReform.getSupervisoryCode());
String newUseRegistrationCertificateNumber = commonServiceImpl.generateRegistrationCode(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSupervisoryCode(), jgChangeRegistrationReform.getReceiveCompanyCode()); // String newUseRegistrationCertificateNumber = commonServiceImpl.generateRegistrationCode(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSupervisoryCode(), jgChangeRegistrationReform.getReceiveCompanyCode());
jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber); // jgChangeRegistrationReform.setUseRegistrationCode(newUseRegistrationCertificateNumber);
updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(), newUseRegistrationCertificateNumber, jgChangeRegistrationReform.getApplyNo()); updateTechparamsByEquIdAndCurrentDoucumentId(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform.getSequenceNbr().toString(), null, jgChangeRegistrationReform.getApplyNo());
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();
map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode()); map.put("taskStatus", FlowStatusEnum.TO_BE_FINISHED.getCode());
map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName()); map.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
...@@ -381,13 +399,57 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -381,13 +399,57 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgChangeRegistrationReform.setNextExecuteUserIds(""); jgChangeRegistrationReform.setNextExecuteUserIds("");
jgChangeRegistrationReform.setNextTaskId(nextTaskId); jgChangeRegistrationReform.setNextTaskId(nextTaskId);
map.put("model", conveterTaskMessageDTO(jgChangeRegistrationReform)); map.put("model", conveterTaskMessageDTO(jgChangeRegistrationReform));
commonServiceImpl.updateTaskModel(map); TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(map);
// 生成流水信息
saveRecord(jgChangeRegistrationReformEq.getEquId(), jgChangeRegistrationReform, taskV2Model);
} }
// redis流程实时数据更新 // redis流程实时数据更新
commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationReform)); commonServiceImpl.saveExecuteFlowData2Redis(instanceId, this.buildInstanceRuntimeData(jgChangeRegistrationReform));
this.getBaseMapper().updateById(jgChangeRegistrationReform); this.getBaseMapper().updateById(jgChangeRegistrationReform);
} }
public void saveRecord(String equipId, JgChangeRegistrationReform jgChangeRegistrationReform, TaskV2Model taskV2Model){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId)
.eq("current_document_id", jgChangeRegistrationReform.getApplyNo())
.eq("registration_class", bussinessType));
JSONObject object = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
// 更新使用登记证信息
JgUseRegistrationManage useRegistrationCode = jgUseRegistrationManageService.lambdaQuery().eq(JgUseRegistrationManage::getUseRegistrationCode, object.get("useRegistrationCode")).one();
useRegistrationCode.setAuditPassDate(new Date());
jgUseRegistrationManageService.updateById(useRegistrationCode);
// 生成业务流水信息
JgCertificateChangeRecord jgCertificateChangeRecord = new JgCertificateChangeRecord();
jgCertificateChangeRecord.setApplyNo(jgChangeRegistrationReform.getApplyNo());
jgCertificateChangeRecord.setReceiveOrgName(jgChangeRegistrationReform.getReceiveOrgName());
jgCertificateChangeRecord.setAuditPassDate(new Date());
jgCertificateChangeRecord.setRegType(bussinessType);
jgCertificateChangeRecord.setRegDate(jgChangeRegistrationReform.getCreateDate());
jgCertificateChangeRecord.setChangeContent(jgChangeRegistrationReform.getCreateUserName() + "办理了【" + bussinessType + "】," + "单号【" + jgChangeRegistrationReform.getApplyNo() +
"】" + ",办理日期" + sdf.format(jgChangeRegistrationReform.getAuditPassDate()));
jgCertificateChangeRecord.setRecUserId(jgChangeRegistrationReform.getRecUserId());
jgCertificateChangeRecord.setRecDate(new Date());
jgCertificateChangeRecord.setCreateDate(new Date());
jgCertificateChangeRecord.setCreateUserId(jgChangeRegistrationReform.getCreateUserId());
jgCertificateChangeRecord.setUseRegistrationCode(!ObjectUtils.isEmpty(object.get("useRegistrationCode")) ? object.get("useRegistrationCode").toString() : null);
jgCertificateChangeRecord.setCertificateNo(useRegistrationCode.getCertificateNo());
jgCertificateChangeRecord.setUseUnitCreditCode(jgChangeRegistrationReform.getUseUnitCreditCode());
jgCertificateChangeRecord.setUseUnitName(jgChangeRegistrationReform.getUseUnitName());
jgCertificateChangeRecord.setEquCategory(!ObjectUtils.isEmpty(object.get("equCategory")) ? object.get("equCategory").toString() : null);
jgCertificateChangeRecord.setReceiveCompanyCode(jgChangeRegistrationReform.getReceiveOrgCode());
jgCertificateChangeRecord.setRoutePath(taskV2Model.getRoutePath());
// 保存证流水信息
jgCertificateChangeRecordService.save(jgCertificateChangeRecord);
// 生成设备流水信息
JgCertificateChangeRecordEq jgCertificateChangeRecordEq = new JgCertificateChangeRecordEq();
jgCertificateChangeRecordEq.setEquId(!ObjectUtils.isEmpty(object.get("record")) ? object.get("record").toString() : null);
jgCertificateChangeRecordEq.setChangeRecordId(jgCertificateChangeRecord.getSequenceNbr().toString());
jgCertificateChangeRecordEq.setProductCode(!ObjectUtils.isEmpty(object.get("factoryNum")) ? object.get("factoryNum").toString() : null);
jgCertificateChangeRecordEqService.save(jgCertificateChangeRecordEq);
}
public InstanceRuntimeData buildInstanceRuntimeData(JgChangeRegistrationReform jgChangeRegistrationReform) { public InstanceRuntimeData buildInstanceRuntimeData(JgChangeRegistrationReform jgChangeRegistrationReform) {
return InstanceRuntimeData.builder() return InstanceRuntimeData.builder()
.nextExecuteUserIds(jgChangeRegistrationReform.getNextExecuteUserIds()) .nextExecuteUserIds(jgChangeRegistrationReform.getNextExecuteUserIds())
...@@ -397,6 +459,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -397,6 +459,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) { public void flowExecute(Long id, String instanceId, String operate, String comment, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -440,6 +503,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -440,6 +503,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void withdraw(String instanceId, String nextTaskId) { public void withdraw(String instanceId, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId); String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey); RLock lock = redissonClient.getLock(lockKey);
...@@ -493,6 +557,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -493,6 +557,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@GlobalTransactional(rollbackFor = Exception.class)
public void deleteBatch(List<Long> ids) { public void deleteBatch(List<Long> ids) {
// 删除暂存的待办 // 删除暂存的待办
ids.forEach(id -> { ids.forEach(id -> {
...@@ -520,7 +585,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -520,7 +585,7 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
Map<String, Object> originalData = new HashMap<>(); Map<String, Object> originalData = new HashMap<>();
Map<String, Object> originalDataOther = new HashMap<>(); Map<String, Object> originalDataOther = new HashMap<>();
if (("已完成".equals(jgChangeRegistrationReform.getStatus()) || "流程结束".equals(jgChangeRegistrationReform.getStatus()))) { // if (!("已完成".equals(jgChangeRegistrationReform.getStatus()) || !"流程结束".equals(jgChangeRegistrationReform.getStatus()))) {
// 完成时显示历史数据 // 完成时显示历史数据
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>() JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryMapper.selectOne(new QueryWrapper<JgRegistrationHistory>()
.eq("equ_id", equipId) .eq("equ_id", equipId)
...@@ -528,13 +593,14 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -528,13 +593,14 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
.eq("registration_class", bussinessType)); .eq("registration_class", bussinessType));
originalData = JSONObject.parseObject(jgRegistrationHistory.getChangeData(), Map.class); originalData = JSONObject.parseObject(jgRegistrationHistory.getChangeData(), Map.class);
detail.putAll(originalData); detail.putAll(originalData);
} else { // } else {
// 非完成显示最新数据 // // 完成显示最新数据
originalData = idxBizJgRegisterInfoService.getDetailByRecord(equipId); // originalData = idxBizJgRegisterInfoService.getDetailByRecord(equipId);
originalDataOther = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equipId); // originalDataOther = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(equipId);
detail.putAll(originalDataOther); // detail.putAll(originalDataOther);
detail.put("techInfo", originalData); // detail.put("techInfo", originalData);
} // }
jgChangeRegistrationReform.setReceiveCompanyCode(jgChangeRegistrationReform.getReceiveOrgCode() + "_" + jgChangeRegistrationReform.getReceiveOrgName());
detail.putAll(JSONObject.parseObject(JSONObject.toJSONString(jgChangeRegistrationReform), Map.class)); detail.putAll(JSONObject.parseObject(JSONObject.toJSONString(jgChangeRegistrationReform), Map.class));
if (!ObjectUtils.isEmpty(detail.get("transformationQualityCertificate"))) { if (!ObjectUtils.isEmpty(detail.get("transformationQualityCertificate"))) {
detail.put("transformationQualityCertificate", JSONObject.parse(detail.get("transformationQualityCertificate").toString())); detail.put("transformationQualityCertificate", JSONObject.parse(detail.get("transformationQualityCertificate").toString()));
...@@ -714,19 +780,20 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -714,19 +780,20 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
jgRegistrationHistory.setChangeData(newData); jgRegistrationHistory.setChangeData(newData);
jgRegistrationHistory.setStatus("history"); jgRegistrationHistory.setStatus("history");
jgRegistrationHistoryMapper.updateById(jgRegistrationHistory); jgRegistrationHistoryMapper.updateById(jgRegistrationHistory);
makeEquipmentsInvalid(equipId, currentDocumentId); // makeEquipmentsInvalid(equipId, currentDocumentId);
//更新使用注册登记证编号 //更新使用注册登记证编号
idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, newUseRegistrationCertificateNumber); // 改造变更登记使用登记证不变
//idxBizJgRegisterInfoMapper.updateUseOrgCodeByEquip(equipId, newUseRegistrationCertificateNumber);
//es中的编号信息 //es中的编号信息
Map<String, Map<String, Object>> resultMap = new HashMap<>(); // Map<String, Map<String, Object>> resultMap = new HashMap<>();
Map<String, Object> map1 = new HashMap<>(); // Map<String, Object> map1 = new HashMap<>();
map1.put("USE_ORG_CODE", newUseRegistrationCertificateNumber); // map1.put("USE_ORG_CODE", newUseRegistrationCertificateNumber);
resultMap.put(equipId, map1); // resultMap.put(equipId, map1);
try { // try {
tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap); // tzsServiceFeignClient.commonUpdateEsDataByIds(resultMap);
}catch (Exception e){ // }catch (Exception e){
log.error("改造变更登记------------更新es中的编号信息失败,请及时检查ES的状态"); // log.error("改造变更登记------------更新es中的编号信息失败,请及时检查ES的状态");
} // }
} }
} }
...@@ -885,8 +952,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -885,8 +952,8 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
* @deprecated 动态获取 * @deprecated 动态获取
*/ */
public String getSummaryInfo(JgChangeRegistrationReform jgChangeRegistrationReform) { public String getSummaryInfo(JgChangeRegistrationReform jgChangeRegistrationReform) {
String result = "来自%s【%s】的业务办理,【申请单号:%s】"; String result = "%s发起%s的业务申请,【申请单号:%s】";
return String.format(result, Optional.ofNullable(jgChangeRegistrationReform.getEquipListName()).orElse("无"), Optional.ofNullable(jgChangeRegistrationReform.getSupervisoryCode()).orElse("无"), jgChangeRegistrationReform.getApplyNo()); return String.format(result, Optional.ofNullable(jgChangeRegistrationReform.getCreateUserName()).orElse("无"), bussinessType, jgChangeRegistrationReform.getApplyNo());
} }
/** /**
...@@ -1016,4 +1083,23 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR ...@@ -1016,4 +1083,23 @@ public class JgChangeRegistrationReformServiceImpl extends BaseService<JgChangeR
// 2、3级驳回时,单位code为接收单位code // 2、3级驳回时,单位code为接收单位code
return jgChangeRegistrationReform.getReceiveCompanyCode(); return jgChangeRegistrationReform.getReceiveCompanyCode();
} }
public Map<String, Object> getEquDetail(String useRegistrationCode){
IdxBizJgRegisterInfo registerInfo = jgRegisterInfoService.lambdaQuery().eq(IdxBizJgRegisterInfo::getUseOrgCode, useRegistrationCode).one();
HashMap<String, Object> detail = new HashMap<>();
if (!ObjectUtils.isEmpty(registerInfo)){
Map<String, Object> originalData = idxBizJgRegisterInfoService.getDetailByRecord(registerInfo.getRecord());
Map<String, Object> originalDataOther = idxBizJgRegisterInfoService.getDetailFieldCamelCaseByRecord(registerInfo.getRecord());
detail.putAll(originalDataOther);
detail.put("techInfo", originalData);
// return jgChangeRegistrationTransferService.getDetailFieldCamelCase(registerInfo.getRecord());
//
}
return detail;
}
public Page<JgUseRegistrationManageDto> getUseRegistrationCodeData(Page<JgUseRegistrationManageDto> page,
JgUseRegistrationManageDto dto){
return jgUseRegistrationManageService.queryForJgUseRegistrationManagePage(page, dto, null);
}
} }
\ No newline at end of file
...@@ -1215,8 +1215,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN ...@@ -1215,8 +1215,8 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
map1.put("IS_INTO_MANAGEMENT ", true); map1.put("IS_INTO_MANAGEMENT ", true);
map1.put("USC_UNIT_CREDIT_CODE", jgInstallationNotice.getInstallUnitCreditCode()); map1.put("USC_UNIT_CREDIT_CODE", jgInstallationNotice.getInstallUnitCreditCode());
map1.put("USC_UNIT_NAME", jgInstallationNotice.getInstallUnitName()); map1.put("USC_UNIT_NAME", jgInstallationNotice.getInstallUnitName());
map1.put("USE_PLACE", String.format("%s/%s/%s", jgInstallationNotice.getProvinceName(), jgInstallationNotice.getCityName(), jgInstallationNotice.getCounty())); map1.put("USE_PLACE", String.format("%s/%s/%s/%s", jgInstallationNotice.getProvinceName(), jgInstallationNotice.getCityName(), jgInstallationNotice.getCountyName(), jgInstallationNotice.getStreetName()));
map1.put("ADDRESS", String.format("%s/%s", jgInstallationNotice.getStreetName(), jgInstallationNotice.getAddress())); map1.put("ADDRESS",jgInstallationNotice.getAddress());
objMap.put(tzsJgOtherInfo.getRecord(), map1); objMap.put(tzsJgOtherInfo.getRecord(), map1);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap); tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
} }
......
...@@ -11,13 +11,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*; ...@@ -11,13 +11,7 @@ import com.yeejoin.amos.boot.module.jg.api.mapper.*;
import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService; import com.yeejoin.amos.boot.module.jg.api.service.IJgUseRegistrationManageService;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo; import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.ymt.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgFactoryInfo;
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.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import org.apache.commons.collections.CollectionUtils;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RequestOptions;
...@@ -36,8 +30,8 @@ import org.typroject.tyboot.core.rdbms.service.BaseService; ...@@ -36,8 +30,8 @@ import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest; import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -72,12 +66,16 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -72,12 +66,16 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
@Autowired @Autowired
private JgVehicleInformationMapper jgVehicleInformationMapper; private JgVehicleInformationMapper jgVehicleInformationMapper;
@Autowired
private JgVehicleInformationEqMapper jgVehicleInformationEqMapper;
@Autowired @Autowired
private JgCertificateChangeRecordServiceImpl jgCertificateChangeRecordService; private JgCertificateChangeRecordServiceImpl jgCertificateChangeRecordService;
@Autowired
private JgUseRegistrationServiceImpl jgUseRegistrationService;
@Autowired
private JgVehicleInformationServiceImpl jgVehicleInformationService;
/** /**
* 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中 * 将已经通过使用登记审批的证信息录入到 jg-use-registration-manage 表中
*/ */
...@@ -96,10 +94,10 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -96,10 +94,10 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
String fullAddress = ""; String fullAddress = "";
// 设备种类/类别/品种 // 设备种类/类别/品种
Map<String, String> equType = jgUseRegistrationMapper.getEquTypeByUseRegSeq(String.valueOf(useRegistration.getSequenceNbr())); Map<String, String> equType = jgUseRegistrationMapper.getEquTypeByUseRegSeq(String.valueOf(useRegistration.getSequenceNbr()));
if (!"unit".equals(useRegistration.getManageType())){ if (!"unit".equals(useRegistration.getManageType())) {
List<JgUseRegistrationEq> jgUseRegistrationEqs = jgUseRegistrationEqMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationEq>() List<JgUseRegistrationEq> jgUseRegistrationEqs = jgUseRegistrationEqMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationEq>()
.eq(JgUseRegistrationEq::getEquipTransferId, useRegistration.getSequenceNbr())); .eq(JgUseRegistrationEq::getEquipTransferId, useRegistration.getSequenceNbr()));
if (!ValidationUtil.isEmpty(jgUseRegistrationEqs)){ if (!ValidationUtil.isEmpty(jgUseRegistrationEqs)) {
String equId = jgUseRegistrationEqs.get(0).getEquId(); String equId = jgUseRegistrationEqs.get(0).getEquId();
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOne(new QueryWrapper<IdxBizJgUseInfo>() IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOne(new QueryWrapper<IdxBizJgUseInfo>()
.eq("RECORD", equId)); .eq("RECORD", equId));
...@@ -147,7 +145,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -147,7 +145,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
jgUseRegistrationManage.setUseRegistrationCode(useRegistration.getUseRegistrationCode()); jgUseRegistrationManage.setUseRegistrationCode(useRegistration.getUseRegistrationCode());
jgUseRegistrationManage.setUseUnitCreditCode(useRegistration.getUseUnitCreditCode()); jgUseRegistrationManage.setUseUnitCreditCode(useRegistration.getUseUnitCreditCode());
jgUseRegistrationManage.setReceiveCompanyCode(useRegistration.getReceiveCompanyCode()); jgUseRegistrationManage.setReceiveCompanyCode(useRegistration.getReceiveCompanyCode());
jgUseRegistrationManage.setCertificateNo(commonServiceImpl.generateCertificateNo(equType,useRegistration.getAuditPassDate(),useRegistration.getReceiveCompanyCode())); jgUseRegistrationManage.setCertificateNo(commonServiceImpl.generateCertificateNo(equType, useRegistration.getAuditPassDate(), useRegistration.getReceiveCompanyCode()));
this.baseMapper.insert(jgUseRegistrationManage); this.baseMapper.insert(jgUseRegistrationManage);
} }
...@@ -188,7 +186,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -188,7 +186,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
jgUseRegistrationManage.setUseRegistrationCode(vehicleInformation.getUseRegistrationCode()); jgUseRegistrationManage.setUseRegistrationCode(vehicleInformation.getUseRegistrationCode());
jgUseRegistrationManage.setUseUnitCreditCode(vehicleInformation.getUseUnitCreditCode()); jgUseRegistrationManage.setUseUnitCreditCode(vehicleInformation.getUseUnitCreditCode());
jgUseRegistrationManage.setReceiveCompanyCode(vehicleInformation.getReceiveCompanyCode()); jgUseRegistrationManage.setReceiveCompanyCode(vehicleInformation.getReceiveCompanyCode());
jgUseRegistrationManage.setCertificateNo(commonServiceImpl.generateCertificateNo(equType,vehicleInformation.getAuditPassDate(),vehicleInformation.getReceiveCompanyCode())); jgUseRegistrationManage.setCertificateNo(commonServiceImpl.generateCertificateNo(equType, vehicleInformation.getAuditPassDate(), vehicleInformation.getReceiveCompanyCode()));
this.baseMapper.insert(jgUseRegistrationManage); this.baseMapper.insert(jgUseRegistrationManage);
} }
return Boolean.TRUE; return Boolean.TRUE;
...@@ -202,7 +200,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -202,7 +200,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
JgUseRegistrationManageDto dto, JgUseRegistrationManageDto dto,
String sort) { String sort) {
SortVo sortMap = commonServiceImpl.sortFieldConversion(sort); SortVo sortMap = commonServiceImpl.sortFieldConversion(sort);
return jgUseRegistrationManageMapper.queryForPage(page,dto,sortMap); return jgUseRegistrationManageMapper.queryForPage(page, dto, sortMap);
} }
/** /**
...@@ -240,10 +238,11 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -240,10 +238,11 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
/** /**
* 根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用 * 根据sequenceNbr查询使用登记证对应设备列表---使用登记证详情用
* 分页接口 * 分页接口
*
* @param sequenceNbr 主键 * @param sequenceNbr 主键
* @return * @return
*/ */
public Page<JSONObject> certificateEquList(int current,int size,String sequenceNbr) { public Page<JSONObject> certificateEquList(int current, int size, String sequenceNbr) {
return queryEquForPageByCertificateSeqList(Collections.singletonList(Long.parseLong(sequenceNbr)), current, size); return queryEquForPageByCertificateSeqList(Collections.singletonList(Long.parseLong(sequenceNbr)), current, size);
} }
...@@ -268,7 +267,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -268,7 +267,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>() List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList) .in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList)
.eq(JgUseRegistrationManage::getIsDelete, 0)); .eq(JgUseRegistrationManage::getIsDelete, 0));
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)){ if (ValidationUtil.isEmpty(jgUseRegistrationManageList)) {
return new ArrayList<>(); return new ArrayList<>();
} }
List<JSONObject> result = new ArrayList<>(); List<JSONObject> result = new ArrayList<>();
...@@ -292,7 +291,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -292,7 +291,7 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap"); JSONObject dto2 = jsonObject.getJSONObject("sourceAsMap");
result.add(dto2); result.add(dto2);
} }
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return result; return result;
...@@ -300,16 +299,17 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -300,16 +299,17 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
/** /**
* 根据证的sequenceNbr集合,批量查询证下面的所有设备 * 根据证的sequenceNbr集合,批量查询证下面的所有设备
*
* @param sequenceNbrList 证的sequenceNbr集合 * @param sequenceNbrList 证的sequenceNbr集合
* @param current 分页-当前页 * @param current 分页-当前页
* @param size 分页-分页数 * @param size 分页-分页数
* @return 查询结果 * @return 查询结果
*/ */
public Page<JSONObject> queryEquForPageByCertificateSeqList(List<Long> sequenceNbrList,int current,int size) { public Page<JSONObject> queryEquForPageByCertificateSeqList(List<Long> sequenceNbrList, int current, int size) {
List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>() List<JgUseRegistrationManage> jgUseRegistrationManageList = this.baseMapper.selectList(new LambdaQueryWrapper<JgUseRegistrationManage>()
.in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList) .in(JgUseRegistrationManage::getSequenceNbr, sequenceNbrList)
.eq(JgUseRegistrationManage::getIsDelete, 0)); .eq(JgUseRegistrationManage::getIsDelete, 0));
if (ValidationUtil.isEmpty(jgUseRegistrationManageList)){ if (ValidationUtil.isEmpty(jgUseRegistrationManageList)) {
return new Page<>(); return new Page<>();
} }
...@@ -340,11 +340,76 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -340,11 +340,76 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
list.add(dto); list.add(dto);
} }
totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value; totle = Objects.requireNonNull(response.getInternalResponse().hits().getTotalHits()).value;
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
result.setRecords(list); result.setRecords(list);
result.setTotal(totle); result.setTotal(totle);
return result; return result;
} }
/**
* 标志/使用登记证/汇总表 打印
*
* @param response 响应
* @param printType 打印类型
* @param certificateSeq 使用登记证的seq
*/
public void printCertificate(HttpServletResponse response, String printType, String certificateSeq) {
if (StringUtils.isEmpty(printType) || StringUtils.isEmpty(certificateSeq)) {
throw new BadRequest("打印失败,请联系管理员!");
}
JgUseRegistrationManage manage = this.baseMapper.selectById(certificateSeq);
String regType = manage.getRegType();
String useRegistrationCode = manage.getUseRegistrationCode();
String sequenceNbr = null;
String equCategoryCode = manage.getEquCategoryCode();
switch (printType) {
case "certificateNormalPrint":// 使用登记证 普打
case "certificateNestedPrint":// 使用登记证 套打
case "useFlagNormalPrint":// 使用标志 普打
case "useFlagNestedPrint":// 使用标志 套打
if (BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName().equals(regType)) {
JgVehicleInformation vehicleInformation = jgVehicleInformationService.getOne(
new LambdaQueryWrapper<JgVehicleInformation>()
.eq(JgVehicleInformation::getUseRegistrationCertificate, useRegistrationCode));
sequenceNbr = String.valueOf(vehicleInformation.getSequenceNbr());
jgVehicleInformationService.exportVehicleUseRegistrationCertificate(sequenceNbr, response, getPrintTypeCode(printType));
} else if (BusinessTypeEnum.JG_USAGE_REGISTRATION.getName().equals(regType)) {
JgUseRegistration useRegistration = jgUseRegistrationService.getOne(
new LambdaQueryWrapper<JgUseRegistration>()
.eq(JgUseRegistration::getUseRegistrationCode, useRegistrationCode));
sequenceNbr = String.valueOf(useRegistration.getSequenceNbr());
jgUseRegistrationService.exportUseRegistrationCertificate(sequenceNbr, response, getPrintTypeCode(printType));
}
break;
case "exportSummaryTable":// 工业管道和气瓶 汇总表下载
JgUseRegistration useRegistration = jgUseRegistrationService.getOne(
new LambdaQueryWrapper<JgUseRegistration>()
.eq(JgUseRegistration::getUseRegistrationCode, useRegistrationCode));
jgUseRegistrationService.exportSummaryBasicInfo(String.valueOf(useRegistration.getSequenceNbr()), response, equCategoryCode);
break;
default:
break;
}
}
private String getPrintTypeCode(String printType) {
switch (printType) {
case "certificateNormalPrint":
return "0";
case "certificateNestedPrint":
return "1";
case "useFlagNormalPrint":
return "2";
case "useFlagNestedPrint":
return "3";
default:
return "";
}
}
} }
\ No newline at end of file
...@@ -1169,7 +1169,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1169,7 +1169,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
LambdaQueryWrapper<IdxBizJgUseInfo> lambda = new QueryWrapper<IdxBizJgUseInfo>().lambda(); LambdaQueryWrapper<IdxBizJgUseInfo> lambda = new QueryWrapper<IdxBizJgUseInfo>().lambda();
lambda.eq(IdxBizJgUseInfo::getRecord, String.valueOf(mapData.get("equipId"))); lambda.eq(IdxBizJgUseInfo::getRecord, String.valueOf(mapData.get("equipId")));
IdxBizJgUseInfo useInfo = useInfoMapper.selectOne(lambda); IdxBizJgUseInfo useInfo = useInfoMapper.selectOne(lambda);
String usePlace = useInfo.getProvinceName() + "/" + useInfo.getCityName() + "/" + useInfo.getCountyName() + useInfo.getStreetName(); String usePlace = useInfo.getProvinceName() + "/" + useInfo.getCityName() + "/" + useInfo.getCountyName() +"/" + useInfo.getStreetName();
// 更新es // 更新es
updateEsData(usePlace, mapData, otherInfo, jgUseRegistration); updateEsData(usePlace, mapData, otherInfo, jgUseRegistration);
jgResumeInfoService.createWithModel(JgResumeInfoDto.builder() jgResumeInfoService.createWithModel(JgResumeInfoDto.builder()
......
...@@ -129,19 +129,19 @@ ...@@ -129,19 +129,19 @@
"type": "108", "type": "108",
"pageType": "draft", "pageType": "draft",
"name": "更名变更登记-暂存打开", "name": "更名变更登记-暂存打开",
"url": "/mixuap?appId=1742358052905971713&id=1739168596900212738&roleIds={roleIds}&userId={userId}&formType=edit" "url": "/mixuap?appId=1742358052905971713&id=1739168596900212738&roleIds={roleIds}&userId={userId}&pageType=edit"
}, },
{ {
"type": "108", "type": "108",
"pageType": "look", "pageType": "look",
"name": "更名变更登记-查看", "name": "更名变更登记-查看",
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&formType=detail" "url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=detail"
}, },
{ {
"type": "108", "type": "108",
"pageType": "edit", "pageType": "edit",
"name": "更名变更登记", "name": "更名变更登记",
"url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&formType=edit" "url": "/mixuap?appId=1742358052905971713&id=1739186702624256001&roleIds={roleIds}&userId={userId}&pageType=edit"
}, },
{ {
"type": "109", "type": "109",
......
package com.yeejoin.amos.boot.module.jyjc.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
*/
@Data
@ApiModel
public class InspectTimeCountDto {
@ApiModelProperty(value = "检验类型")
private String bizType;
@ApiModelProperty(value = "设备种类code")
private String equList;
@ApiModelProperty(value = "设备类别code")
private String equCategory;
@ApiModelProperty(value = "设备品种code")
private String equipDefine;
@ApiModelProperty(value = "次数")
private Integer num;
@ApiModelProperty(value = "区域信息省#市#区,按照#分割")
private String areaCode;
}
package com.yeejoin.amos.boot.module.jyjc.api.mapper; package com.yeejoin.amos.boot.module.jyjc.api.mapper;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectTimeCountDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip; import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplicationEquip;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.DPFilterParamDto;
import java.util.List;
/** /**
* Mapper 接口 * Mapper 接口
...@@ -11,4 +15,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -11,4 +15,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface JyjcInspectionApplicationEquipMapper extends BaseMapper<JyjcInspectionApplicationEquip> { public interface JyjcInspectionApplicationEquipMapper extends BaseMapper<JyjcInspectionApplicationEquip> {
public void deleteByApplicationSeq(Long applicationSeq); public void deleteByApplicationSeq(Long applicationSeq);
/**
* 检验检测次数统计维度按照设备种类、检验类型进行统计
* @param dpFilterParamDto g过滤条件
* @return 统计列表
*/
List<InspectTimeCountDto> countInspectTimeCountByTypeAndEquList(DPFilterParamDto dpFilterParamDto);
} }
package com.yeejoin.amos.boot.module.jyjc.api.model;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* 大屏筛选过滤对象
*
* @author Administrator
*/
@Data
public class DPFilterParamDto {
/**
* 区域
*/
@NotBlank(message = "区域编码不能为空!")
private String cityCode;
/**
* 数据统计的开始日期
*/
private String beginDate;
/**
* 数据统计的结束日期
*/
private String endDate;
}
...@@ -12,4 +12,39 @@ ...@@ -12,4 +12,39 @@
</delete> </delete>
<select id="countInspectTimeCountByTypeAndEquList"
resultType="com.yeejoin.amos.boot.module.jyjc.api.dto.InspectTimeCountDto">
select
c.biz_type,
c.equ_list,
c.equ_category,
c.equ_define,
count(1) as num
from
(SELECT
ae.equ_list,
ae.equ_category,
ae.equ_define,
a.biz_type,
concat(u.PROVINCE,'#', u.CITY,'#', u.COUNTY) as areaCode
FROM
"tz_jyjc_inspection_application_equip" ae,
tz_jyjc_inspection_application a,
"idx_biz_jg_use_info" u
where
ae.equip_unicode = u."RECORD"
and a.sequence_nbr = ae.application_seq
and (a.application_date between #{beginDate} and #{endDate})
and a.status='6616'
and u."PROVINCE" <![CDATA[<>]]> ''
and u."CITY" <![CDATA[<>]]> ''
and u."COUNTY" <![CDATA[<>]]> ''
) c
where
c.areaCode like concat('%',#{cityCode}, '%')
group by c.biz_type,
c.equ_list,
c.equ_category,
c.equ_define
</select>
</mapper> </mapper>
package com.yeejoin.amos.boot.module.jyjc.biz.controller;
import com.yeejoin.amos.boot.module.jyjc.api.model.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jyjc.biz.service.impl.DPStatisticsServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
import java.util.Map;
/**
* 大屏统计controller
*
* @author Administrator
*/
@RestController
@RequestMapping("/db/statistics")
@Api(tags = "大屏统计")
public class DPStatisticsController {
private DPStatisticsServiceImpl statisticsService;
public DPStatisticsController(DPStatisticsServiceImpl statisticsService) {
this.statisticsService = statisticsService;
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "检验检测次数统计", notes = "按照维度设备种类、检验类型进行统计")
@PostMapping(value = "/inspectTime/count/byEquListAndInspectType")
public ResponseModel<Map<String, Object>> inspectTimeCountByTypeAndEquList(@Validated @RequestBody DPFilterParamDto dpFilterParamDto, BindingResult result) {
List<FieldError> fieldErrors = result.getFieldErrors();
if(!fieldErrors.isEmpty()){
throw new BadRequest(fieldErrors.get(0).getDefaultMessage());
}
return ResponseHelper.buildResponse(statisticsService.inspectTimeCountByTypeAndEquList(dpFilterParamDto));
}
}
package com.yeejoin.amos.boot.module.jyjc.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectTimeCountDto;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEquipMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.DPFilterParamDto;
import com.yeejoin.amos.boot.module.ymt.api.dto.EquipmentCategoryDto;
import com.yeejoin.amos.boot.module.ymt.api.mapper.EquipmentCategoryMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* 大屏统计实现类
*
* @author Administrator
*/
@Service
public class DPStatisticsServiceImpl {
/**
* 压力容器设备种类
*/
private final static String EQU_LIST_CYLINDER = "2000";
/**
* 气瓶设备类别
*/
private final static String EQU_CATEGORY_CYLINDER = "2300";
private EquipmentCategoryMapper equipmentCategoryMapper;
private JyjcInspectionApplicationEquipMapper inspectionApplicationEquipMapper;
public DPStatisticsServiceImpl(EquipmentCategoryMapper equipmentCategoryMapper, JyjcInspectionApplicationEquipMapper inspectionApplicationEquipMapper) {
this.equipmentCategoryMapper = equipmentCategoryMapper;
this.inspectionApplicationEquipMapper = inspectionApplicationEquipMapper;
}
public Map<String, Object> inspectTimeCountByTypeAndEquList(DPFilterParamDto dpFilterParamDto) {
// 1.查询条件构造未上送时间时,默认查询数据为近一个月数据
this.setDefaultFilter(dpFilterParamDto);
// 2.按照前端约定格式返回数据
Map<String, Object> result = new HashMap<>();
//2.1 图列数据构造
List<BizTypeEnum> bizTypeEnums = getBizTypeList();
result.put("legendData", this.getLegendData(bizTypeEnums));
// 8大类设备种类
List<EquipmentCategoryDto> equipmentCategoryDtos = equipmentCategoryMapper.selectClassify();
//2.2 x轴数据构造
result.put("xdata", this.getXData(equipmentCategoryDtos));
//2.3 y轴数据构造
this.buildYData(result, bizTypeEnums, dpFilterParamDto, equipmentCategoryDtos);
return result;
}
private void buildYData(Map<String, Object> result, List<BizTypeEnum> bizTypeEnums, DPFilterParamDto dpFilterParamDto, List<EquipmentCategoryDto> equipmentCategoryDtos) {
// 待统计的数据本来sql可以单独统计,但是要求气瓶单独从压力容器里拎出来,与八大类同级,故java处理
List<InspectTimeCountDto> inspectTimeCountDtos = inspectionApplicationEquipMapper.countInspectTimeCountByTypeAndEquList(dpFilterParamDto);
bizTypeEnums.forEach(bizTypeEnum -> {
result.put(bizTypeEnum.getCode(), this.countNumByBizTypeAndEquList(equipmentCategoryDtos, bizTypeEnum.getCode(), inspectTimeCountDtos));
});
}
private List<Integer> countNumByBizTypeAndEquList(List<EquipmentCategoryDto> equipmentCategoryDtos, String bizType, List<InspectTimeCountDto> inspectTimeCountDtos) {
List<Integer> item = new ArrayList<>();
// 8大类数据统计数量
equipmentCategoryDtos.forEach(equipmentCategoryDto -> {
int num = 0;
// 压力容器要去掉气瓶2300,气瓶单独统计
if (EQU_LIST_CYLINDER.equals(equipmentCategoryDto.getCode())) {
num = inspectTimeCountDtos.stream().filter(c -> c.getBizType().equals(bizType) && c.getEquList().equals(equipmentCategoryDto.getCode()) && !EQU_CATEGORY_CYLINDER.equals(c.getEquCategory())).mapToInt(InspectTimeCountDto::getNum).sum();
} else {
num = inspectTimeCountDtos.stream().filter(c -> c.getBizType().equals(bizType) && c.getEquList().equals(equipmentCategoryDto.getCode())).mapToInt(InspectTimeCountDto::getNum).sum();
}
item.add(num);
});
// 再增加气瓶(设备类别2300)专项
int num = inspectTimeCountDtos.stream().filter(c -> c.getBizType().equals(bizType) && EQU_CATEGORY_CYLINDER.equals(c.getEquCategory())).mapToInt(InspectTimeCountDto::getNum).sum();
item.add(num);
return item;
}
private List<String> getXData(List<EquipmentCategoryDto> equipmentCategoryDtos) {
// 8大类 + 气瓶 注意数据顺序和要和这个x轴一致
List<String> names = equipmentCategoryDtos.stream().map(EquipmentCategoryDto::getName).collect(Collectors.toList());
names.add("气瓶");
return names;
}
private List<BizTypeEnum> getBizTypeList() {
return Arrays.asList(BizTypeEnum.FIRST_INSPECTION, BizTypeEnum.SUPERVISE, BizTypeEnum.DETECTION);
}
private List<Map<String, Object>> getLegendData(List<BizTypeEnum> bizTypeEnums) {
return bizTypeEnums.stream().map(b->{
Map<String, Object> item = new HashMap<>();
item.put("dataKey", b.getCode());
item.put("value", b.getName());
return item;
}).collect(Collectors.toList());
}
private void setDefaultFilter(DPFilterParamDto dpFilterParamDto) {
if (StringUtils.isEmpty(dpFilterParamDto.getBeginDate())) {
dpFilterParamDto.setBeginDate(DateUtil.lastMonth().toDateStr());
}
if (StringUtils.isEmpty(dpFilterParamDto.getEndDate())) {
dpFilterParamDto.setEndDate(DateUtil.today());
}
}
}
...@@ -231,4 +231,12 @@ public class IdxBizJgUseInfo extends TzsBaseEntity { ...@@ -231,4 +231,12 @@ public class IdxBizJgUseInfo extends TzsBaseEntity {
@TableField("\"SAFETY_MANAGER_ID\"") @TableField("\"SAFETY_MANAGER_ID\"")
private String safetyManagerId; private String safetyManagerId;
/**
* 是否是否纳管:true - 已纳管 false-未纳管
*/
@TableField("\"IS_INTO_MANAGEMENT\"")
private Boolean isIntoManagement;
} }
...@@ -101,6 +101,7 @@ ...@@ -101,6 +101,7 @@
BRAND_NAME, BRAND_NAME,
EQU_TYPE, EQU_TYPE,
DATA_SOURCE, DATA_SOURCE,
IS_INTO_MANAGEMENT,
WHETHER_VEHICLE_CYLINDER, WHETHER_VEHICLE_CYLINDER,
WHETHER_SKID_MOUNTED_PRESSURE_VESSEL, WHETHER_SKID_MOUNTED_PRESSURE_VESSEL,
DATE_FORMAT(PRODUCE_DATE, '%Y-%m-%d %H:%i:%s') as PRODUCE_DATE DATE_FORMAT(PRODUCE_DATE, '%Y-%m-%d %H:%i:%s') as PRODUCE_DATE
......
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