dengyj před 4 roky
rodič
revize
ed87e277a4

+ 31 - 6
src/main/java/com/steerinfo/baseinfo/appphonehelp/controller/AppPhoneHelpController.java

@@ -9,6 +9,7 @@ import com.steerinfo.baseinfo.appphonehelp.service.IAppPhoneHelpService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.apache.shiro.crypto.hash.Hash;
@@ -110,30 +111,54 @@ public class AppPhoneHelpController extends BaseRESTfulController {
     }
 
     @ApiOperation(value = "App端远程求助按钮", notes = "App端远程求助按钮")
-    @GetMapping(value = "/phoneHelp")
-    public RESTfulResult phoneHelp(@RequestParam HashMap<String, Object> param) {
+    @PostMapping(value = "/phoneHelp")
+    public RESTfulResult phoneHelp(@RequestBody HashMap<String, Object> param) {
         RESTfulResult rm = failed();
         String carNo = param.get("carNo") == null ? "":param.get("carNo").toString();
         String phoneNo = param.get("phoneNo") == null ? "" : param.get("phoneNo").toString();
         String driverName = param.get("driverName") == null ? "" : param.get("driverName").toString();
         try{
-            if(carNo == null){
+            if(com.steerinfo.util.StringUtils.isEmpty(carNo)){
                 rm.setMessage("车号不能为空!!");
                 return rm;
-            }else if(phoneNo == null){
+            }else if(com.steerinfo.util.StringUtils.isEmpty(phoneNo)){
                 rm.setMessage("电话号码不能为空!!");
                 return rm;
-            }else if(driverName == null){
+            }else if(com.steerinfo.util.StringUtils.isEmpty(driverName)){
                 rm.setMessage("司机姓名不能为空!!");
                 return rm;
             }else{
-                appPhoneHelpService.phoneHelp(carNo, phoneNo, driverName);
+                rm = appPhoneHelpService.phoneHelp(carNo, phoneNo, driverName);
             }
+        }catch(Exception e){
+            e.printStackTrace();
+            rm.setMessage("操作异常,请确认!!");
+        }
+        return rm;
+    }
 
+    @ApiOperation(value = "App端远程求助确认按钮", notes = "App端远程求助确认按钮")
+    @GetMapping(value = "/phoneHelpComfirm")
+    public RESTfulResult phoneHelpComfirm(@RequestParam String id, String createNo, String createName, String result) {
+        RESTfulResult rm = failed();
+        try{
+            if(com.steerinfo.util.StringUtils.isEmpty(id)){
+                rm.setMessage("远程求助ID不能为空!!");
+                return rm;
+            }else if(com.steerinfo.util.StringUtils.isEmpty(createNo)){
+                rm.setMessage("处理人编号不能为空!!");
+                return rm;
+            }else if(com.steerinfo.util.StringUtils.isEmpty(createName)){
+                rm.setMessage("处理人名称不能为空!!");
+                return rm;
+            }else{
+                rm = appPhoneHelpService.phoneHelpComfirm(id, createNo, createName, result);
+            }
         }catch(Exception e){
             e.printStackTrace();
             rm.setMessage("操作异常,请确认!!");
         }
         return rm;
     }
+
 }

+ 5 - 1
src/main/java/com/steerinfo/baseinfo/appphonehelp/mapper/AppPhoneHelpMapper.java

@@ -2,9 +2,13 @@ package com.steerinfo.baseinfo.appphonehelp.mapper;
 
 import com.steerinfo.baseinfo.appphonehelp.model.AppPhoneHelp;
 import com.steerinfo.framework.mapper.IBaseMapper;
-import java.math.*;
+import java.util.HashMap;
+import java.util.List;
+
+import com.steerinfo.metadata.App;
 import org.apache.ibatis.annotations.Mapper;
 
 @Mapper
 public interface AppPhoneHelpMapper extends IBaseMapper<AppPhoneHelp, String> {
+        AppPhoneHelp selectByMap(HashMap<String, Object> map);
 }

+ 5 - 1
src/main/java/com/steerinfo/baseinfo/appphonehelp/mapper/AppPhoneHelpMapper.xml

@@ -338,5 +338,9 @@
   </delete>
   <!-- 友情提示!!!-->
   <!-- 请将自己写的代码放在此标签之下,方便以后粘贴复制。-->
-  
+
+  <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
+    <include refid="select"/>
+    <include refid="where"/>
+  </select>
 </mapper>

+ 1 - 0
src/main/java/com/steerinfo/baseinfo/appphonehelp/service/IAppPhoneHelpService.java

@@ -21,4 +21,5 @@ import java.math.BigDecimal;
  */
 public interface IAppPhoneHelpService extends IBaseService<AppPhoneHelp, String>{
     RESTfulResult phoneHelp(String carNo, String phoneNo, String driverName);
+    RESTfulResult phoneHelpComfirm(String id, String createNo, String createName, String result);
 }

+ 74 - 2
src/main/java/com/steerinfo/baseinfo/appphonehelp/service/impl/AppPhoneHelpServiceImpl.java

@@ -8,8 +8,10 @@ import com.steerinfo.baseinfo.appphonehelp.mapper.AppPhoneHelpMapper;
 import com.steerinfo.baseinfo.appphonehelp.service.IAppPhoneHelpService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.text.SimpleDateFormat;
 import java.util.Date;
-import java.math.BigDecimal;
+import java.util.HashMap;
 
 /**
  * AppPhoneHelp服务实现:
@@ -37,6 +39,76 @@ public class AppPhoneHelpServiceImpl extends BaseServiceImpl<AppPhoneHelp, Strin
 
     @Override
     public RESTfulResult phoneHelp(String carNo, String phoneNo, String driverName) {
-        return null;
+        RESTfulResult rm = new RESTfulResult();
+        //新建AppPhoneHelp类存储远程救助信息
+        AppPhoneHelp helpModel = new AppPhoneHelp();
+        //根据车号、电话、司机姓名获取远程求助信息
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("carNo", carNo);
+        map.put("phoneNo", phoneNo);
+        map.put("driverName", driverName);
+        AppPhoneHelp model = appPhoneHelpMapper.selectByMap(map);
+        //若是远程求助信息里面没有求助信息,重新生成Id直接插入
+        if(model == null){
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
+            helpModel.setHelpId(sdf.format(new Date()));
+            helpModel.setCarNo(carNo);
+            helpModel.setPhoneNo(phoneNo);
+            helpModel.setDriverName(driverName);
+            helpModel.setCreateTime(new Date());
+            helpModel.setValueFlag("0");
+            helpModel.setHelpId(sdf.format(new Date()));
+            int i = appPhoneHelpMapper.insertSelective(helpModel);
+            if( i > 0){
+                rm.setMessage("操作成功");
+                rm.setCode("200");
+                rm.setSucceed();
+            }else{
+                rm.setMessage("操作失败");
+                rm.setCode("500");
+                rm.setFailed();
+            }
+        }else{  //若有求助信息,更新远程求助表
+            model.setCreateTime(new Date());
+            model.setValueFlag("0");
+            int i = appPhoneHelpMapper.updateByPrimaryKeySelective(model);
+            if( i > 0){
+                rm.setMessage("操作成功");
+                rm.setCode("200");
+                rm.setSucceed();
+            }else{
+                rm.setMessage("操作失败");
+                rm.setCode("500");
+                rm.setFailed();
+            }
+        }
+        return rm;
     }
+
+    @Override
+    public RESTfulResult phoneHelpComfirm(String id, String createNo, String createName, String result) {
+        RESTfulResult rm = new RESTfulResult();
+        AppPhoneHelp model = appPhoneHelpMapper.selectByPrimaryKey(id);
+        if(model == null){
+            rm.setMessage("根据远程求助信息ID未找到相应远程求助信息,请确认!!");
+            rm.setData(null);
+            rm.setFailed();
+        }else{
+            model.setCreateNo(createNo);
+            model.setCreateName(createName);
+            model.setEndTime(new Date());
+            model.setValueFlag("1");
+            model.setResult(result);
+            int i = appPhoneHelpMapper.updateByPrimaryKey(model);
+            if( i > 0){
+                rm.setMessage("操作成功");
+                rm.setSucceed();
+            }else{
+                rm.setMessage("操作失败");
+                rm.setFailed();
+            }
+        }
+        return rm;
+    }
+
 }

+ 104 - 18
src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java

@@ -281,14 +281,17 @@ public class MeterBaseCarController extends BaseRESTfulController {
     @PostMapping(value = "/applogin")
     public RESTfulResult applogin(@RequestBody HashMap params) {
 
-        String msg = "";
+        RESTfulResult rm = failed();
         Object ssodata = "";
 
+        HashMap<String, Object> info = new HashMap();
         try {
             if (params.get("carNo") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("carNo").toString())) {
-                msg = "车号不能为空!!";
+                rm.setMessage("车号不能为空!!");
+                return rm;
             } else if (params.get("telNum") == null || com.steerinfo.util.StringUtils.isEmpty(params.get("telNum").toString())) {
-                msg = "手机号不能为空!!";
+                rm.setMessage("手机号不能为空!!");
+                return rm;
             } else {
                 // 状态(0:服役;1:停役;2:删除)
                 params.put("validFlag", "0");
@@ -297,32 +300,38 @@ public class MeterBaseCarController extends BaseRESTfulController {
                 List<MeterBaseCusSupCar> list = meterBaseDriverService.query(params);
                 if (list.size() >= 1) {
                     // sso登录
-
                     SSOUtil ssoUtil = new SSOUtil();
                     HashMap map = ssoUtil.ssoLogin(params, "");
 
                     if (map.get("code").toString().equals("0")) {
                         ssodata = map.get("data").toString();
+                        info.put("ssoData", ssodata);
+                        HashMap<String, Object> carInfoMap = new HashMap<>();
+                        carInfoMap.put("carNo", params.get("carNo"));
+                        List<MeterBaseCar> carInfo = meterBaseCarMapper.selectByParameters(carInfoMap);
+                        if(carInfo.size() >= 1){
+                            info.put("carInfo", carInfo);
+                            rm.setData(info);
+                            rm.setMessage("操作成功");
+                            rm = success();
+                            return rm;
+                        }else{
+                            rm.setMessage("车辆配置信息表没有此车号");
+                            return rm;
+                        }
                     } else {
-                        msg = map.get("msg").toString();
+                        rm.setMessage(map.get("msg").toString());
                     }
-
                 } else {
-                    msg = "没有此车号或手机号";
+                    rm.setMessage("没有此车号或手机号");
                 }
             }
-
-            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
-                return failed(null, msg);
-            }
-
         } catch (Exception e) {
             e.printStackTrace();
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return failed(null, "操作异常,请确认!");
         }
-
-        return success(ssodata);
+        return rm;
     }
 
     @ApiOperation(value = "app非司机登录", notes = "app非司机登录")
@@ -376,8 +385,8 @@ public class MeterBaseCarController extends BaseRESTfulController {
         RESTfulResult rm = failed();
         String carNo = params.get("carNo").toString();
         String telNum = params.get("telNum").toString();
-        String passWord = params.get("passWord").toString();
-        String passCode = params.get("passCode").toString();
+        String passWord = params.get("newpassword").toString();
+        String passCode = params.get("code").toString();
         try {
             if (carNo == null || com.steerinfo.util.StringUtils.isEmpty(carNo)) {
                 rm.setMessage("车号不能为空!!");
@@ -399,7 +408,8 @@ public class MeterBaseCarController extends BaseRESTfulController {
                     //当前时间是否在过期时间之内
                     Date date = new Date();
                     //验证码是否过期
-                    if(date.compareTo(modelTemp.getExpirationTime()) > 0){
+                    int flag = date.compareTo(modelTemp.getExpirationTime());
+                    if(flag > 0 || modelTemp.getValueFlag().equals("0")){
                         rm.setMessage("验证码已过期,请重新发送验证码!!");
                         modelTemp.setValueFlag("0");
                         appVerificationCodeMapper.updateByPrimaryKey(modelTemp);
@@ -436,6 +446,83 @@ public class MeterBaseCarController extends BaseRESTfulController {
         return success();
     }
 
+    @ApiOperation(value = "通过手机发送验证码重置密码", notes = "app重置密码")
+    @Transactional
+    @PostMapping(value = "/appreSetPwdByCode")
+    public RESTfulResult appreSetPwdByCode(@RequestBody HashMap params) {
+        RESTfulResult rm = failed();
+
+        rm.setMessage("");
+        String carNo = params.get("carNo").toString();
+        String telNum = params.get("telNum").toString();
+        String passWord = params.get("password").toString();
+        String passCode = params.get("code").toString();
+        try {
+            if (carNo == null || com.steerinfo.util.StringUtils.isEmpty(carNo)) {
+                rm.setMessage("车号不能为空!!");
+                return rm;
+            } else if (telNum == null || com.steerinfo.util.StringUtils.isEmpty(telNum)) {
+                rm.setMessage("手机号不能为空!!");
+                return rm;
+            } else if (passWord == null || com.steerinfo.util.StringUtils.isEmpty(passWord)) {
+                rm.setMessage("新密码不能为空!!");
+                return rm;
+            } else if(passCode == null || com.steerinfo.util.StringUtils.isEmpty(passCode)) {
+                rm.setMessage("验证码不能为空!!");
+                return rm;
+            } else {
+                //通过手机获取验证码列表
+                AppVerificationCode modelTemp =  appVerificationCodeMapper.selectByPhone(telNum);
+                if(modelTemp!=null){
+                    //当前时间是否在过期时间之内
+                    Date date = new Date();
+                    //验证码是否过期
+                    int flag = date.compareTo(modelTemp.getExpirationTime());
+                    if(flag > 0 || modelTemp.getValueFlag().equals("0")){
+                        rm.setMessage("验证码已过期,请重新发送验证码!!");
+                        modelTemp.setValueFlag("0");
+                        appVerificationCodeMapper.updateByPrimaryKey(modelTemp);
+                        return rm;
+                    }
+                    //验证码没过期且相等
+                    if(modelTemp.getCode().equals(passCode) && modelTemp.getValueFlag().equals("1")){
+                        modelTemp.setValueFlag("0");
+                        appVerificationCodeMapper.updateByPrimaryKey(modelTemp);
+                        // 判断车号,司机手机号是否存在
+                        List<MeterBaseDriver> list = meterBaseDriverService.query(params);
+                        if (list.size() >= 1) {
+                            // 获取车辆SSO ID
+                            HashMap queryMap = new HashMap();
+                            queryMap.put("carNo", params.get("carNo").toString());
+
+                            MeterBaseCar car = meterBaseCarService.getByParams(queryMap);
+
+                            // 通过车辆SSO ID重置密码
+                            if (car != null) {
+                                // SSO重置密码
+                                SSOUtil ssoUtil = new SSOUtil();
+                                rm.setMessage(ssoUtil.ssoResetPwd(car.getSsoId(), params.get("password").toString(), ""));
+                            }
+                        } else {
+                            rm.setMessage("没有此车号或手机号");
+                        }
+                    }
+                    if (com.steerinfo.util.StringUtils.isNotEmpty(rm.getMessage())) {
+                        return failed(null, rm.getMessage());
+                    }
+                }else{
+                    rm.setMessage("验证码有误!!");
+                    return rm;
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
+
     @ApiOperation(value = "app重置密码", notes = "app重置密码")
     @Transactional
     @PostMapping(value = "/appresetpwd")
@@ -485,7 +572,6 @@ public class MeterBaseCarController extends BaseRESTfulController {
         return success();
     }
 
-
     @ApiOperation(value = "web重置密码", notes = "web重置密码")
     @Transactional
     @PostMapping(value = "/webresetpwd")

+ 14 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/controller/MeterWorkCarActualFirstController.java

@@ -957,4 +957,18 @@ public class MeterWorkCarActualFirstController extends BaseRESTfulController {
             return failed(null, "操作异常,请确认!");
         }
     }
+
+    @ApiOperation(value = "应急计量批量新增")
+    @Transactional
+    @PostMapping(value = "/addEmergency", produces = "application/json;charset=UTF-8")
+    public RESTfulResult addEmergency(@RequestBody List<MeterWorkCarActualFirst> model) {
+        try {
+            RESTfulResult rm = meterWorkCarActualFirstService.addEmergency(model);
+            return rm;
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+    }
 }

+ 3 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/IMeterWorkCarActualFirstService.java

@@ -32,6 +32,7 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
     RESTfulResult checkandadd(MeterWorkCarActualFirst model, MeterMonitorNote note)  throws Exception;
 
     int checkandupdate(MeterWorkCarActualFirst model);
+
     int checkcarandupdate(MeterWorkCarActualFirst model);
 
     int audit(MeterWorkCarActualFirst model);
@@ -115,4 +116,6 @@ public interface IMeterWorkCarActualFirstService extends IBaseService<MeterWorkC
     String mixedDischarge(String actualNo1, String actualNo2,String actualNo3, String predictionNo1,String predictionNo2);
 
     String doubleEntrustmentMatch(String actualNo1, String actualNo2, String predictionNo1, String predictionNo2);
+
+    RESTfulResult addEmergency(List<MeterWorkCarActualFirst> meterWorkCarActualFirsts)  throws Exception;
 }

+ 39 - 0
src/main/java/com/steerinfo/meterwork/meterworkcaractualfirst/service/impl/MeterWorkCarActualFirstServiceImpl.java

@@ -3330,5 +3330,44 @@ public class MeterWorkCarActualFirstServiceImpl extends BaseServiceImpl<MeterWor
             return rm;
         }
     }
+
+    @Override
+    public RESTfulResult addEmergency(List<MeterWorkCarActualFirst> meterWorkCarActualFirsts) throws Exception {
+        try{
+            RESTfulResult rm = new RESTfulResult();
+            rm.setCode("200");
+            int num = 0;
+            for(MeterWorkCarActualFirst model:meterWorkCarActualFirsts){
+                if(StringUtils.isNotEmpty(model.getActualFirstNo())){
+                    MeterWorkCarActualFirst list = meterWorkCarActualFirstMapper.selectByPrimaryKey(model.getActualFirstNo());
+                    if(list != null){
+                        continue;
+                    }
+                }
+                SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
+                String afl = formatter.format(new Date());
+                String no = meterWorkCarActualFirstMapper.getNewID(afl);
+                if(StringUtils.isEmpty(model.getActualFirstNo())){
+                    model.setActualFirstNo(formatter.format(new Date()) + no);
+                }
+                model.setValueFlag("1");
+                model.setIsPreScale("0");
+                model.setDataSource("3");
+                meterWorkCarActualFirstMapper.insertSelective(model);
+                num++;
+            }
+            rm.setData(num);
+            rm.setMessage("成功");
+            return rm;
+        }
+        catch (Exception e){
+            RESTfulResult rm = new RESTfulResult();
+            rm.setCode("500");
+            rm.setData(null);
+            rm.setMessage(e.getMessage());
+            e.printStackTrace();
+            return rm;
+        }
+    }
 }
 

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

@@ -471,7 +471,7 @@ public class MeterWorkRailwayActFirstServiceImpl extends BaseServiceImpl<MeterWo
     @Transactional(rollbackFor = Exception.class)
     public List<MeterWorkRailwayActFirst> selectSta(HashMap parmas) {
         try {
-            parmas.put("railwayTypeName", "静态轨道衡");
+            //parmas.put("railwayTypeName", "静态轨道衡");
             parmas.put("railwayTypeNo", DbConstants.STATIC);
             List<MeterWorkRailwayActFirst> mwrafs = meterWorkRailwayActFirstMapper.selectSta(parmas);
             return mwrafs;

+ 1 - 1
src/main/java/com/steerinfo/meterwork/meterworkrailwaymotorialreceived/controller/MeterWorkRailwayMotorialReceivedController.java

@@ -32,7 +32,7 @@ import java.util.List;
  * @see null
  */
 @RestController
-@RequestMapping("/${api.version}/meterworkrailwaymotorialreceiveds")
+@RequestMapping("/${api.version}/meterworkrailwayreceiveds")
 public class MeterWorkRailwayMotorialReceivedController extends BaseRESTfulController {
 
     @Autowired