dengyj 3 سال پیش
والد
کامیت
8c0403c463

+ 18 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/mapper/MeterWorkCarActualMapper.xml

@@ -3524,12 +3524,15 @@
 
   <!-- 查询:根据传入时间和车号,查询给定时间段去重车号 -->
   <select id="distinctCarNo" parameterType="java.lang.String" resultMap="BaseResultMap">
-    SELECT distinct car_No
+    SELECT distinct car_No, net_time
     from METER_WORK_CAR_ACTUAL
     where VALUE_FLAG != '0'
     <if test="startTime != null and startTime != '' and endTime != null 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>
+    <if test="predictionNo != null and predictionNo != ''">
+      and PREDICTION_NO LIKE '%${predictionNo}%'
+    </if>
     <if test="dataSource != null and dataSource != null">
       and  data_source = '${dataSource}'
     </if>
@@ -3539,11 +3542,25 @@
     <if test="carNo != null and carNo != null">
       and  CAR_NO like '%${carNo}%'
     </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="netSpot3No != null and netSpot3No != ''">
+      and NET_SPOT3_NO LIKE '%${netSpot3No}%'
+    </if>
+    <if test="netSpot3Name != null and netSpot3Name != ''">
+      and NET_SPOT3_NAME LIKE '%${netSpot3Name}%'
+    </if>
     <if test="isPreScale != null and isPreScale != null">
       and  is_pre_scale like '%${isPreScale}%'
     </if>
+    order by net_time desc
   </select>
 
+
   <select id="selectActual" parameterType="java.lang.String" resultMap="BaseResultMap">
       SELECT *
       from METER_WORK_CAR_ACTUAL

+ 67 - 37
src/main/java/com/steerinfo/meterwork/meterworkparammap/service/impl/MeterWorkParamMapService.java

@@ -12,6 +12,7 @@ import com.steerinfo.meterwork.meterworkparammap.mapper.MeterWorkParamMapMapper;
 import com.steerinfo.meterwork.meterworkparammap.service.IMeterWorkParamMapService;
 import com.steerinfo.pretrack.pretrackscale.mapper.PreTrackScaleMapper;
 import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
+import com.steerinfo.util.StringUtils;
 import io.micrometer.core.instrument.Meter;
 import org.springframework.stereotype.Service;
 
@@ -46,49 +47,78 @@ public class MeterWorkParamMapService implements IMeterWorkParamMapService {
             String carNo = params.get("carNo") == null ? "": params.get("carNo").toString();
             String predictionNo = params.get("predicitonNo") == null ? "": params.get("predicitonNo").toString();
             HashMap<String, Object> paramMap = new HashMap<>();
-            //根据称点查询监控信息
-            HashMap<String, Object> spotInfoMap = new HashMap<>();
-            spotInfoMap.put("pointNo", baseSpotNo);
-            List<MeterWorkMonitor> spotInfoList = meterWorkMonitorMapper.selectByParameters(spotInfoMap);
-            if(spotInfoList.size() >= 1){
-                paramMap.put("spotInfoList", spotInfoList);
+
+            if(StringUtils.isNotEmpty(baseSpotNo)) {
+                //根据称点查询监控信息
+                HashMap<String, Object> spotInfoMap = new HashMap<>();
+                spotInfoMap.put("pointNo", baseSpotNo);
+                List<MeterWorkMonitor> spotInfoList = meterWorkMonitorMapper.selectByParameters(spotInfoMap);
+                if(spotInfoList.size() >= 1){
+                    RESTfulResult rmSpot = new RESTfulResult();
+                    rmSpot.setData(spotInfoList);
+                    paramMap.put("spotInfoList", rmSpot);
+                }else {
+                    paramMap.put("spotInfoList", null);
+                }
             }else {
                 paramMap.put("spotInfoList", null);
             }
-            // VALUE_FLAG 状态(0=作废,1=有效(已匹配),2=结净,3=未匹配)
-            // 根据车号查询最近的一次计量数据
-            List<MeterWorkCarActualFirst> firstInfoList = meterWorkCarActualFirstMapper.selectByCarNo(carNo);
-            if(spotInfoList.size() >= 1){
-                paramMap.put("firstInfoList", firstInfoList);
-            }else {
-                paramMap.put("firstInfoList", null);
-            }
-            // 根据车号查询委托表中未使用和使用中的委托
-            // 状态(0:未配车;1:未使用;2:已使用;3:已作废;4:正使用)
-            HashMap<String, Object> scaleInfoMap = new HashMap<>();
-            scaleInfoMap.put("carNo", carNo);
-            List<PreTrackScale> scaleInfoList = preTrackScaleMapper.selectBy(scaleInfoMap);
-            if(spotInfoList.size() >= 1){
-                paramMap.put("scaleInfoList", scaleInfoList);
-            }else {
-                paramMap.put("scaleInfoList", null);
-            }
-            //计量实绩
-            HashMap<String, Object> actualInfoMap = new HashMap<>();
-            actualInfoMap.put("carNo", carNo);
-            List<MeterWorkCarActual> actualInfoList = meterWorkCarActualMapper.selectByMap(actualInfoMap);
-            if(spotInfoList.size() >= 1){
-                paramMap.put("actualInfoList", actualInfoList);
+
+            if(StringUtils.isNotEmpty(carNo)) {
+                //计量实绩
+                HashMap<String, Object> actualInfoMap = new HashMap<>();
+                actualInfoMap.put("carNo", carNo);
+                List<MeterWorkCarActual> actualInfoList = meterWorkCarActualMapper.selectByMap(actualInfoMap);
+                if(actualInfoList.size() >= 1){
+                    RESTfulResult rmActual = new RESTfulResult();
+                    rmActual.setData(actualInfoList);
+                    paramMap.put("actualInfoList", rmActual);
+                }else {
+                    paramMap.put("actualInfoList", null);
+                }
+
+                // 根据车号查询委托表中未使用和使用中的委托
+                // 状态(0:未配车;1:未使用;2:已使用;3:已作废;4:正使用)
+                HashMap<String, Object> scaleInfoMap = new HashMap<>();
+                scaleInfoMap.put("carNo", carNo);
+                List<PreTrackScale> scaleInfoList = preTrackScaleMapper.selectBy(scaleInfoMap);
+                if(scaleInfoList.size() >= 1){
+                    RESTfulResult rmScale = new RESTfulResult();
+                    rmScale.setData(scaleInfoList);
+                    paramMap.put("scaleInfoList", rmScale);
+                }else {
+                    paramMap.put("scaleInfoList", null);
+                }
+
+                // VALUE_FLAG 状态(0=作废,1=有效(已匹配),2=结净,3=未匹配)
+                // 根据车号查询最近的一次计量数据
+                List<MeterWorkCarActualFirst> firstInfoList = meterWorkCarActualFirstMapper.selectByCarNo(carNo);
+                if(firstInfoList.size() >= 1){
+                    RESTfulResult rmFirst = new RESTfulResult();
+                    rmFirst.setData(firstInfoList);
+                    paramMap.put("firstInfoList", rmFirst);
+                }else {
+                    paramMap.put("firstInfoList", null);
+                }
             }else {
                 paramMap.put("actualInfoList", null);
+                paramMap.put("scaleInfoList", null);
+                paramMap.put("firstInfoList", null);
             }
-            // 签发时间比较
-            // 通过上次结净记录,找到该委托的签发时间
-            HashMap<String, Object> scaleNewInfoMap = new HashMap<>();
-            scaleNewInfoMap.put("predictionNo", predictionNo);
-            List<PreTrackScale> scaleNewInfoList = preTrackScaleMapper.selectByParameters(scaleNewInfoMap);
-            if(spotInfoList.size() >= 1){
-                paramMap.put("scaleNewInfoList", scaleNewInfoList);
+
+            if(StringUtils.isNotEmpty(predictionNo)) {
+                // 签发时间比较
+                // 通过上次结净记录,找到该委托的签发时间
+                HashMap<String, Object> scaleNewInfoMap = new HashMap<>();
+                scaleNewInfoMap.put("predictionNo", predictionNo);
+                List<PreTrackScale> scaleNewInfoList = preTrackScaleMapper.selectBy(scaleNewInfoMap);
+                if(scaleNewInfoList.size() >= 1){
+                    RESTfulResult rmScaleNew = new RESTfulResult();
+                    rmScaleNew.setData(scaleNewInfoList);
+                    paramMap.put("scaleNewInfoList", rmScaleNew);
+                }else {
+                    paramMap.put("scaleNewInfoList", null);
+                }
             }else {
                 paramMap.put("scaleNewInfoList", null);
             }

+ 20 - 6
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -4215,10 +4215,6 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                 rm.setMessage("选择的两条一次计量数据不能小于400kg,请确认!!");
                 return rm;
             }*/
-            if (!grossModel.getRailwayNo().equals(tareModel.getRailwayNo())) {
-                rm.setMessage("两条一次计量数据车号不一致,请确认!!");
-                return rm;
-            }
 
             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
 //            String afl = sdf.format(new Date());
@@ -4240,6 +4236,21 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                 flag = "1";
             }
 
+            if(scale == null) {
+                if (!grossModel.getRailwayNo().equals(tareModel.getRailwayNo())) {
+                    rm.setMessage("两条一次计量数据车号不一致,请确认!!");
+                    return rm;
+                }
+            }else {
+                if(flag.equals("0") && !scale.getRailwayNo().endsWith(grossModel.getRailwayNo())) {
+                    rm.setMessage("两条一次计量数据车号不一致,请确认!!");
+                    return rm;
+                }else if(flag.equals("1") && !scale.getRailwayNo().endsWith(tareModel.getRailwayNo())) {
+                    rm.setMessage("两条一次计量数据车号不一致,请确认!!");
+                    return rm;
+                }
+            }
+
             String scaleNo = "";
             //从勾选的委托、两个一次数据中赋值委托号
             if(scale != null && scale.getPredictionNo() != null && StringUtils.isNotEmpty(scale.getPredictionNo())){
@@ -4274,10 +4285,8 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                 //将委托中的编号和收发货的等数据拷贝进一次数据中
                 MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(model01.getActualFirstNo(), scale.getPredictionNo());
-                first1.setRailwayNo(scale.getRailwayNo());
                 BeanUtils.copyProperties(first1, model01);
                 MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(model02.getActualFirstNo(), scale.getPredictionNo());
-                first2.setRailwayNo(scale.getRailwayNo());
                 BeanUtils.copyProperties(first2, model02);
 
                 //修改毛重一次数据状态
@@ -6588,6 +6597,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                             .replaceAll("静轨", "")
                             .replaceAll("静态", "") + "-" + afl + lcNo + "(" + models.size() + ")");
                     meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(model);
+                    MeterWorkRailwayActual actualModel = meterWorkRailwayActualMapper.selectActual(model.getActualFirstNo());
+                    if(actualModel != null) {
+                        actualModel.setLcNo(model.getLcNo());
+                        meterWorkRailwayActualMapper.updateByPrimaryKeySelective(actualModel);
+                    }
                     count++;
                 }
                 rm.setSucceed();