Commit 6ba1da9e authored by 刘林's avatar 刘林

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

parents 338bcb3c 725bc0d7
package com.yeejoin.amos.boot.module.app.biz.service.impl;
import cn.hutool.core.codec.Base64Decoder;
import cn.hutool.core.codec.Base64Encoder;
import com.yeejoin.amos.boot.biz.common.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.app.api.dto.CertInfoRequestParam;
import com.yeejoin.amos.boot.module.app.api.exception.AuthException;
......@@ -10,6 +12,7 @@ import com.yeejoin.amos.boot.module.common.api.enums.CertificateStatusEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.nio.charset.StandardCharsets;
import java.util.Map;
@Service
......@@ -27,19 +30,27 @@ public class CertDetailServiceImpl {
this.setDefaultFieldForOld(requestParam);
String certOrApplyNo = this.deCodeCertNo(requestParam.getCertNo());
String version = this.deCodeByAES(requestParam.getVersion());
String certType = this.deCodeByAES(requestParam.getCertType());
String certType = this.deCodeByBase64(requestParam.getCertType());
JgUseRegistrationManageDto jgUseRegistrationManage = this.checkParam(certOrApplyNo, version);
return SearchDetailStrategyContext.getHandler(this.getManageType(jgUseRegistrationManage)).hanlder(jgUseRegistrationManage, certType);
}
private String deCodeByBase64(String certType) {
try {
return Base64Decoder.decodeStr(certType, StandardCharsets.UTF_8);
} catch (Exception e) {
throw new AuthException("非法的二维码!");
}
}
private void setDefaultFieldForOld(CertInfoRequestParam requestParam) {
// 兼容老数据,默认版本号为1
// 兼容老数据,默认版本号为1 aes 加密
if (StringUtils.isBlank(requestParam.getVersion())) {
requestParam.setVersion(AESUtil.encrypt("1"));
}
// 兼容老数据,默认类型为使用登记证,扩展预览字段
// 兼容老数据,默认类型为使用登记证,扩展预览字段 base64
if (StringUtils.isBlank(requestParam.getCertType())) {
requestParam.setCertType(AESUtil.encrypt("useCert"));
requestParam.setCertType(Base64Encoder.encode("useCert", StandardCharsets.UTF_8));
}
}
......
......@@ -26,11 +26,10 @@ public class AESUtil {
}
public static String encrypt(String data) {
return getInstance().aes.encryptHex(data);
return getInstance().aes.encryptBase64(data);
}
public static String decrypt(String data) {
// 不能使用base64,base64后参数有= 导致参数解析失败
return getInstance().aes.decryptStr(data, StandardCharsets.UTF_8);
}
......
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.codec.Base64Decoder;
import cn.hutool.core.codec.Base64Encoder;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
......@@ -100,6 +102,7 @@ import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.math.BigDecimal;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.text.ParseException;
import java.util.*;
......@@ -947,15 +950,18 @@ public class CommonServiceImpl implements ICommonService {
}
private String getEncodeQrCode(String certNo, String certType, String version) {
// aes加密并base64编码
String certNoEncrypt = AESUtil.encrypt(certNo);
String certTypeEncrypt = AESUtil.encrypt(certType);
// base64编码
String certTypeBase64 = Base64Encoder.encode(certType, StandardCharsets.UTF_8);
// aes加密并base64编码
String versionEncrypt = AESUtil.encrypt(version);
return qrcodePrefix +
"?certNo=" +
certNoEncrypt +
"certType=" +
certTypeEncrypt +
"version=" +
"&certType=" +
certTypeBase64 +
"&version=" +
versionEncrypt;
}
......
......@@ -982,17 +982,14 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
jgUseRegistrationManageList = jgUseRegistrationManageList.stream().filter(item -> !CylinderTypeEnum.CYLINDER.getCode().equals(item.getEquCategoryCode()) || item.getRegType().equals(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName())).collect(Collectors.toList());
//组装条件进行修改
if (!ObjectUtils.isEmpty(jgUseRegistrationManageList)) {
List<Long> seqList = jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getSequenceNbr).collect(Collectors.toList());
//组装update条件
LambdaQueryWrapper<JgUseRegistrationManage> updateLambdaQueryWrapper = new LambdaQueryWrapper<>();
updateLambdaQueryWrapper.in(JgUseRegistrationManage::getSequenceNbr, seqList);
//设置证状态进行修改
JgUseRegistrationManage jgUseRegistrationManage = new JgUseRegistrationManage();
jgUseRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
jgUseRegistrationManage.setVersion(jgUseRegistrationManage.getVersion() + 1);
jgUseRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_CANCEL.getName());
jgUseRegistrationManage.setIsScrap("1");
jgUseRegistrationManageMapper.update(jgUseRegistrationManage, updateLambdaQueryWrapper);
for(JgUseRegistrationManage useRegistrationManage : jgUseRegistrationManageList){
useRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_CANCEL.getName());
useRegistrationManage.setIsScrap("1");
useRegistrationManage.setRecDate(new Date());
}
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
}
} else {
SuperviseInfo superviseInfo = new SuperviseInfo();
......@@ -1006,13 +1003,11 @@ public class JgScrapCancelServiceImpl extends BaseService<JgScrapCancelDto, JgSc
map1.put("EQU_STATE", String.valueOf(EquimentEnum.ZHUXIAO.getCode()));
idxBizJgUseInfoMapper.batchUpdateUseInfo(equipIds, EquimentEnum.ZHUXIAO.getCode());
// 修改证管理表中的证的状态
LambdaUpdateWrapper<JgUseRegistrationManage> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(JgUseRegistrationManage::getSequenceNbr, jgUseRegistrationManageList.stream().map(JgUseRegistrationManage::getSequenceNbr).collect(Collectors.toList()));
updateWrapper.set(JgUseRegistrationManage::getCertificateStatus, CertificateStatusEnum.YIZHUXIAO.getName());
for(JgUseRegistrationManage useRegistrationManage : jgUseRegistrationManageList){
useRegistrationManage.setCertificateStatus(CertificateStatusEnum.YIZHUXIAO.getName());
useRegistrationManage.setVersion(useRegistrationManage.getVersion() + 1);
useRegistrationManage.setChangeReason(BusinessTypeEnum.JG_EQUIPMENT_MOVE.getName());
useRegistrationManage.setRecDate(new Date());
}
jgUseRegistrationManageService.updateBatchById(jgUseRegistrationManageList);
}
......
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipDto;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -107,6 +108,8 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
Long queryAllPendingAndFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
Long queryAllFinishedCountForDetail(@Param("dpFilterParamForDetailDto") DPFilterParamForDetailDto dpFilterParamForDetailDto);
List<JyjcInspectionApplicationVo> queryExportInIds(@Param("ids") List<String> ids);
}
......@@ -6,6 +6,8 @@ import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionTimelinesDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionResult;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionResultVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -23,4 +25,6 @@ public interface JyjcInspectionResultMapper extends BaseMapper<JyjcInspectionRes
Page<JyjcInspectionResultModel> selectForPage(@Param("page") Page<JyjcInspectionResultModel> page, @Param("jyjcInspectionResultModel") JyjcInspectionResultModel jyjcInspectionResultModel,@Param("identity") String identity);
List<InspectionTimelinesDto> queryInspectionTimelinessTopXX(@Param("top") String top, @Param("orgCode") String orgCode, @Param("dto") DPFilterParamDto dpFilterParamDto);
List<JyjcInspectionResultVo> queryExportInIds(@Param("ids") List<String> ids);
}
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationModel;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcOpeningApplication;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcOpeningApplicationRequstDto;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcOpeningApplicationVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
......@@ -39,4 +40,6 @@ public interface JyjcOpeningApplicationMapper extends BaseMapper<JyjcOpeningAppl
List<PublicityInspectOrgInfoDto> queryInspectionOrgListForPublicity(@Param("orgCode") String orgCode, @Param("dto") DPFilterParamDto dpFilterParamDto);
List<InspectionCompanyPublicityDto> queryInspectionOrgListForBiz();
List<JyjcOpeningApplicationVo> queryJyjcOpeningApplicationListByIds(List<String> ids);
}
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
......@@ -16,4 +17,6 @@ public interface IJyjcInspectionApplicationService {
Boolean deleteBatchData(List<Long> sequenceNbr);
Page<JyjcInspectionApplicationModel> queryForPageList(Page<JyjcInspectionApplication> page, JyjcInspectionApplicationModel model);
void export(String bizType, HttpServletResponse response, List<String> ids);
}
package com.yeejoin.amos.boot.module.jyjc.api.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class JyjcInspectionApplicationVo {
@ExcelProperty(value = "报检单编号", index = 0)
String applicationNo;
@ExcelProperty(value = "报检日期", index = 1)
String applicationDate;
@ExcelProperty(value = "检验类型", index = 2)
String inspectionType;
@ExcelProperty(value = "报检单位", index = 3)
String applicationUnitName;
@ExcelProperty(value = "检验检测机构", index = 4)
String inspectionUnitName;
@ExcelProperty(value = "设备种类", index = 5)
String equipClassify;
@ExcelProperty(value = "办理状态", index = 6)
String statusName;
@ExcelProperty(value = "办理日期", index = 7)
String acceptDate;
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jyjc.api.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class JyjcInspectionResultVo {
@ExcelProperty(value = "报检单编号", index = 0)
String applicationNo;
@ExcelProperty(value = "报检日期", index = 1)
String applicationDate;
@ExcelProperty(value = "检验类型", index = 2)
String inspectionTypeName;
@ExcelProperty(value = "报检单位", index = 3)
String applicationUnitName;
@ExcelProperty(value = "检验检测机构", index = 4)
String inspectionUnitName;
@ExcelProperty(value = "设备种类", index = 5)
String equListName;
@ExcelProperty(value = "监管码", index = 6)
String supervisoryCode;
@ExcelProperty(value = "设备代码", index = 7)
String equCode;
@ExcelProperty(value = "使用登记证编号", index = 8)
String useOrgCode;
@ExcelProperty(value = "单位内部编号", index = 9)
String useInnerCode;
@ExcelProperty(value = "设备地址", index = 10)
String equUseAddress;
@ExcelProperty(value = "检验结果", index = 11)
String resultStatus;
public String getResultStatus() {
return resultStatus;
}
public void setResultStatus(String resultStatus) {
this.resultStatus = resultStatus;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jyjc.api.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import lombok.Data;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import java.util.Date;
/**
* @author system_generator
* @date 2023-12-14
*/
@Data
public class JyjcOpeningApplicationVo {
@ExcelProperty(value = "申请单编号", index = 0)
String applicationSeq;
@ExcelProperty(value = "申请时间", index = 1)
String applyTime;
@ExcelProperty(value = "检验检测机构名称", index = 2)
String unitCodeName;
@ExcelProperty(value = "开通业务类型", index = 3)
String openBizType;
@ExcelProperty(value = "统一信用代码", index = 4)
String unitCode;
@ExcelProperty(value = "业务有效期至", index = 5)
@DateTimeFormat("yyyy-MM-dd")
Date expiryDate;
@ExcelProperty(value = "作废原因", index = 6)
String remark;
@ExcelProperty(value = "办理状态", index = 7)
String statusName;
@ExcelProperty(value = "办理日期", index = 8)
@DateTimeFormat("yyyy-MM-dd")
Date acceptDate;
}
......@@ -61,21 +61,23 @@
order by tzjia.application_no desc
</select>
<select id="selectForPage" resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel">
SELECT
tzjia.*,
<sql id="page-list">
SELECT tzjia.*,
case
when tzjia.plan_data<![CDATA[<>]]> '' then TRUE
when tzjia.plan_data<![CDATA[ <>]]> '' then TRUE
else false END as isExistPlanData,
cdd1.NAME AS inspectionClassify,
cdd3.NAME AS inspectionType,
(SELECT name FROM "tz_equipment_category" ca where ca.code = tzjia.equip_classify) AS equipClassify,
cdd2.NAME AS statusName
FROM
tz_jyjc_inspection_application AS tzjia
FROM tz_jyjc_inspection_application AS tzjia
LEFT JOIN cb_data_dictionary cdd1 ON cdd1.code = tzjia.inspection_classify AND cdd1.TYPE = 'JYJCLB'
LEFT JOIN cb_data_dictionary cdd2 ON cdd2.code = tzjia.status and cdd2.type = 'JYLCZT'
LEFT JOIN cb_data_dictionary cdd3 ON cdd3.code = tzjia.inspection_type AND cdd3.TYPE = 'JYJC'
</sql>
<select id="selectForPage" resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel">
<include refid="page-list"/>
<where>
<if test="jyjcInspectionApplicationModel.applicationNo != null and jyjcInspectionApplicationModel.applicationNo != ''">
and tzjia.application_no like concat('%',#{jyjcInspectionApplicationModel.applicationNo},'%')
......@@ -620,4 +622,17 @@
and a.inspection_type = #{dpFilterParamForDetailDto.businessType}
</if>
</select>
<select id="queryExportInIds" resultType="com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo">
<include refid="page-list"/>
<where>
<if test='ids != null'>
and tzjia.sequence_nbr in
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
</where>
order by tzjia.application_no desc
</select>
</mapper>
......@@ -59,8 +59,7 @@
ORDER BY application_date DESC
</select>
<select id="selectForPage"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel">
<sql id="page-list">
SELECT
res.sequence_nbr,
res.inspection_unit_code,
......@@ -106,6 +105,11 @@
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui.record = res.equip_unicode
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjui.record = ibjri.record
LEFT JOIN idx_biz_jg_other_info ot ON ot.record = ibjri.record
</sql>
<select id="selectForPage"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel">
<include refid="page-list"/>
<where>
<if test="jyjcInspectionResultModel.applicationNo != '' and jyjcInspectionResultModel.applicationNo != null">
and res.application_no like concat('%',#{jyjcInspectionResultModel.applicationNo},'%')
......@@ -178,4 +182,17 @@
WHERE
a1.inspection_unit_code = b1.use_unit_code
</select>
<select id="queryExportInIds" resultType="com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionResultVo">
<include refid="page-list"/>
<where>
<if test='ids != null'>
and res.sequence_nbr in
<foreach collection="ids" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</if>
</where>
order by res.application_no desc
</select>
</mapper>
......@@ -121,4 +121,11 @@
oa.unit_code = ei.use_unit_code
and oa.status = 6616
</select>
<select id="queryJyjcOpeningApplicationListByIds"
resultType="com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcOpeningApplicationVo">
select * from tz_jyjc_opening_application where sequence_nbr in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id}
</foreach>;
</select>
</mapper>
......@@ -17,6 +17,7 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -24,10 +25,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
/**
* @author system_generator
......@@ -282,4 +281,12 @@ public class JyjcInspectionApplicationController extends BaseController {
public ResponseModel<List<DictionarieModel>> inspectTypeListByBizType(@PathVariable String bizType){
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.inspectTypeListByBizType(bizType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{bizType}/export")
@ApiOperation(httpMethod = "GET", value = "定(首)检验列表(企业)/电梯检测/监督检验 列表数据导出", notes = "定(首)检验列表(企业)/电梯检测/监督检验 列表数据导出")
public void export(@PathVariable(value = "bizType")String bizType, HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据");
jyjcInspectionApplicationServiceImpl.export(bizType,response, Arrays.asList(ids.split(",")));
}
}
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.feign.systemctl.model.DictionarieModel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -16,6 +17,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
......@@ -195,4 +198,12 @@ public class JyjcInspectionResultController extends BaseController {
public ResponseModel<List<DictionarieModel>> inspectTypeListByPerson(){
return ResponseHelper.buildResponse(jyjcInspectionResultServiceImpl.inspectTypeListByPerson(getSelectedOrgInfo()));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/export")
@ApiOperation(httpMethod = "GET", value = "检验检测结果列表数据导出", notes = "检验检测结果列表数据导出")
public void Export(HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据");
jyjcInspectionResultServiceImpl.Export(response, Arrays.asList(ids.split(",")));
}
}
......@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
......@@ -31,6 +32,7 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
......@@ -292,4 +294,18 @@ public class JyjcOpeningApplicationController extends BaseController {
return ResponseHelper.buildResponse(jyjcOpeningApplicationServiceImpl.queryInspectionOrgListForBiz());
}
/**
* 检验业务开通列表导出
* @param response
* @param ids
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/exportdata")
@ApiOperation(httpMethod = "GET", value = "检验业务开通列表导出", notes = "检验业务开通列表导出")
public void dataExport(HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据");
jyjcOpeningApplicationServiceImpl.exportData(response,Arrays.asList(ids.split(",")));
}
}
......@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.utils.SnowflakeIdUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
......@@ -28,6 +29,7 @@ import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionResultModel;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultAttachmentService;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultParamService;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcInspectionResultService;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionResultVo;
import com.yeejoin.amos.boot.module.jyjc.biz.event.InspectionDetectionSaveToDbEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.UseInfoSaveToDbEvent;
import com.yeejoin.amos.boot.module.jyjc.biz.event.publisher.BizEmqPublisher;
......@@ -52,6 +54,7 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.orm.entity.BaseEntity;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
......@@ -531,4 +534,21 @@ public class JyjcInspectionResultServiceImpl extends BaseService<JyjcInspectionR
updateWrapper.set(JyjcInspectionResult::getPlanCreateDate, new Date());
this.update(updateWrapper);
}
/**
* 检验检测结果列表数据导出
* @param response
* @param ids
*/
public void Export(HttpServletResponse response, List<String> ids) {
List<JyjcInspectionResultVo> exportData = this.baseMapper.queryExportInIds(ids);
for (JyjcInspectionResultVo vo : exportData) {
if (vo.getResultStatus().equals("1")) {
vo.setResultStatus("未出");
} else if (vo.getResultStatus().equals("2")) {
vo.setResultStatus("已出");
}
}
ExcelUtil.createTemplate(response, "检验检测结果列表数据", "检验检测结果列表", exportData, JyjcInspectionResultVo.class, null, false);
}
}
\ No newline at end of file
......@@ -16,6 +16,7 @@ import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.module.common.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.common.api.dto.TzsUserPermissionDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionCompanyPublicityDto;
......@@ -26,6 +27,8 @@ import com.yeejoin.amos.boot.module.jyjc.api.enums.OpenBizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcOpeningApplicationMapper;
import com.yeejoin.amos.boot.module.jyjc.api.model.*;
import com.yeejoin.amos.boot.module.jyjc.api.service.IJyjcOpeningApplicationService;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcInspectionApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.api.vo.JyjcOpeningApplicationVo;
import com.yeejoin.amos.boot.module.jyjc.biz.action.RuleActionHandler;
import com.yeejoin.amos.boot.module.jyjc.biz.config.BaseException;
import com.yeejoin.amos.boot.module.jyjc.biz.feign.TzsServiceFeignClient;
......@@ -65,6 +68,9 @@ import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
......@@ -81,80 +87,56 @@ import java.util.stream.Collectors;
@Slf4j
public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningApplicationModel, JyjcOpeningApplication, JyjcOpeningApplicationMapper> implements IJyjcOpeningApplicationService {
@Autowired
private TzsServiceFeignClient tzsServiceFeignClient;
private final static String INDUSTRY_SUPERVISOR_DICT_TYPE = "HYZGBM";
/**
* 人员级别字典KEY
*/
private final static String RYJB_JYJC_DICT_KEY = "RYJB_JYJC";
/**
* 所有人员资质检验检测项目key
*/
private final static String ZZXM_JYJC_DICT_KEY = "ZZXM_JYJC_ALL";
private static Map<String, DictionarieValueModel> permissionLevelMap;
private static List<DictionarieValueModel> permissionItemList;
@Autowired
JyjcOpeningApplicationMapper jyjcOpeningApplicationMapper;
@Autowired
BaseUnitLicenceMapper baseUnitLicenceMapper;
@Autowired
CommonServiceImpl commonService;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
TaskModelServiceImpl taskModelService;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
@Autowired
RuleActionHandler ruleActionHandler;
@Autowired
RedissonClient redissonClient;
@Autowired
private TzsServiceFeignClient tzsServiceFeignClient;
@Value("${process-definition-key.jyjc.openapplication:}")
private String processDefinitionKey;
@Value("${jy.user-post:66151}")
private String jyUserPost;
@Value("${jy.cert.type.code:1233-1}")
private String jyCertTypeCode;
@Value("${jc.user-post:66152}")
private String jcUserPost;
@Value("${jc.cert.type.code:1233-2}")
private String jcCertTypeCode;
@Value("classpath:/json/bizTypeInfo.json")
private org.springframework.core.io.Resource bizTypeInfo;
@Autowired
private TzBaseEnterpriseInfoMapper enterpriseInfoMapper;
@Autowired
BaseUnitLicenceMapper baseUnitLicenceMapper;
@Autowired
private TzsUserInfoMapper userInfoMapper;
@Autowired
CommonServiceImpl commonService;
@Autowired
CmWorkflowServiceImpl cmWorkflowService;
@Autowired
TaskModelServiceImpl taskModelService;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
@Autowired
RuleActionHandler ruleActionHandler;
@Autowired
RedissonClient redissonClient;
@Autowired
private RuleCommonServiceImpl ruleCommonService;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
private static Map<String, DictionarieValueModel> permissionLevelMap;
private static List<DictionarieValueModel> permissionItemList;
private final static String INDUSTRY_SUPERVISOR_DICT_TYPE = "HYZGBM";
/**
* 人员级别字典KEY
*/
private final static String RYJB_JYJC_DICT_KEY = "RYJB_JYJC";
/**
* 所有人员资质检验检测项目key
*/
private final static String ZZXM_JYJC_DICT_KEY = "ZZXM_JYJC_ALL";
/**
* 编辑、工作台暂存逻辑
*
......@@ -457,7 +439,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private void setBaseUnitLicences(String unitCode, JyjcOpeningApplicationModel jyjcOpeningApplicationModel, boolean isNeedFilter) {
List<BaseUnitLicence> baseUnitLicences = baseUnitLicenceMapper.selectList(new LambdaQueryWrapper<BaseUnitLicence>()
.eq(BaseUnitLicence::getUnitCode, unitCode)
.gt(BaseUnitLicence::getExpiryDate , new Date())
.gt(BaseUnitLicence::getExpiryDate, new Date())
.in(BaseUnitLicence::getCertTypeCode, Arrays.asList(jyCertTypeCode, jcCertTypeCode)));
List<TzBaseUnitLicenceDto> licences = baseUnitLicences.stream().map(l -> {
TzBaseUnitLicenceDto licenceDto = new TzBaseUnitLicenceDto();
......@@ -566,10 +548,10 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 查询资质的人,
List<TzsUserPermissionDto> permissionDtos = userInfoMapper.queryPermissionByUserSeq(userInfo.getSequenceNbr(), this.buildPermissionKey(post));
// 注意检验资质、检测资质,每人只有一行数据, 一个人一个证
if(permissionDtos.size() > 0){
if (permissionDtos.size() > 0) {
TzsUserPermissionDto userPermissionDto = permissionDtos.get(0);
// 不会出现为null, 程序健壮处理
if(userPermissionDto.getPermissionItem() != null && userPermissionDto.getPermissionLevel() != null ){
if (userPermissionDto.getPermissionItem() != null && userPermissionDto.getPermissionLevel() != null) {
vo.setPermissionItem(JSONArray.parseArray(userPermissionDto.getPermissionItem()));
vo.setPermissionItemName(this.castItemCode2Name(vo.getPermissionItem()));
vo.setPermissionLevelName(this.getDictNameByCode(userPermissionDto.getPermissionLevel()));
......@@ -677,7 +659,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
taskParams.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
taskParams.put("model", jyjcOpeningApplication);
taskModelService.updateTaskModel(taskParams);
List<String> detectionRegion = (List<String>)params.get("detectionRegion");
List<String> detectionRegion = (List<String>) params.get("detectionRegion");
jyjcOpeningApplication.setDetectionRegion(detectionRegion);
jyjcOpeningApplication.setPromoter("");
jyjcOpeningApplication.setNextTaskId("");
......@@ -971,7 +953,7 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
// 查询所有已经业务开通的检验检测机构,已机构为维度进行证的合并处理
List<InspectionCompanyPublicityDto> inspectionCompanyPublicityDtos = this.getBaseMapper().queryInspectionOrgListForBiz();
// 枚举转换
inspectionCompanyPublicityDtos.forEach(c->{
inspectionCompanyPublicityDtos.forEach(c -> {
c.setDetectionRegion(this.castRegionCode2Name(c.getDetectionRegion()));
c.setApprovalInfo(this.breakNewLineForApprovalInfo(c.getApprovalInfo()));
c.setOpenBizType(this.castOpenBizTypeCode2Name(c.getOpenBizType()));
......@@ -992,4 +974,16 @@ public class JyjcOpeningApplicationServiceImpl extends BaseService<JyjcOpeningAp
private String castOpenBizTypeCode2Name(String openBizType) {
return OpenBizTypeEnum.getOneByCode(openBizType).getName();
}
public void exportData(HttpServletResponse response, List<String> ids) {
List<JyjcOpeningApplicationVo> exportData = jyjcOpeningApplicationMapper.queryJyjcOpeningApplicationListByIds(ids);
for (JyjcOpeningApplicationVo data : exportData) {
data.setOpenBizType(this.getOpenBizTypeName(data.getOpenBizType()));
}
ExcelUtil.createTemplate(response, "检验检测开通列表数据", "检验检测开通列表", exportData, JyjcOpeningApplicationVo.class, null, false);
}
}
\ No newline at end of file
......@@ -26,7 +26,7 @@ public interface IYsEmergencyUnitService {
YsEmergencyUnitDto querySafeUnitBySeq(Long sequenceNbr);
Page<YsEmergencyUnitDto> querySafeUnitsByPage(Page<YsEmergencyUnit> page,YsEmergencyUnitDto ysEmergencyUnitDto);
Page<YsEmergencyUnitDto> querySafeUnitsByPage(Page<YsEmergencyUnit> page,String sort,YsEmergencyUnitDto ysEmergencyUnitDto);
void export(HttpServletResponse response, List<String> asList);
......
......@@ -143,13 +143,15 @@ public class YsEmergencyUnitController extends BaseController {
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET",value = "分页查询", notes = "分页查询")
public ResponseModel<Page<YsEmergencyUnitDto>> queryForPage(@RequestParam(value = "current") int current,@RequestParam
(value = "size") int size,YsEmergencyUnitDto ysEmergencyUnitDto) {
@ApiOperation(httpMethod = "GET", value = "分页查询", notes = "分页查询")
public ResponseModel<Page<YsEmergencyUnitDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "", required = false) String sort,
YsEmergencyUnitDto ysEmergencyUnitDto) {
Page<YsEmergencyUnit> page = new Page<YsEmergencyUnit>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(iYsEmergencyUnitService.querySafeUnitsByPage(page,ysEmergencyUnitDto));
return ResponseHelper.buildResponse(iYsEmergencyUnitService.querySafeUnitsByPage(page,sort,ysEmergencyUnitDto));
}
/**
......
......@@ -132,25 +132,42 @@ public class YsEmergencyUnitServiceImpl extends BaseService<YsEmergencyUnitDto,
* @return
*/
@Override
public Page<YsEmergencyUnitDto> querySafeUnitsByPage(Page<YsEmergencyUnit> page,YsEmergencyUnitDto ysEmergencyUnitDto) {
public Page<YsEmergencyUnitDto> querySafeUnitsByPage(Page<YsEmergencyUnit> page, String sort, YsEmergencyUnitDto ysEmergencyUnitDto) {
LambdaQueryWrapper<YsEmergencyUnit> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(YsEmergencyUnit::getIsDelete,Boolean.FALSE);
//条件查询 -> 根据名称查询
if(StringUtil.isNotEmpty(ysEmergencyUnitDto.getName())){
queryWrapper.like(YsEmergencyUnit::getName,ysEmergencyUnitDto.getName());
queryWrapper.eq(YsEmergencyUnit::getIsDelete, Boolean.FALSE);
// 条件查询 -> 根据名称查询
if (StringUtil.isNotEmpty(ysEmergencyUnitDto.getName())) {
queryWrapper.like(YsEmergencyUnit::getName, ysEmergencyUnitDto.getName());
}
//条件查询 -> 根据应急服务内容查询
if(StringUtils.isNotEmpty(ysEmergencyUnitDto.getEmergencyService())){
queryWrapper.like(YsEmergencyUnit::getEmergencyService,ysEmergencyUnitDto.getEmergencyService());
// 条件查询 -> 根据应急服务内容查询
if (StringUtils.isNotEmpty(ysEmergencyUnitDto.getEmergencyService())) {
queryWrapper.like(YsEmergencyUnit::getEmergencyService, ysEmergencyUnitDto.getEmergencyService());
}
//条件查询 -> 根据关联消防队查询
// 条件查询 -> 根据关联消防队查询
if (ysEmergencyUnitDto.getTeamId() != null) {
queryWrapper.like(YsEmergencyUnit::getTeamId,ysEmergencyUnitDto.getTeamId());
queryWrapper.like(YsEmergencyUnit::getTeamId, ysEmergencyUnitDto.getTeamId());
}
if (StringUtils.isNotBlank(sort)) {
String[] split = sort.split(",");
String field = split[0];
String sortDirection = split[1];
// 使用switch匹配字段, 确保字段类型安全
switch (field) {
case "name":
if (sortDirection.startsWith("asc")) {
queryWrapper.orderByAsc(YsEmergencyUnit::getName);
} else {
queryWrapper.orderByDesc(YsEmergencyUnit::getName);
}
break;
default:
break;
}
}
this.page(page, queryWrapper);
//数据脱敏
// 数据脱敏
Page<YsEmergencyUnitDto> ysEmergencyUnitDtoPage = new Page<YsEmergencyUnitDto>();
BeanUtils.copyProperties(page,ysEmergencyUnitDtoPage);
BeanUtils.copyProperties(page, ysEmergencyUnitDtoPage);
return ysEmergencyUnitDtoPage;
}
......
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