20 changed files with 748 additions and 0 deletions
@ -0,0 +1,27 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:29 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualDetails extends BaseEntity { |
|||
private static final long serialVersionUID = 8008152391857378580L; |
|||
@ApiModelProperty(value = "车辆未售买断申请sid") |
|||
private String vehicleActualSid; |
|||
@ApiModelProperty(value = "车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty(value = "车型名称") |
|||
private String modelName; |
|||
@ApiModelProperty(value = "入库日期") |
|||
private Date inboundDate; |
|||
@ApiModelProperty(value = "入库价") |
|||
private String inboundPrice; |
|||
} |
@ -0,0 +1,27 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:35 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualDetailsDto implements Dto { |
|||
private static final long serialVersionUID = 4387929122120092628L; |
|||
|
|||
@ApiModelProperty(value = "车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty(value = "车型名称") |
|||
private String modelName; |
|||
@ApiModelProperty(value = "入库日期") |
|||
private Date inboundDate; |
|||
@ApiModelProperty(value = "入库价") |
|||
private String inboundPrice; |
|||
|
|||
} |
@ -0,0 +1,16 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 18:09 |
|||
* @Description |
|||
*/ |
|||
@FeignClient( |
|||
contextId = "anrui-base-BaseVehicleActualDetails", |
|||
name = "anrui-base", |
|||
path = "v1/basevehicleactualdetails", |
|||
fallback = BaseVehicleActualDetailsFeignFallback.class) |
|||
public interface BaseVehicleActualDetailsFeign { |
|||
} |
@ -0,0 +1,12 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 18:10 |
|||
* @Description |
|||
*/ |
|||
@Component |
|||
public class BaseVehicleActualDetailsFeignFallback { |
|||
} |
@ -0,0 +1,25 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualdetails; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/9 11:35 |
|||
* @Description 未售买断已选择的车辆列表 |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualDetailsVo implements Vo { |
|||
private static final long serialVersionUID = -281646013506665817L; |
|||
@ApiModelProperty(value = "sid") |
|||
private String sid; |
|||
@ApiModelProperty(value = "车架号") |
|||
private String vinNo; |
|||
@ApiModelProperty(value = "车型名称") |
|||
private String modelName; |
|||
@ApiModelProperty(value = "入库日期") |
|||
private String inboundDate; |
|||
@ApiModelProperty(value = "入库价") |
|||
private String inboundPrice; |
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.common.core.domain.BaseEntity; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 11:33 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualSales extends BaseEntity { |
|||
private static final long serialVersionUID = -8236776276492093631L; |
|||
@ApiModelProperty(value = "申请人") |
|||
private String applicationName; |
|||
@ApiModelProperty(value = "买断") |
|||
private String reason; |
|||
@ApiModelProperty(value = "节点状态") |
|||
private String nodeState; |
|||
@ApiModelProperty(value = "流程定义id") |
|||
private String procDefId; |
|||
@ApiModelProperty(value = "环节定义的sid") |
|||
private String nodeSid; |
|||
@ApiModelProperty(value = "流程实例的sid") |
|||
private String procInstSid; |
|||
|
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; |
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/9 11:28 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualSalesDetailsVo implements Vo { |
|||
private static final long serialVersionUID = -3110309934818922020L; |
|||
@ApiModelProperty(value = "未售买断sid") |
|||
private String sid; |
|||
@ApiModelProperty(value = "申请人") |
|||
private String applicationName; |
|||
@ApiModelProperty(value = "申请日期") |
|||
private String createTime; |
|||
@ApiModelProperty(value = "买断原因") |
|||
private String reason; |
|||
@ApiModelProperty(value = "车辆列表") |
|||
private List<BaseVehicleActualDetailsVo> voList = new ArrayList<>(); |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto; |
|||
import com.yxt.common.core.dto.Dto; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:22 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualSalesDto implements Dto { |
|||
private static final long serialVersionUID = 3125388598762096051L; |
|||
|
|||
@ApiModelProperty(value = "sid") |
|||
private String sid; |
|||
@ApiModelProperty(value = "申请人sid") |
|||
private String userSid; |
|||
@ApiModelProperty(value = "申请人") |
|||
private String applicationName; |
|||
@ApiModelProperty(value = "申请日期") |
|||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") |
|||
private Date createTime; |
|||
@ApiModelProperty(value = "买断原因") |
|||
private String reason; |
|||
@ApiModelProperty(value = "车辆列表") |
|||
private List<BaseVehicleActualDetailsDto> detailsList; |
|||
|
|||
|
|||
} |
@ -0,0 +1,43 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.cloud.openfeign.FeignClient; |
|||
import org.springframework.web.bind.annotation.*; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 11:57 |
|||
* @Description 未售买断管理 |
|||
*/ |
|||
@FeignClient( |
|||
contextId = "anrui-base-BaseVehicleActualSales", |
|||
name = "anrui-base", |
|||
path = "v1/basevehicleactualsales", |
|||
fallback = BaseVehicleActualSalesFeignFallback.class) |
|||
public interface BaseVehicleActualSalesFeign { |
|||
|
|||
@ApiOperation("分页列表") |
|||
@PostMapping("/listPage") |
|||
@ResponseBody |
|||
ResultBean<PagerVo<BaseVehicleActualSalesVo>> listPage(@RequestBody PagerQuery<BaseVehicleActualSalesQuery> pagerQuery); |
|||
|
|||
@ApiOperation("新增或修改") |
|||
@PostMapping("/saveOrUpdate") |
|||
@ResponseBody |
|||
ResultBean saveOrUpdate(@RequestBody BaseVehicleActualSalesDto baseVehicleActualSalesDto); |
|||
|
|||
@ApiOperation("提交") |
|||
@PostMapping("/submitVehicleSales") |
|||
@ResponseBody |
|||
ResultBean submitVehicleSales(@RequestBody BaseVehicleActualSalesDto baseVehicleActualSalesDto); |
|||
|
|||
@ApiOperation("初始化") |
|||
@GetMapping("/details") |
|||
@ResponseBody |
|||
ResultBean<BaseVehicleActualSalesDetailsVo> details(@RequestParam(value = "sid", required = false) String sid); |
|||
|
|||
|
|||
} |
@ -0,0 +1,34 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 11:59 |
|||
* @Description |
|||
*/ |
|||
@Component |
|||
public class BaseVehicleActualSalesFeignFallback implements BaseVehicleActualSalesFeign { |
|||
@Override |
|||
public ResultBean<PagerVo<BaseVehicleActualSalesVo>> listPage(PagerQuery<BaseVehicleActualSalesQuery> pagerQuery) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean saveOrUpdate(BaseVehicleActualSalesDto baseVehicleActualSalesDto) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean submitVehicleSales(BaseVehicleActualSalesDto baseVehicleActualSalesDto) { |
|||
return null; |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<BaseVehicleActualSalesDetailsVo> details(String sid) { |
|||
return null; |
|||
} |
|||
} |
@ -0,0 +1,23 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.common.core.query.Query; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:11 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualSalesQuery implements Query { |
|||
private static final long serialVersionUID = 970443773657128722L; |
|||
@ApiModelProperty(value = "申请日期开始时间") |
|||
private String applyStartDate; |
|||
@ApiModelProperty(value = "申请日期结束时间") |
|||
private String applyEndDate; |
|||
@ApiModelProperty(value = "状态") |
|||
private String nodeState; |
|||
@ApiModelProperty(value = "车架号") |
|||
private String vinNo; |
|||
} |
@ -0,0 +1,33 @@ |
|||
package com.yxt.anrui.base.api.basevehicleactualsales; |
|||
|
|||
import com.yxt.common.core.vo.Vo; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:02 |
|||
* @Description |
|||
*/ |
|||
@Data |
|||
public class BaseVehicleActualSalesVo implements Vo { |
|||
private static final long serialVersionUID = -8518464944096578672L; |
|||
|
|||
@ApiModelProperty(value = "sid") |
|||
private String sid; |
|||
@ApiModelProperty(value = "节点状态") |
|||
private String nodeState; |
|||
@ApiModelProperty(value = "申请人") |
|||
private String applicationName; |
|||
@ApiModelProperty(value = "申请日期") |
|||
private String createTime; |
|||
@ApiModelProperty(value = "买断原因") |
|||
private String reason; |
|||
@ApiModelProperty(value = "台数") |
|||
private Integer num; |
|||
|
|||
@ApiModelProperty(value = "流程状态") //若不为0则办理不能点击
|
|||
private Integer flowState; |
|||
|
|||
|
|||
} |
@ -0,0 +1,29 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualdetails; |
|||
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 18:12 |
|||
* @Description |
|||
*/ |
|||
@Mapper |
|||
public interface BaseVehicleActualDetailsMapper extends BaseMapper<BaseVehicleActualDetails> { |
|||
|
|||
List<BaseVehicleActualDetails> selectBySaleSid(String sid); |
|||
|
|||
int deleteBySaleSid(String sid); |
|||
|
|||
/** |
|||
* 已选择的车辆列表 |
|||
* |
|||
* @param sid 未售买断sid |
|||
* @return |
|||
*/ |
|||
List<BaseVehicleActualDetailsVo> detailsList(String sid); |
|||
} |
@ -0,0 +1,21 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
|||
<mapper namespace="com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsMapper"> |
|||
<select id="selectBySaleSid" resultType="com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails"> |
|||
select * |
|||
from base_vehicle_actual_details |
|||
where vehicleActualSid = #{sid} |
|||
</select> |
|||
|
|||
<delete id="deleteBySaleSid"> |
|||
delete |
|||
from base_vehicle_actual_details |
|||
where vehicleActualSid = #{sid} |
|||
</delete> |
|||
|
|||
<select id="detailsList" resultType="com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo"> |
|||
select sid, vinNo, modelName, DATE_FORMAT(inboundDate, '%Y-%m-%d') as inboundDate, inboundPrice |
|||
from base_vehicle_actual_details |
|||
where vehicleActualSid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,17 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualdetails; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsFeign; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 18:09 |
|||
* @Description |
|||
*/ |
|||
@Api(tags = "车辆未售买断管理") |
|||
@RequestMapping("v1/scmvehicleactualsales") |
|||
@Controller |
|||
public class BaseVehicleActualDetailsRest implements BaseVehicleActualDetailsFeign { |
|||
} |
@ -0,0 +1,69 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualdetails; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsDto; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 18:11 |
|||
* @Description |
|||
*/ |
|||
@Service |
|||
public class BaseVehicleActualDetailsService extends MybatisBaseService<BaseVehicleActualDetailsMapper, BaseVehicleActualDetails> { |
|||
|
|||
/** |
|||
* 新增 |
|||
* |
|||
* @param detailsList |
|||
* @param saleSid |
|||
*/ |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void saveDetails(List<BaseVehicleActualDetailsDto> detailsList, String saleSid) { |
|||
BaseVehicleActualDetails baseVehicleActualDetails = null; |
|||
for (BaseVehicleActualDetailsDto dto : detailsList) { |
|||
baseVehicleActualDetails = new BaseVehicleActualDetails(); |
|||
BeanUtils.copyProperties(dto, baseVehicleActualDetails, baseVehicleActualDetails.getSid()); |
|||
baseVehicleActualDetails.setVehicleActualSid(saleSid); |
|||
save(baseVehicleActualDetails); |
|||
} |
|||
} |
|||
|
|||
/** |
|||
* 查询 |
|||
* |
|||
* @param sid |
|||
* @return |
|||
*/ |
|||
public List<BaseVehicleActualDetails> selectBySaleSid(String sid) { |
|||
return baseMapper.selectBySaleSid(sid); |
|||
} |
|||
|
|||
/** |
|||
* 删除原车辆退库详细并新增 |
|||
* |
|||
* @param sid 车辆退库sid |
|||
* @param detailsList 退库车辆详细 |
|||
*/ |
|||
@Transactional(rollbackFor = Exception.class) |
|||
public void updateListByReturnSid(String sid, List<BaseVehicleActualDetailsDto> detailsList) { |
|||
baseMapper.deleteBySaleSid(sid); |
|||
saveDetails(detailsList, sid); |
|||
} |
|||
|
|||
/** |
|||
* 已选择的车辆列表 |
|||
* |
|||
* @param sid |
|||
* @return |
|||
*/ |
|||
public List<BaseVehicleActualDetailsVo> detailsList(String sid) { |
|||
return baseMapper.detailsList(sid); |
|||
} |
|||
} |
@ -0,0 +1,36 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualsales; |
|||
|
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.core.toolkit.Constants; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSales; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesDetailsVo; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesVo; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Param; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:43 |
|||
* @Description |
|||
*/ |
|||
@Mapper |
|||
public interface BaseVehicleActualSalesMapper extends BaseMapper<BaseVehicleActualSales> { |
|||
/** |
|||
* 分页列表 |
|||
* |
|||
* @param page 分页 |
|||
* @param qw 查询条件 |
|||
* @return |
|||
*/ |
|||
IPage<BaseVehicleActualSalesVo> pagerList(IPage<?> page, @Param(Constants.WRAPPER) QueryWrapper<BaseVehicleActualSales> qw); |
|||
|
|||
/** |
|||
* 初始化 |
|||
* |
|||
* @param sid 车辆未售买断sid |
|||
* @return |
|||
*/ |
|||
BaseVehicleActualSalesDetailsVo details(String sid); |
|||
} |
@ -0,0 +1,19 @@ |
|||
<?xml version="1.0" encoding="utf-8" ?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > |
|||
<mapper namespace="com.yxt.anrui.base.biz.basevehicleactualsales.BaseVehicleActualSalesMapper"> |
|||
<select id="pagerList" resultType="com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesVo"> |
|||
select sv.sid, |
|||
sv.applicationName, |
|||
DATE_FORMAT(sv.createTime, '%Y-%m-%d') as createTime, |
|||
sv.reason, |
|||
(select count(*) from scm_vehicle_actual_details sa where sa.vehicleActualSid = sv.sid) as num |
|||
from base_vehicle_actual_sales sv |
|||
${ew.customSqlSegment} |
|||
</select> |
|||
|
|||
<select id="details" resultType="com.yxt.anrui.base.api.basevehicleactualsales.BaseVehicleActualSalesDetailsVo"> |
|||
select sid, DATE_FORMAT(createTime, '%Y-%m-%d') as createTime, reason, applicationName |
|||
from base_vehicle_actual_sales |
|||
where sid = #{sid} |
|||
</select> |
|||
</mapper> |
@ -0,0 +1,46 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualsales; |
|||
|
|||
import com.yxt.anrui.base.api.basevehicleactualsales.*; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import io.swagger.annotations.Api; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 15:05 |
|||
* @Description |
|||
*/ |
|||
@Api(tags = "车辆未售买断管理") |
|||
@RequestMapping("v1/basevehicleactualsales") |
|||
@Controller |
|||
public class BaseVehicleActualSalesRest implements BaseVehicleActualSalesFeign { |
|||
|
|||
@Autowired |
|||
private BaseVehicleActualSalesService baseVehicleActualSalesService; |
|||
|
|||
@Override |
|||
public ResultBean<PagerVo<BaseVehicleActualSalesVo>> listPage(PagerQuery<BaseVehicleActualSalesQuery> pagerQuery) { |
|||
ResultBean<PagerVo<BaseVehicleActualSalesVo>> rb = ResultBean.fireFail(); |
|||
PagerVo<BaseVehicleActualSalesVo> pv = baseVehicleActualSalesService.listPage(pagerQuery); |
|||
return rb.success().setData(pv); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean saveOrUpdate(BaseVehicleActualSalesDto scmVehicleActualSalesDto) { |
|||
return baseVehicleActualSalesService.saveOrUpdateVehicleSales(scmVehicleActualSalesDto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean submitVehicleSales(BaseVehicleActualSalesDto baseVehicleActualSalesDto) { |
|||
return baseVehicleActualSalesService.submitVehicleSales(baseVehicleActualSalesDto); |
|||
} |
|||
|
|||
@Override |
|||
public ResultBean<BaseVehicleActualSalesDetailsVo> details(String sid) { |
|||
return baseVehicleActualSalesService.details(sid); |
|||
} |
|||
} |
@ -0,0 +1,177 @@ |
|||
package com.yxt.anrui.base.biz.basevehicleactualsales; |
|||
|
|||
import cn.hutool.core.date.DateUtil; |
|||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetails; |
|||
import com.yxt.anrui.base.api.basevehicleactualdetails.BaseVehicleActualDetailsVo; |
|||
import com.yxt.anrui.base.api.basevehicleactualsales.*; |
|||
import com.yxt.anrui.base.biz.basevehicleactualdetails.BaseVehicleActualDetailsService; |
|||
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign; |
|||
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo; |
|||
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|||
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|||
import com.yxt.common.base.service.MybatisBaseService; |
|||
import com.yxt.common.base.utils.PagerUtil; |
|||
import com.yxt.common.base.utils.StringUtils; |
|||
import com.yxt.common.core.query.PagerQuery; |
|||
import com.yxt.common.core.result.ResultBean; |
|||
import com.yxt.common.core.vo.PagerVo; |
|||
import org.springframework.beans.BeanUtils; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Service; |
|||
import org.springframework.transaction.annotation.Transactional; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* @Author dimengzhe |
|||
* @Date 2022/4/8 17:42 |
|||
* @Description |
|||
*/ |
|||
@Service |
|||
public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicleActualSalesMapper, BaseVehicleActualSales> { |
|||
|
|||
@Autowired |
|||
private SysFormLinkFeign sysFormLinkFeign; |
|||
@Autowired |
|||
private BaseVehicleActualDetailsService baseVehicleActualDetailsService; |
|||
|
|||
@Autowired |
|||
private SysUserFeign sysUserFeign; |
|||
@Autowired |
|||
private SysStaffOrgFeign sysStaffOrgFeign; |
|||
|
|||
/** |
|||
* 分页列表 |
|||
* |
|||
* @param pagerQuery 查询条件 |
|||
* @return |
|||
*/ |
|||
public PagerVo<BaseVehicleActualSalesVo> listPage(PagerQuery<BaseVehicleActualSalesQuery> pagerQuery) { |
|||
IPage<BaseVehicleActualSalesVo> page = pagerList(pagerQuery); |
|||
PagerVo<BaseVehicleActualSalesVo> pv = new PagerVo<>(); |
|||
PagerVo<BaseVehicleActualSalesVo> pv1 = PagerUtil.pageToVo(page, pv); |
|||
List<BaseVehicleActualSalesVo> voList = pv1.getRecords(); |
|||
if (voList.size() > 0) { |
|||
for (int i = 0; i < voList.size(); i++) { |
|||
ResultBean<SysFormStateVo> resultBean = sysFormLinkFeign.selectStateByBusinessSid(voList.get(i).getSid()); |
|||
if (resultBean.getSuccess() && resultBean.getData() != null) { |
|||
SysFormStateVo formState = resultBean.getData(); |
|||
voList.get(i).setNodeState(formState.getNodeState()); |
|||
voList.get(i).setFlowState(formState.getFlowState()); |
|||
} else { |
|||
voList.get(i).setFlowState(0); |
|||
} |
|||
} |
|||
} |
|||
return pv1; |
|||
} |
|||
|
|||
private IPage<BaseVehicleActualSalesVo> pagerList(PagerQuery<BaseVehicleActualSalesQuery> pagerQuery) { |
|||
IPage<?> page = PagerUtil.queryToPage(pagerQuery); |
|||
QueryWrapper<BaseVehicleActualSales> qw = buildQueryWrapper(pagerQuery.getParams()); |
|||
return baseMapper.pagerList(page, qw); |
|||
} |
|||
|
|||
private QueryWrapper<BaseVehicleActualSales> buildQueryWrapper(BaseVehicleActualSalesQuery params) { |
|||
QueryWrapper<BaseVehicleActualSales> qw = new QueryWrapper<>(); |
|||
if (params != null) { |
|||
//申请日期
|
|||
//状态
|
|||
//车架号
|
|||
} |
|||
return qw; |
|||
} |
|||
|
|||
@Transactional(rollbackFor = Exception.class) |
|||
public ResultBean saveOrUpdateVehicleSales(BaseVehicleActualSalesDto scmVehicleActualSalesDto) { |
|||
ResultBean rb = ResultBean.fireFail(); |
|||
String sid = scmVehicleActualSalesDto.getSid(); |
|||
if (StringUtils.isBlank(sid)) { |
|||
//新增
|
|||
BaseVehicleActualSales baseVehicleActualSales = new BaseVehicleActualSales(); |
|||
BeanUtils.copyProperties(scmVehicleActualSalesDto, baseVehicleActualSales, baseVehicleActualSales.getSid()); |
|||
boolean isSave = save(baseVehicleActualSales); |
|||
if (!isSave) { |
|||
return rb.setMsg("保存失败"); |
|||
} else { |
|||
sid = baseVehicleActualSales.getSid(); |
|||
if (scmVehicleActualSalesDto.getDetailsList().size() > 0) { |
|||
baseVehicleActualDetailsService.saveDetails(scmVehicleActualSalesDto.getDetailsList(), baseVehicleActualSales.getSid()); |
|||
} |
|||
} |
|||
} else { |
|||
//编辑
|
|||
//验证数据是否可更改
|
|||
if (checkCouldChange(sid)) { |
|||
return rb.setMsg("该条信息不可更改"); |
|||
} |
|||
int i = updateBySid(scmVehicleActualSalesDto, sid); |
|||
//查询details中是否有关于sales的该条sid数据
|
|||
List<BaseVehicleActualDetails> scmVehicleActualDetailsList = baseVehicleActualDetailsService.selectBySaleSid(sid); |
|||
if (scmVehicleActualDetailsList.size() > 0) { |
|||
baseVehicleActualDetailsService.updateListByReturnSid(sid, scmVehicleActualSalesDto.getDetailsList()); |
|||
} |
|||
} |
|||
return rb.success().setData(sid); |
|||
} |
|||
|
|||
/** |
|||
* 判断是否可删除 |
|||
* |
|||
* @param sid sid |
|||
* @return |
|||
*/ |
|||
private boolean checkCouldChange(String sid) { |
|||
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(sid); |
|||
// 判断是否可以更改(是否走了流程,更改了状态)
|
|||
if (StringUtils.isNotBlank(baseVehicleActualSales.getNodeState())) { |
|||
return true; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
/** |
|||
* 查询用户是否设置了部门 |
|||
* |
|||
* @param userSid 用户sid |
|||
* @return |
|||
*/ |
|||
private String checkUserOrg(String userSid) { |
|||
String orgSid = ""; |
|||
String staffSid = sysUserFeign.selectBySid(userSid).getData().getStaffSid(); |
|||
ResultBean<String> resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid); |
|||
if (resultBean.getSuccess()) { |
|||
orgSid = resultBean.getData(); |
|||
} |
|||
return orgSid; |
|||
} |
|||
|
|||
public ResultBean submitVehicleSales(BaseVehicleActualSalesDto baseVehicleActualSalesDto) { |
|||
return null; |
|||
} |
|||
|
|||
/** |
|||
* 初始化 |
|||
* |
|||
* @param sid 未售买断sid |
|||
* @return |
|||
*/ |
|||
public ResultBean<BaseVehicleActualSalesDetailsVo> details(String sid) { |
|||
ResultBean<BaseVehicleActualSalesDetailsVo> rb = ResultBean.fireFail(); |
|||
BaseVehicleActualSalesDetailsVo vo = new BaseVehicleActualSalesDetailsVo(); |
|||
if (StringUtils.isBlank(sid)) { |
|||
//申请日期即为当天
|
|||
vo.setCreateTime(DateUtil.today()); |
|||
} else { |
|||
BaseVehicleActualSales scmVehicleActualSales = fetchBySid(sid); |
|||
if (scmVehicleActualSales == null) { |
|||
return rb.setMsg("该未售买断数据不存在"); |
|||
} |
|||
vo = baseMapper.details(sid); |
|||
List<BaseVehicleActualDetailsVo> voList = baseVehicleActualDetailsService.detailsList(sid); |
|||
} |
|||
return rb.success().setData(vo); |
|||
} |
|||
} |
Loading…
Reference in new issue