Commit 43ac8618 authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_main' into develop_tzs_register

parents 4cee40b7 eac73adc
......@@ -51,4 +51,6 @@ public interface JgChangeRegistrationUnitMapper extends CustomBaseMapper<JgChang
String queryEquipIdBySeq(@Param("sequenceNbr") long sequenceNbr);
List<CompanyEquipCountDto> queryForFlowingEquipList();
List<Map<String, Object>> getEstateUnitInfo(List<String> records);
}
......@@ -126,4 +126,21 @@
and a.audit_status in ('三级待受理', '二级待受理', '一级待受理')
GROUP BY a.use_unit_credit_code
</select>
<select id="getEstateUnitInfo" resultType="java.util.Map">
SELECT
CONCAT(jui.ESTATE_UNIT_CREDIT_CODE, '_', jui.ESTATE_UNIT_NAME) AS estateUnitName
FROM
idx_biz_jg_register_info ri
LEFT JOIN idx_biz_jg_use_info jui on ri.RECORD = jui.RECORD
WHERE ri."EQU_CATEGORY" = '2300'
AND jui."DATA_SOURCE" like 'jg%'
AND ri.whether_vehicle_cylinder = 1
AND jui."ESTATE_UNIT_NAME" IS NOT NULL
AND jui."ESTATE_UNIT_CREDIT_CODE" IS NOT NULL
AND jui.record in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
</select>
</mapper>
......@@ -245,4 +245,15 @@ public class JgChangeRegistrationUnitController extends BaseController {
return ResponseHelper.buildResponse("ok");
}
/**
* 根据使用登记证编号查询设备信息
* @param record 使用登记证编号
* @return 设备信息
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/queryEquipInfoByRegistrationCode")
@ApiOperation(httpMethod = "GET", value = "根据使用登记证编号查询设备信息", notes = "根据使用登记证编号查询设备信息")
public ResponseModel<Map<String, Object>> queryEquipInfoByRegistrationCode(@RequestParam(value = "record") String record) {
return ResponseHelper.buildResponse(jgChangeRegistrationUnitServiceImpl.queryEquipInfoByRegistrationCode(record));
}
}
......@@ -3,8 +3,8 @@ package com.yeejoin.amos.boot.module.jg.biz.edit.event.listener;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yeejoin.amos.boot.module.common.api.converter.CommonCustomConverter;
import com.yeejoin.amos.boot.module.jg.api.converter.EquDefineConverter;
import com.yeejoin.amos.boot.module.jg.api.dto.FieldChangeMeta;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNotice;
......@@ -31,6 +31,7 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.event.TransactionalEventListener;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.PostConstruct;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ExecutorService;
......@@ -116,6 +117,7 @@ public class ChangeEquipImpactCertListener {
keysToJson.add(EXPORT_SUMMARY_TABLE);
break;
case "USE_CYLINDER_SUMMARY":
this.updateUseCertField(manage, meta);
keysToJson.add(CERTIFICATE_NORMAL);
break;
default:
......@@ -137,6 +139,7 @@ public class ChangeEquipImpactCertListener {
private void updateUseCertField(JgUseRegistrationManage manage, FieldChangeMeta meta) {
String columnKey = meta.getColumnKey();
String afterValue = Objects.toString(meta.getColumnNewValue(), null);
String beforeValue = Objects.toString(meta.getColumnOldValue(), null);
if (StringUtils.isBlank(afterValue)) {
return;
}
......@@ -166,13 +169,16 @@ public class ChangeEquipImpactCertListener {
manage.setReceiveOrgName(CommonCustomConverter.CompanyCodeConverter.getNameByCode(afterValue));
break;
case "fillingMedium":
manage.setFillingMedium(afterValue);
break;
case "gasNum":
manage.setGasNum(Integer.valueOf(afterValue));
manage.setFillingMedium(
Arrays.stream(manage.getFillingMedium().split(","))
.map(String::trim)
.map(v -> v.equals(beforeValue) ? afterValue : v)
.collect(Collectors.joining(","))
);
break;
case "volume":
manage.setVolume(afterValue);
case "singleBottleVolume":
manage.setVolume(new BigDecimal(manage.getVolume())
.add(new BigDecimal(afterValue).subtract(new BigDecimal(beforeValue))).toPlainString());
break;
default:
log.warn("未处理的USE_CERT字段:[{}]", columnKey);
......
......@@ -197,22 +197,18 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired
JgUseRegistrationManageServiceImpl useRegistrationManageService;
@Autowired
private TzBaseEnterpriseInfoMapper tzBaseEnterpriseInfoMapper;
@Autowired
private IdxBizJgProjectContraptionServiceImplService projectContraptionService;
@Autowired
private EventPublisher eventPublisher;
@Autowired
private JgResumeInfoServiceImpl jgResumeInfoService;
@Autowired
private IdxBizJgSupervisionInfoMapper idxBizJgSupervisionInfoMapper;
@Autowired
private CommonMapper commonMapper;
private JgUseRegistrationManageServiceImpl jgUseRegistrationManageService;
/**
* 根据sequenceNbr查询:1、查询单位变更信息,2、查询使用登记证列表
......@@ -3660,4 +3656,35 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
commonServiceImpl.saveExecuteFlowData2Redis(dto.getInstanceId(), this.buildInstanceRuntimeData(registration));
this.delRepeatUseEquipData(registration.getApplyNo(), registration.getStatus(), registration.getNewUseUnitCreditCode());
}
@ResultFieldMapping({@ResultFieldMapping.ResultFieldMap(sourceField = "estateUnitCode", targetField = "estateUnitSeq", serviceClass = CommonServiceImpl.class, queryMethod = "queryTcmUnitSeqByCreditCode", secondParamValue = "CQ")})
public Map<String, Object> queryEquipInfoByRegistrationCode(String useRegistrationCode) {
HashMap<String, Object> map = new HashMap<>();
map.put("useRegistrationCode", useRegistrationCode);
JgUseRegistrationManage registrationManage =
jgUseRegistrationManageService.lambdaQuery()
.eq(JgUseRegistrationManage::getUseRegistrationCode, useRegistrationCode)
.eq(JgUseRegistrationManage::getIsDelete, 0)
.last("LIMIT 1")
.one();
List<JSONObject> jsonObjects = registrationManage == null ? Collections.emptyList():
Optional.ofNullable(jgUseRegistrationManageService.queryEquByCertificateSeq(registrationManage.getSequenceNbr())
).orElse(Collections.emptyList());
if (!org.springframework.util.ObjectUtils.isEmpty(jsonObjects)) {
List<String> records = jsonObjects.stream().map(a -> String.valueOf(a.get("SEQUENCE_NBR"))).collect(Collectors.toList());
List<Map<String, Object>> equList = this.getBaseMapper().getEstateUnitInfo(records);
String estateUnitName = equList.stream()
.map(e -> e.get("estateUnitName"))
.filter(Objects::nonNull)
.filter(String.class::isInstance)
.map(String.class::cast)
.findFirst()
.orElse("");
if (!ValidationUtil.isEmpty(estateUnitName) && estateUnitName.contains("_")) {
map.put("estateUnitCode", estateUnitName.split("_")[0]);
map.put("estateUnitName", estateUnitName.split("_")[1]);
}
}
return map;
}
}
\ No newline at end of file
......@@ -16,10 +16,14 @@ import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.enums.TcmUnitTypeEnum;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.common.biz.refresh.DataRefreshEvent;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.*;
import com.yeejoin.amos.boot.module.jg.api.enums.*;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.CompanyTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.VehicleApanageEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.api.mapper.JgChangeVehicleRegistrationUnitMapper;
import com.yeejoin.amos.boot.module.jg.api.service.IJgChangeVehicleRegistrationUnitService;
import com.yeejoin.amos.boot.module.jg.api.vo.SortVo;
......@@ -29,7 +33,6 @@ import com.yeejoin.amos.boot.module.jg.biz.context.FlowingEquipRedisContext;
import com.yeejoin.amos.boot.module.jg.biz.edit.permission.FillingEditPermForCurrentUser;
import com.yeejoin.amos.boot.module.jg.biz.event.publisher.EventPublisher;
import com.yeejoin.amos.boot.module.jg.biz.feign.TzsServiceFeignClient;
import com.yeejoin.amos.boot.module.common.api.service.ICompensateFlowDataOfRedis;
import com.yeejoin.amos.boot.module.ymt.api.entity.*;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
......@@ -865,13 +868,7 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return jgUseRegistrationManageService.queryUseRegistrationManagePage(page, dto, null);
}
@ResultFieldMapping({
@ResultFieldMapping.ResultFieldMap(sourceField = "estateUnitCode",
targetField = "estateUnitSeq",
serviceClass = CommonServiceImpl.class,
queryMethod = "queryTcmUnitSeqByCreditCode",
secondParamValue = "CQ")
})
@ResultFieldMapping({@ResultFieldMapping.ResultFieldMap(sourceField = "estateUnitCode", targetField = "estateUnitSeq", serviceClass = CommonServiceImpl.class, queryMethod = "queryTcmUnitSeqByCreditCode", secondParamValue = "CQ")})
public Map<String, Object> getEquList(String useRegistrationCode) {
HashMap<String, Object> map = new HashMap<>();
map.put("useRegistrationCode", useRegistrationCode);
......
......@@ -83,7 +83,7 @@ public class JgEquipTransferServiceImpl extends BaseService<JgEquipTransferDto,
private static final String EQUIP_TRANSFER_PROCESS_KEY = "equipmentHandover";
private static final String record = "record";
private static final String sequenceNbr = "sequenceNbr";
private final List<String> NOT_FLOWING_STATE = Arrays.asList("6610", "6614", "6615", "6617", "6616");
private final List<String> NOT_FLOWING_STATE = Collections.unmodifiableList(Arrays.asList("6610", "6614", "6615", "6617", "6616"));
private static final String SUBMIT_TYPE_FLOW = "1";
private final JgEquipTransferEqMapper jgEquipTransferEqMapper;
......
......@@ -3271,6 +3271,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
&& !"2".equals(jgUseRegistration.getRegType())) {
fillLastEquipDetail(jsonObject, record);
}
// 流程中历史无证时,数据去最新的设备信息
if (!(FlowStatusEnum.TO_BE_FINISHED.getName().equals(jgUseRegistration.getStatus())
|| FlowStatusEnum.TO_BE_DISCARD.getName().equals(jgUseRegistration.getStatus()))
&& "2".equals(jgUseRegistration.getRegType())) {
fillLastEquipBaseInfo(jsonObject, record);
}
}
public void fillLastEquipDetail(JSONObject jsonObject, String record) {
......
......@@ -398,7 +398,13 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
String fillingMedium = Optional.ofNullable(equipmentLists)
.filter(list -> !list.isEmpty())
.map(list -> String.valueOf(list.get(0).get("chargingMedium")))
.map(list -> list.stream()
.map(m -> m.get("chargingMedium"))
.filter(Objects::nonNull)
.map(String::valueOf)
.filter(s -> !s.isEmpty())
.distinct()
.collect(Collectors.joining(",")))
.orElse("");
vehicleInformation.setFillingMedium(fillingMedium);
......
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