提交 20129fff authored 作者: zjm's avatar zjm

feat(单位模块): 添加了单位逻辑注释

添加了单位逻辑注释
上级 f1ba6600
......@@ -7,7 +7,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @author huangxiahao
*/
@SpringBootApplication(scanBasePackages = {
"com.tykj.carrier.*"
"com.tykj.*"
})
public class BlockAtionpplication {
......
......@@ -37,7 +37,7 @@ public class TraceabilityParsingData {
@ApiModelProperty(value = "操作时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(shape = JsonFormat.Shape.STRING,pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date operationTime;
private LocalDateTime operationTime;
@ApiModelProperty(value = "相关载体id")
private String carrierIds;
......@@ -45,6 +45,13 @@ public class TraceabilityParsingData {
@ApiModelProperty(value = "单位名称")
private String unitName;
@ApiModelProperty(value = "发起单位")
private String initiateUnitName;
@ApiModelProperty(value = "接收单位")
private String receiveUnitName;
@ApiModelProperty(value = "对应业务创建时间")
private String time;
......
package com.tykj.dev.device.block.run;
import com.tykj.dev.device.block.service.BlockService;
import com.tykj.dev.misc.base.BlockBusinessEnum;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Service;
/**
* @program: device-back
* @description: todo
* @author: zjm
* @create: 2022-12-21 16:58
**/
@Service
@Slf4j
public class BlockRun implements CommandLineRunner {
@Autowired
BlockService blockService;
@Override
public void run(String... args) throws Exception {
// log.info("添加区块业务类型开始");
//// for (BlockBusinessEnum value : BlockBusinessEnum.values()) {
//// if (value.subCode>19) {
//// blockService.subRegister(value.name);
//// }
//// }
// log.info("添加区块业务类型结束");
}
}
......@@ -33,7 +33,7 @@ public class BlockDataServiceImpl implements BlockDataService {
@Override
public BlockData findBillTypeAndBillId(Integer billType, Integer billId) {
List<BlockData> allByBillTypeAndBillId = blockDataDao.findAllByBillTypeAndBillId(billType, billId).stream().sorted(Comparator.comparing(BlockData::getCreateTime).reversed()).collect(Collectors.toList());
List<BlockData> allByBillTypeAndBillId = blockDataDao.findAllByBillTypeAndBillId(billType, billId).stream().sorted(Comparator.comparing(BlockData::getId).reversed()).collect(Collectors.toList());
if (allByBillTypeAndBillId.size()>0){
return allByBillTypeAndBillId.get(0);
}else {
......@@ -67,12 +67,6 @@ public class BlockDataServiceImpl implements BlockDataService {
}
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
private TraceabilityParsingData toLocalDateTime(TraceabilityParsingData traceabilityParsingData){
String localTime = df.format(traceabilityParsingData.getOperationTime());
traceabilityParsingData.setOperationTime(null);
traceabilityParsingData.setTime(localTime);
return traceabilityParsingData;
}
}
......@@ -34,7 +34,7 @@ public class BlockServiceImpl implements BlockService {
private Integer systemId=2;
@Override
public BcRegister subRegister( String subName) {
public BcRegister subRegister(String subName) {
SortedMap<Object, Object> request = getRequest();
request.put("systemId", systemId);
......@@ -54,7 +54,6 @@ public class BlockServiceImpl implements BlockService {
request.put("subCode", subCode);
request.put("content", content);
try {
BcText bcText = new RestTemplate().postForObject(
IP + ApI.CO_SEND_TEXT,
request,
......
......@@ -153,8 +153,7 @@ public class DecommissioningQueryController {
/**
* 区块溯源
*/
@GetMapping(value ="/repel/checkTrueData/{billId}")
@GetMapping(value ="/repel/traceabilityParsing/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的溯源", notes = "根据业务id进行对应业务的溯源")
public ResponseEntity traceabilityParsing( @PathVariable Integer billId){
return ResponseEntity.ok(deviceDecommissioningDetailService.traceabilityParsing(billId));
......
......@@ -2,6 +2,7 @@ package com.tykj.dev.device.decommissioning.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.core.type.TypeReference;
import com.github.wenhao.jpa.PredicateBuilder;
import com.github.wenhao.jpa.Specifications;
......@@ -26,9 +27,11 @@ import com.tykj.dev.misc.base.BlockBusinessEnum;
import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.DateUtil;
import com.tykj.dev.misc.utils.DeviceSeqUtil;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
......@@ -68,6 +71,7 @@ public class DeviceDecommissioningDetailServiceImpl implements DeviceDecommissio
@Override
public DeviceDecommissioningDetail saveDeviceDecommissioningDetail(DeviceDecommissioningDetail deviceDecommissioningDetail) {
// log.info("[清退] 详情添加成功");
deviceDecommissioningDetail.setScriptJson(JacksonUtil.toJSon(deviceDecommissioningDetail.getScripts()));
DeviceDecommissioningDetail save = deviceDecommissioningDetailDao.save(deviceDecommissioningDetail);
sendText(save.getId());
return save;
......@@ -188,26 +192,28 @@ public class DeviceDecommissioningDetailServiceImpl implements DeviceDecommissio
*/
@Override
public BlockTraceabilityParsing traceabilityParsing(Integer billId) {
BlockData billTypeAndBillId = blockDataService.findBillTypeAndBillId(BusinessEnum.DESTROY.id, billId);
BcRecord bcRecord = blockService.fetchRecord( BlockBusinessEnum.DESTROY.subCode, billTypeAndBillId.getRecordID());
BlockData billTypeAndBillId = blockDataService.findBillTypeAndBillId(BusinessEnum.DECOMMISSIONING.id, billId);
BcRecord bcRecord = blockService.fetchRecord(BlockBusinessEnum.DECOMMISSIONING.subCode, billTypeAndBillId.getRecordID());
DeviceDecommissioningDetail deviceDecommissioningDetail = queryDeviceDecommissioningDetail(billId);
DeviceDecommissioningDetail deviceDecommissioningDetail1 = JSON.parseObject(bcRecord.getData().getContent(), DeviceDecommissioningDetail.class);
BlockTraceabilityParsing blockTraceabilityParsing = bcRecord.getData().toBlockTraceabilityParsing();
blockTraceabilityParsing.setBusinessTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("退役")
.carrierIds(StringSplitUtil.stringListToString(deviceDecommissioningDetail.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceDecommissioningDetail.getSendUnit())
.initiateUnitName(deviceDecommissioningDetail.getSendUnit())
.receiveUnitName(deviceDecommissioningDetail.getReceiveUnit())
.documentNo(deviceDecommissioningDetail.getNum())
.operationTime(deviceDecommissioningDetail.getSendTime())
.operationTime(DateUtil.getLocalDateTime(deviceDecommissioningDetail.getSendTime()))
.operatorUserName(operatorName(deviceDecommissioningDetail))
.build());
blockTraceabilityParsing.setBlockTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("退役")
.carrierIds(StringSplitUtil.stringListToString(deviceDecommissioningDetail1.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceDecommissioningDetail1.getSendUnit())
.initiateUnitName(deviceDecommissioningDetail1.getSendUnit())
.receiveUnitName(deviceDecommissioningDetail1.getReceiveUnit())
.documentNo(deviceDecommissioningDetail1.getNum())
.operationTime(deviceDecommissioningDetail1.getSendTime())
.operationTime(DateUtil.getLocalDateTime(deviceDecommissioningDetail1.getSendTime()))
.operatorUserName(operatorName(deviceDecommissioningDetail1))
.build());
blockTraceabilityParsing.setBlockData(deviceDecommissioningDetail1);
......@@ -244,7 +250,7 @@ public class DeviceDecommissioningDetailServiceImpl implements DeviceDecommissio
*/
public void sendText(Integer id){
DeviceDecommissioningDetail deviceDecommissioningDetail = queryDeviceDecommissioningDetail(id);
blockService.sendText(BlockBusinessEnum.DECOMMISSIONING.subCode, JSON.toJSONStringWithDateFormat(deviceDecommissioningDetail,"yyyy-MM-dd HH:mm:ss", SerializerFeature.WriteDateUseDateFormat), BusinessEnum.DECOMMISSIONING.id,id,deviceDecommissioningDetail.getSendUnit());
blockService.sendText(BlockBusinessEnum.DECOMMISSIONING.subCode, JacksonUtil.toJSon(deviceDecommissioningDetail), BusinessEnum.DECOMMISSIONING.id,id,deviceDecommissioningDetail.getSendUnit());
}
......@@ -261,4 +267,53 @@ public class DeviceDecommissioningDetailServiceImpl implements DeviceDecommissio
throw new ApiException(ResponseEntity.status(500).body("退役详情id没有找到:"+decommissioningId));
}
}
public static void main(String[] args) {
a aa = new a(new Date(), 1);
// String s = JSON.toJSONString(aa);
String s = JacksonUtil.toJSon(aa);
a a = JSON.parseObject(s, a.class);
boolean equals = a.equals(aa);
}
static class a{
/**
* 配发时间
*/
@ApiModelProperty(value = "配发时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date sendTime;
private Integer age;
public a() {
}
public a(Date sendTime, Integer age) {
this.sendTime = sendTime;
this.age = age;
}
public Date getSendTime() {
return sendTime;
}
public void setSendTime(Date sendTime) {
this.sendTime = sendTime;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
}
......@@ -65,12 +65,10 @@ public class DeviceDestroyQueryController {
public ResponseEntity checkTrueData( @PathVariable Integer billId){
return ResponseEntity.ok(deviceDestroyBillService.checkTrueData(billId));
}
/**
* 区块溯源
*/
@GetMapping(value ="/checkTrueData/{billId}")
@GetMapping(value ="/traceabilityParsing/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的溯源", notes = "根据业务id进行对应业务的溯源")
public ResponseEntity traceabilityParsing( @PathVariable Integer billId){
return ResponseEntity.ok(deviceDestroyBillService.traceabilityParsing(billId));
......
......@@ -29,6 +29,7 @@ import com.tykj.dev.misc.base.BlockBusinessEnum;
import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.DateUtil;
import com.tykj.dev.misc.utils.DeviceSeqUtil;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
......@@ -192,7 +193,7 @@ public class DeviceDestroyBillServiceImpl implements DeviceDestroyBillService {
.carrierIds(StringSplitUtil.stringListToString(deviceDestroyBill.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceDestroyBill.getUnitName())
.documentNo(deviceDestroyBill.getNum())
.operationTime(deviceDestroyBill.getDestroyTime())
.operationTime(DateUtil.getLocalDateTime(deviceDestroyBill.getDestroyTime()))
.operatorUserName(operatorName(deviceDestroyBill))
.build());
......@@ -201,7 +202,7 @@ public class DeviceDestroyBillServiceImpl implements DeviceDestroyBillService {
.carrierIds(StringSplitUtil.stringListToString(deviceDestroyBill1.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceDestroyBill1.getUnitName())
.documentNo(deviceDestroyBill1.getNum())
.operationTime(deviceDestroyBill1.getDestroyTime())
.operationTime(DateUtil.getLocalDateTime(deviceDestroyBill1.getDestroyTime()))
.operatorUserName(operatorName(deviceDestroyBill1))
.build());
blockTraceabilityParsing.setBlockData(deviceDestroyBill1);
......
package com.tykj.dev.device.file.util;
import com.tykj.dev.device.file.entity.FileRet;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.List;
/**
* @program: device-back
* @description: todo
* @author: zjm
* @create: 2022-12-26 13:11
**/
public class FileMD5Util {
private static final char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f'};
public static void main(String[] args) {
//此处我测试的是我本机jdk源码文件的MD5值 93666872937c6c43fe9452ede6873460
String filePath = "/Users/zjm/tykj/wordmodel/1.docx";
String md5Hashcode2 = FileMD5Util.getFileMD5(new File(filePath));
System.out.println("MD5Util2计算文件md5值为:" + md5Hashcode2);
System.out.println("MD5Util2计算文件md5值的长度为:" + md5Hashcode2.length());
}
/**
* 根据文件路径集合计算文件的md5,多个文件使用,分割
* @param fileRets 文件实体的集合
* @return 文件的md5
*/
public static String fileRetToMd5(List<FileRet> fileRets){
StringBuffer stringBuffer=new StringBuffer();
fileRets.forEach(
fileRet -> {
stringBuffer.append(getFileMD5(new File(fileRet.getFilePath()))).append(",");
}
);
return stringBuffer.toString();
}
/**
* Get MD5 of a file (lower case)
* @return empty string if I/O error when get MD5
*/
public static String getFileMD5(File file) {
FileInputStream in = null;
try {
in = new FileInputStream(file);
FileChannel ch = in.getChannel();
return MD5(ch.map(FileChannel.MapMode.READ_ONLY, 0, file.length()));
} catch (FileNotFoundException e) {
return "";
} catch (IOException e) {
return "";
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
// 关闭流产生的错误一般都可以忽略
}
}
}
}
/**
* MD5校验字符串
* @param s String to be MD5
* @return 'null' if cannot get MessageDigest
*/
private static String getStringMD5( String s) {
MessageDigest mdInst;
try {
// 获得MD5摘要算法的 MessageDigest 对象
mdInst = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
byte[] btInput = s.getBytes();
// 使用指定的字节更新摘要
mdInst.update(btInput);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int length = md.length;
char str[] = new char[length * 2];
int k = 0;
for (byte b : md) {
str[k++] = hexDigits[b >>> 4 & 0xf];
str[k++] = hexDigits[b & 0xf];
}
return new String(str);
}
@SuppressWarnings("unused")
private static String getSubStr( String str, int subNu, char replace) {
int length = str.length();
if (length > subNu) {
str = str.substring(length - subNu, length);
} else if (length < subNu) {
// NOTE: padding字符填充在字符串的右侧,和服务器的算法是一致的
str += createPaddingString(subNu - length, replace);
}
return str;
}
private static String createPaddingString(int n, char pad) {
if (n <= 0) {
return "";
}
char[] paddingArray = new char[n];
Arrays.fill(paddingArray, pad);
return new String(paddingArray);
}
/**
* 计算MD5校验
* @param buffer
* @return 空串,如果无法获得 MessageDigest实例
*/
private static String MD5(ByteBuffer buffer) {
String s = "";
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(buffer);
byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
// 用字节表示就是 16 个字节
char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
// 所以表示成 16 进制需要 32 个字符
int k = 0; // 表示转换结果中对应的字符位置
for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
// 转换成 16 进制字符的转换
byte byte0 = tmp[i]; // 取第 i 个字节
str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换, >>>,
// 逻辑右移,将符号位一起右移
str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
}
s = new String(str); // 换后的结果转换为字符串
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return s;
}
}
......@@ -49,7 +49,7 @@ public class DeviceLossSelectController {
* 区块溯源
*/
@GetMapping(value ="/checkTrueData/{billId}")
@GetMapping(value ="/traceabilityParsing/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的溯源", notes = "根据业务id进行对应业务的溯源")
public ResponseEntity traceabilityParsing( @PathVariable Integer billId){
return ResponseEntity.ok(deviceLossService.traceabilityParsing(billId));
......
......@@ -20,6 +20,7 @@ import com.tykj.dev.device.loss.util.StringUtils;
import com.tykj.dev.misc.base.BeanHelper;
import com.tykj.dev.misc.base.BlockBusinessEnum;
import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.utils.DateUtil;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
import lombok.extern.slf4j.Slf4j;
......@@ -92,7 +93,7 @@ public class DeviceLossServiceImpl implements DeviceLossService {
.carrierIds(StringSplitUtil.stringListToString(deviceLoss.getDeviceLossVoList().stream().map(DeviceLossVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceLoss.getUnitName())
.documentNo(String.valueOf(deviceLoss.getId()))
.operationTime(deviceLoss.getLossDate())
.operationTime(DateUtil.getLocalDateTime(deviceLoss.getLossDate()))
.operatorUserName(operatorName(deviceLoss))
.build());
......@@ -101,7 +102,7 @@ public class DeviceLossServiceImpl implements DeviceLossService {
.carrierIds(StringSplitUtil.stringListToString(deviceLoss1.getDeviceLossVoList().stream().map(DeviceLossVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceLoss1.getUnitName())
.documentNo(String.valueOf(deviceLoss1.getId()))
.operationTime(deviceLoss1.getLossDate())
.operationTime(DateUtil.getLocalDateTime(deviceLoss1.getLossDate()))
.operatorUserName(operatorName(deviceLoss1))
.build());
blockTraceabilityParsing.setBlockData(deviceLoss1);
......
......@@ -2,6 +2,8 @@ package com.tykj.dev.misc.base;
import lombok.AllArgsConstructor;
import java.util.List;
/**
* @author dengdiyi
* 业务枚举
......@@ -13,92 +15,94 @@ public enum BlockBusinessEnum {
/**
* 入库业务
*/
STORAGE(2, "入库业务"),
STORAGE(1019, "入库业务"),
/**
* 配发业务
*/
ALLOT(3, "配发业务"),
ALLOT(1020, "配发业务"),
/**
* 自查业务
*/
SELF_CHECK(4, "自查业务"),
SELF_CHECK(1021, "自查业务"),
/**
* 维修业务
*/
REPAIR(5, "维修业务"),
REPAIR(1022, "维修业务"),
/**
* 核查业务
*/
CONFIRM_CHECK(6, "核查业务"),
CONFIRM_CHECK(1023, "核查业务"),
/**
* 核查统计业务
*/
CONFIRM_CHECK_STAT(7, "核查统计"),
CONFIRM_CHECK_STAT(1024, "核查统计"),
/**
* 核查详情业务
*/
CONFIRM_CHECK_DETAIL(8, "核查详情"),
CONFIRM_CHECK_DETAIL(1025, "核查详情"),
/**
* 申请业务
*/
APPLY(9, "申请业务"),
APPLY(1026, "申请业务"),
/**
* 维修退回
*/
REPAIR_BACK(10, "维修退回"),
REPAIR_BACK(1027, "维修退回"),
/**
* 维修继续送修
*/
REPAIR_SEND(11, "维修业务"),
REPAIR_SEND(1028, "维修继续送修"),
/**
* 销毁业务
*/
DESTROY(14, "销毁业务"),
DESTROY(1029, "销毁业务"),
/**
* 清退业务
*/
SEND_BACK(16, "清退业务"),
SEND_BACK(1030, "清退业务"),
/**
* 清退异常处理
*/
DECOMMISSIONING(17, "退役业务"),
DECOMMISSIONING(1031, "退役业务"),
/**
* 新增配套设备
*/
ADD_MATCHING_DEVICE(19, "新增配套设备"),
ADD_MATCHING_DEVICE(1032, "新增配套设备"),
/**
* 工作交接
*/
WORK_HANDOVER(21, "工作交接"),
WORK_HANDOVER(1033, "交接"),
/**
* 退回
*/
ALLOT_BACK(22, "退回业务"),
ALLOT_BACK(1034, "退回业务"),
/**
* 报废
*/
SCRAP(23, "报废业务"),
SCRAP(1035, "报废业务"),
/**
* 丢失
*/
LOSS(24,"丢失业务"),
LOSS(1036,"丢失业务"),
/**
* 找回
*/
RETRIEVE(25,"找回业务"),
RETRIEVE(1037,"找回业务"),
/**
* 重新入库
*/
AGAINSTORAGE(26,"装备状态转换业务");
AGAINSTORAGE(1038,"装备状态转换业务");
public Integer subCode;
public String name;
}
......@@ -71,7 +71,7 @@ public class ScrapQueryController {
* 区块溯源
*/
@GetMapping(value ="/checkTrueData/{billId}")
@GetMapping(value ="/traceabilityParsing/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的溯源", notes = "根据业务id进行对应业务的溯源")
public ResponseEntity traceabilityParsing( @PathVariable Integer billId){
return ResponseEntity.ok(scrapService.traceabilityParsing(billId));
......
......@@ -26,6 +26,7 @@ import com.tykj.dev.misc.base.BlockBusinessEnum;
import com.tykj.dev.misc.base.BusinessEnum;
import com.tykj.dev.misc.base.StatusEnum;
import com.tykj.dev.misc.exception.ApiException;
import com.tykj.dev.misc.utils.DateUtil;
import com.tykj.dev.misc.utils.DeviceSeqUtil;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
......@@ -185,18 +186,20 @@ public class ScrapServiceImpl implements ScrapService {
blockTraceabilityParsing.setBusinessTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("报废")
.carrierIds(StringSplitUtil.stringListToString(scrap.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(scrap.getSendUnit())
.initiateUnitName(scrap.getSendUnit())
.receiveUnitName(scrap.getReceiveUnit())
.documentNo(scrap.getNum())
.operationTime(scrap.getSendTime())
.operationTime(DateUtil.getLocalDateTime(scrap.getSendTime()))
.operatorUserName(operatorName(scrap))
.build());
blockTraceabilityParsing.setBlockTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("报废")
.carrierIds(StringSplitUtil.stringListToString(scrap1.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(scrap1.getSendUnit())
.initiateUnitName(scrap1.getSendUnit())
.receiveUnitName(scrap1.getReceiveUnit())
.documentNo(scrap1.getNum())
.operationTime(scrap1.getSendTime())
.operationTime(DateUtil.getLocalDateTime(scrap1.getSendTime()))
.operatorUserName(operatorName(scrap1))
.build());
blockTraceabilityParsing.setBlockData(scrap1);
......
......@@ -3,6 +3,7 @@ package com.tykj.dev.device.sendback.controller;
import com.tykj.dev.config.swagger.AutoDocument;
import com.tykj.dev.device.sendback.entity.vo.*;
import com.tykj.dev.device.sendback.service.AgainStorageBillService;
import com.tykj.dev.device.sendback.service.DeviceRepelDetailService;
import com.tykj.dev.device.sendback.service.RepelQueryService;
import com.tykj.dev.device.task.service.TaskService;
import com.tykj.dev.device.task.subject.vo.TaskSelectVo;
......@@ -43,6 +44,9 @@ public class RepelQueryController {
@Autowired
TaskUtils taskUtils;
@Autowired
DeviceRepelDetailService deviceRepelDetailService;
@GetMapping(value ="/repelTaskStatistical/{taskId}/{billId}")
@ApiOperation(value = "省、市清退任务的统计页面详情", notes = "省、市清退任务的统计页面")
public ResponseEntity findRepelTaskStatisticals(@PathVariable Integer taskId, @PathVariable Integer billId){
......@@ -186,4 +190,24 @@ public class RepelQueryController {
}
/**
* 区块验证
*/
@GetMapping(value ="/checkTrueData/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的验证", notes = "根据业务id进行对应业务的验证")
public ResponseEntity checkTrueData( @PathVariable Integer billId){
return ResponseEntity.ok(deviceRepelDetailService.checkTrueData(billId));
}
/**
* 区块溯源
*/
@GetMapping(value ="/traceabilityParsing/{billId}")
@ApiOperation(value = "根据业务id进行对应业务的溯源", notes = "根据业务id进行对应业务的溯源")
public ResponseEntity traceabilityParsing( @PathVariable Integer billId){
return ResponseEntity.ok(deviceRepelDetailService.traceabilityParsing(billId));
}
}
......@@ -24,6 +24,7 @@ import com.tykj.dev.device.sendback.service.DeviceRepelDetailService;
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.DateUtil;
import com.tykj.dev.misc.utils.JacksonUtil;
import com.tykj.dev.misc.utils.StringSplitUtil;
import com.tykj.dev.misc.utils.StringUtils;
......@@ -217,18 +218,20 @@ public class DeviceRepelDetailServiceImpl implements DeviceRepelDetailService {
blockTraceabilityParsing.setBusinessTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("清退")
.carrierIds(StringSplitUtil.stringListToString(deviceRepelDetail.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceRepelDetail.getSendUnit())
.initiateUnitName(deviceRepelDetail.getSendUnit())
.receiveUnitName(deviceRepelDetail.getReceiveUnit())
.documentNo(deviceRepelDetail.getNum())
.operationTime(deviceRepelDetail.getSendTime())
.operationTime(DateUtil.getLocalDateTime(deviceRepelDetail.getSendTime()))
.operatorUserName(operatorName(deviceRepelDetail))
.build());
blockTraceabilityParsing.setBlockTraceabilityParsingData(TraceabilityParsingData.builder()
.billTypeName("清退")
.carrierIds(StringSplitUtil.stringListToString(deviceRepelDetail1.getScripts().stream().map(ScriptSaveVo::getSeqNumber).collect(Collectors.toList())))
.unitName(deviceRepelDetail1.getSendUnit())
.initiateUnitName(deviceRepelDetail1.getSendUnit())
.receiveUnitName(deviceRepelDetail1.getReceiveUnit())
.documentNo(deviceRepelDetail1.getNum())
.operationTime(deviceRepelDetail1.getSendTime())
.operationTime(DateUtil.getLocalDateTime(deviceRepelDetail1.getSendTime()))
.operatorUserName(operatorName(deviceRepelDetail1))
.build());
blockTraceabilityParsing.setBlockData(deviceRepelDetail1);
......
......@@ -185,6 +185,18 @@
</exclusions>
</dependency>
<dependency>
<groupId>com.tykj</groupId>
<artifactId>dev-block</artifactId>
<version>1.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.tykj.dev</groupId>
<artifactId>union</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.tykj</groupId>
<artifactId>dev-apply</artifactId>
......
server.port=8088
server.port=8090
spring.application.name=device-dev
spring.datasource.url=jdbc:mysql://192.168.0.232:3307/device_master?serverTimezone=Asia/Shanghai&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
......@@ -13,15 +13,15 @@ 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/ozoz/data/
preview.path=http://192.168.102.169:8087/file/
file.path=/Users/zjm/code/test-tu/
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
block.flag=true
readMachine.ip=192.168.101.201
qrcode.path = C:/Users/zsp/Desktop/qrcode/
qrcode.preview.path=http://192.168.101.133:8087/code/
qrcode.path = /Users/zjm/code/test-tu/
qrcode.preview.path=http://192.168.102.121:8087/code/
block.carrier.ip=http://localhost:8088
carrier.url = http://192.168.0.101:8087/configuration/saveConfiguration
file.matching.excel=/Users/zhoushaopan/excel/
......@@ -4,7 +4,7 @@ spring.datasource.url=jdbc:oscar://192.168.0.80:2003/OSRDB?useSSL=false&rewriteB
spring.datasource.username=SYSDBA
spring.datasource.password=szoscar55
spring.jpa.database-platform=org.hibernate.dialect.OscarDialect
#file.path=/opt/zb/
file.path=/opt/zb/
#preview.path=http://10.153.4.11:8088/equip/file/
#preview.path=http://192.168.0.80:8088/equip/file/
preview.path=http://192.168.0.80:8088/equip/file/
block.flag=true
\ No newline at end of file
spring.datasource.driver-class-name=com.oscar.Driver
#spring.datasource.url=jdbc:oscar://10.153.4.10:2003/OSRDB
spring.datasource.url=jdbc:oscar://192.168.0.80:2003/OSRDB
spring.datasource.url=jdbc:oscar://localhost:2003/OSRDB
spring.datasource.username=SYSDBA
spring.datasource.password=szoscar55
spring.jpa.database-platform=org.hibernate.dialect.OscarDialect
......@@ -14,7 +14,7 @@ block.flag=true
readMachine.ip=192.168.101.202
qrcode.path = /opt/qrcode/
qrcode.preview.path=http://192.168.0.80/equip/code/
qrcode.preview.path=http://localhost:8088/equip/code/
carrier.url = http://192.168.0.80:8088/carrier/configuration/saveConfiguration
......
......@@ -124,8 +124,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
// return o;
// }
// })
// .anyRequest().authenticated()
.anyRequest().permitAll()
.anyRequest().authenticated()
// .anyRequest().permitAll()
.and()
.formLogin()
.loginProcessingUrl("/userLogin")
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论