dengyj %!s(int64=3) %!d(string=hai) anos
pai
achega
041a0f9020

+ 3 - 0
src/main/java/com/steerinfo/baseinfo/combaseinfo/mapper/ComBaseInfoMapper.xml

@@ -558,6 +558,9 @@
     select memo
     from com_base_info
     where 1=1
+    <if test="memo != null and memo != ''">
+      and memo = #{memo, jdbcType=VARCHAR}
+    </if>
     <if test="pBaseCode != null and pBaseCode != ''">
       and p_base_code = #{pBaseCode, jdbcType=VARCHAR}
     </if>

+ 9 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserfidinfo/controller/MeterBaseRfidInfoController.java

@@ -76,6 +76,15 @@ public class MeterBaseRfidInfoController extends BaseRESTfulController {
         PageList<MeterBaseRfidInfo> list = meterBaseRfidInfoService.likeByDesc(parmas, pageNum, pageSize);
         return success(list);
     }
+
+
+    @ApiOperation(value="倒序获取列表", notes="分页模糊查询")
+    //@RequiresPermissions("meterbaserfidinfo:view")
+    @PostMapping(value = "/carNoByNoPage")
+    public RESTfulResult carNoByNoPage(@RequestBody(required = false) HashMap parmas){
+        List<String> list = meterBaseRfidInfoService.carNoByNoPage(parmas);
+        return success(list);
+    }
     
     @ApiOperation(value="创建", notes="根据MeterBaseRfidInfo对象创建")
     @ApiImplicitParam(name = "meterBaseRfidInfo", value = "详细实体meterBaseRfidInfo", required = true, dataType = "MeterBaseRfidInfo")

+ 1 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserfidinfo/mapper/MeterBaseRfidInfoMapper.java

@@ -15,4 +15,5 @@ public interface MeterBaseRfidInfoMapper extends IBaseMapper<MeterBaseRfidInfo,
     //查询RFID或者车号重复的数据
     List<MeterBaseRfidInfo> selectByMap(HashMap<String, Object> map);
     List<MeterBaseRfidInfo> likeByDesc(HashMap<String, Object> map);
+    List<String> carNoByNoPage(HashMap<String, Object> map);
 }

+ 13 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserfidinfo/mapper/MeterBaseRfidInfoMapper.xml

@@ -299,4 +299,17 @@
     </if>
     order by rfid_code asc
   </select>
+
+  <select id="carNoByNoPage" parameterType="java.util.HashMap" resultType="string">
+    select distinct car_no
+        from meter_base_rfid_info
+    where 1 = 1
+    <if test="rfidCode != null and rfidCode != ''">
+      and rfid_code like '%${rfidCode}%'
+    </if>
+    <if test="carNo != null and carNo != ''">
+      and car_no like '%${carNo}%'
+    </if>
+    order by car_no asc
+  </select>
 </mapper>

+ 2 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserfidinfo/service/IMeterBaseRfidInfoService.java

@@ -5,6 +5,7 @@ import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.framework.service.pagehelper.PageList;
 
 import java.util.HashMap;
+import java.util.List;
 
 /**
  * MeterBaseRfidInfo服务接口:
@@ -21,6 +22,7 @@ import java.util.HashMap;
  */
 public interface IMeterBaseRfidInfoService extends IBaseService<MeterBaseRfidInfo, String>{
     PageList<MeterBaseRfidInfo> likeByDesc(HashMap<String, Object> parmas, Integer pageNum, Integer pageSize);
+    List<String> carNoByNoPage(HashMap<String, Object> parmas);
     MeterBaseRfidInfo checkAndAdd(HashMap<String, Object> map);
 
 }

+ 5 - 0
src/main/java/com/steerinfo/baseinfo/meterbaserfidinfo/service/impl/MeterBaseRfidInfoServiceImpl.java

@@ -48,6 +48,11 @@ public class MeterBaseRfidInfoServiceImpl extends BaseServiceImpl<MeterBaseRfidI
         return pageInfo;
     }
 
+    @Override
+    public List<String> carNoByNoPage(HashMap<String, Object> parmas) {
+        return meterBaseRfidInfoMapper.carNoByNoPage(parmas);
+    }
+
     @Override
     public MeterBaseRfidInfo checkAndAdd(HashMap<String, Object> map) {
         MeterBaseRfidInfo model = new MeterBaseRfidInfo();

+ 16 - 0
src/main/java/com/steerinfo/baseinfo/meterbasetermtaredata/controller/MeterBaseTermTareDataController.java

@@ -277,6 +277,22 @@ throw new MarkerMetException(500, "操作异常!!");
         }
     }
 
+    @ApiOperation(value = "web端-根据Id手动保存期限皮(需要验证留存期限皮权限配置)")
+    @Transactional
+    @GetMapping(value = "/doSaveTermByConfig")
+    public RESTfulResult doSaveTermByConfig(@RequestParam String id) {
+        try {
+            if(id == null){
+                return failed(null, "计量数据编号有问题,请确认!!");
+            }
+            RESTfulResult rm = meterBaseTermTareDataService.doSaveTermByConfig(id);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            return failed(null, "保存失败,请确认!");
+        }
+    }
+
     @ApiOperation(value = "根据车号获取期限皮未失效的数据", notes = "不分页查询")
     @GetMapping(value = "/listBycarNo")
     public RESTfulResult listBycarNo(@RequestParam HashMap parmas) {

+ 1 - 0
src/main/java/com/steerinfo/baseinfo/meterbasetermtaredata/service/IMeterBaseTermTareDataService.java

@@ -33,6 +33,7 @@ public interface IMeterBaseTermTareDataService extends IBaseService<MeterBaseTer
     RESTfulResult doSaveWf(MeterBaseTermTareData oci, MeterMonitorNote note);
 
     RESTfulResult doSaveTerm(String id);
+    RESTfulResult doSaveTermByConfig(String id);
 
     RESTfulResult listBycarNo(HashMap<String, Object> parmas);
     RESTfulResult ApplistBycarNo(HashMap<String, Object> parmas);

+ 163 - 0
src/main/java/com/steerinfo/baseinfo/meterbasetermtaredata/service/impl/MeterBaseTermTareDataServiceImpl.java

@@ -1,5 +1,6 @@
 package com.steerinfo.baseinfo.meterbasetermtaredata.service.impl;
 
+import com.steerinfo.baseinfo.combaseinfo.mapper.ComBaseInfoMapper;
 import com.steerinfo.baseinfo.meterbasecar.mapper.MeterBaseCarMapper;
 import com.steerinfo.baseinfo.meterbasecar.model.MeterBaseCar;
 import com.steerinfo.baseinfo.meterbasehistaredata.mapper.MeterBaseHisTareDataMapper;
@@ -61,6 +62,9 @@ public class MeterBaseTermTareDataServiceImpl extends BaseServiceImpl<MeterBaseT
     @Resource
     private MeterBaseTermTareDataMapper meterBaseTermTareDataMapper;
 
+    @Resource
+    private ComBaseInfoMapper comBaseInfoMapper;
+
     @Resource
     private MeterBaseCarMapper meterBaseCarMapper;
 
@@ -430,6 +434,165 @@ public class MeterBaseTermTareDataServiceImpl extends BaseServiceImpl<MeterBaseT
         return rm;
     }
 
+    @Override
+    public RESTfulResult doSaveTermByConfig(String id) {
+        RESTfulResult rm = new RESTfulResult();
+        rm.setFailed();
+        try{
+
+            String userId = "";
+            String userName = "";
+            try{
+                UserPayload payload = UserPayload.getCurrUser();
+                userId = payload.getUserCode();
+                userName = payload.getUserName();
+            }catch(Exception e) {
+                userId = "system";
+                userName = "system";
+            }
+
+            HashMap<String, Object> gaugerMap = new HashMap<>();
+            gaugerMap.put("pBaseCode", "001059");
+            gaugerMap.put("memo", userId);
+            List<String> gaugerModels = comBaseInfoMapper.matterNoByBaseCode(gaugerMap);
+
+            if(gaugerModels.size() < 1) {
+                rm.setMessage("该用户<" + userName + ">没有留存期限皮权限!!");
+                rm.setCode("1");
+                return rm;
+            }
+            //从一次计量表里取出:车号、计量点编号、计量点名称、计量时间、计量重量
+            String actualFirstNo = id;
+            MeterWorkCarActualFirst modelTemp = meterWorkCarActualFirstMapper.selectByPrimaryKey(actualFirstNo);
+            String carNo = modelTemp.getCarNo();
+            String baseSpotName = modelTemp.getBaseSpotName();
+            String baseSpotNo = modelTemp.getBaseSpotNo();
+            Date meterTime = modelTemp.getCreateTime();
+            BigDecimal meterWeight = modelTemp.getMeterWeight();
+            if(StringUtils.isEmpty(carNo)){
+                rm.setMessage("车号不能为空,请确认!!");
+                rm.setCode("1");
+                return rm;
+            }
+            if(StringUtils.isEmpty(baseSpotNo) && StringUtils.isEmpty(baseSpotName)){
+                rm.setMessage("计量点编号或者计量点名称为空,请确认!!");
+                rm.setCode("1");
+                return rm;
+            }
+            if(meterTime == null || StringUtils.isEmpty(meterTime.toString())){
+                rm.setMessage("计量时间不能为空!!");
+                rm.setCode("1");
+                return rm;
+            }
+
+            HashMap<String, Object> ms = new HashMap<>();
+            ms.put("carNo", carNo);
+            ms.put("validFlag", "0");
+            ms.put("carTypeNo", "001004003");
+            List<MeterBaseCar> models = meterBaseCarMapper.selectByParameters(ms);
+            if(models.size() < 1 ) {
+                rm.setMessage("车辆不是内部车辆不能留存期限皮!!");
+                rm.setCode("1");
+                return rm;
+            }
+            if(StringUtils.isEmpty(modelTemp.getWeightType())
+                    || !(modelTemp.getWeightType().equals("1") || modelTemp.getWeightType().equals("2"))) {
+                rm.setMessage("计量类型不是皮重类型,请进行毛皮转换成皮重之后再保存期限皮!!");
+                rm.setCode("1");
+                return rm;
+            }else {
+                modelTemp.setWeightType("2");
+                modelTemp.setValueFlag("0");
+                modelTemp.setUpdateManName(userId);
+                modelTemp.setUpdateManNo(userName);
+                modelTemp.setUpdateTime(new Date());
+                modelTemp.setNote("期限皮重保存");
+                meterWorkCarActualFirstMapper.updateByPrimaryKeySelective(modelTemp);
+            }
+
+            //根据车号查询期限表的期限皮重信息
+            MeterBaseSpotInfo spotInfo = meterBaseSpotInfoMapper.selectByPrimaryKey(modelTemp.getBaseSpotNo());
+            HashMap<String, Object> map = new HashMap();
+            map.put("carNo", carNo);
+            map.put("spotAreaNo", spotInfo.getSpotAreaNo());
+            map.put("spotAreaName", spotInfo.getSpotAreaName());
+            MeterBaseTermTareData modelTerm = meterBaseTermTareDataMapper.selectWhereCarNo(map);
+            //设置数据编号
+            MeterBaseTermTareData model = new MeterBaseTermTareData();
+            //设置计量点编号、名称、车号
+            model.setBaseSpotName(baseSpotName);
+            model.setBaseSpotNo(baseSpotNo);
+            model.setSpotAreaNo(spotInfo.getSpotAreaNo());
+            model.setSpotAreaName(spotInfo.getSpotAreaName());
+            model.setCarNo(carNo);
+            //设置皮重时间、开始时间、结束时间、提醒留皮时间
+            HashMap<String, Object> tareTimemap = new HashMap();
+            tareTimemap.put("valueFlag", "0");
+            MeterBaseTermTareTime tareTimeModel = meterBaseTermTareTimeMapper.selectByMap(tareTimemap);
+            if(tareTimeModel != null){
+                Date endDate = new Date();
+                Date warnDate = new Date();
+                int day = tareTimeModel.getFixedValue();
+                endDate.setDate(endDate.getDate()+day);
+                warnDate.setDate(warnDate.getDate()+tareTimeModel.getWarnValue());
+                model.setStartTime(new Date());
+                model.setEndTime(new Date(endDate.getTime()));
+                model.setWarnTime(new Date(warnDate.getTime()));
+            }else{
+                rm.setMessage("计量人编号或者计量员为空,请确认");
+                rm.setCode("1");
+                return rm;
+            }
+            model.setMeterTime(meterTime);
+            //设置状态(0:有效;1:无效)、创建人编号、创建人、创建时间
+            model.setValueFlag("0");
+            model.setCreateManNo(userId);
+            model.setCreateManName(userName);
+            model.setCreateTime(new Date());
+            //设置皮重次数(默认7次)、设置皮重
+            model.setMeterNum(7L);
+            model.setMeterWeight(meterWeight);
+            //期限皮表未查到车号信息,直接插入,否则,更新车号信息
+            if(modelTerm == null){
+                model.setUpWeight(meterWeight.longValue());
+                model.setAvgWeight(meterWeight.longValue());
+                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+                model.setDataNo(sdf.format(new Date()));
+                meterBaseTermTareDataMapper.insertSelective(model);
+            }else if(modelTerm.getCarNo().equals(carNo)){
+                //设置上一次皮重、平均皮重
+                model.setUpWeight(modelTerm.getMeterWeight().longValue());  //BigDecimal转long类型
+                long avgValue = modelTerm.getAvgWeight() == null? 0: modelTerm.getAvgWeight();
+                long avg =avgValue + modelTerm.getMeterWeight().longValue();
+                model.setAvgWeight(avg/2);
+                model.setDataNo(modelTerm.getDataNo());
+                meterBaseTermTareDataMapper.updateByPrimaryKeySelective(model);
+            }
+
+            MeterBaseOperationLog logModel = new MeterBaseOperationLog();
+            logModel.setId(PublicMethod.IdCreate(2));
+            logModel.setCreateManNo(userId);
+            logModel.setCreateManName(userName);
+            logModel.setCreateTime(new Date());
+            logModel.setOperationPage("web端-汽车衡一次数据维护");
+            logModel.setOperationFunction("留存期限皮");
+            logModel.setOperationId(modelTemp.getActualFirstNo());
+            logModel.setOperationPredictionNo(modelTemp.getPredictionNo());
+            logModel.setOperationCarnNo(modelTemp.getCarNo());
+            logModel.setOperationBeforeFix("重量:" + modelTemp.getMeterWeight().toString());
+            meterBaseOperationLogMapper.insertSelective(logModel);
+
+            rm.setSucceed();
+            rm.setCode("200");
+            rm.setMessage("操作成功");
+        }catch(Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            rm.setMessage("操作失败," + e.getMessage());
+        }
+        return rm;
+    }
+
     @Override
     public RESTfulResult listBycarNo(HashMap<String, Object> parmas) {
         RESTfulResult rm = new RESTfulResult();

+ 1 - 0
src/main/java/com/steerinfo/metermonitor/metermonitornote/mapper/MeterMonitorNoteMapper.xml

@@ -788,6 +788,7 @@
     </if>
     <if test="operationContent != null and operationContent != '' and operationContent == '重置车号'">
       and operation_content like '%重置车号%'
+      and car_no is not null
     </if>
     <if test="startTime != null and endTime != null and startTime != '' and endTime != ''">
       and to_date(OPERATION_TIME ,'yyyy-mm-dd HH24:mi:ss') >= to_date(#{startTime},'yyyy-mm-dd HH24:mi:ss')-3/24/60

+ 2 - 1
src/main/java/com/steerinfo/meterwork/meterworkcaractual/service/impl/MeterWorkCarActualServiceImpl.java

@@ -3407,7 +3407,8 @@ public class MeterWorkCarActualServiceImpl extends BaseServiceImpl<MeterWorkCarA
                 countResetCar = countResetCarLog.stream().filter(model -> model.getBaseSpotNo() != null
                         && model.getBaseSpotName() != null
                         && model.getBaseSpotNo().equals(spot.getBaseSpotNo())
-                        && model.getBaseSpotName().equals(spot.getBaseSpotName())).count();
+                        && model.getBaseSpotName().equals(spot.getBaseSpotName())
+                        && StringUtils.isNotEmpty(model.getCarNo())).count();
             }
 
             HashMap<String, Object> obj = new HashMap<>();