Commit 05fbb5e5 authored by hezhen's avatar hezhen

添加车辆问题

parent e78a9a68
......@@ -104,4 +104,10 @@ public class UserBiz extends BaseBiz<UserMapper,User> {
return new TableResultResponse<User>(result.getTotal(), list);
}
}
public List<User> getCountByUsername(String username){
User user = new User();
user.setUsername(username);
return mapper.select(user);
}
}
......@@ -18,6 +18,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
......@@ -72,6 +73,13 @@ public class UserController extends CommonBaseController {
@IgnoreClientToken
public ObjectRestResponse<User> add(@RequestBody UserVO vo){
handleDataLimit(vo);
String username=vo.getUsername();
if(StringUtils.isNotBlank(username)) {
List<User> list = userBiz.getCountByUsername(username);
if (list.size() > 0) {
throw new RuntimeException("用户名不能重复");
}
}
userBiz.insertSelective(vo);
//添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
......@@ -80,10 +88,11 @@ public class UserController extends CommonBaseController {
private void handleDataLimit(@RequestBody UserVO dto) {
if(null != dto.getDataLimit()) {
if(dto.getDataLimit().contains(CURRENT_COMPANY)) {
if(dto.getDataLimit().contains(CURRENT_COMPANY)&&dto.getCompanyId()!=null) {
dto.setDataCompany(dto.getCompanyId().toString());
}
if(dto.getDataLimit().contains(CURRENT_ZONE)) {
if(dto.getDataLimit().contains(CURRENT_ZONE)&&dto.getZoneId()!=null) {
dto.setDataZone(dto.getZoneId().toString());
}
if(dto.getDataLimit().contains(DATA_ALL)) {
......@@ -148,6 +157,19 @@ public class UserController extends CommonBaseController {
@ResponseBody
public ObjectRestResponse<User> update(@RequestBody UserVO vo){
handleDataLimit(vo);
String username=vo.getUsername();
if(StringUtils.isNotBlank(username)){
List<User> list=userBiz.getCountByUsername(username);
if(list.size()>1){
throw new RuntimeException("用户名不能重复");
}
if(list.size()==1){
User user=list.get(0);
if(user.getId()!=vo.getId()){
throw new RuntimeException("用户名不能重复");
}
}
}
userBiz.updateSelectiveById(vo);
//添加权限关系
groupBiz.modifyUserGroups(vo.getId(), vo.getMembers());
......
......@@ -306,7 +306,9 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
vehicleBookRecord.setRemark(bookVehicleVo.getRemark());
vehicleBookRecord.setDestination(bookVehicleVo.getDestination());
vehicleBookRecord.setLiftCompany(bookVehicleVo.getLiftCompany());
vehicleBookRecord.setRetCompany(bookVehicleVo.getRetCompany());
vehicleBookRecordMapper.insertSelective(vehicleBookRecord);
Long bookRecordId=vehicleBookRecord.getId();
List<Map<String,Object>> params = Lists.newArrayList();
if(MapUtils.isNotEmpty(bookVehicleVo.getSelectedAccItem())){
for(Map.Entry<Integer,Integer> idAndAmount : bookVehicleVo.getSelectedAccItem().entrySet()){
......@@ -318,7 +320,7 @@ public class VehicleBiz extends BaseBiz<VehicleMapper, Vehicle> {
}
bookRecordAccItemMapper.batchAdd(params);
}
return RestResponse.suc();
return RestResponse.suc(bookRecordId);
}
@Transactional
......
......@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
......@@ -130,7 +131,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
* @return
* @throws Exception
*/
public PageDataVo<QueryVehicleBookRecordVo> page(VehicleBookRecordQueryVo vehicleBookRecordQueryVo) throws Exception{
public PageDataVo<QueryVehicleBookRecordVo> page(VehicleBookRecordQueryVo vehicleBookRecordQueryVo,List<Integer> companyList) throws Exception{
Map<String, Object> params = PropertyUtils.describe(vehicleBookRecordQueryVo);
String selectedMonth = (String)params.get("selectedMonth");
if(StringUtils.isBlank(selectedMonth)){
......@@ -150,6 +151,7 @@ public class VehicleBookRecordBiz extends BaseBiz<VehicleBookRecordMapper, Vehic
Integer pageNo = (Integer) params.get("page");
params.remove("pageNo");
PageHelper.startPage(pageNo,pageSize);
params.put("companyList", companyList);
List<QueryVehicleBookRecordVo> bookRecordAndVehicleInfo = mapper.getByPage(params);
Map<Long,Map<Integer,Integer>> rs = getRelatedAccItemsAndAmount(bookRecordAndVehicleInfo,
bookRecordAccItemTbName);
......
......@@ -45,9 +45,9 @@ public class VehicleUpkeepService {
vehicleUpkeepItemMapper.deleteByPrimaryKey(id);
}
public PageInfo<VehicleUpkeepLogVo> pageLog(String numberPlate, Integer page, Integer limit) {
public PageInfo<VehicleUpkeepLogVo> pageLog(String numberPlate, Integer page, Integer limit, List<Integer> companyList) {
PageHelper.startPage(page, limit);
return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate));
return new PageInfo<>(vehicleUpkeepLogMapper.selectVoAll(numberPlate,companyList));
}
public VehicleUpkeepLogVo getLogVoById(Integer id) {
......
......@@ -9,7 +9,7 @@ import tk.mybatis.mapper.common.Mapper;
import java.util.List;
public interface VehicleUpkeepLogMapper extends Mapper<VehicleUpkeepLog> {
List<VehicleUpkeepLogVo> selectVoAll(@Param("numberPlate") String numberPlate);
List<VehicleUpkeepLogVo> selectVoAll(@Param("numberPlate") String numberPlate,@Param("companyList")List<Integer> companyList);
VehicleUpkeepLogVo selectVoById(Integer id);
......
......@@ -146,9 +146,18 @@ public class VehicleController extends BaseController<VehicleBiz> {
public RestResponse<Integer> applyVehicle(@RequestBody BookVehicleVo bookVehicleVo) throws Exception {
Integer operatorId = Integer.parseInt(BaseContextHandler.getUserID());
String userName = BaseContextHandler.getName();
return baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName);
RestResponse<Integer> result= baseBiz.applyVehicle4Employee(operatorId, bookVehicleVo, userName);
if(result.getStatus()==200){
if(result.getData()!=null||result.getData()>0){
String id=result.getData()+"";
Long bookRecordId=Long.parseLong(id);
return baseBiz.reviewVehicleBooking(operatorId, bookRecordId, VehicleBookRecordStatus.APPROVE.getCode(), userName);
}
}
return result;
}
/**
* 批准预定车辆预定
*
......@@ -222,7 +231,14 @@ public class VehicleController extends BaseController<VehicleBiz> {
VehicleBookRecordQueryVo vehicleBookRecordQueryVo = null;
try {
vehicleBookRecordQueryVo = JSON.parseObject(vehicleBookRecordQueryVoJson, VehicleBookRecordQueryVo.class);
return RestResponse.data(vehicleBookRecordBiz.page(vehicleBookRecordQueryVo));
UserDTO userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
List<Integer> companyList =new ArrayList<>();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
}
}
return RestResponse.data(vehicleBookRecordBiz.page(vehicleBookRecordQueryVo,companyList));
} catch (JSONException ex) {
return RestResponse.code(ResCode.INVALID_REST_REQ_PARAM.getCode());
} catch (CustomIllegalParamException ex) {
......
package com.xinxincaravan.caravan.vehicle.rest;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.xinxincaravan.caravan.vehicle.biz.VehicleBiz;
import com.xinxincaravan.caravan.vehicle.biz.VehicleUpkeepService;
import com.xinxincaravan.caravan.vehicle.common.RestResponse;
import com.xinxincaravan.caravan.vehicle.constant.ResCode.ResCode;
import com.xinxincaravan.caravan.vehicle.entity.VehicleUpkeepItem;
import com.xinxincaravan.caravan.vehicle.feign.UserFeign;
import com.xinxincaravan.caravan.vehicle.feign.dto.UserDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("upkeep")
public class VehicleUpkeepController {
......@@ -14,6 +22,16 @@ public class VehicleUpkeepController {
@Autowired
private VehicleUpkeepService vehicleUpkeepService;
@Autowired
VehicleBiz vehicleBiz;
@Autowired
UserFeign userFeign;
@Autowired
private UserAuthConfig userAuthConfig;
@Autowired
protected HttpServletRequest request;
@GetMapping("item/all")
public RestResponse allItem() {
......@@ -65,7 +83,14 @@ public class VehicleUpkeepController {
page = 1;
limit = 10;
}
return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit));
UserDTO userDTO = userFeign.userinfoByToken(userAuthConfig.getToken(request)).getData();
List<Integer> companyList =new ArrayList<>();
if (userDTO != null) {
if (userDTO.getDataAll() == 2) {
companyList = vehicleBiz.dataCompany(userDTO.getDataZone(), userDTO.getDataCompany());
}
}
return RestResponse.suc(vehicleUpkeepService.pageLog(numberPlate, page, limit,companyList));
}
@GetMapping("log/{id}")
......
......@@ -72,5 +72,8 @@ public class BookVehicleVo {
*/
private Integer haveViolation;
//还车分公司
private Integer retCompany;
}
\ No newline at end of file
......@@ -189,6 +189,7 @@
vehicle_book_record
where
`book_end_date` between #{startDate} and #{endDate}
order by id
limit #{pageStart},#{pageSize}
</select>
......@@ -243,6 +244,23 @@
vehicle_book_info vbf on vbf.vehicle = vbr.vehicle and vbf.year_month = #{selectedMonth}
where
1=1
<if test="companyList != null and companyList.size() > 0">
and ( vbr.lift_company in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
or vbr.ret_company in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
</if>
<if test="liftCompany !=null">
and vbr.lift_company = #{liftCompany}
</if>
......
......@@ -34,8 +34,19 @@
left join vehicle b on a.vehicle_id = b.id
left join branch_company c on a.branch_company_id = c.id
<trim prefix="where">
1=1
<if test="numberPlate != null and numberPlate != ''">
b.number_plate = #{numberPlate}
and b.number_plate = #{numberPlate}
</if>
<if test="companyList != null and companyList.size() > 0">
and ( a.branch_company_id in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
</if>
</trim>
order by a.create_time desc
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment