dengyj hace 4 años
padre
commit
50d3d01e32

+ 14 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/controller/MeterWorkCarActualFirstController.java

@@ -1112,4 +1112,18 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
             return failed(null, "操作异常,请确认!");
         }
     }
+
+    @ApiOperation(value = "多毛一皮结净")
+    @Transactional
+    @PostMapping(value = "/doNetAddMuchGross", produces = "application/json;charset=UTF-8")
+    public RESTfulResult doNetAddMuchGross(@RequestBody CommonCombination<List<MeterWorkCarActualFirst>, MeterWorkCarActualFirst,MeterWorkPreLink, MeterMonitorNote> com) {
+        try {
+            RESTfulResult rm = meterWorkCarActualFirstService.doNetAddMuchGross(com.getOne(),com.getTwo(),com.getFour());
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
 }

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/IMeterWorkCarActualFirstService.java

@@ -79,6 +79,8 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
 
     RESTfulResult doAddInnerWf(MeterWorkCarActualFirst oci, String saveTare, MeterMonitorNote note) throws Exception;
 
+    RESTfulResult doNetAddMuchGross(List<MeterWorkCarActualFirst> gross,MeterWorkCarActualFirst tare, MeterMonitorNote note) throws Exception;
+
     RESTfulResult doNetAddMuch(MeterWorkCarActualFirst actualFirst) throws Exception;
 
     RESTfulResult doAddNetInnerWf(MeterWorkCarActualFirst secondDb, MeterWorkCarActual netDb, String saveTare,MeterMonitorNote note) throws Exception;

+ 148 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -4246,5 +4246,153 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             return rm;
         }
     }
+
+    @Override
+    public RESTfulResult doNetAddMuchGross(List<MeterWorkCarActualFirst> gross, MeterWorkCarActualFirst tare, MeterMonitorNote note) throws Exception {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //将皮重数据新增
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+            String afl = formatter.format(new Date());
+            String no = meterWorkCarActualFirstMapper.getNewID(afl);
+            tare.setActualFirstNo(formatter.format(new Date()) + no);
+            tare.setValueFlag("0");//洁净
+            tare.setWeightType("1");
+            meterWorkCarActualFirstMapper.insertSelective(tare);
+
+            //将皮重数据保存或更新到期限皮中
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("carNo", tare.getCarNo());
+            List<MeterBaseTermTareData> upModels = meterBaseTermTareDataMapper.selectByParameters(map);
+            MeterBaseTermTareData termData = new MeterBaseTermTareData();
+            if (upModels.size() >= 1) {
+                termData = upModels.get(0);
+            }
+            if (termData.getDataNo() != null) {
+                termData.setBaseSpotNo(tare.getBaseSpotNo());
+                termData.setBaseSpotName(tare.getBaseSpotName());
+                termData.setCarNo(tare.getCarNo());
+                termData.setMeterName(tare.getCreateManName());
+                termData.setMeterTime(tare.getCreateTime());
+                termData.setStartTime(tare.getCreateTime());
+                termData.setEndTime(new Date(tare.getCreateTime().getTime() + 24 * 60 * 60 * 1000));
+                termData.setWarnTime(new Date(tare.getCreateTime().getTime() + 12 * 60 * 60 * 1000));
+                termData.setValueFlag("0");
+                termData.setCreateManNo(tare.getCreateManNo());
+                termData.setCreateManName(tare.getCreateManName());
+                termData.setCreateTime(new Date());
+                termData.setMeterWeight(tare.getMeterWeight());
+                meterBaseTermTareDataMapper.updateByPrimaryKeySelective(termData);
+            } else {
+                //新增操作
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+                String no1 = meterBaseTermTareDataMapper.getNewID(sdf.format(new Date()));
+                termData.setDataNo(sdf.format(new Date()) + no1);
+                termData.setBaseSpotNo(tare.getBaseSpotNo());
+                termData.setBaseSpotName(tare.getBaseSpotName());
+                termData.setCarNo(tare.getCarNo());
+                termData.setMeterName(tare.getCreateManName());
+                termData.setMeterTime(tare.getCreateTime());
+                termData.setStartTime(tare.getCreateTime());
+                termData.setEndTime(new Date(tare.getCreateTime().getTime() + 24 * 60 * 60 * 1000));
+                termData.setWarnTime(new Date(tare.getCreateTime().getTime() + 12 * 60 * 60 * 1000));
+                termData.setValueFlag("0");
+                termData.setCreateManNo(tare.getCreateManNo());
+                termData.setCreateManName(tare.getCreateManName());
+                termData.setCreateTime(new Date());
+                termData.setMeterWeight(tare.getMeterWeight());
+                meterBaseTermTareDataMapper.insertSelective(termData);
+            }
+
+            for (MeterWorkCarActualFirst model:gross){
+                //将皮重数据新增
+                model.setValueFlag("2");//洁净
+                meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(model);
+
+                MeterWorkCarActualFirst imTare = new MeterWorkCarActualFirst();
+                imTare = meterWorkCarActualFirstMapper.selectAndMatch(tare.getActualFirstNo(), model.getPredictionNo());
+                SimpleDateFormat formatter1 = new SimpleDateFormat("yyyyMMdd");
+                //补充数据
+                String afl1 = formatter1.format(new Date());
+                String imTareNO = meterWorkCarActualFirstMapper.getNewID(afl1);
+                String actualNo = afl1 + imTareNO;
+                imTare.setActualFirstNo(actualNo);
+                imTare.setMeterTypeNo(tare.getMeterTypeNo());
+                imTare.setMeterTypeName(tare.getMeterTypeName());
+                imTare.setBaseSpotNo(termData.getBaseSpotNo());
+                imTare.setBaseSpotName(termData.getBaseSpotName());
+                imTare.setCarNo(termData.getCarNo());
+                imTare.setCreateTime(termData.getCreateTime());
+                imTare.setCreateManNo(termData.getCreateManNo());
+                imTare.setCreateManName(termData.getCreateManName());
+                imTare.setMeterWeight(termData.getMeterWeight());
+                imTare.setWeightType("2");//期限皮重
+                imTare.setValueFlag("2");//洁净
+                imTare.setDataSource("1");
+                imTare.setIsPreScale("1");
+                imTare.setMeterTypeNo(model.getMeterTypeNo());
+                imTare.setMeterTypeName(model.getMeterTypeName());
+                imTare.setCreateTime(new Date());
+                meterWorkCarActualFirstMapper.insertSelective(imTare);
+
+                //将委托信息插入洁净数据
+                MeterWorkCarActual mwca = meterWorkCarActualMapper.manualAddPre(model.getActualFirstNo(), imTare.getActualFirstNo(), model.getPredictionNo());
+                //更新洁净数据状态
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+                String aflActual = sdf.format(new Date());
+                String noActual = meterWorkCarActualMapper.getNewID(sdf.format(new Date()));
+                mwca.setActualNo(aflActual + noActual);
+                mwca.setNetTime(new Date());
+                mwca.setNetMode(DbConstants.TYPE);
+                mwca.setNote("期限皮匹配洁净");
+                mwca.setUploadFlag("1");
+                mwca.setIsPreScale("1");
+                mwca.setValueFlag("1");
+                mwca.setNetManNo("admin");
+                mwca.setNetManName("admin");
+                mwca.setNetSpot3No(imTare.getBaseSpotNo());
+                mwca.setNetSpot3Name(imTare.getBaseSpotName());
+                mwca.setPredictionNo(model.getPredictionNo());
+                mwca.setPredictionType("1");
+                mwca.setNetWeight(model.getMeterWeight().subtract(imTare.getMeterWeight()));
+                meterWorkCarActualMapper.insertSelective(mwca);
+
+                //修改委托
+                PreTrackScale scale = preTrackScaleMapper.selectBypredictionNo(model.getPredictionNo());
+                scale.setValueFlag(DbConstants.NET);
+                scale.setUpdateTime(new Date());
+                scale.setUpdateManNo("system");
+                scale.setUpdateManName("期限皮洁净更新");
+                scale.setUploadFlag("1");
+                scale.setPredictionType("1");
+                preTrackScaleMapper.updateByPrimaryKeySelective(scale);
+            }
+
+            //当存储一次数据或者结净时,将本车辆的预处理重量改为已使用
+            updatePreWeight(tare.getCarNo());
+
+            //保存或更新历史皮重
+            MeterWorkCarActualFirst oci = new MeterWorkCarActualFirst();
+            oci.setCarNo(tare.getCarNo());
+            oci.setCreateTime(new Date());
+            oci.setBaseSpotNo(tare.getBaseSpotNo());
+            oci.setBaseSpotName(tare.getBaseSpotName());
+            oci.setMeterWeight(tare.getMeterWeight());
+            oci.setActualFirstNo(tare.getActualFirstNo());
+            doSaveHisTare(oci);
+
+            rm.setSucceed();
+            rm.setMessage("多毛结净完成!!");
+            rm.setData(tare.getActualFirstNo());
+            rm.setCode("200");
+            return rm;
+        }
+        catch (Exception e){
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!!>>>" + e.getMessage());
+            return rm;
+        }
+    }
 }