Commit 9d58f371 authored by litengwei's avatar litengwei

Merge branch 'develop_dl_plan6' into develop_dl_plan6_temp

parents 8dc3363d 53d18905
......@@ -216,6 +216,8 @@ public class OrgPersonController extends BaseController {
for (Map<String, Object> record : mapIPage.getRecords()) {
if (!record.containsKey("amosOrgId")) {
record.put("amosOrgId", record.get("sequenceNbr"));
}else if (ObjectUtils.isEmpty(record.get("amosOrgId"))) {
record.put("amosOrgId", record.get("sequenceNbr"));
}
}
}
......
......@@ -76,7 +76,7 @@ public class EquipmentDetailExcelSingleTemplateDto {
// //@Excel(name = "品牌", width = 30, orderNum = "4")
// private BigDecimal maintenanceCycle ;
@ExcelProperty(value = "投运时间", index = 13)
@ExcelProperty(value = "投运日期", index = 13)
//@Excel(name = "品牌", width = 30, orderNum = "4")
private Date deliveryDate;
......
......@@ -1925,10 +1925,10 @@ public class EquipmentSpecificSerivceImpl extends ServiceImpl<EquipmentSpecificM
model.setTitle("报废到期提醒");
String equipName = map.get("name").toString();
String location = map.get("position").toString() + map.get("area").toString();
String location = map.getOrDefault("position", "").toString() + map.getOrDefault("area", "").toString();
String body = String.format("%s-%s于%s报废,请提前更换处理", equipName, location, scrapTime);
String join = String.format("设备还剩%s天报废,请提前更换", i);
String join = i != 0 ? String.format("设备还剩%s天报废,请提前更换", i) : "设备今日到期,请立即更换";
model.setBody(body);
model.setMsgType("scrapWarning");
model.setSendTime(new Date());
......
......@@ -776,20 +776,17 @@ public class ExcelServiceImpl {
// 获取对象属性和值
Field[] fields = orgUsrExcelDto.getClass().getDeclaredFields();
for (Field field : fields) {
try {
try{
field.setAccessible(true);
Object value = field.get(orgUsrExcelDto);
String name = field.getName();
// 解析注解信息
ExplicitConstraint explicitConstraint = field.getAnnotation(ExplicitConstraint.class);
if (!ObjectUtils.isEmpty(explicitConstraint)) {
name = name + "@";
}
map.put(name, value);
} catch (Exception ex) {
} catch (Exception ex){
logger.error("获取{}字段值失败, {}", field.getName(), ex);
}
}
......@@ -797,31 +794,24 @@ public class ExcelServiceImpl {
Map map1 = JSONObject.parseObject(s, Map.class);
List<DynamicFormInstanceDto> dynamicFormValue = new ArrayList<>();
List<DynamicFormInstance> dynamicFormInstancelist = new ArrayList<>();
dynamicFormColumn.forEach(DynamicFormInitDto -> {
if ("birthdayTime".equals(DynamicFormInitDto.getKey())) {
DynamicFormInstanceDto formItemDescr = DynamicFormInitDto.getFormItemDescr();
formItemDescr.setFieldValue(null);
DynamicFormInitDto.setFormItemDescr(formItemDescr);
}
if ("gender".equals(DynamicFormInitDto.getKey())){
DynamicFormInstanceDto formItemDescr = DynamicFormInitDto.getFormItemDescr();
formItemDescr.setFieldValue(null);
DynamicFormInitDto.setFormItemDescr(formItemDescr);
}
dynamicFormValue.add(DynamicFormInitDto.getFormItemDescr());
});
dynamicFormValue.forEach(dynamicFormInstanceDto -> {
String key = dynamicFormInstanceDto.getFieldCode();
if (map.containsKey(key) && map.get(key) != null) {
String o = map.get(key).toString();
if ("birthdayTime".equals(key) && !ObjectUtils.isEmpty(o)) {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
String date = ft.format(o);
dynamicFormInstanceDto.setFieldValue(date);
} catch (Exception e) {
logger.error("日期转换失败");
}
}
}
if (map1.containsKey(key)) {
if (map1.containsKey(key)){
String value = map1.get(key).toString();
if (value.contains("@")) {
String[] certificates = value.split("@");
......@@ -831,36 +821,56 @@ public class ExcelServiceImpl {
dynamicFormInstanceDto.setFieldValue(value);
}
}
if (map.containsKey(key) && map.get(key) != null){
if ("birthdayTime".equals(key) || "holdingTime".equals(key) ) {
Date o = (Date) map.get(key);
SimpleDateFormat dtf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format = dtf.format(o);
try {
// String date = ft.format(o);
dynamicFormInstanceDto.setFieldValue(format);
} catch (Exception e) {
logger.error("日期转换失败");
throw new RuntimeException("出生日期格式不对!");
}
}
}
DynamicFormInstance dynamicFormInstance = new DynamicFormInstance();
BeanUtils.copyProperties(dynamicFormInstanceDto, dynamicFormInstance);
if ("gender".equals(dynamicFormInstance.getFieldCode())) {
dynamicFormInstance.setFieldValueLabel("346".equals(String.valueOf(dynamicFormInstance.getFieldValue())) ? "男" : "女");
String fieldCode = dynamicFormInstance.getFieldCode();
if (map1.containsKey(fieldCode.substring(0,fieldCode.length()-4))){
dynamicFormInstance.setFieldValueLabel(map1.get(fieldCode.substring(0,fieldCode.length()-4)).toString());
}
if ("positionType".equals(dynamicFormInstance.getFieldCode())) {
dynamicFormInstance.setFieldValueLabel(dataDictionaryService.getById(dynamicFormInstance.getFieldValue()).getName());
if ("gender".equals(dynamicFormInstance.getFieldCode()) && !ObjectUtils.isEmpty(dynamicFormInstance.getFieldValue())){
dynamicFormInstance.setFieldValueLabel("346".equals(String.valueOf(dynamicFormInstance.getFieldValue()))?"男":"女");
}
String fieldCode = dynamicFormInstance.getFieldCode();
if (map1.containsKey(fieldCode) && fieldCode.contains("Code")) {
String[] split = map1.get(fieldCode).toString().split("@");
dynamicFormInstance.setFieldValue(split[0]);
if ("positionType".equals(dynamicFormInstance.getFieldCode()) && !ObjectUtils.isEmpty(dynamicFormInstance.getFieldValue())){
dynamicFormInstance.setFieldValueLabel(dataDictionaryService.getById(dynamicFormInstance.getFieldValue()).getName());
}
if ("certificatesTypeCode".equals(fieldCode)) {
if ("certificatesTypeCode".equals(fieldCode) && !ObjectUtils.isEmpty(map1.get(fieldCode))){
String[] split = map1.get(fieldCode).toString().split("@");
dynamicFormInstance.setFieldValue(split[1]);
dynamicFormInstance.setFieldValueLabel(split[0]);
}
if (map1.containsKey(fieldCode.substring(0, fieldCode.length() - 4))) {
dynamicFormInstance.setFieldValueLabel(split[0]);}
if ("residenceDetailsCode".equals(fieldCode) && map1.get("residenceDetails") != null) {
String[] residenceDetails = map1.get("residenceDetails").toString().split("@");
dynamicFormInstance.setFieldValue(residenceDetails[1]);
dynamicFormInstance.setFieldValueLabel(residenceDetails[0]);
}
if ("nativePlaceCode".equals(fieldCode)&& map1.get("nativePlace") != null){
String[] split = map1.get("nativePlace").toString().split("@");
dynamicFormInstance.setFieldValue(split[1]);
dynamicFormInstance.setFieldValueLabel(split[0]);}
dynamicFormInstance.setFieldValueLabel(map1.get(fieldCode.substring(0, fieldCode.length() - 4)).toString());
}
dynamicFormInstancelist.add(dynamicFormInstance);
});
orgUsrExcelDto.setDynamicFormValue(dynamicFormInstancelist);
Bean.toPo(getCurrentInfo(), orgUsrExcelDto);
// 保存动态表单和人员单位表
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getCertificatesTypeCode())){
String[] split55 = orgUsrExcelDto.getCertificatesTypeCode().toString().split("@");
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getCertificatesNumber()) && split55[1].equals("120")) {
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getCertificatesNumber())&&split55[1].equals("120")) {
if (!set.add(orgUsrExcelDto.getCertificatesNumber())) {
throw new RuntimeException("身份证号码重复!");
} else {
......@@ -870,14 +880,17 @@ public class ExcelServiceImpl {
}
}
}
}
//平台用户唯一效验
if (!ObjectUtils.isEmpty(orgUsrExcelDto.getAmosOrgId())) {
if (!set1.add(orgUsrExcelDto.getAmosOrgId())) {
throw new RuntimeException("关联用户" + orgUsrExcelDto.getAmosOrgCode() + "重复!");
throw new RuntimeException("关联用户"+orgUsrExcelDto.getAmosOrgCode()+"重复!");
} else {
int num = orgUsrMapper.amosIdExist(orgUsrExcelDto.getAmosOrgId(), null);
int num = orgUsrMapper.amosIdExist(orgUsrExcelDto.getAmosOrgId(),null);
if (num > 0) {
throw new RuntimeException("关联用户" + orgUsrExcelDto.getAmosOrgCode() + "重复!");
throw new RuntimeException("关联用户"+orgUsrExcelDto.getAmosOrgCode()+"重复!");
}
}
}
......
......@@ -54,4 +54,7 @@ public class SubmitRecord {
@TableField(exist = false)
private String fileName;
@ApiModelProperty(value = "流程id")
private String processInstanceId;
}
......@@ -2,6 +2,7 @@ package com.yeejoin.amos.boot.module.tdc.api.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
......@@ -16,9 +17,9 @@ import java.util.Map;
@Service
public interface ModelItemService extends IService<ModelItem> {
SubmitRecord saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft);
SubmitRecord saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, ReginParams reginParams);
SubmitRecord editModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, Long id, int examine);
SubmitRecord editModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, Long id, int examine, ReginParams reginParams);
/**
* 获取详情接口
......
package com.yeejoin.amos.boot.module.tdc.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
import com.yeejoin.amos.boot.module.tdc.api.service.ModelItemService;
......@@ -36,14 +37,15 @@ public class ModelItemController extends BaseController {
public ResponseModel<SubmitRecord> saveModelItem(@RequestParam(value = "id", required = false) Long id, @RequestParam(value = "draft") int draft, @RequestBody JSONObject jsonObject,
@RequestParam(value = "examine") int examine){
AgencyUserModel userInfo = getUserInfo();
ReginParams reginParams = getSelectedOrgInfo();
if (ObjectUtils.isEmpty(jsonObject)) {
return null;
}
Object sequenceNbr = jsonObject.get("sequenceNbr");
if (ObjectUtils.isEmpty(sequenceNbr) && ObjectUtils.isEmpty(id)) {
return ResponseHelper.buildResponse(modelItemService.saveModelItem(jsonObject, userInfo, draft));
return ResponseHelper.buildResponse(modelItemService.saveModelItem(jsonObject, userInfo, draft, reginParams));
}
return ResponseHelper.buildResponse(modelItemService.editModelItem(jsonObject, userInfo, draft, id, examine));
return ResponseHelper.buildResponse(modelItemService.editModelItem(jsonObject, userInfo, draft, id, examine, reginParams));
}
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
......
......@@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.netflix.discovery.converters.Auto;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.service.impl.WorkflowExcuteServiceImpl;
import com.yeejoin.amos.boot.biz.common.workflow.feign.WorkflowFeignService;
import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import com.yeejoin.amos.boot.module.tdc.api.entity.ModelItem;
import com.yeejoin.amos.boot.module.tdc.api.entity.SubmitRecord;
......@@ -16,6 +19,7 @@ import com.yeejoin.amos.boot.module.tdc.api.service.SyncMethodService;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.privilege.model.CompanyModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
......@@ -46,13 +50,26 @@ public class ModelItemServiceImpl extends ServiceImpl<ModelItemMapper, ModelItem
@Autowired
ModelItemMapper modelItemMapper;
@Autowired
WorkflowExcuteServiceImpl workflowExcuteService;
@Value("${tdc.file.examine.work.flow.processDefinitionKey}")
private String processDefinitionKey;
@Override
public SubmitRecord saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft) {
public SubmitRecord saveModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, ReginParams reginParams) {
long start = System.currentTimeMillis();
if (ObjectUtils.isEmpty(jsonObject)) {
return null;
}
SubmitRecord submitRecord = new SubmitRecord();
// 开启工作流并执行一步
try {
String processInstanceId = workflowExcuteService.startAndComplete(processDefinitionKey, "1");
submitRecord.setProcessInstanceId(processInstanceId);
} catch (Exception e) {
log.error("工作流启动失败" + e.getMessage());
}
userInfo.getUserName();
List<CompanyModel> company = userInfo.getCompanys();
......@@ -120,19 +137,17 @@ public class ModelItemServiceImpl extends ServiceImpl<ModelItemMapper, ModelItem
}
@Override
public SubmitRecord editModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, Long id, int examine) {
public SubmitRecord editModelItem(JSONObject jsonObject, AgencyUserModel userInfo, int draft, Long id, int examine, ReginParams reginParams) {
Long sequenceNbr = ObjectUtils.isEmpty(jsonObject.get("sequenceNbr")) ? null : Long.valueOf(String.valueOf(jsonObject.get("sequenceNbr")));
String batchNo = UUID.randomUUID().toString();
Long sequenceNbrId = ObjectUtils.isEmpty(sequenceNbr) ? id : sequenceNbr;
// SubmitRecord submitRecord = new SubmitRecord();
// submitRecord.setSequenceNbr(sequenceNbr);
// submitRecord.setBatchNo(batchNo);
// submitRecord.setDraft(draft);
// submitRecord.setExamine(examine);
// submitRecordService.updateById(submitRecord);
SubmitRecord submitRecord = submitRecordService.updateById(sequenceNbrId, batchNo, draft, examine);
try {
workflowExcuteService.CompleteTask(submitRecord.getProcessInstanceId(), String.valueOf(examine), reginParams);
} catch (Exception e) {
throw new RuntimeException("没有执行权限");
}
LambdaQueryWrapper<ModelItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ModelItem::getSubmitRecordId, sequenceNbrId);
this.baseMapper.delete(wrapper);
......
......@@ -10,7 +10,7 @@ eureka.instance.metadata-map.management.api-docs=http://localhost:${server.port}
# kafka集群信息
spring.kafka.bootstrap-servers=172.16.3.100:9092
spring.kafka.bootstrap-servers=20.148.0.4:29094,20.148.0.5:29094,20.148.0.156:29094
# 生产者配置
# 设置大于0的值,则客户端会将发送失败的记录重新发送 # 重试次数
spring.kafka.producer.retries=1
......@@ -39,8 +39,8 @@ spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.Str
spring.kafka.producer.properties.security.protocol=SASL_SSL
spring.kafka.producer.properties.sasl.mechanism=PLAIN
spring.kafka.producer.properties.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="io.cs" \
password="@$-5mocGV2n62K67GiMv9#sqvpaOu.0=%4y6vZ#cS#.@n2n-x5$n/35xfvSAKD12";
username="b05fbb3e-f994-44a3-834b-daed08e499e6" \
password="eQl/-7kK%/d%Vj=%3t0k/kC!#.2HZX2PWsz8qI0n-@c0h$O0d9@5e/774@!EVWi6";
spring.kafka.producer.properties.ssl.truststore.location=D:/client.truststore.jks
spring.kafka.producer.properties.ssl.truststore.password=dms@kafka
spring.kafka.producer.properties.ssl.endpoint.identification.algorithm=
......@@ -57,8 +57,8 @@ spring.kafka.consumer.enable-auto-commit=false
spring.kafka.consumer.properties.security.protocol=SASL_SSL
spring.kafka.consumer.properties.sasl.mechanism=PLAIN
spring.kafka.consumer.properties.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
username="io.cs" \
password="@$-5mocGV2n62K67GiMv9#sqvpaOu.0=%4y6vZ#cS#.@n2n-x5$n/35xfvSAKD12";
username="b05fbb3e-f994-44a3-834b-daed08e499e6" \
password="eQl/-7kK%/d%Vj=%3t0k/kC!#.2HZX2PWsz8qI0n-@c0h$O0d9@5e/774@!EVWi6";
spring.kafka.consumer.properties.ssl.truststore.location=D:/client.truststore.jks
spring.kafka.consumer.properties.ssl.truststore.password=dms@kafka
spring.kafka.consumer.properties.ssl.endpoint.identification.algorithm=
......@@ -98,17 +98,18 @@ emqx.client-password=public
emqx.max-inflight=1000
# 下面配置默认站端 中心级系统的时候注释掉上边 放开下边
#站端配置
# 下面配置默认站端 中心级系统的时候注释掉上边 放开下边
#站端配置开始
#需要监听得kafka消息主题 根据是否是中心极和站端选择需要监听得主题进行配置
kafka.topics=JKXT2BP-XF-Topic
#需要监听得eqm消息主题 根据是否是中心极和站端选择需要监听得主题进行配置 emq.iot.created,
#需要监听得eqm消息主题 根据是否是中心极和站端选择需要监听得主题进行配置
emq.topic=emq.xf.created,emq.iot.created,emq.patrol.created,emq.sign.created,emq.bussSign.created,emq.user.created
#站端配置结束
##中心级配置配置
##需要监听得kafka消息主题 根据是否是中心极和站端选择需要监听得主题进行配置
#kafka.topics=JKXT2BP-XFYY-Topic
#
##需要监听得eqm消息主题 根据是否是中心极和站端选择需要监听得主题进行配置 emq.iot.created,
#emq.topic=
\ No newline at end of file
#中心级配置配置开始
#需要监听得kafka消息主题 根据是否是中心极和站端选择需要监听得主题进行配置
##kafka.topics=JKXT2BP-XFYY-Topic
#需要监听得eqm消息主题 根据是否是中心极和站端选择需要监听得主题进行配置
##emq.topic=
#中心级配置配置结束
\ No newline at end of file
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