|
|
@@ -44,6 +44,7 @@ import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
|
|
|
import com.steerinfo.util.FieldsCollector;
|
|
|
import com.steerinfo.util.StringUtils;
|
|
|
import io.micrometer.core.instrument.Meter;
|
|
|
+import org.apache.poi.hssf.record.ArrayRecord;
|
|
|
import org.apache.shiro.crypto.hash.Hash;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
@@ -1585,7 +1586,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
MeterWorkRailwayActual actualRow1 = new MeterWorkRailwayActual();
|
|
|
MeterWorkRailwayActual actualRow2 = new MeterWorkRailwayActual();
|
|
|
//获取两个一次重量的差值
|
|
|
- BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight()).abs();
|
|
|
+ BigDecimal num01 = mwcaf01.getMeterWeight().subtract(mwcaf03.getMeterWeight());
|
|
|
if(mwcaf01 == null || mwcaf03 == null ){
|
|
|
return "未找到相应的一次计量信息,请确认!!";
|
|
|
}
|
|
|
@@ -3594,7 +3595,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
netRail.setNetClass(two.getMeterClass());
|
|
|
netRail.setNetGroup(two.getMeterGroup());
|
|
|
}
|
|
|
- netRail.setNetWeight(one.getMeterBalanceWeight().subtract(two.getMeterBalanceWeight()));
|
|
|
+ netRail.setNetWeight(one.getMeterWeight().subtract(two.getMeterWeight()));
|
|
|
netRail.setNetMode("1");
|
|
|
netRail.setValueFlag("1");
|
|
|
netRail.setUploadFlag("1");
|
|
|
@@ -4363,6 +4364,156 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
return rm;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public RESTfulResult doIdentifyWeight(MeterWorkRailwayActFirst model) {
|
|
|
+ RESTfulResult rm = new RESTfulResult();
|
|
|
+ rm.setFailed();
|
|
|
+
|
|
|
+ try {
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
+ List<MeterWorkRailwayActFirst> firsts = new ArrayList<>();
|
|
|
+ List<MeterWorkRailwayActual> actuals = new ArrayList<>();
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String afl = sdf.format(new Date());
|
|
|
+ //一次毛重数据
|
|
|
+ MeterWorkRailwayActFirst grossModel = model;
|
|
|
+ model.setActualFirstNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
|
|
|
+ //标识皮重保存
|
|
|
+ MeterWorkRailwayActFirst tareModel = model;
|
|
|
+ tareModel.setPredictionNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
|
|
|
+ tareModel.setMeterWeight(model.getRailwayFactoryWeight());
|
|
|
+
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(grossModel);
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(tareModel);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
+ if(StringUtils.isNotEmpty(model.getPredictionNo())) {
|
|
|
+ PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
|
|
|
+ //毛重一次
|
|
|
+ MeterWorkRailwayActFirst model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ MeterWorkRailwayActFirst model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
|
|
|
+
|
|
|
+ //修改委托状态
|
|
|
+ if(scale != null) {
|
|
|
+ //委托信息是否为有效数据
|
|
|
+ if(scale.getValueFlag().equals("2") || scale.getValueFlag().equals("3")){
|
|
|
+ rm.setMessage("委托信息已使用或者已作废!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first1, model01);
|
|
|
+ MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first2, model02);
|
|
|
+
|
|
|
+ //修改委托编号
|
|
|
+ scale.setValueFlag(DbConstants.NET);
|
|
|
+ scale.setUpdateTime(new Date());
|
|
|
+ scale.setUpdateManNo("system");
|
|
|
+ scale.setUpdateManName("标志皮洁净更新");
|
|
|
+ scale.setUploadFlag("1");
|
|
|
+ scale.setPredictionType("1");
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
|
|
|
+
|
|
|
+ //修改毛重一次数据状态
|
|
|
+ model01.setValueFlag(DbConstants.NET);
|
|
|
+ model01.setUpdateManName("system");
|
|
|
+ model01.setUpdateManName("标志皮洁净更新");
|
|
|
+ model01.setUpdateTime(new Date());
|
|
|
+ model01.setWeightType("0");
|
|
|
+ model01.setIsPreSacale("1");
|
|
|
+ model01.setPredictionNo(scale.getPredictionNo());
|
|
|
+ model01.setPredictionType("1");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model01);
|
|
|
+ //修改皮重一次数据状态
|
|
|
+ model02.setValueFlag(DbConstants.NET);
|
|
|
+ model02.setUpdateManName("system");
|
|
|
+ model02.setUpdateManName("标志皮洁净更新");
|
|
|
+ model02.setUpdateTime(new Date());
|
|
|
+ model02.setWeightType("1");
|
|
|
+ model02.setIsPreSacale("1");
|
|
|
+ model02.setPredictionNo(scale.getPredictionNo());
|
|
|
+ model02.setPredictionType("1");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(model01.getActualFirstNo(), model02.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(model01.getMeterWeight().subtract(model02.getMeterWeight()));
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
+
|
|
|
+ firsts.add(model01);
|
|
|
+ }else {
|
|
|
+ rm.setMessage("委托信息表未查询到委托信息!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //修改毛重一次数据状态
|
|
|
+ grossModel.setValueFlag(DbConstants.NET);
|
|
|
+ grossModel.setUpdateManName("system");
|
|
|
+ grossModel.setUpdateManName("标志皮洁净更新");
|
|
|
+ grossModel.setUpdateTime(new Date());
|
|
|
+ grossModel.setWeightType("0");
|
|
|
+ grossModel.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(grossModel);
|
|
|
+ //修改皮重一次数据状态
|
|
|
+ tareModel.setValueFlag(DbConstants.NET);
|
|
|
+ tareModel.setUpdateManName("system");
|
|
|
+ tareModel.setUpdateManName("标志皮洁净更新");
|
|
|
+ tareModel.setUpdateTime(new Date());
|
|
|
+ tareModel.setWeightType("1");
|
|
|
+ tareModel.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(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);
|
|
|
+ firsts.add(grossModel);
|
|
|
+ }
|
|
|
+ actuals.add(actualRow);
|
|
|
+ meterWorkRailwayActFirstMapper.deleteByPrimaryKey(tareModel.getActualFirstNo());
|
|
|
+
|
|
|
+ actuals.add(actualRow);
|
|
|
+ map.put("firsts", firsts);
|
|
|
+ map.put("actuals", actuals);
|
|
|
+
|
|
|
+ rm.setSucceed();
|
|
|
+ rm.setData(map);
|
|
|
+ rm.setCode("200");
|
|
|
+ rm.setMessage("操作成功!!");
|
|
|
+ return rm;
|
|
|
+ }catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ rm.setMessage("操作异常,请确认!>>>" + e.getMessage());
|
|
|
+ }
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+
|
|
|
public static void main(String[] args) {
|
|
|
BigDecimal a = new BigDecimal(95120);
|
|
|
BigDecimal b = a.divide(new BigDecimal(1000));
|