dengyj 3 år sedan
förälder
incheckning
2d2accb360
12 ändrade filer med 528 tillägg och 140 borttagningar
  1. 10 1
      src/main/java/com/steerinfo/meterwork/meterworkcheckfirstactual/mapper/MeterWorkCheckFirstActualMapper.xml
  2. 9 0
      src/main/java/com/steerinfo/meterwork/meterworkcheckfirstactual/model/MeterWorkCheckFirstActualTemp.java
  3. 27 7
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.xml
  4. 66 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java
  5. 4 4
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirstbak/service/impl/MeterWorkRailwayActFirstBakServiceImpl.java
  6. 18 4
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml
  7. 245 61
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java
  8. 2 4
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactualbak/mapper/MeterWorkRailwayActualBakMapper.xml
  9. 15 13
      src/main/java/com/steerinfo/meterwork/meterworkrailwayactualbak/service/impl/MeterWorkRailwayActualBakServiceImpl.java
  10. 1 0
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/mapper/MeterWorkRailwayReceivedMapper.java
  11. 26 4
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/mapper/MeterWorkRailwayReceivedMapper.xml
  12. 105 42
      src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java

+ 10 - 1
src/main/java/com/steerinfo/meterwork/meterworkcheckfirstactual/mapper/MeterWorkCheckFirstActualMapper.xml

@@ -876,9 +876,10 @@
   </select>
 
   <select id="likeByDesc" parameterType="java.util.HashMap" resultType="com.steerinfo.meterwork.meterworkcheckfirstactual.model.MeterWorkCheckFirstActualTemp">
-    select baseSpotNo, baseSpotName,checkId,checkStartTime,checkEndTime,checkUsedSeconds,checkManNo,checkManName,checkResult,typeNo,typeName, valueFlag
+    select baseSpotNo, baseSpotName,carNo,checkId,checkStartTime,checkEndTime,checkUsedSeconds,checkManNo,checkManName,checkResult,typeNo,typeName, valueFlag
         from ((SELECT B.base_spot_no baseSpotNo,
                     B.base_spot_name baseSpotName,
+                    B.car_no carNo,
                     A.check_id checkId,
                     A.check_start_time checkStartTime,
                     A.check_end_time checkEndTime,
@@ -896,6 +897,7 @@
                     and A.value_flag = '0') union
               (SELECT B.net_spot3_no   baseSpotNo,
                     B.net_spot3_name baseSpotName,
+                    B.car_no carNo,
                     A.check_id checkId,
                     A.check_start_time checkStartTime,
                     A.check_end_time checkEndTime,
@@ -912,12 +914,19 @@
               WHERE A.TYPE_NO LIKE '%001002001%'
                 and A.value_flag = '1'))
     where 1 = 1
+      <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
+        and  checkStartTime  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss')
+        and checkStartTime  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
+      </if>
       <if test="checkId != null and checkId != ''">
         and checkId LIKE '%${checkId}%'
       </if>
       <if test="typeNo != null and typeNo != ''">
         and typeNo LIKE '%${typeNo}%'
       </if>
+      <if test="carNo != null and carNo != ''">
+        and carNo LIKE '%${carNo}%'
+      </if>
       <if test="valueFlag != null and valueFlag != ''">
         and valueFlag = #{valueFlag}
       </if>

+ 9 - 0
src/main/java/com/steerinfo/meterwork/meterworkcheckfirstactual/model/MeterWorkCheckFirstActualTemp.java

@@ -11,6 +11,7 @@ import java.util.Date;
 public class MeterWorkCheckFirstActualTemp implements IBasePO<String> {
     private String baseSpotNo;
     private String baseSpotName;
+    private String carNo;
     /**
      * 核查主键(ID,VARCHAR,50)
      */
@@ -95,6 +96,14 @@ public class MeterWorkCheckFirstActualTemp implements IBasePO<String> {
         this.baseSpotName = baseSpotName;
     }
 
+    public String getCarNo() {
+        return carNo;
+    }
+
+    public void setCarNo(String carNo) {
+        this.carNo = carNo;
+    }
+
     public String getId() {
         return id;
     }

+ 27 - 7
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/mapper/MeterWorkRailwayActFirstMapper.xml

@@ -3453,8 +3453,15 @@
       <if test="cancelType != null and cancelType != ''">
         and CANCEL_TYPE LIKE '%${cancelType}%'
       </if>
-      <if test="railwayNo != null and railwayNo != ''">
-        and RAILWAY_NO LIKE '%${railwayNo}%'
+      <if test="railwayTypeNo != null and railwayTypeNo = '001019001'">
+        <if test="railwayNo != null and railwayNo != ''">
+          and RAILWAY_NO LIKE '${railwayNo}%'
+        </if>
+      </if>
+      <if test="railwayTypeNo != null and railwayTypeNo != '001019001'">
+        <if test="railwayNo != null and railwayNo != ''">
+          and RAILWAY_NO LIKE '%${railwayNo}%'
+        </if>
       </if>
       <if test="railwayNoList != null and railwayNoList != ''">
         and ( railway_no in
@@ -3497,7 +3504,6 @@
         and value_flag in ('1','2')
         and (lc_no is null or lc_no = '无列次')
       </if>
-
     </where>
     order by create_time desc
   </select>
@@ -3593,8 +3599,15 @@
     <if test="lcNoNull == null or lcNoNull == ''">
        and lc_no is not null)
     </if>
-    <if test="railwayNo != null and railwayNo != ''">
-      and  RAILWAY_NO like '%${railwayNo}%'
+    <if test="railwayTypeNo != null and railwayTypeNo = '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '${railwayNo}%'
+      </if>
+    </if>
+    <if test="railwayTypeNo != null and railwayTypeNo != '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '%${railwayNo}%'
+      </if>
     </if>
     <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
       and  CREATE_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and CREATE_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
@@ -3636,8 +3649,15 @@
     <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
       and  CREATE_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and CREATE_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
     </if>
-    <if test="railwayNo != null and railwayNo != ''">
-      and  railway_no like  '%${railwayNo}%'
+    <if test="railwayTypeNo != null and railwayTypeNo = '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '${railwayNo}%'
+      </if>
+    </if>
+    <if test="railwayTypeNo != null and railwayTypeNo != '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '%${railwayNo}%'
+      </if>
     </if>
     <if test="baseSpotNo != null and baseSpotNo != ''">
       and  base_spot_No like '%${baseSpotNo}%'

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

@@ -7654,6 +7654,12 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     PreRailwayScale railwayScale = preRailwayScaleMapper.selectByPrimaryKey(receivedModel.getPredictionNo());
 
                     if(railwayScale != null) {
+                        meterWorkRailwayReceivedMapper.selectAndMatch(receivedModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
@@ -7739,6 +7745,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                         count++;
                     }else {
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
@@ -7894,6 +7905,12 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
                     PreRailwayScale railwayScale = preRailwayScaleMapper.selectByPrimaryKey(receivedModel.getPredictionNo());
                     if(railwayScale != null) {
+                        meterWorkRailwayReceivedMapper.selectAndMatch(receivedModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
@@ -7996,6 +8013,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                         count++;
                     }else {
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
@@ -8157,6 +8179,12 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
 
                     if(railwayScale != null) {
+                        meterWorkRailwayReceivedMapper.selectAndMatch(receivedModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
                         //更新主表状态METER_WORK_RAILWAY_REC_MAIN
@@ -8277,6 +8305,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                         count++;
                     }else {
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
                         //从表赋值grossModel、AI也赋值tareModel并修改重量
@@ -8451,8 +8484,20 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     PreRailwayScale railwayScale = preRailwayScaleMapper.selectByPrimaryKey(grossReceived.getPredictionNo());
 
                     if(railwayScale != null) {
+                        meterWorkRailwayReceivedMapper.selectAndMatch(grossReceived.getActualFirstNo(), railwayScale.getPredictionNo());
+                        grossReceived.setWeightType("0");
+                        grossReceived.setUpdateManNo(userId);
+                        grossReceived.setUpdateManName(userName);
+                        grossReceived.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(grossReceived);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(grossReceived.getActualFirstNo());
+                        meterWorkRailwayReceivedMapper.selectAndMatch(tareReceived.getActualFirstNo(), railwayScale.getPredictionNo());
+                        tareReceived.setWeightType("1");
+                        tareReceived.setUpdateManNo(userId);
+                        tareReceived.setUpdateManName(userName);
+                        tareReceived.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(tareReceived);
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(tareReceived.getActualFirstNo());
                         //从表赋值grossModel、
                         BeanUtils.copyProperties(grossReceived, grossModel);
@@ -8575,8 +8620,18 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                         count++;
                     }else {
+                        grossReceived.setWeightType("0");
+                        grossReceived.setUpdateManNo(userId);
+                        grossReceived.setUpdateManName(userName);
+                        grossReceived.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(grossReceived);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(grossReceived.getActualFirstNo());
+                        tareReceived.setWeightType("1");
+                        tareReceived.setUpdateManNo(userId);
+                        tareReceived.setUpdateManName(userName);
+                        tareReceived.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(tareReceived);
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(tareReceived.getActualFirstNo());
                         //从表赋值grossModel、
                         BeanUtils.copyProperties(grossReceived, grossModel);
@@ -8767,6 +8822,12 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
                     PreRailwayScale railwayScale = preRailwayScaleMapper.selectByPrimaryKey(receivedModel.getPredictionNo());
 
                     if(railwayScale != null) {
+                        meterWorkRailwayReceivedMapper.selectAndMatch(receivedModel.getActualFirstNo(), railwayScale.getPredictionNo());
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 
@@ -8869,6 +8930,11 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
 
                         count++;
                     }else {
+                        receivedModel.setWeightType("0");
+                        receivedModel.setUpdateManNo(userId);
+                        receivedModel.setUpdateManName(userName);
+                        receivedModel.setUpdateTime(new Date());
+                        meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(receivedModel);
                         //已使用 METER_WORK_RAILWAY_RECEIVED表状态设置为已使用
                         meterWorkRailwayReceivedMapper.updateMeterWorkRailwayReceived(receivedModel.getActualFirstNo());
 

+ 4 - 4
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirstbak/service/impl/MeterWorkRailwayActFirstBakServiceImpl.java

@@ -7524,9 +7524,9 @@ public class MeterWorkRailwayActFirstBakServiceImpl extends BaseServiceImpl<Mete
                     //事务回滚
                     throw new Exception("一次数据为空");
                 }
-                if (!railwayNo.equals(firstModel.getRailwayNo())){
-                    throw new Exception(id+"的车号不一致");
-                }
+//                if (!railwayNo.equals(firstModel.getRailwayNo())){
+//                    throw new Exception(id+"的车号不一致");
+//                }
                 //判断是否符合要求
                 String note = isSuit(firstModel);
                 if (note.equals("1")){
@@ -7560,7 +7560,7 @@ public class MeterWorkRailwayActFirstBakServiceImpl extends BaseServiceImpl<Mete
 
         //不能是已结净的数据
         if ( !"1".equals(model.getValueFlag()) ){
-            return "不能是结净数据";
+            return "不能是结净数据或者作废数据";
         }
 
         //站点、站点名、创建人、创建人编号、创建时间、数据来源、重量类型、重量不能为空

+ 18 - 4
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/mapper/MeterWorkRailwayActualMapper.xml

@@ -3935,8 +3935,15 @@
     <if test="isPreSacale != null and isPreSacale">
       and is_pre_sacale = #{isPreSacale}
     </if>
-    <if test="railwayNo != null and railwayNo != ''">
-      and railway_no like '%${railwayNo}%'
+    <if test="railwayTypeNo != null and railwayTypeNo = '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '${railwayNo}%'
+      </if>
+    </if>
+    <if test="railwayTypeNo != null and railwayTypeNo != '001019001'">
+      <if test="railwayNo != null and railwayNo != ''">
+        and  RAILWAY_NO like '%${railwayNo}%'
+      </if>
     </if>
     and value_flag != '0'
     order by net_time desc
@@ -4015,8 +4022,15 @@
       <if test="noticeNo != null and noticeNo != ''">
         and NOTICE_NO LIKE '%${noticeNo}%'
       </if>
-      <if test="railwayNo != null and railwayNo != ''">
-        and RAILWAY_NO LIKE '%${railwayNo}%'
+      <if test="railwayTypeNo != null and railwayTypeNo = '001019001'">
+        <if test="railwayNo != null and railwayNo != ''">
+          and  RAILWAY_NO like '${railwayNo}%'
+        </if>
+      </if>
+      <if test="railwayTypeNo != null and railwayTypeNo != '001019001'">
+        <if test="railwayNo != null and railwayNo != ''">
+          and  RAILWAY_NO like '%${railwayNo}%'
+        </if>
       </if>
       <if test="railwayCarriageNo != null and railwayCarriageNo != ''">
         and RAILWAY_CARRIAGE_NO LIKE '%${railwayCarriageNo}%'

+ 245 - 61
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -3613,6 +3613,8 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
+            String userId = models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
             Assert.isTrue(models.size() >= 1, "数据不能为空");
             for(MeterWorkRailwayActual model: models) {
                 Assert.isTrue(model.getPredictionNo() != null && StringUtils.isNotEmpty(model.getPredictionNo()), "委托号不能为空");
@@ -3622,8 +3624,14 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     Assert.isTrue(!scale.getValueFlag().equals("9"), "委托信息已结算,不允许补录结净数据");
                 }
             }
+
+            List<MeterWorkRailwayActual> actualModels = new ArrayList<>();
+            List<MeterWorkRailwayReceived> receiveds = new ArrayList<>();
             int count = 0;
             for(MeterWorkRailwayActual model: models) {
+                MeterWorkRailwayReceived grossRec = new MeterWorkRailwayReceived();
+                MeterWorkRailwayReceived tareRec = new MeterWorkRailwayReceived();
+
                 MeterWorkRailwayActFirst grossModel = new MeterWorkRailwayActFirst();
                 MeterWorkRailwayActFirst tareModel = new MeterWorkRailwayActFirst();
                 MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
@@ -3640,6 +3648,9 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     grossModel.setCreateManNo(model.getGrossManNo());
                     grossModel.setCreateManName(model.getGrossManName());
                     grossModel.setCreateTime(model.getGrossTime());
+                    grossModel.setUpdateManNo(userId);
+                    grossModel.setUpdateManName(userName);
+                    grossModel.setUpdateTime(new Date());
                     grossModel.setBaseSpotNo(model.getBaseSpot1No());
                     grossModel.setBaseSpotName(model.getBaseSpot1Name());
                     grossModel.setValueFlag("2");
@@ -3649,6 +3660,25 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     grossModel.setIsPreSacale("0");
                     meterWorkRailwayActFirstMapper.insertSelective(grossModel);
 
+                    grossRec.setActualFirstNo(actualFirstNo);
+                    grossRec.setRailwayNo(model.getRailwayNo());
+                    grossRec.setMeterWeight(model.getGrossWeight());
+                    grossRec.setRailwayTypeNo(model.getRailwayTypeNo());
+                    grossRec.setRailwayTypeName(model.getRailwayTypeName());
+                    grossRec.setWeightType("0");
+                    grossRec.setCreateManNo(model.getGrossManNo());
+                    grossRec.setCreateManName(model.getGrossManName());
+                    grossRec.setCreateTime(model.getGrossTime());
+                    grossRec.setUpdateManNo(userId);
+                    grossRec.setUpdateManName(userName);
+                    grossRec.setUpdateTime(new Date());
+                    grossRec.setBaseSpotNo(model.getBaseSpot1No());
+                    grossRec.setBaseSpotName(model.getBaseSpot1Name());
+                    grossRec.setValueFlag("2");
+                    grossRec.setCheckFlag("0");
+                    grossRec.setMeterMode("3");
+                    meterWorkRailwayReceivedMapper.insertSelective(grossRec);
+
                     String actualSecondNo = PublicMethod.IdCreate(3);
                     tareModel.setActualFirstNo(actualSecondNo);
                     tareModel.setRailwayNo(model.getRailwayNo());
@@ -3659,6 +3689,9 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     tareModel.setCreateManNo(model.getGrossManNo());
                     tareModel.setCreateManName(model.getGrossManName());
                     tareModel.setCreateTime(model.getTareTime());
+                    tareModel.setUpdateManNo(userId);
+                    tareModel.setUpdateManName(userName);
+                    tareModel.setUpdateTime(new Date());
                     tareModel.setBaseSpotNo(model.getBaseSpot2No());
                     tareModel.setBaseSpotName(model.getBaseSpot2Name());
                     tareModel.setValueFlag("2");
@@ -3667,6 +3700,26 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     tareModel.setMeterMode("3");
                     tareModel.setIsPreSacale("0");
                     meterWorkRailwayActFirstMapper.insertSelective(tareModel);
+
+                    tareRec.setActualFirstNo(actualSecondNo);
+                    tareRec.setRailwayNo(model.getRailwayNo());
+                    tareRec.setMeterWeight(model.getTareWeight());
+                    tareRec.setWeightType("1");
+                    tareRec.setRailwayTypeNo(model.getRailwayTypeNo());
+                    tareRec.setRailwayTypeName(model.getRailwayTypeName());
+                    tareRec.setCreateManNo(model.getGrossManNo());
+                    tareRec.setCreateManName(model.getGrossManName());
+                    tareRec.setCreateTime(model.getTareTime());
+                    tareRec.setUpdateManNo(userId);
+                    tareRec.setUpdateManName(userName);
+                    tareRec.setUpdateTime(new Date());
+                    tareRec.setBaseSpotNo(model.getBaseSpot2No());
+                    tareRec.setBaseSpotName(model.getBaseSpot2Name());
+                    tareRec.setValueFlag("2");
+                    tareRec.setCheckFlag("0");
+                    tareRec.setMeterMode("3");
+                    meterWorkRailwayReceivedMapper.insertSelective(tareRec);
+
                     //净重
 
                     //将委托中的编号和收发货的等数据拷贝进一次数据中
@@ -3682,6 +3735,20 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     tareModel.setPredictionType("1");
                     meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
 
+                    //将委托中的编号和收发货的等数据拷贝进一次数据中
+                    MeterWorkRailwayReceived firstRec1 = meterWorkRailwayReceivedMapper.selectAndMatch(actualFirstNo, predictionNo);
+                    BeanUtils.copyProperties(firstRec1,grossRec);
+                    grossRec.setPredictionType("1");
+                    meterWorkRailwayReceivedMapper.updateByPrimaryKey(grossRec);
+
+                    MeterWorkRailwayReceived firstRec2 = meterWorkRailwayReceivedMapper.selectAndMatch(actualSecondNo, predictionNo);
+                    BeanUtils.copyProperties(firstRec2, tareRec);
+                    tareRec.setPredictionType("1");
+                    meterWorkRailwayReceivedMapper.updateByPrimaryKey(tareRec);
+
+                    receiveds.add(grossRec);
+                    receiveds.add(tareRec);
+
                     //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
                     MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(actualFirstNo, actualSecondNo, predictionNo);
                     BeanUtils.copyProperties(mwca1, actualRow);
@@ -3703,8 +3770,8 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     actualRow.setNetTime(model.getNetTime());
                     actualRow.setDataSource("4");
                     actualRow.setPredictionType("1");
-                    actualRow.setUpdateManNo("system");
-                    actualRow.setUpdateManName("手动录入");
+                    actualRow.setUpdateManNo(userId);
+                    actualRow.setUpdateManName(userName);
                     actualRow.setUpdateTime(new Date());
                     actualRow.setPredictionNo(predictionNo);
                     actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
@@ -3727,8 +3794,9 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                         actualRow.setCreateManName(actualRow.getTareManName());
                         //actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst2No()));
                     }
-                    actualRow.setLcNo(model.getLcNo());
+//                    actualRow.setLcNo(model.getLcNo());
                     meterWorkRailwayActualMapper.insertSelective(actualRow);
+                    actualModels.add(actualRow);
 
                     //更新预报数据
                     PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
@@ -3741,6 +3809,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     scale.setValueFlag("2");
                     scale.setMeasureStation(tareModel.getBaseSpotNo());
                     scale.setMeasureStationName(tareModel.getBaseSpotName());
+                    preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
                     count ++;
                 }
 
@@ -3758,6 +3827,85 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                 logModel.setOperationAfterFix(actualRow.toString());
                 meterBaseOperationLogMapper.insertSelective(logModel);
             }
+
+            if(receiveds.size() >= 1) {
+                List<String> spotList = receiveds
+                        .stream()
+                        .map(MeterWorkRailwayReceived::getBaseSpotNo)
+                        .distinct()
+                        .collect(Collectors.toList());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+                List<HashMap> maps = new ArrayList<>();
+                for(String spot: spotList) {
+                    Long spotCount = receiveds.stream().filter(item -> StringUtils.isNotEmpty(item.getBaseSpotNo()) && item.getBaseSpotNo().equals(spot)).count();
+                    String afl = sdf.format(new Date());
+                    String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl,spot);
+                    List<MeterWorkRailwayReceived> spotModel = receiveds.stream().filter(item ->  StringUtils.isNotEmpty(item.getBaseSpotNo()) && item.getBaseSpotNo().equals(spot)).collect(Collectors.toList());
+                    HashMap<String, Object> obj = new HashMap<>();
+                    obj.put("spotNo", spot);
+                    obj.put("spotName", spotModel.get(0).getBaseSpotName());
+                    obj.put("size", spotCount);
+                    obj.put("lcNo", "-" + afl + lcNo + "(" + spotCount + ")");
+                    maps.add(obj);
+                }
+
+                for(MeterWorkRailwayReceived received: receiveds) {
+                    for(HashMap temp: maps) {
+                        if(temp.get("spotNo").equals(received.getBaseSpotNo())) {
+                            received.setRailwayWorkNo(received.getBaseSpotName().replaceAll("#", "")
+                                    .replaceAll("轨道衡", "")
+                                    .replaceAll("动轨", "")
+                                    .replaceAll("动态", "") + temp.get("lcNo").toString());
+                            MeterWorkRailwayActFirst first = meterWorkRailwayActFirstMapper.selectByPrimaryKey(received.getActualFirstNo());
+                            first.setLcNo(received.getBaseSpotName().replaceAll("#", "")
+                                    .replaceAll("轨道衡", "")
+                                    .replaceAll("动轨", "")
+                                    .replaceAll("动态", "") + temp.get("lcNo").toString());
+                            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(first);
+                        }
+                    }
+                    meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(received);
+                }
+
+                for(MeterWorkRailwayActual actualRow: actualModels) {
+                    if(actualRow.getGrossTime().compareTo(actualRow.getTareTime()) >= 0) {
+                        actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst1No()));
+                    }else {
+                        actualRow.setLcNo(meterWorkRailwayActFirstMapper.getFirstLcNo(actualRow.getActualFirst2No()));
+                    }
+                    meterWorkRailwayActualMapper.updateByPrimaryKeySelective(actualRow);
+                }
+
+
+                if (maps.size() >= 1) {
+                    for(HashMap temp: maps) {
+                        //插入主表数据
+                        MeterWorkRailwayRecMain recMain = new MeterWorkRailwayRecMain();
+//                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+//                    String afl = sdf.format(new Date());
+//                    String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl, receiveds.get(0).getBaseSpotNo());
+//                    recMain.setActualNo(receiveds.get(0).getBaseSpotName().replaceAll("#", "")
+//                            .replaceAll("轨道衡", "")
+//                            .replaceAll("动轨", "")
+//                            .replaceAll("动态", "") + "-" + afl + lcNo + "(" + receiveds.size() + ")");
+                        recMain.setActualNo(temp.get("spotName").toString().replaceAll("#", "")
+                                .replaceAll("轨道衡", "")
+                                .replaceAll("动轨", "")
+                                .replaceAll("动态", "") + temp.get("lcNo").toString());
+//                            recMain.setActualNo(new SimpleDateFormat("yyyyMMddHHmm").format(new Date()) + PublicMethod.RandomCreate(2));
+                        recMain.setIsDispose("1");
+                        recMain.setSoundName(recMain.getActualNo());
+                        recMain.setCarriageNum(Short.valueOf(temp.get("size").toString()));
+                        recMain.setBaseSpotNo(temp.get("spotNo").toString());
+                        recMain.setBaseSpotName(temp.get("spotName").toString());
+                        recMain.setCreateTime(new Date());
+                        meterWorkRailwayRecMainMapper.insertSelective(recMain);
+                    }
+                }
+            }
+
+
+
             rm.setSucceed();
             rm.setData("200");
             rm.setMessage("共有" + count + "条数据一次批量新增成功");
@@ -3826,17 +3974,17 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
-            String userId = "";
-            String userName = "";
-            try {
-                UserPayload userPayload = UserPayload.getCurrUser();
-                userId = userPayload.getUserCode();
-                userName = userPayload.getUserName();
-            }
-            catch (Exception e){
-                userId = "admin";
-                userName = "admin";
-            }
+            String userId = model.getUpdateManNo();
+            String userName = model.getUpdateManName();
+//            try {
+//                UserPayload userPayload = UserPayload.getCurrUser();
+//                userId = userPayload.getUserCode();
+//                userName = userPayload.getUserName();
+//            }
+//            catch (Exception e){
+//                userId = "admin";
+//                userName = "admin";
+//            }
 
             MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
             Assert.isTrue(modelTemp != null, "未查询到"+ model.getActualNo() +"对应的结净数据");
@@ -3901,6 +4049,10 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                             received.setForwardingUnitName(scale.getForwardingUnitName());
                             received.setReceivingUintNo(scale.getReceivingUintNo());
                             received.setReceivingUintName(scale.getReceivingUintName());
+                            meterWorkRailwayReceivedMapper.selectAndMatch(received.getActualFirstNo(), scale.getPredictionNo());
+                            received.setUpdateManNo(userId);
+                            received.setUpdateManName(userName);
+                            received.setUpdateTime(new Date());
                             meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(received);
                         }
                     }
@@ -3913,6 +4065,23 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     tareModel.setUpdateTime(new Date());
                     tareModel.setNote("动态衡匹配委托");
                     meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(tareModel);
+                    MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
+                    if(received != null) {
+                        if(StringUtils.isEmpty(received.getPredictionNo())) {
+                            received.setRailwayNo(scale.getRailwayNo());
+                            received.setMatterNo(scale.getMatterNo());
+                            received.setMatterName(scale.getMatterName());
+                            received.setReceivingUintNo(scale.getForwardingUnitNo());
+                            received.setForwardingUnitName(scale.getForwardingUnitName());
+                            received.setReceivingUintNo(scale.getReceivingUintNo());
+                            received.setReceivingUintName(scale.getReceivingUintName());
+                            meterWorkRailwayReceivedMapper.selectAndMatch(received.getActualFirstNo(), scale.getPredictionNo());
+                            received.setUpdateManNo(userId);
+                            received.setUpdateManName(userName);
+                            received.setUpdateTime(new Date());
+                            meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(received);
+                        }
+                    }
                 }
 
                 scale.setUploadFlag("1");
@@ -3945,17 +4114,17 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
-            String userId = "";
-            String userName = "";
-            try {
-                UserPayload userPayload = UserPayload.getCurrUser();
-                userId = userPayload.getUserCode();
-                userName = userPayload.getUserName();
-            }
-            catch (Exception e){
-                userId = "admin";
-                userName = "admin";
-            }
+            String userId = models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
+//            try {
+//                UserPayload userPayload = UserPayload.getCurrUser();
+//                userId = userPayload.getUserCode();
+//                userName = userPayload.getUserName();
+//            }
+//            catch (Exception e){
+//                userId = "admin";
+//                userName = "admin";
+//            }
             int count = 0;
             for(MeterWorkRailwayActual model:models){
                 MeterWorkRailwayActual modelTemp = meterWorkRailwayActualMapper.selectByPrimaryKey(model.getActualNo());
@@ -3997,6 +4166,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                             received.setForwardingUnitName(null);
                             received.setReceivingUintNo(null);
                             received.setReceivingUintName(null);
+                            received = meterWorkRailwayReceivedMapper.selectAndRemove(received.getActualFirstNo());
                             meterWorkRailwayReceivedMapper.updateByPrimaryKey(received);
                         }
                     }
@@ -4018,6 +4188,7 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                             received.setForwardingUnitName(null);
                             received.setReceivingUintNo(null);
                             received.setReceivingUintName(null);
+                            received = meterWorkRailwayReceivedMapper.selectAndRemove(received.getActualFirstNo());
                             meterWorkRailwayReceivedMapper.updateByPrimaryKey(received);
                         }
                     }
@@ -4071,17 +4242,17 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
-            String userId = "";
-            String userName = "";
-            try {
-                UserPayload userPayload = UserPayload.getCurrUser();
-                userId = userPayload.getUserCode();
-                userName = userPayload.getUserName();
-            }
-            catch (Exception e){
-                userId = "admin";
-                userName = "admin";
-            }
+            String userId = models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
+//            try {
+//                UserPayload userPayload = UserPayload.getCurrUser();
+//                userId = userPayload.getUserCode();
+//                userName = userPayload.getUserName();
+//            }
+//            catch (Exception e){
+//                userId = "admin";
+//                userName = "admin";
+//            }
             Assert.isTrue(models.size()>=1, "未选择结净数据,请重新操作");
 
             for (MeterWorkRailwayActual model: models) {
@@ -4113,18 +4284,24 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     grossModel.setNote("动态衡毛皮分解");
 //                    meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(grossModel);
                     meterWorkRailwayActFirstMapper.deleteByPrimaryKey(grossModel.getActualFirstNo());
-                    //恢复从表数据
-                    preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(grossModel.getActualFirstNo());
-                    if(grossModel.getActualFirstNo() != null) {
-                        MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
-                        if(received != null) {
-                            HashMap<String, Object> obj = new HashMap<>();
-                            obj.put("soundName", received.getRailwayWorkNo());
-                            //把列次号变为未处理
-                            List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
-                            if(recMains.size() >= 1) {
-                                recMains.get(0).setIsDispose("0");
-                                meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                    MeterWorkRailwayReceived grossRec = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
+                    if(grossRec != null ) {
+                        //恢复从表数据
+                        if(grossRec.getPredictionNo() != null) {
+                            grossRec = meterWorkRailwayReceivedMapper.selectAndRemove(grossRec.getActualFirstNo());
+                        }
+                        preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(grossRec.getActualFirstNo());
+                        if(grossRec.getActualFirstNo() != null) {
+                            MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossRec.getActualFirstNo());
+                            if(received != null) {
+                                HashMap<String, Object> obj = new HashMap<>();
+                                obj.put("soundName", received.getRailwayWorkNo());
+                                //把列次号变为未处理
+                                List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
+                                if(recMains.size() >= 1) {
+                                    recMains.get(0).setIsDispose("0");
+                                    meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                                }
                             }
                         }
                     }
@@ -4138,19 +4315,26 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
                     tareModel.setUpdateTime(new Date());
                     tareModel.setNote("动态衡毛皮分解");
                     meterWorkRailwayActFirstMapper.deleteByPrimaryKey(tareModel.getActualFirstNo());
-                    //恢复从表数据
-                    preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(tareModel.getActualFirstNo());
-
-                    if(tareModel.getActualFirstNo() != null) {
-                        MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(tareModel.getActualFirstNo());
-                        if(received != null) {
-                            HashMap<String, Object> obj = new HashMap<>();
-                            obj.put("soundName", received.getRailwayWorkNo());
-                            //把列次号变为未处理
-                            List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
-                            if(recMains.size() >= 1) {
-                                recMains.get(0).setIsDispose("0");
-                                meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                    MeterWorkRailwayReceived tareRec = meterWorkRailwayReceivedMapper.selectByPrimaryKey(grossModel.getActualFirstNo());
+                    if(tareRec != null ) {
+                        //恢复从表数据
+                        if (tareRec.getPredictionNo() != null) {
+                            tareRec = meterWorkRailwayReceivedMapper.selectAndRemove(tareRec.getActualFirstNo());
+                        }
+                        //恢复从表数据
+                        preRailwayScaleMapper.updateMeterWorkRailwayReceiveds(tareRec.getActualFirstNo());
+
+                        if (tareRec.getActualFirstNo() != null) {
+                            MeterWorkRailwayReceived received = meterWorkRailwayReceivedMapper.selectByPrimaryKey(tareRec.getActualFirstNo());
+                            if (received != null) {
+                                HashMap<String, Object> obj = new HashMap<>();
+                                obj.put("soundName", received.getRailwayWorkNo());
+                                //把列次号变为未处理
+                                List<MeterWorkRailwayRecMain> recMains = meterWorkRailwayRecMainMapper.selectByParameters(obj);
+                                if (recMains.size() >= 1) {
+                                    recMains.get(0).setIsDispose("0");
+                                    meterWorkRailwayRecMainMapper.updateByPrimaryKeySelective(recMains.get(0));
+                                }
                             }
                         }
                     }

+ 2 - 4
src/main/java/com/steerinfo/meterwork/meterworkrailwayactualbak/mapper/MeterWorkRailwayActualBakMapper.xml

@@ -3943,7 +3943,6 @@
       <if test="predictionNo != null and predictionNo != ''">
         and PREDICTION_NO LIKE '%${predictionNo}%'
       </if>
-
       <if test="railwayNo != null and railwayNo != ''">
         and RAILWAY_NO LIKE '%${railwayNo}%'
       </if>
@@ -3956,7 +3955,6 @@
       <if test="matterName != null and matterName != ''">
         and MATTER_NAME LIKE '%${matterName}%'
       </if>
-
       <if test="forwardingUnitNo != null and forwardingUnitNo != ''">
         and FORWARDING_UNIT_NO LIKE '%${forwardingUnitNo}%'
       </if>
@@ -4041,12 +4039,12 @@
       <if test="flag != null and flag !=''">
         and lc_no is null
       </if>
-      <if test="grossLcNo != null and grossLcNo != ''">
+      <if test="grossLcNo != null">
         and actual_first1_no in (
         select B.actual_first_no from meter_work_railway_act_first B where B.lc_no = #{grossLcNo}
         )
       </if>
-      <if test="tareLcNo != null and tareLcNo != ''">
+      <if test="tareLcNo != null">
         and actual_first2_no in (
         select C.actual_first_no from meter_work_railway_act_first C where C.lc_no = #{tareLcNo}
         )

+ 15 - 13
src/main/java/com/steerinfo/meterwork/meterworkrailwayactualbak/service/impl/MeterWorkRailwayActualBakServiceImpl.java

@@ -2554,16 +2554,18 @@ public class MeterWorkRailwayActualBakServiceImpl extends BaseServiceImpl<MeterW
 
     @Override
     public List<MeterWorkRailwayActualBak> webByLikeDesc(HashMap<String, Object> parameters) {
-        String[] lcNoTemp = parameters.get("lcNoTemp")==null? "".split(","): parameters.get("lcNoTemp").toString().split(",");
-        parameters.remove("lcNoTemp");
-        parameters.put("lcNoTemp", lcNoTemp);
-        for (String str:
-                lcNoTemp) {
-            if(str.equals("")) {
-                parameters.put("lcNoNull", "1");
-                break;
-            }else {
-                parameters.put("lcNoNull", "");
+        if(parameters.get("lcNoTemp") != null) {
+            String[] lcNoTemp = parameters.get("lcNoTemp")==null? "".split(","): parameters.get("lcNoTemp").toString().split(",");
+            parameters.remove("lcNoTemp");
+            parameters.put("lcNoTemp", lcNoTemp);
+            for (String str:
+                    lcNoTemp) {
+                if(str.equals("")) {
+                    parameters.put("lcNoNull", "1");
+                    break;
+                }else {
+                    parameters.put("lcNoNull", "");
+                }
             }
         }
         List<MeterWorkRailwayActualBak> rows = meterWorkRailwayActualBakMapper.likeByDescTemp(parameters);
@@ -2740,9 +2742,9 @@ public class MeterWorkRailwayActualBakServiceImpl extends BaseServiceImpl<MeterW
                     throw new Exception("结净数据为空");
                 }
 
-                if (!railwayNo.equals(actualBak.getRailwayNo())) {
-                    throw new Exception(id + "的车号不一致");
-                }
+//                if (!railwayNo.equals(actualBak.getRailwayNo())) {
+//                    throw new Exception(id + "的车号不一致");
+//                }
 
                 //判断是否符合要求
                 String note = isSuit(actualBak);

+ 1 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/mapper/MeterWorkRailwayReceivedMapper.java

@@ -19,6 +19,7 @@ public interface MeterWorkRailwayReceivedMapper extends IBaseMapper<MeterWorkRai
     List<MeterWorkRailwayReceived> noPage(HashMap<String, Object> map);
     MeterWorkRailwayReceived getPrimaryKey(HashMap params);
     HashMap getCount(HashMap params);
+    MeterWorkRailwayReceived selectAndMatch(@Param(value = "actualFirstNo") String actualFirstNo, @Param(value = "predictionNo") String predictionNo);
     MeterWorkRailwayReceived selectAndRemove(@Param(value = "actualFirstNo")String actualFirstNo);
 
     int deleteByPrimaryKeyLike(@Param(value = "actualFirstNo")String actualFirstNo);

+ 26 - 4
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/mapper/MeterWorkRailwayReceivedMapper.xml

@@ -2019,6 +2019,28 @@
     </if>
   </select>
 
+  <select id="selectAndMatch" parameterType="java.lang.String" resultMap="BaseResultMap">
+    select t.ACTUAL_FIRST_NO, t1.PREDICTION_NO, t1.NOTICE_NO, t.RAILWAY_NO, t.RAILWAY_CARRIAGE_NO,
+           t.RAILWAY_WORK_NO, t.RAILWAY_SPEED, t.railway_model, t.RAILWAY_MODEL_NO,t.RAILWAY_MODEL_NAME, t1.MATTER_NO, t1.MATTER_NAME,
+           t1.CONTRACT_NO, t1.BATCH_NO, t1.CUSTOMER_SUPPLIER_NO, t1.CUSTOMER_SUPPLIER_NAME, t1.FORWARDING_UNIT_NO,
+           t1.FORWARDING_UNIT_NAME, t1.RECEIVING_UINT_NO, t1.RECEIVING_UINT_NAME, t1.MATERIAL_NO,
+           t1.voucher_identity, t1.voucher_item, t1.business_group, t1.temp_conveyance,
+           t1.resource_system, t1.group_package_amount, t1.group_package_unit, t1.package_amount,
+           t1.package_unit, t1.theory_amount, t1.measure_batch,t1.measure_batch_count,t1.sender_type,
+           t1.sender_remark,t1.receiver_type, t1.receiver_remark,t1.amount_unit,
+           t1.MATERIAL_NAME, t1.SPEC_NO, t1.SPEC_NAME, t1.SHIPMENT_GROSS_WEIGHT, t1.SHIPMENT_NET_WEIGHT,
+           t1.SHIPMENT_NUM, t.BIND_CARD_NO, t1.LOAD_POINT_NO, t1.LOAD_POINT_NAME, t1.SAMPLE_NO,
+           t1.SAMPLE_VOUCHER, t1.CARRIER_UNIT_NO, t1.CARRIER_UNIT_NAME, t1.PREDICTION_TYPE, t1.PREDICTION_COMBINATION,
+           t1.METER_TYPE_NO, t1.METER_TYPE_NAME, t.METER_PROCESS_NO, t.METER_PROCESS_EDITION_NO,
+           t.METER_WEIGHT, t.WEIGHT_TYPE, t.METER_SORT_WEIGHT, t.METER_BALANCE_WEIGHT, t.CREATE_MAN_NO,
+           t.CREATE_MAN_NAME, t.CREATE_TIME, t.BASE_SPOT_NO, t.BASE_SPOT_NAME, t.METER_CLASS,
+           t.METER_GROUP, t.VALUE_FLAG, t.UPDATE_MAN_NO, t.UPDATE_MAN_NAME, t.UPDATE_TIME,
+           t.CHECK_FLAG, t.CHECK_MAN_NO, t.CHECK_MAN_NAME, t.CHECK_TIME, t.METER_MODE, t.RAILWAY_TYPE_NO,
+           t.RAILWAY_TYPE_NAME, T1.ARRIVAL, T1.STATION, T1.MEMO,T1.SOURCE_AREA
+    from meter_work_railway_received t,PRE_RAILWAY_SCALE t1
+    where t.ACTUAL_FIRST_NO= #{actualFirstNo,jdbcType=VARCHAR} and t1.PREDICTION_NO= #{predictionNo,jdbcType=VARCHAR}
+  </select>
+
   <select id="selectAndRemove" parameterType="java.lang.String" resultMap="BaseResultMap">
     select  ACTUAL_FIRST_NO,  RAILWAY_NO, RAILWAY_CARRIAGE_NO, RAILWAY_WORK_NO, railway_model,
             RAILWAY_SPEED, RAILWAY_MODEL_NO,RAILWAY_MODEL_NAME, BIND_CARD_NO,  METER_PROCESS_NO, METER_PROCESS_EDITION_NO, METER_WEIGHT,
@@ -2114,7 +2136,7 @@
         </if>
       </if>
       <if test="lcNo != null and lcNo != ''">
-        and LC_NO LIKE '%${lcNo}%'
+        and railway_work_no LIKE '%${lcNo}%'
       </if>
       <if test="startTime != null and startTime != null and endTime != '' and endTime != ''">
         and  CREATE_TIME  >= TO_DATE(#{startTime}, 'yyyy-MM-dd HH24:mi:ss') and CREATE_TIME  &lt;=  TO_DATE(#{endTime}, 'yyyy-MM-dd HH24:mi:ss')
@@ -2126,15 +2148,15 @@
         </foreach>
       </if>
       <if test="lcNoTemp != null and lcNoTemp != ''">
-        and ( lc_no in
+        and ( railway_work_no in
         <foreach collection="lcNoTemp" item="item" open="(" separator="," close=")">
           #{item}
         </foreach>
         <if test="lcNoNull != null and lcNoNull != ''">
-          or lc_no is null )
+          or railway_work_no is null )
         </if>
         <if test="lcNoNull == null or lcNoNull == ''">
-          and lc_no is not null)
+          and railway_work_no is not null)
         </if>
       </if>
     </where>

+ 105 - 42
src/main/java/com/steerinfo/meterwork/meterworkrailwayreceived/service/impl/MeterWorkRailwayReceivedServiceImpl.java

@@ -6,6 +6,7 @@ import com.steerinfo.baseinfo.meterbaseoperationlog.mapper.MeterBaseOperationLog
 import com.steerinfo.baseinfo.meterbaseoperationlog.model.MeterBaseOperationLog;
 import com.steerinfo.baseinfo.meterbaserailwayaiweight.mapper.MeterBaseRailwayAiweightMapper;
 import com.steerinfo.baseinfo.meterbaserailwayaiweight.model.MeterBaseRailwayAiweight;
+import com.steerinfo.baseinfo.meterbasespotinfo.model.MeterBaseSpotInfo;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
@@ -25,6 +26,7 @@ import com.steerinfo.pretrack.prerailwayscale.mapper.PreRailwayScaleMapper;
 import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 import com.steerinfo.util.PublicMethod;
 import com.steerinfo.util.StringUtils;
+import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -316,7 +318,22 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                     .map(MeterWorkRailwayReceived::getBaseSpotNo)
                     .distinct()
                     .collect(Collectors.toList());
-            for (String spotNo: spotList) {
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            List<HashMap> map = new ArrayList<>();
+            for(String spot: spotList) {
+                Long spotCount = models.stream().filter(item -> StringUtils.isNotEmpty(item.getBaseSpotNo()) && item.getBaseSpotNo().equals(spot)).count();
+                String afl = sdf.format(new Date());
+                String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl, spot);
+                List<MeterWorkRailwayReceived> spotModel = models.stream().filter(item ->  StringUtils.isNotEmpty(item.getBaseSpotNo()) && item.getBaseSpotNo().equals(spot)).collect(Collectors.toList());
+                HashMap<String, Object> obj = new HashMap<>();
+                obj.put("spotNo", spot);
+                obj.put("spotName", spotModel.get(0).getBaseSpotName());
+                obj.put("size", spotCount);
+                obj.put("lcNo", "-" + afl + lcNo + "(" + spotCount + ")");
+                map.add(obj);
+            }
+
+            if (spotList.size() >= 1) {
                 List<MeterWorkRailwayReceived> receiveds = new ArrayList<>();
                 for(MeterWorkRailwayReceived receivedTemp: models){
                     if(receivedTemp.getRailwayWorkNo() != null && StringUtils.isNotEmpty(receivedTemp.getRailwayWorkNo())) {
@@ -345,56 +362,88 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
                         receivedTemp.setRailwayWorkNo(recMainTemp.get(0).getActualNo());
                         receivedTemp.setActualFirstNo(PublicMethod.IdCreate(3));
                         receivedTemp.setValueFlag("1");
-                        receivedTemp.setRailwayTypeNo("001019002");
-                        receivedTemp.setRailwayTypeName("动态轨道衡");
+                        receivedTemp.setRailwayTypeNo(receivedTemp.getRailwayModelNo());
+                        receivedTemp.setRailwayTypeName(receivedTemp.getRailwayModelName());
                         meterWorkRailwayReceivedMapper.insertSelective(receivedTemp);
                         count ++;
                     }else {
-                        if(spotNo.equals(receivedTemp.getBaseSpotNo())){
-                            receiveds.add(receivedTemp);
-                        }
-                    }
-                }
-
-                if(receiveds.size()>=1) {
-                    //插入主表数据
-                    MeterWorkRailwayRecMain recMain = new MeterWorkRailwayRecMain();
-                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-                    String afl = sdf.format(new Date());
-                    String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl, receiveds.get(0).getBaseSpotNo());
-                    recMain.setActualNo(receiveds.get(0).getBaseSpotName().replaceAll("#", "")
-                            .replaceAll("轨道衡", "")
-                            .replaceAll("动轨", "")
-                            .replaceAll("动态", "") + "-" + afl + lcNo + "(" + receiveds.size() + ")");
-                    recMain.setIsDispose("0");
-                    recMain.setSoundName(recMain.getActualNo());
-                    recMain.setCarriageNum((short)receiveds.size());
-                    recMain.setBaseSpotNo(receiveds.get(0).getBaseSpotNo());
-                    recMain.setBaseSpotName(receiveds.get(0).getBaseSpotName());
-                    recMain.setCreateTime(new Date());
-                    meterWorkRailwayRecMainMapper.insertSelective(recMain);
-
-                    for(MeterWorkRailwayReceived received: receiveds){
-//                        if(received.getMemo() != null && StringUtils.isNotEmpty(received.getMemo())) {
+//                        if(spotNo.equals(receivedTemp.getBaseSpotNo())){
+                            for(HashMap temp: map) {
+                                if(temp.get("spotNo").equals(receivedTemp.getBaseSpotNo())) {
+                                    receivedTemp.setRailwayWorkNo(receivedTemp.getBaseSpotName().replaceAll("#", "")
+                                            .replaceAll("轨道衡", "")
+                                            .replaceAll("动轨", "")
+                                            .replaceAll("动态", "") + temp.get("lcNo").toString());
+                                }
+                            }
                             MeterBaseOperationLog note = new MeterBaseOperationLog();
                             note.setId(PublicMethod.IdCreate(3));
-                            note.setCreateManNo(received.getCreateManNo());
-                            note.setCreateManName(received.getCreateManName());
+                            note.setCreateManNo(receivedTemp.getCreateManNo());
+                            note.setCreateManName(receivedTemp.getCreateManName());
                             note.setCreateTime(new Date());
                             note.setOperationPage("终端-轨道衡从表数据维护");
                             note.setOperationFunction("新增");
-                            note.setOperationCarnNo(received.getRailwayNo());
+                            note.setOperationCarnNo(receivedTemp.getRailwayNo());
                             meterBaseOperationLogMapper.insertSelective(note);
-//                        }
-                        received.setRailwayWorkNo(recMain.getActualNo());
-                        received.setActualFirstNo(PublicMethod.IdCreate(3));
-                        received.setValueFlag("1");
-                        received.setRailwayTypeNo("001019002");
-                        received.setRailwayTypeName("动态轨道衡");
-                        meterWorkRailwayReceivedMapper.insertSelective(received);
-                        count ++;
+                            receivedTemp.setActualFirstNo(PublicMethod.IdCreate(3));
+                            receivedTemp.setValueFlag("1");
+                            receivedTemp.setRailwayTypeNo(receivedTemp.getRailwayModelNo());
+                            receivedTemp.setRailwayTypeName(receivedTemp.getRailwayModelName());
+                            meterWorkRailwayReceivedMapper.insertSelective(receivedTemp);
+//                            receiveds.add(receivedTemp);
+                            count ++;
+                    }
+                }
+            }
+
+            if(models.size()>=1) {
+                if (map.size() >= 1) {
+                    for(HashMap temp: map) {
+                        //插入主表数据
+                        MeterWorkRailwayRecMain recMain = new MeterWorkRailwayRecMain();
+//                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+//                    String afl = sdf.format(new Date());
+//                    String lcNo = meterWorkRailwayRecMainMapper.getLcNo(afl, receiveds.get(0).getBaseSpotNo());
+//                    recMain.setActualNo(receiveds.get(0).getBaseSpotName().replaceAll("#", "")
+//                            .replaceAll("轨道衡", "")
+//                            .replaceAll("动轨", "")
+//                            .replaceAll("动态", "") + "-" + afl + lcNo + "(" + receiveds.size() + ")");
+                        recMain.setActualNo(temp.get("spotName").toString().replaceAll("#", "")
+                                .replaceAll("轨道衡", "")
+                                .replaceAll("动轨", "")
+                                .replaceAll("动态", "") + temp.get("lcNo").toString());
+//                            recMain.setActualNo(new SimpleDateFormat("yyyyMMddHHmm").format(new Date()) + PublicMethod.RandomCreate(2));
+                        recMain.setIsDispose("0");
+                        recMain.setSoundName(recMain.getActualNo());
+                        recMain.setCarriageNum(Short.valueOf(temp.get("size").toString()));
+                        recMain.setBaseSpotNo(temp.get("spotNo").toString());
+                        recMain.setBaseSpotName(temp.get("spotName").toString());
+                        recMain.setCreateTime(new Date());
+                        meterWorkRailwayRecMainMapper.insertSelective(recMain);
                     }
                 }
+
+
+//                    for(MeterWorkRailwayReceived received: receiveds){
+////                        if(received.getMemo() != null && StringUtils.isNotEmpty(received.getMemo())) {
+//                            MeterBaseOperationLog note = new MeterBaseOperationLog();
+//                            note.setId(PublicMethod.IdCreate(3));
+//                            note.setCreateManNo(received.getCreateManNo());
+//                            note.setCreateManName(received.getCreateManName());
+//                            note.setCreateTime(new Date());
+//                            note.setOperationPage("终端-轨道衡从表数据维护");
+//                            note.setOperationFunction("新增");
+//                            note.setOperationCarnNo(received.getRailwayNo());
+//                            meterBaseOperationLogMapper.insertSelective(note);
+////                        }
+//                        received.setRailwayWorkNo(recMain.getActualNo());
+//                        received.setActualFirstNo(PublicMethod.IdCreate(3));
+//                        received.setValueFlag("1");
+//                        received.setRailwayTypeNo("001019002");
+//                        received.setRailwayTypeName("动态轨道衡");
+//                        meterWorkRailwayReceivedMapper.insertSelective(received);
+//                        count ++;
+//                    }
             }
 
             rm.setSucceed();
@@ -427,17 +476,24 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
         rm.setFailed();
         try{
             int count = 0;
+            String userId = models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
             for(MeterWorkRailwayReceived model: models){
                 MeterWorkRailwayReceived modelTemp =  meterWorkRailwayReceivedMapper.selectByPrimaryKey(model.getActualFirstNo());
                 if(modelTemp.getPredictionNo() != null && StringUtils.isNotEmpty(modelTemp.getPredictionNo())){
-                    PreRailwayScale scale = new PreRailwayScale();
+                    PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(modelTemp.getPredictionNo());
                     scale.setValueFlag("1");
                     scale.setUploadFlag("1");
-                    scale.setPredictionNo(modelTemp.getPredictionNo());
+                    scale.setUpdateManNo(userId);
+                    scale.setUpdateManName(userName);
+                    scale.setUpdateTime(new Date());
                     preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
                 }
                 modelTemp = meterWorkRailwayReceivedMapper.selectAndRemove(modelTemp.getActualFirstNo());
                 modelTemp.setIsAutoOperation("1");
+                modelTemp.setUpdateManNo(userId);
+                modelTemp.setUpdateManName(userName);
+                modelTemp.setUpdateTime(new Date());
                 meterWorkRailwayReceivedMapper.updateByPrimaryKey(modelTemp);
                 count++;
             }
@@ -458,15 +514,22 @@ public class MeterWorkRailwayReceivedServiceImpl extends BaseServiceImpl<MeterWo
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try{
+            String userId = models.get(0).getUpdateManNo();
+            String userName = models.get(0).getUpdateManName();
             int count = 0;
             for(MeterWorkRailwayReceived model: models){
                 model.setValueFlag("0");
                 model.setIsAutoOperation("1");
+                model.setUpdateManNo(userId);
+                model.setUpdateManName(userName);
+                model.setUpdateTime(new Date());
                 meterWorkRailwayReceivedMapper.updateByPrimaryKeySelective(model);
                 if(model.getPredictionNo() != null &&  StringUtils.isNotEmpty(model.getPredictionNo())){
                     PreRailwayScale preRailwayScale = new PreRailwayScale();
                     preRailwayScale.setValueFlag("1");
                     preRailwayScale.setUploadFlag("1");
+                    preRailwayScale.setUpdateManNo(userId);
+                    preRailwayScale.setUpdateManName(userName);
                     preRailwayScale.setPredictionNo(model.getPredictionNo());
                     preRailwayScaleMapper.updateByPrimaryKeySelective(preRailwayScale);
                 }