From d9bd6e8e4e180764bf72b2d20f7231093c4c7714 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Fri, 8 Apr 2022 20:49:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E6=9C=AA=E5=94=AE=E4=B9=B0?= =?UTF-8?q?=E6=96=AD=E5=88=86=E9=A1=B5=E5=88=97=E8=A1=A8=E3=80=81=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScmVehicleActualDetails.java | 27 +++ .../ScmVehicleActualDetailsDto.java | 27 +++ .../ScmVehicleActualDetailsFeign.java | 16 ++ .../ScmVehicleActualDetailsFeignFallback.java | 12 ++ .../ScmVehicleActualSales.java | 29 ++++ .../ScmVehicleActualSalesDto.java | 36 ++++ .../ScmVehicleActualSalesFeign.java | 40 +++++ .../ScmVehicleActualSalesFeignFallback.java | 29 ++++ .../ScmVehicleActualSalesQuery.java | 23 +++ .../ScmVehicleActualSalesVo.java | 33 ++++ .../scmvehiclereturn/ScmVehicleReturnDto.java | 2 + .../ScmVehicleActualDetailsMapper.java | 20 +++ .../ScmVehicleActualDetailsMapper.xml | 15 ++ .../ScmVehicleActualDetailsRest.java | 17 ++ .../ScmVehicleActualDetailsService.java | 58 +++++++ .../ScmVehicleActualSalesMapper.java | 27 +++ .../ScmVehicleActualSalesMapper.xml | 13 ++ .../ScmVehicleActualSalesRest.java | 45 +++++ .../ScmVehicleActualSalesService.java | 155 ++++++++++++++++++ .../ScmVehicleReturnMapper.xml | 1 + .../ScmVehicleReturnRest.java | 6 + 21 files changed, 631 insertions(+) create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetails.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsDto.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeign.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeignFallback.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSales.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesDto.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesQuery.java create mode 100644 anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesVo.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.xml create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsRest.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsService.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.xml create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java create mode 100644 anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetails.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetails.java new file mode 100644 index 0000000000..14ab2a2ace --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetails.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.scm.api.scmvehicleactualdetails; + +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 ScmVehicleActualDetails 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; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsDto.java new file mode 100644 index 0000000000..a035710bf7 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsDto.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.scm.api.scmvehicleactualdetails; + +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 ScmVehicleActualDetailsDto 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; + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeign.java new file mode 100644 index 0000000000..913b3d3cf8 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeign.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.scm.api.scmvehicleactualdetails; + +import org.springframework.cloud.openfeign.FeignClient; + +/** + * @Author dimengzhe + * @Date 2022/4/8 18:09 + * @Description + */ +@FeignClient( + contextId = "anrui-scm-ScmVehicleActualDetails", + name = "anrui-scm", + path = "v1/scmvehicleactualdetails", + fallback = ScmVehicleActualDetailsFeignFallback.class) +public interface ScmVehicleActualDetailsFeign { +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeignFallback.java new file mode 100644 index 0000000000..4ac98644eb --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualdetails/ScmVehicleActualDetailsFeignFallback.java @@ -0,0 +1,12 @@ +package com.yxt.anrui.scm.api.scmvehicleactualdetails; + +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2022/4/8 18:10 + * @Description + */ +@Component +public class ScmVehicleActualDetailsFeignFallback { +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSales.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSales.java new file mode 100644 index 0000000000..c0881193ef --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSales.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +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 ScmVehicleActualSales 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; + + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesDto.java new file mode 100644 index 0000000000..62a0356567 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesDto.java @@ -0,0 +1,36 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetailsDto; +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 ScmVehicleActualSalesDto 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 detailsList; + + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java new file mode 100644 index 0000000000..ead43c460e --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeign.java @@ -0,0 +1,40 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +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.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.ResponseBody; + +/** + * @Author dimengzhe + * @Date 2022/4/8 11:57 + * @Description + */ +@FeignClient( + contextId = "anrui-scm-ScmVehicleActualSales", + name = "anrui-scm", + path = "v1/scmvehicleactualsales", + fallback = ScmVehicleActualSalesFeignFallback.class) +public interface ScmVehicleActualSalesFeign { + + @ApiOperation("分页列表") + @PostMapping("/listPage") + @ResponseBody + ResultBean> listPage(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("新增或修改") + @PostMapping("/saveOrUpdate") + @ResponseBody + ResultBean saveOrUpdate(@RequestBody ScmVehicleActualSalesDto scmVehicleActualSalesDto); + + @ApiOperation("提交") + @PostMapping("/submitVehicleSales") + @ResponseBody + ResultBean submitVehicleSales(@RequestBody ScmVehicleActualSalesDto scmVehicleActualSalesDto); + + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java new file mode 100644 index 0000000000..42699cae0d --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesFeignFallback.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +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 ScmVehicleActualSalesFeignFallback implements ScmVehicleActualSalesFeign{ + @Override + public ResultBean> listPage(PagerQuery pagerQuery) { + return null; + } + + @Override + public ResultBean saveOrUpdate(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + return null; + } + + @Override + public ResultBean submitVehicleSales(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + return null; + } +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesQuery.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesQuery.java new file mode 100644 index 0000000000..26b03b8dc8 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesQuery.java @@ -0,0 +1,23 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +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 ScmVehicleActualSalesQuery 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; +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesVo.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesVo.java new file mode 100644 index 0000000000..ed9dc2a178 --- /dev/null +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehicleactualsales/ScmVehicleActualSalesVo.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.scm.api.scmvehicleactualsales; + +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 ScmVehicleActualSalesVo 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; + + +} diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java index e74b59f74e..522b5cfd01 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclereturn/ScmVehicleReturnDto.java @@ -1,5 +1,6 @@ package com.yxt.anrui.scm.api.scmvehiclereturn; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.anrui.scm.api.scmvehiclereturndetails.ScmVehicleReturnDetailsDto; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; @@ -23,6 +24,7 @@ public class ScmVehicleReturnDto implements Dto { @ApiModelProperty(value = "申请人", required = true) private String name; @ApiModelProperty(value = "申请日期", required = true) + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") private Date createTime; @ApiModelProperty(value = "退库原因", required = true) private String reason; diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.java new file mode 100644 index 0000000000..5b9b4117ae --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetails; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/4/8 18:12 + * @Description + */ +@Mapper +public interface ScmVehicleActualDetailsMapper extends BaseMapper { + + List selectBySaleSid(String sid); + + int deleteBySaleSid(String sid); +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.xml new file mode 100644 index 0000000000..e734d383f2 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsMapper.xml @@ -0,0 +1,15 @@ + + + + + + + delete + from scm_vehicle_actual_details + where vehicleActualSid = #{sid} + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsRest.java new file mode 100644 index 0000000000..a2d1335e82 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsRest.java @@ -0,0 +1,17 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualdetails; + +import com.yxt.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetailsFeign; +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 ScmVehicleActualDetailsRest implements ScmVehicleActualDetailsFeign { +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsService.java new file mode 100644 index 0000000000..ef27f436e8 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualdetails/ScmVehicleActualDetailsService.java @@ -0,0 +1,58 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualdetails; + +import com.yxt.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetails; +import com.yxt.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetailsDto; +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 ScmVehicleActualDetailsService extends MybatisBaseService { + + /** + * 新增 + * + * @param detailsList + * @param saleSid + */ + @Transactional(rollbackFor = Exception.class) + public void saveDetails(List detailsList, String saleSid) { + ScmVehicleActualDetails scmVehicleActualDetails = null; + for (ScmVehicleActualDetailsDto dto : detailsList) { + scmVehicleActualDetails = new ScmVehicleActualDetails(); + BeanUtils.copyProperties(dto, scmVehicleActualDetails, scmVehicleActualDetails.getSid()); + scmVehicleActualDetails.setVehicleActualSid(saleSid); + save(scmVehicleActualDetails); + } + } + + /** + * 查询 + * + * @param sid + * @return + */ + public List selectBySaleSid(String sid) { + return baseMapper.selectBySaleSid(sid); + } + + /** + * 删除原车辆退库详细并新增 + * + * @param sid 车辆退库sid + * @param detailsList 退库车辆详细 + */ + @Transactional(rollbackFor = Exception.class) + public void updateListByReturnSid(String sid, List detailsList) { + baseMapper.deleteBySaleSid(sid); + saveDetails(detailsList, sid); + } +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.java new file mode 100644 index 0000000000..43cb19bee0 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualsales; + +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.scm.api.scmvehicleactualsales.ScmVehicleActualSales; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesVo; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * @Author dimengzhe + * @Date 2022/4/8 17:43 + * @Description + */ +@Mapper +public interface ScmVehicleActualSalesMapper extends BaseMapper { + /** + * 分页列表 + * + * @param page 分页 + * @param qw 查询条件 + * @return + */ + IPage pagerList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.xml new file mode 100644 index 0000000000..3e1e15f388 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesMapper.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java new file mode 100644 index 0000000000..82e09cef9e --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesRest.java @@ -0,0 +1,45 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualsales; + +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesDto; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesFeign; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesQuery; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesVo; +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/scmvehicleactualsales") +@Controller +public class ScmVehicleActualSalesRest implements ScmVehicleActualSalesFeign { + + @Autowired + private ScmVehicleActualSalesService scmVehicleActualSalesService; + + + @Override + public ResultBean> listPage(PagerQuery pagerQuery) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = scmVehicleActualSalesService.listPage(pagerQuery); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveOrUpdate(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + return scmVehicleActualSalesService.saveOrUpdateVehicleSales(scmVehicleActualSalesDto); + } + + @Override + public ResultBean submitVehicleSales(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + return scmVehicleActualSalesService.submitVehicleSales(scmVehicleActualSalesDto); + } +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java new file mode 100644 index 0000000000..136159a3c5 --- /dev/null +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleactualsales/ScmVehicleActualSalesService.java @@ -0,0 +1,155 @@ +package com.yxt.anrui.scm.biz.scmvehicleactualsales; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.anrui.scm.api.scmvehicleactualdetails.ScmVehicleActualDetails; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSales; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesDto; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesQuery; +import com.yxt.anrui.scm.api.scmvehicleactualsales.ScmVehicleActualSalesVo; +import com.yxt.anrui.scm.biz.scmvehicleactualdetails.ScmVehicleActualDetailsService; +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 ScmVehicleActualSalesService extends MybatisBaseService { + + @Autowired + private SysFormLinkFeign sysFormLinkFeign; + @Autowired + private ScmVehicleActualDetailsService scmVehicleActualDetailsService; + + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + + /** + * 分页列表 + * + * @param pagerQuery 查询条件 + * @return + */ + public PagerVo listPage(PagerQuery pagerQuery) { + IPage page = pagerList(pagerQuery); + PagerVo pv = new PagerVo<>(); + PagerVo pv1 = PagerUtil.pageToVo(page, pv); + List voList = pv1.getRecords(); + if (voList.size() > 0) { + for (int i = 0; i < voList.size(); i++) { + ResultBean 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 pagerList(PagerQuery pagerQuery) { + IPage page = PagerUtil.queryToPage(pagerQuery); + QueryWrapper qw = buildQueryWrapper(pagerQuery.getParams()); + return baseMapper.pagerList(page, qw); + } + + private QueryWrapper buildQueryWrapper(ScmVehicleActualSalesQuery params) { + QueryWrapper qw = new QueryWrapper<>(); + if (params != null) { + //申请日期 + //状态 + //车架号 + } + return qw; + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveOrUpdateVehicleSales(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + ResultBean rb = ResultBean.fireFail(); + String sid = scmVehicleActualSalesDto.getSid(); + if (StringUtils.isBlank(sid)) { + //新增 + ScmVehicleActualSales scmVehicleActualSales = new ScmVehicleActualSales(); + BeanUtils.copyProperties(scmVehicleActualSalesDto, scmVehicleActualSales, scmVehicleActualSales.getSid()); + boolean isSave = save(scmVehicleActualSales); + if (!isSave) { + return rb.setMsg("保存失败"); + } else { + sid = scmVehicleActualSales.getSid(); + if (scmVehicleActualSalesDto.getDetailsList().size() > 0) { + scmVehicleActualDetailsService.saveDetails(scmVehicleActualSalesDto.getDetailsList(), scmVehicleActualSales.getSid()); + } + } + } else { + //编辑 + //验证数据是否可更改 + if (checkCouldChange(sid)) { + return rb.setMsg("该条信息不可更改"); + } + int i = updateBySid(scmVehicleActualSalesDto, sid); + //查询details中是否有关于sales的该条sid数据 + List scmVehicleActualDetailsList = scmVehicleActualDetailsService.selectBySaleSid(sid); + if (scmVehicleActualDetailsList.size() > 0) { + scmVehicleActualDetailsService.updateListByReturnSid(sid, scmVehicleActualSalesDto.getDetailsList()); + } + } + return rb.success().setData(sid); + } + + /** + * 判断是否可删除 + * + * @param sid sid + * @return + */ + private boolean checkCouldChange(String sid) { + ScmVehicleActualSales scmVehicleActualSales = fetchBySid(sid); + // 判断是否可以更改(是否走了流程,更改了状态) + if (StringUtils.isNotBlank(scmVehicleActualSales.getNodeState())) { + return true; + } + return false; + } + + /** + * 查询用户是否设置了部门 + * + * @param userSid 用户sid + * @return + */ + private String checkUserOrg(String userSid) { + String orgSid = ""; + String staffSid = sysUserFeign.selectBySid(userSid).getData().getStaffSid(); + ResultBean resultBean = sysStaffOrgFeign.getSysStaffOrgSidListByStaffSid(staffSid); + if (resultBean.getSuccess()) { + orgSid = resultBean.getData(); + } + return orgSid; + } + + public ResultBean submitVehicleSales(ScmVehicleActualSalesDto scmVehicleActualSalesDto) { + return null; + } +} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml index 747dfa0b5a..9777b25d69 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml @@ -9,6 +9,7 @@ sr.reason, (select count(*) from scm_vehicle_return_details sd where sd.vehicleOutSid = sr.sid) as num from scm_vehicle_return sr + ${ew.customSqlSegment} diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java index 909c5db026..caac17a4c6 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnRest.java @@ -7,13 +7,19 @@ import com.yxt.anrui.scm.api.scmvehiclereturn.ScmVehicleReturnVo; 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/6 17:45 * @Description */ +@Api(tags = "车辆采购退库管理") +@RequestMapping("v1/scmvehiclereturn") +@Controller public class ScmVehicleReturnRest implements ScmVehicleReturnFeign { @Autowired