Bladeren bron

后端修改

dengyj 4 jaren geleden
bovenliggende
commit
0fb9b66844

+ 55 - 12
src/main/java/com/steerinfo/filter/SecurityFilter.java

@@ -1,9 +1,11 @@
 package com.steerinfo.filter;
 
 import cn.hutool.json.JSONObject;
+import com.alibaba.fastjson.JSON;
 import com.steerinfo.framework.controller.RESTfulResult;
 import org.springframework.stereotype.Component;
 import org.springframework.util.DigestUtils;
+import org.springframework.util.StringUtils;
 
 import javax.servlet.*;
 import javax.servlet.annotation.WebFilter;
@@ -12,8 +14,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.nio.charset.StandardCharsets;
 import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Locale;
+import java.util.*;
 
 @Component
 @WebFilter("/*")
@@ -32,20 +33,35 @@ public class SecurityFilter implements Filter {
 
         //不拦截
         if ("/v1/meterbasecars/appregister".equals(path)
-                ||"/v1/meterbasecars/applogin".equals(path)
-                || 1 == 1){
+                ||"/v1/meterbasecars/applogin".equals(path) || 1 == 1){
             filterChain.doFilter(servletRequest,servletResponse);
             return;
         }
 
-        if(request.getRemoteAddr().equals("10.104.4.105")) {
-            filterChain.doFilter(servletRequest,servletResponse);
-            return;
+//        if(request.getRemoteAddr().equals("10.104.4.105")) {
+//            filterChain.doFilter(servletRequest,servletResponse);
+//            return;
+//        }
+
+        // 1. 先尝试拿vCode
+        StringBuffer url = request.getRequestURL();
+        String uri = request.getRequestURI();
+        String method = request.getMethod();
+        String vCode = request.getParameter("verificationCode");
+        String contentType = request.getContentType();
+        // 获取json字符串
+//        String accept = request.getHeader("accept");
+        String jsonStr = getRequestJson(request);
+        // 2. 如果vCode为空,且method为POST,且contentType[0]为application/json
+        if(vCode == null || StringUtils.isEmpty(vCode)) {
+            Object parse = JSON.parse(jsonStr);
+            JSONObject object = new JSONObject(parse);
+            vCode = object.getStr("verificationCode");
+
         }
 
-        String temp = request.getParameter("verificationCode");
         //取出验证码
-        if(request.getParameter("verificationCode") == null) {
+        if(vCode == null || StringUtils.isEmpty(vCode)) {
             response.setContentType("application/json;charset=UTF-8");
             RESTfulResult result = new RESTfulResult("500", "验证参数为空,不能请求!!");
             result.setData(null);
@@ -53,7 +69,7 @@ public class SecurityFilter implements Filter {
             response.getWriter().print(object);
             return;
         }
-        String verificationCode1 = request.getParameter("verificationCode");
+        String verificationCode1 = vCode;
         verificationCode1 = verificationCode1.toLowerCase(Locale.ROOT);
 //        System.out.println(verificationCode1);
 
@@ -69,19 +85,46 @@ public class SecurityFilter implements Filter {
         //比对
         if (verificationCode2.equals(verificationCode1)){//比对成功
             filterChain.doFilter(servletRequest,servletResponse);
-            return;
         }else {//比对失败
             response.setContentType("application/json;charset=UTF-8");
             RESTfulResult result = new RESTfulResult("500", "访问未授权");
             result.setData(null);
             JSONObject object = new JSONObject(result);
             response.getWriter().print(object);
-            return;
         }
+        return;
     }
 
     @Override
     public void destroy() {
 
     }
+
+    public static String getRequestJson(HttpServletRequest request) {
+        boolean isGetRequest = request.getMethod().toLowerCase().equals("get");
+        try {
+            if (isGetRequest) {
+                return new String(request.getQueryString().getBytes(
+                        "ISO-8859-1"), "UTF-8").replaceAll("%22", "\"");
+            }
+            int contentLength = request.getContentLength();
+            if (contentLength < 0) {
+                return null;
+            }
+            byte buffer[] = new byte[contentLength];
+            for (int i = 0; i < contentLength;) {
+
+                int readlen = request.getInputStream().read(buffer, i,
+                        contentLength - i);
+                if (readlen == -1) {
+                    break;
+                }
+                i += readlen;
+            }
+            return new String(buffer, "UTF-8");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }

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

@@ -150,6 +150,23 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
         }
     }
 
+    @ApiOperation(value = "获取列表", notes = "分页模糊查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("meterworkcaractualfirst:view")
+    @PostMapping(value = "/queryForTimeInterval")
+    public RESTfulResult queryForTimeInterval(@RequestBody HashMap parmas) {
+        try {
+            List<MeterWorkCarActualFirst> list = meterWorkCarActualFirstService.queryForTimeInterval(parmas);
+            return success(list);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
+
     @ApiOperation(value = "获取列表", notes = "分页模糊查询")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
@@ -759,6 +776,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doAddInnerWf(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doAddInnerWf(com.getOne(), com.getSOne(), com.getFour());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -773,6 +793,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doAddNetInnerWf(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doAddNetInnerWf(com.getOne(), com.getTwo(), com.getSOne(), com.getFour());
+            if(!rm.isSucceed()){
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1022,6 +1045,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doNetAddTwo(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual, PreTrackScale, PreTrackScale> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doNetAddTwo(com.getOne(), com.getTwo(), com.getThree(), com.getFour());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1085,6 +1111,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
             String predictionNo2 = parmas.get("predictionNo2").toString();
 
             rm = meterWorkCarActualFirstService.doubleEntrustmentMatch(actualNo1, actualNo2,predictionNo1,predictionNo2);
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception ex) {
             ex.printStackTrace();
@@ -1098,6 +1127,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doNetTermTare(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual,MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doNetTermTare(com.getOne(), com.getTwo(), com.getSOne());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1112,6 +1144,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult addEmergency(@RequestBody List<MeterWorkCarActualFirst> model) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.addEmergency(model);
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1126,6 +1161,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doNetAddMuch(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual,MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doNetAddMuch(com.getOne());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1140,6 +1178,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doAddNetInnerWfError(@RequestBody CommonCombination<MeterWorkCarActualFirst, MeterWorkCarActual, MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doAddNetInnerWfError(com.getOne(), com.getTwo(), com.getSOne(), com.getFour());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1157,6 +1198,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
             MeterWorkCarActualFirst tareModel = com.getTwo();
             PreTrackScale scale = com.getThree();
             RESTfulResult rm = meterWorkCarActualFirstService.doNetByFirst(grossModel, tareModel, scale);
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1171,6 +1215,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult furConversion(@RequestBody HashMap params) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.furConversion(params);
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();
@@ -1185,6 +1232,9 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
     public RESTfulResult doNetAddMuchGross(@RequestBody CommonCombination<List<MeterWorkCarActualFirst>, MeterWorkCarActualFirst,MeterWorkPreLink, MeterMonitorNote> com) {
         try {
             RESTfulResult rm = meterWorkCarActualFirstService.doNetAddMuchGross(com.getOne(),com.getTwo(),com.getFour());
+            if(!rm.isSucceed()) {
+                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            }
             return rm;
         } catch (Exception e) {
             e.printStackTrace();

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.java

@@ -77,5 +77,7 @@ public interface MeterWorkCarActualFirstMapper extends IBaseMapper<MeterWorkCarA
     List<MeterWorkCarActualFirst> likeByDesc(Map<String, Object> params);
     List<MeterWorkCarActualFirst> ApplikeByDesc(Map<String, Object> params);
 
+    List<MeterWorkCarActualFirst> queryForTimeInterval(Map<String, Object> params);
+
     List<MeterWorkCarActualFirst> selectById(List<String> actualNoList);
 }

+ 8 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.xml

@@ -2855,6 +2855,14 @@
     order by create_time desc
   </select>
 
+  <select id="queryForTimeInterval" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="whereLike"/>
+    <!--App特殊条件查询,查询不能为作废、已洁净数据-->
+    and value_flag != '0'
+    order by create_time desc
+  </select>
+
   <select id="ApplikeByDesc" parameterType="java.util.HashMap" resultMap="BaseResultMap">
     <include refid="select"/>
     <include refid="whereLike"/>

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

@@ -132,6 +132,8 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
     PageList<MeterWorkCarActualFirst> likeByDesc(Map<String, Object> var1, Integer pageNum, Integer pageSize);
     PageList<MeterWorkCarActualFirst> ApplikeByDesc(Map<String, Object> var1, Integer pageNum, Integer pageSize);
 
+
+    List<MeterWorkCarActualFirst> queryForTimeInterval(Map<String, Object> var1);
     RESTfulResult doNetByFirst(MeterWorkCarActualFirst grossModel, MeterWorkCarActualFirst tareModel, PreTrackScale scale);
 
     RESTfulResult furConversion(HashMap<String, Object> params);

+ 55 - 70
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -165,9 +165,9 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
     @Override
     @Transactional(rollbackFor = Exception.class)
     public RESTfulResult checkandadd(MeterWorkCarActualFirst model, MeterMonitorNote note) throws Exception {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
         try {
-            RESTfulResult rm = new RESTfulResult();
-            rm.setCode("200");
             ckeck1(model);
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
             String afl = sdf.format(new Date());
@@ -209,6 +209,8 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             }
             model.setCreateTime(new Date());
             int num = meterWorkCarActualFirstMapper.insertSelective(model);
+            rm.setSucceed();
+            rm.setCode("200");
             rm.setData(model.getActualFirstNo());
             rm.setMessage(enStr);
             return rm;
@@ -1050,17 +1052,17 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
     @Transactional(value = "tm", rollbackFor = Exception.class)
     public RESTfulResult doAddInnerWf(MeterWorkCarActualFirst oci, String saveTare, MeterMonitorNote note) throws Exception {
         RESTfulResult rm = new RESTfulResult();
-        rm.setCode("200");
-
-        //1、存储一次计量信息
-        SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
-        String afl = formatter.format(oci.getCreateTime());
+        rm.setFailed();
+        try{
+            //1、存储一次计量信息
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+            String afl = formatter.format(oci.getCreateTime());
 //        String no = meterWorkCarActualFirstMapper.getNewID(afl);
 //        oci.setActualFirstNo(formatter.format(new Date()) + no);
 
-        String no = PublicMethod.IdCreate(3);
-        oci.setActualFirstNo(no);
-        oci.setValueFlag("1");
+            String no = PublicMethod.IdCreate(3);
+            oci.setActualFirstNo(no);
+            oci.setValueFlag("1");
         /*//
         if(oci.getWeightType().equals("0")){
 
@@ -1068,38 +1070,44 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         if(oci.getWeightType().equals("1")){
 
         }*/
-        oci.setCreateTime(new Date());
-        meterWorkCarActualFirstMapper.insert(oci);
+            oci.setCreateTime(new Date());
+            meterWorkCarActualFirstMapper.insert(oci);
 
-        //2、存储历史皮重及历史皮重明细信息
-        if ("1".equals(saveTare)) {
-            doSaveHisTare(oci);
-        }
-        //3、保存图片
-        //SaveImg(oci);
-        //4、修改计量监控
-        updateMonitor(oci.getBaseSpotNo());
+            //2、存储历史皮重及历史皮重明细信息
+            if ("1".equals(saveTare)) {
+                doSaveHisTare(oci);
+            }
+            //3、保存图片
+            //SaveImg(oci);
+            //4、修改计量监控
+            updateMonitor(oci.getBaseSpotNo());
 
-        //保存日志
-        saveNote(note);
+            //保存日志
+            saveNote(note);
 
-        updateMonitorOver(oci.getActualFirstNo(), oci.getBaseSpotNo());
+            updateMonitorOver(oci.getActualFirstNo(), oci.getBaseSpotNo());
 
-        //补充附加重量的数据
-        if (StringUtils.isNotEmpty(oci.getAddWgtPk())) {
-            insertAddWgtNo(oci.getActualFirstNo(), oci.getAddWgtPk(), oci.getCreateManNo(), oci.getCreateManName());
-        }
+            //补充附加重量的数据
+            if (StringUtils.isNotEmpty(oci.getAddWgtPk())) {
+                insertAddWgtNo(oci.getActualFirstNo(), oci.getAddWgtPk(), oci.getCreateManNo(), oci.getCreateManName());
+            }
 
-        //重量类型为毛重则调用接口为
-        String flag = "";
+            //重量类型为毛重则调用接口为
+            String flag = "";
         /*
         if("0".equals(oci.getWeightType())){
             flag = transferParamForLims(oci.getCarNo(),oci.getMatterNo(),oci.getReceivingUintName(),oci.getForwardingUnitName(),"",oci.getCreateTime(),oci.getMeterWeight().toString(),oci.getActualFirstNo());
         }
         //*/
-
-        rm.setData(oci.getActualFirstNo());
-        rm.setMessage(flag);
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setData(oci.getActualFirstNo());
+            rm.setMessage(flag);
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setFailed();
+            rm.setMessage("操作异常,请确认!!>>>" + e.getMessage());
+        }
         return rm;
     }
 
@@ -1115,11 +1123,10 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
     @Override
     @Transactional(value = "tm", rollbackFor = Exception.class)
     public RESTfulResult doAddNetInnerWf(MeterWorkCarActualFirst secondDb, MeterWorkCarActual netDb, String saveTare, MeterMonitorNote note) throws Exception {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        rm.setCode("500");
         try{
-
-            RESTfulResult rm = new RESTfulResult();
-            rm.setCode("200");
-
             //1、存储当前计量的数据
             SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
             String afl = formatter.format(new Date());
@@ -1163,15 +1170,11 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 preTrackScale.setValueFlag("2");
                 preTrackScale.setUploadFlag("1");
                 preTrackScaleMapper.updateByPrimaryKeySelective(preTrackScale);
-
                 PreTrackScale pres = preTrackScaleMapper.selectBypredictionNo(netDb.getPredictionNo());
-                if(pres.getReceiverRemark().equals("H01") || pres.getReceiverRemark().equals("H02")){
+                if(pres != null && pres.getReceiverRemark() != null && (pres.getReceiverRemark().equals("H01") || pres.getReceiverRemark().equals("H02"))){
                     netDb.setPredictionType("7");
                 }
             }
-
-
-
             // 判断当前数据是否存在委托
 //            if (netDb.getPredictionNo() != null && "".equals(netDb.getPredictionNo())) {
 //                MeterWorkCarActualFirst gross = meterWorkCarActualFirstMapper.selectByPrimaryKey(netDb.getActualFirst1No());
@@ -1186,14 +1189,10 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
 //                    preTrackScaleMapper.updateByPrimaryKeySelective(preTrackScale);
 //                }
 //            }
-
 //            String no1 = meterWorkCarActualMapper.getNewID(afl);
 //            netDb.setActualNo(afl + no1);
-
-
             String no1 = PublicMethod.IdCreate(3);
             netDb.setActualNo(no1);
-
             if (netDb != null && netDb.getNetWeight() != null) {
                 //2021年3月7日 净重保留两位小数;
                 BigDecimal net;
@@ -1224,10 +1223,8 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 String afl1 = formatter.format(new Date());
 //                String imTareNO = meterWorkCarActualFirstMapper.getNewID(afl1);
 //                imTare.setActualFirstNo(afl1 + imTareNO);
-
                 String imTareNO = PublicMethod.IdCreate(3);
                 imTare.setActualFirstNo(imTareNO);
-
                 imTare.setMeterTypeNo(secondDb.getMeterTypeNo());
                 imTare.setMeterTypeName(secondDb.getMeterTypeName());
                 imTare.setBaseSpotNo(mbttd.getBaseSpotNo());
@@ -1246,7 +1243,6 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 mwca.setActualFirst2No(imTare.getActualFirstNo());
                 meterWorkCarActualMapper.updateByPrimaryKeySelective(mwca);
             }
-
             //4、存储历史皮重及历史皮重明细信息
             if ("1".equals(saveTare)) {
                 MeterWorkCarActualFirst oci = new MeterWorkCarActualFirst();
@@ -1258,45 +1254,28 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
                 oci.setActualFirstNo(netDb.getActualFirst2No());
                 doSaveHisTare(oci);
             }
-
-            //5、保存图片
-            //SaveImg(secondDb);
-
             //6、修改计量监控
             updateMonitor(secondDb.getBaseSpotNo());
-
             //保存日志
             saveNote(note);
-
             //当存储一次数据或者结净时,将本车辆的预处理重量改为已使用
             updatePreWeight(secondDb.getCarNo());
-
             updateMonitorOver(secondDb.getActualFirstNo(), secondDb.getBaseSpotNo());
-
             //重量类型为毛重则调用接口为
             String flag = "";
-            /*
-            if("0".equals(secondDb.getWeightType())){
-                flag = transferParamForLims(netDb.getCarNo(),netDb.getMatterNo(),netDb.getReceivingUintName(),netDb.getForwardingUnitName(),netDb.getNetWeight().toString(),netDb.getNetTime(),"",netDb.getActualNo());
-            }
-            //*/
-
             //补充附加重量的数据
             if (StringUtils.isNotEmpty(secondDb.getAddWgtPk())) {
                 insertAddWgtNo(secondDb.getActualFirstNo(), secondDb.getAddWgtPk(), secondDb.getCreateManNo(), secondDb.getCreateManName());
             }
-
-
+            rm.setSucceed();
+            rm.setCode("200");
             rm.setData(secondDb.getActualFirstNo());
             rm.setMessage(flag);
             return rm;
-        }
-        catch (Exception e){
-            RESTfulResult rm = new RESTfulResult();
-            rm.setCode("500");
-            rm.setData(null);
-            rm.setMessage(e.getMessage());
+        }catch (Exception e){
             e.printStackTrace();
+            rm.setFailed();
+            rm.setMessage(e.getMessage());
             return rm;
         }
     }
@@ -4089,6 +4068,12 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         return pageInfo;
     }
 
+    @Override
+    public List<MeterWorkCarActualFirst> queryForTimeInterval(Map<String, Object> params) {
+        List<MeterWorkCarActualFirst> rows = meterWorkCarActualFirstMapper.queryForTimeInterval(params);
+        return rows;
+    }
+
     @Override
     @Transactional(value = "tm", rollbackFor = Exception.class)
     public RESTfulResult doNetAddMuch(MeterWorkCarActualFirst actualFirst) throws Exception {

+ 14 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/controller/MeterWorkRailwayActFirstController.java

@@ -872,6 +872,20 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
+    @ApiOperation(value = "双委托洁净--远程计量")
+    @Transactional
+    @PostMapping(value = "/doNetAddTwo02", produces = "application/json;charset=UTF-8")
+    public RESTfulResult doNetAddTwo02(@RequestBody CommonCombination<List<MeterWorkRailwayActFirst>, List<MeterWorkRailwayActFirst>, List<PreRailwayScale>, String> com) {
+        try {
+            RESTfulResult rm = meterWorkRailwayActFirstService.doNetAddTwo02(com.getOne(), com.getTwo(), com.getThree(), com.getFour());
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
+
     @ApiOperation(value = "双委托洁净--智能计量(记录)")
     @Transactional
     @PostMapping(value = "/doNetAddTwoDouble", produces = "application/json;charset=UTF-8")

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/IMeterWorkRailwayActFirstService.java

@@ -97,6 +97,7 @@ public interface IMeterWorkRailwayActFirstService extends IBaseService<MeterWork
 
     RESTfulResult doAddNetHZHX(MeterWorkRailwayActFirst first02, MeterWorkRailwayActual carModel, MeterWorkRailwayActFirst first03,  MeterMonitorNote note);
     RESTfulResult doNetAddTwo(MeterWorkRailwayActFirst one, MeterWorkRailwayActual two, PreRailwayScale three, PreRailwayScale four);
+    RESTfulResult doNetAddTwo02(List<MeterWorkRailwayActFirst> selectedFirsts, List<MeterWorkRailwayActFirst> addFirsts, List<PreRailwayScale> scales, String note);
 
     RESTfulResult doAddNetHZHXTwo(PreRailwayScale scale, MeterWorkRailwayActFirst first01, MeterWorkRailwayActFirst first02,  MeterMonitorNote note, String flag);
     RESTfulResult doNetAddTwoDouble(PreRailwayScale scale01, PreRailwayScale scale02,  MeterWorkRailwayActFirst first01, MeterWorkRailwayActFirst first02);

+ 224 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -50,6 +50,8 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
@@ -957,6 +959,228 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         }
     }
 
+    @Override
+    public RESTfulResult doNetAddTwo02(List<MeterWorkRailwayActFirst> selectedFirsts, List<MeterWorkRailwayActFirst> addFirsts, List<PreRailwayScale> scales, String note) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            String afl = sdf.format(new Date());
+
+            //如果计量员选择一次记录是空就是第一次 真,不是空就是第二次 假
+            boolean isFirst = CollectionUtils.isEmpty(selectedFirsts);
+
+            Assert.isTrue(!CollectionUtils.isEmpty(addFirsts) && addFirsts.size() ==2, "新增一次记录必须是两条");
+            Assert.isTrue(!isFirst && !CollectionUtils.isEmpty(scales) && scales.size() ==2, "双委托结净必须有两条委托");
+            if(!CollectionUtils.isEmpty(scales) && scales.size() ==2) {
+                //判断双委托
+            }
+            //如果计量员选择的一次记录只有一条,就复制一条
+            //匹配委托
+            for (PreRailwayScale scale : scales) {
+
+            }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+//            //存储当前计量的数据
+//            String firstNo01 = sdf.format(new Date()) + meterWorkRailwayActFirstMapper.getNewID(afl);
+//            one.setActualFirstNo(firstNo01);
+//            one.setCreateTime(new Date());
+//            meterWorkRailwayActFirstMapper.insertSelective(one);
+//
+//            MeterWorkRailwayActFirst model01 = new MeterWorkRailwayActFirst();
+//            MeterWorkRailwayActFirst model02 = new MeterWorkRailwayActFirst();
+//
+//            MeterWorkRailwayActual actualRow1 = new MeterWorkRailwayActual();
+//            MeterWorkRailwayActual actualRow2 = new MeterWorkRailwayActual();
+//            if(one.getWeightType().equals("0")){
+//                //毛重一次
+//                model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(one.getActualFirstNo());
+//                //皮重一次
+//                model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(two.getActualFirst2No());
+//            }else if(one.getWeightType().equals("1")) {
+//                //毛重一次
+//                model01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(two.getActualFirst1No());
+//                //皮重一次
+//                model02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(one.getActualFirstNo());
+//            }
+//            MeterWorkRailwayActFirst model03 = new MeterWorkRailwayActFirst();
+//            MeterWorkRailwayActFirst model04 = new MeterWorkRailwayActFirst();
+//
+//            PreRailwayScale scale01 = preRailwayScaleMapper.selectByPrimaryKey(three.getPredictionNo());
+//            PreRailwayScale scale02 = preRailwayScaleMapper.selectByPrimaryKey(four.getPredictionNo());
+//
+//            //将委托中的编号和收发货的等数据拷贝进一次数据中
+//            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());
+//            model03.setCreateTime(new Date());
+//            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());
+//            model04.setCreateTime(new Date());
+//            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.setNetManNo(two.getNetManNo());
+//            actualRow1.setNetManName(two.getNetManName());
+//            actualRow1.setNetSpot3No(two.getNetSpot3No());
+//            actualRow1.setNetSpot3Name(two.getNetSpot3Name());
+//            actualRow1.setCreateManName(two.getCreateManName());
+//            actualRow1.setCreateTime(two.getCreateTime());
+//            actualRow1.setUpdateManNo(two.getUpdateManNo());
+//            actualRow1.setUpdateManName(two.getUpdateManName());
+//            actualRow1.setUpdateTime(two.getUpdateTime());
+//            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.setNetManNo(two.getNetManNo());
+//            actualRow2.setNetManName(two.getNetManName());
+//            actualRow2.setNetSpot3No(two.getNetSpot3No());
+//            actualRow2.setNetSpot3Name(two.getNetSpot3Name());
+//            actualRow2.setCreateManName(two.getCreateManName());
+//            actualRow2.setCreateTime(two.getCreateTime());
+//            actualRow2.setUpdateManNo(two.getUpdateManNo());
+//            actualRow2.setUpdateManName(two.getUpdateManName());
+//            actualRow2.setUpdateTime(two.getUpdateTime());
+//            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());
+//            }*/
+//
+//            rm.setSucceed();
+//            rm.setData(one.getActualFirstNo());
+//            rm.setCode("200");
+//            rm.setMessage("操作成功!!");
+            return rm;
+        }catch(Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!!>>>>" + e.getMessage());
+            return rm;
+        }
+    }
+
     @Override
     public RESTfulResult doAddNetHZHXTwo(PreRailwayScale scale, MeterWorkRailwayActFirst first01, MeterWorkRailwayActFirst first02, MeterMonitorNote note, String flag) {
         RESTfulResult rm = new RESTfulResult();