|
@@ -66,6 +66,7 @@ public class ReadMeterServiceImpl implements ReadMeterService {
|
|
|
private final WebSBservice webSBservice;
|
|
|
private final ReadmeterService readmeterService;
|
|
|
private final ReadmeterhisService readmeterhisService;
|
|
|
+ private final ReadmetereashisService readmetereashisService;
|
|
|
private final GdglinfoClient gdglinfoClient;
|
|
|
|
|
|
private final RedisTemplate redisTemplate;
|
|
@@ -196,13 +197,13 @@ public class ReadMeterServiceImpl implements ReadMeterService {
|
|
|
} else {
|
|
|
xlss.add(qfcbqfmxls);
|
|
|
}
|
|
|
- if (qfcbqfmxls.getBcds() != xls.getBcds()) {
|
|
|
+ if (!qfcbqfmxls.getBcds().equals(xls.getBcds())) {
|
|
|
if (qfcbqfmxls.getBcds() > xls.getBcds() && xls.getScds() != 0) {
|
|
|
xls.setBcds(qfcbqfmxls.getBcds());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (qfcbqfmxls.getScds() != xls.getScds()) {
|
|
|
+ if (!qfcbqfmxls.getScds().equals(xls.getScds())) {
|
|
|
if (qfcbqfmxls.getScds() < xls.getScds() || xls.getScds() == 0) {
|
|
|
xls.setScds(qfcbqfmxls.getScds());
|
|
|
}
|
|
@@ -982,6 +983,179 @@ public class ReadMeterServiceImpl implements ReadMeterService {
|
|
|
return ResultRespone.success(true);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public ResultRespone auditYcbData(AuditQuality auditQuality, List<MultipartFile> fileList) {
|
|
|
+ Date cbrq = auditQuality.getCbrq();
|
|
|
+ String auditRsult = auditQuality.getAuditResult();
|
|
|
+ String yhbh = auditQuality.getYhbh();
|
|
|
+
|
|
|
+ String soleSign = auditQuality.getSoleSign();
|
|
|
+ String auditReason = auditQuality.getAuditPassReson();
|
|
|
+ StringBuilder fileIds = new StringBuilder();
|
|
|
+ if (fileList != null && !fileList.isEmpty()) {
|
|
|
+
|
|
|
+ fileList.forEach(file -> {
|
|
|
+
|
|
|
+ String fileName = file.getOriginalFilename();
|
|
|
+ if (!"".equals(fileName)) {
|
|
|
+
|
|
|
+ assert fileName != null;
|
|
|
+ String filePath = "/xrty/slfxsb/" + IdWorker.getIdStr() + fileName.substring(fileName.lastIndexOf("."));
|
|
|
+ FtpUtil.uploadFile2Ftp(file, filePath);
|
|
|
+ File localFile = new File();
|
|
|
+ localFile.setFilePath(filePath);
|
|
|
+ localFile.setFileName(fileName);
|
|
|
+ localFile.setOtherName(IdWorker.getIdStr() + fileName.substring(fileName.lastIndexOf(".")));
|
|
|
+
|
|
|
+ localFile.setTableName(TABLE_NAME);
|
|
|
+
|
|
|
+ String suffix = fileName.substring(fileName.lastIndexOf("."));
|
|
|
+ localFile.setFileFormat(suffix);
|
|
|
+ localFile.setFileSize(file.getSize() + "KB");
|
|
|
+ fileService.save(localFile);
|
|
|
+
|
|
|
+ fileIds.append(localFile.getId()).append(",");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ GdglinfoExtendDto gdglinfoExtendDto = auditQuality.getGdglinfoExtendDto();
|
|
|
+ Long auditUser = SecurityUtils.getUserId();
|
|
|
+ if (StringUtil.isEmpty(soleSign)) {
|
|
|
+ throw new ToflyDeniedException("请传递用户唯一标识");
|
|
|
+ }
|
|
|
+
|
|
|
+ if ("0".equals(auditRsult)) {
|
|
|
+ Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount, Readmetereashis::getShbz));
|
|
|
+ String shbz = readmeterhisServiceOne.getShbz();
|
|
|
+ if ("2".equals(shbz) || "3".equals(shbz)) {
|
|
|
+ throw new ToflyDeniedException("已转工单");
|
|
|
+ }
|
|
|
+
|
|
|
+ readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
|
|
|
+ .eq(Readmetereashis::getYhbh, yhbh)
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .set(StringUtil.isNotEmpty(auditReason), Readmetereashis::getAuditPassReson, auditReason)
|
|
|
+ .set(Readmetereashis::getAuditUser, auditUser)
|
|
|
+ .set(Readmetereashis::getShbz, "1")
|
|
|
+ .set(Readmetereashis::getAuditTime, Date8Util.getCurrentDate()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ else if ("1".equals(auditRsult)) {
|
|
|
+ Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign));
|
|
|
+ String shbz = readmeterhisServiceOne.getShbz();
|
|
|
+ if ("1".equals(shbz)) {
|
|
|
+ throw new ToflyDeniedException("已人工审核通过");
|
|
|
+ }
|
|
|
+ int qualityCount = 1;
|
|
|
+
|
|
|
+ Readmetereashis readmeterhis = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .isNotNull(Readmetereashis::getQualityCount)
|
|
|
+ .apply("ROWNUM = 1").orderByDesc(Readmetereashis::getQualityCount)
|
|
|
+ .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount));
|
|
|
+ if (StringUtil.isNotNull(readmeterhis) && StringUtil.isNotNull(readmeterhis.getQualityCount())) {
|
|
|
+
|
|
|
+ qualityCount = qualityCount + readmeterhis.getQualityCount();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtil.isNotNull(gdglinfoExtendDto)) {
|
|
|
+ gdglinfoExtendDto.setIsCb("1");
|
|
|
+ gdglinfoExtendDto.setIsGeneral("2");
|
|
|
+ gdglinfoExtendDto.setSoleSign(readmeterhisServiceOne.getSoleSign());
|
|
|
+ gdglinfoExtendDto.setGddjFileid(fileIds.length() != 0 ? fileIds.toString() : null);
|
|
|
+ String str = JSONObject.toJSONString(gdglinfoExtendDto);
|
|
|
+ ResultRespone resultRespone = gdglinfoClient.saveGdglInfoMeter(str);
|
|
|
+ if (resultRespone.getCode() == 1) {
|
|
|
+ String gdid = resultRespone.getResult().toString();
|
|
|
+ boolean updateFlag = readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .set(StringUtil.isNotEmpty(auditReason), Readmetereashis::getAuditPassReson, auditReason)
|
|
|
+ .set(Readmetereashis::getShbz, "2").set(Readmetereashis::getGdId, gdid)
|
|
|
+ .set(Readmetereashis::getQualityCount, qualityCount));
|
|
|
+ if (updateFlag) {
|
|
|
+ return ResultRespone.success(true, "成功");
|
|
|
+ } else {
|
|
|
+ return ResultRespone.failed(false, "转工单失败");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new ToflyDeniedException("转工单失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ else if ("2".equals(auditRsult)) {
|
|
|
+ Readmetereashis readmeterhisServiceOne = readmetereashisService.getOne(Wrappers.<Readmetereashis>lambdaQuery()
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .select(Readmetereashis::getYhbh, Readmetereashis::getQualityCount, Readmetereashis::getShbz));
|
|
|
+ String shbz = readmeterhisServiceOne.getShbz();
|
|
|
+ if ("2".equals(shbz) || "3".equals(shbz)) {
|
|
|
+ throw new ToflyDeniedException("已转工单");
|
|
|
+ }
|
|
|
+
|
|
|
+ readmetereashisService.update(Wrappers.<Readmetereashis>lambdaUpdate()
|
|
|
+ .eq(Readmetereashis::getYhbh, yhbh)
|
|
|
+ .eq(StringUtil.isNotEmpty(soleSign), Readmetereashis::getSoleSign, soleSign)
|
|
|
+ .set(Readmetereashis::getAuditPassReson, "")
|
|
|
+ .set(Readmetereashis::getAuditUser, auditUser)
|
|
|
+ .set(Readmetereashis::getShbz, "0")
|
|
|
+ .set(Readmetereashis::getAuditTime, ""));
|
|
|
+ }
|
|
|
+
|
|
|
+ else if ("3".equals(auditRsult)) {
|
|
|
+ List<String> soleSignList = Arrays.asList(soleSign.split(","));
|
|
|
+
|
|
|
+ List<Readmetereashis> readmeterhisList = readmetereashisService.list(Wrappers.<Readmetereashis>lambdaQuery()
|
|
|
+ .in(Readmetereashis::getSoleSign, soleSignList)
|
|
|
+ .select(Readmetereashis::getYhbh, Readmetereashis::getYhxm, Readmetereashis::getYhdz, Readmetereashis::getLxdh,
|
|
|
+ Readmetereashis::getSbkj, Readmetereashis::getYsxz, Readmetereashis::getSbbh, Readmetereashis::getMonth1,
|
|
|
+ Readmetereashis::getMonth2, Readmetereashis::getMonth3, Readmetereashis::getYearonyear1, Readmetereashis::getYearonyear2,
|
|
|
+ Readmetereashis::getYearonyear3, Readmetereashis::getCbsl, Readmetereashis::getSjsl, Readmetereashis::getSoleSign));
|
|
|
+ if (StringUtil.isNotNull(gdglinfoExtendDto)) {
|
|
|
+ gdglinfoExtendDto.setIsCb("1");
|
|
|
+ List<Readmetereashis> readListUpdate = new ArrayList<>();
|
|
|
+ for (Readmetereashis readOne : readmeterhisList) {
|
|
|
+ gdglinfoExtendDto.setSoleSign(readOne.getSoleSign());
|
|
|
+ gdglinfoExtendDto.setIsGeneral("2");
|
|
|
+ gdglinfoExtendDto.setKhbh(readOne.getYhbh());
|
|
|
+ gdglinfoExtendDto.setKhxm(readOne.getYhxm());
|
|
|
+ gdglinfoExtendDto.setKhdz(readOne.getYhdz());
|
|
|
+ gdglinfoExtendDto.setLxdh(readOne.getLxdh());
|
|
|
+ gdglinfoExtendDto.setSbbh(readOne.getSbbh());
|
|
|
+ gdglinfoExtendDto.setYsxz(readOne.getYsxz());
|
|
|
+ gdglinfoExtendDto.setSbkj(readOne.getSbkj());
|
|
|
+ gdglinfoExtendDto.setGddjFileid(fileIds.length() != 0 ? fileIds.toString() : null);
|
|
|
+ String str = JSONObject.toJSONString(gdglinfoExtendDto);
|
|
|
+ try {
|
|
|
+ ResultRespone resultRespone = gdglinfoClient.saveGdglInfoMeter(str);
|
|
|
+ if (resultRespone.getCode() == 1) {
|
|
|
+ readOne.setGdId(resultRespone.getResult().toString());
|
|
|
+
|
|
|
+ readListUpdate.add(readOne);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (readListUpdate.size() > 0) {
|
|
|
+ readmeterhisService.updateAuditYcbData(readListUpdate);
|
|
|
+ } else {
|
|
|
+ return ResultRespone.failed(false, "上报工单失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw new ToflyDeniedException("不满足操作条件");
|
|
|
+ }
|
|
|
+ return ResultRespone.success(true);
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Bwrksbdatail getSbByRFID(String rfid) {
|
|
|
|