提交 10c1174f authored 作者: zjm's avatar zjm

修改上联bug

上级 dbfa0db4
......@@ -351,7 +351,7 @@ public class DeviceCheckController {
Task task = taskRepo.findByBillIdAndBusinessType(id, 8).orElseThrow(() -> new ApiException("给出的bill id 不存在"));
if (task.getBillStatus() == 140 || task.getBillStatus() == 160) {
log.info("[核查] 刷新在库/不在库,bill id :{}", id);
// log.info("[核查] 刷新在库/不在库,bill id :{}", id);
refreshDetail(id);
}
DeviceCheckDetail byId = detailRepo.findById(id).orElse(new DeviceCheckDetail());
......
......@@ -17,6 +17,7 @@ import com.tykj.dev.device.file.entity.FileRet;
import com.tykj.dev.device.file.util.FileMD5Util;
import com.tykj.dev.misc.base.BlockBusinessEnum;
import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.JacksonUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -26,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
......@@ -42,8 +44,9 @@ import java.util.List;
public class CheckBlockServiceImpl implements CheckBlockService {
@Value("${check.time.last}")
private String checkTimeLastFile;
@Value("${file.path}")
private String checkTimeLastFilePath;
@Autowired
private DeviceCheckDetailDao detailDao;
......@@ -55,15 +58,19 @@ public class CheckBlockServiceImpl implements CheckBlockService {
BlockDataService blockDataService;
@Override
public void detailToChain() throws Exception {
public void detailToChain() throws IOException {
String checkTimeLastFile = checkTimeLastFilePath + "check";
LocalDateTime lastTime = LocalDateTime.now().minusYears(2);
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
File file = new File(checkTimeLastFile);
if (file.exists()) {
List<String> strings = Files.readAllLines(Paths.get(checkTimeLastFile));
lastTime = LocalDateTime.parse(strings.get(0), fmt);
if (strings.size() == 1) {
lastTime = LocalDateTime.parse(strings.get(0), fmt);
}
} else {
file.createNewFile();
}
List<DeviceCheckDetail> details = detailDao.findAllByUpdateTimeAfter(lastTime);
......@@ -93,9 +100,10 @@ public class CheckBlockServiceImpl implements CheckBlockService {
BusinessEnum.CONFIRM_CHECK_DETAIL.id,
detail.getId(),
detail.getCheckUnit());
log.info("[CHECK] 上链id:{}", detail.getId());
}
FileWriter fileWritter = new FileWriter(file.getName());
FileWriter fileWritter = new FileWriter(file);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(updateTime.format(fmt).toString());
bufferWritter.close();
......@@ -106,8 +114,12 @@ public class CheckBlockServiceImpl implements CheckBlockService {
@Override
public BlockTraceabilityParsing findADifference(Integer detailId) {
BlockData blockData = blockDataService.findBillTypeAndBillId(BusinessEnum.CONFIRM_CHECK_DETAIL.id, detailId);
BcRecord bcRecord = blockService.fetchRecord(BlockBusinessEnum.ALLOT.subCode, blockData.getRecordID());
BcRecordData bcRecordData = bcRecord.getData();
if (blockData.getId() == null) {
throw new ApiException("数据上链中,请稍后再试");
}
BcRecord bcRecord = blockService.fetchRecord(BlockBusinessEnum.CONFIRM_CHECK_DETAIL.subCode, blockData.getRecordID());
CheckDetailVo remoteDetail = JSON.parseObject(bcRecord.getData().getContent(), CheckDetailVo.class);
CheckDetailVo localDetail = deviceCheckController.findDetail(detailId).getBody().getData();
......
......@@ -3,6 +3,7 @@ package com.tykj.dev.device.confirmcheck.task;
import com.tykj.dev.device.confirmcheck.service.CheckBlockService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
......@@ -20,19 +21,23 @@ public class CheckTimedTask {
private boolean run = false;
@Scheduled(cron = "0 * * * * ? ")
@Async
public void onChain() {
log.info("[check] 开始上链任务");
if (run) {
log.warn("[check] 上次任务未结束,终止");
return;
}
try {
checkBlockService.detailToChain();
run = false;
} catch (Exception e) {
log.error("[check] 上链是啊比:{}", e.toString());
run = false;
} else {
run=true;
try {
checkBlockService.detailToChain();
run = false;
log.info("[check] 上链任务结束");
} catch (Exception e) {
run = false;
log.error("[check] 上链错误处理:");
e.printStackTrace();
}
}
}
......
......@@ -392,7 +392,7 @@ public class ObjTransUtil {
}
long end = System.currentTimeMillis();
log.info("[性能测试] 装备搜索耗时 {} ms", end - start);
// log.info("[性能测试] 装备搜索耗时 {} ms", end - start);
// detailDo -> detailVo
ModelMapper modelMapper = BeanHelper.getUserMapper();
......
......@@ -254,12 +254,13 @@ public class ScrapServiceImpl implements ScrapService {
List<ScriptSaveVo> scriptSaveVos = JacksonUtil.
readValue(scrap.getScriptJson(), new TypeReference<List<ScriptSaveVo>>() {
});
scrap.setScripts(scriptSaveVos);
}
scrap.setBillFiles(FilesUtil.stringFileToList(scrap.getBillFile()));
scrap.setOutboundFiles(FilesUtil.stringFileToList(scrap.getOutboundFile()));
scrap.setReplyFileList(FilesUtil.stringFileToList(scrap.getReplyFiles()));
scrap.setApplyFileList(FilesUtil.stringFileToList(scrap.getApplyFiles()));
scrap.setScripts(scrap.getScripts());
// scrap.setScripts(scrap.getScripts());
scrap.setFileMd5(FileMD5Util.fileRetToMd5(scrap.getOutboundFiles()));
return scrap;
}else {
......
......@@ -13,7 +13,8 @@ spring.jpa.hibernate.ddl-auto=update
#spring.jpa.hibernate.ddl-auto=update
#file.path=C:/Users/dengdiyi/Documents/file/
# spring boot admin
file.path=/Users/zjm/code/test-tu/
#file.path=/Users/zjm/code/test-tu/
file.path=C:/file/
preview.path=http://192.168.0.14:8090/file/
spring.boot.admin.client.url=http://localhost:8769
spring.boot.admin.client.instance.serviceBaseUrl=http://localhost:8087
......@@ -25,4 +26,4 @@ block.carrier.ip=http://192.168.0.147:8088
carrier.url = http://192.168.0.101:8087/configuration/saveConfiguration
file.matching.excel=/Users/zhoushaopan/excel/
check.time.last=C:/file/CHECKTIME.txt
\ No newline at end of file
check.time.last=C:/file/CHECKTIME2.txt
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论