BourneCao преди 4 години
родител
ревизия
13f8d4152b

+ 61 - 0
src/main/java/com/steerinfo/baseinfo/meterbasecar/controller/MeterBaseCarController.java

@@ -403,4 +403,65 @@ public class MeterBaseCarController extends BaseRESTfulController {
 
         return success();
     }
+
+    @ApiOperation(value = "PC新增车辆", notes = "PC新增车辆")
+    @Transactional
+    @PostMapping(value = "/addcar")
+    public RESTfulResult addcar(@RequestBody HashMap params) {
+        try {
+            String msg = "";
+
+            // 检查车辆是否存在
+            HashMap query = new HashMap();
+            query.put("carNo", params.get("carNo").toString());
+            query.put("validFlag", "0");
+
+            List<MeterBaseCar> list = meterBaseCarService.query(query);
+            if(list.size() == 0){
+                // sso注册
+                SSOUtil ssoUtil = new SSOUtil();
+                HashMap ssoMap = ssoUtil.ssoRegister(params);
+
+                // sso注册成功时,增加车辆表
+                if (ssoMap.get("code").equals("1")) {
+                    return failed(null, ssoMap.get("msg").toString());
+                }
+                else {
+                    // sso注册成功时,增加车辆表
+                    if (com.steerinfo.util.StringUtils.isNotEmpty(msg) && !msg.equals("账号已被注册")) {
+                        return failed(null, msg);
+                    } else {
+                        MeterBaseCar car = new MeterBaseCar();
+                        // 将车辆类型,载重信息加入实体
+                        car.setCarNo(params.get("carNo").toString());
+
+                        car.setCarTypeNo(params.get("carTypeNo").toString());
+                        car.setCarTypeName(params.get("carTypeName").toString());
+                        if (params.get("carCarrierWeight") != null) {
+                            car.setCarCarrierWeight(new BigDecimal(params.get("carCarrierWeight").toString()));
+                        }
+
+                        car.setCreateManNo("admin");
+                        car.setCreateManName("admins");
+                        car.setCreateTime(new Date());
+
+                        msg = meterBaseCarService.checkandadd(car);
+                    }
+                }
+            }
+            else {
+                msg = "车辆已存在";
+            }
+
+            if (com.steerinfo.util.StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
+    }
 }

+ 1 - 1
src/main/java/com/steerinfo/baseinfo/meterbasecar/service/impl/MeterBaseCarServiceImpl.java

@@ -127,7 +127,7 @@ public class MeterBaseCarServiceImpl extends BaseServiceImpl<MeterBaseCar, Strin
         if (model == null){
             return "参数不能为空!!";
         }
-        if (StringUtils.isEmpty(model.getPkNo())){
+        if (StringUtils.isEmpty(model.getCarNo())){
             return "车号不能为空!!";
         }
 

+ 22 - 7
src/main/java/com/steerinfo/baseinfo/meterbasedriver/controller/MeterBaseDriverController.java

@@ -1,23 +1,26 @@
 package com.steerinfo.baseinfo.meterbasedriver.controller;
 
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.baseinfo.meterbasecussupcar.model.MeterBaseCusSupCar;
 import com.steerinfo.framework.controller.BaseRESTfulController;
 import com.steerinfo.framework.controller.RESTfulResult;
 import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.user.UserPayload;
 import com.steerinfo.framework.utils.collection.ListUtils;
 import com.steerinfo.baseinfo.meterbasedriver.model.MeterBaseDriver;
 import com.steerinfo.baseinfo.meterbasedriver.service.IMeterBaseDriverService;
+import com.steerinfo.util.StringUtils;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.ArrayList;
+import java.util.*;
 import java.math.BigDecimal;
 
 /**
@@ -35,6 +38,7 @@ import java.math.BigDecimal;
  */
 @RestController
 @RequestMapping("/${api.version}/meterbasedrivers")
+@Api(value = "/${api.version}/meterbasedrivers", tags = "司机信息 - MeterBaseDriverController")
 public class MeterBaseDriverController extends BaseRESTfulController {
 
     @Autowired
@@ -66,11 +70,22 @@ public class MeterBaseDriverController extends BaseRESTfulController {
     
     @ApiOperation(value="创建", notes="根据MeterBaseDriver对象创建")
     @ApiImplicitParam(name = "meterBaseDriver", value = "详细实体meterBaseDriver", required = true, dataType = "MeterBaseDriver")
+    @Transactional
     //@RequiresPermissions("meterbasedriver:create")
     @PostMapping(value = "/")
     public RESTfulResult add(@ModelAttribute MeterBaseDriver model){
-        MeterBaseDriver meterBaseDriver = meterBaseDriverService.add(model);
-        return success(meterBaseDriver);
+
+        try {
+            String msg = meterBaseDriverService.checkandadd(model);
+            if (StringUtils.isNotEmpty(msg)) {
+                return failed(null, msg);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return failed(null, "操作异常,请确认!");
+        }
+        return success();
     }
 
     @ApiOperation(value="获取详细信息", notes="根据url的id来获取详细信息")

+ 8 - 0
src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/IMeterBaseDriverService.java

@@ -1,9 +1,11 @@
 package com.steerinfo.baseinfo.meterbasedriver.service;
 
+import com.steerinfo.baseinfo.meterbasecussupcar.model.MeterBaseCusSupCar;
 import com.steerinfo.framework.service.IBaseService;
 import com.steerinfo.baseinfo.meterbasedriver.model.MeterBaseDriver;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * MeterBaseDriver服务接口:
@@ -19,5 +21,11 @@ import java.math.BigDecimal;
  * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
  */
 public interface IMeterBaseDriverService extends IBaseService<MeterBaseDriver, String>{
+    String checkandadd(MeterBaseDriver model);
 
+    String Recovery(List<MeterBaseDriver> models);
+
+    String abolish(List<MeterBaseDriver> models);
+
+    String checkandupdate(String id,MeterBaseDriver model);
 }

+ 100 - 0
src/main/java/com/steerinfo/baseinfo/meterbasedriver/service/impl/MeterBaseDriverServiceImpl.java

@@ -1,14 +1,21 @@
 package com.steerinfo.baseinfo.meterbasedriver.service.impl;
 
+import com.steerinfo.baseinfo.meterbasecussupcar.model.MeterBaseCusSupCar;
 import com.steerinfo.framework.mapper.IBaseMapper;
 import com.steerinfo.framework.service.impl.BaseServiceImpl;
 import com.steerinfo.baseinfo.meterbasedriver.model.MeterBaseDriver;
 import com.steerinfo.baseinfo.meterbasedriver.mapper.MeterBaseDriverMapper;
 import com.steerinfo.baseinfo.meterbasedriver.service.IMeterBaseDriverService;
+import com.steerinfo.framework.user.UserPayload;
+import com.steerinfo.util.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * MeterBaseDriver服务实现:
@@ -33,4 +40,97 @@ public class MeterBaseDriverServiceImpl extends BaseServiceImpl<MeterBaseDriver,
     protected IBaseMapper<MeterBaseDriver, String> getMapper() {
         return meterBaseDriverMapper;
     }
+
+    @Override
+    public String checkandadd(MeterBaseDriver model)
+    {
+        String msg=check(model);
+        if (StringUtils.isNotEmpty(msg)){
+            return msg;
+        }
+
+        String no=model.getCarId()+model.getTelNum();
+        model.setDriverNo(no);
+
+        UserPayload payload = UserPayload.getCurrUser();
+        String userId = payload.getId();
+        String userName = payload.getUserName();
+
+        model.setCreateManNo(userId);
+        model.setCreateManName(userName);
+        model.setCreateTime(new Date());
+        model.setValidFlag("0");//服役
+
+        meterBaseDriverMapper.insert(model);
+        return "";
+    }
+
+    @Override
+    public String Recovery(List<MeterBaseDriver> models)
+    {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseDriver model:models) {
+                model.setValidFlag("0");
+                model.setUpdateManName(model.getUpdateManName());
+                model.setUpdateManNo(model.getUpdateManNo());
+                model.setUpdateTime(new Date());
+                meterBaseDriverMapper.updateByPrimaryKey(model);
+
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String abolish(List<MeterBaseDriver> models)
+    {
+        try {
+            if (models == null || models.size() < 1) {
+                return "请传入参数!";
+            }
+            for (MeterBaseDriver model:models) {
+                model.setValidFlag("1");
+                model.setUpdateManName(model.getUpdateManName());
+                model.setUpdateManNo(model.getUpdateManNo());
+                model.setUpdateTime(new Date());
+                meterBaseDriverMapper.updateByPrimaryKey(model);
+
+            }
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return "操作异常,请联系管理员";
+        }
+        return "";
+    }
+
+    @Override
+    public String checkandupdate(String id,MeterBaseDriver model)
+    {
+        String msg=check(model);
+        if (StringUtils.isNotEmpty(msg)){
+            return msg;
+        }
+
+        meterBaseDriverMapper.updateByPrimaryKeySelective(model);
+        return "";
+    }
+
+    private String check(MeterBaseDriver model)
+    {
+        if (model == null){
+            return "参数不能为空!!";
+        }
+        if (StringUtils.isEmpty(model.getCarId())){
+            return "车号不能为空!!";
+        }
+        return "";
+    }
 }