Commit a0df56f3 authored by hanfeng's avatar hanfeng

修改后台车型和标签列表

parent 54567d5f
......@@ -40,6 +40,24 @@ public class QueryVehicleVo {
*/
private String subBranchName;
/**
* 停靠分支机构(id)
*/
private Integer parkBranchCompanyId;
/**
* 停靠分支机构(名称)
*/
private String parkBranchCompanyName;
/**
* 目的地分支机构(id)
*/
private Integer expectDestinationBranchCompanyId;
/**
* 目的地分支机构(名称)
*/
private String expectDestinationBranchCompanyName;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
......
package com.xxfc.platform.vehicle.pojo;
import lombok.Data;
import java.util.Date;
@Data
public class ResultVehicleVo {
/**
* 主键(uuid)
*/
private String id;
/**
* 车辆编号,0-没有
*/
private Integer code;
/**
* 车辆状态: 1-正常运行 2-维修 3-报废
*/
private Integer status;
/**
* 车牌号,空字符串-没有
*/
private String numberPlate;
/**
* 品牌(编码,对应关系见相关常量),0-未填写
*/
private Integer brand;
/**
* 所属分支机构(id)
*/
private Integer subordinateBranch;
/**
* 所属分支机构(名称)
*/
private String subBranchName;
/**
* 停靠分支机构(id)
*/
private Integer parkBranchCompanyId;
/**
* 停靠分支机构(名称)
*/
private String parkBranchCompanyName;
/**
* 目的地分支机构(id)
*/
private Integer expectDestinationBranchCompanyId;
/**
* 目的地分支机构(名称)
*/
private String expectDestinationBranchCompanyName;
/**
* 用途类型:租赁房车(1)、展车等,对应关系见车辆常量表
*/
private Integer useType;
/**
* 备注信息
*/
private String remark;
private Date createTime;
private Date updateTime;
/**
* 车架号
*/
private String vin;
/**
* 保险公司,见常量表
*/
private Integer insuranceCompany;
/**
* 保险单号
*/
private String insuranceNo;
/**
* 保险开始时间
*/
private Date insuranceStartDate;
/**
* 保险结束时间
*/
private Date insuranceEndDate;
/**
* 年审时间
*/
private Date annualVerificationDate;
/**
* 保养时间
*/
private Date maintenanceDate;
/**
* 保养公里
*/
private Integer mileage;
/**
* 保养里程数
*/
private Integer maintenanceMileage;
/**
* 车辆所属人-类型
*/
private Integer belongTo;
/**
* 所属人 名称
*/
private String belongToName;
/**
* 行驶证路径
*/
private String drivingLicensePath;
/**
* 发动机号
*/
private String engineNum;
/**
* 生产商
*/
private String manufacturer;
/**
* 收车时间
*/
private Date receiveTime;
}
\ No newline at end of file
......@@ -18,6 +18,7 @@ import com.xxfc.platform.vehicle.mapper.VehiclePlatCataMapper;
import com.xxfc.platform.vehicle.pojo.Cascade;
import com.xxfc.platform.vehicle.pojo.CataVo;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.assertj.core.util.Arrays;
import org.springframework.aop.framework.AopContext;
import org.springframework.aop.framework.AopProxyUtils;
......@@ -109,8 +110,6 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
}
/**
* 根据车型获取
*
......@@ -133,14 +132,9 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
}
/**
* 级联添加
*
* @param cascade
* @return
*/
......@@ -149,28 +143,34 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//取出一级标签
VehiclePlatCata parent = cascade.getParent();
//取出二级标签
List<VehiclePlatCata> childrens = cascade.getChildren();
if (parent==null||childrens == null) {
throw new BaseException("The tag name cannot be empty!");
}
parent.setCrtTime(System.currentTimeMillis());
parent.setState(0);
//插入一级标签获得id
parent.setIsMore(0);
parent.setRank(0);
mapper.insertSelective(parent);
Integer parentId = parent.getId();
//取出二级标签
List<VehiclePlatCata> childrens = cascade.getChildren();
//逐条插入二级标签
for (VehiclePlatCata children : childrens) {
children.setParentId(parentId);
children.setState(0);
children.setCrtTime(System.currentTimeMillis());
List<VehiclePlatCata> vehiclePlatCatas = childrens.parallelStream().filter(vehiclePlatCata -> {
vehiclePlatCata.setParentId(parentId);
vehiclePlatCata.setCrtTime(System.currentTimeMillis());
return vehiclePlatCata.getState() == 0;
}).filter(vpc -> StringUtils.isNotBlank(vpc.getName())).collect(Collectors.toList());
if (vehiclePlatCatas.size() == 0) {
throw new BaseException("No valid subtag!");
}
mapper.addPlatCataList(childrens);
mapper.addPlatCataList(vehiclePlatCatas);
return ObjectRestResponse.succ();
}
/**
* 根据父类id获取子标签
*
......@@ -193,21 +193,20 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 分页或不分页,获取一级标签及其子标签
*
*
* @param sort
* @param page
* @param limit
* @return
*/
public ObjectRestResponse getCascades( Integer page, Integer limit ,Integer sort) {
public ObjectRestResponse getCascades(Integer page, Integer limit, Integer sort) {
try {
//标签列表页面
if (sort==null||sort==0) {
if (sort == null || sort == 0) {
return getPage(page, limit);
}
//增加车型页面
if (sort==1){
if (sort == 1) {
return getList();
}
} catch (Exception e) {
......@@ -224,7 +223,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
.where(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId, 0)
.andEqualTo(VehiclePlatCata::getState, 0))
.orderByAsc("isMore","rank")
.orderByAsc("isMore", "rank")
.build();
//分页查询父类
List<VehiclePlatCata> parentvpcs = mapper.selectByExample(example);
......@@ -233,6 +232,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
return ObjectRestResponse.succ(cascades);
}
@Cache(key = RedisKey.BRANCH_COMPANY_CATA_PAGE)
private ObjectRestResponse getPage(Integer page, Integer limit) {
//获取一级标签
......@@ -299,20 +299,21 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 更新和添加
*
* @param cas
* @return
*/
@Transactional
public ObjectRestResponse updateAndAdd( Cascade<VehiclePlatCata> cas) {
public ObjectRestResponse updateAndAdd(Cascade<VehiclePlatCata> cas) {
if (cas==null||cas.getParent()==null) {
if (cas == null || cas.getParent() == null) {
return ObjectRestResponse.createDefaultFail();
}
//通过判断一级标签是否有id来判断是更新还是添加
if (cas.getParent().getId()==null||cas.getParent().getId()==0) {
if (cas.getParent().getId() == null || cas.getParent().getId() == 0) {
return addCascade(cas);
}else{
} else {
return updateCascade(cas);
}
......@@ -322,6 +323,7 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 修改
*
* @param cas
* @return
*/
......@@ -330,29 +332,40 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
try {
VehiclePlatCata parentVPC = cas.getParent();
List<VehiclePlatCata> children = cas.getChildren();
if (children == null || parentVPC == null) {
throw new BaseException("The tag name cannot be empty!");
}
//设置更新时间
parentVPC.setUpdTime(System.currentTimeMillis());
//更新一级标签
updateSelectiveById(parentVPC);
//获取子标签签
List<VehiclePlatCata> children = cas.getChildren();
//判断是否有子标签
if (children==null||children.size()==0) {
return ObjectRestResponse.createFailedResult(ResultCode.FAILED_CODE,"无子标签");
}
//过滤无用数据
List<VehiclePlatCata> VehiclePlatCatas = children.parallelStream()
.filter(vpc -> vpc.getId() != null || vpc.getState() == 0)
.filter(vpc -> StringUtils.isNotBlank(vpc.getName()))
.collect(Collectors.toList());
//判断有效数据是否为空
if (VehiclePlatCatas.size() == 0) {
throw new BaseException("No valid subtag!");
}
//遍历
for (VehiclePlatCata child : children) {
for (VehiclePlatCata VehiclePlatCata : VehiclePlatCatas) {
//判断子标签是更新还是新增
if (child.getId()==null||child.getId()==0){
child.setState(0);
child.setUpdTime(System.currentTimeMillis());
if (VehiclePlatCata.getId() == null || VehiclePlatCata.getId() == 0) {
VehiclePlatCata.setUpdTime(System.currentTimeMillis());
VehiclePlatCata.setParentId(parentVPC.getParentId());
//添加
insertSelective(child);
}else {
insertSelective(VehiclePlatCata);
} else {
//判断是否是删除
if (child.getState()==1) {
Integer id = child.getId();
if (VehiclePlatCata.getState() == 1) {
Integer id = VehiclePlatCata.getId();
VehicleCata vehicleCata = new VehicleCata();
vehicleCata.setCataId(id);
//修改车型和标签的中间表
......@@ -361,8 +374,8 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
}
//更新
child.setUpdTime(System.currentTimeMillis());
updateSelectiveById(child);
VehiclePlatCata.setUpdTime(System.currentTimeMillis());
updateSelectiveById(VehiclePlatCata);
}
}
......@@ -376,11 +389,12 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 修改rank
*
* @param id
* @param rank
* @return
*/
public ObjectRestResponse updateParentRank(Integer id, Integer rank){
public ObjectRestResponse updateParentRank(Integer id, Integer rank) {
try {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
......@@ -396,14 +410,15 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 查询当前车型拥有的标签
*
* @param ids
* @return
*/
public ObjectRestResponse getCatasByIds( String ids){
public ObjectRestResponse getCatasByIds(String ids) {
Example exa = Example.builder(VehiclePlatCata.class).where(
WeekendSqls.<VehiclePlatCata>custom()
.andIn(VehiclePlatCata::getId, Arrays.asList(ids.split(",")))
.andEqualTo(VehiclePlatCata::getState,0)
.andEqualTo(VehiclePlatCata::getState, 0)
).build();
List<VehiclePlatCata> vehiclePlatCatas = selectByExample(exa);
return ObjectRestResponse.succ(vehiclePlatCatas);
......@@ -411,11 +426,12 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 删除一级标签及其子标签
*
* @param id
* @return
*/
@Transactional
public ObjectRestResponse deleteCascadeById(Integer id){
public ObjectRestResponse deleteCascadeById(Integer id) {
//修改一级标签
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
......@@ -425,21 +441,22 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
//修改子标签
VehiclePlatCata vpc = new VehiclePlatCata();
vpc.setState(1);
mapper.updateByExampleSelective(vpc,Example.builder(VehiclePlatCata.class)
mapper.updateByExampleSelective(vpc, Example.builder(VehiclePlatCata.class)
.andWhere(WeekendSqls.<VehiclePlatCata>custom()
.andEqualTo(VehiclePlatCata::getParentId,id)).build());
.andEqualTo(VehiclePlatCata::getParentId, id)).build());
return ObjectRestResponse.succ();
}
/**
* 修改客户端查询条件
*
* @param id
* @param startUsing
* @return
*/
@Transactional
public ObjectRestResponse setStartUsingById(Integer id, Integer startUsing){
public ObjectRestResponse setStartUsingById(Integer id, Integer startUsing) {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setStartUsing(startUsing);
......@@ -450,12 +467,13 @@ public class VehiclePlatCataBiz extends BaseBiz<VehiclePlatCataMapper, VehiclePl
/**
* 修改单选还是多选
*
* @param id
* @param isMore
* @return
*/
@Transactional
public ObjectRestResponse setIsore(Integer id, Integer isMore){
public ObjectRestResponse setIsore(Integer id, Integer isMore) {
VehiclePlatCata vehiclePlatCata = new VehiclePlatCata();
vehiclePlatCata.setId(id);
vehiclePlatCata.setIsMore(isMore);
......
......@@ -11,9 +11,9 @@ import java.util.Map;
public interface VehicleMapper extends Mapper<Vehicle> {
public List<QueryVehicleVo> getByPage(Map<String, Object> params);
public List<ResultVehicleVo> getByPage(Map<String, Object> params);
public List<QueryVehicleVo> getByPageNotAllData(Map<String, Object> params);
public List<ResultVehicleVo> getByPageNotAllData(Map<String, Object> params);
public int updateStatusById(Map<String, Object> params);
......
......@@ -30,15 +30,21 @@
<select id="getByPage" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.pojo.QueryVehicleVo">
resultType="com.xxfc.platform.vehicle.pojo.ResultVehicleVo">
SELECT r.* FROM (
select DISTINCT v.`id`,
v.`code`,
v.`status`,
v.number_plate,
v.brand,
IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
IFNULL(bc.name,bc1.name) AS subBranchName,
-- IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
-- IFNULL(bc.name,bc1.name) AS subBranchName,
v.park_branch_company_id,
bc.name as parkBranchCompanyName,
v.expect_destination_branch_company_id,
bc1.name as expectDestinationBranchCompanyName,
v.subordinate_branch,
bc2.name as subBranchName,
v.use_type,
v.remark,
v.create_time,
......@@ -66,8 +72,14 @@
left join
vehicle_book_info vbi on v.`id` = vbi.vehicle
</if>
-- LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
-- LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
-- 停车分公司
LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
-- 目的地分公司
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
-- 所属分公司
LEFT JOIN branch_company bc2 ON v.subordinate_branch = bc2.id
where
v.is_del=0
<if test="mRangeDateEnd !=null">
......@@ -127,7 +139,8 @@
</foreach>
</if>
<if test="subordinateBranch !=null ">
and ( v.park_branch_company_id = #{subordinateBranch} or v.expect_destination_branch_company_id=#{subordinateBranch} )
and ( v.park_branch_company_id = #{subordinateBranch} or
v.expect_destination_branch_company_id=#{subordinateBranch} )
</if>
<if test=" addrProvince !=null or addrCity !=null or zoneId !=null ">
and (
......@@ -149,15 +162,21 @@
</select>
<select id="getByPageNotAllData" parameterType="java.util.Map"
resultType="com.xxfc.platform.vehicle.pojo.QueryVehicleVo">
resultType="com.xxfc.platform.vehicle.pojo.ResultVehicleVo">
SELECT r.* FROM (
select DISTINCT v.`id`,
v.`code`,
v.`status`,
v.number_plate,
v.brand,
IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
IFNULL(bc.name,bc1.name) AS subBranchName,
-- IFNULL(v.park_branch_company_id,v.expect_destination_branch_company_id) AS subordinate_branch,
-- IFNULL(bc.name,bc1.name) AS subBranchName,
v.park_branch_company_id,
bc.name as parkBranchCompanyName,
v.expect_destination_branch_company_id,
bc1.name as expectDestinationBranchCompanyName,
v.subordinate_branch,
bc2.name as subBranchName,
v.use_type,
v.remark,
v.create_time,
......@@ -185,8 +204,12 @@
left join
vehicle_book_info vbi on v.`id` = vbi.vehicle
</if>
-- 停车分公司
LEFT JOIN branch_company bc ON v.park_branch_company_id = bc.id
-- 目的地分公司
LEFT JOIN branch_company bc1 ON v.expect_destination_branch_company_id = bc1.id
-- 所属分公司
LEFT JOIN branch_company bc2 ON v.subordinate_branch = bc2.id
where
v.is_del=0
<if test="companyList != null">
......@@ -204,6 +227,14 @@
</foreach>
</trim>
)
or v.subordinate_branch in (
<trim suffixOverrides=",">
<foreach collection="companyList" item="companyId">
#{companyId},
</foreach>
</trim>
)
)
)
</if>
<if test="mRangeDateEnd !=null">
......@@ -262,7 +293,8 @@
</foreach>
</if>
<if test="subordinateBranch !=null ">
and ( v.park_branch_company_id = #{subordinateBranch} or v.expect_destination_branch_company_id=#{subordinateBranch} )
and ( v.park_branch_company_id = #{subordinateBranch} or
v.expect_destination_branch_company_id=#{subordinateBranch} )
</if>
<if test=" addrProvince !=null or addrCity !=null or zoneId !=null ">
and (
......
......@@ -10,9 +10,11 @@
parent_id,name,icon,depict,rank,level,state,crt_time,upd_time,isMore,start_using
) VALUES
<foreach collection ="vpclist" item="vpc" index="index" separator =",">
<if test="vpc.state == 0" >
(#{vpc.parentId},#{vpc.name},#{vpc.icon},#{vpc.depict}
,#{vpc.rank},#{vpc.level},#{vpc.state},#{vpc.crtTime}
,#{vpc.updTime},#{vpc.isMore},#{vpc.startUsing})
</if>
</foreach>
</insert>
......
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