Commit 17439dc8 authored by tianbo's avatar tianbo

Merge branch 'develop_tzs_ymt' into develop_tzs_register

parents a27df97d 9c605f0c
......@@ -24,25 +24,25 @@ public class RedissonManager {
/**
* 公共-密码
*/
@Value("${spring.redis.password}")
@Value("${spring.redis.password:default}")
private String password;
/**
* 单机环境使用
*/
@Value("${spring.redis.host}")
@Value("${spring.redis.host:default}")
private String host;
/**
* 单机环境使用
*/
@Value("${spring.redis.port}")
@Value("${spring.redis.port:6379}")
private String port;
/**
* 单机环境使用
*/
@Value("${spring.redis.database}")
@Value("${spring.redis.database:0}")
private int database;
@Bean
......
......@@ -62,6 +62,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.time.temporal.ChronoUnit;
import java.util.ArrayList;
......@@ -864,7 +865,7 @@ public class AlertCalledServiceImpl extends BaseService<AlertCalledDto,AlertCall
private long calculateExpirationTime() {
LocalDateTime now = LocalDateTime.now();
LocalDateTime nextDay = now.plus(1, ChronoUnit.DAYS).withHour(0).withMinute(0).withSecond(0).withNano(0);
return nextDay.toInstant(ZoneOffset.of("+0")).toEpochMilli();
return nextDay.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
}
......
......@@ -88,12 +88,12 @@ public class TzsCitInfoServiceImpl extends BaseService<TzsCitInfoDto, TzsCitInfo
return massage;
}
}
if(!extphone.equals(tzsCitInfo.getExtphone())) {
if (!ValidationUtil.isEmpty(this.list(new LambdaQueryWrapper<TzsCitInfo>().eq(TzsCitInfo::getExtphone, tzsCitInfo.getExtphone())))) {
massage = "登录坐席参数extphone已存在,不可重复添加!";
return massage;
}
}
// if(!extphone.equals(tzsCitInfo.getExtphone())) {
// if (!ValidationUtil.isEmpty(this.list(new LambdaQueryWrapper<TzsCitInfo>().eq(TzsCitInfo::getExtphone, tzsCitInfo.getExtphone())))) {
// massage = "登录坐席参数extphone已存在,不可重复添加!";
// return massage;
// }
// }
//保存数据
if(!ValidationUtil.isEmpty(tzsCitInfo.getCtiUserId())) {
......
package com.yeejoin.amos.boot.module.app.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "OtherEquBaseInfoForWXModel", description = "")
public class CylinderEquBaseInfoForWXModel extends EquipTechParamBoilerModel{
@ApiModelProperty(value = "气瓶充装介M质")
private String fillingMedium;
@ApiModelProperty(value = "充装量")
private String fillingCapacity;
@ApiModelProperty(value = "最近一次充装时间")
private String lastFillingTime;
@ApiModelProperty(value = "使用期限")
private String termOfUse;
}
......@@ -6,32 +6,17 @@ import lombok.Data;
@Data
@ApiModel(value = "ElevatorBaseInfoForWXModel", description = "")
public class ElevatorBaseInfoForWXModel {
public class ElevatorBaseInfoForWXModel extends EquBaseInfoForWXModel{
@ApiModelProperty(value = "电梯识别码")
private String code96333;
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "制造单位名")
private String produceUnitName;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = "所属区域")
private String area;
@ApiModelProperty(value = "使用地址")
private String address;
@ApiModelProperty(value = "单位内编号")
private String intraUnitNumber;
}
package com.yeejoin.amos.boot.module.app.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "EquBaseInfoForWXModel", description = "")
public class EquBaseInfoForWXModel {
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "设备类别")
private String equCategory;
@ApiModelProperty(value = "所属区域")
private String county;
@ApiModelProperty(value = "单位内编号")
private String intraUnitNumber;
}
......@@ -6,30 +6,11 @@ import lombok.Data;
@Data
@ApiModel(value = "OtherEquBaseInfoForWXModel", description = "")
public class OtherEquBaseInfoForWXModel {
@ApiModelProperty(value = "设备代码")
private String equCode;
@ApiModelProperty(value = "使用登记证编号")
private String useOrgCode;
@ApiModelProperty(value = "设备类别")
private String equCategory;
public class OtherEquBaseInfoForWXModel extends EquBaseInfoForWXModel{
@ApiModelProperty(value = "制造单位名")
private String produceUnitName;
@ApiModelProperty(value = "出厂编号")
private String factoryNum;
@ApiModelProperty(value = "所属区域")
private String area;
@ApiModelProperty(value = "使用地址")
private String address;
@ApiModelProperty(value = "单位内编号")
private String intraUnitNumber;
}
......@@ -11,7 +11,8 @@ import org.typroject.tyboot.core.restful.utils.ResponseModel;
import java.util.List;
import java.util.Map;
@FeignClient(value = "AMOS-IDX", path = "idx", configuration = {FeignConfiguration.class})
@FeignClient(value = "AMOS-IDX", path = "idx", configuration =
{FeignConfiguration.class})
public interface IdxFeignService {
@RequestMapping("/dimensionTable/getTreeChildIds")
......
......@@ -8,14 +8,57 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.biz.common.dao.mapper.DataDictionaryMapper;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.utils.QRCodeUtil;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.app.api.common.CommonException;
import com.yeejoin.amos.boot.module.app.api.common.MobileLoginParam;
import com.yeejoin.amos.boot.module.app.api.dto.*;
import com.yeejoin.amos.boot.module.app.api.entity.*;
import com.yeejoin.amos.boot.module.app.api.dto.ConstructionInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.CylinderEquBaseInfoForWXModel;
import com.yeejoin.amos.boot.module.app.api.dto.DesignInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.ElevatorBaseInfoForWXModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquBaseInfoForWXModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamBoilerModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamElevatorModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamLiftingModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamPipelineModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamRidesModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamRopewayModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamVehicleModel;
import com.yeejoin.amos.boot.module.app.api.dto.EquipTechParamVesselModel;
import com.yeejoin.amos.boot.module.app.api.dto.InspectionDetectionInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.InspectionDetectionInfoModelForWX;
import com.yeejoin.amos.boot.module.app.api.dto.MainPartsModel;
import com.yeejoin.amos.boot.module.app.api.dto.MaintenanceInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.MaintenanceInfoModelForWX;
import com.yeejoin.amos.boot.module.app.api.dto.OtherEquBaseInfoForWXModel;
import com.yeejoin.amos.boot.module.app.api.dto.OtherInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.ProduceInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.ProtectionDevicesModel;
import com.yeejoin.amos.boot.module.app.api.dto.RegistrationInfoModel;
import com.yeejoin.amos.boot.module.app.api.dto.UseInfoModel;
import com.yeejoin.amos.boot.module.app.api.entity.CategoryOtherInfo;
import com.yeejoin.amos.boot.module.app.api.entity.ConstructionInfo;
import com.yeejoin.amos.boot.module.app.api.entity.DesignInfo;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamBoiler;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamElevator;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamLifting;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamPipeline;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamRides;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamRopeway;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamVehicle;
import com.yeejoin.amos.boot.module.app.api.entity.EquipTechParamVessel;
import com.yeejoin.amos.boot.module.app.api.entity.EquipmentCategory;
import com.yeejoin.amos.boot.module.app.api.entity.InspectionDetectionInfo;
import com.yeejoin.amos.boot.module.app.api.entity.MainParts;
import com.yeejoin.amos.boot.module.app.api.entity.MaintenanceInfo;
import com.yeejoin.amos.boot.module.app.api.entity.OtherInfo;
import com.yeejoin.amos.boot.module.app.api.entity.ProduceInfo;
import com.yeejoin.amos.boot.module.app.api.entity.ProtectionDevices;
import com.yeejoin.amos.boot.module.app.api.entity.RegistrationInfo;
import com.yeejoin.amos.boot.module.app.api.entity.UseInfo;
import com.yeejoin.amos.boot.module.app.api.enums.EquipmentClassifityEnum;
import com.yeejoin.amos.boot.module.app.api.mapper.CategoryOtherInfoMapper;
import com.yeejoin.amos.boot.module.app.api.mapper.EquipmentCategoryMapper;
......@@ -23,7 +66,6 @@ import com.yeejoin.amos.boot.module.app.api.mapper.ViewJgClaimMapper;
import com.yeejoin.amos.boot.module.app.biz.utils.HttpUtils;
import com.yeejoin.amos.boot.module.app.biz.utils.JsonUtils;
import com.yeejoin.amos.boot.module.app.flc.api.feign.IdxFeignService;
import com.yeejoin.amos.boot.module.app.flc.api.mapper.RegUnitInfoMapper;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.Privilege;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -59,734 +101,734 @@ import java.io.InputStream;
import java.lang.reflect.Field;
import java.security.AlgorithmParameters;
import java.security.Security;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
@Slf4j
public class TzsAppService {
@Autowired
DesignInfoService designInfoService;
@Value("classpath:/json/equipCategory.json")
private Resource equipCategory;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
@Autowired
IdxFeignService idxFeignService;
@Autowired
EquipmentCategoryMapper equipmentCategoryMapper;
@Autowired
EquipmentCategoryServiceImpl equipmentCategoryServiceImpl;
@Autowired
ProduceInfoService produceInfoService;
@Autowired
ConstructionInfoService constructionInfoService;
@Autowired
RegistrationInfoService registrationInfoService;
@Autowired
EquipTechParamBoilerService boilerService;
@Autowired
EquipTechParamElevatorService elevatorService;
@Autowired
EquipTechParamLiftingService liftingService;
@Autowired
EquipTechParamPipelineService pipelineService;
@Autowired
EquipTechParamRidesService ridesService;
@Autowired
EquipTechParamRopewayService ropewayService;
@Autowired
EquipTechParamVehicleService vehicleService;
@Autowired
EquipTechParamVesselService vesselService;
@Autowired
MainPartsServiceImpl mainPartsService;
@Autowired
ProtectionDevicesServiceImpl protectionDevicesService;
@Autowired
UseInfoService unseInfoService;
@Autowired
MaintenanceInfoService maintenanceInfoService;
@Autowired
InspectionDetectionInfoServiceImpl inspectionDetectionInfoService;
@Autowired
OtherInfoService otherInfoService;
@Autowired
CategoryOtherInfoMapper categoryOtherInfoMapper;
@Autowired
RedisUtils redisUtils;
@Value("${tzs.WxApp.appId}")
String WxAppAppId ;
@Value("${tzs.WxApp.secret}")
String WxAppSecret;
@Value("${tzs.WxApp.grant-type}")
String WxAppGrantType;
@Value("${minio.url.path}")
String minioPath;
@Autowired
private RegUnitInfoMapper regUnitInfoMapper;
@Autowired
ViewJgClaimMapper viewJgClaimMapper;
public static final String WXUSER_TOKEN = "wxUser_token";
/**
* token 过期时间,wechat 系统为7200 ,tzs 系统小于7200 防止获取到无效token
*/
private long time = 6000l;
/**
* 产品appkey
*/
private static final String appKey = "AMOS_STUDIO";
/**
* 产品product
*/
private static final String product = "AMOS_STUDIO_WEB";
private static final String regionRedis="app_region_redis";
private final int successsCode = 200;
public Map<String, Object> getEquipmentInfo(String record) {
List<DataDictionary> dictionaryList = getDictionary();
List<EquipmentCategory> equipmentCategories = equipmentCategoryMapper.selectList(null);
Map<String, Object> map = new HashMap();
map.put("SEQUENCE_NBR", record);
map.put("tableName", "idx_biz_view_jg_claim");
ResponseModel<Page<Map<String, Object>>> model=idxFeignService.getPage(map);
List<Map<String, Object>> detialMapList = model.getResult().getRecords();
if (!ValidationUtil.isEmpty(detialMapList)) {
map = detialMapList.iterator().next();
}
map.putAll(getQRCode(record));
JSONArray jsonArray = new JSONArray();
// 出厂
JSONObject exFactoryJsonObject = new JSONObject();
List exFactoryList = new ArrayList();
getGroupList(null ,record, DesignInfo.class, DesignInfoModel.class, designInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, ProduceInfo.class, ProduceInfoModel.class, produceInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
exFactoryJsonObject.put("title", "出厂");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 施工
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null ,record, ConstructionInfo.class, ConstructionInfoModel.class, constructionInfoService, constructionList, true,dictionaryList,equipmentCategories);
constructionJsonObject.put("title", "施工");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
// 注册
JSONObject registrationJsonObject = new JSONObject();
List registrationList = new ArrayList();
getGroupList(null ,record, RegistrationInfo.class, RegistrationInfoModel.class, registrationInfoService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamBoiler.class, EquipTechParamBoilerModel.class, boilerService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamElevator.class, EquipTechParamElevatorModel.class, elevatorService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamLifting.class, EquipTechParamLiftingModel.class, elevatorService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamPipeline.class, EquipTechParamPipelineModel.class, pipelineService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamRides.class, EquipTechParamRidesModel.class, ridesService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamRopeway.class, EquipTechParamRopewayModel.class, ropewayService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamVehicle.class, EquipTechParamVehicleModel.class, vehicleService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, EquipTechParamVessel.class, EquipTechParamVesselModel.class, vesselService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, MainParts.class, MainPartsModel.class, mainPartsService, registrationList, false,dictionaryList,equipmentCategories);
getGroupList(null ,record, ProtectionDevices.class, ProtectionDevicesModel.class, protectionDevicesService, registrationList, false,dictionaryList,equipmentCategories);
registrationJsonObject.put("title", "注册");
registrationJsonObject.put("tabValue", registrationList);
jsonArray.add(registrationJsonObject);
// 使用
JSONObject useJsonObject = new JSONObject();
List useList = new ArrayList();
getGroupList(null ,record, UseInfo.class, UseInfoModel.class, unseInfoService, useList, false,dictionaryList,equipmentCategories);
useJsonObject.put("title", "使用");
useJsonObject.put("tabValue", useList);
jsonArray.add(useJsonObject);
// 维保
JSONObject maintenanceJsonObject = new JSONObject();
List maintenanceList = new ArrayList();
getGroupList(null ,record, MaintenanceInfo.class, MaintenanceInfoModel.class, maintenanceInfoService, maintenanceList, true,dictionaryList,equipmentCategories);
maintenanceJsonObject.put("title", "维保");
maintenanceJsonObject.put("tabValue", maintenanceList);
jsonArray.add(maintenanceJsonObject);
// 检验
JSONObject inspectionJsonObject = new JSONObject();
List inspectionList = new ArrayList();
getGroupList(null ,record, InspectionDetectionInfo.class, InspectionDetectionInfoModel.class, inspectionDetectionInfoService, inspectionList, true,dictionaryList,equipmentCategories);
inspectionJsonObject.put("title", "检验");
inspectionJsonObject.put("tabValue", inspectionList);
jsonArray.add(inspectionJsonObject);
// 其他
JSONObject otherJsonObject = new JSONObject();
List otherList = new ArrayList();
getGroupList(null ,record, OtherInfo.class, OtherInfoModel.class, otherInfoService, otherList, false,dictionaryList,equipmentCategories);
otherJsonObject.put("title", "其他");
otherJsonObject.put("tabValue", otherList);
jsonArray.add(otherJsonObject);
map.put("tab", jsonArray);
return map;
}
public Map<String, Object> getEquipmentInfoWX(String record) {
List<DataDictionary> dictionaryList = getDictionary();
List<EquipmentCategory> equipmentCategories = equipmentCategoryMapper.selectList(null);
Map<String, Object> map = new HashMap();
map.put("SEQUENCE_NBR", record);
map.put("tableName", "idx_biz_view_jg_claim");
ResponseModel<Page<Map<String, Object>>> model=idxFeignService.getPage(map);
List<Map<String, Object>> detialMapList = model.getResult().getRecords();
if (!ValidationUtil.isEmpty(detialMapList)) {
map = detialMapList.iterator().next();
}
map.putAll(getQRCode(record));
if(map.get("EQU_LIST_CODE").equals("3000")) {
JSONArray jsonArray = new JSONArray();
// 基本信息
JSONObject exFactoryJsonObject = new JSONObject();
List exFactoryList = new ArrayList();
HashMap putMap = new HashMap();
Field[] fields = ElevatorBaseInfoForWXModel.class.getDeclaredFields();
for (Field f :fields
) {
putMap.put(f.getName(),"");
}
getGroupList( putMap ,record, RegistrationInfo.class, ElevatorBaseInfoForWXModel.class, registrationInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, DesignInfo.class, ElevatorBaseInfoForWXModel.class, designInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap ,record, OtherInfo.class, ElevatorBaseInfoForWXModel.class, otherInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, UseInfo.class, ElevatorBaseInfoForWXModel.class, unseInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, ProduceInfo.class, ElevatorBaseInfoForWXModel.class, produceInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
if(exFactoryList.size() > 0) {
String area = map.get("USE_PLACE").toString();
JSONObject jsonObject = (JSONObject) exFactoryList.get(0);
List<HashMap<String, Object>> groupValue = (List<HashMap<String, Object>>) jsonObject.get("groupValue");
groupValue.forEach(e->{
e.put("fieldValue", putMap.get(e.get("fieldKey")));
if(e.get("fieldKey").equals("area")) {
e.put("fieldValue", area);
}
});
Object ob = exFactoryList.get(0);
exFactoryList.clear();
exFactoryList.add(ob);
}
exFactoryJsonObject.put("title", "基本信息");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 最近检验信息
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null ,record, InspectionDetectionInfo.class, InspectionDetectionInfoModelForWX.class, constructionInfoService, constructionList, true,dictionaryList,equipmentCategories);
constructionJsonObject.put("title", "最近检验信息");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
// 设备维保信息
JSONObject useJsonObject = new JSONObject();
List useList = new ArrayList();
getGroupList(null ,record, MaintenanceInfo.class, MaintenanceInfoModelForWX.class, unseInfoService, useList, false,dictionaryList,equipmentCategories);
useJsonObject.put("title", "设备维保信息");
useJsonObject.put("tabValue", useList);
jsonArray.add(useJsonObject);
map.put("tab", jsonArray);
} else {
JSONArray jsonArray = new JSONArray();
// 基本信息
JSONObject exFactoryJsonObject = new JSONObject();
List exFactoryList = new ArrayList();
HashMap putMap = new HashMap();
Field[] fields = OtherEquBaseInfoForWXModel.class.getDeclaredFields();
for (Field f :fields
) {
putMap.put(f.getName(),"");
}
getGroupList( putMap ,record, RegistrationInfo.class, OtherEquBaseInfoForWXModel.class, registrationInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, DesignInfo.class, OtherEquBaseInfoForWXModel.class, designInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap ,record, OtherInfo.class, OtherEquBaseInfoForWXModel.class, otherInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, UseInfo.class, OtherEquBaseInfoForWXModel.class, unseInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
getGroupList( putMap , record, ProduceInfo.class, OtherEquBaseInfoForWXModel.class, produceInfoService, exFactoryList, false,dictionaryList,equipmentCategories);
if(exFactoryList.size() > 0) {
JSONObject jsonObject = (JSONObject) exFactoryList.get(0);
List<HashMap<String, Object>> groupValue = (List<HashMap<String, Object>>) jsonObject.get("groupValue");
groupValue.forEach(e->{
e.put("fieldValue", putMap.get(e.get("fieldKey")));
});
Object ob = exFactoryList.get(0);
exFactoryList.clear();
exFactoryList.add(ob);
}
exFactoryJsonObject.put("title", "基本信息");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 最近检验信息
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null ,record, InspectionDetectionInfo.class, InspectionDetectionInfoModelForWX.class, constructionInfoService, constructionList, true,dictionaryList,equipmentCategories);
constructionJsonObject.put("title", "最近检验信息");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
}
return map;
}
public void getGroupList( HashMap putMap, String record, Class entity, Class dto, BaseService service, List list, boolean isOne,List<DataDictionary> dictionaryList,List<EquipmentCategory> equipmentCategories) {
TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), entity);
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("RECORD", record);
if (isOne) {
wrapper.orderByDesc("REC_DATE");
}
List entityList = service.list(wrapper);
Iterator iterator = entityList.iterator();
JSONObject result =new JSONObject();
if (!isOne) {
if (!ValidationUtil.isEmpty(entityList)) {
if (entityList.size()>0) {
while (iterator.hasNext()) {
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(iterator.next()));
result = getFieldList(putMap ,dto, jsonObject, null,dictionaryList,equipmentCategories);
list.add(result);
}
}
}
} else {
int count = entityList.size();
JSONObject jsonObject = null;
if (count>0) {
jsonObject= JSON.parseObject(JSON.toJSONString(iterator.next()));
}else {
jsonObject=new JSONObject();
}
result = getFieldList( putMap ,dto, jsonObject, count,dictionaryList,equipmentCategories);
list.add(result);
}
}
public JSONObject getFieldList(HashMap putMap, Class clazz, JSONObject jsonObject, Integer count,List<DataDictionary> dictionaryList,List<EquipmentCategory> equipmentCategories) {
JSONObject result = new JSONObject();
JSONObject ApiModel = JSON.parseObject(JSON.toJSONString(clazz.getAnnotation(ApiModel.class)));
String groupName = ApiModel.getString("description");
Field[] declaredFields = clazz.getDeclaredFields();
List<Map<String, Object>> list = new ArrayList<>();
if (!ValidationUtil.isEmpty(declaredFields)) {
for (Field field : declaredFields) {
if (field.getAnnotation(ApiModelProperty.class) != null && !ValidationUtil.isEmpty(field.getAnnotation(ApiModelProperty.class).value())) {
Map<String, Object> map = new HashMap<>();
String filedName = field.getAnnotation(ApiModelProperty.class).value();
// key和value可根据需求存
// 这存的key为注解的值,value为类属性名
map.put("fieldName", filedName);
map.put("fieldKey", field.getName());
if (!ValidationUtil.isEmpty(jsonObject)) {
map.put("fieldValue", jsonObject.getString(field.getName()));
getCon(field.getName(),jsonObject,map,clazz,dictionaryList,equipmentCategories);
}else {
map.put("fieldValue", "");
}
if(null != putMap && putMap.containsKey(field.getName())) {
if(null != map.get("fieldValue")) {
putMap.put(field.getName(), map.get("fieldValue"));
}
}
list.add(map);
}
}
}
// 整理出现多个附件的情况
Iterator<Map<String, Object>> iterator = list.iterator();
JSONArray array = new JSONArray();
Boolean bool = true;
String name = "";
while (iterator.hasNext()) {
Map<String, Object> map = iterator.next();
String fieldName = map.get("fieldName").toString();
if (fieldName.contains("附件")) {
if (bool) {
// 第一个出现的附件名称为表单显示的名称
name = fieldName;
bool = false;
}
if (!ValidationUtil.isEmpty(map.get("fieldValue"))) {
JSONArray jsonArray = JSON.parseArray(String.valueOf(map.get("fieldValue")));
JSONArray json = new JSONArray();
for (Object obj : jsonArray) {
JSONObject object = JSON.parseObject(JSON.toJSONString(obj));
if (!ValidationUtil.isEmpty(object)) {
object.getString("url");
object.put("url",object.getString("url"));
json.add(object);
}
}
array.addAll(json);
}
// 删除所有附件
iterator.remove();
}
}
// 如果有附件 整理为一个附件 添加入list里
if (!bool) {
Map<String, Object> map = new HashMap<>();
map.put("fieldKey", "files");
map.put("fieldValue", array);
map.put("fieldName", name);
list.add(map);
}
if (!ValidationUtil.isEmpty(count)) {
result.put("groupCount", count);
}
result.put("groupName", ApiModel.getString("description"));
result.put("groupKey", ApiModel.getString("value"));
result.put("groupValue", list);
return result;
}
/**
* 获取焊口编号
*
* @return
*/
public JSONObject getQRCode(String code) {
String url = "";
JSONObject jsonObject = new JSONObject();
byte[] bytes = QRCodeUtil.generateQRCodeImageByteData(code, 50);
InputStream inputStream = new ByteArrayInputStream(bytes);
try {
MultipartFile file = new MockMultipartFile(code + ".jpg", code + ".jpg", ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
FeignClientResult<Map<String, String>> date = Systemctl.fileStorageClient.updateCommonFileFree(file, "ugp/qrcode");
if (date != null) {
Map<String, String> map = date.getResult();
Iterator<String> it = map.keySet().iterator();
String urlString = it.next();
jsonObject.put("fileUrl", urlString);
jsonObject.put("fileName", code);
}
} catch (IOException e) {
e.printStackTrace();
}
return jsonObject;
}
public Object getEquipInfoBySuperviseCode(String supervisoryCode) {
CategoryOtherInfo categoryOtherInfo = categoryOtherInfoMapper.selectOne(new QueryWrapper<CategoryOtherInfo>().eq("SUPERVISORY_CODE", supervisoryCode));
return ObjectUtils.isEmpty(categoryOtherInfo) ? null : getEquipmentInfo(categoryOtherInfo.getRecord());
}
public Map<String, Object> login(MobileLoginParam param) {
Map<String, Object> result = new LinkedHashMap<>();
IdPasswordAuthModel idPasswordAuthModel = new IdPasswordAuthModel();
idPasswordAuthModel.setLoginId(param.getPhoneNo());
idPasswordAuthModel.setPassword(param.getVerifyCode());
FeignClientResult<Map<String, String>> idpassword = new FeignClientResult<>();
RequestContext.setToken("");
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
try {
idpassword = Privilege.authClient.idpassword(idPasswordAuthModel);
} catch (Exception e) {
e.printStackTrace();
}
if (idpassword.getStatus() != successsCode) {
log.error("远程调用Privilege服务失败", idpassword.getDevMessage());
String message = idpassword.getMessage();
if (StringUtils.isEmpty(message)) {
message = "账号或密码错误";
}
throw new CommonException(600001, message);
}
if (ValidationUtil.isEmpty(idpassword) || ValidationUtil.isEmpty(idpassword.getResult()) ||
ValidationUtil.isEmpty(idpassword.getResult().get("userId"))) {
log.error("未修改成功");
return new HashMap<String, Object>();
}
HashMap<Object, Object> authInfo = new HashMap<>();// 设置authInfo信息
authInfo.put("token", idpassword.getResult().get("token"));
authInfo.put("personId", idpassword.getResult().get("userId"));
authInfo.put("appKey", appKey);
authInfo.put("product", product);
result.put("authInfo", authInfo);
//查询用户信息
RequestContext.setToken(idpassword.getResult().get("token"));
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();
getme.getResult().setPassword("");
getme.getResult().setAppCodes(new ArrayList());
result.put("userInfo", getme.getResult());
return result;
}
@SneakyThrows
public JSONObject wxUserLogin(JSONObject wx) {
JSONObject obj = getSessionKey(wx);
String sessionKey = obj.getString("session_key");
//被加密的数据
byte[] dataByte = Base64.getDecoder().decode(wx.getString("encryptedData"));
//加密秘钥
byte[] keyByte = Base64.getDecoder().decode(sessionKey);
//偏移量
byte[] ivByte = Base64.getDecoder().decode(wx.getString("iv"));
JSONObject res=null;
// 如果密钥不足16位,那么就补足. 这个if 中的内容很重要
int base = 16;
if (keyByte.length % base != 0) {
int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0);
byte[] temp = new byte[groups * base];
Arrays.fill(temp, (byte) 0);
System.arraycopy(keyByte, 0, temp, 0, keyByte.length);
keyByte = temp;
}
// 初始化
Security.addProvider(new BouncyCastleProvider());
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding","BC");
SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");
AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES");
parameters.init(new IvParameterSpec(ivByte));
cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化
byte[] resultByte = cipher.doFinal(dataByte);
if (null != resultByte && resultByte.length > 0) {
String result = new String(resultByte, "UTF-8");
res=JSONObject.parseObject(result);
return res ;
}
return res;
}
private JSONObject getSessionKey(JSONObject wx) {
StringBuffer buffer = new StringBuffer("https://api.weixin.qq.com/sns/jscode2session?appid=")
.append(WxAppAppId).append("&secret=").append(WxAppSecret).append("&js_code=").append(wx.getString("js_code"))
.append("&grant_type=").append(WxAppGrantType);
String responseStr = HttpUtils.doGet(buffer.toString());
JSONObject response = JSONObject.parseObject(responseStr);
return response;
}
public Page equipmentCount(String companyCode) {
Page page = new Page<>();
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory);
List<Map<String, Object>> mapList = resourceJson.get(EquipmentClassifityEnum.BDLS.getCode());
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> listMap = equipmentCategoryMapper.getCategoryCount(companyCode);
for (Map<String, Object> map : mapList) {
for (Map<String, Object> map1 : listMap) {
if (map.get("code").equals(map1.get("category"))) {
map.put("waitClaim", map1.get("waitClaim"));
map.put("alreadyClaim", map1.get("alreadyClaim"));
map.put("refuseClaim", map1.get("refuseClaim"));
Long sum = Long.valueOf(map1.get("waitClaim").toString()) + Long.valueOf(map1.get("alreadyClaim").toString()) + Long.valueOf(map1.get("refuseClaim").toString());
map.put("sum", sum);
}
}
list.add(map);
}
page.setCurrent(1);
page.setTotal(list.size());
page.setRecords(list);
return page;
}
public Page<Map<String,Object>> getTable(Map<String, Object> map) {
Page<Map<String, Object>> table=null;
String teqy = (String)map.get("teqy");
if (ValidationUtil.isEmpty(teqy) ) {
table = equipmentCategoryServiceImpl.getTable(map);
}else {
map.remove("teqy");
table = idxFeignService.getPage(map).getResult();
}
return table;
}
public JSONArray getRegionName(){
JSONArray jsonArray = new JSONArray();
if (redisUtils.hasKey(regionRedis)) {
jsonArray= JSONArray.parseArray(redisUtils.get(regionRedis).toString());
}else {
Collection<RegionModel> regionChild = new ArrayList<>();
RegionModel regionModel1 = new RegionModel();
regionChild.add(regionModel1);
FeignClientResult<Collection<RegionModel>> collectionFeignClientResult = Systemctl.regionClient.queryForTreeParent(610000L);
Collection<RegionModel> result = collectionFeignClientResult.getResult();
for (RegionModel regionModel : result) {
for (RegionModel child : regionModel.getChildren()) {
for (RegionModel childChild : child.getChildren()) {
jsonArray.add(childChild);
}
child.setChildren(regionChild);
jsonArray.add(child);
}
regionModel.setChildren(regionChild);
jsonArray.add(regionModel);
}
redisUtils.set(regionRedis,jsonArray);
}
return jsonArray;
}
//查询字典值(只针对设备一码通详情字典,其他勿用)
public List<DataDictionary> getDictionary(){
LambdaQueryWrapper<DataDictionary> wrapper = new LambdaQueryWrapper<>();
wrapper.ge(DataDictionary::getSequenceNbr ,5951L).le(DataDictionary::getSequenceNbr ,6529L);
List<DataDictionary> dataDictionaryList = dataDictionaryMapper.selectList(wrapper);
return dataDictionaryList;
}
public void getCon(String fileName,JSONObject jsonObject,Map<String, Object> map,Class clazz,List<DataDictionary> dictionaryList,List<EquipmentCategory> equipmentCategories) {
if ("province".indexOf(fileName) != -1 || "city".indexOf(fileName) != -1 || "county".indexOf(fileName) != -1) {
JSONArray regionName = getRegionName();
List<RegionModel> list = JSONArray.parseArray(regionName.toJSONString(),RegionModel.class);
for (RegionModel re : list) {
if (re.getRegionCode().equals(Integer.valueOf(jsonObject.getString(fileName)))) {
map.put("fieldValue", re.getRegionName());
}
}
}
if ("designStandard".indexOf(fileName) !=-1) {
JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString(fileName));
map.put("fieldValue", jsonArray);
}
getIf("imported",fileName,"BOOLEN",dictionaryList,jsonObject,map);
getIf("changes",fileName,"BGSX",dictionaryList,jsonObject,map);
getIf("usePlace",fileName,"ADDRESS",dictionaryList,jsonObject,map);
getIf("equManageDt",fileName,"ZGBM",dictionaryList,jsonObject,map);
getIf("equState",fileName,"SHZT",dictionaryList,jsonObject,map);
getIf("denselyPopulatedAreas",fileName,"BOOLEN",dictionaryList,jsonObject,map);
getIf("importantPlaces",fileName,"BOOLEN",dictionaryList,jsonObject,map);
getIf("registerState",fileName,"ZC",dictionaryList,jsonObject,map);
getIf("inspectType",fileName,"JYLX",dictionaryList,jsonObject,map);
getIf("inspectConclusion",fileName,"JYJL",dictionaryList,jsonObject,map);
getIf("constructionType",fileName,"SGLX",dictionaryList,jsonObject,map);
for (EquipmentCategory equipmentCategory : equipmentCategories) {
if ("equDefine".indexOf(fileName) != -1 && !ValidationUtil.isEmpty(equipmentCategory) && !ValidationUtil.isEmpty(equipmentCategory.getCode()) &&
!ValidationUtil.isEmpty(fileName) && !ValidationUtil.isEmpty(jsonObject.getString(fileName)) && equipmentCategory.getCode().indexOf(jsonObject.getString(fileName)) !=-1) {
map.put("fieldValue",equipmentCategory.getName() );
}
if ("equCategory".indexOf(fileName) != -1 && !ValidationUtil.isEmpty(equipmentCategory) && !ValidationUtil.isEmpty(equipmentCategory.getCode()) &&
!ValidationUtil.isEmpty(fileName) && !ValidationUtil.isEmpty(jsonObject.getString(fileName)) && equipmentCategory.getCode().indexOf(jsonObject.getString(fileName)) !=-1) {
map.put("fieldValue",equipmentCategory.getName() );
}
}
getIf("carrierLine",fileName,"YZS",dictionaryList,jsonObject,map);
getIf("deviceLevel",fileName,"GLJB",dictionaryList,jsonObject,map);
getIf("fuelType",fileName,"GLZL",dictionaryList,jsonObject,map);
getIf("nameOfPressureParts",fileName,"GLBJMC",dictionaryList,jsonObject,map);
getIf("nonDestructiveTestingMethodsForPressureParts",fileName,"GLWSJCFF",dictionaryList,jsonObject,map);
getIf("qpLossless",fileName,"RQJCFF",dictionaryList,jsonObject,map);
getIf("glLossless",fileName,"RQJCFF",dictionaryList,jsonObject,map);
getIf("mainStructureType",fileName,"RQJG",dictionaryList,jsonObject,map);
getIf("checkLossless",fileName,"RQJCFF",dictionaryList,jsonObject,map);
getIf("pipelineClass",fileName,"GDLB",dictionaryList,jsonObject,map);
getIf("deviceLevel",fileName,"GBI",dictionaryList,jsonObject,map);
getIf("workLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("mainStructureType",fileName,"JGS",dictionaryList,jsonObject,map);
getIf("luffingMode",fileName,"BFFS",dictionaryList,jsonObject,map);
getIf("towerStandardType",fileName,"JXS",dictionaryList,jsonObject,map);
getIf("baseType",fileName,"JZXS",dictionaryList,jsonObject,map);
getIf("outriggerType",fileName,"ZT",dictionaryList,jsonObject,map);
getIf("mainBeamType",fileName,"ZLXS",dictionaryList,jsonObject,map);
getIf("boomType",fileName,"BJXS",dictionaryList,jsonObject,map);
getIf("boomStructureType",fileName,"BJJGXS",dictionaryList,jsonObject,map);
getIf("gantryStructureType",fileName,"MJJG",dictionaryList,jsonObject,map);
getIf("use",fileName,"YT",dictionaryList,jsonObject,map);
getIf("controlMode",fileName,"CZFS",dictionaryList,jsonObject,map);
getIf("hangingCagesNumber",fileName,"DLSL",dictionaryList,jsonObject,map);
getIf("driveMechanismType",fileName,"QDJG",dictionaryList,jsonObject,map);
getIf("guideRailFrame",fileName,"DS",dictionaryList,jsonObject,map);
getIf("liftingDriveMode",fileName,"QD",dictionaryList,jsonObject,map);
getIf("operationMode",fileName,"JXCZ",dictionaryList,jsonObject,map);
getIf("liftingMode",fileName,"QSFS",dictionaryList,jsonObject,map);
getIf("explosionProofGrade",fileName,"FBDJ",dictionaryList,jsonObject,map);
getIf("hoistWorkingLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("bigcarTraveWorkingLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("smallcarTraveWorkingLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("hoistWorkingLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("smallcarSideswayWorkingLevel",fileName,"GZJB",dictionaryList,jsonObject,map);
getIf("partName",fileName,"ZYLBJ",dictionaryList,jsonObject,map);
getIf("workType",fileName,"GZLX",dictionaryList,jsonObject,map);
getIf("controlMode",fileName,"KZFS",dictionaryList,jsonObject,map);
getIf("jackingType",fileName,"DSXS",dictionaryList,jsonObject,map);
getIf("explosionproofType",fileName,"FBXS",dictionaryList,jsonObject,map);
getIf("explosionproofGrade",fileName,"FBDJ",dictionaryList,jsonObject,map);
getIf("xgxlMediaType",fileName,"XGJZZL",dictionaryList,jsonObject,map);
getIf("designation",fileName,"KYSDBJMC",dictionaryList,jsonObject,map);
getIf("designation",fileName,"CCFJDCLLBJMC",dictionaryList,jsonObject,map);
getIf("isMonitor",fileName,"HAVE",dictionaryList,jsonObject,map);
if ("equList".indexOf(fileName) !=-1) {
String equList = EquipmentClassifityEnum.getName.get(jsonObject.getString(fileName));
map.put("fieldValue", equList);
}
}
public void getIf(String name,String fileName,String type,List<DataDictionary> dictionaryList,JSONObject jsonObject,Map<String, Object> map){
if (name.indexOf(fileName) != -1) {
List<DataDictionary> list = dictionaryList.stream().filter(t -> t.getType().equals(type) && t.getCode().equals(jsonObject.getString(fileName))).collect(Collectors.toList());
if (list.size()>0) {
map.put("fieldValue", list.get(0).getName());
}
}
}
/**
* 产品appkey
*/
private static final String appKey = "AMOS_STUDIO";
/**
* 产品product
*/
private static final String product = "AMOS_STUDIO_WEB";
private static final String regionRedis = "app_region_redis";
private final int successsCode = 200;
@Autowired
DesignInfoService designInfoService;
@Autowired
DataDictionaryMapper dataDictionaryMapper;
@Autowired
IdxFeignService idxFeignService;
@Autowired
EquipmentCategoryMapper equipmentCategoryMapper;
@Autowired
EquipmentCategoryServiceImpl equipmentCategoryServiceImpl;
@Autowired
ProduceInfoService produceInfoService;
@Autowired
ConstructionInfoService constructionInfoService;
@Autowired
RegistrationInfoService registrationInfoService;
@Autowired
EquipTechParamBoilerService boilerService;
@Autowired
EquipTechParamElevatorService elevatorService;
@Autowired
EquipTechParamLiftingService liftingService;
@Autowired
EquipTechParamPipelineService pipelineService;
@Autowired
EquipTechParamRidesService ridesService;
@Autowired
EquipTechParamRopewayService ropewayService;
@Autowired
EquipTechParamVehicleService vehicleService;
@Autowired
EquipTechParamVesselService vesselService;
@Autowired
MainPartsServiceImpl mainPartsService;
@Autowired
ProtectionDevicesServiceImpl protectionDevicesService;
@Autowired
UseInfoService unseInfoService;
@Autowired
MaintenanceInfoService maintenanceInfoService;
@Autowired
InspectionDetectionInfoServiceImpl inspectionDetectionInfoService;
@Autowired
OtherInfoService otherInfoService;
@Autowired
CategoryOtherInfoMapper categoryOtherInfoMapper;
@Autowired
RedisUtils redisUtils;
@Value("${tzs.WxApp.appId}")
String WxAppAppId;
@Value("${tzs.WxApp.secret}")
String WxAppSecret;
@Value("${tzs.WxApp.grant-type}")
String WxAppGrantType;
@Value("${minio.url.path}")
String minioPath;
@Autowired
ViewJgClaimMapper viewJgClaimMapper;
@Value("classpath:/json/equipCategory.json")
private Resource equipCategory;
public Map<String, Object> getEquipmentInfo(String record) {
List<DataDictionary> dictionaryList = getDictionary();
List<EquipmentCategory> equipmentCategories = equipmentCategoryMapper.selectList(null);
Map<String, Object> map = new HashMap();
map.put("SEQUENCE_NBR", record);
map.put("tableName", "idx_biz_view_jg_claim");
ResponseModel<Page<Map<String, Object>>> model = idxFeignService.getPage(map);
List<Map<String, Object>> detailMapList = model.getResult().getRecords();
if (!ValidationUtil.isEmpty(detailMapList)) {
map = detailMapList.iterator().next();
}
map.putAll(getQRCode(record));
JSONArray jsonArray = new JSONArray();
// 出厂
JSONObject exFactoryJsonObject = new JSONObject();
List exFactoryList = new ArrayList();
getGroupList(null, record, DesignInfo.class, DesignInfoModel.class, designInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, ProduceInfo.class, ProduceInfoModel.class, produceInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
exFactoryJsonObject.put("title", "出厂");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 施工
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null, record, ConstructionInfo.class, ConstructionInfoModel.class, constructionInfoService, constructionList, true, dictionaryList, equipmentCategories);
constructionJsonObject.put("title", "施工");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
// 注册
JSONObject registrationJsonObject = new JSONObject();
List registrationList = new ArrayList();
getGroupList(null, record, RegistrationInfo.class, RegistrationInfoModel.class, registrationInfoService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamBoiler.class, EquipTechParamBoilerModel.class, boilerService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamElevator.class, EquipTechParamElevatorModel.class, elevatorService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamLifting.class, EquipTechParamLiftingModel.class, elevatorService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamPipeline.class, EquipTechParamPipelineModel.class, pipelineService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamRides.class, EquipTechParamRidesModel.class, ridesService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamRopeway.class, EquipTechParamRopewayModel.class, ropewayService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamVehicle.class, EquipTechParamVehicleModel.class, vehicleService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, EquipTechParamVessel.class, EquipTechParamVesselModel.class, vesselService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, MainParts.class, MainPartsModel.class, mainPartsService, registrationList, false, dictionaryList, equipmentCategories);
getGroupList(null, record, ProtectionDevices.class, ProtectionDevicesModel.class, protectionDevicesService, registrationList, false, dictionaryList, equipmentCategories);
registrationJsonObject.put("title", "注册");
registrationJsonObject.put("tabValue", registrationList);
jsonArray.add(registrationJsonObject);
// 使用
JSONObject useJsonObject = new JSONObject();
List useList = new ArrayList();
getGroupList(null, record, UseInfo.class, UseInfoModel.class, unseInfoService, useList, false, dictionaryList, equipmentCategories);
useJsonObject.put("title", "使用");
useJsonObject.put("tabValue", useList);
jsonArray.add(useJsonObject);
// 维保
JSONObject maintenanceJsonObject = new JSONObject();
List maintenanceList = new ArrayList();
getGroupList(null, record, MaintenanceInfo.class, MaintenanceInfoModel.class, maintenanceInfoService, maintenanceList, true, dictionaryList, equipmentCategories);
maintenanceJsonObject.put("title", "维保");
maintenanceJsonObject.put("tabValue", maintenanceList);
jsonArray.add(maintenanceJsonObject);
// 检验
JSONObject inspectionJsonObject = new JSONObject();
List inspectionList = new ArrayList();
getGroupList(null, record, InspectionDetectionInfo.class, InspectionDetectionInfoModel.class, inspectionDetectionInfoService, inspectionList, true, dictionaryList, equipmentCategories);
inspectionJsonObject.put("title", "检验");
inspectionJsonObject.put("tabValue", inspectionList);
jsonArray.add(inspectionJsonObject);
// 其他
JSONObject otherJsonObject = new JSONObject();
List otherList = new ArrayList();
getGroupList(null, record, OtherInfo.class, OtherInfoModel.class, otherInfoService, otherList, false, dictionaryList, equipmentCategories);
otherJsonObject.put("title", "其他");
otherJsonObject.put("tabValue", otherList);
jsonArray.add(otherJsonObject);
map.put("tab", jsonArray);
return map;
}
public Map<String, Object> getEquipmentInfoWX(String record) {
List<DataDictionary> dictionaryList = getDictionary();
List<EquipmentCategory> equipmentCategories = equipmentCategoryMapper.selectList(null);
Map<String, Object> map = new HashMap();
map.put("SEQUENCE_NBR", record);
map.put("tableName", "idx_biz_view_jg_claim");
ResponseModel<Page<Map<String, Object>>> model = idxFeignService.getPage(map);
List<Map<String, Object>> detailMapList = model.getResult().getRecords();
if (!ValidationUtil.isEmpty(detailMapList)) {
map = detailMapList.iterator().next();
}
map.putAll(getQRCode(record));
JSONArray jsonArray = new JSONArray();
JSONObject exFactoryJsonObject = new JSONObject();
List exFactoryList = new ArrayList();
HashMap putMap = new HashMap();
Field[] fields = EquBaseInfoForWXModel.class.getDeclaredFields();
for (Field f : fields) {
putMap.put(f.getName(), "");
}
if (EquipmentClassifityEnum.DT.getCode().equals(map.get("EQU_LIST_CODE"))) {
// 基本信息
Field[] fields1 = ElevatorBaseInfoForWXModel.class.getDeclaredFields();
for (Field f : fields1) {
putMap.put(f.getName(), "");
}
getGroupList(putMap, record, RegistrationInfo.class, ElevatorBaseInfoForWXModel.class, registrationInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, DesignInfo.class, ElevatorBaseInfoForWXModel.class, designInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, OtherInfo.class, ElevatorBaseInfoForWXModel.class, otherInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, UseInfo.class, ElevatorBaseInfoForWXModel.class, unseInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, ProduceInfo.class, ElevatorBaseInfoForWXModel.class, produceInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
if (exFactoryList.size() > 0) {
String area = map.get("USE_PLACE").toString();
JSONObject jsonObject = (JSONObject) exFactoryList.get(0);
List<HashMap<String, Object>> groupValue = (List<HashMap<String, Object>>) jsonObject.get("groupValue");
groupValue.forEach(e -> {
e.put("fieldValue", putMap.get(e.get("fieldKey")));
if (e.get("fieldKey").equals("area")) {
e.put("fieldValue", area);
}
});
Object ob = exFactoryList.get(0);
exFactoryList.clear();
exFactoryList.add(ob);
}
exFactoryJsonObject.put("title", "基本信息");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 最近检验信息
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null, record, InspectionDetectionInfo.class, InspectionDetectionInfoModelForWX.class, inspectionDetectionInfoService, constructionList, true, dictionaryList, equipmentCategories);
constructionJsonObject.put("title", "最近检验信息");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
// 设备维保信息
JSONObject useJsonObject = new JSONObject();
List useList = new ArrayList();
getGroupList(null, record, MaintenanceInfo.class, MaintenanceInfoModelForWX.class, unseInfoService, useList, false, dictionaryList, equipmentCategories);
useJsonObject.put("title", "设备维保信息");
useJsonObject.put("tabValue", useList);
jsonArray.add(useJsonObject);
map.put("tab", jsonArray);
} else if ("气瓶".equals(map.get("EQU_CATEGORY"))) {
// 基本信息
Field[] fields2 = CylinderEquBaseInfoForWXModel.class.getDeclaredFields();
for (Field f : fields2) {
putMap.put(f.getName(), "");
}
getGroupList(putMap, record, RegistrationInfo.class, OtherEquBaseInfoForWXModel.class, registrationInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, DesignInfo.class, OtherEquBaseInfoForWXModel.class, designInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, OtherInfo.class, OtherEquBaseInfoForWXModel.class, otherInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, UseInfo.class, OtherEquBaseInfoForWXModel.class, unseInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, ProduceInfo.class, OtherEquBaseInfoForWXModel.class, produceInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
if (exFactoryList.size() > 0) {
JSONObject jsonObject = (JSONObject) exFactoryList.get(0);
List<HashMap<String, Object>> groupValue = (List<HashMap<String, Object>>) jsonObject.get("groupValue");
groupValue.forEach(e -> {
e.put("fieldValue", putMap.get(e.get("fieldKey")));
});
Object ob = exFactoryList.get(0);
exFactoryList.clear();
exFactoryList.add(ob);
}
exFactoryJsonObject.put("title", "基本信息");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 最近检验信息
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null, record, InspectionDetectionInfo.class, InspectionDetectionInfoModelForWX.class, inspectionDetectionInfoService, constructionList, true, dictionaryList, equipmentCategories);
constructionJsonObject.put("title", "最近检验信息");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
map.put("tab", jsonArray);
} else {
// 基本信息
Field[] fields3 = OtherEquBaseInfoForWXModel.class.getDeclaredFields();
for (Field f : fields3) {
putMap.put(f.getName(), "");
}
getGroupList(putMap, record, RegistrationInfo.class, OtherEquBaseInfoForWXModel.class, registrationInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, DesignInfo.class, OtherEquBaseInfoForWXModel.class, designInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, OtherInfo.class, OtherEquBaseInfoForWXModel.class, otherInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, UseInfo.class, OtherEquBaseInfoForWXModel.class, unseInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
getGroupList(putMap, record, ProduceInfo.class, OtherEquBaseInfoForWXModel.class, produceInfoService, exFactoryList, false, dictionaryList, equipmentCategories);
if (exFactoryList.size() > 0) {
JSONObject jsonObject = (JSONObject) exFactoryList.get(0);
List<HashMap<String, Object>> groupValue = (List<HashMap<String, Object>>) jsonObject.get("groupValue");
groupValue.forEach(e -> {
e.put("fieldValue", putMap.get(e.get("fieldKey")));
});
Object ob = exFactoryList.get(0);
exFactoryList.clear();
exFactoryList.add(ob);
}
exFactoryJsonObject.put("title", "基本信息");
exFactoryJsonObject.put("tabValue", exFactoryList);
jsonArray.add(exFactoryJsonObject);
// 最近检验信息
JSONObject constructionJsonObject = new JSONObject();
List constructionList = new ArrayList();
getGroupList(null, record, InspectionDetectionInfo.class, InspectionDetectionInfoModelForWX.class, inspectionDetectionInfoService, constructionList, true, dictionaryList, equipmentCategories);
constructionJsonObject.put("title", "最近检验信息");
constructionJsonObject.put("tabValue", constructionList);
jsonArray.add(constructionJsonObject);
map.put("tab", jsonArray);
}
return map;
}
public void getGroupList(HashMap putMap, String record, Class entity, Class dto, BaseService service, List list, boolean isOne, List<DataDictionary> dictionaryList, List<EquipmentCategory> equipmentCategories) {
TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), entity);
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("RECORD", record);
if (isOne) {
wrapper.orderByDesc("REC_DATE");
}
List entityList = service.list(wrapper);
Iterator iterator = entityList.iterator();
JSONObject result;
if (!isOne) {
if (!ValidationUtil.isEmpty(entityList)) {
if (entityList.size() > 0) {
while (iterator.hasNext()) {
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(iterator.next()));
result = getFieldList(putMap, dto, jsonObject, null, dictionaryList, equipmentCategories);
list.add(result);
}
}
}
} else {
int count = entityList.size();
JSONObject jsonObject = null;
if (count > 0) {
jsonObject = JSON.parseObject(JSON.toJSONString(iterator.next()));
} else {
jsonObject = new JSONObject();
}
result = getFieldList(putMap, dto, jsonObject, count, dictionaryList, equipmentCategories);
list.add(result);
}
}
public JSONObject getFieldList(HashMap putMap, Class clazz, JSONObject jsonObject, Integer count, List<DataDictionary> dictionaryList, List<EquipmentCategory> equipmentCategories) {
JSONObject result = new JSONObject();
JSONObject ApiModel = JSON.parseObject(JSON.toJSONString(clazz.getAnnotation(ApiModel.class)));
List<Field> declaredFields = Lists.newArrayList(clazz.getSuperclass().getDeclaredFields());
declaredFields.addAll(Arrays.asList(clazz.getDeclaredFields()));
List<Map<String, Object>> list = new ArrayList<>();
if (!ValidationUtil.isEmpty(declaredFields)) {
for (Field field : declaredFields) {
if (field.getAnnotation(ApiModelProperty.class) != null && !ValidationUtil.isEmpty(field.getAnnotation(ApiModelProperty.class).value())) {
Map<String, Object> map = new HashMap<>();
String filedName = field.getAnnotation(ApiModelProperty.class).value();
// key和value可根据需求存
// 这存的key为注解的值,value为类属性名
map.put("fieldName", filedName);
map.put("fieldKey", field.getName());
if (!ValidationUtil.isEmpty(jsonObject)) {
map.put("fieldValue", jsonObject.getString(field.getName()));
getCon(field.getName(), jsonObject, map, dictionaryList, equipmentCategories);
} else {
map.put("fieldValue", "");
}
if (null != putMap && putMap.containsKey(field.getName())) {
if (null != map.get("fieldValue")) {
putMap.put(field.getName(), map.get("fieldValue"));
}
}
list.add(map);
}
}
}
// 整理出现多个附件的情况
Iterator<Map<String, Object>> iterator = list.iterator();
JSONArray array = new JSONArray();
Boolean bool = true;
String name = "";
while (iterator.hasNext()) {
Map<String, Object> map = iterator.next();
String fieldName = map.get("fieldName").toString();
if (fieldName.contains("附件")) {
if (bool) {
// 第一个出现的附件名称为表单显示的名称
name = fieldName;
bool = false;
}
if (!ValidationUtil.isEmpty(map.get("fieldValue"))) {
JSONArray jsonArray = JSON.parseArray(String.valueOf(map.get("fieldValue")));
JSONArray json = new JSONArray();
for (Object obj : jsonArray) {
JSONObject object = JSON.parseObject(JSON.toJSONString(obj));
if (!ValidationUtil.isEmpty(object)) {
object.getString("url");
object.put("url", object.getString("url"));
json.add(object);
}
}
array.addAll(json);
}
// 删除所有附件
iterator.remove();
}
}
// 如果有附件 整理为一个附件 添加入list里
if (!bool) {
Map<String, Object> map = new HashMap<>();
map.put("fieldKey", "files");
map.put("fieldValue", array);
map.put("fieldName", name);
list.add(map);
}
if (!ValidationUtil.isEmpty(count)) {
result.put("groupCount", count);
}
result.put("groupName", ApiModel.getString("description"));
result.put("groupKey", ApiModel.getString("value"));
result.put("groupValue", list);
return result;
}
/**
* 获取焊口编号
*
* @return
*/
public JSONObject getQRCode(String code) {
String url = "";
JSONObject jsonObject = new JSONObject();
byte[] bytes = QRCodeUtil.generateQRCodeImageByteData(code, 50);
InputStream inputStream = new ByteArrayInputStream(bytes);
try {
MultipartFile file = new MockMultipartFile(code + ".jpg", code + ".jpg", ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);
FeignClientResult<Map<String, String>> date = Systemctl.fileStorageClient.updateCommonFileFree(file, "ugp/qrcode");
if (date != null) {
Map<String, String> map = date.getResult();
Iterator<String> it = map.keySet().iterator();
String urlString = it.next();
jsonObject.put("fileUrl", urlString);
jsonObject.put("fileName", code);
}
} catch (IOException e) {
e.printStackTrace();
}
return jsonObject;
}
public Object getEquipInfoBySuperviseCode(String supervisoryCode) {
CategoryOtherInfo categoryOtherInfo = categoryOtherInfoMapper.selectOne(new QueryWrapper<CategoryOtherInfo>().eq("SUPERVISORY_CODE", supervisoryCode));
return ObjectUtils.isEmpty(categoryOtherInfo) ? null : getEquipmentInfo(categoryOtherInfo.getRecord());
}
public Map<String, Object> login(MobileLoginParam param) {
Map<String, Object> result = new LinkedHashMap<>();
IdPasswordAuthModel idPasswordAuthModel = new IdPasswordAuthModel();
idPasswordAuthModel.setLoginId(param.getPhoneNo());
idPasswordAuthModel.setPassword(param.getVerifyCode());
FeignClientResult<Map<String, String>> idpassword = new FeignClientResult<>();
RequestContext.setToken("");
RequestContext.setProduct(product);
RequestContext.setAppKey(appKey);
try {
idpassword = Privilege.authClient.idpassword(idPasswordAuthModel);
} catch (Exception e) {
e.printStackTrace();
}
if (idpassword.getStatus() != successsCode) {
log.error("远程调用Privilege服务失败", idpassword.getDevMessage());
String message = idpassword.getMessage();
if (StringUtils.isEmpty(message)) {
message = "账号或密码错误";
}
throw new CommonException(600001, message);
}
if (ValidationUtil.isEmpty(idpassword) || ValidationUtil.isEmpty(idpassword.getResult()) ||
ValidationUtil.isEmpty(idpassword.getResult().get("userId"))) {
log.error("未修改成功");
return new HashMap<String, Object>();
}
HashMap<Object, Object> authInfo = new HashMap<>();// 设置authInfo信息
authInfo.put("token", idpassword.getResult().get("token"));
authInfo.put("personId", idpassword.getResult().get("userId"));
authInfo.put("appKey", appKey);
authInfo.put("product", product);
result.put("authInfo", authInfo);
//查询用户信息
RequestContext.setToken(idpassword.getResult().get("token"));
FeignClientResult<AgencyUserModel> getme = Privilege.agencyUserClient.getme();
getme.getResult().setPassword("");
getme.getResult().setAppCodes(new ArrayList());
result.put("userInfo", getme.getResult());
return result;
}
@SneakyThrows
public JSONObject wxUserLogin(JSONObject wx) {
JSONObject obj = getSessionKey(wx);
String sessionKey = obj.getString("session_key");
//被加密的数据
byte[] dataByte = Base64.getDecoder().decode(wx.getString("encryptedData"));
//加密秘钥
byte[] keyByte = Base64.getDecoder().decode(sessionKey);
//偏移量
byte[] ivByte = Base64.getDecoder().decode(wx.getString("iv"));
JSONObject res = null;
// 如果密钥不足16位,那么就补足. 这个if 中的内容很重要
int base = 16;
if (keyByte.length % base != 0) {
int groups = keyByte.length / base + (keyByte.length % base != 0 ? 1 : 0);
byte[] temp = new byte[groups * base];
Arrays.fill(temp, (byte) 0);
System.arraycopy(keyByte, 0, temp, 0, keyByte.length);
keyByte = temp;
}
// 初始化
Security.addProvider(new BouncyCastleProvider());
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding", "BC");
SecretKeySpec spec = new SecretKeySpec(keyByte, "AES");
AlgorithmParameters parameters = AlgorithmParameters.getInstance("AES");
parameters.init(new IvParameterSpec(ivByte));
cipher.init(Cipher.DECRYPT_MODE, spec, parameters);// 初始化
byte[] resultByte = cipher.doFinal(dataByte);
if (null != resultByte && resultByte.length > 0) {
String result = new String(resultByte, "UTF-8");
res = JSONObject.parseObject(result);
return res;
}
return res;
}
private JSONObject getSessionKey(JSONObject wx) {
StringBuffer buffer = new StringBuffer("https://api.weixin.qq.com/sns/jscode2session?appid=")
.append(WxAppAppId).append("&secret=").append(WxAppSecret).append("&js_code=").append(wx.getString("js_code"))
.append("&grant_type=").append(WxAppGrantType);
String responseStr = HttpUtils.doGet(buffer.toString());
JSONObject response = JSONObject.parseObject(responseStr);
return response;
}
public Page equipmentCount(String companyCode) {
Page page = new Page<>();
Map<String, List<Map<String, Object>>> resourceJson = JsonUtils.getResourceJson(equipCategory);
List<Map<String, Object>> mapList = resourceJson.get(EquipmentClassifityEnum.BDLS.getCode());
List<Map<String, Object>> list = new ArrayList<>();
List<Map<String, Object>> listMap = equipmentCategoryMapper.getCategoryCount(companyCode);
for (Map<String, Object> map : mapList) {
for (Map<String, Object> map1 : listMap) {
if (map.get("code").equals(map1.get("category"))) {
map.put("waitClaim", map1.get("waitClaim"));
map.put("alreadyClaim", map1.get("alreadyClaim"));
map.put("refuseClaim", map1.get("refuseClaim"));
Long sum = Long.valueOf(map1.get("waitClaim").toString()) + Long.valueOf(map1.get("alreadyClaim").toString()) + Long.valueOf(map1.get("refuseClaim").toString());
map.put("sum", sum);
}
}
list.add(map);
}
page.setCurrent(1);
page.setTotal(list.size());
page.setRecords(list);
return page;
}
public Page<Map<String, Object>> getTable(Map<String, Object> map) {
Page<Map<String, Object>> table = null;
String teqy = (String) map.get("teqy");
if (ValidationUtil.isEmpty(teqy)) {
table = equipmentCategoryServiceImpl.getTable(map);
} else {
map.remove("teqy");
table = idxFeignService.getPage(map).getResult();
}
return table;
}
public JSONArray getRegionName() {
JSONArray jsonArray = new JSONArray();
if (redisUtils.hasKey(regionRedis)) {
jsonArray = JSONArray.parseArray(redisUtils.get(regionRedis).toString());
} else {
Collection<RegionModel> regionChild = new ArrayList<>();
RegionModel regionModel1 = new RegionModel();
regionChild.add(regionModel1);
FeignClientResult<Collection<RegionModel>> collectionFeignClientResult = Systemctl.regionClient.queryForTreeParent(610000L);
Collection<RegionModel> result = collectionFeignClientResult.getResult();
for (RegionModel regionModel : result) {
for (RegionModel child : regionModel.getChildren()) {
for (RegionModel childChild : child.getChildren()) {
jsonArray.add(childChild);
}
child.setChildren(regionChild);
jsonArray.add(child);
}
regionModel.setChildren(regionChild);
jsonArray.add(regionModel);
}
redisUtils.set(regionRedis, jsonArray);
}
return jsonArray;
}
//查询字典值(只针对设备一码通详情字典,其他勿用)
public List<DataDictionary> getDictionary() {
LambdaQueryWrapper<DataDictionary> wrapper = new LambdaQueryWrapper<>();
wrapper.ge(DataDictionary::getSequenceNbr, 5951L).le(DataDictionary::getSequenceNbr, 6529L);
List<DataDictionary> dataDictionaryList = dataDictionaryMapper.selectList(wrapper);
return dataDictionaryList;
}
// 处理字典值
public void getCon(String fileName, JSONObject jsonObject, Map<String, Object> map,
List<DataDictionary> dictionaryList, List<EquipmentCategory> equipmentCategories) {
if ("province".contains(fileName) || "city".contains(fileName) || "county".contains(fileName)) {
JSONArray regionName = getRegionName();
List<RegionModel> list = JSONArray.parseArray(regionName.toJSONString(), RegionModel.class);
if (!ValidationUtil.isEmpty(list) && !ValidationUtil.isEmpty(jsonObject.getString(fileName))) {
String cityName =
list.stream().filter(i -> i.getRegionCode().equals(Integer.valueOf(jsonObject.getString("city")))).findFirst().orElse(new RegionModel()).getRegionName();
String countyName =
list.stream().filter(i -> i.getRegionCode().equals(Integer.valueOf(jsonObject.getString(
"county")))).findFirst().orElse(new RegionModel()).getRegionName();
map.put("fieldValue", cityName + "/" + countyName);
}
}
if ("designStandard".indexOf(fileName) != -1) {
JSONArray jsonArray = JSONArray.parseArray(jsonObject.getString(fileName));
map.put("fieldValue", jsonArray);
}
getIf("imported", fileName, "BOOLEN", dictionaryList, jsonObject, map);
getIf("changes", fileName, "BGSX", dictionaryList, jsonObject, map);
getIf("usePlace", fileName, "ADDRESS", dictionaryList, jsonObject, map);
getIf("equManageDt", fileName, "ZGBM", dictionaryList, jsonObject, map);
getIf("equState", fileName, "SHZT", dictionaryList, jsonObject, map);
getIf("denselyPopulatedAreas", fileName, "BOOLEN", dictionaryList, jsonObject, map);
getIf("importantPlaces", fileName, "BOOLEN", dictionaryList, jsonObject, map);
getIf("registerState", fileName, "ZC", dictionaryList, jsonObject, map);
getIf("inspectType", fileName, "JYLX", dictionaryList, jsonObject, map);
getIf("inspectConclusion", fileName, "JYJL", dictionaryList, jsonObject, map);
getIf("constructionType", fileName, "SGLX", dictionaryList, jsonObject, map);
for (EquipmentCategory equipmentCategory : equipmentCategories) {
if ("equDefine".contains(fileName) && !ValidationUtil.isEmpty(equipmentCategory) && !ValidationUtil.isEmpty(equipmentCategory.getCode()) &&
!ValidationUtil.isEmpty(fileName) && !ValidationUtil.isEmpty(jsonObject.getString(fileName)) && equipmentCategory.getCode().contains(jsonObject.getString(fileName))) {
map.put("fieldValue", equipmentCategory.getName());
}
if ("equCategory".contains(fileName) && !ValidationUtil.isEmpty(equipmentCategory) && !ValidationUtil.isEmpty(equipmentCategory.getCode()) &&
!ValidationUtil.isEmpty(fileName) && !ValidationUtil.isEmpty(jsonObject.getString(fileName)) && equipmentCategory.getCode().contains(jsonObject.getString(fileName))) {
map.put("fieldValue", equipmentCategory.getName());
}
}
getIf("carrierLine", fileName, "YZS", dictionaryList, jsonObject, map);
getIf("deviceLevel", fileName, "GLJB", dictionaryList, jsonObject, map);
getIf("fuelType", fileName, "GLZL", dictionaryList, jsonObject, map);
getIf("nameOfPressureParts", fileName, "GLBJMC", dictionaryList, jsonObject, map);
getIf("nonDestructiveTestingMethodsForPressureParts", fileName, "GLWSJCFF", dictionaryList, jsonObject, map);
getIf("qpLossless", fileName, "RQJCFF", dictionaryList, jsonObject, map);
getIf("glLossless", fileName, "RQJCFF", dictionaryList, jsonObject, map);
getIf("mainStructureType", fileName, "RQJG", dictionaryList, jsonObject, map);
getIf("checkLossless", fileName, "RQJCFF", dictionaryList, jsonObject, map);
getIf("pipelineClass", fileName, "GDLB", dictionaryList, jsonObject, map);
getIf("deviceLevel", fileName, "GBI", dictionaryList, jsonObject, map);
getIf("workLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("mainStructureType", fileName, "JGS", dictionaryList, jsonObject, map);
getIf("luffingMode", fileName, "BFFS", dictionaryList, jsonObject, map);
getIf("towerStandardType", fileName, "JXS", dictionaryList, jsonObject, map);
getIf("baseType", fileName, "JZXS", dictionaryList, jsonObject, map);
getIf("outriggerType", fileName, "ZT", dictionaryList, jsonObject, map);
getIf("mainBeamType", fileName, "ZLXS", dictionaryList, jsonObject, map);
getIf("boomType", fileName, "BJXS", dictionaryList, jsonObject, map);
getIf("boomStructureType", fileName, "BJJGXS", dictionaryList, jsonObject, map);
getIf("gantryStructureType", fileName, "MJJG", dictionaryList, jsonObject, map);
getIf("use", fileName, "YT", dictionaryList, jsonObject, map);
getIf("controlMode", fileName, "CZFS", dictionaryList, jsonObject, map);
getIf("hangingCagesNumber", fileName, "DLSL", dictionaryList, jsonObject, map);
getIf("driveMechanismType", fileName, "QDJG", dictionaryList, jsonObject, map);
getIf("guideRailFrame", fileName, "DS", dictionaryList, jsonObject, map);
getIf("liftingDriveMode", fileName, "QD", dictionaryList, jsonObject, map);
getIf("operationMode", fileName, "JXCZ", dictionaryList, jsonObject, map);
getIf("liftingMode", fileName, "QSFS", dictionaryList, jsonObject, map);
getIf("explosionProofGrade", fileName, "FBDJ", dictionaryList, jsonObject, map);
getIf("hoistWorkingLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("bigcarTraveWorkingLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("smallcarTraveWorkingLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("hoistWorkingLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("smallcarSideswayWorkingLevel", fileName, "GZJB", dictionaryList, jsonObject, map);
getIf("partName", fileName, "ZYLBJ", dictionaryList, jsonObject, map);
getIf("workType", fileName, "GZLX", dictionaryList, jsonObject, map);
getIf("controlMode", fileName, "KZFS", dictionaryList, jsonObject, map);
getIf("jackingType", fileName, "DSXS", dictionaryList, jsonObject, map);
getIf("explosionproofType", fileName, "FBXS", dictionaryList, jsonObject, map);
getIf("explosionproofGrade", fileName, "FBDJ", dictionaryList, jsonObject, map);
getIf("xgxlMediaType", fileName, "XGJZZL", dictionaryList, jsonObject, map);
getIf("designation", fileName, "KYSDBJMC", dictionaryList, jsonObject, map);
getIf("designation", fileName, "CCFJDCLLBJMC", dictionaryList, jsonObject, map);
getIf("isMonitor", fileName, "HAVE", dictionaryList, jsonObject, map);
if ("equList".indexOf(fileName) != -1) {
String equList = EquipmentClassifityEnum.getName.get(jsonObject.getString(fileName));
map.put("fieldValue", equList);
}
}
public void getIf(String name, String fileName, String type, List<DataDictionary> dictionaryList, JSONObject jsonObject, Map<String, Object> map) {
if (name.indexOf(fileName) != -1) {
List<DataDictionary> list = dictionaryList.stream().filter(t -> t.getType().equals(type) && t.getCode().equals(jsonObject.getString(fileName))).collect(Collectors.toList());
if (list.size() > 0) {
map.put("fieldValue", list.get(0).getName());
}
}
}
}
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