Browse Source

后端提交

dengyj 4 years ago
parent
commit
6089a26440

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

@@ -3483,6 +3483,6 @@
     <include refid="select"/>
     <include refid="whereLike"/>
     and value_flag != '0'
-    order by create_time desc
+    order by actual_no asc
   </select>
 </mapper>

+ 4 - 2
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -3767,8 +3767,10 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
         //移除所有期限皮数据
         if(rows.size() >= 1) {
             for(int i = 0; i < rows.size(); i++){
-                if(rows.get(0).getWeightType().equals("2")) {
-                    rows.remove(i);
+                if(rows.get(0).getWeightType() != null) {
+                    if(rows.get(0).getWeightType().equals("2")) {
+                        rows.remove(i);
+                    }
                 }
             }
             params.put("weightType", "2");

+ 151 - 46
src/main/java/com/steerinfo/meterwork/meterworkrailwayactfirst/service/impl/MeterWorkRailwayActFirstServiceImpl.java

@@ -33,6 +33,7 @@ import com.steerinfo.meterwork.meterworkrailwayactual.model.MeterWorkRailwayActu
 import com.steerinfo.meterwork.meterworkrailwaymotorialreceived.model.MeterWorkRailwayMotorialReceived;
 import com.steerinfo.meterwork.meterworkrailwayreceived.mapper.MeterWorkRailwayReceivedMapper;
 import com.steerinfo.meterwork.meterworkrailwayreceived.model.MeterWorkRailwayReceived;
+import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.mapper.MeterWorkRailwayScheduledHelpMapper;
 import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.model.MeterWorkRailwayScheduledHelp;
 import com.steerinfo.meterwork.meterworkrailwayscheduledhelp.service.IMeterWorkRailwayScheduledHelpService;
 import com.steerinfo.meterwork.meterworkscheduledhelp.model.MeterWorkScheduledHelp;
@@ -41,14 +42,17 @@ import com.steerinfo.pretrack.prerailwayscale.model.PreRailwayScale;
 import com.steerinfo.pretrack.pretrackscale.model.PreTrackScale;
 import com.steerinfo.util.FieldsCollector;
 import com.steerinfo.util.StringUtils;
+import io.micrometer.core.instrument.Meter;
 import org.apache.shiro.crypto.hash.Hash;
 import org.springframework.beans.BeanUtils;
+import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.lang.reflect.Field;
 import java.math.BigDecimal;
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
@@ -78,6 +82,9 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
     @Resource
     private IMeterWorkRailwayScheduledHelpService meterWorkRailwayScheduledHelpService;
 
+    @Resource
+    private MeterWorkRailwayScheduledHelpMapper meterWorkRailwayScheduledHelpMapper;
+
     @Resource
     private PreRailwayScaleMapper preRailwayScaleMapper;
 
@@ -3939,54 +3946,43 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         RESTfulResult rm = new RESTfulResult();
         rm.setFailed();
         try {
-            String helpContent = "";
+            /*SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            String afl = sdf.format(new Date());
+            //报警信息
             MeterWorkRailwayScheduledHelp railwayHelp = new MeterWorkRailwayScheduledHelp();
+            String railwayNo = first.getRailwayNo() == null ? "" : first.getRailwayNo();
+            railwayHelp.setRailwayNo(railwayNo);
+            railwayHelp.setBaseSpotNo(first.getBaseSpotNo());
+            railwayHelp.setBaseSpotName(first.getBaseSpotName());
+
+            //查询车号是否为空,为空写入报警信息表
             if(StringUtils.isEmpty(first.getRailwayNo())) {
-                helpContent = "车号为空,请联系处理";
-                meterWorkRailwayScheduledHelpService.scheduledHelp("", first.getBaseSpotNo(), first.getBaseSpotName(), helpContent);
-            }
-
-            //根据车号、电话、司机姓名获取远程求助信息
-            /*HashMap<String, Object> map = new HashMap<>();
-            map.put("carNo", carNo);
-            map.put("baseSpotNo", baseSpotNo);
-            map.put("baseSpotName", baseSpotName);
-            List<MeterWorkScheduledHelp> model = meterWorkScheduledHelpMapper.selectByParameters(map);
-            //若是远程求助信息里面没有求助信息,重新生成Id直接插入
-            if(model.size() >= 1){
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
-                helpModel.setHelpId(sdf.format(new Date()));
-                helpModel.setCarNo(carNo);
-                helpModel.setBaseSpotNo(baseSpotNo);
-                helpModel.setBaseSpotName(baseSpotName);
-                helpModel.setHelpContent(helpContent);
-                helpModel.setCreateTime(new Date());
-                helpModel.setValueFlag("0");
-                int i = meterWorkScheduledHelpMapper.insertSelective(helpModel);
-                if( i > 0){
-                    rm.setSucceed();
-                    rm.setMessage("数据正在处理,请等待!!");
-                    rm.setCode("200");
-                    rm.setData(helpModel);
-                }else{
-                    rm.setMessage("操作失败");
-                    rm.setCode("500");
-                    rm.setFailed();
-                }
-            }else {  //若有求助信息,更新远程求助表
-                model.get(0).setHelpContent(helpContent);
-                model.get(0).setCreateTime(new Date());
-                model.get(0).setValueFlag("0");
-                int i = meterWorkScheduledHelpMapper.updateByPrimaryKeySelective(model.get(0));
-                if (i > 0) {
-                    rm.setSucceed();
-                    rm.setMessage("数据正在处理,请等待!!");
-                    rm.setCode("200");
-                    rm.setData(model);
-                } else {
-                    rm.setMessage("操作失败");
-                    rm.setCode("500");
-                    rm.setFailed();
+                railwayHelp.setHelpContent("车号为空,请联系处理");
+                meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
+                rm.setMessage("车号为空,请确认!!");
+                return rm;
+            }else {
+                //查询根据车号查询有效的一次数据
+                HashMap<String, Object> map = new HashMap<>();
+                map.put("railwayNo", railwayNo);
+                map.put("valueFlag", "1");
+                List<MeterWorkRailwayActFirst> firstList = meterWorkRailwayActFirstMapper.selectByParameters(map);
+                if(firstList.size() >= 1) {
+                    if(acutal.)
+                    for (MeterWorkRailwayActFirst actFirst: firstList) {
+
+                    }
+                }else {
+                    first.setActualFirstNo(afl + meterWorkRailwayActFirstMapper.getNewID(afl));
+                    int i = meterWorkRailwayActFirstMapper.insertSelective(first);
+                    if(i >= 1) {
+                        railwayHelp.setHelpContent("计量完成,车号京A00000无委托洁净");
+                        meterWorkRailwayScheduledHelpService.checkAdd(railwayHelp);
+                        rm.setSucceed();
+                        rm.setMessage("自动保存一次数据成功!!");
+                        rm.setData(first);
+                        return rm;
+                    }
                 }
             }*/
 
@@ -3997,6 +3993,115 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
         return rm;
     }
 
+    public String matchPreClean(MeterWorkRailwayActFirst grossModel, MeterWorkRailwayActFirst tareModel){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String sfl = sdf.format(new Date());
+        MeterWorkRailwayActual actualRow = new MeterWorkRailwayActual();
+
+        List<PreRailwayScale> railwayScales = preRailwayScaleMapper.selectByRailwayNo(grossModel.getRailwayNo());
+        if(railwayScales.size() >= 1) {
+            if(railwayScales.size() == 1) {
+                ///////////无委托自动计量
+
+                PreRailwayScale scale = railwayScales.get(0);
+                MeterWorkRailwayActFirst actFirst01 = meterWorkRailwayActFirstMapper.selectAndMatch(grossModel.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(actFirst01, grossModel);
+                MeterWorkRailwayActFirst actFirst02 = meterWorkRailwayActFirstMapper.selectAndMatch(tareModel.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(actFirst02, tareModel);
+
+                //更新预报数据
+                scale.setValueFlag(DbConstants.NET);
+                scale.setUpdateTime(new Date());
+                scale.setUpdateManNo("system");
+                scale.setUpdateManName("自助计量洁净更新");
+                scale.setUploadFlag("1");
+                scale.setPredictionType("1");
+                preRailwayScaleMapper.updateByPrimaryKeySelective(scale);
+
+                //更新一次数据
+                //更新第一次毛重数据库
+                grossModel.setValueFlag(DbConstants.NET);
+                grossModel.setUpdateManName("system");
+                grossModel.setUpdateManName("智能计量双委托洁净更新");
+                grossModel.setUpdateTime(new Date());
+                grossModel.setWeightType("0");
+                grossModel.setIsPreSacale("1");
+                grossModel.setPredictionNo(scale.getPredictionNo());
+                grossModel.setPredictionType("1");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+                //更新第一次皮重数据库
+                tareModel.setValueFlag(DbConstants.NET);
+                tareModel.setUpdateManName("system");
+                tareModel.setUpdateManName("自助计量洁净更新");
+                tareModel.setUpdateTime(new Date());
+                tareModel.setWeightType("1");
+                tareModel.setIsPreSacale("1");
+                tareModel.setPredictionNo(scale.getPredictionNo());
+                tareModel.setPredictionType("1");
+                meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+                //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
+                MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAddPre(grossModel.getActualFirstNo(), tareModel.getActualFirstNo(), scale.getPredictionNo());
+                BeanUtils.copyProperties(mwca1, actualRow);
+
+                //添加结净数据
+                String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
+                actualRow.setActualNo(sdf.format(new Date()) + no);
+                actualRow.setNetTime(new Date());
+                actualRow.setNetMode(DbConstants.TYPE);
+                actualRow.setNote("自助计量匹配洁净");
+                actualRow.setNetMode("1");
+                actualRow.setUploadFlag("1");
+                actualRow.setValueFlag("1");
+                actualRow.setIsPreSacale("1");
+                actualRow.setPredictionNo(scale.getPredictionNo());
+                actualRow.setPredictionType("1");
+                actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+                meterWorkRailwayActualMapper.insertSelective(actualRow);
+            }else {
+                return grossModel.getRailwayNo() + "车号在委托信息表含有多条有效委托信息,不允许匹配委托洁净,请确认!!";
+            }
+        }else {
+            ///////////无委托自动计量
+
+            //更新第一次毛重数据库
+            grossModel.setValueFlag(DbConstants.NET);
+            grossModel.setUpdateManName("system");
+            grossModel.setUpdateManName("自助计量洁净更新");
+            grossModel.setUpdateTime(new Date());
+            grossModel.setWeightType("0");
+            grossModel.setIsPreSacale("0");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(grossModel);
+            //更新第一次皮重数据库
+            tareModel.setValueFlag(DbConstants.NET);
+            tareModel.setUpdateManName("system");
+            tareModel.setUpdateManName("自助计量洁净更新");
+            tareModel.setUpdateTime(new Date());
+            tareModel.setWeightType("1");
+            tareModel.setIsPreSacale("0");
+            meterWorkRailwayActFirstMapper.updateByPrimaryKey(tareModel);
+
+            //将委托中的编号和收发货单位和一次数据等数据拷贝进结净数据中
+            MeterWorkRailwayActual mwca1 = meterWorkRailwayActualMapper.manualAdd(grossModel.getActualFirstNo(), tareModel.getActualFirstNo());
+            BeanUtils.copyProperties(mwca1, actualRow);
+
+            //添加结净数据
+            String no = meterWorkRailwayActualMapper.getNewID(sdf.format(new Date()));
+            actualRow.setActualNo(sdf.format(new Date()) + no);
+            actualRow.setNetTime(new Date());
+            actualRow.setNetMode(DbConstants.TYPE);
+            actualRow.setNote("自助计量匹配洁净");
+            actualRow.setNetMode("1");
+            actualRow.setUploadFlag("1");
+            actualRow.setValueFlag("1");
+            actualRow.setIsPreSacale("0");
+            actualRow.setNetWeight(grossModel.getMeterWeight().subtract(tareModel.getMeterWeight()));
+            meterWorkRailwayActualMapper.insertSelective(actualRow);
+            return "计量完成,车号"+ grossModel.getRailwayNo() +"无委托洁净";
+        }
+        return "";
+    }
+
     public static void main(String[] args) {
         BigDecimal a = new BigDecimal(95120);
         BigDecimal b = a.divide(new BigDecimal(1000));

+ 2 - 0
src/main/java/com/steerinfo/meterwork/meterworkrailwayscheduledhelp/controller/MeterWorkRailwayScheduledHelpController.java

@@ -163,4 +163,6 @@ public class MeterWorkRailwayScheduledHelpController extends BaseRESTfulControll
         }
         return rm;
     }
+
+
 }

+ 2 - 0
src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.java

@@ -50,4 +50,6 @@ public interface PreRailwayScaleMapper extends IBaseMapper<PreRailwayScale, Stri
     void updateMeterWorkRailwayReceiveds(String s);
 
     PreRailwayScale selectBypredictionNo(@Param( value = "predictionNo") String predictionNo);
+
+    List<PreRailwayScale> selectByRailwayNo(@Param( value = "railwayNo") String railwayNo);
 }

+ 9 - 1
src/main/java/com/steerinfo/pretrack/prerailwayscale/mapper/PreRailwayScaleMapper.xml

@@ -3077,4 +3077,12 @@
             PREDICTION_NO = #{predictionNo}
         </where>
     </select>
-</mapper>
+
+    <select id="selectByRailwayNo" parameterType="java.lang.String" resultMap="BaseResultMap">
+      <include refid="select"/>
+      <where>
+        railway_no = #{railwayNo}
+        and value_flag = '1'
+      </where>
+    </select>
+  </mapper>

+ 2 - 1
src/main/java/com/steerinfo/pretrack/pretrackscale/controller/PreTrackScaleController.java

@@ -22,6 +22,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.HashMap;
 import java.util.List;
@@ -49,7 +50,7 @@ public class PreTrackScaleController extends BaseRESTfulController {
     @Autowired
     IPreTrackScaleService preTrackScaleService;
 
-    @Autowired
+    @Resource
     PreTrackScaleMapper preTrackScaleMapper;
 
     @ApiOperation(value = "获取列表", notes = "分页查询")