Commit ccee761a authored by 麻笑宇's avatar 麻笑宇

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

# Conflicts: # amos-boot-system-tzs/amos-boot-module-jg/amos-boot-module-jg-api/src/main/java/com/yeejoin/amos/boot/module/jg/api/mapper/JgUseRegistrationMapper.java
parents f3fb7805 d1c567cb
...@@ -134,6 +134,9 @@ public class ESEquipmentCategoryDto { ...@@ -134,6 +134,9 @@ public class ESEquipmentCategoryDto {
@Field(type = FieldType.Text) @Field(type = FieldType.Text)
private String WHETHER_SKID_MOUNTED_PRESSURE_VESSEL; private String WHETHER_SKID_MOUNTED_PRESSURE_VESSEL;
@Field(type = FieldType.Text)
private String CYLINDER_CATEGORY;
/** /**
* 问题状态 * 问题状态
*/ */
......
...@@ -26,7 +26,7 @@ public enum UserPostEnum { ...@@ -26,7 +26,7 @@ public enum UserPostEnum {
//质量保证体系人员(非字典表字段,后期修改code) //质量保证体系人员(非字典表字段,后期修改code)
ZLBZTXRY("质量保证体系人员","nullnull","1,3,4"), ZLBZTXRY("质量保证体系人员","6619","1,3,4"),
; ;
String name; String name;
......
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class CylinderCategoryConverter implements Converter<String> {
private static final String LPG_CYLINDER = "液化石油气瓶";
private static final String INDUSTRY_CYLINDER = "工业气瓶";
private static final String OTHER = "其他";
@Override
public Class<?> supportJavaTypeKey() {
// 实体类中对象属性类型
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (LPG_CYLINDER.equals(cellValue)) {
return "0";
} else if (INDUSTRY_CYLINDER.equals(cellValue)) {
return "1";
}else if (OTHER.equals(cellValue)){
return "2";
}
return null;
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("0")) {
return new CellData(LPG_CYLINDER);
} else if (o.equals("1")) {
return new CellData(INDUSTRY_CYLINDER);
}else if (o.equals("2")) {
return new CellData(OTHER);
}
return new CellData("");
}
}
\ No newline at end of file
package com.yeejoin.amos.boot.module.jg.api.converter;
import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.CellData;
import com.alibaba.excel.metadata.GlobalConfiguration;
import com.alibaba.excel.metadata.property.ExcelContentProperty;
public class InformationSituationConverter implements Converter<String> {
private static final String TYPE_QR_CODE = "二维码";
private static final String TYPE_STAMP = "电子标签";
private static final String TYPE_NO = "无";
@Override
public Class<?> supportJavaTypeKey() {
// 实体类中对象属性类型
return String.class;
}
@Override
public CellDataTypeEnum supportExcelTypeKey() {
return CellDataTypeEnum.STRING;
}
@Override
public String convertToJavaData(CellData cellData, ExcelContentProperty excelContentProperty,
GlobalConfiguration globalConfiguration) {
// 从Cell中读取数据
String cellValue = cellData.getStringValue();
// 判断Excel中的值,将其转换为预期的数值
if (TYPE_QR_CODE.equals(cellValue)) {
return "1";
} else if (TYPE_STAMP.equals(cellValue)) {
return "2";
}
return "99";
}
@Override
public CellData convertToExcelData(String o, ExcelContentProperty excelContentProperty, GlobalConfiguration globalConfiguration) throws Exception {
// 判断实体类中获取的值,转换为Excel预期的值,并封装为CellData对象
if (o == null) {
return new CellData("");
} else if (o.equals("1")) {
return new CellData(TYPE_QR_CODE);
} else if (o.equals("2")) {
return new CellData(TYPE_STAMP);
}
return new CellData(TYPE_NO);
}
}
\ No newline at end of file
...@@ -168,4 +168,7 @@ public class JgUseRegistrationDto extends BaseDto { ...@@ -168,4 +168,7 @@ public class JgUseRegistrationDto extends BaseDto {
@ApiModelProperty(value = "工程装置名称") @ApiModelProperty(value = "工程装置名称")
private String projectContraption; private String projectContraption;
@ApiModelProperty(value = "气瓶类别(0液化石油气瓶、1工业气瓶、2其他)")
private String cylinderCategory;
} }
...@@ -246,4 +246,13 @@ public class JgUseRegistration extends BaseEntity { ...@@ -246,4 +246,13 @@ public class JgUseRegistration extends BaseEntity {
*/ */
@TableField("project_contraption") @TableField("project_contraption")
private String projectContraption; private String projectContraption;
/**
* 气瓶类别(液化石油气瓶、工业气瓶、其他)
* 0:液化石油气瓶
* 1:工业气瓶
* 2:其他
*/
@TableField("cylinder_category")
private String cylinderCategory;
} }
...@@ -95,6 +95,16 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> { ...@@ -95,6 +95,16 @@ public interface JgUseRegistrationMapper extends BaseMapper<JgUseRegistration> {
List<Map<String, Object>> getCylinderInfoList(@Param("records") List<String> records); List<Map<String, Object>> getCylinderInfoList(@Param("records") List<String> records);
/**
* 批量更新 CYLINDER_CATEGORY 根据 equCode
*
* @param cylinderCategory 需要更新的参数列表
* @param equCodeList equCode列表
* @return 更新成功返回 true,失败返回 false
*/
Boolean updateByEquCodeList(@Param("cylinderCategory") String cylinderCategory, @Param("equCodeList") List<String> equCodeList);
List<Map> stopStateCount(@Param("orgCode") String orgCode); List<Map> stopStateCount(@Param("orgCode") String orgCode);
List<Map> cancelStateCount(@Param("orgCode") String orgCode, @Param("cancelType") int cancelType); List<Map> cancelStateCount(@Param("orgCode") String orgCode, @Param("cancelType") int cancelType);
......
...@@ -210,7 +210,8 @@ ...@@ -210,7 +210,8 @@
ibjui.USE_INNER_CODE as useInnerCode, ibjui.USE_INNER_CODE as useInnerCode,
ibjui.LONGITUDE_LATITUDE as longitudeLatitude, ibjui.LONGITUDE_LATITUDE as longitudeLatitude,
ibjui.FACTORY_USE_SITE_STREET as factoryUseSiteStreet ibjui.FACTORY_USE_SITE_STREET as factoryUseSiteStreet
FROM "idx_biz_jg_use_info" ibjui left join tzs_user_info tzi on ibjui."PHONE" = tzi."phone" where RECORD = #{id} FROM "idx_biz_jg_use_info" ibjui left join tzs_user_info tzi on ibjui."PHONE" = tzi."phone"
where RECORD = #{id} AND tzi.is_delete = 'f'
</select> </select>
<select id="getEquipListPage" resultType="java.util.Map"> <select id="getEquipListPage" resultType="java.util.Map">
SELECT jri.EQU_CODE as equCode, SELECT jri.EQU_CODE as equCode,
...@@ -873,4 +874,19 @@ ...@@ -873,4 +874,19 @@
LEFT JOIN idx_biz_jg_factory_info fi on ri."RECORD" = fi."RECORD" LEFT JOIN idx_biz_jg_factory_info fi on ri."RECORD" = fi."RECORD"
LEFT JOIN idx_biz_jg_tech_params_vessel pv ON pv."RECORD" = ui."RECORD" LEFT JOIN idx_biz_jg_tech_params_vessel pv ON pv."RECORD" = ui."RECORD"
</sql> </sql>
<update id="updateByEquCodeList" parameterType="java.util.Map">
UPDATE "tzs_jg_use_registration" tjur
SET tjur."cylinderCategory" = #{cylinderCategory}
WHERE tjur."sequence_nbr" IN (
SELECT tjure."equip_transfer_id"
FROM "tzs_jg_use_registration_eq" tjure
LEFT JOIN idx_biz_jg_register_info ri ON ri."RECORD" = tjure."equ_id"
WHERE ri."EQU_CODE" IN
<foreach collection="equCodeList" separator="," item="equCode" open="(" close=")">
#{equCode}
</foreach>
)
</update>
</mapper> </mapper>
...@@ -177,7 +177,7 @@ public class PressureVesselListener extends AnalysisEventListener<EquipInfoCylin ...@@ -177,7 +177,7 @@ public class PressureVesselListener extends AnalysisEventListener<EquipInfoCylin
} }
private void checkInspectOrg(String inspectOrgCode){ private void checkInspectOrg(String inspectOrgCode){
List<Map<String, Object>> InspectOrgList = commonService.getAllInspectionInfo("inspection"); List<Map<String, Object>> InspectOrgList = commonService.getAllInspectionInfo("检验检测机构");
if (findUseCode(InspectOrgList, inspectOrgCode) == null) { if (findUseCode(InspectOrgList, inspectOrgCode) == null) {
result.append("未查询到该检验机构"); result.append("未查询到该检验机构");
} }
......
...@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto; ...@@ -10,6 +10,7 @@ import com.yeejoin.amos.boot.module.jg.api.dto.JgChangeRegistrationNameDto;
import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto; import com.yeejoin.amos.boot.module.jg.api.dto.JgUseRegistrationManageDto;
import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum; import com.yeejoin.amos.boot.module.jg.api.enums.WorkFlowStatusEnum;
import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationNameServiceImpl; import com.yeejoin.amos.boot.module.jg.biz.service.impl.JgChangeRegistrationNameServiceImpl;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -91,7 +92,6 @@ public class JgChangeRegistrationNameController extends BaseController { ...@@ -91,7 +92,6 @@ public class JgChangeRegistrationNameController extends BaseController {
@PostMapping(value = "/flowExecute") @PostMapping(value = "/flowExecute")
@ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程") @ApiOperation(httpMethod = "POST", value = "执行流程", notes = "执行流程")
public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) { public ResponseModel<Object> flowExecute(@RequestBody JSONObject map) {
LinkedHashMap model1 = (LinkedHashMap) map.get("model"); LinkedHashMap model1 = (LinkedHashMap) map.get("model");
LinkedHashMap jgRegistrationInfoMap = (LinkedHashMap) model1.get("jgRegistrationInfo"); LinkedHashMap jgRegistrationInfoMap = (LinkedHashMap) model1.get("jgRegistrationInfo");
JgChangeRegistrationNameDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgRegistrationInfoMap), JgChangeRegistrationNameDto.class); JgChangeRegistrationNameDto jgScrapCancelDto = JSON.parseObject(JSON.toJSONString(jgRegistrationInfoMap), JgChangeRegistrationNameDto.class);
...@@ -99,11 +99,16 @@ public class JgChangeRegistrationNameController extends BaseController { ...@@ -99,11 +99,16 @@ public class JgChangeRegistrationNameController extends BaseController {
jgChangeRegistrationNameService.flowExecute(Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())), jgChangeRegistrationNameService.flowExecute(Long.valueOf(String.valueOf(jgScrapCancelDto.getSequenceNbr())),
jgScrapCancelDto.getInstanceId(), jgScrapCancelDto.getInstanceId(),
String.valueOf(map.get("operate")), String.valueOf(map.get("operate")),
String.valueOf(map.get("remark")), this.getComment(map),
String.valueOf(map.get("nextTaskId"))); String.valueOf(map.get("nextTaskId")));
return ResponseHelper.buildResponse("ok"); return ResponseHelper.buildResponse("ok");
} }
private String getComment(JSONObject map){
// 驳回(opinion)和通过(remark)字段不一样 ,兼容修改
return StringUtil.isNotEmpty(map.getString("remark")) ? map.getString("remark") : map.getString("opinion");
}
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询") @ApiOperation(httpMethod = "POST", value = "列表全部数据查询", notes = "列表全部数据查询")
@PostMapping(value = "/getList") @PostMapping(value = "/getList")
......
...@@ -287,4 +287,20 @@ public class JgUseRegistrationController extends BaseController { ...@@ -287,4 +287,20 @@ public class JgUseRegistrationController extends BaseController {
map.put("useUnitCreditCode", useUnitCreditCode); map.put("useUnitCreditCode", useUnitCreditCode);
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.queryByRegistrationCode(map)); return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.queryByRegistrationCode(map));
} }
/**
* 根据equCode更新气瓶分类历史数据
* @param cylinderCategory 气瓶类别(0:液化石油气瓶、1:工业气瓶、2其他)
* @param equCodeList 设备代码集合
* @return o
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/updateCylinderCategory")
@ApiOperation(httpMethod = "POST", value = "根据equCode更新气瓶分类历史数据", notes = "根据equCode更新气瓶分类历史数据")
public ResponseModel<Object> handleErrorForm(@RequestParam("cylinderCategory") String cylinderCategory,
@RequestParam("equCodeList") List<String> equCodeList) {
return ResponseHelper.buildResponse(jgUseRegistrationServiceImpl.updateCylinderCategoryByEquCodeBatch(cylinderCategory, equCodeList));
}
} }
...@@ -791,7 +791,7 @@ public class CommonServiceImpl implements ICommonService { ...@@ -791,7 +791,7 @@ public class CommonServiceImpl implements ICommonService {
@Override @Override
public List<Map<String, Object>> getAllInspectionInfo(String type) { public List<Map<String, Object>> getAllInspectionInfo(String type) {
List<Map<String, Object>> unitList = new ArrayList<>(); List<Map<String, Object>> unitList = new ArrayList<>();
if ("inspection".equals(type)) { if ("检验检测机构".equals(type)) {
Systemctl.dictionarieClient.dictValues("OLD_INSPECTION_TESTING_UNIT").getResult() Systemctl.dictionarieClient.dictValues("OLD_INSPECTION_TESTING_UNIT").getResult()
.forEach(x -> convertAndAddToUnitList(x, unitList)); .forEach(x -> convertAndAddToUnitList(x, unitList));
} }
...@@ -964,11 +964,15 @@ public class CommonServiceImpl implements ICommonService { ...@@ -964,11 +964,15 @@ public class CommonServiceImpl implements ICommonService {
} }
map.put("supervisoryCode", ImageUtils.generateQRCode(Optional.ofNullable(map.get("applyNo")).orElse("").toString(), 100, 100)); map.put("supervisoryCode", ImageUtils.generateQRCode(Optional.ofNullable(map.get("applyNo")).orElse("").toString(), 100, 100));
map.put("printingType", PrintingTypeEnum.REGULAR.getCode()); map.put("printingType", PrintingTypeEnum.OVERPLAY.getCode());
String manageType = Optional.ofNullable(map.get("manageType")).orElse("").toString();
String templateFileName = "use-registration-model.ftl";
if ("unit".equals(manageType)) {
templateFileName = "unit-use-registration-model.ftl";
}
File file = null; File file = null;
try (ServletOutputStream out = response.getOutputStream()) { try (ServletOutputStream out = response.getOutputStream()) {
file = WordTemplateUtils.createDoc("/templates/use-registration-model.ftl", map, configuration.getTemplate("use-registration-model.ftl", "UTF-8")); file = WordTemplateUtils.createDoc("/templates/use-registration-model.ftl", map, configuration.getTemplate(templateFileName, "UTF-8"));
try (InputStream fin = Files.newInputStream(file.toPath())) { try (InputStream fin = Files.newInputStream(file.toPath())) {
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
......
...@@ -499,7 +499,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -499,7 +499,10 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
equipInfoMap.put("EQU_CODE_TYPE", "1"); equipInfoMap.put("EQU_CODE_TYPE", "1");
equipInfoMap.put("SUPERVISORY_CODE", null); equipInfoMap.put("SUPERVISORY_CODE", null);
equipInfoMap.put("CAR_NUMBER", null); equipInfoMap.put("CAR_NUMBER", null);
equIpClassMap.put("CAR_NUMBER", null); // 气瓶的部分信息赋空
equipInfoMap.put("INFORMATION_SITUATION", null);
equipInfoMap.put("INFORMATION_MANAGE_CODE", null);
equipInfoMap.put("CYLINDER_STAMP_ATTACHMENT", null);
} }
return resultMap; return resultMap;
} }
...@@ -984,9 +987,11 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -984,9 +987,11 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
if (!ValidationUtil.isEmpty(fieldType)) { if (!ValidationUtil.isEmpty(fieldType)) {
otherInfoMap = Bean.BeantoMap(otherInfo); otherInfoMap = Bean.BeantoMap(otherInfo);
otherInfoMap.put("otherinfoSeq", otherInfo.getSequenceNbr()); otherInfoMap.put("otherinfoSeq", otherInfo.getSequenceNbr());
otherInfoMap.put("cylinderStampAttachment", JSON.parse(otherInfo.getCylinderStampAttachment()));
} else { } else {
otherInfoMap = convertCamelToUnderscore(otherInfo, null); otherInfoMap = convertCamelToUnderscore(otherInfo, null);
otherInfoMap.put("OTHERINFO_SEQ", otherInfo.getSequenceNbr()); otherInfoMap.put("OTHERINFO_SEQ", otherInfo.getSequenceNbr());
otherInfoMap.put("CYLINDER_STAMP_ATTACHMENT", JSON.parse(otherInfo.getCylinderStampAttachment()));
} }
if (!otherInfoMap.isEmpty()) { if (!otherInfoMap.isEmpty()) {
Map<String, Object> filterMap = otherInfoMap.entrySet() Map<String, Object> filterMap = otherInfoMap.entrySet()
...@@ -2368,6 +2373,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -2368,6 +2373,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
// 96333码和监管码置空 // 96333码和监管码置空
otherInfo.setCode96333(null); otherInfo.setCode96333(null);
otherInfo.setSupervisoryCode(null); otherInfo.setSupervisoryCode(null);
otherInfo.setCylinderStampAttachment(null);
otherInfo.setInformationSituation(null);
otherInfo.setInformationManageCode(null);
} }
iIdxBizJgOtherInfoService.saveOrUpdateData(otherInfo); iIdxBizJgOtherInfoService.saveOrUpdateData(otherInfo);
...@@ -2820,6 +2828,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -2820,6 +2828,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
registerInfo.setProductPhoto(productPhoto); registerInfo.setProductPhoto(productPhoto);
registerInfo.setOtherAccessoriesReg(otherAccessoriesReg); registerInfo.setOtherAccessoriesReg(otherAccessoriesReg);
registerInfo.setUseOrgCode(equipInfoDto.getUseOrgCode()); registerInfo.setUseOrgCode(equipInfoDto.getUseOrgCode());
registerInfo.setCylinderCategory(data.getCylinderCategory());
if ("his".equals(equipInfoDto.getDataSource())) { if ("his".equals(equipInfoDto.getDataSource())) {
registerInfo.setEquCode(this.getEquCode(registerInfo, factoryInfo, equipInfoDto.getReceiveOrgCode())); registerInfo.setEquCode(this.getEquCode(registerInfo, factoryInfo, equipInfoDto.getReceiveOrgCode()));
} }
...@@ -2843,10 +2852,12 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -2843,10 +2852,12 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
inspectionDetectionInfoList.add(inspectionDetectionInfo); inspectionDetectionInfoList.add(inspectionDetectionInfo);
// 其他信息 // 其他信息
String cylinderStampAttachment = getUrlByKey(fileDataList, "CYLINDER_STAMP_ATTACHMENT");
IdxBizJgOtherInfo otherInfo = new IdxBizJgOtherInfo(); IdxBizJgOtherInfo otherInfo = new IdxBizJgOtherInfo();
BeanUtils.copyProperties(data, otherInfo); BeanUtils.copyProperties(data, otherInfo);
otherInfo.setRecord(record); otherInfo.setRecord(record);
otherInfo.setRecDate(new Date()); otherInfo.setRecDate(new Date());
otherInfo.setCylinderStampAttachment(cylinderStampAttachment);
if ("his".equals(equipInfoDto.getDataSource())) { if ("his".equals(equipInfoDto.getDataSource())) {
otherInfo.setSupervisoryCode(this.getSupervisoryCode(equipInfoDto.getPossession(), registerInfo)); otherInfo.setSupervisoryCode(this.getSupervisoryCode(equipInfoDto.getPossession(), registerInfo));
otherInfo.setClaimStatus("已认领"); otherInfo.setClaimStatus("已认领");
...@@ -3068,8 +3079,12 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -3068,8 +3079,12 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
checkNotBlank(data.getProduceUnitName(), "制造单位名称不能为空;", result); checkNotBlank(data.getProduceUnitName(), "制造单位名称不能为空;", result);
checkNotBlank(data.getProduceLicenseNum(), "制造许可编号不能为空;", result); checkNotBlank(data.getProduceLicenseNum(), "制造许可编号不能为空;", result);
checkNotBlank(data.getFactoryNum(), "出厂编号/产品编码不能为空;", result); checkNotBlank(data.getFactoryNum(), "出厂编号/产品编码不能为空;", result);
if ("0".equals(data.getWhetherVehicleCylinder()) && factoryNumList.contains(data.getFactoryNum())) if ("0".equals(data.getWhetherVehicleCylinder())) {
if (factoryNumList.contains(data.getFactoryNum())) {
result.append("出厂编号/产品编码不能重复;"); result.append("出厂编号/产品编码不能重复;");
}
checkNotBlank(data.getCylinderCategory(), "气瓶分类不能为空;", result);
}
checkFactoryNumUniqueness(data.getFactoryNum(), null, result); checkFactoryNumUniqueness(data.getFactoryNum(), null, result);
checkNotBlank(data.getProduceDate(), "制造日期不能为空;", result); checkNotBlank(data.getProduceDate(), "制造日期不能为空;", result);
Optional.ofNullable(data.getProduceDate()).ifPresent(v -> checkDateFormatCorrect(v, "制造日期格式不正确;", result)); Optional.ofNullable(data.getProduceDate()).ifPresent(v -> checkDateFormatCorrect(v, "制造日期格式不正确;", result));
...@@ -3082,6 +3097,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -3082,6 +3097,9 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
checkNotBlank(data.getSingleBottleVolume(), "单瓶容积不能为空;", result); checkNotBlank(data.getSingleBottleVolume(), "单瓶容积不能为空;", result);
checkNotBlank(data.getChargingMedium(), "充装介质不能为空;", result); checkNotBlank(data.getChargingMedium(), "充装介质不能为空;", result);
checkNotBlank(data.getNominalWorkingPressure(), "公称工作压力不能为空;", result); checkNotBlank(data.getNominalWorkingPressure(), "公称工作压力不能为空;", result);
checkNotBlank(data.getInformationSituation(), "信息化管理情况(二维码、电子标签、无)不能为空;", result);
// 信息化管理情况校验
checkInformatManageInfo(data, result);
// 如果存在错误信息,则抛出 BadRequest 异常 // 如果存在错误信息,则抛出 BadRequest 异常
if (result.length() > 0) { if (result.length() > 0) {
result.insert(0, "Excel第[" + rowIndex + "]行 -> "); result.insert(0, "Excel第[" + rowIndex + "]行 -> ");
...@@ -3094,6 +3112,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -3094,6 +3112,13 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
return result; return result;
} }
private void checkInformatManageInfo(EquipInfoCylinderExcelDto data, StringBuilder result) {
// 非车用气瓶时(0)时且信息化管理情况非无时检验二维码编号/电子标签编号必填
if(data.getInformationSituation() != null && !"99".equals(data.getInformationSituation()) && "0".equals(data.getWhetherVehicleCylinder())){
checkNotBlank(data.getInformationManageCode(), "二维码编号/电子标签编号不能为空;", result);
}
}
private void checkEquCodeUniqueness(String equCode, StringBuilder result) { private void checkEquCodeUniqueness(String equCode, StringBuilder result) {
// 根据设备代码检查唯一性 // 根据设备代码检查唯一性
LambdaQueryWrapper<RegistrationInfo> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RegistrationInfo> wrapper = new LambdaQueryWrapper<>();
...@@ -3112,7 +3137,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste ...@@ -3112,7 +3137,7 @@ public class IdxBizJgRegisterInfoServiceImpl extends BaseService<IdxBizJgRegiste
} }
private void checkInspectOrg(String inspectOrgCode, StringBuilder result) { private void checkInspectOrg(String inspectOrgCode, StringBuilder result) {
List<Map<String, Object>> InspectOrgList = commonService.getAllInspectionInfo("inspection"); List<Map<String, Object>> InspectOrgList = commonService.getAllInspectionInfo("检验检测机构");
if (findUseCode(InspectOrgList, inspectOrgCode) == null) { if (findUseCode(InspectOrgList, inspectOrgCode) == null) {
result.append("未查询到该检验机构;"); result.append("未查询到该检验机构;");
} }
......
...@@ -29,9 +29,11 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo; ...@@ -29,9 +29,11 @@ import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgRegisterInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.FlowStatusEnum;
import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper; import com.yeejoin.amos.boot.module.ymt.api.mapper.IdxBizJgOtherInfoMapper;
import com.yeejoin.amos.boot.module.ymt.api.mapper.TzBaseEnterpriseInfoMapper; import com.yeejoin.amos.component.feign.utils.FeignUtil;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.CompanyModel; import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.feign.systemctl.model.DictionarieValueModel;
import com.yeejoin.amos.feign.systemctl.model.TaskV2Model; import com.yeejoin.amos.feign.systemctl.model.TaskV2Model;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowBatchDTO;
import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO; import com.yeejoin.amos.feign.workflow.model.ActWorkflowStartDTO;
...@@ -100,6 +102,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -100,6 +102,8 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
@Autowired @Autowired
private IdxBizJgOtherInfoMapper otherInfoMapper; private IdxBizJgOtherInfoMapper otherInfoMapper;
private volatile Map<String, Object> fillingMediumMap;
public void changeData(JgChangeVehicleRegistrationUnit dto, CompanyBo company) { public void changeData(JgChangeVehicleRegistrationUnit dto, CompanyBo company) {
if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) { if (!ObjectUtils.isEmpty(dto.getReceiveCompanyCode())) {
...@@ -713,6 +717,9 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -713,6 +717,9 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
if (!ObjectUtils.isEmpty(registrationManage) && !ObjectUtils.isEmpty(registrationManage.getCarNumber())) { if (!ObjectUtils.isEmpty(registrationManage) && !ObjectUtils.isEmpty(registrationManage.getCarNumber())) {
a.put("carNumber", registrationManage.getCarNumber()); a.put("carNumber", registrationManage.getCarNumber());
} }
if(!ObjectUtils.isEmpty(registrationManage.getCarNumber())){
a.put("chargingMedium", getFillingMediumMap().get(a.getOrDefault("chargingMedium", "") + ""));
}
}); });
map.put("dataList", equList); map.put("dataList", equList);
// 组件回显 // 组件回显
...@@ -723,6 +730,20 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh ...@@ -723,6 +730,20 @@ public class JgChangeVehicleRegistrationUnitServiceImpl extends BaseService<JgCh
return map; return map;
} }
private Map<String, Object> getFillingMediumMap() {
if (fillingMediumMap == null) {
synchronized (this) {
if (fillingMediumMap == null) {
List<DictionarieValueModel> fillingMedium = FeignUtil.remoteCall(() -> Systemctl.dictionarieClient.dictValues("FILLING_MEDIUM"));
fillingMediumMap = fillingMedium.stream().collect(Collectors.toMap(DictionarieValueModel::getDictDataKey, DictionarieValueModel::getDictDataValue));
}
return fillingMediumMap;
}
}
return fillingMediumMap;
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean deleteMessage(String sequenceNbr) { public Boolean deleteMessage(String sequenceNbr) {
JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = this.baseMapper.selectById(sequenceNbr); JgChangeVehicleRegistrationUnit jgChangeVehicleRegistrationUnit = this.baseMapper.selectById(sequenceNbr);
......
...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil; ...@@ -19,6 +19,7 @@ import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgMaintenanceRecordInfo;
import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo; import com.yeejoin.amos.boot.module.ymt.api.entity.IdxBizJgUseInfo;
import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum; import com.yeejoin.amos.boot.module.ymt.api.enums.ApplicationFormTypeEnum;
import com.yeejoin.amos.boot.module.ymt.api.enums.EquipmentCategoryEnum;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.queryparser.classic.QueryParser;
import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchRequest;
...@@ -393,9 +394,15 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr ...@@ -393,9 +394,15 @@ public class JgUseRegistrationManageServiceImpl extends BaseService<JgUseRegistr
SearchSourceBuilder builder = new SearchSourceBuilder(); SearchSourceBuilder builder = new SearchSourceBuilder();
builder.trackTotalHits(true); builder.trackTotalHits(true);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery(); BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
// 且登记证筛选
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes); TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("USE_ORG_CODE", useOrgCodes);
boolQuery.must(termsQuery); boolQuery.must(termsQuery);
// 且已认领状态
boolQuery.must(QueryBuilders.termQuery("STATUS", EquipmentCategoryEnum.YRL.getName()));
// 且已纳管状态
boolQuery.must(QueryBuilders.termQuery("IS_INTO_MANAGEMENT", true));
// 设备状态 对应枚举EquimentEnum // 设备状态 对应枚举EquimentEnum
if (!ObjectUtils.isEmpty(enableType)) { if (!ObjectUtils.isEmpty(enableType)) {
......
...@@ -40,10 +40,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionI ...@@ -40,10 +40,7 @@ import com.yeejoin.amos.boot.module.jg.biz.service.IIdxBizJgInspectionDetectionI
import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil; import com.yeejoin.amos.boot.module.jg.biz.utils.CodeUtil;
import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil; import com.yeejoin.amos.boot.module.ymt.api.common.StringUtil;
import com.yeejoin.amos.boot.module.ymt.api.entity.*; 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.*;
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.mapper.*;
import com.yeejoin.amos.feign.privilege.Privilege; import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
...@@ -334,7 +331,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -334,7 +331,8 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
this.updateOrCreateInspectionDetection(map); this.updateOrCreateInspectionDetection(map);
// 更新注册登记信息表 // 更新注册登记信息表
LambdaUpdateWrapper<IdxBizJgRegisterInfo> IdxBizJgRegLambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda(); LambdaUpdateWrapper<IdxBizJgRegisterInfo> IdxBizJgRegLambda = new UpdateWrapper<IdxBizJgRegisterInfo>().lambda();
IdxBizJgRegLambda.eq(IdxBizJgRegisterInfo::getRecord, map.get("equipId")).set(IdxBizJgRegisterInfo::getRegisterState, this.getRegCode()); IdxBizJgRegLambda.eq(IdxBizJgRegisterInfo::getRecord, map.get("equipId"))
.set(IdxBizJgRegisterInfo::getRegisterState, this.getRegCode()).set(IdxBizJgRegisterInfo::getCylinderCategory, map.get("cylinderCategory"));
idxBizJgRegisterInfoService.update(IdxBizJgRegLambda); idxBizJgRegisterInfoService.update(IdxBizJgRegLambda);
// 更新设备监管部门 // 更新设备监管部门
IdxBizJgSupervisionInfo idxBizJgSupervisionInfo = new IdxBizJgSupervisionInfo(); IdxBizJgSupervisionInfo idxBizJgSupervisionInfo = new IdxBizJgSupervisionInfo();
...@@ -705,6 +703,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -705,6 +703,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
useRegistration.setPromoter(reginParams.getUserModel().getUserId()); useRegistration.setPromoter(reginParams.getUserModel().getUserId());
useRegistration.setCreateUserId(reginParams.getUserModel().getUserId()); useRegistration.setCreateUserId(reginParams.getUserModel().getUserId());
useRegistration.setCreateUserName(reginParams.getUserModel().getUserName()); useRegistration.setCreateUserName(reginParams.getUserModel().getUserName());
useRegistration.setCylinderCategory(map.getString("cylinderCategory"));//气瓶分类
// 使用单位信息 // 使用单位信息
useRegistration.setUseUnitName(CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ? useRegistration.setUseUnitName(CompanyTypeEnum.INDIVIDUAL.getName().equals(company.getCompanyType()) ?
company.getCompanyName().split("_")[1] : company.getCompanyName()); company.getCompanyName().split("_")[1] : company.getCompanyName());
...@@ -1409,6 +1408,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -1409,6 +1408,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
param.put("USC_UNIT_NAME", ""); param.put("USC_UNIT_NAME", "");
param.put("EQU_CODE", dataMap.get("equCode")); param.put("EQU_CODE", dataMap.get("equCode"));
param.put("USE_ORG_CODE", jgUseRegistration.getUseRegistrationCode()); param.put("USE_ORG_CODE", jgUseRegistration.getUseRegistrationCode());
param.put("CYLINDER_CATEGORY", dataMap.get("cylinderCategory"));
objMap.put((String) dataMap.get("equipId"), param); objMap.put((String) dataMap.get("equipId"), param);
tzsServiceFeignClient.commonUpdateEsDataByIds(objMap); tzsServiceFeignClient.commonUpdateEsDataByIds(objMap);
} }
...@@ -2079,14 +2079,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2079,14 +2079,29 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
int end = ((current - 1) * size + size) < total ? (current - 1) * size + size : (int) total; int end = ((current - 1) * size + size) < total ? (current - 1) * size + size : (int) total;
// 数据截取 // 数据截取
List<Object> equData = equipmentLists.subList(start, end); List<Object> equData = equipmentLists.subList(start, end);
Map<String, String> recordInformationMap = this.getInformationManageInfo(equData);
// 设备数据填充 // 设备数据填充
this.fillInCylinderEquData(exportParamsMap, equData, size); this.fillInCylinderEquData(exportParamsMap, equData, size, recordInformationMap);
return commonService.generateSummaryOfCylinderInfo(exportParamsMap, wordPath, filePrefix); return commonService.generateSummaryOfCylinderInfo(exportParamsMap, wordPath, filePrefix);
})).collect(Collectors.toList()); })).collect(Collectors.toList());
CompletableFuture.allOf(futures.toArray(new CompletableFuture[page])).join(); CompletableFuture.allOf(futures.toArray(new CompletableFuture[page])).join();
return futures; return futures;
} }
private Map<String, String> getInformationManageInfo(List<Object> equData) {
List<String> records = new ArrayList<>();
equData.forEach(e->{
JSONObject jsonObject = (JSONObject)e;
String record = jsonObject.getString("record");
records.add(record);
});
LambdaQueryWrapper<IdxBizJgOtherInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.select(IdxBizJgOtherInfo::getRecord,IdxBizJgOtherInfo::getInformationSituation);
wrapper.in(IdxBizJgOtherInfo::getRecord, records);
List<IdxBizJgOtherInfo> jgOtherInfos = otherInfoMapper.selectList(wrapper);
return jgOtherInfos.stream().collect(Collectors.toMap(IdxBizJgOtherInfo::getRecord, d-> InformationManageTypeEnum.getName(d.getInformationSituation()),(k1, k2) ->k2));
}
/** /**
* 压力管道数据 * 压力管道数据
* *
...@@ -2140,14 +2155,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2140,14 +2155,16 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
/** /**
* 气瓶设备数据填充 * 气瓶设备数据填充
*/ */
public void fillInCylinderEquData(Map<String, Object> exportParamsMap, List<Object> equData, int size) { private void fillInCylinderEquData(Map<String, Object> exportParamsMap, List<Object> equData, int size, Map<String, String> recordInformationMap) {
String[] fieldNames = {"equDefineName", "factoryNum", "chargingMedium", String[] fieldNames = {"equDefineName", "factoryNum", "chargingMedium",
"produceUnitName", "produceDate", "nominalWorkingPressure", "produceUnitName", "produceDate", "nominalWorkingPressure",
"singleBottleVolume", "inspectDate", "nextInspectDate", "useInnerCode"}; "singleBottleVolume", "inspectDate", "nextInspectDate", "useInnerCode","informationSituation"};
// 填充有效数据 // 填充有效数据
for (int curr = 0; curr < equData.size(); curr++) { for (int curr = 0; curr < equData.size(); curr++) {
JSONObject obj = (JSONObject) equData.get(curr); JSONObject obj = (JSONObject) equData.get(curr);
// 新增字段信息化管理情况
obj.put("informationSituation", recordInformationMap.get(obj.getString("record")));
int serialNum = curr + 1; int serialNum = curr + 1;
for (String fieldName : fieldNames) { for (String fieldName : fieldNames) {
exportParamsMap.put(fieldName + serialNum, ValidationUtil.isEmpty(obj.get(fieldName)) ? "" : obj.get(fieldName)); exportParamsMap.put(fieldName + serialNum, ValidationUtil.isEmpty(obj.get(fieldName)) ? "" : obj.get(fieldName));
...@@ -2862,7 +2879,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -2862,7 +2879,7 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
useInfo.setIsNotXiXian(String.valueOf(map.get("isXixian"))); useInfo.setIsNotXiXian(String.valueOf(map.get("isXixian")));
useInfo.setEstateUnitCreditCode(String.valueOf(map.get("estateUnitName")).split("_")[0]); useInfo.setEstateUnitCreditCode(String.valueOf(map.get("estateUnitName")).split("_")[0]);
useInfo.setEstateUnitName(String.valueOf(map.get("estateUnitName")).split("_")[1]); useInfo.setEstateUnitName(String.valueOf(map.get("estateUnitName")).split("_")[1]);
useInfo.setPhone(String.valueOf(map.get("safetyManager")).split("_")[0]); useInfo.setPhone(String.valueOf(map.get("phone")));
useInfo.setSafetyManager(String.valueOf(map.get("safetyManager")).split("_")[1]); useInfo.setSafetyManager(String.valueOf(map.get("safetyManager")).split("_")[1]);
useInfo.setUseDate(String.valueOf(map.get("useDate"))); useInfo.setUseDate(String.valueOf(map.get("useDate")));
useInfo.setLongitudeLatitude(JSON.toJSONString(map.get("longitudeLatitude"))); useInfo.setLongitudeLatitude(JSON.toJSONString(map.get("longitudeLatitude")));
...@@ -3236,4 +3253,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD ...@@ -3236,4 +3253,12 @@ public class JgUseRegistrationServiceImpl extends BaseService<JgUseRegistrationD
} }
} }
@Transactional
public Object updateCylinderCategoryByEquCodeBatch(String cylinderCategory, List<String> equCodeList) {
if (idxBizJgRegisterInfoMapper.updateCylinderCategoryByEquCodeBatch(cylinderCategory, equCodeList)){
return this.baseMapper.updateByEquCodeList(cylinderCategory, equCodeList);
}
return true;
}
} }
\ No newline at end of file
...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.api.service; ...@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tcm.api.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto; import com.yeejoin.amos.boot.module.tcm.api.dto.GroupAndPersonInfoDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzIndividualityDto; import com.yeejoin.amos.boot.module.tcm.api.dto.TzIndividualityDto;
import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto; import com.yeejoin.amos.boot.module.tcm.api.dto.TzsEquipListDto;
...@@ -35,6 +36,8 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> { ...@@ -35,6 +36,8 @@ public interface ITzsUserInfoService extends IService<TzsUserInfo> {
Map<String,Object> getCompanyType(); Map<String,Object> getCompanyType();
Map<String,Object> getCompanyTypeForRedis(ReginParams selectedOrgInfo);
Page<TzsEquipListDto> getEquipList(String type,String userSeq,TzsEquipListDto dto, Page<TzsEquipListDto> page); Page<TzsEquipListDto> getEquipList(String type,String userSeq,TzsEquipListDto dto, Page<TzsEquipListDto> page);
Boolean equipBind(String type, String userSeq, String creditCode, Map<String,Object> map); Boolean equipBind(String type, String userSeq, String creditCode, Map<String,Object> map);
......
...@@ -43,6 +43,12 @@ public class TzsUserInfoVo { ...@@ -43,6 +43,12 @@ public class TzsUserInfoVo {
private JSONArray post; private JSONArray post;
/** /**
* 岗位 (后期post迁移数组至此)
*/
@TableField("new_post")
private JSONArray newPost;
/**
* 联系电话 * 联系电话
*/ */
@TableField("phone") @TableField("phone")
......
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<if test="dto.menuTypeUnderPost != null and dto.menuTypeUnderPost.size() > 0"> <if test="dto.menuTypeUnderPost != null and dto.menuTypeUnderPost.size() > 0">
AND ( AND (
<foreach collection="dto.menuTypeUnderPost" separator="or" item="postType"> <foreach collection="dto.menuTypeUnderPost" separator="or" item="postType">
post like concat('%',#{postType},'%') new_post like concat('%',#{postType},'%')
</foreach> </foreach>
) )
</if> </if>
......
...@@ -181,6 +181,14 @@ public class TzsUserInfoController extends BaseController { ...@@ -181,6 +181,14 @@ public class TzsUserInfoController extends BaseController {
} }
@TycloudOperation(ApiLevel = UserType.AGENCY) @TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getCompanyTypeForRedis")
@ApiOperation(httpMethod = "GET", value = "从redis获取当前登录用户单位类型获取,避免多角色的单位获取到多个单位类型", notes = "从redis获取当前登录用户单位类型获取,避免多角色的单位获取到多个单位类型")
public ResponseModel<Map<String, Object>> getCompanyTypeForRedis() {
ReginParams selectedOrgInfo = getSelectedOrgInfo();
return ResponseHelper.buildResponse(tzsUserInfoService.getCompanyTypeForRedis(selectedOrgInfo));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/getUserType") @GetMapping(value = "/getUserType")
@ApiOperation(httpMethod = "GET", value = "根据单位类型获取人员类型", notes = "根据单位类型获取人员类型") @ApiOperation(httpMethod = "GET", value = "根据单位类型获取人员类型", notes = "根据单位类型获取人员类型")
public ResponseModel<List<Map<String, Object>>> getUserType(@RequestParam(value = "unitType") String unitType) { public ResponseModel<List<Map<String, Object>>> getUserType(@RequestParam(value = "unitType") String unitType) {
......
...@@ -109,7 +109,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -109,7 +109,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 安全总监管理 // 安全总监管理
menuMap.put("aqzj", Collections.singletonList("6547")); menuMap.put("aqzj", Collections.singletonList("6547"));
// 质量保证体系人员管理 // 质量保证体系人员管理
menuMap.put("zlbztxry", Arrays.asList("6551","6550")); menuMap.put("zlbztxry", Collections.singletonList("6619"));
// 质量安全员管理 // 质量安全员管理
menuMap.put("zlaqy", Collections.singletonList("6551")); menuMap.put("zlaqy", Collections.singletonList("6551"));
// 质量安全总监管理 // 质量安全总监管理
...@@ -119,12 +119,17 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -119,12 +119,17 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
// 检验人员管理 // 检验人员管理
menuMap.put("jyry", Collections.singletonList("66151")); menuMap.put("jyry", Collections.singletonList("66151"));
// 其他人员管理 // 其他人员管理
menuMap.put("qtry", Arrays.asList("6546","6617","6553")); menuMap.put("qtry", Collections.singletonList("6546"));
} }
@Override @Override
public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page) { public Page<TzsUserInfoDto> page(TzsUserInfoDto dto, Page<TzsUserInfoDto> page) {
dto.setMenuTypeUnderPost(menuMap.get(dto.getMenuType())); dto.setMenuTypeUnderPost(menuMap.get(dto.getMenuType()));
// 其他人员管理 包含 普通员工、安全管理员、安改维负责人
// 上面menuMap中的其他人员只是在新增人员时为页面赋默认值
if ("qtry".equals(dto.getMenuType())){
dto.setMenuTypeUnderPost(Arrays.asList("6546","6617","6553"));
}
Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto); Page<TzsUserInfoDto> tzsUserInfoDtoPage = tzsUserInfoMapper.selectPageMessage(page, dto);
tzsUserInfoDtoPage.getRecords().forEach(item -> { tzsUserInfoDtoPage.getRecords().forEach(item -> {
if (!ObjectUtils.isEmpty(item.getProfile())) { if (!ObjectUtils.isEmpty(item.getProfile())) {
...@@ -247,6 +252,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -247,6 +252,9 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if (!ObjectUtils.isEmpty(tzsUserInfo.getPost())) { if (!ObjectUtils.isEmpty(tzsUserInfo.getPost())) {
tzsUserInfoVo.setPost(JSON.parseArray(tzsUserInfo.getPost())); tzsUserInfoVo.setPost(JSON.parseArray(tzsUserInfo.getPost()));
} }
if (!ObjectUtils.isEmpty(tzsUserInfo.getNewPost())) {
tzsUserInfoVo.setNewPost(JSON.parseArray(tzsUserInfo.getNewPost()));
}
if (!ObjectUtils.isEmpty(tzsUserInfo.getEquipType())) { if (!ObjectUtils.isEmpty(tzsUserInfo.getEquipType())) {
tzsUserInfoVo.setEquipType(JSON.parseArray(tzsUserInfo.getEquipType())); tzsUserInfoVo.setEquipType(JSON.parseArray(tzsUserInfo.getEquipType()));
} }
...@@ -477,6 +485,50 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -477,6 +485,50 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
@Override @Override
public Map<String, Object> getCompanyTypeForRedis(ReginParams selectedOrgInfo) {
Map<String, Object> result = new HashMap<>();
result.put("companyType", null);
CompanyBo company = selectedOrgInfo.getCompany();
if (ObjectUtils.isEmpty(company)) {
return result;
}
result.put("creditCode", company.getCompanyCode());
boolean productCompany = false;
boolean useCompany = false;
boolean installCompany = false;
boolean inspectionCompany = false;
String companyType = company.getCompanyType();
if (companyType.contains("使用单位") || companyType.contains("个人主体")) {
useCompany = true;
}
if (companyType.contains("充装单位") || companyType.contains("安装改造维修单位") || companyType.contains("制造单位") || companyType.contains("设计单位")) {
productCompany = true;
}
if (companyType.contains("安装改造维修单位")) {
installCompany = true;
}
if (companyType.contains("检验检测机构")) {
inspectionCompany = true;
}
StringBuilder companyTypeStr = new StringBuilder();
if (useCompany) {
companyTypeStr.append("use-");
}
if (productCompany) {
companyTypeStr.append("pro-");
}
if (installCompany) {
companyTypeStr.append("install-");
}
if (inspectionCompany) {
companyTypeStr.append("inspection");
}
result.put("companyType", companyTypeStr);
return result;
}
@Override
public Page<TzsEquipListDto> getEquipList(String type, String userSeq, TzsEquipListDto dto, Page<TzsEquipListDto> page) { public Page<TzsEquipListDto> getEquipList(String type, String userSeq, TzsEquipListDto dto, Page<TzsEquipListDto> page) {
List<CompanyModel> companyModels = FeignUtil.remoteCall(() -> Privilege.companyClient.queryListByChild(RequestContext.getExeUserId())); List<CompanyModel> companyModels = FeignUtil.remoteCall(() -> Privilege.companyClient.queryListByChild(RequestContext.getExeUserId()));
if (companyModels.isEmpty()) { if (companyModels.isEmpty()) {
...@@ -779,7 +831,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -779,7 +831,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
tzsUserInfo.setAppointDoc(tzsUserInfo.getAppointDoc()); tzsUserInfo.setAppointDoc(tzsUserInfo.getAppointDoc());
tzsUserInfo.setRecDate(new Date()); tzsUserInfo.setRecDate(new Date());
// 兼容前端只传一个值,并且非json类型的情况 // 兼容前端只传一个值,并且非json类型的情况
JSONArray postArray = JSONArray.parseArray(this.isJSONValid(tzsUserInfo.getPost()) ? tzsUserInfo.getPost() : "[\"" + tzsUserInfo.getPost() + "\"]"); JSONArray postArray = JSONArray.parseArray(this.isJSONValid(tzsUserInfo.getNewPost()) ? tzsUserInfo.getNewPost() : "[\"" + tzsUserInfo.getNewPost() + "\"]");
tzsUserInfo.setNewPost(JSONArray.toJSONString(postArray)); tzsUserInfo.setNewPost(JSONArray.toJSONString(postArray));
// 兼容 人员类型为【作业人员】且 【作业项目】含有【电梯修理】项目的为【维保人员】post为“6618” // 兼容 人员类型为【作业人员】且 【作业项目】含有【电梯修理】项目的为【维保人员】post为“6618”
JSONArray permissionData6552 = tzsUserInfo.getPermissionData6552(); JSONArray permissionData6552 = tzsUserInfo.getPermissionData6552();
...@@ -791,7 +843,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -791,7 +843,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
} }
tzsUserInfo.setPost(JSONArray.toJSONString(postArray)); tzsUserInfo.setPost(JSONArray.toJSONString(postArray));
tzsUserInfo.setPostName(this.setPostName(tzsUserInfo.getPost())); tzsUserInfo.setPostName(this.setPostName(tzsUserInfo.getNewPost()));
tzsUserInfo = this.createWithModel(tzsUserInfo); tzsUserInfo = this.createWithModel(tzsUserInfo);
// 保存资质 // 保存资质
tzsUserPermissionServiceImpl.savePermissionData(tzsUserInfo); tzsUserPermissionServiceImpl.savePermissionData(tzsUserInfo);
...@@ -842,7 +894,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -842,7 +894,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
tzsUserInfoDto.setSequenceNbr(rowId); tzsUserInfoDto.setSequenceNbr(rowId);
tzsUserInfoDto.setRecDate(new Date()); tzsUserInfoDto.setRecDate(new Date());
// 兼容前端只传一个值,并且非json类型的情况 // 兼容前端只传一个值,并且非json类型的情况
JSONArray postArray = JSONArray.parseArray(this.isJSONValid(tzsUserInfoDto.getPost()) ? tzsUserInfoDto.getPost() : "[\"" + tzsUserInfoDto.getPost() + "\"]"); JSONArray postArray = JSONArray.parseArray(this.isJSONValid(tzsUserInfoDto.getNewPost()) ? tzsUserInfoDto.getNewPost() : "[\"" + tzsUserInfoDto.getNewPost() + "\"]");
tzsUserInfoDto.setNewPost(JSONArray.toJSONString(postArray)); tzsUserInfoDto.setNewPost(JSONArray.toJSONString(postArray));
// 兼容 人员类型为【作业人员】且 【作业项目】含有【电梯修理】项目的为【维保人员】post为“6618” // 兼容 人员类型为【作业人员】且 【作业项目】含有【电梯修理】项目的为【维保人员】post为“6618”
JSONArray permissionData6552 = tzsUserInfoDto.getPermissionData6552(); JSONArray permissionData6552 = tzsUserInfoDto.getPermissionData6552();
...@@ -854,7 +906,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -854,7 +906,7 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
} }
} }
tzsUserInfoDto.setPost(JSONArray.toJSONString(postArray)); tzsUserInfoDto.setPost(JSONArray.toJSONString(postArray));
String postName = this.setPostName(tzsUserInfoDto.getPost()); String postName = this.setPostName(tzsUserInfoDto.getNewPost());
tzsUserInfoDto.setPostName(postName); tzsUserInfoDto.setPostName(postName);
if (!ObjectUtils.isEmpty(selectOne.getAmosUserId())) { if (!ObjectUtils.isEmpty(selectOne.getAmosUserId())) {
// 添加新的人员与组的关系 // 添加新的人员与组的关系
...@@ -878,7 +930,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI ...@@ -878,7 +930,8 @@ public class TzsUserInfoServiceImpl extends BaseService<TzsUserInfoDto, TzsUserI
if (userTypeCode.isEmpty()) { if (userTypeCode.isEmpty()) {
return Collections.emptyList(); return Collections.emptyList();
} }
return iDataDictionaryService.getBaseMapper().selectBatchIds(userTypeCode); List<String> act = new ArrayList<>(userTypeCode);
return iDataDictionaryService.getBaseMapper().selectBatchIds(act);
} }
} }
...@@ -151,17 +151,21 @@ public class TzsUserPermissionServiceImpl extends BaseService<TzsUserPermissionD ...@@ -151,17 +151,21 @@ public class TzsUserPermissionServiceImpl extends BaseService<TzsUserPermissionD
.parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0) .parseDefaulting(ChronoField.SECOND_OF_MINUTE, 0)
.toFormatter(); .toFormatter();
String expiryDateString = String.valueOf(permissionData.get("expiryDate")); String expiryDateString = String.valueOf(Optional.ofNullable(permissionData.get("expiryDate")).orElse(""));
if (!ValidationUtil.isEmpty(expiryDateString)) {
LocalDate localDate1 = LocalDate.parse(expiryDateString, formatter); LocalDate localDate1 = LocalDate.parse(expiryDateString, formatter);
LocalDateTime localDateTime1 = localDate1.atStartOfDay(); LocalDateTime localDateTime1 = localDate1.atStartOfDay();
Date expiryDate = Date.from(localDateTime1.atZone(ZoneId.systemDefault()).toInstant()); Date expiryDate = Date.from(localDateTime1.atZone(ZoneId.systemDefault()).toInstant());
permission.setExpiryDate(expiryDate); permission.setExpiryDate(expiryDate);
}
String issueDateString = String.valueOf(permissionData.get("issueDate")); String issueDateString = String.valueOf(Optional.ofNullable(permissionData.get("issueDate")).orElse(""));
if (!ValidationUtil.isEmpty(issueDateString)) {
LocalDate localDate2 = LocalDate.parse(issueDateString, formatter); LocalDate localDate2 = LocalDate.parse(issueDateString, formatter);
LocalDateTime localDateTime2 = localDate2.atStartOfDay(); LocalDateTime localDateTime2 = localDate2.atStartOfDay();
Date issueDate = Date.from(localDateTime2.atZone(ZoneId.systemDefault()).toInstant()); Date issueDate = Date.from(localDateTime2.atZone(ZoneId.systemDefault()).toInstant());
permission.setIssueDate(issueDate); permission.setIssueDate(issueDate);
}
permission.setApprovedOrgan((String) permissionData.get("approvedOrgan")); permission.setApprovedOrgan((String) permissionData.get("approvedOrgan"));
permission.setCertAttachment(JSONArray.toJSONString(permissionData.get("certAttachment"))); permission.setCertAttachment(JSONArray.toJSONString(permissionData.get("certAttachment")));
......
...@@ -111,4 +111,23 @@ public class IdxBizJgOtherInfo extends TzsBaseEntity { ...@@ -111,4 +111,23 @@ public class IdxBizJgOtherInfo extends TzsBaseEntity {
@TableField("\"EDIT_STATUS\"") @TableField("\"EDIT_STATUS\"")
private String editStatus; private String editStatus;
/**
* 信息化管理情况:1-二维码;2-电子标签;99-无
*/
@TableField(value = "\"INFORMATION_SITUATION\"")
private String informationSituation;
/**
* 信息化管理二维码或者电子标签编号
*/
@TableField(value = "\"INFORMATION_MANAGE_CODE\"")
private String informationManageCode;
/**
* 气瓶钢印标识
*/
@TableField(value = "\"CYLINDER_STAMP_ATTACHMENT\"")
private String cylinderStampAttachment;
} }
...@@ -200,4 +200,13 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity { ...@@ -200,4 +200,13 @@ public class IdxBizJgRegisterInfo extends TzsBaseEntity {
@TableField("\"WHETHER_SPHERICAL_TANK\"") @TableField("\"WHETHER_SPHERICAL_TANK\"")
private String whetherSphericalTank; private String whetherSphericalTank;
/**
* 气瓶类别(液化石油气瓶、工业气瓶、其他)
* 0:液化石油气瓶
* 1:工业气瓶
* 2:其他
*/
@TableField("\"CYLINDER_CATEGORY\"")
private String cylinderCategory;
} }
...@@ -64,5 +64,24 @@ public class OtherInfo extends AbstractEquipBaseEntity { ...@@ -64,5 +64,24 @@ public class OtherInfo extends AbstractEquipBaseEntity {
@TableField(value ="\"SUPERVISORY_CODE\"") @TableField(value ="\"SUPERVISORY_CODE\"")
private String supervisoryCode; private String supervisoryCode;
/**
* 信息化管理情况:1-二维码;2-电子标签;99-无
*/
@TableField(value = "\"INFORMATION_SITUATION\"")
private String informationSituation;
/**
* 信息化管理二维码或者电子标签编号
*/
@TableField(value = "\"INFORMATION_MANAGE_CODE\"")
private String informationManageCode;
/**
* 气瓶钢印标识
*/
@TableField(value = "\"CYLINDER_STAMP_ATTACHMENT\"")
private String cylinderStampAttachment;
} }
package com.yeejoin.amos.boot.module.ymt.api.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
@AllArgsConstructor
@Getter
public enum InformationManageTypeEnum {
/**
* 信息化管理情况枚举
*/
TYPE_QR_CODE("1", "二维码"),
TYPE_STAMP("2", "二维码"),
TYPE_NO("99", "无");
private String code;
private String name;
public static String getName(String code) {
Optional<String> op = Arrays.stream(InformationManageTypeEnum.values()).filter(e -> e.getCode().equals(code)).map(InformationManageTypeEnum::getName).findFirst();
return op.orElse("");
}
}
...@@ -45,4 +45,15 @@ public interface IdxBizJgRegisterInfoMapper extends BaseMapper<IdxBizJgRegisterI ...@@ -45,4 +45,15 @@ public interface IdxBizJgRegisterInfoMapper extends BaseMapper<IdxBizJgRegisterI
"GROUP BY " + "GROUP BY " +
"jui.PROJECT_CONTRAPTION") "jui.PROJECT_CONTRAPTION")
List<Map<String, Object>> getProjectContraptionList(String useUnitCreditCode); List<Map<String, Object>> getProjectContraptionList(String useUnitCreditCode);
void updateCylinderCategoryByRecordBatch(@Param("recordList") List<String> recordList, @Param("cylinderCategory") String cylinderCategory);
/**
* 批量更新 CYLINDER_CATEGORY 根据 equCode
*
* @param cylinderCategory 需要更新的参数列表
* @param equCodeList equCode列表
* @return 更新成功返回 true,失败返回 false
*/
Boolean updateCylinderCategoryByEquCodeBatch(@Param("cylinderCategory") String cylinderCategory, @Param("equCodeList") List<String> equCodeList);
} }
...@@ -17,6 +17,24 @@ ...@@ -17,6 +17,24 @@
</where> </where>
GROUP BY jui.PROJECT_CONTRAPTION GROUP BY jui.PROJECT_CONTRAPTION
</select> </select>
<update id="updateCylinderCategoryByRecordBatch">
UPDATE idx_biz_jg_register_info
SET "CYLINDER_CATEGORY" = #{cylinderCategory}
WHERE "RECORD" IN
<foreach collection="recordList" separator="," item="record" open="(" close=")">
#{record}
</foreach>
</update>
<update id="updateCylinderCategoryByEquCodeBatch" parameterType="java.util.List">
UPDATE idx_biz_jg_register_info
SET "CYLINDER_CATEGORY" = #{cylinderCategory}
WHERE "EQU_CODE" IN
<foreach collection="equCodeList" separator="," item="equCode" open="(" close=")">
#{equCode}
</foreach>
</update>
</mapper> </mapper>
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