|
|
@@ -936,6 +936,622 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public RESTfulResult doAddNetHZHXTwo(PreRailwayScale scale, MeterWorkRailwayActFirst first01, MeterWorkRailwayActFirst first02, MeterMonitorNote note, String flag) {
|
|
|
+ RESTfulResult rm = new RESTfulResult();
|
|
|
+ rm.setFailed();
|
|
|
+
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
+ List<MeterWorkRailwayActFirst> firsts = new ArrayList<>();
|
|
|
+ List<MeterWorkRailwayActual> actuals = new ArrayList<>();
|
|
|
+ try {
|
|
|
+
|
|
|
+ if(StringUtils.isEmpty(scale.getPredictionNo())){
|
|
|
+ //获取两个一次重量的差值
|
|
|
+ BigDecimal num01 = first01.getMeterWeight().subtract(first02.getMeterWeight()).abs();
|
|
|
+ //判断两个一次车辆是否一致
|
|
|
+ if(!first01.getRailwayNo().equals(first02.getRailwayNo())){
|
|
|
+ rm.setMessage("两条一次计量数据车号不一致,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //洁净数据不能小于400
|
|
|
+ if(num01.compareTo(BigDecimal.valueOf(400)) == -1){
|
|
|
+ rm.setMessage("选择的两条一次计量数据不能小于400kg,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //一次数据是否为有效
|
|
|
+ if(first01.getValueFlag().equals("2") || first01.getValueFlag().equals("0")){
|
|
|
+ rm.setMessage("选择的一次计量数据已作废或者已洁净,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String afl = sdf.format(new Date());
|
|
|
+
|
|
|
+ //存储当前计量的数据
|
|
|
+ String firstNo01 = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ first02.setActualFirstNo(firstNo01);
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(first02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
+ MeterWorkRailwayActFirst model01 = new MeterWorkRailwayActFirst();
|
|
|
+ MeterWorkRailwayActFirst model02 = new MeterWorkRailwayActFirst();
|
|
|
+
|
|
|
+ //判断当前一次重量类型、0:毛重,则为混装操作、1:常规皮重,则为混卸操作
|
|
|
+ if (first01.getWeightType().equals("1")) { //混装
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+
|
|
|
+ //修改委托状态
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ /*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("7");
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
|
|
|
+
|
|
|
+ //修改毛重一次数据状态
|
|
|
+ model01.setValueFlag(DbConstants.NET);
|
|
|
+ model01.setUpdateManName("system");
|
|
|
+ model01.setUpdateManName("智能计量混装洁净更新");
|
|
|
+ model01.setUpdateTime(new Date());
|
|
|
+ model01.setWeightType("0");
|
|
|
+ model01.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model01);
|
|
|
+ //修改皮重一次数据状态
|
|
|
+ model02.setValueFlag(DbConstants.NET);
|
|
|
+ model02.setUpdateManName("system");
|
|
|
+ model02.setUpdateManName("智能计量混装洁净更新");
|
|
|
+ model02.setUpdateTime(new Date());
|
|
|
+ model02.setWeightType("1");
|
|
|
+ model02.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(model01.getActualFirstNo(), model02.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("4");
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
+ actualRow.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
+
|
|
|
+ } else if (first01.getWeightType().equals("0")) { //混卸
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+
|
|
|
+ //修改委托状态
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ /*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("6");
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
|
|
|
+
|
|
|
+ //修改毛重一次数据状态
|
|
|
+ model01.setValueFlag(DbConstants.NET);
|
|
|
+ model01.setUpdateManName("system");
|
|
|
+ model01.setUpdateManName("智能计量混卸洁净更新");
|
|
|
+ model01.setUpdateTime(new Date());
|
|
|
+ model01.setWeightType("0");
|
|
|
+ model01.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model01);
|
|
|
+ //修改皮重一次数据状态
|
|
|
+ model02.setValueFlag(DbConstants.NET);
|
|
|
+ model02.setUpdateManName("system");
|
|
|
+ model02.setUpdateManName("智能计量混卸洁净更新");
|
|
|
+ model02.setUpdateTime(new Date());
|
|
|
+ model02.setWeightType("1");
|
|
|
+ model02.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(model01.getActualFirstNo(), model02.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("6");
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
+ actualRow.setIsPreSacale("0");
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
+ }
|
|
|
+
|
|
|
+ //存储当前计量的数据
|
|
|
+ if(flag.equals("0")) {
|
|
|
+ if(first01.getWeightType().equals("0")) {
|
|
|
+ first02.setUpdateManName("system");
|
|
|
+ first02.setUpdateManName("智能计量混卸一次复制");
|
|
|
+ }else {
|
|
|
+ first02.setUpdateManName("system");
|
|
|
+ first02.setUpdateManName("智能计量混装一次复制");
|
|
|
+ }
|
|
|
+ String firstNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ first02.setActualFirstNo(firstNo);
|
|
|
+ first02.setPredictionNo("混装混卸复制");
|
|
|
+ first02.setValueFlag("1");
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(first02);
|
|
|
+ }else {
|
|
|
+ first02.setPredictionNo("");
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first02);
|
|
|
+ }
|
|
|
+ /*//6、修改计量监控
|
|
|
+ updateMonitor(first02.getBaseSpotNo());
|
|
|
+ //保存日志
|
|
|
+ saveNote(note);
|
|
|
+ updateMonitorOver(first02.getActualFirstNo(), first02.getBaseSpotNo());
|
|
|
+
|
|
|
+ //补充附加重量的数据
|
|
|
+ if (StringUtils.isNotEmpty(first02.getAddWgtPk())) {
|
|
|
+ insertAddWgtNo(first02.getActualFirstNo(), first02.getAddWgtPk(), first02.getCreateManNo(), first02.getCreateManName());
|
|
|
+ }*/
|
|
|
+ firsts.add(first02);
|
|
|
+ actuals.add(actualRow);
|
|
|
+ map.put("firsts", firsts);
|
|
|
+ map.put("actuals", actuals);
|
|
|
+
|
|
|
+ rm.setSucceed();
|
|
|
+ rm.setData(map);
|
|
|
+ rm.setCode("200");
|
|
|
+ rm.setMessage("操作成功!!");
|
|
|
+ return rm;
|
|
|
+ }else {
|
|
|
+ if(scale == null){
|
|
|
+ rm.setMessage("未找到相应的委托信息,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }else {
|
|
|
+ //委托信息是否为有效数据
|
|
|
+ if(scale.getValueFlag().equals("2") || scale.getValueFlag().equals("3")){
|
|
|
+ rm.setMessage("委托信息已使用或者已作废!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取两个一次重量的差值
|
|
|
+ BigDecimal num01 = first01.getMeterWeight().subtract(first02.getMeterWeight()).abs();
|
|
|
+ //判断两个一次车辆是否一致
|
|
|
+ if(!first01.getRailwayNo().equals(first02.getRailwayNo())){
|
|
|
+ rm.setMessage("两条一次计量数据车号不一致,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //洁净数据不能小于400
|
|
|
+ if(num01.compareTo(BigDecimal.valueOf(400)) == -1){
|
|
|
+ rm.setMessage("选择的两条一次计量数据不能小于400kg,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //一次数据是否为有效
|
|
|
+ if(first01.getValueFlag().equals("2") || first01.getValueFlag().equals("0")){
|
|
|
+ rm.setMessage("选择的一次计量数据已作废或者已洁净,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String afl = sdf.format(new Date());
|
|
|
+
|
|
|
+ //存储当前计量的数据
|
|
|
+ String firstNo01 = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ first02.setActualFirstNo(firstNo01);
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(first02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
|
|
|
+ MeterWorkRailwayActFirst model01 = new MeterWorkRailwayActFirst();
|
|
|
+ MeterWorkRailwayActFirst model02 = new MeterWorkRailwayActFirst();
|
|
|
+
|
|
|
+ //判断当前一次重量类型、0:毛重,则为混装操作、1:常规皮重,则为混卸操作
|
|
|
+ if (first01.getWeightType().equals("1")) { //混装
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+
|
|
|
+ //修改委托状态
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ 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("7");
|
|
|
+ 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("7");
|
|
|
+ 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("7");
|
|
|
+ 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("4");
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
+ actualRow.setIsPreSacale("1");
|
|
|
+ actualRow.setPredictionNo(scale.getPredictionNo());
|
|
|
+ actualRow.setPredictionType("7");
|
|
|
+ actualRow.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
+
|
|
|
+ } else if (first01.getWeightType().equals("0")) { //混卸
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+
|
|
|
+ //修改委托状态
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ 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("6");
|
|
|
+ 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("6");
|
|
|
+ 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("6");
|
|
|
+ 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("5");
|
|
|
+ actualRow.setUploadFlag("1");
|
|
|
+ actualRow.setValueFlag("1");
|
|
|
+ actualRow.setIsPreSacale("1");
|
|
|
+ actualRow.setPredictionNo(scale.getPredictionNo());
|
|
|
+ actualRow.setPredictionType("6");
|
|
|
+ actualRow.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow);
|
|
|
+ }
|
|
|
+
|
|
|
+ //存储当前计量的数据
|
|
|
+ if(flag.equals("0")) {
|
|
|
+ if(first01.getWeightType().equals("0")) {
|
|
|
+ first02.setUpdateManName("system");
|
|
|
+ first02.setUpdateManName("智能计量混卸一次复制");
|
|
|
+ }else {
|
|
|
+ first02.setUpdateManName("system");
|
|
|
+ first02.setUpdateManName("智能计量混装一次复制");
|
|
|
+ }
|
|
|
+ String firstNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ first02.setActualFirstNo(firstNo);
|
|
|
+ first02.setPredictionNo("混装混卸复制");
|
|
|
+ first02.setValueFlag("1");
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(first02);
|
|
|
+ }
|
|
|
+ /*//6、修改计量监控
|
|
|
+ updateMonitor(first02.getBaseSpotNo());
|
|
|
+ //保存日志
|
|
|
+ saveNote(note);
|
|
|
+ updateMonitorOver(first02.getActualFirstNo(), first02.getBaseSpotNo());
|
|
|
+
|
|
|
+ //补充附加重量的数据
|
|
|
+ if (StringUtils.isNotEmpty(first02.getAddWgtPk())) {
|
|
|
+ insertAddWgtNo(first02.getActualFirstNo(), first02.getAddWgtPk(), first02.getCreateManNo(), first02.getCreateManName());
|
|
|
+ }*/
|
|
|
+ firsts.add(first02);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public RESTfulResult doNetAddTwoDouble(PreRailwayScale scale01, PreRailwayScale scale02, MeterWorkRailwayActFirst first01, MeterWorkRailwayActFirst first02) {
|
|
|
+ RESTfulResult rm = new RESTfulResult();
|
|
|
+ rm.setFailed();
|
|
|
+
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
+ List<MeterWorkRailwayActFirst> firsts = new ArrayList<>();
|
|
|
+ List<MeterWorkRailwayActual> actuals = new ArrayList<>();
|
|
|
+ try{
|
|
|
+ if(scale01 == null || scale02 == null){
|
|
|
+ rm.setMessage("未找到相应的委托信息,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }else {
|
|
|
+ //委托信息是否为有效数据
|
|
|
+ if(scale01.getValueFlag().equals("2") || scale02.getValueFlag().equals("2")){
|
|
|
+ rm.setMessage("委托信息已使用!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ if(scale01.getValueFlag().equals("3") || scale02.getValueFlag().equals("3")){
|
|
|
+ rm.setMessage("委托信息已作废!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //判断双委托 物料相同、A委托的收货单位是B委托的发货单位 或者 B委托的收货单位是A委托的发货货单位
|
|
|
+ if(!(scale01.getMatterNo().equals(scale02.getMatterNo()) &&
|
|
|
+ (scale01.getReceivingUintNo().equals(scale02.getForwardingUnitNo()) ||
|
|
|
+ scale01.getForwardingUnitNo().equals(scale02.getReceivingUintNo())))) {
|
|
|
+ rm.setMessage("委托信息不符合双委托规则,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //获取两个一次重量的差值
|
|
|
+ BigDecimal num01 = first01.getMeterWeight().subtract(first02.getMeterWeight()).abs();
|
|
|
+ //判断两个一次车辆是否一致
|
|
|
+ if(!first01.getRailwayNo().equals(first02.getRailwayNo())){
|
|
|
+ rm.setMessage("两条一次计量数据车号不一致,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //洁净数据不能小于400
|
|
|
+ if(num01.compareTo(BigDecimal.valueOf(400)) == -1){
|
|
|
+ rm.setMessage("选择的两条一次计量数据不能小于400kg,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+ //一次数据是否为有效
|
|
|
+ if(first01.getValueFlag().equals("2") || first01.getValueFlag().equals("0")){
|
|
|
+ rm.setMessage("选择的一次计量数据已作废或者已洁净,请确认!!");
|
|
|
+ return rm;
|
|
|
+ }
|
|
|
+
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
|
|
|
+ String afl = sdf.format(new Date());
|
|
|
+
|
|
|
+ //存储当前计量的数据
|
|
|
+ String firstNo01 = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ first02.setActualFirstNo(firstNo01);
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(first02);
|
|
|
+
|
|
|
+ MeterWorkRailwayActFirst model01 = new MeterWorkRailwayActFirst();
|
|
|
+ MeterWorkRailwayActFirst model02 = new MeterWorkRailwayActFirst();
|
|
|
+
|
|
|
+ MeterWorkRailwayActual actualRow1 = new MeterWorkRailwayActual();
|
|
|
+ MeterWorkRailwayActual actualRow2 = new MeterWorkRailwayActual();
|
|
|
+ if(first01.getWeightType().equals("0")){
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+ }else if(first01.getWeightType().equals("1")) {
|
|
|
+ //毛重一次
|
|
|
+ model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first02.getActualFirstNo());
|
|
|
+ //皮重一次
|
|
|
+ model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(first01.getActualFirstNo());
|
|
|
+ }
|
|
|
+
|
|
|
+ MeterWorkRailwayActFirst model03 = new MeterWorkRailwayActFirst();
|
|
|
+ MeterWorkRailwayActFirst model04 = new MeterWorkRailwayActFirst();
|
|
|
+
|
|
|
+ //将委托中的编号和收发货的等数据拷贝进一次数据中
|
|
|
+ MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale01.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first1,model01);
|
|
|
+ MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale01.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first2, model02);
|
|
|
+ MeterWorkRailwayActFirst first3 = meterWorkRailwayActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale02.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first3,model03);
|
|
|
+ MeterWorkRailwayActFirst first4 = meterWorkRailwayActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale02.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(first4, model04);
|
|
|
+
|
|
|
+ //更新预报数据
|
|
|
+ scale01.setValueFlag(DbConstants.NET);
|
|
|
+ scale01.setUpdateTime(new Date());
|
|
|
+ scale01.setUpdateManNo("system");
|
|
|
+ scale01.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ scale01.setUploadFlag("1");
|
|
|
+ scale01.setPredictionType("5");
|
|
|
+ scale01.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale01);
|
|
|
+
|
|
|
+ scale02.setValueFlag(DbConstants.NET);
|
|
|
+ scale02.setUpdateTime(new Date());
|
|
|
+ scale02.setUpdateManNo("system");
|
|
|
+ scale02.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ scale02.setUploadFlag("1");
|
|
|
+ scale02.setPredictionType("5");
|
|
|
+ scale02.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ preRailwayScaleMapper.updateByPrimaryKeySelective(scale02);
|
|
|
+
|
|
|
+ //更新一次数据
|
|
|
+ //更新第一次毛重数据库
|
|
|
+ model01.setValueFlag(DbConstants.NET);
|
|
|
+ model01.setUpdateManName("system");
|
|
|
+ model01.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ model01.setUpdateTime(new Date());
|
|
|
+ model01.setWeightType("0");
|
|
|
+ model01.setIsPreSacale("1");
|
|
|
+ model01.setPredictionNo(scale01.getPredictionNo());
|
|
|
+ model01.setPredictionType("5");
|
|
|
+ model01.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(model01);
|
|
|
+ //更新第一次皮重数据库
|
|
|
+ model02.setValueFlag(DbConstants.NET);
|
|
|
+ model02.setUpdateManName("system");
|
|
|
+ model02.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ model02.setUpdateTime(new Date());
|
|
|
+ model02.setWeightType("1");
|
|
|
+ model02.setIsPreSacale("1");
|
|
|
+ model02.setPredictionNo(scale01.getPredictionNo());
|
|
|
+ model02.setPredictionType("5");
|
|
|
+ model02.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ meterWorkRailwayActFirstMapper.updateByPrimaryKey(model02);
|
|
|
+ //添加第一次毛重数据库
|
|
|
+ String actualFirstNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ model03.setActualFirstNo(actualFirstNo);
|
|
|
+ model03.setValueFlag(DbConstants.NET);
|
|
|
+ model03.setUpdateManName("system");
|
|
|
+ model03.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ model03.setWeightType("0");
|
|
|
+ model03.setUpdateTime(new Date());
|
|
|
+ model03.setIsPreSacale("1");
|
|
|
+ model03.setPredictionNo(scale02.getPredictionNo());
|
|
|
+ model03.setPredictionType("5");
|
|
|
+ model03.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(model03);
|
|
|
+ //添加第二次皮重数据库
|
|
|
+ String actualSecondNo = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
|
|
|
+ model04.setActualFirstNo(actualSecondNo);
|
|
|
+ model04.setValueFlag(DbConstants.NET);
|
|
|
+ model04.setUpdateManName("system");
|
|
|
+ model04.setUpdateManName("智能计量双委托洁净更新");
|
|
|
+ model04.setWeightType("1");
|
|
|
+ model04.setUpdateTime(new Date());
|
|
|
+ model04.setIsPreSacale("1");
|
|
|
+ model04.setPredictionNo(scale02.getPredictionNo());
|
|
|
+ model04.setPredictionType("5");
|
|
|
+ model04.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ meterWorkRailwayActFirstMapper.insertSelective(model04);
|
|
|
+
|
|
|
+ //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
|
|
|
+ MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(model01.getActualFirstNo(), model02.getActualFirstNo(), scale01.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(mwca1, actualRow1);
|
|
|
+ MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAddPre(model03.getActualFirstNo(), model04.getActualFirstNo(), scale02.getPredictionNo());
|
|
|
+ BeanUtils.copyProperties(mwca2, actualRow2);
|
|
|
+
|
|
|
+ //添加结净数据
|
|
|
+ String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
|
|
|
+ actualRow1.setActualNo(sdf.format(new Date()) + no);
|
|
|
+ actualRow1.setNetTime(new Date());
|
|
|
+ actualRow1.setNetMode(DbConstants.TYPE);
|
|
|
+ actualRow1.setNote("智能计量双委托匹配洁净");
|
|
|
+ actualRow1.setNetMode("3");
|
|
|
+ actualRow1.setUploadFlag("1");
|
|
|
+ actualRow1.setValueFlag("1");
|
|
|
+ actualRow1.setIsPreSacale("1");
|
|
|
+ actualRow1.setPredictionNo(scale01.getPredictionNo());
|
|
|
+ actualRow1.setPredictionNo(scale01.getPredictionNo());
|
|
|
+ actualRow1.setPredictionType("5");
|
|
|
+ actualRow1.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ actualRow1.setNetWeight(model01.getMeterWeight().subtract(model02.getMeterWeight()));
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow1);
|
|
|
+
|
|
|
+ String no1 = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
|
|
|
+ actualRow2.setActualNo(sdf.format(new Date()) + no1);
|
|
|
+ actualRow2.setNetTime(new Date());
|
|
|
+ actualRow2.setNetMode(DbConstants.TYPE);
|
|
|
+ actualRow2.setNote("智能计量双委托匹配洁净");
|
|
|
+ actualRow2.setNetMode("3");
|
|
|
+ actualRow2.setValueFlag("1");
|
|
|
+ actualRow2.setUploadFlag("1");
|
|
|
+ actualRow2.setIsPreSacale("1");
|
|
|
+ actualRow2.setPredictionNo(scale02.getPredictionNo());
|
|
|
+ actualRow2.setPredictionType("5");
|
|
|
+ actualRow2.setPredictionCombination(scale01.getPredictionNo() + "," + scale02.getPredictionNo());
|
|
|
+ actualRow2.setNetWeight(model03.getMeterWeight().subtract(model04.getMeterWeight()));
|
|
|
+ meterWorkRailwayActualMapper.insertSelective(actualRow2);
|
|
|
+
|
|
|
+ /*//11、修改计量监控
|
|
|
+ updateMonitor(one.getBaseSpotNo());
|
|
|
+ //12、当存储一次数据或者结净时,将本车辆的预处理重量改为已使用
|
|
|
+ updatePreWeight(one.getCarNo());
|
|
|
+ updateMonitorOver(one.getActualFirstNo(), one.getBaseSpotNo());
|
|
|
+ //补充附加重量的数据
|
|
|
+ if (StringUtils.isNotEmpty(one.getAddWgtPk())) {
|
|
|
+ insertAddWgtNo(one.getActualFirstNo(), one.getAddWgtPk(), one.getCreateManNo(), one.getCreateManName());
|
|
|
+ }*/
|
|
|
+ firsts.add(model01);
|
|
|
+ firsts.add(model02);
|
|
|
+ actuals.add(actualRow1);
|
|
|
+ actuals.add(actualRow2);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public String doubleEntrustMatch(String actualNo1, String actualNo2, String predictionNo1, String predictionNo2) {
|
|
|
|
|
|
@@ -966,7 +1582,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
|
|
|
//判断双委托 物料相同、A委托的收货单位是B委托的发货单位 或者 B委托的收货单位是A委托的发货单位
|
|
|
if(!(pts01.getMatterNo().equals(pts02.getMatterNo()) &&
|
|
|
(pts01.getReceivingUintNo().equals(pts02.getForwardingUnitNo()) ||
|
|
|
- pts02.getForwardingUnitNo().equals(pts01.getReceivingUintNo())))) {
|
|
|
+ pts01.getForwardingUnitNo().equals(pts02.getReceivingUintNo())))) {
|
|
|
return "委托信息不符合双委托规则,请确认!!";
|
|
|
}
|
|
|
|