|
@@ -332,66 +332,123 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
|
|
|
@Override
|
|
@Override
|
|
|
public RESTfulResult cleanByfirstNoAndNotes(String actFirstNo01, String actFirstNo02, String predictionNo, String Notes) {
|
|
public RESTfulResult cleanByfirstNoAndNotes(String actFirstNo01, String actFirstNo02, String predictionNo, String Notes) {
|
|
|
RESTfulResult rm = new RESTfulResult();
|
|
RESTfulResult rm = new RESTfulResult();
|
|
|
|
|
+ rm.setFailed();
|
|
|
|
|
|
|
|
MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo01);
|
|
MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo01);
|
|
|
MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo02);
|
|
MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo02);
|
|
|
|
|
+ PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
|
|
|
|
|
+ //存储洁净记录
|
|
|
|
|
+ MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
+ UserPayload payload = new UserPayload();
|
|
|
|
|
+ String userId = payload.getUserCode();
|
|
|
|
|
+ String userName = payload.getUserName();
|
|
|
|
|
|
|
|
- if(actFirst01 == null || actFirst02 == null){
|
|
|
|
|
- rm.setFailed();
|
|
|
|
|
- rm.setMessage("一次计量数据编号不存在于轨道衡一次计量表");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }else{
|
|
|
|
|
- if(!actFirst01.getRailwayNo().equals(actFirst02.getRailwayNo())){
|
|
|
|
|
- rm.setFailed();
|
|
|
|
|
- rm.setMessage("请选择同一车号的一次计量数据进行结净");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }else if(!actFirst01.getValueFlag().equals("1") || !actFirst02.getValueFlag().equals("1")){
|
|
|
|
|
- rm.setFailed();
|
|
|
|
|
- rm.setMessage("请选择有效的一次计量数据进行结净");
|
|
|
|
|
- return rm;
|
|
|
|
|
- }else{
|
|
|
|
|
- if(actFirst01.getMeterWeight().compareTo(actFirst02.getMeterWeight()) == -1){ //A小于B, 置换,始终保证A>B
|
|
|
|
|
- MeterWorkRailwayActFirst tempModel = new MeterWorkRailwayActFirst();
|
|
|
|
|
- BeanUtils.copyProperties(actFirst01, tempModel);
|
|
|
|
|
- BeanUtils.copyProperties(actFirst02, actFirst01);
|
|
|
|
|
- BeanUtils.copyProperties(tempModel, actFirst02);
|
|
|
|
|
- }
|
|
|
|
|
- //洁净操作
|
|
|
|
|
- MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
|
|
- MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAdd(actFirstNo01, actFirstNo02);
|
|
|
|
|
- BeanUtils.copyProperties(mwca2, actualRow);
|
|
|
|
|
- //标志位为洁净
|
|
|
|
|
- actFirst01.setValueFlag(DbConstants.NET);
|
|
|
|
|
- actFirst01.setNote(Notes);
|
|
|
|
|
- meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst01);
|
|
|
|
|
- actFirst02.setNote(Notes);
|
|
|
|
|
- actFirst02.setValueFlag(DbConstants.NET);
|
|
|
|
|
- meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst02);
|
|
|
|
|
-
|
|
|
|
|
- cleanCheck(actualRow);
|
|
|
|
|
-
|
|
|
|
|
- if (actualRow.getGrossTime().compareTo(actualRow.getTareTime()) == 1) {
|
|
|
|
|
- actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
|
|
|
|
|
- actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
|
|
|
|
|
- } else {
|
|
|
|
|
- actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
|
|
|
|
|
- actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
|
|
|
|
|
- }
|
|
|
|
|
- actualRow.setNetMode(DbConstants.TYPE);
|
|
|
|
|
- SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
|
|
- String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
|
|
|
|
|
- actualRow.setActualNo(sdf.format(new Date()) + no);
|
|
|
|
|
- actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
|
|
|
|
|
- actualRow.setUploadFlag("1");
|
|
|
|
|
- actualRow.setNote(Notes);
|
|
|
|
|
- actualRow.setLcNo(actFirst01.getLcNo());
|
|
|
|
|
- actualRow.setCreateTime(new Date());
|
|
|
|
|
- meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
|
|
- rm.setSucceed();
|
|
|
|
|
- rm.setData(actualRow);
|
|
|
|
|
- return rm;
|
|
|
|
|
|
|
+ Assert.isTrue(actFirst01 != null || actFirst02 != null, "一次计量数据编号不存在于轨道衡一次计量表");
|
|
|
|
|
+ Assert.isTrue(actFirst01.getRailwayNo().equals(actFirst02.getRailwayNo()), "请选择同一车号的一次计量数据进行结净");
|
|
|
|
|
+ Assert.isTrue(actFirst01.getValueFlag().equals("1") || actFirst02.getValueFlag().equals("1"), "请选择有效的一次计量数据进行结净");
|
|
|
|
|
+ if (actFirst01.getMeterWeight().compareTo(actFirst02.getMeterWeight()) == -1) { //A小于B, 置换,始终保证A>B
|
|
|
|
|
+ MeterWorkRailwayActFirst tempModel = new MeterWorkRailwayActFirst();
|
|
|
|
|
+ BeanUtils.copyProperties(actFirst01, tempModel);
|
|
|
|
|
+ BeanUtils.copyProperties(actFirst02, actFirst01);
|
|
|
|
|
+ BeanUtils.copyProperties(tempModel, actFirst02);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if(scale != null) {
|
|
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
|
|
+ MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(actFirst01.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(first1, actFirst01);
|
|
|
|
|
+ MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(actFirst02.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(first2, actFirst02);
|
|
|
|
|
+
|
|
|
|
|
+ scale.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ scale.setUpdateTime(new Date());
|
|
|
|
|
+ scale.setUpdateManNo("system");
|
|
|
|
|
+ scale.setUpdateManName("匹配结净更新");
|
|
|
|
|
+ scale.setUploadFlag("1");
|
|
|
|
|
+ scale.setPredictionType("1");
|
|
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
|
|
|
|
|
+
|
|
|
|
|
+ //更新一次数据
|
|
|
|
|
+ //更新第一次毛重数据库
|
|
|
|
|
+ actFirst01.setWeightType("0");
|
|
|
|
|
+ actFirst01.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ actFirst01.setUpdateManName("system");
|
|
|
|
|
+ actFirst01.setUpdateManName("匹配结净更新");
|
|
|
|
|
+ actFirst01.setUpdateTime(new Date());
|
|
|
|
|
+ actFirst01.setIsPreSacale("1");
|
|
|
|
|
+ actFirst01.setPredictionNo(scale.getPredictionNo());
|
|
|
|
|
+ actFirst01.setPredictionType("1");
|
|
|
|
|
+ actFirst01.setNote(Notes);
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(actFirst01);
|
|
|
|
|
+ //更新第一次皮重数据库
|
|
|
|
|
+ actFirst02.setWeightType("1");
|
|
|
|
|
+ actFirst02.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ actFirst02.setUpdateManName("system");
|
|
|
|
|
+ actFirst02.setUpdateManName("匹配结净更新");
|
|
|
|
|
+ actFirst02.setUpdateTime(new Date());
|
|
|
|
|
+ actFirst02.setIsPreSacale("1");
|
|
|
|
|
+ actFirst02.setPredictionNo(scale.getPredictionNo());
|
|
|
|
|
+ actFirst02.setPredictionType("1");
|
|
|
|
|
+ actFirst02.setNote(Notes);
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(actFirst02);
|
|
|
|
|
+
|
|
|
|
|
+ MeterWorkRailwayActual mwca = meterWorkRailwayActualMapper.manualAddPre(actFirst01.getActualFirstNo(), actFirst02.getActualFirstNo(), scale.getPredictionNo());
|
|
|
|
|
+ BeanUtils.copyProperties(mwca, actualRow);
|
|
|
|
|
+
|
|
|
|
|
+ actualRow.setActualNo(sdf.format(new Date()) + meterWorkRailwayActualMapper.getNewID(sdf.format(new Date())));
|
|
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
|
|
+ actualRow.setIsPreSacale("1");
|
|
|
|
|
+ actualRow.setCreateTime(new Date());
|
|
|
|
|
+ actualRow.setCreateManName(userName);
|
|
|
|
|
+ actualRow.setNetTime(new Date());
|
|
|
|
|
+ actualRow.setNote(Notes);
|
|
|
|
|
+ actualRow.setLcNo(actFirst01.getLcNo());
|
|
|
|
|
+ actualRow.setNetMode(DbConstants.TYPE);
|
|
|
|
|
+ actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
|
|
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
|
|
+ }else {
|
|
|
|
|
+ MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAdd(actFirst01.getActualFirstNo(), actFirst02.getActualFirstNo());
|
|
|
|
|
+ BeanUtils.copyProperties(mwca2, actualRow);
|
|
|
|
|
+
|
|
|
|
|
+ //标志位为洁净
|
|
|
|
|
+ actFirst01.setWeightType("0");
|
|
|
|
|
+ actFirst01.setNote(Notes);
|
|
|
|
|
+ actFirst01.setIsPreSacale("0");
|
|
|
|
|
+ actFirst01.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst01);
|
|
|
|
|
+ actFirst02.setWeightType("1");
|
|
|
|
|
+ actFirst02.setNote(Notes);
|
|
|
|
|
+ actFirst02.setIsPreSacale("0");
|
|
|
|
|
+ actFirst02.setValueFlag(DbConstants.NET);
|
|
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst02);
|
|
|
|
|
+
|
|
|
|
|
+ cleanCheck(actualRow);
|
|
|
|
|
+
|
|
|
|
|
+ if (actualRow.getGrossTime().compareTo(actualRow.getTareTime()) == 1) {
|
|
|
|
|
+ actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
|
|
|
|
|
+ actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
|
|
|
|
|
+ actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
|
|
|
}
|
|
}
|
|
|
|
|
+ actualRow.setActualNo(sdf.format(new Date()) + meterWorkRailwayActualMapper.getNewID(sdf.format(new Date())));
|
|
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
|
|
+ actualRow.setIsPreSacale("0");
|
|
|
|
|
+ actualRow.setNote(Notes);
|
|
|
|
|
+ actualRow.setLcNo(actFirst01.getLcNo());
|
|
|
|
|
+ actualRow.setCreateManName(userName);
|
|
|
|
|
+ actualRow.setCreateTime(new Date());
|
|
|
|
|
+ actualRow.setNetTime(new Date());
|
|
|
|
|
+ actualRow.setNetMode(DbConstants.TYPE);
|
|
|
|
|
+ actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
|
|
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
}
|
|
}
|
|
|
|
|
+ rm.setSucceed();
|
|
|
|
|
+ rm.setData(actualRow);
|
|
|
|
|
+ return rm;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|