dengyj 3 lat temu
rodzic
commit
49f35562b5

+ 51 - 30
src/main/java/com/steerinfo/baseinfo/meterbasemattermap/service/impl/MeterBaseMatterMapServiceImpl.java

@@ -66,6 +66,10 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
         RESTfulResult rm = new RESTfulResult();
         try {
             List<PreTrackScale> tempList = new ArrayList<PreTrackScale>();
+
+            String forwardingUnitNo = "";
+            String matterNo = "";
+            String receivingUintNo = "";
             rm.setCode("0");
             rm.setMessage("操作成功");
             rm.setSucceed(true);
@@ -79,34 +83,36 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                 rm.setData(null);
                 return rm;
             }
-            //查询车辆已选择的委托并拿到委托的发货单位和物料编号
-            HashMap preSel = new HashMap();
-            preSel.put("carNo",carNo);
-            preSel.put("lineDesc","1");
-            preSel.put("valueFlag","1");
-            List<PreTrackScale> ptsSel = preTrackScaleMapper.selectByParameters(preSel);
-            if(ptsSel.size() < 1) {
-                rm.setData(null);
-                return rm;
-            }
-            String forwardingUnitNo = ptsSel.get(0).getForwardingUnitNo();
-            String matterNo = ptsSel.get(0).getMatterNo();
-            String receivingUintNo = ptsSel.get(0).getReceivingUintNo();
-            //查询改发货单位是否满足内倒双委托
-            HashMap preBaseUnit = new HashMap();
-            preBaseUnit.put("pBaseCode","001049");
-            preBaseUnit.put("valueFlag","1");
-            preBaseUnit.put("baseName",forwardingUnitNo);
-            List<ComBaseInfo> cbisUnit = comBaseInfoMapper.selectByParameters(preBaseUnit);
-            if(cbisUnit.size() != 1){
-                rm.setData(null);
-                return rm;
-            }
             //查询改成已选择是皮重还是毛重
             HashMap preMap = new HashMap();
             preMap.put("carNo",carNo);
             preMap.put("valueFlag","1");
             List<MeterWorkPreWgttype> mwpws = meterWorkPreWgttypeMapper.selectByParameters(preMap);
+            if(mwpws.get(0).getWeightTypeNo().equals("001033001")){
+                //查询车辆已选择的委托并拿到委托的发货单位和物料编号
+                HashMap preSel = new HashMap();
+                preSel.put("carNo",carNo);
+                preSel.put("lineDesc","1");
+                preSel.put("valueFlag","1");
+                List<PreTrackScale> ptsSel = preTrackScaleMapper.selectByParameters(preSel);
+                if(ptsSel.size() < 1) {
+                    rm.setData(null);
+                    return rm;
+                }
+                forwardingUnitNo = ptsSel.get(0).getForwardingUnitNo();
+                matterNo = ptsSel.get(0).getMatterNo();
+                receivingUintNo = ptsSel.get(0).getReceivingUintNo();
+                //查询改发货单位是否满足内倒双委托
+                HashMap preBaseUnit = new HashMap();
+                preBaseUnit.put("pBaseCode","001049");
+                preBaseUnit.put("valueFlag","1");
+                preBaseUnit.put("baseName",forwardingUnitNo);
+                List<ComBaseInfo> cbisUnit = comBaseInfoMapper.selectByParameters(preBaseUnit);
+                if(cbisUnit.size() != 1){
+                    rm.setData(null);
+                    return rm;
+                }
+            }
             //当选择的是毛重时
             if(mwpws.get(0).getWeightTypeNo().equals("001033001")){
                 //判断未被选择的委托中是否存在跟已选择的委托存在双委托关系
@@ -126,7 +132,7 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                 }
                 //查询映射物料编号
                 HashMap matterMap = new HashMap();
-                matterMap.put("matterNo1",matterNo);
+                matterMap.put("maaterNo1",matterNo);
                 matterMap.put("valueFlag","1");
                 List<MeterBaseMatterMap> mbmm = meterBaseMatterMapMapper.selectByParameters(matterMap);
                 if(mbmm.size() > 0){
@@ -156,14 +162,15 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                     rm.setData(null);
                     return rm;
                 }
-                else{
+                else if(mwcaf.size() == 1){
                     for (MeterWorkCarActualFirst model : mwcaf){
                         if(model.getWeightType() == "0" && !model.getPredictionType().equals("")){
                             //判断未被选择的委托中是否存在跟已选择的委托存在双委托关系
                             HashMap preNoSel = new HashMap();
                             preNoSel.put("carNo",carNo);
                             preNoSel.put("lineDesc","0");
-                            List<PreTrackScale> pts = preTrackScaleMapper.selectBy(preNoSel);
+                            preNoSel.put("valueFlag","4");
+                            List<PreTrackScale> pts = preTrackScaleMapper.selectByParameters(preNoSel);
                             if(pts.size() > 0) {
                                 //循环判断是否有满足的双委托,有则计数
                                 for (PreTrackScale modelPre : pts){
@@ -175,7 +182,7 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                             }
                             //查询映射物料编号
                             HashMap matterMap = new HashMap();
-                            matterMap.put("matterNo1",model.getMatterNo());
+                            matterMap.put("maaterNo1",model.getMatterNo());
                             matterMap.put("valueFlag","1");
                             List<MeterBaseMatterMap> mbmm = meterBaseMatterMapMapper.selectByParameters(matterMap);
                             if(mbmm.size() > 0){
@@ -184,8 +191,9 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                                     HashMap preNoSelMbmm = new HashMap();
                                     preNoSelMbmm.put("carNo",carNo);
                                     preNoSelMbmm.put("lineDesc","0");
+                                    preNoSelMbmm.put("valueFlag","4");
                                     preNoSelMbmm.put("matterNo",map.getMaaterNo2());
-                                    List<PreTrackScale> ptsMbmm = preTrackScaleMapper.selectBy(preNoSelMbmm);
+                                    List<PreTrackScale> ptsMbmm = preTrackScaleMapper.selectByParameters(preNoSelMbmm);
                                     if(ptsMbmm.size() > 0){
                                         for (PreTrackScale modelPre : ptsMbmm){
                                             if((model.getForwardingUnitNo().equals(receivingUintNo) && model.getMatterNo().equals(map.getMaaterNo2())) ||
@@ -199,6 +207,19 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                         }
                     }
                 }
+                else{
+                    for (MeterWorkCarActualFirst model : mwcaf){
+                        if(model.getWeightType().equals("0") && model.getPredictionType().equals("5")){
+                            PreTrackScale res = new PreTrackScale();
+                            res.setPredictionNo("111111");
+                            res.setMatterNo("11111");
+                            res.setForwardingUnitNo("11111");
+                            res.setReceivingUintNo("1111");
+                            tempList.add(res);
+                            break;
+                        }
+                    }
+                }
             }
 
             if(tempList.size() > 0){
@@ -208,7 +229,7 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                 boolean flag = true;
                 for (PreTrackScale item : tempList)
                 {
-                    if (matter == "" && forwarding == "" && receiving == "")
+                    if (matter.equals("") && forwarding.equals("")  && receiving.equals("") )
                     {
                         matter = item.getMatterNo();
                         forwarding = item.getForwardingUnitNo();
@@ -216,7 +237,7 @@ public class MeterBaseMatterMapServiceImpl extends BaseServiceImpl<MeterBaseMatt
                     }
                     else
                     {
-                        if (matter == item.getMatterNo() && forwarding == item.getForwardingUnitNo() && receiving == item.getReceivingUintNo())
+                        if (matter.equals(item.getMatterNo())  && forwarding.equals(item.getForwardingUnitNo()) && receiving.equals(item.getReceivingUintNo()))
                         { }
                         else
                         {

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

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

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

@@ -150,4 +150,5 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
     RESTfulResult doTermTareNetDoubleRetain(MeterWorkCarActualFirst grossModel, MeterWorkCarActualFirst tareModel, PreTrackScale scale01, PreTrackScale scale02);
     RESTfulResult doAddDoubleMuchNet(List<MeterWorkCarActualFirst> grossModels, MeterWorkCarActualFirst tareModel);
     RESTfulResult countFirstByCar(HashMap<String, Object> parmas);
+    RESTfulResult doNetAddMuchGrossDouble(List<MeterWorkCarActualFirst> gross,MeterWorkCarActualFirst tare, MeterMonitorNote note) throws Exception;
 }

+ 193 - 11
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -5934,7 +5934,7 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             actualRow01.setNote("内倒双委托一次匹配结净");
             actualRow01.setUploadFlag("1");
             actualRow01.setIsPreScale("1");
-            actualRow01.setValueFlag("2");
+            actualRow01.setValueFlag("1");
             if(actualRow01.getGrossTime().compareTo(actualRow01.getTareTime()) >= 0) {
                 actualRow01.setNetSpot3No(actualRow01.getBaseSpot1No());
                 actualRow01.setNetSpot3Name(actualRow01.getBaseSpot1Name());
@@ -5963,7 +5963,7 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             actualRow02.setNote("内倒双委托一次匹配结净");
             actualRow02.setUploadFlag("1");
             actualRow02.setIsPreScale("1");
-            actualRow02.setValueFlag("2");
+            actualRow02.setValueFlag("1");
             if(actualRow02.getGrossTime().compareTo(actualRow02.getTareTime()) >= 0) {
                 actualRow02.setNetSpot3No(actualRow02.getBaseSpot1No());
                 actualRow02.setNetSpot3Name(actualRow02.getBaseSpot1Name());
@@ -6316,6 +6316,7 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try{
+            String no = "";
             //将皮重数据新增
             tareModel.setActualFirstNo(PublicMethod.IdCreate(3));
             tareModel.setValueFlag("1");
@@ -6324,6 +6325,8 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             tareModel.setCreateTime(new Date());
             meterWorkCarActualFirstMapper.insertSelective(tareModel);
 
+            no = tareModel.getActualFirstNo();
+
             for (MeterWorkCarActualFirst grossModel: grossModels){
                 //将毛重数据洁净
                 grossModel.setValueFlag("2");
@@ -6356,7 +6359,7 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 mwca.setNote("内倒多毛一皮匹配委托洁净");
                 mwca.setUploadFlag("1");
                 mwca.setIsPreScale("1");
-                mwca.setValueFlag("2");
+                mwca.setValueFlag("1");
                 if(mwca.getGrossTime().compareTo(mwca.getTareTime()) >= 0) {
                     mwca.setNetSpot3No(mwca.getBaseSpot1No());
                     mwca.setNetSpot3Name(mwca.getBaseSpot1Name());
@@ -6374,7 +6377,8 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                     mwca.setCreateTime(mwca.getTareTime());
                     mwca.setCreateManName(mwca.getTareManName());
                 }
-                mwca.setPredictionType("1");
+                mwca.setPredictionType("5");
+                mwca.setPredictionCombination(grossModel.getPredictionCombination());
                 mwca.setPredictionNo(mwca.getPredictionNo());
                 mwca.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
                 meterWorkCarActualMapper.insertSelective(mwca);
@@ -6395,6 +6399,8 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             }
             doSaveHisTare(tareModel);
 
+            meterWorkCarActualFirstMapper.deleteByPrimaryKey(no);
+
             rm.setSucceed();
             rm.setMessage("多毛一皮结净完成!!");
             rm.setData(tareModel.getActualFirstNo());
@@ -6433,6 +6439,186 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         return rm;
     }
 
+    @Override
+    public RESTfulResult doNetAddMuchGrossDouble(List<MeterWorkCarActualFirst> gross, MeterWorkCarActualFirst tare, MeterMonitorNote note) throws Exception {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //将皮重数据新增
+            String no = PublicMethod.IdCreate(3);
+            tare.setActualFirstNo(no);
+
+            tare.setValueFlag("0");//结净
+            tare.setWeightType("1");
+            tare.setCreateTime(new Date());
+            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;
+                String actualNo = PublicMethod.IdCreate(3);
+
+                imTare.setActualFirstNo(actualNo);
+                imTare.setMeterTypeNo(tare.getMeterTypeNo());
+                imTare.setMeterTypeName(tare.getMeterTypeName());
+                imTare.setBaseSpotNo(termData.getBaseSpotNo());
+                imTare.setBaseSpotName(termData.getBaseSpotName());
+                imTare.setCarNo(termData.getCarNo());
+                //杜勇 20220724修改
+                imTare.setCreateTime(termData.getMeterTime());
+                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());
+                imTare.setUpdateManNo("system");
+                imTare.setUpdateManName("system");
+                imTare.setUpdateTime(new Date());
+                imTare.setPredictionType("5");
+                imTare.setPredictionNo(model.getPredictionNo());
+                imTare.setPredictionCombination(model.getPredictionCombination());
+                meterWorkCarActualFirstMapper.insertSelective(imTare);
+
+                //将委托信息插入结净数据
+                MeterWorkCarActual mwca = meterWorkCarActualMapper.manualAddPre(model.getActualFirstNo(), imTare.getActualFirstNo(), model.getPredictionNo());
+                //更新结净数据状态
+                String noActual = PublicMethod.IdCreate(3);
+                mwca.setActualNo(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(model.getBaseSpotNo());
+                mwca.setNetSpot3Name(model.getBaseSpotName());
+                mwca.setNetWeight(model.getMeterWeight().subtract(imTare.getMeterWeight()));
+                mwca.setCreateTime(new Date());
+                if(mwca.getGrossTime().compareTo(mwca.getTareTime()) >= 0) {
+                    mwca.setNetSpot3No(mwca.getBaseSpot1No());
+                    mwca.setNetSpot3Name(mwca.getBaseSpot1Name());
+                    mwca.setNetManNo(mwca.getGrossManNo());
+                    mwca.setNetManName(mwca.getGrossManName());
+                    mwca.setNetTime(mwca.getGrossTime());
+                    mwca.setCreateTime(mwca.getGrossTime());
+                    mwca.setCreateManName(mwca.getGrossManName());
+                }else {
+                    mwca.setNetSpot3No(mwca.getBaseSpot2No());
+                    mwca.setNetSpot3Name(mwca.getBaseSpot2Name());
+                    mwca.setNetManNo(mwca.getTareManNo());
+                    mwca.setNetManName(mwca.getTareManName());
+                    mwca.setNetTime(mwca.getTareTime());
+                    mwca.setCreateTime(mwca.getTareTime());
+                    mwca.setCreateManName(mwca.getTareManName());
+                }
+                mwca.setUpdateManNo("system");
+                mwca.setUpdateManName("system");
+                mwca.setUpdateTime(new Date());
+                mwca.setPredictionType("5");
+                mwca.setPredictionNo(model.getPredictionNo());
+                mwca.setPredictionCombination(model.getPredictionCombination());
+                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.setLineDesc("0");
+                scale.setMeasureStation(mwca.getNetSpot3No());
+                scale.setMeasureStationName(mwca.getNetSpot3Name());
+                scale.setPredictionType("5");
+                scale.setPredictionCombination(model.getPredictionCombination());
+                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");
+        } catch (Exception e){
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            rm.setMessage("操作异常,请确认!!>>>" + e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public RESTfulResult doNetAddMuchGross(List<MeterWorkCarActualFirst> gross, MeterWorkCarActualFirst tare, MeterMonitorNote note) throws Exception {
         RESTfulResult rm = new RESTfulResult();
@@ -6533,20 +6719,16 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 //将委托信息插入结净数据
                 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);
                 String noActual = PublicMethod.IdCreate(3);
                 mwca.setActualNo(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.setNetManNo("system");
+                mwca.setNetManName("system");
+                mwca.setNetTime(new Date());
                 mwca.setNetSpot3No(model.getBaseSpotNo());
                 mwca.setNetSpot3Name(model.getBaseSpotName());
                 mwca.setPredictionNo(model.getPredictionNo());

+ 82 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java

@@ -1103,4 +1103,86 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
             return failed(null, "操作异常,请确认!");
         }
     }
+
+
+    @ApiOperation(value = "铁水吊钩秤web端--一次数据维护", notes = "根据传入时间和火车号,查询给定时间段去重车号")
+    @GetMapping(value = "/distinctHookRailwayNo")
+    public RESTfulResult distinctHookRailwayNo(@RequestParam HashMap param) {
+        RESTfulResult rm = failed();
+        try {
+            List<String> rows = meterWorkRailwayActualService.distinctHookRailwayNo(param);
+            return success(rows);
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+    @ApiOperation(value = "铁水吊钩秤web端--降序获取列表", notes = "web端不分页模糊查询")
+    @PostMapping(value = "/hookActualByDesc")
+    public RESTfulResult hookActualByDesc(@RequestBody HashMap parmas) {
+        try {
+            List<MeterWorkRailwayActual> list = meterWorkRailwayActualService.hookActualByDesc(parmas);
+            return success(list);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
+    @ApiOperation(value = "铁水吊钩秤web端--根据实绩id获取一次计量信息和委托信息", notes = "根据实绩id获取一次计量信息和委托信息")
+    @PostMapping(value = "/hookFirstAndEntrustById")
+    public RESTfulResult hookFirstAndEntrustById(@RequestBody HashMap params) {
+        RESTfulResult rm = failed();
+        try {
+            if(params.get("actualNo") == null) {
+                return rm;
+            }
+            String actualNo = params.get("actualNo") == null ? "" : params.get("actualNo").toString();
+            rm = meterWorkRailwayActualService.hookFirstAndEntrustById(actualNo);
+            if (rm.getData() != null) {
+                return rm;
+            }
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
+    @ApiOperation(value = "铁水吊钩秤web端--根据两个一次计量编号进行手动匹配结净", notes = "根据传入参数进行结净")
+    @PostMapping(value = "/cleanByHookFirstNo")
+    public RESTfulResult cleanByHookFirstNo(@RequestParam String actFirstNo01, String actFirstNo02, String predictionNo) {
+        RESTfulResult rm = failed();
+        try {
+            if(com.steerinfo.util.StringUtils.isEmpty(actFirstNo01) ||
+                    com.steerinfo.util.StringUtils.isEmpty(actFirstNo02)){
+                rm.setMessage("一次数据编号不能为空!!");
+                return rm;
+            }
+            rm = meterWorkRailwayActualService.cleanByHookFirstNo(actFirstNo01, actFirstNo02, predictionNo);
+            return rm;
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
+
 }

+ 3 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.java

@@ -55,4 +55,7 @@ public interface MeterWorkRailwayActualMapper extends IBaseMapper<MeterWorkRailw
     List<MeterWorkRailwayActual> selectByAcatualFristNo(Map<String, Object> params);
     List<MeterWorkRailwayActual> autoPrintRailway(Map<String, Object> params);
     List<HashMap> batchMatchActualView(Map<String, Object> params);
+
+    List<MeterWorkRailwayActual> distinctHookRailwayNo(HashMap<String, Object> obj);
+    List<MeterWorkRailwayActual> hookActualByDesc(Map<String, Object> params);
 }

+ 83 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml

@@ -4458,4 +4458,87 @@
       </if>
       order by conveyance_type asc, netTime desc
   </select>
+
+  <!--001019003:静态铁水衡、001019005:吊钩秤 -->
+  <sql id="whereLikeTSDG">
+    <where>    1 = 1
+      <if test="actualNo != null and actualNo != ''">
+        and actual_no LIKE '%${actualNo}%'
+      </if>
+      <if test="railwayNo != null and railwayNo != ''">
+        and RAILWAY_NO LIKE '%${railwayNo}%'
+      </if>
+      <if test="predictionNo != null and predictionNo != ''">
+        and PREDICTION_NO like '%${predictionNo}%'
+      </if>
+      <if test="netSpot3No != null and netSpot3No != ''">
+        and NET_SPOT3_NO LIKE '%${netSpot3No}%'
+      </if>
+      <if test="netSpot3Name != null and netSpot3Name != ''">
+        and NET_SPOT3_NAME LIKE '%${netSpot3Name}%'
+      </if>
+      <if test="matterNo != null and matterNo != ''">
+        and MATTER_NO like '%${matterNo}%'
+      </if>
+      <if test="matterName != null and matterName != ''">
+        and MATTER_NAME like '%${matterName}%'
+      </if>
+      <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
+        and FORWARDING_UNIT_NO like '%${forwardingUnitNo}%'
+      </if>
+      <if test="forwardingUnitName != null and forwardingUnitName != ''">
+        and FORWARDING_UNIT_NAME like '%${forwardingUnitName}%'
+      </if>
+      <if test="receivingUintNo != null and receivingUintNo != ''">
+        and RECEIVING_UINT_NO like '%${receivingUintNo}%'
+      </if>
+      <if test="receivingUintName != null and receivingUintName != ''">
+        and RECEIVING_UINT_NAME like '%${receivingUintName}%'
+      </if>
+      <if test="meterTypeNo != null and meterTypeNo != ''">
+        and METER_TYPE_NO like '%${meterTypeNo}'
+      </if>
+      <if test="meterTypeName != null and meterTypeName != ''">
+        and METER_TYPE_NAME like '%${meterTypeName}%'
+      </if>
+      <if test="railwayTypeNo != null and railwayTypeNo != ''">
+        and RAILWAY_TYPE_NO like '%${railwayTypeNo}%'
+      </if>
+      <if test="railwayTypeName != null and railwayTypeName != ''">
+        and RAILWAY_TYPE_NAME like '%${railwayTypeName}%'
+      </if>
+      <if test="senderRemark != null and senderRemark != ''">
+        and SENDER_REMARK = #{senderRemark}
+      </if>
+      <if test="isPreSacale != null and isPreSacale != ''">
+        and IS_PRE_SACALE = #{isPreSacale}
+      </if>
+      <if test="uploadFlag != null and uploadFlag != ''">
+        and UPLOAD_FLAG = #{uploadFlag}
+      </if>
+      <if test="valueFlag != null and valueFlag != ''">
+        and  value_flag = #{valueFlag}
+      </if>
+      <if test="startTime != null and startTime != null and endTime != '' and endTime != ''">
+        and  net_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and net_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
+      and railway_type_no in ('001019003', '001019005')
+    </where>
+  </sql>
+
+  <!-- 查询:根据传入时间和车号,查询给定时间段去重车号 -->
+  <select id="distinctHookRailwayNo" parameterType="java.lang.String" resultMap="BaseResultMap">
+    SELECT distinct RAILWAY_NO, net_time
+    from METER_WORK_RAILWAY_ACTUAL
+    <include refid="whereLikeTSDG" />
+    and value_flag != '0'
+    order by net_time desc
+  </select>
+
+  <select id="hookActualByDesc" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    <include refid="whereLikeTSDG" />
+    and value_flag != '0'
+    order by net_time desc
+  </select>
 </mapper>

+ 7 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/IMeterWorkRailwayActualService.java

@@ -116,4 +116,11 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
     RESTfulResult Upload(List<MeterWorkRailwayActual> models);
 
     RESTfulResult Unload(List<MeterWorkRailwayActual> models);
+
+    //铁水吊钩秤web端
+    List<String> distinctHookRailwayNo(HashMap<String, Object> param);
+    List<MeterWorkRailwayActual> hookActualByDesc(HashMap<String, Object> parameters);
+    //根据实绩id获取一次计量信息和委托信息
+    RESTfulResult hookFirstAndEntrustById(String actualNo);
+    RESTfulResult cleanByHookFirstNo(String actFirstNo01, String actFirstNo02, String PredictionNo);
 }

+ 259 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -3644,4 +3644,263 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
         return rm;
     }
+
+    @Override
+    public List<String> distinctHookRailwayNo(HashMap<String, Object> param) {
+        List<String> list = new ArrayList<>();
+        try{
+            list = meterWorkRailwayActualMapper.distinctHookRailwayNo(param)
+                    .stream()
+                    .map(MeterWorkRailwayActual::getRailwayNo)
+                    .distinct()
+                    .collect(Collectors.toList());
+            if(list==null && list.isEmpty()) {
+                list.add("");
+            }
+        }catch (Exception e) {
+            list.add("");
+        }
+        return list;
+    }
+
+    @Override
+    public List<MeterWorkRailwayActual> hookActualByDesc(HashMap<String, Object> parameters) {
+        List<MeterWorkRailwayActual> rows = meterWorkRailwayActualMapper.hookActualByDesc(parameters);
+        return rows;
+    }
+
+    @Override
+    public RESTfulResult hookFirstAndEntrustById(String actualNo) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setMessage("查询失败!");
+        rm.setFailed();
+
+        List<String> actualNoList = new ArrayList<>();
+        MeterWorkRailwayActual carActual = meterWorkRailwayActualMapper.selectByPrimaryKey(actualNo);
+        if(carActual != null) {
+            //查询一次数据
+            actualNoList.add(0, carActual.getActualFirst1No());
+            actualNoList.add(1, carActual.getActualFirst2No());
+            List<MeterWorkRailwayActFirst> firstList = meterWorkRailwayActFirstMapper.selectById(actualNoList);
+            //查询委托数据
+            HashMap<String, Object> obj = new HashMap<>();
+            obj.put("railwayNo", carActual.getRailwayNo());
+            obj.put("predictionNo", carActual.getPredictionNo());
+            //查询特殊委托接口
+            HashMap<String, Object> matterObj = new HashMap<>();
+            matterObj.put("pBaseCode", "001036");
+            List<String> matterList = comBaseInfoMapper.matterNoByBaseCode(matterObj);
+            obj.put("list", matterList);
+            List<PreRailwayScale> scale = preRailwayScaleMapper.selectByHookScale(obj);
+
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("firstList", firstList);
+            map.put("scale", scale);
+            rm.setData(map);
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功!!");
+            return rm;
+        }
+        return null;
+    }
+
+    @Override
+    public RESTfulResult cleanByHookFirstNo(String actFirstNo01, String actFirstNo02, String predictionNo) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            //勾选的两个一次数据为空,报错
+            if((actFirstNo01 == null || StringUtils.isEmpty(actFirstNo01)) || (actFirstNo02 == null || StringUtils.isEmpty(actFirstNo02))) {
+                rm.setMessage("未选择两个一次记录");
+                return rm;
+            }
+            MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo01);
+            MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo02);
+            String scaleNo = null;
+            //从勾选的委托、两个一次数据中赋值委托号
+            if(predictionNo != null && StringUtils.isNotEmpty(predictionNo)){
+                if((actFirst01.getPredictionNo() != null && StringUtils.isNotEmpty(actFirst01.getPredictionNo())
+                        || actFirst02.getPredictionNo() != null && StringUtils.isNotEmpty(actFirst02.getPredictionNo()))){
+                    rm.setMessage("两个一次记录已带有委托,不能在勾选委托");
+                    return rm;
+                }
+                scaleNo = predictionNo;
+            }else if((actFirst01.getPredictionNo() != null && StringUtils.isNotEmpty(actFirst01.getPredictionNo()))){
+                scaleNo = actFirst01.getPredictionNo();
+            }else if(actFirst02.getPredictionNo() != null && StringUtils.isNotEmpty(actFirst02.getPredictionNo())){
+                scaleNo = actFirst02.getPredictionNo();
+            }
+
+            PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(scaleNo);
+            //存储结净记录
+            MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            UserPayload payload = new UserPayload();
+            String userId = payload.getUserCode();
+            String userName = payload.getUserName();
+
+            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);
+
+                //更新一次数据
+                //更新第一次毛重数据库
+                actFirst01.setWeightType("0");
+                actFirst01.setValueFlag(DbConstants.NET);
+                actFirst01.setUpdateManName(userId);
+                actFirst01.setUpdateManName(userName);
+                actFirst01.setUpdateTime(new Date());
+                actFirst01.setIsPreSacale("1");
+                actFirst01.setPredictionNo(scale.getPredictionNo());
+                actFirst01.setPredictionType("1");
+                actFirst01.setNote("手动毛皮洁净");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(actFirst01);
+                //更新第一次皮重数据库
+                actFirst02.setWeightType("1");
+                actFirst02.setValueFlag(DbConstants.NET);
+                actFirst02.setUpdateManName(userId);
+                actFirst02.setUpdateManName(userName);
+                actFirst02.setUpdateTime(new Date());
+                actFirst02.setIsPreSacale("1");
+                actFirst02.setPredictionNo(scale.getPredictionNo());
+                actFirst02.setPredictionType("1");
+                actFirst02.setNote("手动毛皮洁净");
+                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())));
+                String no = PublicMethod.IdCreate(3);
+                actualRow.setActualNo(no);
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreSacale("1");
+                actualRow.setCreateTime(new Date());
+                actualRow.setCreateManName(userName);
+                actualRow.setNetTime(new Date());
+                actualRow.setUpdateManNo(userId);
+                actualRow.setUpdateManName(userName);
+                actualRow.setNote("手动毛皮洁净");
+                actualRow.setLcNo(actFirst01.getLcNo());
+                actualRow.setNetMode(DbConstants.TYPE);
+                actualRow.setPredictionType("1");
+                actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
+                if(actualRow.getGrossTime().compareTo(actualRow.getTareTime()) >= 0) {
+                    actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
+                    actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
+                    actualRow.setNetManNo(actualRow.getGrossManNo());
+                    actualRow.setNetManName(actualRow.getGrossManName());
+                    actualRow.setNetTime(actualRow.getGrossTime());
+                    actualRow.setCreateTime(actualRow.getGrossTime());
+                    actualRow.setCreateManName(actualRow.getGrossManName());
+                    actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst1No()));
+                }else {
+                    actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
+                    actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
+                    actualRow.setNetManNo(actualRow.getTareManNo());
+                    actualRow.setNetManName(actualRow.getTareManName());
+                    actualRow.setNetTime(actualRow.getTareTime());
+                    actualRow.setCreateTime(actualRow.getTareTime());
+                    actualRow.setCreateManName(actualRow.getTareManName());
+                    actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst2No()));
+                }
+                meterWorkRailwayActualMapper.insertSelective(actualRow);
+
+                scale.setValueFlag(DbConstants.NET);
+                scale.setUpdateTime(new Date());
+                scale.setUpdateManNo(userId);
+                scale.setUpdateManName(userName);
+                scale.setUploadFlag("1");
+                scale.setPredictionType("1");
+                scale.setMeasureStation(actualRow.getNetSpot3No());
+                scale.setMeasureStationName(actualRow.getNetSpot3Name());
+                preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+            }else {
+                MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAdd(actFirst01.getActualFirstNo(), actFirst02.getActualFirstNo());
+                BeanUtils.copyProperties(mwca2, actualRow);
+
+                //标志位为结净
+                actFirst01.setWeightType("0");
+                actFirst01.setUpdateManNo(userId);
+                actFirst01.setUpdateManName(userName);
+                actFirst01.setNote("手动毛皮洁净");
+                actFirst01.setIsPreSacale("0");
+                actFirst01.setValueFlag(DbConstants.NET);
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst01);
+                actFirst02.setWeightType("1");
+                actFirst02.setUpdateManNo(userId);
+                actFirst02.setUpdateManName(userName);
+                actFirst02.setNote("手动毛皮洁净");
+                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())));
+                String no = PublicMethod.IdCreate(3);
+                actualRow.setActualNo(no);
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreSacale("0");
+                actualRow.setUpdateManNo(userId);
+                actualRow.setUpdateManName(userName);
+                actualRow.setNote("手动毛皮洁净");
+                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()));
+                if(actualRow.getGrossTime().compareTo(actualRow.getTareTime()) >= 0) {
+                    actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
+                    actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
+                    actualRow.setNetManNo(actualRow.getGrossManNo());
+                    actualRow.setNetManName(actualRow.getGrossManName());
+                    actualRow.setNetTime(actualRow.getGrossTime());
+                    actualRow.setCreateTime(actualRow.getGrossTime());
+                    actualRow.setCreateManName(actualRow.getGrossManName());
+                    actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst1No()));
+                }else {
+                    actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
+                    actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
+                    actualRow.setNetManNo(actualRow.getTareManNo());
+                    actualRow.setNetManName(actualRow.getTareManName());
+                    actualRow.setNetTime(actualRow.getTareTime());
+                    actualRow.setCreateTime(actualRow.getTareTime());
+                    actualRow.setCreateManName(actualRow.getTareManName());
+                    actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst2No()));
+                }
+                meterWorkRailwayActualMapper.insertSelective(actualRow);
+            }
+            rm.setSucceed();
+            rm.setData(actualRow);
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        }
+        return rm;
+    }
 }

+ 1 - 0
src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.java

@@ -63,4 +63,5 @@ public interface PreRailwayScaleMapper extends IBaseMapper<PreRailwayScale, Stri
 
     //铁水吊钩秤业务
     List<PreRailwayScale> hookScaleByDesc(Map<String, Object> var1);
+    List<PreRailwayScale> selectByHookScale(Map<String, Object> var1);
 }

+ 22 - 1
src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.xml

@@ -3237,5 +3237,26 @@
     order by TRUST_DATE_TIME desc
   </select>
 
-  </mapper>
+  <select id="selectByHookScale" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <where> 1 = 1
+      <if test="railwayNo != null and railwayNo != ''">
+        and railway_no = #{railwayNo}
+      </if>
+      and matter_no in
+      <foreach collection="list" item="id" open="(" close=")" separator=",">
+        #{id}
+      </foreach>
+      <if test="predictionNo != null and predictionNo != ''">
+        and (   PREDICTION_NO = #{predictionNo}
+        or (value_flag = '1' and TRUST_AVAILABILITY_TIME &gt;= SYSDATE) )
+      </if>
+      <if test="predictionNo == null or predictionNo == ''">
+        and value_flag = '1'
+        and TRUST_AVAILABILITY_TIME &gt;= SYSDATE
+      </if>
+    </where>
+    order By TRUST_DATE_TIME desc
+  </select>
+</mapper>