Commit 74670963 authored by suhuiguang's avatar suhuiguang

1.单位变更设备详情调整:非完成显示实时数据

parent 815bf319
package com.yeejoin.amos.boot.module.jg.biz.service; package com.yeejoin.amos.boot.module.jg.biz.service;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo; import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.InstanceRuntimeData; import com.yeejoin.amos.boot.module.jg.api.dto.InstanceRuntimeData;
...@@ -103,4 +104,22 @@ public interface ICommonService { ...@@ -103,4 +104,22 @@ public interface ICommonService {
* @param instanceId 实例id * @param instanceId 实例id
*/ */
void checkForRevocationFlow(String taskId, String instanceId); void checkForRevocationFlow(String taskId, String instanceId);
/**
* 创建或者更新历史表
* @param registrationClass 分类
* @param map 过程数据
* @param equipId 设备唯一标识
* @param currentDocumentId 业务id
*/
void saveOrUpdateHistory(String registrationClass, JSONObject map, String equipId, String currentDocumentId);
/**
* 查询历史树
* @param currentDocumentId 业务id
* @return JSONObject
*/
JSONObject queryHistoryData(Long currentDocumentId);
} }
...@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON; ...@@ -9,6 +9,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.aspose.words.SaveFormat; import com.aspose.words.SaveFormat;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.itextpdf.text.DocumentException; import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.AcroFields; import com.itextpdf.text.pdf.AcroFields;
import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.BaseFont;
...@@ -23,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl; ...@@ -23,6 +24,7 @@ import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey; import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.biz.common.utils.RedisUtils; import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.jg.api.dto.*; import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.BusinessTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.EquipTypeEnum;
import com.yeejoin.amos.boot.module.jg.api.enums.PrintingTypeEnum; import com.yeejoin.amos.boot.module.jg.api.enums.PrintingTypeEnum;
...@@ -67,6 +69,7 @@ import org.springframework.context.annotation.Lazy; ...@@ -67,6 +69,7 @@ import org.springframework.context.annotation.Lazy;
import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource; import org.springframework.core.io.Resource;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
...@@ -118,6 +121,9 @@ public class CommonServiceImpl implements ICommonService { ...@@ -118,6 +121,9 @@ public class CommonServiceImpl implements ICommonService {
@Value("classpath:/json/companyCodeRegName.json") @Value("classpath:/json/companyCodeRegName.json")
private Resource regNameJson; private Resource regNameJson;
@Autowired
JgRegistrationHistoryServiceImpl jgRegistrationHistoryService;
//行政区划redis缓存key //行政区划redis缓存key
private static final String PROVINCE = "PROVINCE"; private static final String PROVINCE = "PROVINCE";
private static final String CITY = "CITY"; private static final String CITY = "CITY";
...@@ -1558,4 +1564,34 @@ public class CommonServiceImpl implements ICommonService { ...@@ -1558,4 +1564,34 @@ public class CommonServiceImpl implements ICommonService {
throw new BadRequest("无权限执行该任务"); throw new BadRequest("无权限执行该任务");
} }
} }
@Override
public void saveOrUpdateHistory(String registrationClass, JSONObject map, String equipId, String currentDocumentId) {
JgRegistrationHistory jgRegistrationHistory = new JgRegistrationHistory();
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
lambda.eq(JgRegistrationHistory::getRegistrationClass, registrationClass);
Integer integer = jgRegistrationHistoryService.getBaseMapper().selectCount(lambda);
if (integer > 0) {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistoryService.update(jgRegistrationHistory, lambda);
} else {
jgRegistrationHistory.setChangeData(JSON.toJSONString(map));
jgRegistrationHistory.setStatus("new");
jgRegistrationHistory.setRegistrationClass(registrationClass);
jgRegistrationHistory.setEquId(equipId);
jgRegistrationHistory.setCurrentDocumentId(currentDocumentId);
jgRegistrationHistoryService.save(jgRegistrationHistory);
}
}
@Override
public JSONObject queryHistoryData(Long currentDocumentId){
LambdaQueryWrapper<JgRegistrationHistory> lambda = new QueryWrapper<JgRegistrationHistory>().lambda();
lambda.eq(JgRegistrationHistory::getCurrentDocumentId, currentDocumentId);
JgRegistrationHistory jgRegistrationHistory = jgRegistrationHistoryService.getBaseMapper().selectOne(lambda);
return jgRegistrationHistory != null ? JSONObject.parseObject(jgRegistrationHistory.getChangeData()) : null;
}
} }
\ No newline at end of file
...@@ -45,8 +45,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest; ...@@ -45,8 +45,6 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
...@@ -77,8 +75,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -77,8 +75,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
CmWorkflowServiceImpl cmWorkflowService; CmWorkflowServiceImpl cmWorkflowService;
@Autowired @Autowired
private JgChangeRegistrationUnitMapper JgChangeRegistrationUnitMapper; private JgChangeRegistrationUnitMapper JgChangeRegistrationUnitMapper;
// @Autowired
// private EquipmentCategoryServiceImpl equipmentCategoryService;
@Autowired @Autowired
RegistrationInfoMapper tzsJgRegistrationInfoMapper; RegistrationInfoMapper tzsJgRegistrationInfoMapper;
@Autowired @Autowired
...@@ -129,19 +126,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -129,19 +126,6 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
@Autowired @Autowired
private RedissonClient redissonClient; private RedissonClient redissonClient;
public static byte[] file2byte(File file) {
try {
FileInputStream in = new FileInputStream(file);
//当文件没有结束时,每次读取一个字节显示
byte[] data = new byte[in.available()];
in.read(data);
in.close();
return data;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/** /**
* 根据sequenceNbr查询 * 根据sequenceNbr查询
...@@ -169,7 +153,27 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -169,7 +153,27 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
} }
changeInfo.put("changeCertificateList", notice.getChangeCertificate()); changeInfo.put("changeCertificateList", notice.getChangeCertificate());
changeInfo.put("otherAccessoriesList", notice.getOtherAccessories()); changeInfo.put("otherAccessoriesList", notice.getOtherAccessories());
return new HashMap<String, Map<String, Object>>() {{
this.put("changeRegisInfo", fillEquipInfoWithRuntimeOrHistoryData(notice, changeInfo));
}};
}
private Map<String, Object> fillEquipInfoWithRuntimeOrHistoryData(JgChangeRegistrationUnit notice, Map<String, Object> changeInfo) {
// 已完成时显示历史数据
if(notice.getStatus().equals(FlowStatusEnum.TO_BE_FINISHED.getName())){
JSONObject his = commonService.queryHistoryData(notice.getSequenceNbr());
// 兼容老数据
if(his == null){
return getEquipInfo(notice.getSequenceNbr(), changeInfo);
}
return his;
}
// 非完成状态返回实时设备数据
return getEquipInfo(notice.getSequenceNbr(), changeInfo);
}
private Map<String, Object> getEquipInfo(Long sequenceNbr, Map<String, Object> changeInfo) {
String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard", String[] fields = {"productPhoto", "designDoc", "designStandard", "factoryStandard",
"productQualityYieldProve", "insUseMaintainExplain", "inspectReport", "otherAccessoriesList", "productQualityYieldProve", "insUseMaintainExplain", "inspectReport", "otherAccessoriesList",
"proxyStatementAttachment", "installContractAttachment", "changeCertificateList"}; "proxyStatementAttachment", "installContractAttachment", "changeCertificateList"};
...@@ -194,9 +198,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -194,9 +198,7 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
newMap.putAll(detailFieldCamelCaseByRecord); newMap.putAll(detailFieldCamelCaseByRecord);
newMap.putAll(changeInfo); newMap.putAll(changeInfo);
newMap.putAll(equipmentInfos.get(0)); newMap.putAll(equipmentInfos.get(0));
return new HashMap<String, Map<String, Object>>() {{ return newMap;
this.put("changeRegisInfo", newMap);
}};
} }
/** /**
...@@ -310,9 +312,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -310,9 +312,15 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
BeanUtils.copyProperties(noticeDto, bean); BeanUtils.copyProperties(noticeDto, bean);
JgChangeRegistrationUnitMapper.updateById(bean); JgChangeRegistrationUnitMapper.updateById(bean);
} }
updateHistorySingle(noticeDto.getSequenceNbr());
return noticeDto; return noticeDto;
} }
private void updateHistorySingle(Long seq){
List<JgChangeRegistrationUnitEq> eqs = jgChangeRegistrationUnitEqMapper.selectList(new LambdaQueryWrapper<JgChangeRegistrationUnitEq>().eq(JgChangeRegistrationUnitEq::getUnitChangeRegistrationId,seq));
this.updateHistoryAsync(eqs);
}
/** /**
* 分页查询 * 分页查询
...@@ -589,16 +597,28 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg ...@@ -589,16 +597,28 @@ public class JgChangeRegistrationUnitServiceImpl extends BaseService<JgChangeReg
List<JgChangeRegistrationUnitEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> { List<JgChangeRegistrationUnitEq> jgRelationEquipList = equipList.stream().map(jgRelationEquip -> {
List<JgChangeRegistrationUnit> collect = list.stream().filter(JgChangeRegistrationUnit -> jgRelationEquip.getUnitChangeRegistrationId().equals(JgChangeRegistrationUnit.getApplyNo())).collect(Collectors.toList()); List<JgChangeRegistrationUnit> collect = list.stream().filter(jgChangeRegistrationUnit -> jgRelationEquip.getUnitChangeRegistrationId().equals(jgChangeRegistrationUnit.getApplyNo())).collect(Collectors.toList());
Long sequenceNbr = collect.get(0).getSequenceNbr(); Long sequenceNbr = collect.get(0).getSequenceNbr();
insertOrUpdateHis(JSON.parseObject(JSONObject.toJSONString(collect.get(0))), jgRelationEquip.getEquId()); insertOrUpdateHis(JSON.parseObject(JSONObject.toJSONString(collect.get(0))), jgRelationEquip.getEquId());
return jgRelationEquip.setUnitChangeRegistrationId(String.valueOf(sequenceNbr)); return jgRelationEquip.setUnitChangeRegistrationId(String.valueOf(sequenceNbr));
}).collect(Collectors.toList()); }).collect(Collectors.toList());
JgChangeRegistrationUnitEqMapper.insertBatchSomeColumn(jgRelationEquipList); JgChangeRegistrationUnitEqMapper.insertBatchSomeColumn(jgRelationEquipList);
this.updateHistoryAsync(jgRelationEquipList);
return list; return list;
} }
private void updateHistoryAsync(List<JgChangeRegistrationUnitEq> jgRelationEquipList) {
jgRelationEquipList.forEach(j->{
commonService.saveOrUpdateHistory(null,getEquipInfoJson(j.getUnitChangeRegistrationId()) , j.getEquId(), j.getUnitChangeRegistrationId());
});
}
private JSONObject getEquipInfoJson(String id){
return new JSONObject(getEquipInfo(Long.parseLong(id),new HashMap<>()));
}
void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) { void getNext(ArrayList<String> roleListFirst, String instanceId, String[] taskName) {
AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId); AjaxResult aj = Workflow.taskClient.getTaskNoAuth(instanceId);
JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data"))); JSONObject taskNoAuth = JSON.parseObject(JSON.toJSONString(aj.get("data")));
......
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