Commit e0ae3e1b authored by yangyang's avatar yangyang

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

parents 77c5206a a3669bec
package com.yeejoin.amos.boot.module.common.biz.service.impl;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import lombok.RequiredArgsConstructor;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class EquipmentCategoryService {
private final ESEquipmentCategory equipmentCategoryDao;
private final ElasticsearchOperations elasticsearchOperations;
public ESEquipmentCategoryDto saveWithImmediateRefresh(ESEquipmentCategoryDto dto) {
ESEquipmentCategoryDto saved = equipmentCategoryDao.save(dto);
// 手动触发索引刷新
elasticsearchOperations.indexOps(ESEquipmentCategoryDto.class).refresh();
return saved;
}
}
\ No newline at end of file
......@@ -67,7 +67,10 @@ public class DictParamsConverter implements Converter<String> {
dictMap.put("D级", "5960");
dictMap.put("GC1", "6002");
dictMap.put("GC2", "6003");
dictMap.put("GC3", "6005");
dictMap.put("GCD", "6004");
dictMap.put("GD1", "6006");
dictMap.put("GD2", "6007");
dictMap.put("压缩天然气", "COMPRESSED_NATURAL_GAS");
dictMap.put("液化天然气", "LIQUEFIED_NATURAL_GAS");
dictMap.put("液化石油气", "LIQUEFIED_PETROLEUM_GAS");
......
package com.yeejoin.amos.boot.module.jg.api.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 4个告知暂存列表分页查询
*
* @author system_generator
* @date 2023-12-20
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "JgNoticeToBeSubmitDto", description = "4个告知暂存列表分页查询")
public class JgNoticeToBeSubmitDto extends BaseDto {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "业务类型")
private String businessType;
@ApiModelProperty(value = "申请单号")
private String applyNo;
@ApiModelProperty(value = "设备种类")
private String equListName;
@ApiModelProperty(value = "设备类别")
private String equCategoryName;
@ApiModelProperty(value = "申请日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private String createDate;
@ApiModelProperty(value = "接收机构")
private String receiveOrgName;
@ApiModelProperty(value = "状态")
private String status;
}
......@@ -146,6 +146,15 @@ public interface CommonMapper extends BaseMapper<EquipmentCategory> {
@Param("produceUnitCreditCode") String produceUnitCreditCode);
/**
* 查询出厂编码是否重复
*
* @param factoryNum 出厂编码
* @return Integer
*/
List<Map<String, Object>> checkFactoryNumUniqueWithUseName(@Param("factoryNum") String factoryNum,
@Param("produceUnitCreditCode") String produceUnitCreditCode);
/**
* 使用登记证编号全库唯一校验
*
* @param useRegistrationCode
......
......@@ -3,6 +3,7 @@ package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.CompanyEquipCountDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgNoticeToBeSubmitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
import com.yeejoin.amos.boot.module.jg.api.vo.tableDataExportVo.InstallationVo;
......@@ -69,4 +70,6 @@ public interface JgInstallationNoticeMapper extends CustomBaseMapper<JgInstallat
List<JgInstallationNotice> selectNotInsertProjectConstructionInstallNoticeList();
Set<Long> queryListByEqsAndStatus(@Param("records") Set<String> records, @Param("noticeStatus") String noticeStatus);
Page<JgNoticeToBeSubmitDto> queryNoticeToBeSubmitPage(@Param("page") Page<JgNoticeToBeSubmitDto> page, @Param("companyCode")String companyCode);
}
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgNoticeToBeSubmitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import javax.servlet.http.HttpServletResponse;
......@@ -88,4 +89,8 @@ public interface IJgInstallationNoticeService extends IService<JgInstallationNot
JgInstallationNotice cancelApplication(Long sequenceNbr, String cancelReason);
Object getDeviceListByProjectContraption(String projectContraptionSeq);
Page<JgNoticeToBeSubmitDto> queryNoticeToBeSubmitPage(Page<JgNoticeToBeSubmitDto> page, ReginParams selectedOrgInfo);
Map<String, Map<String, Object>> getNoticeToBeSubmitDetails(Long sequenceNbr, CompanyBo company, String businessType);
}
......@@ -991,6 +991,20 @@
AND ibjfi."RECORD" <![CDATA[ <> ]]> #{record}
</if>
</select>
<select id="checkFactoryNumUniqueWithUseName" resultType="java.util.Map">
SELECT
ibjui.USE_UNIT_NAME as useUnitName,
COUNT(1)
FROM idx_biz_jg_factory_info ibjfi
LEFT JOIN idx_biz_jg_register_info ibjri ON ibjfi."RECORD" = ibjri."RECORD"
LEFT JOIN idx_biz_jg_other_info joi ON joi."RECORD" = ibjfi."RECORD"
LEFT JOIN idx_biz_jg_use_info ibjui ON ibjui."RECORD" = ibjri."RECORD"
WHERE ibjri.EQU_LIST = '2000'
AND ibjri.EQU_CATEGORY = '2300'
AND ibjfi.FACTORY_NUM = #{factoryNum}
AND ibjfi.PRODUCE_UNIT_CREDIT_CODE = #{produceUnitCreditCode}
AND joi.CLAIM_STATUS = '已认领'
</select>
<select id="useRegistrationCertificateAccountUnique" resultType="java.lang.Integer">
SELECT COUNT( 1 )
......
......@@ -385,4 +385,66 @@
</foreach>
</if>
</select>
<select id="queryNoticeToBeSubmitPage" resultType="com.yeejoin.amos.boot.module.jg.api.dto.JgNoticeToBeSubmitDto">
SELECT
isn.sequence_nbr AS sequenceNbr,
'安装告知' AS businessType,
isn.apply_no AS applyNo,
ec1.name AS equListName,
ec2.name AS equCategoryName,
isn.receive_org_name AS receiveOrgName,
CASE isn.notice_status WHEN '6610' THEN '待提交' ELSE isn.notice_status END AS status,
DATE_FORMAT(isn.create_date, '%Y-%m-%d') AS createDate
FROM tzs_jg_installation_notice isn
LEFT JOIN tz_equipment_category ec1 ON ec1.code = isn.equ_list_code
LEFT JOIN tz_equipment_category ec2 ON ec2.code = isn.equ_category_code
WHERE isn.is_delete = false AND isn.notice_status = '6610'
AND isn.install_unit_credit_code = #{companyCode}
UNION ALL
SELECT
isn.sequence_nbr AS sequenceNbr,
'改造告知' AS businessType,
isn.apply_no AS applyNo,
isn.equ_list_name AS equListName,
isn.equ_category_name AS equCategoryName,
isn.receive_org_name AS receiveOrgName,
CASE isn.notice_status WHEN '6610' THEN '待提交' ELSE isn.notice_status END AS status,
DATE_FORMAT(isn.create_date, '%Y-%m-%d') AS createDate
FROM tzs_jg_reform_notice isn
WHERE isn.is_delete = false AND isn.notice_status = '6610'
AND isn.install_unit_credit_code = #{companyCode}
UNION ALL
SELECT
isn.sequence_nbr AS sequenceNbr,
'维修告知' AS businessType,
isn.apply_no AS applyNo,
ec1.name AS equListName,
ec2.name AS equCategoryName,
isn.receive_org_name AS receiveOrgName,
CASE isn.notice_status WHEN '6610' THEN '待提交' ELSE isn.notice_status END AS status,
DATE_FORMAT(isn.create_date, '%Y-%m-%d') AS createDate
FROM tzs_jg_maintain_notice isn
LEFT JOIN tz_equipment_category ec1 ON ec1.code = isn.equ_list_code
LEFT JOIN tz_equipment_category ec2 ON ec2.code = isn.equ_category
WHERE isn.is_delete = false AND isn.notice_status = '6610'
AND isn.install_unit_credit_code = #{companyCode}
UNION ALL
SELECT
isn.sequence_nbr AS sequenceNbr,
'移装告知' AS businessType,
isn.apply_no AS applyNo,
ec1.name AS equListName,
ec2.name AS equCategoryName,
isn.receive_org_name AS receiveOrgName,
CASE isn.notice_status WHEN '6610' THEN '待提交' ELSE isn.notice_status END AS status,
DATE_FORMAT(isn.create_date, '%Y-%m-%d') AS createDate
FROM tzs_jg_transfer_notice isn
LEFT JOIN tz_equipment_category ec1 ON ec1.code = isn.equ_list_code
LEFT JOIN tz_equipment_category ec2 ON ec2.code = isn.equ_category
WHERE isn.is_delete = false
AND isn.notice_status = '6610'
AND isn.install_unit_credit_code = #{companyCode}
ORDER BY createDate DESC, applyNo DESC
</select>
</mapper>
......@@ -1019,6 +1019,9 @@
<if test="jsonObject.factoryNum != null and jsonObject.factoryNum != ''">
and aa.factoryNum like concat('%',#{jsonObject.factoryNum},'%')
</if>
<if test="jsonObject.productName != null and jsonObject.productName != ''">
and aa.productName like concat('%',#{jsonObject.productName},'%')
</if>
<if test="jsonObject.nextInspectDate != null and jsonObject.nextInspectDate != ''">
and aa.nextInspectDate =#{jsonObject.nextInspectDate}
</if>
......
......@@ -8,6 +8,7 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jg.api.dto.JgInstallationNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgNoticeToBeSubmitDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
import com.yeejoin.amos.boot.module.jg.api.service.IJgInstallationNoticeService;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.CommonServiceImpl;
......@@ -188,4 +189,32 @@ public class JgInstallationNoticeController extends BaseController {
String projectContraptionSeq = ValidationUtil.isEmpty(params.get("sequenceNbr")) ? String.valueOf(params.get("record")) : params.get("sequenceNbr").toString();
return ResponseHelper.buildResponse(iJgInstallationNoticeService.getDeviceListByProjectContraption(projectContraptionSeq));
}
/**
* 4个告知暂存列表分页查询
*
* @param current 当前页
* @param size 每页大小
* @return Page
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryNoticeToBeSubmitPage")
@ApiOperation(httpMethod = "GET", value = "4个告知暂存列表分页查询", notes = "4个告知暂存列表分页查询")
public ResponseModel<Page<JgNoticeToBeSubmitDto>> queryNoticeToBeSubmitPage(@RequestParam(value = "number") int current,
@RequestParam(value = "size") int size) {
Page<JgNoticeToBeSubmitDto> page = new Page<>(current, size);
return ResponseHelper.buildResponse(iJgInstallationNoticeService.queryNoticeToBeSubmitPage(page,getSelectedOrgInfo()));
}
/**
* 4个告知暂存详情查询
*
* @param sequenceNbr 主键
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getNoticeToBeSubmitDetails")
@ApiOperation(httpMethod = "GET", value = "4个告知暂存详情查询", notes = "4个告知暂存详情查询")
public ResponseModel<Map<String, Map<String, Object>>> getNoticeToBeSubmitDetails(@RequestParam("sequenceNbr") Long sequenceNbr,
@RequestParam("businessType") String businessType) {
return ResponseHelper.buildResponse(iJgInstallationNoticeService.getNoticeToBeSubmitDetails(sequenceNbr, getSelectedOrgInfo().getCompany(), businessType));
}
}
......@@ -54,6 +54,8 @@ public class JgTableDataExportController extends BaseController {
@GetMapping(value = "/certificate")
@ApiOperation(httpMethod = "GET", value = "登记证列表数据导出", notes = "登记证列表数据导出")
public ResponseModel<String> certificateExport(JgUseRegistrationManageDto dto,
// 区分非审批列表导出(isJG --> jg),还是审批列表导出 ,默认审批列表导出
@RequestParam(value = "isJG", defaultValue = "false") Boolean isJG,
@RequestParam(value = "ids", required = false) String ids,
@RequestParam(value = "sort", required = false) String sort) {
String uuid = UUID.randomUUID().toString();
......@@ -61,7 +63,7 @@ public class JgTableDataExportController extends BaseController {
RequestContextWrapper contextWrapper = RequestContextWrapper.capture();
new Thread(() -> {
contextWrapper.apply();
iJgTableDataExportService.certificate(uuid, dto, ids == null ? new ArrayList<>() : Arrays.asList(ids.split(",")), sort);
iJgTableDataExportService.certificate(uuid, dto, isJG, ids == null ? new ArrayList<>() : Arrays.asList(ids.split(",")), sort);
}).start();
return ResponseHelper.buildResponse("后台处理中,请注意下载!");
}
......
......@@ -168,11 +168,7 @@ public class JgUseRegistrationManageController extends BaseController {
@RequestParam(value = "sort", required = false) String sort,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<JgUseRegistrationManageDto> page = new Page<JgUseRegistrationManageDto>();
page.setCurrent(current);
page.setSize(size);
ReginParams info = getSelectedOrgInfo();
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePageForJG(page, dto, sort, info.getCompany().getOrgCode()));
return ResponseHelper.buildResponse(jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePageForJG(dto, sort, current, size));
}
/**
* 列表分页查询-大屏监督管理使用
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.yeejoin.amos.boot.biz.common.entity.TzsBaseEntity;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.common.biz.service.impl.EquipmentCategoryService;
import com.yeejoin.amos.boot.module.jg.api.dto.ReminderItemDto;
import com.yeejoin.amos.boot.module.jg.biz.reminder.biz.factory.GradeStrategyFactory;
import com.yeejoin.amos.boot.module.jg.biz.reminder.core.event.EquipCreateOrEditEvent;
......@@ -18,6 +19,7 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentClassifityEnum;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
......@@ -44,6 +46,9 @@ public class EquipQualityScoreUpdateService implements IQualityScoreUpdate {
private final GradeStrategyFactory gradeStrategyFactory;
@Autowired
EquipmentCategoryService equipmentCategoryService;
@Override
public Boolean support(EquipCreateOrEditEvent.EquipType equipType) {
return EquipCreateOrEditEvent.EquipType.equip.equals(equipType);
......@@ -61,7 +66,7 @@ public class EquipQualityScoreUpdateService implements IQualityScoreUpdate {
Integer level = this.getReminderLevel(bizType, record);
op.ifPresent(equipmentCategory -> {
equipmentCategory.setDataQualityScore(level);
equipmentCategoryDao.save(equipmentCategory);
equipmentCategoryService.saveWithImmediateRefresh(equipmentCategory);
});
LambdaUpdateWrapper<IdxBizJgUseInfo> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(IdxBizJgUseInfo::getRecord, record);
......
......@@ -19,7 +19,7 @@ public interface IJgTableDataExportService {
void gen(String jsonName, String voName, String tableName);
void certificate(String uuid, JgUseRegistrationManageDto dto, List<String> ids, String sort);
void certificate(String uuid, JgUseRegistrationManageDto dto, Boolean isJG, List<String> ids, String sort);
void maintenance(HttpServletResponse response, List<String> ids);
......
......@@ -223,6 +223,7 @@ public class CommonServiceImpl implements ICommonService {
@Autowired
@Lazy
JgEquipTransferServiceImpl jgEquipTransferServiceImpl;
@Lazy
@Autowired
JgReformNoticeServiceImpl jgReformNoticeService;
@Autowired
......
......@@ -2290,8 +2290,12 @@ public class DataDockServiceImpl {
JSONObject inspectionDetectionInfoJO = (JSONObject) JSON.toJSON(inspectionDetectionInfo);
jsonObject.putAll(inspectionDetectionInfoJO);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
jsonObject.put("inspectDate", sdf.format(inspectionDetectionInfo.getInspectDate()));
jsonObject.put("nextInspectDate", sdf.format(inspectionDetectionInfo.getNextInspectDate()));
jsonObject.put("inspectDate", Optional.ofNullable(inspectionDetectionInfo.getInspectDate())
.map(sdf::format)
.orElse(null));
jsonObject.put("nextInspectDate", Optional.ofNullable(inspectionDetectionInfo.getNextInspectDate())
.map(sdf::format)
.orElse(null));
jsonObject.put("orgBranchCode", paramsDto.getOrgBranchCode() + "_" + paramsDto.getOrgBranchName());
jsonObject.put("projectContraption", projectContraption.getProjectContraption());
jsonObject.put("projectContraptionNo", projectContraption.getProjectContraptionNo());
......
......@@ -197,6 +197,13 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
EventPublisher eventPublisher;
@Autowired
private JgUseRegistrationServiceImpl jgUseRegistrationService;
@Autowired
private JgReformNoticeServiceImpl jgReformNoticeService;
@Autowired
private JgTransferNoticeServiceImpl jgTransferNoticeService;
@Autowired
private JgMaintainNoticeServiceImpl jgMaintainNoticeService;
/**
* 安装改造维修单位吱资质类型:1234-安改维、1236-制造单位
......@@ -2030,6 +2037,39 @@ public class JgInstallationNoticeServiceImpl extends BaseService<JgInstallationN
}
@Override
public Page<JgNoticeToBeSubmitDto> queryNoticeToBeSubmitPage(Page<JgNoticeToBeSubmitDto> page, ReginParams reginParams) {
String companyCode = reginParams.getCompany().getCompanyCode();
return jgInstallationNoticeMapper.queryNoticeToBeSubmitPage(page, companyCode);
}
@Override
public Map<String, Map<String, Object>> getNoticeToBeSubmitDetails(Long sequenceNbr, CompanyBo company, String businessType) {
Map<String, Map<String, Object>> notice = null;
switch (businessType) {
case "安装告知":
notice = this.queryBySequenceNbr(sequenceNbr, company);
notice.put("notice", notice.get("installationInfo"));
notice.remove("installationInfo");
break;
case "改造告知":
jgReformNoticeService.queryBySequenceNbr(sequenceNbr);
break;
case "维修告知":
notice = jgMaintainNoticeService.queryBySequenceNbr(sequenceNbr, company);
notice.put("notice", notice.get("maintainInfo"));
break;
case "移装告知":
notice = jgTransferNoticeService.queryBySequenceNbr(sequenceNbr, company);
notice.put("notice", notice.get("transferInfo"));
break;
default:
this.queryBySequenceNbr(sequenceNbr, company);
}
return notice;
}
@Override
public boolean beforeCheck(JgInstallationNotice notice) {
return notice.getInstanceId() != null && !notice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode())) &&!notice.getNoticeStatus().equals(String.valueOf(FlowStatusEnum.TO_BE_DISCARD.getCode()));
}
......
......@@ -250,15 +250,15 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
* 登记证列表数据导出
*/
@Override
public void certificate(String uuid, JgUseRegistrationManageDto dto, List<String> ids, String sort) {
public void certificate(String uuid, JgUseRegistrationManageDto dto, Boolean isJG, List<String> ids, String sort) {
RequestContextWrapper contextWrapper = RequestContextWrapper.capture();
List<CertificateVo> exportData;
if (ids.isEmpty()) {
// 查询首页数据
int currentPage = 1;
Page<JgUseRegistrationManageDto> firstPage = jgUseRegistrationManageServiceImpl.buildFilter(dto, currentPage, PAGE_SIZE);
Page<JgUseRegistrationManageDto> dtoPage = jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(firstPage, dto, sort);
Page<JgUseRegistrationManageDto> dtoPage = isJG ? jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePageForJG(dto, sort, currentPage, PAGE_SIZE)
: jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(jgUseRegistrationManageServiceImpl.buildFilter(dto, currentPage, PAGE_SIZE), dto, sort);
long total = dtoPage.getTotal();
int totalPage = (int) Math.ceil((double) total / PAGE_SIZE);
......@@ -276,8 +276,8 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
CompletableFuture<List<String>> future = CompletableFuture.supplyAsync(() -> {
// 恢复上下文到子线程
contextWrapper.apply();
Page<JgUseRegistrationManageDto> page = jgUseRegistrationManageServiceImpl.buildFilter(dto, pageIndex, PAGE_SIZE);
Page<JgUseRegistrationManageDto> resultPage = jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(page, dto, sort);
Page<JgUseRegistrationManageDto> resultPage = isJG ? jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePageForJG(dto, sort, pageIndex, PAGE_SIZE)
: jgUseRegistrationManageServiceImpl.queryForJgUseRegistrationManagePage(jgUseRegistrationManageServiceImpl.buildFilter(dto, pageIndex, PAGE_SIZE), dto, sort);
return resultPage.getRecords().stream()
.map(JgUseRegistrationManageDto::getSequenceNbr)
.map(String::valueOf)
......@@ -325,14 +325,18 @@ public class JgTableDataExportServiceImpl implements IJgTableDataExportService {
if ("压力管道".equals(data.getEquList())) {
List<IdxBizJgProjectContraption> contraptions = idxBizJgProjectContraptionService.queryProConByCertSeq(data.getSequenceNbr());
for (IdxBizJgProjectContraption obj : contraptions) {
BeanUtil.copyProperties(obj, data);
exportData.add(data);
CertificateVo newData = new CertificateVo();
BeanUtil.copyProperties(data, newData);
BeanUtil.copyProperties(obj, newData);
exportData.add(newData);
}
} else {
List<JSONObject> jsonObjects = jgUseRegistrationManageServiceImpl.queryEquByCertificateSeq(Long.valueOf(data.getSequenceNbr()));
for (JSONObject obj : jsonObjects) {
BeanUtil.copyProperties(obj, data);
exportData.add(data);
CertificateVo newData = new CertificateVo();
BeanUtil.copyProperties(data, newData);
BeanUtil.copyProperties(obj, newData);
exportData.add(newData);
}
}
});
......
......@@ -319,15 +319,16 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
return jgUseRegistrationManageMapper.queryForPage(page, dto, sortMap);
}
public Page<JgUseRegistrationManageDto> queryForJgUseRegistrationManagePageForJG(Page<JgUseRegistrationManageDto> page,
JgUseRegistrationManageDto dto,
String sort, String orgCode) {
public Page<JgUseRegistrationManageDto> queryForJgUseRegistrationManagePageForJG(JgUseRegistrationManageDto dto, String sort, int current, int size) {
Page<JgUseRegistrationManageDto> page = new Page<JgUseRegistrationManageDto>();
page.setCurrent(current);
page.setSize(size);
SortVo sortMap = commonServiceImpl.sortFieldConversion(sort);
if (ApplicationFormTypeEnum.BF.getBusinessCode().equals(dto.getApplyType()) && (!CylinderTypeEnum.CYLINDER.getCode().equals(dto.getEquCategoryCode()) || dto.getRegType().equals(BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION.getName()))){
dto.setCertificateStatus(null);
dto.setIsScrap("0");
}
return jgUseRegistrationManageMapper.queryForPageForJG(page, dto, sortMap, orgCode);
return jgUseRegistrationManageMapper.queryForPageForJG(page, dto, sortMap, getSelectedOrgInfo().getCompany().getOrgCode());
}
public Page<JgUseRegistrationManageDto> getRecords(Page<JgUseRegistrationManageDto> page, JgUseRegistrationManageDto dto, String cityCode) {
......
......@@ -4172,7 +4172,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (registerInfo != null) {
registerInfo.setUseOrgCode(jgUseRegistration.getUseRegistrationCode());
registerInfo.setEquCodeType(String.valueOf(map.get("equCodeType")));
if(submitType.equals("tempSubmit")){
// 新提交或暂存后提交需生成设备代码
if(ValidationUtil.isEmpty(submitType) || "tempSubmit".equals(submitType)){
equCode = ObjectUtils.isEmpty(map.get("equCode")) && !StringUtils.isEmpty(jgUseRegistration.getReceiveCompanyCode())
? this.getEquCode(registerInfo, jgUseRegistration.getReceiveCompanyCode())
: String.valueOf(map.get("equCode"));
......@@ -4335,6 +4336,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
.build());
}
}
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), Sets.newHashSet(equipId), EquipCreateOrEditEvent.EquipType.equip));
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
} catch (BadRequest | LocalBadRequest e) {
log.error(e.getMessage(), e);
......
......@@ -616,7 +616,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// todo 本来FillingEditPermForCurrentUser已赋值但是此业务也使用的key companyType故新赋值key
re.put("companyType2", CommonServiceImpl.getCompanyType(companyBo));
// 赋值数据质量等级
commonService.setDataQualityScore2Json(re, sequenceNbr + "", BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION);
// commonService.setDataQualityScore2Json(re, sequenceNbr + "", BusinessTypeEnum.JG_VEHICLE_GAS_APPLICATION);
return re;
}
......@@ -1872,7 +1872,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
String firstUseOrgCode = (String) eqLists.stream().findFirst().orElseThrow(() -> new BadRequest("设备列表为空,无法获取第一个设备信息")).get("useOrgCode");
String firstVin = (String) eqLists.stream().findFirst().orElseThrow(() -> new BadRequest("设备列表为空,无法获取第一个设备信息")).get("vin");
boolean isOrgCodeConsistent = useRegistrationCode.equals(firstUseOrgCode);
boolean isVinConsistent = identificationCode.equals(firstVin);
boolean isVinConsistent = "null".equals(identificationCode) && ValidationUtil.isEmpty(firstVin) || identificationCode.equals(firstVin);
return isSameChargingMedium && isSameVin && isOrgCodeConsistent && isVinConsistent;
})
.orElseThrow(() -> new BadRequest("使用登记证号、车辆VIN码与所选设备不一致,请重新选择设备!"));
......@@ -1890,11 +1890,11 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
.collect(Collectors.toList())
);
if (inspectionDetectionInfoList.stream().anyMatch(info ->
ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) ||
ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()))) {
throw new BadRequest("请补充设备检验检测信息后提交!");
}
// if (inspectionDetectionInfoList.stream().anyMatch(info ->
// ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) ||
// ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()))) {
// throw new BadRequest("请补充设备检验检测信息后提交!");
// }
vehicleInfoDto.setNextInspectionDate(inspectionDetectionInfoList.stream()
.map(IdxBizJgInspectionDetectionInfo::getNextInspectDate)
......@@ -2008,8 +2008,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
vehicleInformation.setRegDate(new Date());
vehicleInformation.setCreateUserName(reginParams.getUserModel().getRealName());
vehicleInformation.setGasNum(equipmentLists.size());
BigDecimal totalVolume = equipmentLists.stream()
.map(x -> new BigDecimal(String.valueOf(x.get("singleBottleVolume"))))
BigDecimal totalVolume = Optional.ofNullable(equipmentLists)
.orElse(Collections.emptyList())
.stream()
.map(x -> x.get("singleBottleVolume"))
.filter(Objects::nonNull) // 过滤 null 值
.map(Object::toString)
.filter(s -> !s.trim().isEmpty()) // 过滤空字符串
.map(BigDecimal::new)
.reduce(BigDecimal.ZERO, BigDecimal::add);
vehicleInformation.setVolume(totalVolume.toPlainString());
vehicleInformation.setFillingMedium(equipmentLists.stream()
......@@ -2138,7 +2144,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// 保存关联设备信息
jgVehicleInformationEqService.saveBatch(equipList);
}
Set<String> recordSet = equipmentLists.stream()
.map(v -> (String) v.get("record"))
.collect(Collectors.toSet());
eventPublisher.publish(new EquipCreateOrEditEvent(this, BusinessTypeEnum.JG_NEW_EQUIP.name(), recordSet, EquipCreateOrEditEvent.EquipType.equip));
return Collections.singletonList(vehicleInformation);
}
......
......@@ -6,9 +6,6 @@ import com.yeejoin.amos.boot.biz.common.annotation.TechnicalParameter;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.HashMap;
import java.util.Map;
@AllArgsConstructor
@Getter
public enum ConditionEnum {
......
package com.yeejoin.amos.boot.module.statistics.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@AllArgsConstructor
@Getter
public enum StatisticalAnalysisEnum {
/**
* 综合统计分析列表查询设备、企业、人员ES索引
*/
company("企业", "company", "idx_biz_enterprise_info"),
person("人员", "person", "idx_biz_user_info"),
equip("设备", "equip", "idx_biz_equipment_info");
private String name;
private String code;
private String key;
}
......@@ -28,7 +28,7 @@ import java.util.Map;
public class ComprehensiveStatisticalAnalysisController extends BaseController {
@Autowired
private ComprehensiveStatisticalAnalysisServiceImpl comprehensiveStatisticalAnalysisServiceImpl;
private ComprehensiveStatisticalAnalysisServiceImpl statisticalAnalysisService;
/**
* 查询设备分类
......@@ -41,8 +41,9 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
@ApiOperation(httpMethod = "POST", value = "查询设备分类", notes = "查询设备分类")
public ResponseModel<List<Map<String, Object>>> queryEquipmentCategory(@RequestBody JSONObject category) {
String key = category.getString("key") == null ? null : category.getString("key");
return ResponseHelper.buildResponse(comprehensiveStatisticalAnalysisServiceImpl.queryEquipmentCategory(key));
return ResponseHelper.buildResponse(statisticalAnalysisService.queryEquipmentCategory(key));
}
/**
* @param jsonObject
* @return
......@@ -50,10 +51,10 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/select/queryEquipmentSearchData")
@ApiOperation(httpMethod = "POST", value = "查询设备查询条件", notes = "查询设备查询条件")
public ResponseModel<JSONObject> queryEquipmentSearchData(@RequestBody JSONObject jsonObject){
return ResponseHelper.buildResponse(comprehensiveStatisticalAnalysisServiceImpl.queryEquipmentSearchData(jsonObject.getString("value")));
public ResponseModel<JSONObject> queryEquipmentSearchData(@RequestBody JSONObject jsonObject) {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryEquipmentSearchData(jsonObject.getString("value")));
}
/**
* @param
* @return
......@@ -61,7 +62,23 @@ public class ComprehensiveStatisticalAnalysisController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/select/queryAdvancedSearch")
@ApiOperation(httpMethod = "GET", value = "查询高级筛选", notes = "查询高级筛选")
public ResponseModel<JSONArray> query(){
return ResponseHelper.buildResponse(comprehensiveStatisticalAnalysisServiceImpl.queryAdvancedSearch());
public ResponseModel<JSONArray> query() {
return ResponseHelper.buildResponse(statisticalAnalysisService.queryAdvancedSearch());
}
/**
* 综合统计分析接口分页查询
*
* @param map
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/page")
@ApiOperation(httpMethod = "POST", value = "综合统计分析接口分页查询", notes = "综合统计分析接口分页查询")
public ResponseModel<JSONObject> queryForPage(@RequestBody Map<String, Object> map) {
JSONObject jsonObject = new JSONObject(map);
return ResponseHelper.buildResponse(statisticalAnalysisService.queryForPage(jsonObject));
}
}
......@@ -46,7 +46,8 @@
DATA_SOURCE,
USE_UNIT_NAME,
USE_DATE,
DATA_QUALITY_SCORE
DATA_QUALITY_SCORE,
IS_FIRST_MERGE as isFirstMerge
FROM
IDX_BIZ_JG_PROJECT_CONTRAPTION ibjpc
WHERE
......
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