dengyj 4 år sedan
förälder
incheckning
53ee3aa8dd

+ 6 - 0
src/main/java/com/steerinfo/baseinfo/appversionmsg/controller/AppVersionMsgController.java

@@ -1,5 +1,6 @@
 package com.steerinfo.baseinfo.appversionmsg.controller;
 
+import com.steerinfo.baseinfo.appversionmsg.mapper.AppVersionMsgMapper;
 import com.steerinfo.baseinfo.appversionmsg.model.AppVersionMsg;
 import com.steerinfo.baseinfo.appversionmsg.service.IAppVersionMsgService;
 import com.steerinfo.framework.controller.BaseRESTfulController;
@@ -13,6 +14,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.HashMap;
@@ -35,6 +37,9 @@ import java.util.List;
 @RequestMapping("/${api.version}/appversionmsgs")
 public class AppVersionMsgController extends BaseRESTfulController {
 
+    @Resource
+    AppVersionMsgMapper appVersionMsgMapper;
+
     @Autowired
     IAppVersionMsgService appVersionMsgService;
 
@@ -67,6 +72,7 @@ public class AppVersionMsgController extends BaseRESTfulController {
     //@RequiresPermissions("appversionmsg:create")
     @PostMapping(value = "/")
     public RESTfulResult add(@ModelAttribute AppVersionMsg model){
+        model.setVersionId(appVersionMsgMapper.getNewId());
         UserPayload payload = UserPayload.getCurrUser();
         model.setCreateId(payload.getUserCode());
         model.setCreateName(payload.getUserName());

+ 1 - 0
src/main/java/com/steerinfo/baseinfo/appversionmsg/mapper/AppVersionMsgMapper.java

@@ -6,4 +6,5 @@ import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface AppVersionMsgMapper extends IBaseMapper<AppVersionMsg, String> {
+    String getNewId();
 }

+ 3 - 1
src/main/java/com/steerinfo/baseinfo/appversionmsg/mapper/AppVersionMsgMapper.xml

@@ -647,6 +647,8 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+  <select id="getNewId" resultType="java.lang.String">
+    select max(version_id)+1 from app_version_msg
+  </select>
   
 </mapper>

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

@@ -3466,12 +3466,12 @@
         <foreach collection="lcNoTemp" item="item" open="(" separator="," close=")">
           #{item}
         </foreach>
-      </if>
-      <if test="lcNoNull != null and lcNoNull != ''">
-        or lc_no is null )
-      </if>
-      <if test="lcNoNull == null or lcNoNull == ''">
-        and lc_no is not null)
+        <if test="lcNoNull != null and lcNoNull != ''">
+          or lc_no is null )
+        </if>
+        <if test="lcNoNull == null or lcNoNull == ''">
+          and lc_no is not null)
+        </if>
       </if>
       <!--静轨组列次号需要-->
       <if test="flag != null and flag != ''">

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

@@ -2987,7 +2987,7 @@
            t1.actual_first_no ACTUAL_FIRST1_NO, t1.meter_weight GROSS_WEIGHT, t1.create_man_no GROSS_MAN_NO, t1.create_man_name GROSS_MAN_NAME, t1.create_time GROSS_TIME,
            t1.base_spot_no BASE_SPOT1_NO, t1.base_spot_name BASE_SPOT1_NAME,t1.meter_class GROSS_CLASS, t1.meter_group GROSS_GROUP, t1.meter_mode GROSS_MODE,t1.railway_type_no RAILWAY_TYPE_NO,t1.railway_type_name RAILWAY_TYPE_NAME,
            t2.actual_first_no ACTUAL_FIRST2_NO, t2.meter_weight TARE_WEIGHT, t2.create_man_no TARE_MAN_NO, t2.create_man_name TARE_MAN_NAME, t2.create_time TARE_TIME,
-           t2.base_spot_no BASE_SPOT2_NO, t2.base_spot_name BASE_SPOT2_NAME, t2.create_man_no net_man_no, t2.create_man_name net_man_name, t2.base_spot_no net_spot3_no, t2.base_spot_name net_spot3_name, t2.create_time create_time,  t2.create_man_name create_man_name, t2.meter_class TARE_CLASS, t2.meter_group TARE_GROUP,t2.meter_mode TARE_MODE
+           t2.base_spot_no BASE_SPOT2_NO, t2.base_spot_name BASE_SPOT2_NAME, t2.create_man_no net_man_no, t2.create_man_name net_man_name, t2.create_time net_time, t2.base_spot_no net_spot3_no, t2.base_spot_name net_spot3_name, t2.create_time create_time,  t2.create_man_name create_man_name, t2.meter_class TARE_CLASS, t2.meter_group TARE_GROUP,t2.meter_mode TARE_MODE
             ,t2.arrival ARRIVAL, t2.station STATION,t2.memo MEMO,t2.source_area SOURCE_AREA
     from METER_WORK_RAILWAY_ACT_FIRST t1,METER_WORK_RAILWAY_ACT_FIRST t2
     where t1.actual_first_no=#{actualFirstNo,jdbcType=VARCHAR} and t2.actual_first_no=#{dataNo,jdbcType=VARCHAR}
@@ -3008,7 +3008,7 @@
            t1.actual_first_no ACTUAL_FIRST1_NO, t1.meter_weight GROSS_WEIGHT, t1.create_man_no GROSS_MAN_NO, t1.create_man_name GROSS_MAN_NAME, t1.create_time GROSS_TIME,
            t1.base_spot_no BASE_SPOT1_NO, t1.base_spot_name BASE_SPOT1_NAME,t1.meter_class GROSS_CLASS, t1.meter_group GROSS_GROUP, t1.meter_mode GROSS_MODE,t1.railway_type_no RAILWAY_TYPE_NO,t1.railway_type_name RAILWAY_TYPE_NAME,
            t2.actual_first_no ACTUAL_FIRST2_NO, t2.meter_weight TARE_WEIGHT, t2.create_man_no TARE_MAN_NO, t2.create_man_name TARE_MAN_NAME, t2.create_time TARE_TIME,
-           t2.base_spot_no BASE_SPOT2_NO, t2.base_spot_name BASE_SPOT2_NAME, t2.create_man_no net_man_no, t2.create_man_name net_man_name, t2.base_spot_no net_spot3_no, t2.base_spot_name net_spot3_name, t2.create_time create_time,  t2.create_man_name create_man_name,  t2.meter_class TARE_CLASS, t2.meter_group TARE_GROUP,t2.meter_mode TARE_MODE
+           t2.base_spot_no BASE_SPOT2_NO, t2.base_spot_name BASE_SPOT2_NAME, t2.create_man_no net_man_no, t2.create_man_name net_man_name, t2.create_time net_time, t2.base_spot_no net_spot3_no, t2.base_spot_name net_spot3_name, t2.create_time create_time,  t2.create_man_name create_man_name,  t2.meter_class TARE_CLASS, t2.meter_group TARE_GROUP,t2.meter_mode TARE_MODE
             ,t2.arrival ARRIVAL, t2.station STATION,t2.memo MEMO,t2.source_area SOURCE_AREA
     from METER_WORK_RAILWAY_ACT_FIRST t1,METER_WORK_RAILWAY_ACT_FIRST t2, PRE_RAILWAY_SCALE T3
     where t1.actual_first_no=#{actualFirstNo,jdbcType=VARCHAR} and t2.actual_first_no=#{dataNo,jdbcType=VARCHAR} AND T3.prediction_no =#{predictionNo,jdbcType=VARCHAR}

+ 111 - 54
src/main/java/com/steerinfo/meterwork/meterworkrailwayactual/service/impl/MeterWorkRailwayActualServiceImpl.java

@@ -332,66 +332,123 @@ public class MeterWorkRailwayActualServiceImpl extends BaseServiceImpl<MeterWork
     @Override
     public RESTfulResult cleanByfirstNoAndNotes(String actFirstNo01, String actFirstNo02, String predictionNo, String Notes) {
         RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
 
         MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo01);
         MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectByPrimaryKey(actFirstNo02);
+        PreRailwayScale scale = preRailwayScaleMapper.selectByPrimaryKey(predictionNo);
+        //存储洁净记录
+        MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        UserPayload payload = new UserPayload();
+        String userId = payload.getUserCode();
+        String userName = payload.getUserName();
 
-        if(actFirst01 == null || actFirst02 == null){
-            rm.setFailed();
-            rm.setMessage("一次计量数据编号不存在于轨道衡一次计量表");
-            return rm;
-        }else{
-            if(!actFirst01.getRailwayNo().equals(actFirst02.getRailwayNo())){
-                rm.setFailed();
-                rm.setMessage("请选择同一车号的一次计量数据进行结净");
-                return rm;
-            }else if(!actFirst01.getValueFlag().equals("1") || !actFirst02.getValueFlag().equals("1")){
-                rm.setFailed();
-                rm.setMessage("请选择有效的一次计量数据进行结净");
-                return rm;
-            }else{
-                if(actFirst01.getMeterWeight().compareTo(actFirst02.getMeterWeight()) == -1){    //A小于B, 置换,始终保证A>B
-                    MeterWorkRailwayActFirst tempModel = new MeterWorkRailwayActFirst();
-                    BeanUtils.copyProperties(actFirst01, tempModel);
-                    BeanUtils.copyProperties(actFirst02, actFirst01);
-                    BeanUtils.copyProperties(tempModel, actFirst02);
-                }
-                //洁净操作
-                MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
-                MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAdd(actFirstNo01, actFirstNo02);
-                BeanUtils.copyProperties(mwca2, actualRow);
-                //标志位为洁净
-                actFirst01.setValueFlag(DbConstants.NET);
-                actFirst01.setNote(Notes);
-                meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst01);
-                actFirst02.setNote(Notes);
-                actFirst02.setValueFlag(DbConstants.NET);
-                meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst02);
-
-                cleanCheck(actualRow);
-
-                if (actualRow.getGrossTime().compareTo(actualRow.getTareTime()) == 1) {
-                    actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
-                    actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
-                } else {
-                    actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
-                    actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
-                }
-                actualRow.setNetMode(DbConstants.TYPE);
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-                String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
-                actualRow.setActualNo(sdf.format(new Date()) + no);
-                actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
-                actualRow.setUploadFlag("1");
-                actualRow.setNote(Notes);
-                actualRow.setLcNo(actFirst01.getLcNo());
-                actualRow.setCreateTime(new Date());
-                meterWorkRailwayActualMapper.insertSelective(actualRow);
-                rm.setSucceed();
-                rm.setData(actualRow);
-                return rm;
+        Assert.isTrue(actFirst01 != null || actFirst02 != null, "一次计量数据编号不存在于轨道衡一次计量表");
+        Assert.isTrue(actFirst01.getRailwayNo().equals(actFirst02.getRailwayNo()), "请选择同一车号的一次计量数据进行结净");
+        Assert.isTrue(actFirst01.getValueFlag().equals("1") || actFirst02.getValueFlag().equals("1"), "请选择有效的一次计量数据进行结净");
+        if (actFirst01.getMeterWeight().compareTo(actFirst02.getMeterWeight()) == -1) {    //A小于B, 置换,始终保证A>B
+            MeterWorkRailwayActFirst tempModel = new MeterWorkRailwayActFirst();
+            BeanUtils.copyProperties(actFirst01, tempModel);
+            BeanUtils.copyProperties(actFirst02, actFirst01);
+            BeanUtils.copyProperties(tempModel, actFirst02);
+        }
+
+        if(scale != null) {
+            //将委托中的编号和收发货的等数据拷贝进一次数据中
+            MeterWorkRailwayActFirst first1 = meterWorkRailwayActFirstMapper.selectAndMatch(actFirst01.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(first1, actFirst01);
+            MeterWorkRailwayActFirst first2 = meterWorkRailwayActFirstMapper.selectAndMatch(actFirst02.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(first2, actFirst02);
+
+            scale.setValueFlag(DbConstants.NET);
+            scale.setUpdateTime(new Date());
+            scale.setUpdateManNo("system");
+            scale.setUpdateManName("匹配结净更新");
+            scale.setUploadFlag("1");
+            scale.setPredictionType("1");
+            preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+
+            //更新一次数据
+            //更新第一次毛重数据库
+            actFirst01.setWeightType("0");
+            actFirst01.setValueFlag(DbConstants.NET);
+            actFirst01.setUpdateManName("system");
+            actFirst01.setUpdateManName("匹配结净更新");
+            actFirst01.setUpdateTime(new Date());
+            actFirst01.setIsPreSacale("1");
+            actFirst01.setPredictionNo(scale.getPredictionNo());
+            actFirst01.setPredictionType("1");
+            actFirst01.setNote(Notes);
+            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(actFirst01);
+            //更新第一次皮重数据库
+            actFirst02.setWeightType("1");
+            actFirst02.setValueFlag(DbConstants.NET);
+            actFirst02.setUpdateManName("system");
+            actFirst02.setUpdateManName("匹配结净更新");
+            actFirst02.setUpdateTime(new Date());
+            actFirst02.setIsPreSacale("1");
+            actFirst02.setPredictionNo(scale.getPredictionNo());
+            actFirst02.setPredictionType("1");
+            actFirst02.setNote(Notes);
+            meterWorkRailwayActFirstMapper.updateByPrimaryKeySelective(actFirst02);
+
+            MeterWorkRailwayActual mwca = meterWorkRailwayActualMapper.manualAddPre(actFirst01.getActualFirstNo(), actFirst02.getActualFirstNo(), scale.getPredictionNo());
+            BeanUtils.copyProperties(mwca, actualRow);
+
+            actualRow.setActualNo(sdf.format(new Date()) + meterWorkRailwayActualMapper.getNewID(sdf.format(new Date())));
+            actualRow.setUploadFlag("1");
+            actualRow.setValueFlag("1");
+            actualRow.setIsPreSacale("1");
+            actualRow.setCreateTime(new Date());
+            actualRow.setCreateManName(userName);
+            actualRow.setNetTime(new Date());
+            actualRow.setNote(Notes);
+            actualRow.setLcNo(actFirst01.getLcNo());
+            actualRow.setNetMode(DbConstants.TYPE);
+            actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
+            meterWorkRailwayActualMapper.insertSelective(actualRow);
+        }else {
+            MeterWorkRailwayActual mwca2 = meterWorkRailwayActualMapper.manualAdd(actFirst01.getActualFirstNo(), actFirst02.getActualFirstNo());
+            BeanUtils.copyProperties(mwca2, actualRow);
+
+            //标志位为洁净
+            actFirst01.setWeightType("0");
+            actFirst01.setNote(Notes);
+            actFirst01.setIsPreSacale("0");
+            actFirst01.setValueFlag(DbConstants.NET);
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst01);
+            actFirst02.setWeightType("1");
+            actFirst02.setNote(Notes);
+            actFirst02.setIsPreSacale("0");
+            actFirst02.setValueFlag(DbConstants.NET);
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(actFirst02);
+
+            cleanCheck(actualRow);
+
+            if (actualRow.getGrossTime().compareTo(actualRow.getTareTime()) == 1) {
+                actualRow.setNetSpot3No(actualRow.getBaseSpot1No());
+                actualRow.setNetSpot3Name(actualRow.getBaseSpot1Name());
+            } else {
+                actualRow.setNetSpot3No(actualRow.getBaseSpot2No());
+                actualRow.setNetSpot3Name(actualRow.getBaseSpot2Name());
             }
+            actualRow.setActualNo(sdf.format(new Date()) + meterWorkRailwayActualMapper.getNewID(sdf.format(new Date())));
+            actualRow.setUploadFlag("1");
+            actualRow.setValueFlag("1");
+            actualRow.setIsPreSacale("0");
+            actualRow.setNote(Notes);
+            actualRow.setLcNo(actFirst01.getLcNo());
+            actualRow.setCreateManName(userName);
+            actualRow.setCreateTime(new Date());
+            actualRow.setNetTime(new Date());
+            actualRow.setNetMode(DbConstants.TYPE);
+            actualRow.setNetWeight(actFirst01.getMeterWeight().subtract(actFirst02.getMeterWeight()));
+            meterWorkRailwayActualMapper.insertSelective(actualRow);
         }
+        rm.setSucceed();
+        rm.setData(actualRow);
+        return rm;
     }