|
@@ -33,6 +33,7 @@ import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActu
|
|
|
import com.steerinfo.meterwork.meterworkrailwaymotorialreceived.model.MeterWorkRailwayMotorialReceived;
|
|
import com.steerinfo.meterwork.meterworkrailwaymotorialreceived.model.MeterWorkRailwayMotorialReceived;
|
|
|
import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
|
|
import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
|
|
|
import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
|
|
import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
|
|
|
|
|
+import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.mapper.MeterWorkRailwayScheduledHelpMapper;
|
|
|
import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.model.MeterWorkRailwayScheduledHelp;
|
|
import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.model.MeterWorkRailwayScheduledHelp;
|
|
|
import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.service.IMeterWorkRailwayScheduledHelpService;
|
|
import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.service.IMeterWorkRailwayScheduledHelpService;
|
|
|
import com.steerinfo.meterwork.meterworkscheduledhelp.model.MeterWorkScheduledHelp;
|
|
import com.steerinfo.meterwork.meterworkscheduledhelp.model.MeterWorkScheduledHelp;
|
|
@@ -41,14 +42,17 @@ import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
|
|
|
import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
|
|
import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
|
|
|
import com.steerinfo.util.FieldsCollector;
|
|
import com.steerinfo.util.FieldsCollector;
|
|
|
import com.steerinfo.util.StringUtils;
|
|
import com.steerinfo.util.StringUtils;
|
|
|
|
|
+import io.micrometer.core.instrument.Meter;
|
|
|
import org.apache.shiro.crypto.hash.Hash;
|
|
import org.apache.shiro.crypto.hash.Hash;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
|
import java.math.BigDecimal;
|
|
import java.math.BigDecimal;
|
|
|
|
|
+import java.text.DateFormat;
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
import java.util.*;
|
|
@@ -78,6 +82,9 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
@Resource
|
|
@Resource
|
|
|
private IMeterWorkRailwayScheduledHelpService meterWorkRailwayScheduledHelpService;
|
|
private IMeterWorkRailwayScheduledHelpService meterWorkRailwayScheduledHelpService;
|
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
|
+ private MeterWorkRailwayScheduledHelpMapper meterWorkRailwayScheduledHelpMapper;
|
|
|
|
|
+
|
|
|
@Resource
|
|
@Resource
|
|
|
private PreRailwayScaleMapper preRailwayScaleMapper;
|
|
private PreRailwayScaleMapper preRailwayScaleMapper;
|
|
|
|
|
|
|
@@ -3939,54 +3946,43 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
RESTfulResult rm = new RESTfulResult();
|
|
RESTfulResult rm = new RESTfulResult();
|
|
|
rm.setFailed();
|
|
rm.setFailed();
|
|
|
try {
|
|
try {
|
|
|
- String helpContent = "";
|
|
|
|
|
|
|
+ /*SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
+ String afl = sdf.format(new Date());
|
|
|
|
|
+ //报警信息
|
|
|
MeterWorkRailwayScheduledHelp railwayHelp = new MeterWorkRailwayScheduledHelp();
|
|
MeterWorkRailwayScheduledHelp railwayHelp = new MeterWorkRailwayScheduledHelp();
|
|
|
|
|
+ String railwayNo = first.getRailwayNo() == null ? "" : first.getRailwayNo();
|
|
|
|
|
+ railwayHelp.setRailwayNo(railwayNo);
|
|
|
|
|
+ railwayHelp.setBaseSpotNo(first.getBaseSpotNo());
|
|
|
|
|
+ railwayHelp.setBaseSpotName(first.getBaseSpotName());
|
|
|
|
|
+
|
|
|
|
|
+ //查询车号是否为空,为空写入报警信息表
|
|
|
if(StringUtils.isEmpty(first.getRailwayNo())) {
|
|
if(StringUtils.isEmpty(first.getRailwayNo())) {
|
|
|
- helpContent = "车号为空,请联系处理";
|
|
|
|
|
- meterWorkRailwayScheduledHelpService.scheduledHelp("", first.getBaseSpotNo(), first.getBaseSpotName(), helpContent);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //根据车号、电话、司机姓名获取远程求助信息
|
|
|
|
|
- /*HashMap<String, Object> map = new HashMap<>();
|
|
|
|
|
- map.put("carNo", carNo);
|
|
|
|
|
- map.put("baseSpotNo", baseSpotNo);
|
|
|
|
|
- map.put("baseSpotName", baseSpotName);
|
|
|
|
|
- List<MeterWorkScheduledHelp> model = meterWorkScheduledHelpMapper.selectByParameters(map);
|
|
|
|
|
- //若是远程求助信息里面没有求助信息,重新生成Id直接插入
|
|
|
|
|
- if(model.size() >= 1){
|
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
|
- helpModel.setHelpId(sdf.format(new Date()));
|
|
|
|
|
- helpModel.setCarNo(carNo);
|
|
|
|
|
- helpModel.setBaseSpotNo(baseSpotNo);
|
|
|
|
|
- helpModel.setBaseSpotName(baseSpotName);
|
|
|
|
|
- helpModel.setHelpContent(helpContent);
|
|
|
|
|
- helpModel.setCreateTime(new Date());
|
|
|
|
|
- helpModel.setValueFlag("0");
|
|
|
|
|
- int i = meterWorkScheduledHelpMapper.insertSelective(helpModel);
|
|
|
|
|
- if( i > 0){
|
|
|
|
|
- rm.setSucceed();
|
|
|
|
|
- rm.setMessage("数据正在处理,请等待!!");
|
|
|
|
|
- rm.setCode("200");
|
|
|
|
|
- rm.setData(helpModel);
|
|
|
|
|
- }else{
|
|
|
|
|
- rm.setMessage("操作失败");
|
|
|
|
|
- rm.setCode("500");
|
|
|
|
|
- rm.setFailed();
|
|
|
|
|
- }
|
|
|
|
|
- }else { //若有求助信息,更新远程求助表
|
|
|
|
|
- model.get(0).setHelpContent(helpContent);
|
|
|
|
|
- model.get(0).setCreateTime(new Date());
|
|
|
|
|
- model.get(0).setValueFlag("0");
|
|
|
|
|
- int i = meterWorkScheduledHelpMapper.updateByPrimaryKeySelective(model.get(0));
|
|
|
|
|
- if (i > 0) {
|
|
|
|
|
- rm.setSucceed();
|
|
|
|
|
- rm.setMessage("数据正在处理,请等待!!");
|
|
|
|
|
- rm.setCode("200");
|
|
|
|
|
- rm.setData(model);
|
|
|
|
|
- } else {
|
|
|
|
|
- rm.setMessage("操作失败");
|
|
|
|
|
- rm.setCode("500");
|
|
|
|
|
- rm.setFailed();
|
|
|
|
|
|
|
+ railwayHelp.setHelpContent("车号为空,请联系处理");
|
|
|
|
|
+ meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
|
|
|
|
|
+ rm.setMessage("车号为空,请确认!!");
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }else {
|
|
|
|
|
+ //查询根据车号查询有效的一次数据
|
|
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
|
|
+ map.put("railwayNo", railwayNo);
|
|
|
|
|
+ map.put("valueFlag", "1");
|
|
|
|
|
+ List<MeterWorkRailwayActFirst> firstList = meterWorkRailwayActFirstMapper.selectByParameters(map);
|
|
|
|
|
+ if(firstList.size() >= 1) {
|
|
|
|
|
+ if(acutal.)
|
|
|
|
|
+ for (MeterWorkRailwayActFirst actFirst: firstList) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }else {
|
|
|
|
|
+ first.setActualFirstNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
|
|
|
|
|
+ int i = meterWorkRailwayActFirstMapper.insertSelective(first);
|
|
|
|
|
+ if(i >= 1) {
|
|
|
|
|
+ railwayHelp.setHelpContent("计量完成,车号京A00000无委托洁净");
|
|
|
|
|
+ meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
|
|
|
|
|
+ rm.setSucceed();
|
|
|
|
|
+ rm.setMessage("自动保存一次数据成功!!");
|
|
|
|
|
+ rm.setData(first);
|
|
|
|
|
+ return rm;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}*/
|
|
}*/
|
|
|
|
|
|
|
@@ -3997,6 +3993,115 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
return rm;
|
|
return rm;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ public String matchPreClean(MeterWorkRailwayActFirst grossModel, MeterWorkRailwayActFirst tareModel){
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
+ String sfl = sdf.format(new Date());
|
|
|
|
|
+ MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
|
|
+
|
|
|
|
|
+ List<PreRailwayScale> railwayScales = preRailwayScaleMapper.selectByRailwayNo(grossModel.getRailwayNo());
|
|
|
|
|
+ if(railwayScales.size() >= 1) {
|
|
|
|
|
+ if(railwayScales.size() == 1) {
|
|
|
|
|
+ ///////////无委托自动计量
|
|
|
|
|
+
|
|
|
|
|
+ PreRailwayScale scale = railwayScales.get(0);
|
|
|
|
|
+ MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectAndMatch(grossModel.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(actFirst01, grossModel);
|
|
|
|
|
+ MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectAndMatch(tareModel.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(actFirst02, tareModel);
|
|
|
|
|
+
|
|
|
|
|
+ //更新预报数据
|
|
|
|
|
+ scale.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ scale.setUpdateTime(new Date());
|
|
|
|
|
+ scale.setUpdateManNo("system");
|
|
|
|
|
+ scale.setUpdateManName("自助计量洁净更新");
|
|
|
|
|
+ scale.setUploadFlag("1");
|
|
|
|
|
+ scale.setPredictionType("1");
|
|
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
|
|
|
|
|
+
|
|
|
|
|
+ //更新一次数据
|
|
|
|
|
+ //更新第一次毛重数据库
|
|
|
|
|
+ grossModel.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ grossModel.setUpdateManName("system");
|
|
|
|
|
+ grossModel.setUpdateManName("智能计量双委托洁净更新");
|
|
|
|
|
+ grossModel.setUpdateTime(new Date());
|
|
|
|
|
+ grossModel.setWeightType("0");
|
|
|
|
|
+ grossModel.setIsPreSacale("1");
|
|
|
|
|
+ grossModel.setPredictionNo(scale.getPredictionNo());
|
|
|
|
|
+ grossModel.setPredictionType("1");
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
|
|
|
|
|
+ //更新第一次皮重数据库
|
|
|
|
|
+ tareModel.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ tareModel.setUpdateManName("system");
|
|
|
|
|
+ tareModel.setUpdateManName("自助计量洁净更新");
|
|
|
|
|
+ tareModel.setUpdateTime(new Date());
|
|
|
|
|
+ tareModel.setWeightType("1");
|
|
|
|
|
+ tareModel.setIsPreSacale("1");
|
|
|
|
|
+ tareModel.setPredictionNo(scale.getPredictionNo());
|
|
|
|
|
+ tareModel.setPredictionType("1");
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
|
|
|
|
|
+
|
|
|
|
|
+ //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
|
|
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(mwca1, actualRow);
|
|
|
|
|
+
|
|
|
|
|
+ //添加结净数据
|
|
|
|
|
+ String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
|
|
|
|
|
+ actualRow.setActualNo(sdf.format(new Date()) + no);
|
|
|
|
|
+ actualRow.setNetTime(new Date());
|
|
|
|
|
+ actualRow.setNetMode(DbConstants.TYPE);
|
|
|
|
|
+ actualRow.setNote("自助计量匹配洁净");
|
|
|
|
|
+ actualRow.setNetMode("1");
|
|
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
|
|
+ actualRow.setIsPreSacale("1");
|
|
|
|
|
+ actualRow.setPredictionNo(scale.getPredictionNo());
|
|
|
|
|
+ actualRow.setPredictionType("1");
|
|
|
|
|
+ actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
|
|
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ return grossModel.getRailwayNo() + "车号在委托信息表含有多条有效委托信息,不允许匹配委托洁净,请确认!!";
|
|
|
|
|
+ }
|
|
|
|
|
+ }else {
|
|
|
|
|
+ ///////////无委托自动计量
|
|
|
|
|
+
|
|
|
|
|
+ //更新第一次毛重数据库
|
|
|
|
|
+ grossModel.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ grossModel.setUpdateManName("system");
|
|
|
|
|
+ grossModel.setUpdateManName("自助计量洁净更新");
|
|
|
|
|
+ grossModel.setUpdateTime(new Date());
|
|
|
|
|
+ grossModel.setWeightType("0");
|
|
|
|
|
+ grossModel.setIsPreSacale("0");
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
|
|
|
|
|
+ //更新第一次皮重数据库
|
|
|
|
|
+ tareModel.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ tareModel.setUpdateManName("system");
|
|
|
|
|
+ tareModel.setUpdateManName("自助计量洁净更新");
|
|
|
|
|
+ tareModel.setUpdateTime(new Date());
|
|
|
|
|
+ tareModel.setWeightType("1");
|
|
|
|
|
+ tareModel.setIsPreSacale("0");
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
|
|
|
|
|
+
|
|
|
|
|
+ //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
|
|
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(grossModel.getActualFirstNo(), tareModel.getActualFirstNo());
|
|
|
|
|
+ BeanUtils.copyProperties(mwca1, actualRow);
|
|
|
|
|
+
|
|
|
|
|
+ //添加结净数据
|
|
|
|
|
+ String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
|
|
|
|
|
+ actualRow.setActualNo(sdf.format(new Date()) + no);
|
|
|
|
|
+ actualRow.setNetTime(new Date());
|
|
|
|
|
+ actualRow.setNetMode(DbConstants.TYPE);
|
|
|
|
|
+ actualRow.setNote("自助计量匹配洁净");
|
|
|
|
|
+ actualRow.setNetMode("1");
|
|
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
|
|
+ actualRow.setIsPreSacale("0");
|
|
|
|
|
+ actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
|
|
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
|
|
+ return "计量完成,车号"+ grossModel.getRailwayNo() +"无委托洁净";
|
|
|
|
|
+ }
|
|
|
|
|
+ return "";
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
public static void main(String[] args) {
|
|
|
BigDecimal a = new BigDecimal(95120);
|
|
BigDecimal a = new BigDecimal(95120);
|
|
|
BigDecimal b = a.divide(new BigDecimal(1000));
|
|
BigDecimal b = a.divide(new BigDecimal(1000));
|