dengyj %!s(int64=3) %!d(string=hai) anos
pai
achega
af2fdb02bb
Modificáronse 17 ficheiros con 502 adicións e 104 borrados
  1. 8 2
      src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.xml
  2. 2 0
      src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/controller/MeterBaseUnitDirectController.java
  3. 1 1
      src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/mapper/MeterBaseUnitDirectMapper.java
  4. 2 2
      src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/mapper/MeterBaseUnitDirectMapper.xml
  5. 2 0
      src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/service/IMeterBaseUnitDirectService.java
  6. 9 3
      src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/service/impl/MeterBaseUnitDirectServiceImpl.java
  7. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/controller/MeterWorkCarActualController.java
  8. 121 66
      src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java
  9. 1 1
      src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/mapper/MeterWorkCarActualFirstMapper.xml
  10. 33 0
      src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/controller/MeterWorkMeasuringInstrumentController.java
  11. 4 0
      src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/mapper/MeterWorkMeasuringInstrumentMapper.java
  12. 62 0
      src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/mapper/MeterWorkMeasuringInstrumentMapper.xml
  13. 9 0
      src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/service/IMeterWorkMeasuringInstrumentService.java
  14. 96 1
      src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/service/impl/MeterWorkMeasuringInstrumentServiceImpl.java
  15. 23 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/controller/MeterWorkRailwayActualController.java
  16. 2 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/IMeterWorkRailwayActualService.java
  17. 126 28
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

+ 8 - 2
src/main/java/com/steerinfo/baseinfo/meterbaseoperationlog/mapper/MeterBaseOperationLogMapper.xml

@@ -662,7 +662,7 @@
     where 1=1
     and t.operation_page like '%web端-汽车衡一次数据维护%'
     <if test="operationFunction != null and operationFunction != ''">
-      operation_function like '%${operationFunction}%'
+     and operation_function like '%${operationFunction}%'
     </if>
     <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
       and  t.create_time  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and t.create_time  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
@@ -684,7 +684,13 @@
     left join meter_work_car_actual B
     on t.operation_id = B.Actual_No
     where 1=1
-    and t.operation_page like '%web端-汽车衡净重数据维护%'
+    and t.operation_page in ('web端-汽车衡净重数据维护', 'web端-汽车衡一次数据维护')
+    <if test="operationPage != null and operationPage != '' and operationPage == 'web端-汽车衡净重数据维护'">
+      and operation_page like '%web端-汽车衡净重数据维护%'
+    </if>
+    <if test="operationPage != null and operationPage != '' and operationPage == 'web端-汽车衡一次数据维护'">
+      and operation_page like '%web端-汽车衡一次数据维护%'
+    </if>
     <if test="operationFunction != null and operationFunction != ''">
       and operation_function like '%${operationFunction}%'
     </if>

+ 2 - 0
src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/controller/MeterBaseUnitDirectController.java

@@ -13,6 +13,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -150,4 +151,5 @@ public class MeterBaseUnitDirectController extends BaseRESTfulController {
             throw new MarkerMetException(500, "操作异常!!");
         }
     }
+
 }

+ 1 - 1
src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/mapper/MeterBaseUnitDirectMapper.java

@@ -12,7 +12,7 @@ import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface MeterBaseUnitDirectMapper extends IBaseMapper<MeterBaseUnitDirect, String> {
-    String GetNewID();
+    String GetNewID(@feign.Param(value = "afl") String afl);
 
     List<MeterBaseUnitDirect> selectForUpdate(@Param("params") Map<String, Object> parameters);
 

+ 2 - 2
src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/mapper/MeterBaseUnitDirectMapper.xml

@@ -469,8 +469,8 @@
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
   <select id="GetNewID" parameterType="java.lang.String" resultType="java.lang.String">
-    SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(CARRIER_UNIT_NO, LENGTH(CARRIER_UNIT_NO) - 4))),0) + 1,5,'0') CARRIER_UNIT_NO
-    FROM METER_BASE_UNIT_DIRECT
+    SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(CARRIER_UNIT_NO, LENGTH(CARRIER_UNIT_NO) - 3))),0) + 1,4,'0') CARRIER_UNIT_NO
+    FROM METER_BASE_UNIT_DIRECT where instr(CARRIER_UNIT_NO,#{afl,jdbcType=VARCHAR})>0
   </select>
 
   <select id="selectForUpdate" parameterType="java.util.HashMap" resultMap="BaseResultMap">

+ 2 - 0
src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/service/IMeterBaseUnitDirectService.java

@@ -1,9 +1,11 @@
 package com.steerinfo.baseinfo.meterbaseunitdirect.service;
 
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbaseunitdirect.model.MeterBaseUnitDirect;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * MeterBaseUnitDirect服务接口:

+ 9 - 3
src/main/java/com/steerinfo/baseinfo/meterbaseunitdirect/service/impl/MeterBaseUnitDirectServiceImpl.java

@@ -2,15 +2,19 @@ package com.steerinfo.baseinfo.meterbaseunitdirect.service.impl;
 
 import com.steerinfo.baseinfo.meterbasematterinfo.model.MeterBaseMatterInfo;
 import com.steerinfo.baseinfo.meterbasematterinfodirect.model.MeterBaseMatterInfoDirect;
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbaseunitdirect.model.MeterBaseUnitDirect;
 import com.steerinfo.baseinfo.meterbaseunitdirect.mapper.MeterBaseUnitDirectMapper;
 import com.steerinfo.baseinfo.meterbaseunitdirect.service.IMeterBaseUnitDirectService;
+import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestParam;
 
+import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.math.BigDecimal;
@@ -33,7 +37,7 @@ import java.util.List;
 @Service(value = "meterBaseUnitDirectService")
 public class MeterBaseUnitDirectServiceImpl extends BaseServiceImpl<MeterBaseUnitDirect, String> implements IMeterBaseUnitDirectService {
 
-    @Autowired
+    @Resource
     private MeterBaseUnitDirectMapper meterBaseUnitDirectMapper;
 
     @Override
@@ -49,8 +53,10 @@ public class MeterBaseUnitDirectServiceImpl extends BaseServiceImpl<MeterBaseUni
         if (StringUtils.isEmpty(model.getUnitType())){
             return "单位类型不能为空";
         }
-        String no = meterBaseUnitDirectMapper.GetNewID();
-        model.setCarrierUnitNo(new SimpleDateFormat("yyyyMMdd").format(new Date()) + no);
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String afl = sdf.format(new Date());
+        String no = meterBaseUnitDirectMapper.GetNewID(afl);
+        model.setCarrierUnitNo(afl + no);
         model.setCreateTime(new Date());
         model.setValidFlag("1");//有效
         meterBaseUnitDirectMapper.insert(model);

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractual/controller/MeterWorkCarActualController.java

@@ -979,4 +979,5 @@ throw new MarkerMetException(500, "操作异常!!");
             throw new MarkerMetException(500, "操作异常!!");
         }
     }
+
 }

+ 121 - 66
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java

@@ -279,18 +279,31 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             MeterWorkCarActualFirst first2 = new MeterWorkCarActualFirst();
             first1.setActualFirstNo(queryData.getActualFirst1No());
             first1.setCarNo(queryData.getCarNo());
-            first1.setUpdateManName("system");
+            first1.setUpdateManNo(model.getUpdateManNo());
+            first1.setUpdateManName(model.getUpdateManName());
             first1.setUpdateTime(new Date());
-            first1.setNote("未匹配委托净重数据修改车号,同步修改一次计量数据车号");
+            first1.setNote("净重数据修改车号,同步修改一次计量数据车号");
             meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(first1);
 
             first2.setActualFirstNo(queryData.getActualFirst1No());
             first2.setCarNo(queryData.getCarNo());
-            first2.setUpdateManName("system");
+            first2.setUpdateManNo(model.getUpdateManNo());
+            first2.setUpdateManName(model.getUpdateManName());
             first2.setUpdateTime(new Date());
-            first2.setNote("未匹配委托净重数据修改车号,同步修改一次计量数据车号");
+            first2.setNote("净重数据修改车号,同步修改一次计量数据车号");
             meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(first2);
 
+            MeterBaseOperationLog logModel = new MeterBaseOperationLog();
+            logModel.setId(PublicMethod.IdCreate(2));
+            logModel.setCreateManNo(model.getUpdateManNo());
+            logModel.setCreateManName(model.getUpdateManName());
+            logModel.setCreateTime(new Date());
+            logModel.setOperationPage("Web端-汽车衡一次数据维护");
+            logModel.setOperationFunction("车号修改");
+            logModel.setOperationId(model.getActualNo());
+            logModel.setOperationPredictionNo(model.getPredictionNo());
+            logModel.setOperationCarnNo(model.getCarNo());
+            meterBaseOperationLogMapper.insertSelective(logModel);
             return num;
         } catch (MarkerMetException e) {
             throw e;
@@ -301,7 +314,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         if (model.getActualNo() == null || "".equals(model.getActualNo())) {
             throw new MarkerMetException(500, "操作数据主键不能为空!!!");
         }
-        if (!model.getValueFlag().equals("3")) {
+        if (StringUtils.isNotEmpty(model.getPredictionNo())) {
             throw new MarkerMetException(500, "只有未匹配委托的数据才能修改车号!!!");
         }
         if (model.getNote() == null || "".equals(model.getNote())) {
@@ -1275,17 +1288,18 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                 rm.setMessage("只有未匹配的净重数据才能进行委托匹配操作");
                 return rm;
             }
-
-//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//            if(model.getUpdateTime() != null && StringUtils.isNotEmpty(model.getUpdateTime().toString())) {
-//                long sTime = df.parse(model.getUpdateTime().toString()).getTime();
-//                long eTime = df.parse((new Date()).toString()).getTime();
-//                long diff = (eTime - sTime) / 1000;
-//                if(diff <= 15) {
-//                    throw new MarkerMetException(500, "匹配委托需在解除委托15秒后进行,请稍等");
-//                }
-//            }
-
+            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            if(model.getUpdateTime() != null && StringUtils.isNotEmpty(model.getUpdateTime().toString())) {
+                String sDate = df.format(model.getUpdateTime());
+                String eDate = df.format(new Date());
+                long sTime = df.parse(sDate).getTime();
+                long eTime = df.parse(eDate).getTime();
+                long diff = (eTime - sTime) / 1000;
+                if(diff <= 15) {
+                    rm.setMessage("匹配委托需在解除委托15秒后进行,请稍等");
+                    return rm;
+                }
+            }
             if(scale == null) {
                 rm.setMessage("不存在对应的预报数据,请确认!!");
                 return rm;
@@ -1336,7 +1350,6 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             mwca.setIsPreScale("1");
             mwca.setValueFlag("1");
             mwca.setUploadFlag("1");
-            mwca.setNote(note);
             meterWorkCarActualMapper.updateByPrimaryKey(mwca);
 
             // 处理预报
@@ -1389,20 +1402,22 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         if (mwcaquery == null) {
             throw new MarkerMetException(500, "不存在对应的结净数据");
         }else {
-//            try{
-//                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//                if(mwcaquery.getUpdateTime() != null && StringUtils.isNotEmpty(mwcaquery.getUpdateTime().toString())) {
-//                    long sTime = df.parse(mwcaquery.getUpdateTime().toString()).getTime();
-//                    long eTime = df.parse((new Date()).toString()).getTime();
-//                    long diff = (eTime - sTime) / 1000;
-//                    if(diff <= 15) {
-//                        throw new MarkerMetException(500, "解除委托需在匹配委托15秒后进行,请稍等");
-//                    }
-//                }
-//            } catch (ParseException e) {
-//                e.printStackTrace();
-//                throw new MarkerMetException(500, "操作异常");
-//            }
+            try{
+                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                if(mwcaquery.getUpdateTime() != null && StringUtils.isNotEmpty(mwcaquery.getUpdateTime().toString())) {
+                    String sDate = df.format(mwcaquery.getUpdateTime());
+                    String eDate = df.format(new Date());
+                    long sTime = df.parse(sDate).getTime();
+                    long eTime = df.parse(eDate).getTime();
+                    long diff = (eTime - sTime) / 1000;
+                    if(diff <= 15) {
+                        throw new MarkerMetException(500, "解除委托需在匹配委托15秒后进行,请稍等");
+                    }
+                }
+            } catch (ParseException e) {
+                e.printStackTrace();
+                throw new MarkerMetException(500, "操作异常");
+            }
         }
 
         PreTrackScale scaleTemp = preTrackScaleMapper.selectByPrimaryKey(model.getPredictionNo());
@@ -1418,7 +1433,6 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         UserPayload payload = UserPayload.getCurrUser();
         String userId = payload.getUserCode();
         String userName = payload.getUserName();
-
         // 处理一次计量数据
         // 毛重
         MeterWorkCarActualFirst grossrow = meterWorkCarActualFirstMapper.selectAndRemove(model.getActualFirst1No());
@@ -1454,6 +1468,7 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         mwca.setUpdateManNo(userId);
         mwca.setUpdateManName(userName);
         mwca.setUpdateTime(new Date());
+        mwca.setNote("撤销委托");
         //mwca.setValueFlag("3");
         mwca.setIsPreScale("0");
         mwca.setUploadFlag("1");
@@ -2717,19 +2732,19 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                 //报警Rfid
                 countCarHelpRfid = carHelp.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
                         && model.getBaseSpotName().equals(spot.getBaseSpotName())
-                        && model.getHelpContent().equals("rfid")).count();
+                        && model.getHelpContent().equals("2")).count();
                 //报警扫码
                 countCarHelpScanningCode = carHelp.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
                         && model.getBaseSpotName().equals(spot.getBaseSpotName())
-                        && model.getHelpContent().equals("扫码")).count();
+                        && model.getHelpContent().equals("3")).count();
                 //报警正常
                 countCarHelpNormal = carHelp.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
                         && model.getBaseSpotName().equals(spot.getBaseSpotName())
-                        && model.getHelpContent().equals("正常")).count();
+                        && model.getHelpContent().equals("1")).count();
                 //报警车号重置
                 countCarHelpVehicleReset = carHelp.stream().filter(model -> model.getBaseSpotNo().equals(spot.getBaseSpotNo())
                         && model.getBaseSpotName().equals(spot.getBaseSpotName())
-                        && model.getHelpContent().equals("车号重置")).count();
+                        && model.getHelpContent().equals("4")).count();
             }
 
             long countLogFirstIsPreScale = 0L;
@@ -2775,58 +2790,90 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             long countLogActualIsNotPreScale = 0L;
             long countLogActualDecompose = 0L;
             long countLogActualValid = 0L;
-//            long countLogFirstClean = 0L;
-//            long countLogFirstDoubleEntrust = 0L;
-//            long countLogFirstMixedLoading = 0L;
-//            long countLogFirstMixedDischarge = 0L;
+            long countLogFirstClean = 0L;
+            long countLogFirstDoubleEntrust = 0L;
+            long countLogFirstMixedLoading = 0L;
+            long countLogFirstMixedDischarge = 0L;
+            long countLogActualCancelDoubleEntrust = 0L;
+            long countLogActualCancelMixedLoading = 0L;
+            long countLogActualCancelMixedDischarge = 0L;
             if(carActualLog != null && carActualLog.size() >= 1) {
-//                countLogFirstClean = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
-//                        && model.get("NET_SPOT3_NO") != null
-//                        && model.get("NET_SPOT3_NAME") != null
-//                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
-//                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
-//                        && model.get("OPERATION_FUNCTION").equals("毛皮结净")).count();
-//                countLogFirstDoubleEntrust = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
-//                        && model.get("NET_SPOT3_NO") != null
-//                        && model.get("NET_SPOT3_NAME") != null
-//                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
-//                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
-//                        && model.get("OPERATION_FUNCTION").equals("毛皮结净")).count();
-//                countLogFirstMixedLoading = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
-//                        && model.get("NET_SPOT3_NO") != null
-//                        && model.get("NET_SPOT3_NAME") != null
-//                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
-//                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
-//                        && model.get("OPERATION_FUNCTION").equals("毛皮结净")).count();
-//                countLogFirstMixedDischarge = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
-//                        && model.get("NET_SPOT3_NO") != null
-//                        && model.get("NET_SPOT3_NAME") != null
-//                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
-//                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
-//                        && model.get("OPERATION_FUNCTION").equals("毛皮结净")).count();
+                countLogFirstClean = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡一次数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("毛皮结净")).count();
+                countLogFirstDoubleEntrust = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡一次数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("双委托结净")).count();
+                countLogFirstMixedLoading = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡一次数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("混装委托结净")).count();
+                countLogFirstMixedDischarge = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡一次数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("混卸委托结净")).count();
+                countLogActualCancelDoubleEntrust = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("取消双委托结净")).count();
+                countLogActualCancelMixedLoading = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("取消混装委托结净")).count();
+                countLogActualCancelMixedDischarge = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
+                        && model.get("NET_SPOT3_NO") != null
+                        && model.get("NET_SPOT3_NAME") != null
+                        && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
+                        && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
+                        && model.get("OPERATION_FUNCTION").equals("取消混卸委托结净")).count();
                 countLogActualIsPreScale = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
                         && model.get("NET_SPOT3_NO") != null
                         && model.get("NET_SPOT3_NAME") != null
                         && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
                         && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
                         && model.get("OPERATION_FUNCTION").equals("匹配委托")).count();
                 countLogActualIsNotPreScale = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
                         && model.get("NET_SPOT3_NO") != null
                         && model.get("NET_SPOT3_NAME") != null
                         && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
                         && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
                         && model.get("OPERATION_FUNCTION").equals("撤销委托")).count();
                 countLogActualDecompose = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
                         && model.get("NET_SPOT3_NO") != null
                         && model.get("NET_SPOT3_NAME") != null
                         && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
                         && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
                         && model.get("OPERATION_FUNCTION").equals("毛皮分解")).count();
                 countLogActualValid = carActualLog.stream().filter(model -> model.get("OPERATION_FUNCTION") != null
                         && model.get("NET_SPOT3_NO") != null
                         && model.get("NET_SPOT3_NAME") != null
                         && model.get("NET_SPOT3_NO").equals(spot.getBaseSpotNo())
                         && model.get("NET_SPOT3_NAME").equals(spot.getBaseSpotName())
+                        && model.get("OPERATION_PAGE").equals("web端-汽车衡净重数据维护")
                         && model.get("OPERATION_FUNCTION").equals("结净废除")).count();
             }
 
@@ -2901,17 +2948,24 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
             obj.put("countCarHelpScanningCode", countCarHelpScanningCode);
             obj.put("countCarHelpNormal", countCarHelpNormal);
             obj.put("countCarHelpVehicleReset", countCarHelpVehicleReset);
-            //根据时间查询所有秤点的一次匹配委托、撤销委托、车号修改、作废、启用
+            //根据时间查询所有秤点的一次匹配委托、撤销委托、车号修改、作废、启用、毛皮结净、双委托结净、混装结净、混卸结净
             obj.put("countLogFirstIsPreScale", countLogFirstIsPreScale);
             obj.put("countLogFirstIsNotPreScale", countLogFirstIsNotPreScale);
             obj.put("countLogFirstUpdateCar", countLogFirstUpdateCar);
             obj.put("countLogFirstValid", countLogFirstValid);
             obj.put("countLogFirstRecover", countLogFirstRecover);
-            //根据时间查询所有秤点的结净匹配委托、撤销委托、毛皮分解、结净废除
+            obj.put("countLogFirstClean", countLogFirstClean);
+            obj.put("countLogFirstDoubleEntrust", countLogFirstDoubleEntrust);
+            obj.put("countLogFirstMixedLoading", countLogFirstMixedLoading);
+            obj.put("countLogFirstMixedDischarge", countLogFirstMixedDischarge);
+            //根据时间查询所有秤点的结净匹配委托、撤销委托、毛皮分解、结净废除、取消双委托、取消混装、取消混卸
             obj.put("countLogActualIsPreScale", countLogActualIsPreScale);
             obj.put("countLogActualIsNotPreScale", countLogActualIsNotPreScale);
             obj.put("countLogActualDecompose", countLogActualDecompose);
             obj.put("countLogActualValid", countLogActualValid);
+            obj.put("countLogActualCancelDoubleEntrust", countLogActualCancelDoubleEntrust);
+            obj.put("countLogActualCancelMixedLoading", countLogActualCancelMixedLoading);
+            obj.put("countLogActualCancelMixedDischarge", countLogActualCancelMixedDischarge);
             //根据时间查询所有秤点的不验证历史皮重、不验证异地计量、不验证零点告警、不验证时间间隔、不验证对射、不验证毛皮超差
             obj.put("countMonitorLogHisTare", countMonitorLogHisTare);
             obj.put("countMonitorLogGrossTare", countMonitorLogGrossTare);
@@ -2925,4 +2979,5 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
         }
         return map;
     }
+
 }

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

@@ -2931,7 +2931,7 @@
     <if test="valueFlag != null and valueFlag != ''">
       and value_flag = #{valueFlag}
     </if>
-    <if test="valueFlag == null and valueFlag == ''">
+    <if test="valueFlag == null or valueFlag == ''">
       and value_flag != '0'
     </if>
     <if test="weightType != null and weightType != ''">

+ 33 - 0
src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/controller/MeterWorkMeasuringInstrumentController.java

@@ -1,9 +1,11 @@
 package com.steerinfo.meterwork.meterworkmeasuringinstrument.controller;
 
+import com.steerinfo.baseinfo.meterbaseunitdirect.model.MeterBaseUnitDirect;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.framework.utils.collection.ListUtils;
+import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.model.MeterWorkMeasuringInstrument;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.service.IMeterWorkMeasuringInstrumentService;
 import io.swagger.annotations.ApiImplicitParam;
@@ -12,6 +14,8 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Arrays;
@@ -78,6 +82,20 @@ public class MeterWorkMeasuringInstrumentController extends BaseRESTfulControlle
         return success(list);
     }
 
+    @ApiOperation(value="获取列表", notes="分页模糊查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    //@RequiresPermissions("meterworkmeasuringinstrument:view")
+    @GetMapping(value = "/likeDesc/")
+    public RESTfulResult likeDesc(@RequestParam HashMap parmas){
+        Integer pageNum = parmas.get("pageNum") == null ? 1 : Integer.parseInt(parmas.get("pageNum").toString());
+        Integer pageSize =parmas.get("pageSize") == null ? 20 : Integer.parseInt(parmas.get("pageSize").toString());
+        PageList<MeterWorkMeasuringInstrument> list = meterWorkMeasuringInstrumentService.likeDesc(parmas, pageNum, pageSize);
+        return success(list);
+    }
+
     @ApiOperation(value="创建", notes="根据MeterWorkMeasuringInstrument对象创建")
     @ApiImplicitParam(name = "meterWorkMeasuringInstrument", value = "详细实体meterWorkMeasuringInstrument", required = true, dataType = "MeterWorkMeasuringInstrument")
     //@RequiresPermissions("meterworkmeasuringinstrument:create")
@@ -129,4 +147,19 @@ public class MeterWorkMeasuringInstrumentController extends BaseRESTfulControlle
     	}
       return success();
     }
+
+    @ApiOperation(value = "批量导入", notes = "根据MeterWorkMeasuringInstrument对象批量导入")
+    @ApiImplicitParam(paramType = "path",  required = true, dataType = "List<MeterWorkMeasuringInstrument>")
+    @Transactional
+    @PostMapping(value = "/batchAddInfo")//String
+    public RESTfulResult batchAddInfo(@RequestBody List<MeterWorkMeasuringInstrument> models) {
+        try {
+            RESTfulResult rm = meterWorkMeasuringInstrumentService.batchAddInfo(models);
+            return rm;
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            throw new MarkerMetException(500, "操作异常!!");
+        }
+    }
 }

+ 4 - 0
src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/mapper/MeterWorkMeasuringInstrumentMapper.java

@@ -3,10 +3,14 @@ package com.steerinfo.meterwork.meterworkmeasuringinstrument.mapper;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.model.MeterWorkMeasuringInstrument;
 import java.math.*;
+import java.util.HashMap;
+import java.util.List;
+
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 @Mapper
 public interface MeterWorkMeasuringInstrumentMapper extends IBaseMapper<MeterWorkMeasuringInstrument, String> {
     String getNewID(@Param(value="afl")String afl);
+    List<MeterWorkMeasuringInstrument> likeDesc(HashMap params);
 }

+ 62 - 0
src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/mapper/MeterWorkMeasuringInstrumentMapper.xml

@@ -2714,4 +2714,66 @@
     SELECT LPAD(NVL(MAX(TO_NUMBER(SUBSTR(ACTUAL_NO, LENGTH(ACTUAL_NO) - 3))),0) + 1,4,'0') ACTUAL_NO
     FROM METER_WORK_MEASURING_INSTRUMENT where instr(ACTUAL_NO,#{afl,jdbcType=VARCHAR})>0
   </select>
+  <select id="likeDesc" parameterType="java.util.HashMap" resultMap="BaseResultMap">
+    <include refid="select" />
+    where 1= 1
+    <if test="actualNo != null and actualNo != ''">
+      and ACTUAL_NO like '%${actualNo}%'
+    </if>
+    <if test="actualNo != null and actualNo != ''">
+      and ACTUAL_NO LIKE '%${actualNo}%'
+    </if>
+    <if test="predictionNo != null and predictionNo != ''">
+      and PREDICTION_NO LIKE '%${predictionNo}%'
+    </if>
+    <if test="noticeNo != null and noticeNo != ''">
+      and NOTICE_NO LIKE '%${noticeNo}%'
+    </if>
+    <if test="railwayNo != null and railwayNo != ''">
+      and RAILWAY_NO LIKE '%${railwayNo}%'
+    </if>
+    <if test="railwayCarriageNo != null and railwayCarriageNo != ''">
+      and RAILWAY_CARRIAGE_NO LIKE '%${railwayCarriageNo}%'
+    </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="contractNo != null and contractNo != ''">
+      and CONTRACT_NO LIKE '%${contractNo}%'
+    </if>
+    <if test="batchNo != null and batchNo != ''">
+      and BATCH_NO LIKE '%${batchNo}%'
+    </if>
+    <if test="customerSupplierNo != null and customerSupplierNo != ''">
+      and CUSTOMER_SUPPLIER_NO LIKE '%${customerSupplierNo}%'
+    </if>
+    <if test="customerSupplierName != null and customerSupplierName != ''">
+      and CUSTOMER_SUPPLIER_NAME LIKE '%${customerSupplierName}%'
+    </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="materialNo != null and materialNo != ''">
+      and MATERIAL_NO LIKE '%${materialNo}%'
+    </if>
+    <if test="materialName != null and materialName != ''">
+      and MATERIAL_NAME LIKE '%${materialName}%'
+    </if>
+    <if test="startTime != null and endTime != null and startTime != '' 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>
+    order by net_time desc
+  </select>
 </mapper>

+ 9 - 0
src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/service/IMeterWorkMeasuringInstrumentService.java

@@ -1,10 +1,17 @@
 package com.steerinfo.meterwork.meterworkmeasuringinstrument.service;
 
 import com.steerinfo.baseinfo.meterbaseunitdirect.model.MeterBaseUnitDirect;
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.model.MeterWorkMeasuringInstrument;
+import org.apache.commons.collections.map.HashedMap;
+
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * MeterWorkMeasuringInstrument服务接口:
@@ -20,5 +27,7 @@ import java.math.BigDecimal;
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
 public interface IMeterWorkMeasuringInstrumentService extends IBaseService<MeterWorkMeasuringInstrument, String>{
+    PageList<MeterWorkMeasuringInstrument> likeDesc(HashMap<String, Object> params, Integer pageNum, Integer pageSize);
     String checkandadd(MeterWorkMeasuringInstrument model);
+    RESTfulResult batchAddInfo(List<MeterWorkMeasuringInstrument> models);
 }

+ 96 - 1
src/main/java/com/steerinfo/meterwork/meterworkmeasuringinstrument/service/impl/MeterWorkMeasuringInstrumentServiceImpl.java

@@ -1,7 +1,11 @@
 package com.steerinfo.meterwork.meterworkmeasuringinstrument.service.impl;
 
+import com.steerinfo.baseinfo.meterbaseunitdirect.model.MeterBaseUnitDirect;
+import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.model.MeterWorkMeasuringInstrument;
 import com.steerinfo.meterwork.meterworkmeasuringinstrument.mapper.MeterWorkMeasuringInstrumentMapper;
@@ -10,9 +14,12 @@ import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
 
 /**
  * MeterWorkMeasuringInstrument服务实现:
@@ -30,7 +37,7 @@ import java.math.BigDecimal;
 @Service(value = "meterWorkMeasuringInstrumentService")
 public class MeterWorkMeasuringInstrumentServiceImpl extends BaseServiceImpl<MeterWorkMeasuringInstrument, String> implements IMeterWorkMeasuringInstrumentService {
 
-    @Autowired
+    @Resource
     private MeterWorkMeasuringInstrumentMapper meterWorkMeasuringInstrumentMapper;
 
     @Override
@@ -38,6 +45,14 @@ public class MeterWorkMeasuringInstrumentServiceImpl extends BaseServiceImpl<Met
         return meterWorkMeasuringInstrumentMapper;
     }
 
+    @Override
+    public PageList<MeterWorkMeasuringInstrument> likeDesc(HashMap<String, Object> params, Integer pageNum, Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<MeterWorkMeasuringInstrument> rows = meterWorkMeasuringInstrumentMapper.likeDesc(params);
+        PageList pageInfo = new PageList(rows);
+        return pageInfo;
+    }
+
     @Override
     public String checkandadd(MeterWorkMeasuringInstrument model) {
         if (StringUtils.isEmpty(model.getRailwayNo())) {
@@ -68,4 +83,84 @@ public class MeterWorkMeasuringInstrumentServiceImpl extends BaseServiceImpl<Met
         meterWorkMeasuringInstrumentMapper.insertSelective(model);
         return "";
     }
+
+    @Override
+    public RESTfulResult batchAddInfo(List<MeterWorkMeasuringInstrument> models) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getUserCode();
+        String userName = payload.getUserName();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+        int count = 0;
+        for(MeterWorkMeasuringInstrument model : models) {
+            if (StringUtils.isEmpty(model.getRailwayNo())) {
+                rm.setMessage("车号不能为空");
+                return rm;
+            }
+            if (StringUtils.isEmpty(model.getMatterName())){
+                rm.setMessage("物资名称不能为空");
+                return rm;
+            }
+            if(model.getForwardingUnitName() == null){
+                rm.setMessage("发货单位名称不能为空");
+                return rm;
+            }
+            if(model.getReceivingUintName() == null){
+                rm.setMessage("收货单位名称不能为空");
+                return rm;
+            }
+            if(model.getCarrierUnitName() == null){
+                rm.setMessage("录入单位名称不能为空");
+                return rm;
+            }
+            if(model.getNetWeight() == null){
+                rm.setMessage("净重不能为空");
+                return rm;
+            }
+            if(model.getGrossWeight() == null){
+                rm.setMessage("毛重不能为空");
+                return rm;
+            }
+            if(model.getTareWeight() == null){
+                rm.setMessage("皮重不能为空");
+                return rm;
+            }
+            if(model.getGrossTime() == null){
+                rm.setMessage("毛重时间不能为空");
+                return rm;
+            }
+            if(model.getTareTime() == null){
+                rm.setMessage("皮重时间不能为空");
+                return rm;
+            }
+            if(model.getNetTime() == null){
+                rm.setMessage("净重时间不能为空");
+                return rm;
+            }
+        }
+        for (MeterWorkMeasuringInstrument model : models){
+            String afl = sdf.format(new Date());
+            String no = meterWorkMeasuringInstrumentMapper.getNewID(afl);
+            model.setActualNo(afl+ no);
+            model.setGrossWeight(model.getGrossWeight().multiply(new BigDecimal(1000)));
+            model.setTareWeight(model.getTareWeight().multiply(new BigDecimal(1000)));
+            model.setNetWeight(model.getNetWeight().multiply(new BigDecimal(1000)));
+            model.setGrossTime(new Date(sdfDate.format(model.getGrossTime())));
+            model.setTareTime(new Date(sdfDate.format(model.getTareTime())));
+            model.setNetTime(new Date(sdfDate.format(model.getNetTime())));
+            model.setUpdateManNo(userId);
+            model.setUpdateManName(userName);
+            model.setUpdateTime(new Date());
+            model.setCreateManName(userName);
+            model.setCreateTime(new Date());
+            model.setValueFlag("1");
+            meterWorkMeasuringInstrumentMapper.insertSelective(model);
+            count ++;
+        }
+        rm.setSucceed(true);
+        rm.setMessage("操作成功,总共" + count + "条数据批量导入成功");
+        return rm;
+    }
 }

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

@@ -6,6 +6,7 @@ import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.framework.utils.collection.ListUtils;
 import com.steerinfo.meterwork.except.MarkerMetException;
 import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
+import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
 import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActual;
 import com.steerinfo.meterwork.meterworkrailwayactual.service.IMeterWorkRailwayActualService;
@@ -1202,4 +1203,26 @@ public class MeterWorkRailwayActualController extends BaseRESTfulController {
         return rm;
     }
 
+    @ApiOperation(value = "修改数据中的车号", notes = "根据MeterWorkRailwayActual对象创建")
+    @PostMapping(value = "/updateCar")
+    public RESTfulResult updateCar(@RequestBody MeterWorkRailwayActual model) {
+        RESTfulResult rm = failed();
+        try {
+            int num = meterWorkRailwayActualService.updateCar(model);
+            if (num >= 1) {
+                return success(num);
+            } else {
+                return failed("修改失败");
+            }
+        } catch (MarkerMetException e) {
+            e.printStackTrace();
+            rm.setMessage(e.getMessage());
+        } catch (Exception e) {
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!");
+        } finally {
+
+        }
+        return rm;
+    }
 }

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

@@ -124,4 +124,6 @@ public interface IMeterWorkRailwayActualService extends IBaseService<MeterWorkRa
     //根据实绩id获取一次计量信息和委托信息
     RESTfulResult hookFirstAndEntrustById(String actualNo);
     RESTfulResult cleanByHookFirstNo(String actFirstNo01, String actFirstNo02, String PredictionNo);
+
+    int updateCar(MeterWorkRailwayActual model);
 }

+ 126 - 28
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -15,6 +15,8 @@ import com.steerinfo.framework.service.pagehelper.PageList;
 import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.meterwork.constants.DbConstants;
 import com.steerinfo.meterwork.except.MarkerMetException;
+import com.steerinfo.meterwork.meterworkcaractual.model.MeterWorkCarActual;
+import com.steerinfo.meterwork.meterworkcaractualfirst.model.MeterWorkCarActualFirst;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.mapper.MeterWorkRailwayActFirstMapper;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.model.MeterWorkRailwayActFirst;
 import com.steerinfo.meterwork.meterworkrailwayactfirst.service.IMeterWorkRailwayActFirstService;
@@ -824,20 +826,22 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         } else if (!queryrow.getIsPreSacale().equals("0") && queryrow.getPredictionNo() != null) {
             throw new MarkerMetException(500, "只有未匹配的净重数据才能进行委托匹配操作");
         }
-//        try{
-//            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//            if(queryrow.getUpdateTime() != null && StringUtils.isNotEmpty(queryrow.getUpdateTime().toString())) {
-//                long sTime = df.parse(queryrow.getUpdateTime().toString()).getTime();
-//                long eTime = df.parse((new Date()).toString()).getTime();
-//                long diff = (eTime - sTime) / 1000;
-//                if(diff <= 15) {
-//                    throw new MarkerMetException(500, "匹配委托需在解除委托15秒后进行,请稍等");
-//                }
-//            }
-//        }catch(Exception e) {
-//            e.printStackTrace();
-//            throw new MarkerMetException(500, "操作失败");
-//        }
+        try{
+            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            if(queryrow.getUpdateTime() != null && StringUtils.isNotEmpty(queryrow.getUpdateTime().toString())) {
+                String sDate = df.format(queryrow.getUpdateTime());
+                String eDate = df.format(new Date());
+                long sTime = df.parse(sDate).getTime();
+                long eTime = df.parse(eDate).getTime();
+                long diff = (eTime - sTime) / 1000;
+                if(diff <= 15) {
+                    throw new MarkerMetException(500, "匹配委托需在解除委托15秒后进行,请稍等");
+                }
+            }
+        }catch(Exception e) {
+            e.printStackTrace();
+            throw new MarkerMetException(500, "操作失败");
+        }
 
         PreRailwayScale prerow = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
         if (prerow == null) {
@@ -1036,20 +1040,22 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         if (mwcaquery == null) {
             throw new MarkerMetException(500, "不存在对应的结净数据");
         }else {
-//            try{
-//                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-//                if(mwcaquery.getUpdateTime() != null && StringUtils.isNotEmpty(mwcaquery.getUpdateTime().toString())) {
-//                    long sTime = df.parse(mwcaquery.getUpdateTime().toString()).getTime();
-//                    long eTime = df.parse((new Date()).toString()).getTime();
-//                    long diff = (eTime - sTime) / 1000;
-//                    if(diff <= 15) {
-//                        throw new MarkerMetException(500, "解除委托需在匹配委托15秒后进行,请稍等");
-//                    }
-//                }
-//            }catch(Exception e) {
-//                e.printStackTrace();
-//                throw new MarkerMetException(500, "操作失败");
-//            }
+            try{
+                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                if(mwcaquery.getUpdateTime() != null && StringUtils.isNotEmpty(mwcaquery.getUpdateTime().toString())) {
+                    String sDate = df.format(mwcaquery.getUpdateTime());
+                    String eDate = df.format(new Date());
+                    long sTime = df.parse(sDate).getTime();
+                    long eTime = df.parse(eDate).getTime();
+                    long diff = (eTime - sTime) / 1000;
+                    if(diff <= 15) {
+                        throw new MarkerMetException(500, "解除委托需在匹配委托15秒后进行,请稍等");
+                    }
+                }
+            }catch(Exception e) {
+                e.printStackTrace();
+                throw new MarkerMetException(500, "操作失败");
+            }
         }
 
         if(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo())){
@@ -3497,6 +3503,18 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
             MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
             Assert.isTrue(modelTemp != null, "未查询到"+ model.getActualNo() +"对应的结净数据");
             Assert.isTrue(!(modelTemp.getValueFlag().equals("2") && modelTemp.getValueFlag().equals("0")), model.getActualNo() + "对应的结净数据已发布或者已作废,无法匹配委托");
+            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            if(model.getUpdateTime() != null && StringUtils.isNotEmpty(model.getUpdateTime().toString())) {
+                String sDate = df.format(model.getUpdateTime());
+                String eDate = df.format(new Date());
+                long sTime = df.parse(sDate).getTime();
+                long eTime = df.parse(eDate).getTime();
+                long diff = (eTime - sTime) / 1000;
+                if(diff <= 15) {
+                    rm.setMessage("匹配委托需在解除委托15秒后进行,请稍等");
+                    return rm;
+                }
+            }
             if(modelTemp.getPredictionNo() == null || StringUtils.isEmpty(modelTemp.getPredictionNo())) {
                 PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(model.getPredictionNo());
                 Assert.isTrue(scale != null, "未找到" + model.getPredictionNo() + "对应的委托信息");
@@ -3605,6 +3623,18 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                 MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
                 Assert.isTrue(modelTemp != null, "未查询到"+ model.getActualNo() +"对应的结净数据");
                 Assert.isTrue(!(modelTemp.getValueFlag().equals("2") && modelTemp.getValueFlag().equals("0")), model.getActualNo() + "对应的结净数据已发布或者已作废,无法撤销委托");
+                SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                if(model.getUpdateTime() != null && StringUtils.isNotEmpty(model.getUpdateTime().toString())) {
+                    String sDate = df.format(model.getUpdateTime());
+                    String eDate = df.format(new Date());
+                    long sTime = df.parse(sDate).getTime();
+                    long eTime = df.parse(eDate).getTime();
+                    long diff = (eTime - sTime) / 1000;
+                    if(diff <= 15) {
+                        rm.setMessage("解除委托需在匹配委托15秒后进行,请稍等");
+                        return rm;
+                    }
+                }
                 if(modelTemp.getPredictionNo() != null && StringUtils.isNotEmpty(modelTemp.getPredictionNo())) {
                     PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(modelTemp.getPredictionNo());
                     Assert.isTrue(scale != null, "未找到" + modelTemp.getPredictionNo() +"对应的委托信息");
@@ -4144,4 +4174,72 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         }
         return rm;
     }
+
+    @Override
+    public int updateCar(MeterWorkRailwayActual model) {
+        try {
+            if (model.getActualNo() == null || "".equals(model.getActualNo())) {
+                throw new MarkerMetException(500, "操作数据主键不能为空!!!");
+            }
+            if (StringUtils.isNotEmpty(model.getPredictionNo())) {
+                throw new MarkerMetException(500, "只有未匹配委托的数据才能修改车号!!!");
+            }
+            if (model.getNote() == null || "".equals(model.getNote())) {
+                throw new MarkerMetException(500, "车号修改原因不能为空");
+            }
+            if (model.getRailwayNo() == null || model.getRailwayNo().equals("")) {
+                throw new MarkerMetException(500, "车号不能为空");
+            }
+            UserPayload payload = UserPayload.getCurrUser();
+            String userId = payload.getUserCode();
+            String userName = payload.getUserName();
+            model.setUpdateManName(userName);
+            model.setUpdateManNo(userId);
+            // 更新净重数据
+            MeterWorkRailwayActual netData = new MeterWorkRailwayActual();
+            netData.setActualNo(model.getActualNo());
+            netData.setRailwayNo(model.getRailwayNo());
+            netData.setNote(model.getNote());
+            netData.setUpdateTime(new Date());
+            netData.setUpdateManNo(model.getUpdateManNo());
+            netData.setUpdateManName(model.getUpdateManName());
+            netData.setUploadFlag("1");
+            int num = meterWorkRailwayActualMapper.updateByPrimaryKeySelective(netData);
+
+            // 更新一次计量数据
+            MeterWorkRailwayActual queryData = meterWorkRailwayActualMapper.selectByPrimaryKey(netData.getActualNo());
+            MeterWorkRailwayActFirst first1 = new MeterWorkRailwayActFirst();
+            MeterWorkRailwayActFirst first2 = new MeterWorkRailwayActFirst();
+            first1.setActualFirstNo(queryData.getActualFirst1No());
+            first1.setRailwayNo(queryData.getRailwayNo());
+            first1.setUpdateManNo(model.getUpdateManNo());
+            first1.setUpdateManName(model.getUpdateManName());
+            first1.setUpdateTime(new Date());
+            first1.setNote("净重数据修改车号,同步修改一次计量数据车号");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first1);
+
+            first2.setActualFirstNo(queryData.getActualFirst2No());
+            first2.setRailwayNo(queryData.getRailwayNo());
+            first2.setUpdateManNo(model.getUpdateManNo());
+            first2.setUpdateManName(model.getUpdateManName());
+            first2.setUpdateTime(new Date());
+            first2.setNote("净重数据修改车号,同步修改一次计量数据车号");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first2);
+
+            MeterBaseOperationLog logModel = new MeterBaseOperationLog();
+            logModel.setId(PublicMethod.IdCreate(2));
+            logModel.setCreateManNo(model.getUpdateManNo());
+            logModel.setCreateManName(model.getUpdateManName());
+            logModel.setCreateTime(new Date());
+            logModel.setOperationPage("Web端-轨道衡净重数据维护");
+            logModel.setOperationFunction("车号修改");
+            logModel.setOperationId(model.getActualNo());
+            logModel.setOperationPredictionNo(model.getPredictionNo());
+            logModel.setOperationCarnNo(model.getRailwayNo());
+            meterBaseOperationLogMapper.insertSelective(logModel);
+            return num;
+        } catch (MarkerMetException e) {
+            throw e;
+        }
+    }
 }