Commit 02884ebe authored by suhuiguang's avatar suhuiguang

Merge branch 'develop_tzs_register' of…

Merge branch 'develop_tzs_register' of http://36.40.66.175:5000/moa/amos-boot-biz into develop_tzs_register
parents c221bbbf bfcc62f7
......@@ -5,7 +5,6 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.util.List;
......@@ -112,4 +111,9 @@ public class JgUseRegistrationDto extends BaseDto {
@ApiModelProperty(value = "其他附件")
private String otherAccessories;
/**
* 办理类型,unit(单位) set(台套)
*/
@ApiModelProperty(value = "办理类型")
private String manageType;
}
......@@ -193,10 +193,15 @@ public class JgUseRegistration extends BaseEntity {
@TableField(value = "transfer_to_user_ids")
private String transferToUserIds;
/**
* 其他附件
*/
@TableField(value = "other_accessories")
private String otherAccessories;
/**
* 办理类型,unit(单位) set(台套)
*/
@TableField(value = "manage_type")
private String manageType;
}
package com.yeejoin.amos.boot.module.jg.api.mapper;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgUseRegistration;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
......@@ -40,4 +41,17 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
Map<String, Object> getiInstallDetail(@Param("id")String id);
Map<String, Object> getUseRegistrationDetail(@Param("id")String id);
Page<JSONObject> queryForUnitVesselEquipmentPage(@Param("page") Page<JSONObject> page, @Param("jsonObject")JSONObject jsonObject);
@MapKey("records")
List<Map<String, Object>> queryForUnitVesselEquipment(@Param("records")List<String> records);
Page<JSONObject> queryForUnitPipelineEquipmentPage(@Param("page") Page<JSONObject> page, @Param("jsonObject")JSONObject jsonObject);
@MapKey("records")
List<Map<String, Object>> queryForUnitPipelineEquipment(@Param("records")List<String> records);
@MapKey("id")
List<Map<String, Object>> selectEquipList(@Param("id")Long id);
}
......@@ -11,18 +11,9 @@
date_format(reg_date,'%Y-%m-%d') as regDate,
ur.use_unit_name as useUnitName,
ur.status,
other.CODE96333 code96333,
ur.receive_org_name as receiveOrgName,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.EQU_CATEGORY as equCategoryCode,
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
jri.EQU_LIST as equList,
(SELECT name from tz_equipment_category where code = jri.EQU_LIST) as equListName,
use.USE_INNER_CODE as innerCode,
ur.use_address as place,
ur.instance_id as instanceId,
re.equ_id as equipId,
ur.apply_no as applyNo,
ur.next_execute_ids as nextExecuteIds,
ur.promoter,
......@@ -33,7 +24,18 @@
ur.next_execute_user_ids as nextExecuteUserIds,
ur.next_task_id as nextTaskId,
ur.create_user_id as createUserId,
ur.rec_date as recDate
ur.rec_date as recDate,
ur.manage_type as manageType,
GROUP_CONCAT(DISTINCT other.CODE96333) AS code96333,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.PRODUCT_NAME) AS productName,
GROUP_CONCAT(DISTINCT jri.EQU_CATEGORY) AS equCategoryCode,
GROUP_CONCAT(DISTINCT jri.EQU_CODE) AS equCode,
GROUP_CONCAT(DISTINCT jri.EQU_LIST) AS equList,
GROUP_CONCAT(DISTINCT (SELECT name from tz_equipment_category where code = jri.EQU_LIST)) AS equListName,
GROUP_CONCAT(DISTINCT use.USE_INNER_CODE) AS innerCode,
GROUP_CONCAT(DISTINCT re.equ_id) AS equipId
from tzs_jg_use_registration ur
LEFT JOIN tzs_jg_use_registration_eq re on ur.sequence_nbr = re.equip_transfer_id
LEFT JOIN idx_biz_jg_register_info jri on re.equ_id = jri.RECORD
......@@ -41,7 +43,6 @@
LEFT JOIN idx_biz_jg_other_info other on re.equ_id = other.RECORD
</sql>
<select id="getListPage" resultType="java.util.Map">
select
*
......@@ -76,6 +77,7 @@
<if test="dto.dataType == 'company' ">
and ur.use_unit_credit_code = #{dto.unitCode}
</if>
GROUP BY re.equip_transfer_id
</where>
union
<include refid="page-list"/>
......@@ -97,6 +99,7 @@
<if test="dto.useUnitName != null and dto.useUnitName != ''">
and ur.use_unit_name like concat('%',#{dto.useUnitName},'%')
</if>
GROUP BY re.equip_transfer_id
</where>)
order by regDate desc, recDate desc
</select>
......@@ -223,20 +226,19 @@
ur.audit_status as auditStatus,
date_format(reg_date, '%Y-%m-%d') as regDate,
ur.use_unit_name as useUnitName,
ur.status,
other.CODE96333 code96333,
ur.status as status,
GROUP_CONCAT(DISTINCT other.CODE96333) as code96333,
ur.receive_org_name as receiveOrgName,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as equCategory,
jri.PRODUCT_NAME as productName,
jri.EQU_CODE as equCode,
use.USE_INNER_CODE as innerCode,
-- concat(use.PROVINCE_NAME, use.CITY_NAME, use.COUNTY_NAME) as place,
GROUP_CONCAT(DISTINCT(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY)) as equCategory,
GROUP_CONCAT(DISTINCT jri.PRODUCT_NAME) as productName,
GROUP_CONCAT(DISTINCT jri.EQU_CODE) as equCode,
GROUP_CONCAT(DISTINCT use.USE_INNER_CODE) as innerCode,
ur.use_address as place,
ur.instance_id as instanceId,
re.equ_id as equipId,
GROUP_CONCAT(DISTINCT re.equ_id) as equipId,
ur.apply_no as applyNo,
ur.next_execute_ids as nextExecuteIds,
ur.promoter,
ur.promoter as promoter,
ur.supervisory_code as supervisoryCode,
ur.use_registration_code as useRegistrationCode,
date_format(ur.audit_pass_date, '%Y-%m-%d') as auditPassDate,
......@@ -249,7 +251,7 @@
LEFT JOIN idx_biz_jg_use_info use on re.equ_id = use.RECORD
LEFT JOIN idx_biz_jg_other_info other on re.equ_id = other.RECORD
where ur.sequence_nbr = #{id}
GROUP BY re.equip_transfer_id
</select>
<select id="getEquType" resultType="java.lang.String">
SELECT ec.name
......@@ -314,5 +316,130 @@
ORDER BY tjmce."rec_date" desc
LIMIT 1
</select>
<select id="selectEquipList" resultType="java.util.Map">
select jui.RECORD as SEQUENCE_NBR,
(SELECT name from tz_equipment_category where code = jri.EQU_LIST) as EQU_LIST,
jfi.PRODUCE_UNIT_NAME,
jui.USE_INNER_CODE,
jfi.FACTORY_NUM,
jui.ADDRESS as ADDRESS,
jui.RECORD record,
(SELECT name from tz_equipment_category where code = jri.EQU_DEFINE) as EQU_DEFINE,
jri.PRODUCT_NAME,
jri.EQU_CODE,
other.SUPERVISORY_CODE,
(SELECT name from tz_equipment_category where code = jri.EQU_CATEGORY) as EQU_CATEGORY
from tzs_jg_use_registration_eq tjure
LEFT JOIN idx_biz_jg_use_info jui on tjure.equ_id = jui.RECORD
LEFT JOIN idx_biz_jg_factory_info jfi on tjure.equ_id = jfi.RECORD
left JOIN idx_biz_jg_register_info jri on tjure.equ_id = jri.RECORD
LEFT JOIN idx_biz_jg_other_info other on other.RECORD = jui.RECORD
WHERE tjure.equip_transfer_id = #{id}
</select>
<sql id="page-list-pipeline">
SELECT
ui."USE_UNIT_NAME" useUnitName,
ui."USE_UNIT_CREDIT_CODE" useUnitCreditCode,
to_char(ui."USE_DATE", 'YYYY-MM') useDate,
(SELECT DESIGN_UNIT_NAME from idx_biz_jg_design_info where "RECORD" = ui."RECORD") designUnitName,
(SELECT USC_UNIT_NAME from idx_biz_jg_construction_info where "RECORD" = ui."RECORD" ORDER BY USC_DATE limit 1) uscUnitName,
to_char((SELECT USC_DATE from idx_biz_jg_construction_info where "RECORD" = ui."RECORD" ORDER BY USC_DATE limit 1), 'YYYY-MM') uscDate,
ui."RECORD" record,
ri."EQU_CODE" equCode,
ri."EQU_LIST" equList,
(select name from tz_equipment_category where code = ri."EQU_LIST") equListName,
ri."EQU_CATEGORY" equCategory,
(select name from tz_equipment_category where code = ri."EQU_CATEGORY") equCategoryName,
ri."EQU_DEFINE" equDefine,
(select name from tz_equipment_category where code = ri."EQU_DEFINE") equDefineName,
ri."PRODUCT_NAME" productName,
ri."BRAND_NAME" brandName,
ri."EQU_TYPE" equType,
ri."EQU_CODE_TYPE" equCodeType,
ri."WHETHER_VEHICLE_CYLINDER" whetherVehicleCylinder,
pp."DEVICE_NAME" deviceName,
pp."DEVICE_LEVEL" deviceLevel,
pp."PIPE_NAME" pipeName,
pp."PIPELINE_NUMBER" pipelineNumber,
pp."NOMINAL_DIAMETER" nominalDiameter,
pp."WALL_THICKNESS" wallThickness,
pp."PIPE_LENGTH" pipeLength,
pp."PRESSURE" pressure,
pp."TEMPERATURE" temperature,
pp."MEDIUM" medium,
(select INSPECT_ORG_NAME from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE limit 1) inspectOrgName,
(select INSPECT_CONCLUSION from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE limit 1) inspectConclusion,
to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE limit 1), 'YYYY-MM-DD') nextInspectDate
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_register_info ri on ri."RECORD" = ui."RECORD"
LEFT JOIN idx_biz_jg_tech_params_pipeline pp ON pp."RECORD" = ui."RECORD"
</sql>
<select id="queryForUnitPipelineEquipmentPage" resultType="com.alibaba.fastjson.JSONObject">
<include refid="page-list-pipeline"/>
WHERE ri."EQU_CATEGORY" = '8300'
<if test="jsonObject.useUnitCreditCode != null and jsonObject.useUnitCreditCode != ''" >
and ui."USE_UNIT_CREDIT_CODE" = #{jsonObject.useUnitCreditCode}
</if>
ORDER BY ui.REC_DATE DESC
</select>
<select id="queryForUnitPipelineEquipment" resultType="java.util.Map">
<include refid="page-list-pipeline"/>
WHERE ri."EQU_CATEGORY" = '8300'
and ui.record in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
ORDER BY ui.REC_DATE DESC
</select>
<sql id="page-list-vessel">
SELECT
ui."USE_UNIT_NAME" useUnitName,
ui."USE_UNIT_CREDIT_CODE" useUnitCreditCode,
to_char(ui."USE_DATE", 'YYYY-MM') useDate,
(SELECT "PRODUCE_UNIT_NAME" from idx_biz_jg_factory_info where "RECORD" = ui."RECORD") produceUnitName,
to_char((SELECT "PRODUCE_DATE" from idx_biz_jg_factory_info where "RECORD" = ui."RECORD"), 'YYYY-MM') produceDate,
ui."RECORD" record,
ui."USE_INNER_CODE" useInnerCode,
ri."EQU_CODE" equCode,
ri."EQU_LIST" equList,
(select name from tz_equipment_category where code = ri."EQU_LIST") equListName,
ri."EQU_CATEGORY" equCategory,
(select name from tz_equipment_category where code = ri."EQU_CATEGORY") equCategoryName,
ri."EQU_DEFINE" equDefine,
(select name from tz_equipment_category where code = ri."EQU_DEFINE") equDefineName,
ri."PRODUCT_NAME" productName,
ri."BRAND_NAME" brandName,
ri."EQU_TYPE" equType,
ri."EQU_CODE_TYPE" equCodeType,
ri."WHETHER_VEHICLE_CYLINDER" whetherVehicleCylinder,
pv."CHARGING_MEDIUM" chargingMedium,
pv."NOMINAL_WORKING_PRESSURE" nominalWorkingPressure,
pv."SINGLE_BOTTLE_VOLUME" singleBottleVolume,
to_char((select INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE limit 1), 'YYYY-MM-DD') inspectDate,
to_char((select NEXT_INSPECT_DATE from idx_biz_jg_inspection_detection_info where "RECORD" = ui."RECORD" ORDER BY INSPECT_DATE limit 1), 'YYYY-MM-DD') nextInspectDate
FROM
idx_biz_jg_use_info ui
LEFT JOIN idx_biz_jg_register_info ri on ri."RECORD" = ui."RECORD"
LEFT JOIN idx_biz_jg_tech_params_vessel pv ON pv."RECORD" = ui."RECORD"
</sql>
<select id="queryForUnitVesselEquipmentPage" resultType="com.alibaba.fastjson.JSONObject">
<include refid="page-list-vessel"/>
WHERE ri."EQU_CATEGORY" = '2300' and (ri.whether_vehicle_cylinder is null or ri.whether_vehicle_cylinder != 1)
<if test="jsonObject.useUnitCreditCode != null and jsonObject.useUnitCreditCode != ''" >
and ui."USE_UNIT_CREDIT_CODE" = #{jsonObject.useUnitCreditCode}
</if>
ORDER BY ui.REC_DATE DESC
</select>
<select id="queryForUnitVesselEquipment" resultType="java.util.Map">
<include refid="page-list-vessel"/>
WHERE ri."EQU_CATEGORY" = '2300' and (ri.whether_vehicle_cylinder is null or ri.whether_vehicle_cylinder != 1)
and ui.record in
<foreach collection="records" item="record" open="(" close=")" separator=",">
#{record}
</foreach>
ORDER BY ui.REC_DATE DESC
</select>
</mapper>
......@@ -105,7 +105,6 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForEquipmentRegisterPage(jsonObject));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/category/list")
@ApiOperation(httpMethod = "GET", value = "查询不同单位类型可新增的设备种类列表", notes = "查询不同单位类型可新增的设备种类列表")
......@@ -121,5 +120,11 @@ public class IdxBizJqEquipmentRegisterController extends BaseController {
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.equCategoryListByCompanyType(getSelectedOrgInfo(), equList));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/equip/page")
@ApiOperation(httpMethod = "GET", value = "单位办理设备列表查询", notes = "单位办理设备列表查询")
public ResponseModel<Page<JSONObject>> queryEquipPage(@RequestParam Map<String, Object> queryMap) {
JSONObject jsonObject = new JSONObject(queryMap);
return ResponseHelper.buildResponse(idxBizJgRegisterInfoService.queryForUnitEquipmentPage(jsonObject));
}
}
......@@ -75,8 +75,10 @@ public class JgInstallationNoticeController extends BaseController {
}
Object o = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("proxyStatementAttachment");
Object o1 = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("installContractAttachment");
Object o2 = ((LinkedHashMap<?, ?>) model.get("installationInfo")).get("otherAccessories");
installationInfo.setProxyStatementAttachmentList((List<Map<String, Object>>) o);
installationInfo.setInstallContractAttachmentList((List<Map<String, Object>>) o1);
installationInfo.setOtherAccessoriesList((List<Map<String, Object>>) o2);
return ResponseHelper.buildResponse(iJgInstallationNoticeService.updateInstallationNotice(submitType,installationInfo, op));
}
......
......@@ -176,13 +176,14 @@ public class JgTransferNoticeController extends BaseController {
public void generateCertificateReport(HttpServletResponse response) {
Map<String, Object> map = new HashMap<>();
// 组装模板变量
map.put("useRegistrationCode", "202301256456"); // 编号
map.put("manageType", "unit"); // 编号
map.put("useRegistrationCode", "容3T陕A0001"); // 编号
map.put("useUnitName", "西安市高科物业服务有限公司"); // 使用单位名称
map.put("fullAddress", "西安市曲江新区春临东街南湖意境1单元2号楼"); // 设备使用地点
map.put("equList", "电梯"); // 设备种类
map.put("equDefine", "曳引驱动电梯啊啊啊啊啊啊啊啊啊啊啊啊啊"); // 设备品种
map.put("equipCode", ""); // 设备代码
map.put("equCategory", "曳引电梯噜啦噜啦嘞绿绿绿绿绿绿绿"); // 设备类别
map.put("equCategory", "压力管道"); // 设备类别
map.put("useInnerCode", "KY-9527555555555555"); // 单位内编号
map.put("factoryNum", "FUCK-G600010000056"); // 产品编号
map.put("receiveOrgName", "西安市曲江新区质检院"); // 登记机关
......
......@@ -54,6 +54,7 @@ public class JgUseRegistrationController extends BaseController {
String.valueOf(map.get("operate")),
String.valueOf(map.get("comment")),
String.valueOf(map.getOrDefault("carNumber","")),
String.valueOf(map.getOrDefault("manageType","")),
String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok");
}
......@@ -63,7 +64,8 @@ public class JgUseRegistrationController extends BaseController {
@PostMapping(value = "/withdraw")
@ApiOperation(httpMethod = "POST", value = "撤回", notes = "撤回")
public ResponseModel<Object> withdraw(@RequestBody JSONObject map) {
jgUseRegistrationServiceImpl.withdraw(String.valueOf(map.get("instanceId")), String.valueOf(map.get("nextTaskId")) );
jgUseRegistrationServiceImpl.withdraw(String.valueOf(map.get("instanceId")), String.valueOf(map.get("nextTaskId")),
String.valueOf(map.getOrDefault("manageType","unit")));
return ResponseHelper.buildResponse("ok");
}
......@@ -122,7 +124,8 @@ public class JgUseRegistrationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "详情", notes = "详情")
@GetMapping(value = "/getDetail")
public ResponseModel<Map<String, Object>> getDetail(@RequestParam("record") String record, @RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) {
public ResponseModel<Map<String, Object>> getDetail(@RequestParam(value = "record", required = false) String record,
@RequestParam(value = "sequenceNbr", required = false) Long sequenceNbr) {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.getDetail(record, sequenceNbr));
}
......
package com.yeejoin.amos.boot.module.jg.biz.service;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgInspectionDetectionInfo;
import java.util.List;
/**
* 安全追溯-检验检测信息表接口类
*
......@@ -13,4 +13,6 @@ public interface IIdxBizJgInspectionDetectionInfoService {
boolean saveOrUpdateData(IdxBizJgInspectionDetectionInfo inspectionDetectionInfo);
IdxBizJgInspectionDetectionInfo queryNewestDetailByRecord(String record);
List<IdxBizJgInspectionDetectionInfo> checkInspectionInfo(List<String> records);
}
......@@ -31,4 +31,6 @@ public interface IIdxBizJgRegisterInfoService {
Map<String, Object> getDetailFieldCamelCaseByRecord(String record);
List<DictionarieValueModel> equCategoryListByCompanyType(ReginParams selectedOrgInfo, String equList);
Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject);
}
......@@ -707,6 +707,8 @@ public class CommonServiceImpl implements ICommonService {
if (CollectionUtils.isEmpty(map)) {
throw new IllegalArgumentException("参数不能为空");
}
String wordPath = "equipment-registration-certificate-report.ftl";
wordPath = "unit".equals(map.get("manageType")) ? "unit-registration-certificate-report.ftl" : wordPath;
// 组装模板变量
map.put("useRegistrationCode", Optional.ofNullable(map.get("useRegistrationCode")).orElse("").toString()); // 编号
map.put("useUnitName", Optional.ofNullable(map.get("useUnitName")).orElse("").toString()); // 使用单位名称
......@@ -731,7 +733,7 @@ public class CommonServiceImpl implements ICommonService {
// word转pdf
File pdfFile;
try {
pdfFile = this.wordToPdf("特种设备使用登记证_", "equipment-registration-certificate-report.ftl", map);
pdfFile = this.wordToPdf("特种设备使用登记证_", wordPath, map);
} catch (Exception e) {
throw new RuntimeException(e);
}
......@@ -816,7 +818,7 @@ public class CommonServiceImpl implements ICommonService {
// 设置文本域的字体为中文字体
acroFields.setFieldProperty(param.getKey(), "textfont", font, null);
// 设置字体大小
acroFields.setFieldProperty(param.getKey(), "textsize", 9.0f, null);
acroFields.setFieldProperty(param.getKey(), "textsize", 12.0f, null);
// 将 map 中的值写到 pdf 模板对应的文本域中
acroFields.setField(param.getKey(), param.getValue() + "");
}
......
......@@ -37,4 +37,11 @@ public class IdxBizJgInspectionDetectionInfoServiceImpl extends BaseService<IdxB
return result;
}
@Override
public List<IdxBizJgInspectionDetectionInfo> checkInspectionInfo(List<String> records) {
IdxBizJgInspectionDetectionInfo result = new IdxBizJgInspectionDetectionInfo();
QueryWrapper<IdxBizJgInspectionDetectionInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().in(IdxBizJgInspectionDetectionInfo::getRecord, records).orderByDesc(IdxBizJgInspectionDetectionInfo::getInspectDate);
return list(queryWrapper);
}
}
\ No newline at end of file
......@@ -49,7 +49,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.StringUtil;
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;
......@@ -281,6 +280,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
return useTime <= 0;
}
private String getTipMsgString(String record) {
IdxBizJgRegisterInfo registerInfo = this.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", record));
return String.format("存在被引用的设备,设备代码:%s", registerInfo.getEquCode());
......@@ -769,6 +769,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
objMap.put("completedBusinessTypes",judgeTheBusinessAccordingByRecord(record,objMap));
// 账号类型(用于车用气瓶流程页面-》监管审核-》打开设备详情 时隐藏保存按钮)
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
objMap.put("accountType",reginParams.getCompany().getCompanyType());
return objMap;
}
......@@ -1710,4 +1713,18 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
}
return result;
}
@Override
public Page<JSONObject> queryForUnitEquipmentPage(JSONObject jsonObject) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String useUnitCreditCode = reginParams.getCompany().getCompanyCode();
jsonObject.put("useUnitCreditCode", useUnitCreditCode);
Page<JSONObject> page = new Page<>();
if ("8300".equals(jsonObject.get("EQU_CATEGORY_CODE"))) {
return jgUseRegistrationMapper.queryForUnitPipelineEquipmentPage(page, jsonObject);
} else if ("2300".equals(jsonObject.get("EQU_CATEGORY_CODE"))) {
return jgUseRegistrationMapper.queryForUnitVesselEquipmentPage(page, jsonObject);
}
return page;
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.biz.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.map.MapBuilder;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -8,7 +9,9 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Sequence;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -35,7 +38,6 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.EquCodeTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.boot.module.ymt.api.service.InspectionDetectionInfoService;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
......@@ -47,21 +49,24 @@ import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.Bean;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
* 服务实现类
......@@ -98,7 +103,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
"inspectReport", "designStandard", "designDoc", "longitudeLatitude", "otherAccessoriesDes", "otherAccessoriesFact",
"otherAccessoriesReg", "installProxyStatementAttachment", "installContractAttachment", "insOtherAccessories",
"maintenanceContract", "maintOtherAccessories", "installProxyStatementAttachment", "installContractAttachment",
"insOtherAccessories", "maintenanceContract","factSupervisionInspectionReport","boilerEnergyEfficiencyCertificate"};
"insOtherAccessories", "maintenanceContract", "factSupervisionInspectionReport", "boilerEnergyEfficiencyCertificate"};
@Autowired
CodeUtil codeUtil;
@Autowired
private IdxBizJgUseInfoMapper useInfoMapper;
@Autowired
......@@ -107,10 +114,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private IdxBizJgOtherInfoMapper otherInfoMapper;
@Autowired
private JgUseRegistrationEqMapper jgRelationEquipMapper;
@Autowired
private ProduceInfoMapper produceInfoMapper;
@Autowired
private IdxBizJgRegisterInfoServiceImpl idxBizJgRegisterInfoService;
@Autowired
......@@ -121,12 +126,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
private IdxBizJgMaintenanceRecordInfoServiceImpl idxBizJgMaintenanceRecordInfoService;
@Autowired
private RedissonClient redissonClient;
@Autowired
CodeUtil codeUtil;
@Autowired
private Sequence sequence;
@Autowired
private JgUseRegistrationEqServiceImpl jgUseRegistrationEqService;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
@Autowired
private JgUseRegistrationMapper jgUseRegistrationMapper;
/**
* @param auditPassDate 通过时间
......@@ -216,12 +223,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
// 更新检验检测信息
this.updateOrCreateInspectionDetection(map);
// 更新注册登记信息表
LambdaQueryWrapper<JgUseRegistrationEq> jgUseRegEqWrapper = new QueryWrapper<JgUseRegistrationEq>().lambda();
jgUseRegEqWrapper.eq(JgUseRegistrationEq::getEquipTransferId, currentDocumentId);
jgUseRegEqWrapper.eq(JgUseRegistrationEq::getIsDelete, false);
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(jgUseRegEqWrapper);
LambdaUpdateWrapper<IdxBizJgRegisterInfo> IdxBizJgRegLambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
IdxBizJgRegLambda.eq(IdxBizJgRegisterInfo::getRecord, jgUseRegistrationEq.getEquId()).set(IdxBizJgRegisterInfo::getRegisterState, this.getRegCode());
IdxBizJgRegLambda.eq(IdxBizJgRegisterInfo::getRecord, map.get("equipId")).set(IdxBizJgRegisterInfo::getRegisterState, this.getRegCode());
idxBizJgRegisterInfoService.update(IdxBizJgRegLambda);
// 更新设备监管部门
IdxBizJgSupervisionInfo idxBizJgSupervisionInfo = new IdxBizJgSupervisionInfo();
......@@ -245,14 +248,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
InspectionDetectionInfo inspectionDetectionInfo = new InspectionDetectionInfo();
BeanUtil.copyProperties(map, inspectionDetectionInfo);
if(map.get("jySeq") != null){
if (map.get("jySeq") != null) {
// 更新逻辑
InspectionDetectionInfo inspectionDetectionInfoDb = inspectionDetectionInfoMapper.selectById(map.get("jySeq").toString());
Bean.copyExistPropertis(inspectionDetectionInfo, inspectionDetectionInfoDb);
inspectionDetectionInfoMapper.updateById(inspectionDetectionInfo);
} else {
// 插入逻辑
if(inspectionDetectionInfo.getInspectType() != null && inspectionDetectionInfo.getInspectConclusion() != null){
if (inspectionDetectionInfo.getInspectType() != null && inspectionDetectionInfo.getInspectConclusion() != null) {
inspectionDetectionInfo.setRecord(map.get("equipId").toString());
inspectionDetectionInfo.setRecDate(new Date());
inspectionDetectionInfo.setSequenceNbr(sequence.nextId() + "");
......@@ -325,8 +328,27 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
/**
* 按单位办理或按台套办理
*
* @param map map
* @return list
*/
@Transactional
public List<Map<String, Object>> save(JSONObject map) {
Map<String, Function<JSONObject, List<Map<String, Object>>>> functionMap = MapBuilder.<String, Function<JSONObject, List<Map<String, Object>>>>create()
.put("unit", this::handleUnitUseRegistration).build();
Function<JSONObject, List<Map<String, Object>>> function = functionMap.getOrDefault(map.getString("manageType"), this::handleUseRegistration);
return function.apply(map);
}
/**
* 按台套办理
*
* @param map map
* @return list
*/
private List<Map<String, Object>> handleUseRegistration(JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
// 使用登记信息
JgUseRegistration jgUseRegistration = new JgUseRegistration();
......@@ -380,7 +402,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(map.get("city")) && !ObjectUtils.isEmpty(city)) {
city.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(map.get("city")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + String.valueOf(item.get("regionName")));
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
......@@ -388,8 +410,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(map.get("county")) && !ObjectUtils.isEmpty(city)) {
region.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(map.get("county")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + String.valueOf(item.get("regionName")));
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
......@@ -397,8 +418,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(map.get("factoryUseSiteStreet")) && !ObjectUtils.isEmpty(city)) {
street.forEach(item -> {
if (String.valueOf(item.get("regionCode")).equals(String.valueOf(map.get("factoryUseSiteStreet")))) {
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + String.valueOf(item.get("regionName")));
jgUseRegistration.setUseAddress(jgUseRegistration.getUseAddress() + item.get("regionName"));
}
});
}
......@@ -463,7 +483,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
if (!ObjectUtils.isEmpty(instanceId)) {
// 执行流程
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "", "", String.valueOf(map.get("nextTaskId")));
flowExecute(jgUseRegistration.getSequenceNbr(), instanceId, "0", "", "", map.getString("manageType"), String.valueOf(map.get("nextTaskId")));
}
} else {
ArrayList<TaskModelDto> list = new ArrayList<>();
......@@ -488,6 +508,253 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return this.baseMapper.getDetailById(jgUseRegistration.getSequenceNbr());
}
/**
* 按单位办理
*
* @param map map
* @return list
*/
private List<Map<String, Object>> handleUnitUseRegistration(JSONObject map) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
CompanyBo company = reginParams.getCompany();
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) map.get("equipmentLists");
if (CollectionUtils.isEmpty(equipmentLists)) {
throw new BadRequest("请先选择设备信息!");
}
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = idxBizJgInspectionDetectionInfoService.checkInspectionInfo(
equipmentLists.stream()
.map(v -> (String) v.get("record"))
.collect(Collectors.toList())
);
if (inspectionDetectionInfoList.stream().anyMatch(info ->
ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) ||
ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()) ||
ObjectUtils.isEmpty(info.getInspectOrgName()))) {
throw new BadRequest("请补充设备检验检测信息后提交!");
}
JgUseRegistration useRegistration = JSON.parseObject(JSON.toJSONString(map), JgUseRegistration.class);
useRegistration.setRegDate(new Date());
useRegistration.setManageType(map.getString("manageType"));
useRegistration.setPromoter(reginParams.getUserModel().getUserId());
useRegistration.setCreateUserId(reginParams.getUserModel().getUserId());
// 使用单位信息
useRegistration.setUseUnitName(company.getCompanyName());
useRegistration.setUseUnitCreditCode(company.getCompanyCode());
List<LinkedHashMap> tree = commonService.getCreatTree();
// 接收单位信息
Optional.ofNullable(useRegistration.getReceiveOrgCode())
.filter(code -> code.contains("_"))
.map(code -> code.split("_"))
.ifPresent(splitReceiveOrgCode -> {
String orgCode = this.recursiveMatching(tree, splitReceiveOrgCode[0]);
useRegistration.setReceiveOrgCode(orgCode);
useRegistration.setReceiveCompanyCode(splitReceiveOrgCode[0]);
useRegistration.setReceiveOrgName(splitReceiveOrgCode[1]);
});
// 安全管理员
Optional.ofNullable(map.getString("safetyManager"))
.filter(manager -> manager.contains("_"))
.map(manager -> manager.split("_"))
.ifPresent(data -> {
map.put("safetyManagerId", data[0]);
map.put("safetyManagerName", data[1]);
});
//其他附件
if (!ObjectUtils.isEmpty(map.get("otherAccessories"))) {
useRegistration.setOtherAccessories(JSONObject.toJSONString(map.get("otherAccessories")));
}
// 使用地点
Map<String, List<LinkedHashMap>> locationMap = MapBuilder.<String, List<LinkedHashMap>>create()
.put("city", (List<LinkedHashMap>) redisUtils.get("CITY"))
.put("county", (List<LinkedHashMap>) redisUtils.get("REGION"))
.put("factoryUseSiteStreet", (List<LinkedHashMap>) redisUtils.get("STREET"))
.build();
String fullAddress = locationMap.entrySet().stream()
.map(entry -> {
String mapKey = String.valueOf(map.get(entry.getKey()));
List<LinkedHashMap> locations = entry.getValue();
return (!ObjectUtils.isEmpty(mapKey) && !ObjectUtils.isEmpty(locations)) ?
locations.stream()
.filter(item -> mapKey.equals(String.valueOf(item.get("regionCode"))))
.map(item -> String.valueOf(item.get("regionName")))
.findFirst()
.orElse("") :
"";
})
.collect(Collectors.joining());
// 具体地址
useRegistration.setUseAddress("陕西省" + fullAddress + map.get("address"));
// 新增或编辑保存
if (StringUtils.isEmpty(useRegistration.getSequenceNbr())) {
ResponseModel<List<String>> listResponseModel = tzsServiceFeignClient.applicationFormCode(ApplicationFormTypeEnum.getCode.get(String.valueOf(map.get("businessCode"))), 1);
if (!ObjectUtils.isEmpty(listResponseModel) && listResponseModel.getStatus() != HttpStatus.OK.value()) {
log.error("使用登记申请单单号获取失败!");
throw new BadRequest("使用登记申请单单号获取失败!");
}
useRegistration.setApplyNo(listResponseModel.getResult().get(0));
useRegistration.setAuditStatus("待提交");
useRegistration.setStatus(WorkFlowStatusEnum.USE_SUBMIT.getPass());
this.save(useRegistration);
} else {
this.updateById(useRegistration);
// 删除设备关联表记录
jgRelationEquipMapper.delete(new QueryWrapper<JgUseRegistrationEq>().lambda().eq(JgUseRegistrationEq::getEquipTransferId, useRegistration.getSequenceNbr()));
}
// 更新关联气瓶信息
List<JgUseRegistrationEq> equipList = equipmentLists.stream()
.map(x -> new JgUseRegistrationEq()
.setEquId(String.valueOf(x.get("record")))
.setEquipTransferId(String.valueOf(useRegistration.getSequenceNbr())))
.collect(Collectors.toList());
// 保存关联设备信息
jgUseRegistrationEqService.saveBatch(equipList);
//启动流程
if (!ObjectUtils.isEmpty(map.get("submit"))) {
// 删除暂存代办
commonServiceImpl.deleteTaskModel(String.valueOf(useRegistration.getSequenceNbr()));
// 新增提交,没有instanceId需要发起流程
if (StringUtils.isEmpty(useRegistration.getInstanceId())) {
ActWorkflowStartDTO dto = new ActWorkflowStartDTO();
dto.setProcessDefinitionKey(DEFINITION_KEY);
dto.setBusinessKey(useRegistration.getApplyNo());
dto.setCompleteFirstTask(true);
dto.setNextExecuteUserCompanyCode(useRegistration.getReceiveCompanyCode());
ActWorkflowBatchDTO actWorkflowBatchDTO = new ActWorkflowBatchDTO();
actWorkflowBatchDTO.setProcess(Collections.singletonList(dto));
List<ProcessTaskDTO> processTaskDTOS = cmWorkflowService.startBatch(actWorkflowBatchDTO);
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
resultDto.stream()
.findFirst()
.ifPresent(workflowResultDto ->
this.updateUseRegUnitData(useRegistration.getSequenceNbr(), "0", workflowResultDto, true));
} else {
// 执行流程
flowExecute(useRegistration.getSequenceNbr(), useRegistration.getInstanceId(), "0", "", "", map.getString("manageType"), String.valueOf(map.get("nextTaskId")));
}
} else {
String equType = this.baseMapper.getEquType(String.valueOf(map.get("EQU_LIST_CODE")));
TaskModelDto dto = TaskModelDto.builder()
.model(BeanUtil.copyProperties(useRegistration, TaskMessageDto.class))
.taskContent("来自" + equType + "【" + (ObjectUtils.isEmpty(useRegistration.getSupervisoryCode()) ? "无" : useRegistration.getSupervisoryCode()) + "】等的业务办理,"
+ "【申请单号:" + useRegistration.getApplyNo() + "】")
.taskCode(useRegistration.getApplyNo())
.taskType(String.valueOf(BusinessTypeEnum.JG_USAGE_REGISTRATION.getCode()))
.relationId(String.valueOf(useRegistration.getSequenceNbr()))
.nextExecuteUser("")
.build();
commonServiceImpl.buildTaskModel(Collections.singletonList(dto));
}
// 设备数据存历史数据,在流程完成时使用
updateHistory(map, null, String.valueOf(useRegistration.getSequenceNbr()), useRegistration.getSupervisoryCode());
return this.baseMapper.getDetailById(useRegistration.getSequenceNbr());
}
/**
* 单位批量办理数据处理
*
* @param sequenceNbr 主键
* @param operate 操作类型
* @param workflowResultDto 工作流返回
* @param isFirst 是否first
*/
private void updateUseRegUnitData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())) + "", ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds();
String taskCode = FlowStatusEnum.TO_BE_FINISHED.getName();
if (!ObjectUtils.isEmpty(workflowResultDto.getNextTaskCode())) {
taskCode = workflowResultDto.getNextTaskCode();
}
JgUseRegistration jgUseRegistration = this.getBaseMapper().selectById(sequenceNbr);
jgUseRegistration.setNextTaskId(workflowResultDto.getNextTaskId());
jgUseRegistration.setNextExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
if (isFirst) {
jgUseRegistration.setInstanceStatus(workflowResultDto.getExecutorRoleIds());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
}
//非完成,进行审核
if (!FlowStatusEnum.TO_BE_FINISHED.getName().equals(taskCode)) {
jgUseRegistration.setNextExecuteIds(role);
jgUseRegistration.setInstanceStatus(
Optional.ofNullable(jgUseRegistration.getInstanceStatus())
.map(status -> String.join(",", status, role))
.orElse(role)
);
//通过或者驳回
jgUseRegistration.setStatus("0".equals(operate) ?
Objects.requireNonNull(WorkFlowStatusEnum.getMessage(taskCode)).getPass() :
Objects.requireNonNull(WorkFlowStatusEnum.getMessage(taskCode)).getReject());
jgUseRegistration.setPromoter("0".equals(operate) ? reginParams.getUserModel().getUserId(): "");
if (isFirst) {
this.buildTask(jgUseRegistration, workflowResultDto);
} else {
// 更新代办状态
HashMap<String, Object> params = new HashMap<>();
params.put("relationId", jgUseRegistration.getInstanceId());
params.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus()));
params.put("flowStatusLabel", jgUseRegistration.getStatus());
params.put("taskStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus()));
params.put("taskStatusLabel", jgUseRegistration.getStatus());
TaskV2Model taskV2Model = commonServiceImpl.updateTaskModel(params);
// 创建新的代办
if (!ObjectUtils.isEmpty(taskV2Model)) {
TaskModelDto taskModelDto = new TaskModelDto();
BeanUtils.copyProperties(taskV2Model, taskModelDto);
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
//taskMessageDto.setEquipId(jgUseRegistrationEq.getEquId());
taskModelDto.setModel(taskMessageDto);
taskModelDto.setTaskName(workflowResultDto.getNextTaskName());
taskModelDto.setExecuteUserIds(workflowResultDto.getNextExecutorUserIds());
taskModelDto.setTaskStatusLabel(FlowStatusEnum.TO_BE_PROCESSED.getName());
taskModelDto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
taskModelDto.setFlowCode(workflowResultDto.getNextTaskId());
if (WorkFlowStatusEnum.USE_SUBMIT.getCode().equals(taskCode) && "1".equals(operate)) {
taskModelDto.setPageType("edit");
}
commonServiceImpl.buildTaskModel(Collections.singletonList(taskModelDto));
} else {
workflowResultDto.setInstanceId(jgUseRegistration.getInstanceId());
buildTask(jgUseRegistration, workflowResultDto);
}
}
} else {
// 流程结束
jgUseRegistration.setStatus(taskCode);
jgUseRegistration.setNextExecuteUserIds("");
//查询历史暂存表
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getOne(Wrappers.<JgRegistrationHistory>lambdaQuery()
.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr)));
JSONObject mapData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) mapData.get("equipmentLists");
if (!CollectionUtils.isEmpty(equipmentLists)) {
for (int i = 0; i < equipmentLists.size(); i++) {
Map<String, Object> equipment = equipmentLists.get(i);
mapData.put("equipId", equipment.get("record"));
mapData.put("isFirstEquip", i == 0);
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory);
}
}
}
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
this.getBaseMapper().updateById(jgUseRegistration);
}
public JgUseRegistration updateData(Long sequenceNbr, String operate, WorkflowResultDto workflowResultDto, Boolean isFirst, String carNumber) {
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String role = workflowResultDto.getNextExecutorRoleIds();
......@@ -561,9 +828,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
workflowResultDto.setInstanceId(jgUseRegistration.getInstanceId());
buildTask(jgUseRegistration, workflowResultDto);
}
}
} else {
// 流程结束
jgUseRegistration.setStatus(taskCode);
......@@ -573,6 +838,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
lambdaSelect.eq(JgRegistrationHistory::getCurrentDocumentId, String.valueOf(sequenceNbr));
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambdaSelect);
JSONObject mapData = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
processMapData(sequenceNbr, mapData, jgUseRegistration, jgRegistrationHistory);
}
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
this.getBaseMapper().updateById(jgUseRegistration);
return jgUseRegistration;
}
private void processMapData(Long sequenceNbr, JSONObject mapData, JgUseRegistration jgUseRegistration, JgRegistrationHistory jgRegistrationHistory) {
// 其他信息
LambdaQueryWrapper<IdxBizJgOtherInfo> lambdaOth = new QueryWrapper<IdxBizJgOtherInfo>().lambda();
lambdaOth.eq(IdxBizJgOtherInfo::getRecord, String.valueOf(mapData.get("equipId")));
......@@ -585,7 +858,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
updateEquipMessage(String.valueOf(sequenceNbr), jgUseRegistration, mapData, registerInfo, otherInfo);
// 生成使用登记证编号
if (!ObjectUtils.isEmpty(jgUseRegistration.getSupervisoryCode())) {
String code = commonServiceImpl.generateRegistrationCode(jgUseRegistrationEq.getEquId(), jgUseRegistration.getSupervisoryCode(), jgUseRegistration.getReceiveCompanyCode());
if ("unit".equals(jgUseRegistration.getManageType())){
if ((Boolean) mapData.get("isFirstEquip")) {
String code = commonServiceImpl.generateRegistrationCode(String.valueOf(mapData.get("equipId")), jgUseRegistration.getSupervisoryCode(), jgUseRegistration.getReceiveCompanyCode());
jgUseRegistration.setUseRegistrationCode(code);
jgUseRegistration.setAuditPassDate(new Date());
registerInfo.setUseOrgCode(code);
LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord());
lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, code);
// 新增页面选择无设备代码后,在审批通过后自动生成设备代码
this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory);
idxBizJgRegisterInfoService.update(lambda);
}else{
registerInfo.setUseOrgCode(jgUseRegistration.getUseRegistrationCode());
LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
lambda.eq(IdxBizJgRegisterInfo::getRecord, registerInfo.getRecord());
lambda.set(true, IdxBizJgRegisterInfo::getUseOrgCode, jgUseRegistration.getUseRegistrationCode());
// 新增页面选择无设备代码后,在审批通过后自动生成设备代码
this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory);
idxBizJgRegisterInfoService.update(lambda);
}
}else{
String code = commonServiceImpl.generateRegistrationCode(String.valueOf(mapData.get("equipId")), jgUseRegistration.getSupervisoryCode(), jgUseRegistration.getReceiveCompanyCode());
jgUseRegistration.setUseRegistrationCode(code);
jgUseRegistration.setAuditPassDate(new Date());
registerInfo.setUseOrgCode(code);
......@@ -596,6 +891,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
this.justGenerateEquCode(lambda, registerInfo, jgUseRegistration.getReceiveCompanyCode(), mapData, jgRegistrationHistory);
idxBizJgRegisterInfoService.update(lambda);
}
}
// 使用信息
LambdaQueryWrapper<IdxBizJgUseInfo> lambda = new QueryWrapper<IdxBizJgUseInfo>().lambda();
lambda.eq(IdxBizJgUseInfo::getRecord, String.valueOf(mapData.get("equipId")));
......@@ -612,17 +908,14 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
params.put("taskStatusLabel", FlowStatusEnum.TO_BE_FINISHED.getName());
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
taskMessageDto.setEquipId(jgUseRegistrationEq.getEquId());
taskMessageDto.setEquipId(String.valueOf(mapData.get("equipId")));
params.put("model", taskMessageDto);
commonServiceImpl.updateTaskModel(params);
}
commonServiceImpl.saveExecuteFlowData2Redis(jgUseRegistration.getInstanceId(), this.buildInstanceRuntimeData(jgUseRegistration));
this.getBaseMapper().updateById(jgUseRegistration);
return jgUseRegistration;
}
/**
* 系统类型的code 自动生成设备代码
*
* @param lambda lambda
* @param registerInfo 注册信息
* @param receiveCompanyCode 接收机构行政区划代码
......@@ -630,9 +923,9 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
* @param jgRegistrationHistory 历史数据行数据
*/
public void justGenerateEquCode(LambdaUpdateWrapper<IdxBizJgRegisterInfo> lambda, IdxBizJgRegisterInfo registerInfo, String receiveCompanyCode, JSONObject mapData, JgRegistrationHistory jgRegistrationHistory) {
if(EquCodeTypeEnum.SYSTEM_GENERATED.getCode().equals(registerInfo.getEquCodeType())){
if (EquCodeTypeEnum.SYSTEM_GENERATED.getCode().equals(registerInfo.getEquCodeType())) {
// 更新注册信息表的设备代码字段
String equCode = this.getEquCode(registerInfo,receiveCompanyCode);
String equCode = this.getEquCode(registerInfo, receiveCompanyCode);
registerInfo.setEquCode(equCode);
mapData.put("equCode", equCode);
lambda.set(true, IdxBizJgRegisterInfo::getEquCode, equCode);
......@@ -642,8 +935,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
private String getEquCode(IdxBizJgRegisterInfo registerInfo, String receiveCompanyCode){
ProduceInfo produceInfo = produceInfoMapper.selectOne(new LambdaQueryWrapper<ProduceInfo>().eq(AbstractEquipBaseEntity::getRecord,registerInfo.getRecord()));
private String getEquCode(IdxBizJgRegisterInfo registerInfo, String receiveCompanyCode) {
ProduceInfo produceInfo = produceInfoMapper.selectOne(new LambdaQueryWrapper<ProduceInfo>().eq(AbstractEquipBaseEntity::getRecord, registerInfo.getRecord()));
CodeGenerateDto codeGenerateDto = new CodeGenerateDto();
codeGenerateDto.setEquList(registerInfo.getEquList());
codeGenerateDto.setEquCategory(registerInfo.getEquCategory());
......@@ -705,22 +998,27 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
dto.setStartDate(new Date());
jgUseRegistration.setInstanceId(workflowResultDto.getInstanceId());
// 设备信息
LambdaQueryWrapper<JgUseRegistrationEq> lambda1 = new QueryWrapper<JgUseRegistrationEq>().lambda();
lambda1.eq(JgUseRegistrationEq::getEquipTransferId, String.valueOf(jgUseRegistration.getSequenceNbr()));
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(lambda1);
jgUseRegistration.setNextExecuteIds(workflowResultDto.getNextExecutorRoleIds());
TaskMessageDto taskMessageDto = new TaskMessageDto();
BeanUtil.copyProperties(jgUseRegistration, taskMessageDto);
taskMessageDto.setEquipId(jgUseRegistrationEq.getEquId());
LambdaQueryWrapper<JgUseRegistrationEq> jgUseRegEqWrapper = new QueryWrapper<JgUseRegistrationEq>().lambda();
jgUseRegEqWrapper.eq(JgUseRegistrationEq::getEquipTransferId, String.valueOf(jgUseRegistration.getSequenceNbr()));
List<JgUseRegistrationEq> jgUseRegistrationEqList = jgRelationEquipMapper.selectList(jgUseRegEqWrapper);
if (!jgUseRegistrationEqList.isEmpty()){
String equId = jgUseRegistrationEqList.get(0).getEquId();
taskMessageDto.setEquipId(equId);
dto.setTaskContent("来自" + this.getBaseMapper().getEquType(equId) + "【" + (ObjectUtils.isEmpty(jgUseRegistration.getSupervisoryCode()) ? "无" : jgUseRegistration.getSupervisoryCode()) + "】的业务办理," + "【申请单号:" + jgUseRegistration.getApplyNo() + "】");
}
dto.setModel(taskMessageDto);
dto.setNextExecuteUser(workflowResultDto.getNextExecutorRoleIds());
dto.setTaskContent("来自" + this.getBaseMapper().getEquType(jgUseRegistrationEq.getEquId()) + "【" + (ObjectUtils.isEmpty(jgUseRegistration.getSupervisoryCode()) ? "无" : jgUseRegistration.getSupervisoryCode()) + "】的业务办理," + "【申请单号:" + jgUseRegistration.getApplyNo() + "】");
dto.setFlowCode(jgUseRegistration.getNextTaskId());
list.add(dto);
commonServiceImpl.buildTaskModel(list);
}
public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String nextTaskId) {
public void flowExecute(Long id, String instanceId, String operate, String comment, String carNumber, String manageType, String nextTaskId) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
......@@ -757,7 +1055,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
List<WorkflowResultDto> resultDto = commonServiceImpl.buildWorkFlowInfo(processTaskDTOS);
if (!ObjectUtils.isEmpty(resultDto) && !ObjectUtils.isEmpty(resultDto.get(0))) {
WorkflowResultDto workflowResultDto = resultDto.get(0);
updateData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, Boolean.FALSE, carNumber);
//按单位办理
if ("unit".equals(manageType)) {
this.updateUseRegUnitData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false);
} else {
this.updateData(jgUseRegistration.getSequenceNbr(), operate, workflowResultDto, false, carNumber);
}
}
} catch (InterruptedException e) {
e.printStackTrace();
......@@ -768,7 +1071,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
}
public void withdraw(String instanceId, String nextTaskId) {
public void withdraw(String instanceId, String nextTaskId, String manageType) {
String lockKey = CommonServiceImpl.buildJgExecuteLockKey(instanceId);
RLock lock = redissonClient.getLock(lockKey);
try {
......@@ -806,16 +1109,19 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
queryWrapper.eq(JgUseRegistration::getInstanceId, instanceId);
JgUseRegistration data = this.baseMapper.selectOne(queryWrapper);
// 设备信息
LambdaQueryWrapper<JgUseRegistrationEq> lambda1 = new QueryWrapper<JgUseRegistrationEq>().lambda();
lambda1.eq(JgUseRegistrationEq::getEquipTransferId, String.valueOf(data.getSequenceNbr()));
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(lambda1);
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(data));
jsonObject.put("nextTaskId", data.getNextTaskId());
jsonObject.put("nextExecuteUser", data.getNextExecuteIds());
jsonObject.put("taskType", BusinessTypeEnum.JG_USAGE_REGISTRATION.getCode());
jsonObject.put("equipId", jgUseRegistrationEq.getEquId());
jsonObject.put("flowStatus", commonServiceImpl.getDictionaryCodeByName(jgUseRegistration.getStatus()));
jsonObject.put("flowStatusLabel", jgUseRegistration.getStatus());
//非单位办理
if (!"unit".equals(manageType)) {
LambdaQueryWrapper<JgUseRegistrationEq> lambda1 = new QueryWrapper<JgUseRegistrationEq>().lambda();
lambda1.eq(JgUseRegistrationEq::getEquipTransferId, String.valueOf(data.getSequenceNbr()));
JgUseRegistrationEq jgUseRegistrationEq = jgRelationEquipMapper.selectOne(lambda1);
jsonObject.put("equipId", jgUseRegistrationEq.getEquId());
}
if (!WorkFlowStatusEnum.USE_SUBMIT.getCode().equals(taskCode)) {
jsonObject.put("pageType", "look");
}
......@@ -849,18 +1155,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, sequenceNbr);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
JSONObject jsonObject = JSONObject.parseObject(jgRegistrationHistory.getChangeData());
// 需求:当申请信息由于设备信息错误被驳回及撤回时显示的数据还是旧设备数据,导致该申请单无法使用
// 解决方案:设备基本信息、制造信息、设计信息、安装信息、维保信息,已完成时显示历史数据、非完成时显示最新设备数据
this.fillHistoryDataWithNewEquip(jsonObject, jgUseRegistration, record);
jsonObject.put("receiveOrgCode", jgUseRegistration.getReceiveCompanyCode() + "_" + jgUseRegistration.getReceiveOrgName());
jsonObject.put("status", jgUseRegistration.getStatus());
jsonObject.put("applyNo", jgUseRegistration.getApplyNo());
jsonObject.remove("submit");
jsonObject.remove("instanceId");
if (!"unit".equals(jgUseRegistration.getManageType())){
// 需求:当申请信息由于设备信息错误被驳回及撤回时显示的数据还是旧设备数据,导致该申请单无法使用
// 解决方案:设备基本信息、制造信息、设计信息、安装信息、维保信息,已完成时显示历史数据、非完成时显示最新设备数据
this.fillHistoryDataWithNewEquip(jsonObject, jgUseRegistration, record);
// 补充"车牌号"字段
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new QueryWrapper<IdxBizJgRegisterInfo>().lambda().eq(IdxBizJgRegisterInfo::getRecord, record);
IdxBizJgRegisterInfo idxBizJgRegisterInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
jsonObject.put("carNumber", idxBizJgRegisterInfo.getCarNumber());
} else {
List<Map<String, Object>> equipmentLists = (List<Map<String, Object>>) jsonObject.get("equipmentLists");
List<String> records = equipmentLists.stream().map(v -> (String) v.get("record")).collect(Collectors.toList());
jsonObject.remove("equipmentLists");
if ("2300".equals(jsonObject.get("EQU_CATEGORY_CODE"))){
jsonObject.put("equipmentLists",jgUseRegistrationMapper.queryForUnitVesselEquipment(records));
}else {
jsonObject.put("equipmentLists",jgUseRegistrationMapper.queryForUnitPipelineEquipment(records));
}
}
// 转化 附件 字段
commonServiceImpl.convertStringToJsonobject(jsonObject, jsonFields);
return jsonObject;
......@@ -899,40 +1216,40 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
return detail;
}
private Map<String, Object> getInspectDetail(String record){
private Map<String, Object> getInspectDetail(String record) {
LambdaQueryWrapper<IdxBizJgRegisterInfo> wrapper = new QueryWrapper<IdxBizJgRegisterInfo>().lambda().eq(IdxBizJgRegisterInfo::getRecord, record);
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoMapper.selectOne(wrapper);
List<String> permissionInspectTypes = getInspectInfoByEquDefine(registerInfo.getEquList(), registerInfo.getEquCategory(), registerInfo.getEquDefine());
if(permissionInspectTypes.size() >0){
if (permissionInspectTypes.size() > 0) {
return this.baseMapper.getInspectDetail(record, permissionInspectTypes);
} else {
return null;
}
}
private List<String> getInspectInfoByEquDefine(String equList, String equCategory, String equDefine){
private List<String> getInspectInfoByEquDefine(String equList, String equCategory, String equDefine) {
List<String> permissionInspectTypes = new ArrayList<>();
// 使用登记时:需要《首次检验》类型检验信息的设备种类、设备类别、设备品种
String[] FIRST_INSPECT_EQULIST = {"5000"};
String[] FIRST_INSPECT_EQUCATEGORY = {"4400", "4900","4A00"};
String[] FIRST_INSPECT_EQUCATEGORY = {"4400", "4900", "4A00"};
String[] FIRST_INSPECT_EQUDEFINE = {"4170"};
// 使用登记时:需要《安装监督验》类型检验信息的设备种类、设备类别、设备品种
String[] AZJDJY_INSPECT_EQULIST = {"3000", "6000","9000","8000","1000"};
String[] AZJDJY_INSPECT_EQUCATEGORY = {"4800","4300","4700","4D00","2100","2400"};
String[] AZJDJY_INSPECT_EQUDEFINE = {"4110","4130","4140","4150","4190","4220","4210","4260","4270","4290"};
String[] AZJDJY_INSPECT_EQULIST = {"3000", "6000", "9000", "8000", "1000"};
String[] AZJDJY_INSPECT_EQUCATEGORY = {"4800", "4300", "4700", "4D00", "2100", "2400"};
String[] AZJDJY_INSPECT_EQUDEFINE = {"4110", "4130", "4140", "4150", "4190", "4220", "4210", "4260", "4270", "4290"};
// 使用登记时:需要《首次检验》或者《安装监督验检验》信息的设备种类、设备类别、设备品种
String[] SCJY_OR_AZJDJY_EQULIST = {};
String[] SCJY_OR_AZJDJY_EQUCATEGORY = {};
String[] SCJY_OR_AZJDJY_INSPECT_EQUDEFINE = {"4230","4240","4250","4280"};
if(Arrays.asList(FIRST_INSPECT_EQULIST).contains(equList) || Arrays.asList(FIRST_INSPECT_EQUCATEGORY).contains(equCategory) || Arrays.asList(FIRST_INSPECT_EQUDEFINE).contains(equDefine)){
String[] SCJY_OR_AZJDJY_INSPECT_EQUDEFINE = {"4230", "4240", "4250", "4280"};
if (Arrays.asList(FIRST_INSPECT_EQULIST).contains(equList) || Arrays.asList(FIRST_INSPECT_EQUCATEGORY).contains(equCategory) || Arrays.asList(FIRST_INSPECT_EQUDEFINE).contains(equDefine)) {
permissionInspectTypes.add("SCJY");
return permissionInspectTypes;
}
if(Arrays.asList(AZJDJY_INSPECT_EQULIST).contains(equList) || Arrays.asList(AZJDJY_INSPECT_EQUCATEGORY).contains(equCategory) || Arrays.asList(AZJDJY_INSPECT_EQUDEFINE).contains(equDefine)){
if (Arrays.asList(AZJDJY_INSPECT_EQULIST).contains(equList) || Arrays.asList(AZJDJY_INSPECT_EQUCATEGORY).contains(equCategory) || Arrays.asList(AZJDJY_INSPECT_EQUDEFINE).contains(equDefine)) {
permissionInspectTypes.add("AZJDJY");
return permissionInspectTypes;
}
if(Arrays.asList(SCJY_OR_AZJDJY_EQULIST).contains(equList) || Arrays.asList(SCJY_OR_AZJDJY_EQUCATEGORY).contains(equCategory) || Arrays.asList(SCJY_OR_AZJDJY_INSPECT_EQUDEFINE).contains(equDefine)){
if (Arrays.asList(SCJY_OR_AZJDJY_EQULIST).contains(equList) || Arrays.asList(SCJY_OR_AZJDJY_EQUCATEGORY).contains(equCategory) || Arrays.asList(SCJY_OR_AZJDJY_INSPECT_EQUDEFINE).contains(equDefine)) {
permissionInspectTypes.add("SCJY");
permissionInspectTypes.add("AZJDJY");
return permissionInspectTypes;
......@@ -993,11 +1310,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
Map<String, Object> exportParamsMap = new HashMap<>();
// 查询使用登记详情
JgUseRegistration useRegistration = this.getById(sequenceNbr);
exportParamsMap.put("manageType", useRegistration.getManageType());
LambdaQueryWrapper<JgUseRegistrationEq> useEqLambda = new QueryWrapper<JgUseRegistrationEq>().lambda();
useEqLambda.eq(JgUseRegistrationEq::getEquipTransferId, sequenceNbr);
JgUseRegistrationEq useRegistrationEq = jgRelationEquipMapper.selectOne(useEqLambda);
List<JgUseRegistrationEq> useRegistrationEqList = jgRelationEquipMapper.selectList(useEqLambda);
if (ValidationUtil.isEmpty(useRegistration) || ValidationUtil.isEmpty(useRegistrationEq)) {
if (ValidationUtil.isEmpty(useRegistration) || ValidationUtil.isEmpty(useRegistrationEqList)) {
throw new BadRequest("使用登记证导出失败,请稍后重试!");
}
// 登记机关
......@@ -1023,7 +1341,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
getAuditPassedDate(useRegistration.getAuditPassDate(), exportParamsMap);
// 查询设备注册信息
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", useRegistrationEq.getEquId()));
IdxBizJgRegisterInfo registerInfo = idxBizJgRegisterInfoService.getOne(new QueryWrapper<IdxBizJgRegisterInfo>().eq("RECORD", useRegistrationEqList.get(0).getEquId()));
if (!ValidationUtil.isEmpty(registerInfo)) {
// 设备种类、类别、品种
String equList = registerInfo.getEquList();// 设备种类
......@@ -1057,7 +1375,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
exportParamsMap.put("equCode", registerInfo.getEquCode());
}
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(useRegistrationEq.getEquId());
IdxBizJgUseInfo useInfo = idxBizJgUseInfoService.getOneData(useRegistrationEqList.get(0).getEquId());
if (!ValidationUtil.isEmpty(useInfo)) {
if (ValidationUtil.isEmpty(useInfo.getUseInnerCode())) {
throw new BadRequest("使用登记证导出失败,设备单位内部编码为空!");
......@@ -1086,7 +1404,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
}
exportParamsMap.put("fullAddress", fullAddress);
}
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(useRegistrationEq.getEquId());
IdxBizJgFactoryInfo factoryInfo = idxBizJgFactoryInfoService.getOneData(useRegistrationEqList.get(0).getEquId());
// 产品编号(出厂编号)
if (!ValidationUtil.isEmpty(factoryInfo)) {
if (ValidationUtil.isEmpty(factoryInfo.getFactoryNum())) {
......
......@@ -31,6 +31,8 @@ import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquimentEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.*;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
......@@ -110,6 +112,8 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
private IdxBizJgOtherInfoMapper otherInfoMapper;
@Autowired
private JgUseRegistrationServiceImpl jgUseRegistrationService;
@Autowired
private IdxBizJgInspectionDetectionInfoServiceImpl idxBizJgInspectionDetectionInfoService;
/**
* 新增(提交)车用气瓶
......@@ -126,6 +130,19 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
if (CollectionUtils.isEmpty(equipmentLists)) {
throw new BadRequest("请选择设备");
}
List<IdxBizJgInspectionDetectionInfo> inspectionDetectionInfoList = idxBizJgInspectionDetectionInfoService.checkInspectionInfo(
equipmentLists.stream()
.map(v -> (String) v.get("record"))
.collect(Collectors.toList())
);
if (inspectionDetectionInfoList.stream().anyMatch(info ->
ObjectUtils.isEmpty(info) || ObjectUtils.isEmpty(info.getInspectType()) ||
ObjectUtils.isEmpty(info.getInspectConclusion()) || ObjectUtils.isEmpty(info.getInspectOrgCode()) ||
ObjectUtils.isEmpty(info.getInspectOrgName()))) {
throw new BadRequest("请补充设备检验检测信息后提交!");
}
CompanyBo company = reginParams.getCompany();
vehicleInfoDto.setCreateDate(new Date());
vehicleInfoDto.setPromoter(reginParams.getUserModel().getUserId());
......@@ -142,10 +159,10 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
// 使用单位信息
vehicleInfoDto.setUseUnitName(company.getCompanyName());
vehicleInfoDto.setUseUnitCreditCode(company.getCompanyCode());
List<LinkedHashMap> tree = commonService.getCreatTree();
// 接收单位信息
if (!StringUtils.isEmpty(vehicleInfoDto.getReceiveOrgCode())) {
List<LinkedHashMap> tree = commonService.getCreatTree();
String[] splitReceiveOrgCode = vehicleInfoDto.getReceiveOrgCode().split("_");
String orgCode = this.recursiveMatching(tree, splitReceiveOrgCode[0]);
vehicleInfoDto.setReceiveOrgCode(orgCode);
......@@ -612,7 +629,15 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
jgVehicleInformation.setNextExecuteUserIds("");
// 生成使用登记证编号
String code = this.getUseRegistrationCode(jgVehicleInformation.getVehicleApanage());
String receiveCompanyCode = jgVehicleInformation.getReceiveCompanyCode();
CompanyModel receiveCompanyResult = Privilege.companyClient.queryByCompanyCode(receiveCompanyCode).getResult();
//查询到局级
// 如果不是局级公司,则查询其上级公司信息
if (!"prefecture-level".equals(receiveCompanyResult.getLevel())) {
CompanyModel receiveParentResult = Privilege.companyClient.seleteOne(receiveCompanyResult.getParentId()).getResult();
receiveCompanyCode = receiveParentResult.getCompanyCode();
}
String code = generateVehicleUseRegistrationCode(receiveCompanyCode);
jgVehicleInformation.setUseRegistrationCode(code);
jgVehicleInformation.setAuditPassDate(new Date());
......@@ -680,6 +705,7 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
param.put("EQU_STATE", 1);
param.put("ORG_BRANCH_CODE", jgVehicleInformation.getOrgBranchCode());
param.put("ORG_BRANCH_NAME", jgVehicleInformation.getOrgBranchName());
param.put("EQU_CODE", dataMap.get("equCode"));
param.put("USE_ORG_CODE", jgVehicleInformation.getUseRegistrationCode());
objMap.put((String) dataMap.get("record"), param);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
......@@ -852,14 +878,14 @@ public class JgVehicleInformationServiceImpl extends BaseService<JgVehicleInform
}
/**
* @param vehicleApa 车辆属地
* 根据车辆属地生成使用登记证
* @param receiveCompanyCode 车辆属地
* @return String
* @deprecated 根据车辆属地生成使用登记证
*/
public String getUseRegistrationCode(String vehicleApa) {
private String generateVehicleUseRegistrationCode(String receiveCompanyCode) {
StringBuilder useRegistration = new StringBuilder("容3T");
if (!ObjectUtils.isEmpty(vehicleApa)) {
ResponseModel<String> stringResponseModel = tzsServiceFeignClient.useRegistrationCode(useRegistration.append(VehicleApanageEnum.of(vehicleApa)) + "");
if (!ObjectUtils.isEmpty(receiveCompanyCode)) {
ResponseModel<String> stringResponseModel = tzsServiceFeignClient.useRegistrationCode(useRegistration.append(VehicleApanageEnum.of(receiveCompanyCode)) + "");
return stringResponseModel.getResult();
}
return null;
......
......@@ -312,6 +312,9 @@ public class TzBaseEnterpriseInfoDto extends BaseDto {
// 事业单位信息
private TzsBaseInstitution regUnitMessage;
// 工商和许可信息是否可编辑
// 工商信息是否可编辑
private String canEdit;
// 许可信息是否可编辑
private String licenseCanEdit;
}
......@@ -250,6 +250,7 @@ public class TzBaseEnterpriseInfoServiceImpl
regUnitIcDto.setIsNotAccess("1");
// 判断是否可以让用户编辑工商及许可信息 事业单位、个人主体或省外企业都可编辑
tzBaseEnterpriseInfoDto.setCanEdit("0");
tzBaseEnterpriseInfoDto.setLicenseCanEdit("1");
} else {
regUnitIcDto = tzBaseEnterpriseInfoDto.getRegUnitIcDto();
regUnitIcDto.setIsNotAccess("0");
......@@ -260,6 +261,7 @@ public class TzBaseEnterpriseInfoServiceImpl
regUnitIcDto.setRegisterAddressList(addressList);
// 判断是否可以让用户编辑工商及许可信息 事业单位、个人主体或省外企业都可编辑
tzBaseEnterpriseInfoDto.setCanEdit("1");
tzBaseEnterpriseInfoDto.setLicenseCanEdit("1");
}
tzBaseEnterpriseInfoDto.setRegUnitIcDto(regUnitIcDto);
tzBaseEnterpriseInfoDto.setApprovalTime(regUnitIcDto.getApprovedDate());
......
......@@ -187,11 +187,17 @@ public class RegUnitInfoServiceImpl extends BaseService<RegUnitInfoDto, RegUnitI
// 2.异步调用ugp,同步公司数据
FutureTask<ResponseModel<Boolean>> future = getResponseModelFutureTask(model);
// 3.插入单位注册许可信息表:tz_base_unit_licence
// 3.1先删除已有许可信息 (2024-04-02放开企业许可信息编辑功能)
LambdaQueryWrapper<BaseUnitLicence> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(BaseUnitLicence::getUnitCode, model.getUnitCode());
baseUnitLicenceService.remove(queryWrapper);
// 3.2再插入新许可信息
List<BaseUnitLicence> baseUnitLicences = model.getUnitLicences().stream().map(s -> {
s.setUnitCode(model.getUnitCode());
s.setUnitName(model.getName());
BaseUnitLicence target = new BaseUnitLicence();
Bean.copyExistPropertis(s, target);
target.setSequenceNbr(null);
return target;
}).collect(Collectors.toList());
if (!baseUnitLicences.isEmpty()) {
......
package com.yeejoin.amos.boot.module.ymt.api.mapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
......
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