diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppCarConfigSummaryVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppCarConfigSummaryVo.java index 49fe013ca5..47b63e92d8 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppCarConfigSummaryVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/AppCarConfigSummaryVo.java @@ -1,11 +1,13 @@ package com.yxt.anrui.base.api.basemodelconfig; +import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class AppCarConfigSummaryVo { +public class AppCarConfigSummaryVo implements Vo { + private static final long serialVersionUID = 6775893964666833494L; @ApiModelProperty("常用配置") private String config; @@ -14,4 +16,7 @@ public class AppCarConfigSummaryVo { @ApiModelProperty("车型名称") private String model; + + @ApiModelProperty(value = "销售指导价") + private String price; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java index a927dee874..8fb78193d7 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeign.java @@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; +import java.util.Map; /** * Project: anrui-base(安瑞基础信息模块)
@@ -108,9 +109,9 @@ public interface BaseModelConfigFeign { @PostMapping("/getList") public ResultBean> getList(); - @ApiOperation("PC端根据车型sid查询简述配置信息下拉选") + @ApiOperation("PC端根据车型sid查询常用配置信息下拉选") @GetMapping("/getListByVeSid") - public ResultBean> getListByVeSid(@RequestParam("vehicleSid") String vehicleSid); + public ResultBean>> getListByVeSid(@RequestParam("modelSid") String modelSid); @ApiOperation("PC端根据简述配置sid查询简述配置信息") @GetMapping("/getByVeSid") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java index 429de7d42b..525050e18d 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelconfig/BaseModelConfigFeignFallback.java @@ -6,6 +6,7 @@ import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; /** * Project: anrui-base(安瑞基础信息模块)
@@ -75,7 +76,7 @@ public class BaseModelConfigFeignFallback implements BaseModelConfigFeign { } @Override - public ResultBean> getListByVeSid(String vehicleSid) { + public ResultBean>> getListByVeSid(String vehicleSid) { return null; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java index aa1f1ab375..aad05df036 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java @@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.Date; /** @@ -37,6 +38,9 @@ public class BaseVehicle extends BaseEntity { @ApiModelProperty("常用配置sid") private String modelConfigSid; + @ApiModelProperty("常用配置名称") + private String configName; + @ApiModelProperty("车架号(VIN)(陕汽必须的字段)") private String vinNo; @@ -49,9 +53,12 @@ public class BaseVehicle extends BaseEntity { @ApiModelProperty("车辆状态key值") private String vehicleState; - @ApiModelProperty("存放地点(陕汽必须的字段)") + @ApiModelProperty("存放地点sid(陕汽必须的字段)") private String location; + @ApiModelProperty("存放地点名称(陕汽必须的字段)") + private String locationName; + @ApiModelProperty("库龄(根据首次发车日期计算)(陕汽必须的字段)") private String libraryAge; diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java index 66179e6d9d..7ce15c300e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleDto.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; import java.util.Date; import java.util.List; @@ -37,6 +38,9 @@ public class BaseVehicleDto implements Dto { private String vehicleStateValue; @ApiModelProperty("车型名称") private String modelName; + @ApiModelProperty("常用配置名称") + @NotBlank(message = "常用配置不能为空") + private String configName; @ApiModelProperty("车型配置sid") private String modelConfigSid; @ApiModelProperty("特殊或差异说明") @@ -52,21 +56,29 @@ public class BaseVehicleDto implements Dto { @ApiModelProperty(value = "厂家采购订单类型value") private String manPurOrderTypeValue; @ApiModelProperty(value = "厂家入库日期") - private Date priceDate; + @NotBlank(message = "厂家入库日期不能为空") + private String priceDate; @ApiModelProperty("发车日期") + @NotBlank(message = "发车日期不能为空") private String departureDate; @ApiModelProperty("到货日期") + @NotBlank(message = "到货日期不能为空") private String arrivalDate; @ApiModelProperty("销售日期") + @NotBlank(message = "销售日期不能为空") private String salesDate; @ApiModelProperty(value = "买断日期") - private Date solidDate; + @NotBlank(message = "买断日期不能为空") + private String solidDate; @ApiModelProperty("结算状态(0:没买断,1预买断,2买断)") private String settlementStatus; @ApiModelProperty("采购退库日期") + @NotBlank(message = "采购退库日期不能为空") private String returnDate; - @ApiModelProperty("存放地点(陕汽必须的字段)") + @ApiModelProperty("存放地点sid(陕汽必须的字段)") private String location; + @ApiModelProperty("存放地点名称(陕汽必须的字段)") + private String locationName; @ApiModelProperty(value = "厂家入库价") private float priced; @ApiModelProperty(value = "成交价") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java index ff92c03f0d..a28bcba7da 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleQuery.java @@ -33,7 +33,7 @@ public class BaseVehicleQuery implements Query { @ApiModelProperty(value = "存放地点") private String location; - @ApiModelProperty(value = "车辆状态") + @ApiModelProperty(value = "库存状态") private String vehicleState; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java index 6ba76d9647..dcda1fc4f2 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.base.api.basevehicle; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.vo.Vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -28,6 +29,8 @@ public class BaseVehicleSelectVo implements Vo { private String vehicleStateValue; @ApiModelProperty("车型名称") private String modelName; + @ApiModelProperty("常用配置名称") + private String configName; @ApiModelProperty("车型配置sid") private String modelConfigSid; @ApiModelProperty("特殊或差异说明") @@ -43,21 +46,29 @@ public class BaseVehicleSelectVo implements Vo { @ApiModelProperty(value = "厂家采购订单类型value") private String manPurOrderTypeValue; @ApiModelProperty(value = "厂家入库日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date priceDate; @ApiModelProperty("发车日期") - private String departureDate; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date departureDate; @ApiModelProperty("到货日期") - private String arrivalDate; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date arrivalDate; @ApiModelProperty("销售日期") - private String salesDate; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date salesDate; @ApiModelProperty(value = "买断日期") + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") private Date solidDate; @ApiModelProperty("结算状态(0:没买断,1预买断,2买断)") private String settlementStatus; @ApiModelProperty("采购退库日期") - private String returnDate; + @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") + private Date returnDate; @ApiModelProperty("存放地点(陕汽必须的字段)") private String location; + @ApiModelProperty("存放地点名称(陕汽必须的字段)") + private String locationName; @ApiModelProperty(value = "厂家入库价") private float priced; @ApiModelProperty(value = "成交价") diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java index 822f23b007..2ae687d284 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java @@ -41,11 +41,12 @@ public class BaseVehicleVo implements Vo { @ApiModelProperty("车辆状态") private String vehicleStateValue; - @ApiModelProperty("存放地点") - private String location; + @ApiModelProperty("存放地点名称(陕汽必须的字段)") + private String locationName; @ApiModelProperty("库龄(根据首次发车日期计算)") private String libraryAge; - + @ApiModelProperty("车型配置sid") + private String modelConfigSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java index 7cdbe7e59b..ef8c77f7cc 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigDto.java @@ -53,7 +53,9 @@ import java.math.BigDecimal; public class BaseVehmodelConfigDto implements Dto { @ApiModelProperty("业务员sid") - private String staffSid; // 车型与简述配置关联sid + private String staffSid; // 业务员sid + @ApiModelProperty("用户sid") + private String userSid; // 用户sid @ApiModelProperty("车型与简述配置关联sid") private String sid; // 车型与简述配置关联sid @ApiModelProperty("车型sid") diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java index 1d1fe9593e..0431e936e3 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigRest.java @@ -204,10 +204,10 @@ public class BaseModelConfigRest implements BaseModelConfigFeign { } @Override - public ResultBean> getListByVeSid(String vehicleSid) { - ResultBean> rb = ResultBean.fireFail(); - List listVo = baseVehicleModelService.getListByVeSid(vehicleSid); - return rb.success().setData(listVo); + public ResultBean>> getListByVeSid(String vehicleSid) { + ResultBean>> rb = ResultBean.fireFail(); + List> listByVeSid = baseVehicleModelService.getListByVeSid(vehicleSid); + return rb.success().setData(listByVeSid); } @Override diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml index 43dfac9d39..bbbf61ff0e 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml @@ -7,7 +7,7 @@ SELECT count(*) FROM base_vehicle - WHERE vinNo = #{vinNo} + WHERE vinNo = #{vinNo} and isDelete = 0 AND sid <> #{sid} diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java index 4951ce1af4..f09ee22af4 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java @@ -99,7 +99,7 @@ public class BaseVehicleService extends MybatisBaseService + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateRest.java index c64212e271..89c7a0ab08 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateRest.java @@ -8,6 +8,7 @@ import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.utils.ExportExcelUtils; 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; @@ -105,11 +106,19 @@ public class BaseVehicleCertificateRest implements BaseVehicleCertificateFeign { BaseVehicleCertificate entity = new BaseVehicleCertificate(); dto.fillEntity(entity); List list = dto.getCertificatePhoto(); + if (list.size() == 0){ + return rb.setMsg("请上传合格证照片"); + } String certificatePhoto = ""; for (int i = 0; i < list.size(); i++) { certificatePhoto += list.get(i).replace(fileUploadComponent.getUrlPrefix(), "") + ","; } entity.setCertificatePhoto(certificatePhoto.substring(0, certificatePhoto.length()-1)); + String certificationNo = dto.getCertificationNo(); + int i1 = baseVehicleCertificateService.checkByCertificationNo(certificationNo); + if (i1 > 0){ + return rb.setMsg("该合格证编码已存在"); + } boolean isSave = baseVehicleCertificateService.save(entity); if (!isSave) { return rb.fail().setMsg("添加失败"); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java index 646b5ccaf8..12e26fcccc 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateService.java @@ -142,4 +142,8 @@ public class BaseVehicleCertificateService extends MybatisBaseService { List getList(); - List getListByVeSid(String vehicleSid); + List> getListByVeSid(String vehicleSid); BaseVehicleModelSelectVo getAll(String sid); diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml index 2afd801d7f..c85e804068 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelMapper.xml @@ -205,14 +205,6 @@ where isDelete = 0 - @@ -431,4 +421,15 @@ and sid != #{sid} and isDelete = 0 + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java index 15bff83d7f..f2f886cb58 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java @@ -286,7 +286,7 @@ public class BaseVehicleModelService extends MybatisBaseService getListByVeSid(String vehicleSid) { + public List> getListByVeSid(String vehicleSid) { return baseMapper.getListByVeSid(vehicleSid); } @@ -336,6 +336,7 @@ public class BaseVehicleModelService extends MybatisBaseService> selectDownPlusByModelName(String modelName) { QueryWrapper> qw = new QueryWrapper<>(); + qw.eq("bvm.isDelete",0); if (StringUtils.isNotBlank(modelName)) { qw.like("bvm.modelName", modelName); } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java index 5b5746439b..b4e024ae7c 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigService.java @@ -35,6 +35,7 @@ import com.yxt.anrui.base.api.basevehmodelconfig.*; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; @@ -416,11 +417,8 @@ public class BaseVehmodelConfigService extends MybatisBaseService stringResultBean = sysStaffOrgFeign.selectSidPathByStaffSid(baseVehmodelConfigDto.getStaffSid()); - if (stringResultBean.getSuccess()) { - orgSid = stringResultBean.getData(); - } + ResultBean useOrgByUserSid = sysOrganizationFeign.getUseOrgByUserSid(baseVehmodelConfigDto.getUserSid()); + String orgSid = useOrgByUserSid.getData().getSid(); baseVehmodelConfig.setUseOrgSid(orgSid); baseVehmodelConfig.setModelSid(modelSid); baseVehmodelConfig.setConfigurationItemsSid(configurationItemsSid); @@ -534,6 +532,7 @@ public class BaseVehmodelConfigService extends MybatisBaseService getInitModelInfo(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("customerSid") String customerSid, @RequestParam("userSid") String userSid); + public ResultBean getInitModelInfo(@SpringQueryMap AppInitModelQuery appInitModelQuery); @ApiOperation("初始化销售订单(第一次选择或重选) 车型信息") @GetMapping("/init/modelInfo2") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java index 3b10fa6239..c725c466d2 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java @@ -125,7 +125,7 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign { } @Override - public ResultBean getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { + public ResultBean getInitModelInfo(AppInitModelQuery appInitModelQuery) { return null; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSaleOrderInitModelInfoVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSaleOrderInitModelInfoVo.java index dbe926005c..7cc35980b0 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSaleOrderInitModelInfoVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSaleOrderInitModelInfoVo.java @@ -9,7 +9,7 @@ public class AppBusSaleOrderInitModelInfoVo implements Vo { private static final long serialVersionUID = 342793087650993718L; @ApiModelProperty("选择的车型信息的数据") - private AppOrderInfo orderInfo; + private AppOrderInfoVo orderInfo; @ApiModelProperty("根据车型查询出来的现车和采购订单数据") private AppCarInfo carInfo; @@ -23,4 +23,7 @@ public class AppBusSaleOrderInitModelInfoVo implements Vo { @ApiModelProperty("排产数量") private String arrangeNumber; + @ApiModelProperty(value = "销售指导价") + private String price; + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppInitModelQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppInitModelQuery.java new file mode 100644 index 0000000000..5feb641ff6 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppInitModelQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.buscenter.api.bussalesorder.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/1 9:10 + * @Description + */ +@Data +public class AppInitModelQuery implements Query { + private static final long serialVersionUID = -2023494380640473941L; + + @ApiModelProperty(value = "销售订单sid") + private String salesOrderSid; + + @ApiModelProperty(value = "客户sid") + private String customerSid; + + @ApiModelProperty(value = "用户sid") + private String userSid; + + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java index c7aa3f0f6d..259bc97b42 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppModelInfoVo.java @@ -14,7 +14,7 @@ public class AppModelInfoVo implements Vo { private String model; @ApiModelProperty("品牌") private String brand; - @ApiModelProperty("价格") + @ApiModelProperty("价格:价格信息中的成交价") private String price; @ApiModelProperty("数量") private String number; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarList.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarListVo.java similarity index 87% rename from anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarList.java rename to anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarListVo.java index c70bfba203..be909b2545 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarList.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppNowCarListVo.java @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class AppNowCarList implements Vo { +public class AppNowCarListVo implements Vo { private static final long serialVersionUID = 2686499164252521275L; @ApiModelProperty("车架号") @@ -17,7 +17,7 @@ public class AppNowCarList implements Vo { @ApiModelProperty("存放地点") private String address; - @ApiModelProperty("车库sid") + @ApiModelProperty("车辆sid") private String carSid; @ApiModelProperty("是否虚拟订单锁定的") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfoVo.java similarity index 83% rename from anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfo.java rename to anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfoVo.java index 633116abf7..c5e3e67434 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppOrderInfoVo.java @@ -8,7 +8,7 @@ import java.util.ArrayList; import java.util.List; @Data -public class AppOrderInfo implements Vo { +public class AppOrderInfoVo implements Vo { private static final long serialVersionUID = 360634636966708686L; @ApiModelProperty("提示") @@ -33,9 +33,9 @@ public class AppOrderInfo implements Vo { private String specialInstructions; @ApiModelProperty("销售订单-车型确认-现车") - private List nowCarList = new ArrayList<>(); + private List nowCarList = new ArrayList<>(); @ApiModelProperty("销售订单-车型确认-排产") - private List readyCarList = new ArrayList<>(); + private List readyCarList = new ArrayList<>(); } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarList.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarListVo.java similarity index 93% rename from anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarList.java rename to anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarListVo.java index f8d09af653..10e015cd28 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarList.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppReadyCarListVo.java @@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data -public class AppReadyCarList implements Vo { +public class AppReadyCarListVo implements Vo { private static final long serialVersionUID = 5257855685147744221L; @ApiModelProperty("排产订单编号") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelFeign.java index 65184baff4..1dfea117b3 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/BusSalesOrderModelFeign.java @@ -31,6 +31,7 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; /** @@ -55,7 +56,7 @@ import org.springframework.web.bind.annotation.RequestBody; public interface BusSalesOrderModelFeign { @ApiOperation("保存") - @PostMapping("/saveOrUpdate") + @PutMapping("/saveOrUpdate") ResultBean save(@RequestBody AppBusSalesOrderModelDto dto); diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java index 072dba49b7..222ddefe48 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java @@ -1,11 +1,14 @@ package com.yxt.anrui.buscenter.api.bussalesordermodel.app; +import com.fasterxml.jackson.annotation.JsonProperty; import com.yxt.anrui.buscenter.api.bussalesorder.app.AppCarInfo; -import com.yxt.anrui.buscenter.api.bussalesorder.app.AppOrderInfo; import com.yxt.common.core.dto.Dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + /** * @Author dimengzhe * @Date 2022/5/30 16:26 @@ -16,18 +19,25 @@ public class AppBusSalesOrderModelDto implements Dto { private static final long serialVersionUID = -1189347148270757235L; @ApiModelProperty("选择的车型信息的数据") - private AppOrderInfo orderInfo; + @NotNull(message = "参数错误:选择的车型信息不能为空") + private AppOrderInfoDto orderInfo; @ApiModelProperty("根据车型查询出来的现车和采购订单数据") private AppCarInfo carInfo; @ApiModelProperty("订单sid") + @NotBlank(message = "参数错误:订单sid不能为空") private String saleOrderSid; - @ApiModelProperty("选择类型") + @ApiModelProperty("选择类型:0现车,1采购,2排产") + @NotBlank(message = "参数错误:类型不能为空") private String state; @ApiModelProperty("排产数量") private String arrangeNumber; + @ApiModelProperty(value = "销售指导价") + @JsonProperty(value = "price") + private String guildPrice; + } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppOrderInfoDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppOrderInfoDto.java new file mode 100644 index 0000000000..68e14816de --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppOrderInfoDto.java @@ -0,0 +1,42 @@ +package com.yxt.anrui.buscenter.api.bussalesordermodel.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.app.AppBusSalesOrderVehicleDto; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.app.AppBusSalesVehicleOrderDto; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/5/31 14:56 + * @Description + */ +@Data +public class AppOrderInfoDto implements Dto { + private static final long serialVersionUID = 37103730602607567L; + @ApiModelProperty(value = "车型sid") + @JsonProperty(value = "modelSid") + private String modelSid; + @ApiModelProperty(value = "配置sid") + @JsonProperty(value = "configSid") + private String modelConfigSid; + @ApiModelProperty(value = "车型名称") + @JsonProperty(value = "modelName") + private String modelName; + @ApiModelProperty(value = "常用配置") + @JsonProperty(value = "commonlyConfig") + private String config; + @ApiModelProperty(value = "更多配置") + @JsonProperty(value = "moreConfig") + private String moreConfig; + @ApiModelProperty(value = "特殊说明") + @JsonProperty(value = "specialInstructions") + private String specialConfig; + @ApiModelProperty(value = "已选择的现车列表") + private List nowCarList; + @ApiModelProperty(value = "已选择的采购订单列表") + private List readyCarList; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/app/AppBusSalesOrderVehicleDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/app/AppBusSalesOrderVehicleDto.java new file mode 100644 index 0000000000..c47be37e85 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/app/AppBusSalesOrderVehicleDto.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.buscenter.api.bussalesordervehicle.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/31 15:09 + * @Description + */ +@Data +public class AppBusSalesOrderVehicleDto implements Dto { + private static final long serialVersionUID = 6958330553023971485L; + @ApiModelProperty(value = "车架号") + @JsonProperty(value = "vin") + private String linkNo; + + @ApiModelProperty(value = "存放地点") + @JsonProperty(value = "address") + private String linkText; + + @ApiModelProperty(value = "车辆sid") + @JsonProperty(value = "carSid") + private String linkSid; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/app/AppBusSalesVehicleOrderDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/app/AppBusSalesVehicleOrderDto.java new file mode 100644 index 0000000000..e01659ef8d --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesvehicleorder/app/AppBusSalesVehicleOrderDto.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.buscenter.api.bussalesvehicleorder.app; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/31 15:14 + * @Description + */ +@Data +public class AppBusSalesVehicleOrderDto implements Dto { + private static final long serialVersionUID = -3624372305974273450L; + @ApiModelProperty(value = "采购订单sid") + @JsonProperty(value = "sid") + private String linkSid; + @ApiModelProperty(value = "采购订单编号") + @JsonProperty(value = "orderId") + private String linkNo; + @ApiModelProperty(value = "采购订单日期") + @JsonProperty(value = "date") + private String linkText; + @ApiModelProperty(value = "选择数量") + @JsonProperty(value = "selectNum") + private String usingNum; + +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java index ad9c52bc90..455b91a778 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java @@ -105,4 +105,6 @@ public interface BusSalesOrderMapper extends BaseMapper { * @return */ int updateCompanySidBySid(String sid); + + int updateTypeBySid(@Param("type") String type, @Param("sid") String salesOrderSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml index 710979efcf..ca32a37766 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml @@ -39,17 +39,17 @@ @@ -109,4 +111,10 @@ set affiliatedCompanySid = NULL where sid = #{sid} + + + update bus_sales_order + set type = #{type} + where sid = #{sid} + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java index 993316fd92..168b969af2 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java @@ -183,10 +183,9 @@ public class BusSalesOrderRest implements BusSalesOrderFeign { @Override @ApiOperation("App初始化销售订单 车型信息 需要详细沟通") - public ResultBean getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { - ResultBean rb = ResultBean.fireFail(); - AppBusSaleOrderInitModelInfoVo vo = busSalesOrderService.getInitModelInfo(saleOrderSid, customerSid, userSid); - return rb.success().setData(vo); + public ResultBean getInitModelInfo(AppInitModelQuery appInitModelQuery) { + return busSalesOrderService.getInitModelInfo(appInitModelQuery); + } @Override diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index 369b499c1a..d1458c00c0 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -110,6 +110,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; +import java.util.stream.Collectors; /** * Project: anrui-buscenter(业务管理)
@@ -525,6 +526,8 @@ public class BusSalesOrderService extends MybatisBaseService getInitModelInfo(AppInitModelQuery appInitModelQuery) { + ResultBean rb = ResultBean.fireFail(); + String saleOrderSid = appInitModelQuery.getSalesOrderSid(); + String customerSid = appInitModelQuery.getCustomerSid(); + String userSid = appInitModelQuery.getUserSid(); + BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid); + if (busSalesOrder == null) { + return rb.setMsg("销售订单单据信息不存在"); + } + String type = ""; AppBusSaleOrderInitModelInfoVo vo = new AppBusSaleOrderInitModelInfoVo(); - List appReadyCar = new ArrayList<>(); - List appNowCars = new ArrayList<>(); - AppOrderInfo orderInfo = new AppOrderInfo(); - - AppOrderInfo appOrderInfo = busSalesOrderModelService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); - - orderInfo.setNotice("提示"); - orderInfo.setModelSid(appOrderInfo.getModelSid()); - orderInfo.setModelName(appOrderInfo.getModelName()); - orderInfo.setConfigSid(appOrderInfo.getConfigSid()); - orderInfo.setCommonlyConfig(appOrderInfo.getCommonlyConfig()); - orderInfo.setMoreConfig(appOrderInfo.getMoreConfig()); - orderInfo.setModelName(appOrderInfo.getModelName()); - - //现车 - List appNowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); - BeanUtil.copyProperties(appNowCarList, appNowCars); - orderInfo.setNowCarList(appNowCars); - //排产 - List appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); - BeanUtil.copyProperties(appReadyCarList, appReadyCar); - orderInfo.setReadyCarList(appReadyCarList); - vo.setOrderInfo(orderInfo); - AppCarInfo carInfo = new AppCarInfo(); - List readyCars = new ArrayList<>(); - carInfo.setReadyCar(readyCars); - List nowCars = new ArrayList<>(); - carInfo.setNowCar(nowCars); - vo.setCarInfo(carInfo); - return vo; + vo.setSaleOrderSid(saleOrderSid); + //根据销售订单查询是否有车型信息 + AppOrderInfoVo orderInfo = busSalesOrderModelService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); + if (orderInfo != null) { + List vinNoList = new ArrayList<>(); + Map map = new HashMap<>(); + String modelSid = orderInfo.getModelSid(); + String configSid = orderInfo.getConfigSid(); + AppCarInfo appCarInfo = new AppCarInfo(); + List appNowCars = new ArrayList<>(); + List appReadyCar = new ArrayList<>(); + //根据车型sid及配置sid查询现车列表 + ResultBean> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid); + if (orderVoResultBean.getSuccess()) { + List voList = orderVoResultBean.getData(); + for (AppBaseVehicleOrderVo vehicleOrderVo : voList) { + AppNowCarVo appNowCarVo = new AppNowCarVo(); + BeanUtil.copyProperties(vehicleOrderVo, appNowCarVo); + vinNoList.add(vehicleOrderVo.getVin()); + appNowCars.add(appNowCarVo); + } + appCarInfo.setNowCar(appNowCars); + } + //排产采购订单 + ResultBean> applyListResultBean = busVehicleApplyDetailFeign.getAppApplyList(modelSid, configSid); + if (applyListResultBean.getSuccess()) { + List applyListVos = applyListResultBean.getData(); + for (AppBusVehicleApplyListVo applyListVo : applyListVos) { + AppReadyCarVo appReadyCarVo = new AppReadyCarVo(); + BeanUtil.copyProperties(applyListVo, appReadyCarVo); + map.put(applyListVo.getOrderId(), applyListVo.getCanUseNum());//可使用数量 + appReadyCar.add(appReadyCarVo); + } + appCarInfo.setReadyCar(appReadyCar); + } + vo.setCarInfo(appCarInfo); + //查询是否有车辆信息:1现车、2采购订单、3排产。需要对应apifox中对应的类型:0现车、1采购订单、2排产 + if ("1".equals(busSalesOrder.getType())) { + //类型为现车,查询该销售订单的现车车辆信息 + List nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); + nowCarList.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); + if (!nowCarList.isEmpty()) { + orderInfo.setNowCarList(nowCarList); + boolean isCheck = isCheck(vinNoList, nowCarList); + if (isCheck) { + orderInfo.setNotice("当前车型已经更新,请进行确认"); + } + } + type = "0"; + } + if ("2".equals(busSalesOrder.getType())) { + List appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(saleOrderSid); + appReadyCarList.parallelStream().filter(Objects::nonNull).collect(Collectors.toList()); + if (!appReadyCarList.isEmpty()) { + orderInfo.setReadyCarList(appReadyCarList); + boolean isCheck = isCheck2(map, appReadyCarList); + if (isCheck) { + orderInfo.setNotice("当前车型已经更新,请进行确认"); + } + } + type = "1"; + + } + if ("3".equals(busSalesOrder.getType())) { + type = "2"; + + } + vo.setOrderInfo(orderInfo); + vo.setState(type); + + } + return rb.success().setData(vo); + } + + /** + * 查询现车是否有变化 + * + * @param vinNoList 查询出来的车辆集合 + * @param appNowCarList 选择的现车集合 + * @return + */ + public Boolean isCheck(List vinNoList, List appNowCarList) { + Boolean isCheck = false; + for (AppNowCarListVo car : appNowCarList) { + String vinNo = car.getVin(); + if (!vinNoList.contains(vinNo)) { + isCheck = true; + break; + } + } + return isCheck; + } + + public Boolean isCheck2(Map orderIdMap, List appReadyCarList) { + Boolean isCheck = false; + for (AppReadyCarListVo order : appReadyCarList) { + String orderId = order.getOrderId(); + if (orderIdMap.containsKey(orderId)) { + if (Integer.parseInt(orderIdMap.get(orderId).toString()) == 0) { + isCheck = true; + break; + } + } + } + return isCheck; } public AppBusSaleOrderInitModelInfoVo getInitModelInfo2(AppBusSaleOrderInitModelInfoQuery appBusSaleOrderInitModelInfoQuery) { @@ -1334,14 +1429,14 @@ public class BusSalesOrderService extends MybatisBaseService appNowCars = new ArrayList<>(); List appReadyCar = new ArrayList<>(); - List appNowCarLists = new ArrayList<>(); - List appReadyCarLists = new ArrayList<>(); + List appNowCarLists = new ArrayList<>(); + List appReadyCarLists = new ArrayList<>(); //根据车型及配置查询车型信息 ResultBean appCarConfigSummaryVoResultBean = baseVehmodelConfigFeign.selectCarConfigSummary(modelSid, configSid, userSid); AppCarConfigSummaryVo data = appCarConfigSummaryVoResultBean.getData(); @@ -1353,6 +1448,7 @@ public class BusSalesOrderService extends MybatisBaseService> orderVoResultBean = baseVehicleFeign.selectAppList(modelSid, configSid); @@ -1366,12 +1462,12 @@ public class BusSalesOrderService extends MybatisBaseService> applyListResultBean = busVehicleApplyDetailFeign.getAppApplyList(modelSid,configSid); - if(applyListResultBean.getSuccess()){ + ResultBean> applyListResultBean = busVehicleApplyDetailFeign.getAppApplyList(modelSid, configSid); + if (applyListResultBean.getSuccess()) { List applyListVos = applyListResultBean.getData(); - for (AppBusVehicleApplyListVo applyListVo : applyListVos){ + for (AppBusVehicleApplyListVo applyListVo : applyListVos) { AppReadyCarVo appReadyCarVo = new AppReadyCarVo(); - BeanUtil.copyProperties(applyListVo,appReadyCarVo); + BeanUtil.copyProperties(applyListVo, appReadyCarVo); appReadyCar.add(appReadyCarVo); } appCarInfo.setReadyCar(appReadyCar); @@ -1531,4 +1627,8 @@ public class BusSalesOrderService extends MybatisBaseService @@ -53,7 +46,7 @@ import java.util.List; */ @Mapper public interface BusSalesOrderModelMapper extends BaseMapper { - + BusSalesOrderModel selectBySalesSid(String sid); @@ -73,4 +66,12 @@ public interface BusSalesOrderModelMapper extends BaseMapper * @return */ int deleteByOrderSid(String sid); + + /** + * 移动端-根据销售订单sid查询车型信息 + * + * @param saleOrderSid 销售订单sid + * @return + */ + AppOrderInfoVo selectAppModelBySid(String saleOrderSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml index 3083197c3f..5494d733f4 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelMapper.xml @@ -32,4 +32,15 @@ from bus_sales_order_model where salesOrderSid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java index c38ae878d0..7d0b52a205 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java @@ -26,15 +26,31 @@ package com.yxt.anrui.buscenter.biz.bussalesordermodel; import cn.hutool.core.bean.BeanUtil; -import com.yxt.anrui.buscenter.api.bussalesorder.app.AppOrderInfo; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; +import com.yxt.anrui.buscenter.api.bussalesorder.app.AppOrderInfoVo; +import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeupDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDetailsVo; import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelDto; import com.yxt.anrui.buscenter.api.bussalesordermodel.app.AppBusSalesOrderModelDto; +import com.yxt.anrui.buscenter.api.bussalesordermodel.app.AppOrderInfoDto; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.app.AppBusSalesOrderVehicleDto; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.app.AppBusSalesVehicleOrderDto; +import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; +import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService; +import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService; +import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; +import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.StringUtils; import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; +import java.util.List; + /** * Project: anrui-buscenter(业务管理)
* File: BusSalesOrderModelService.java
@@ -51,6 +67,18 @@ import org.springframework.stereotype.Service; @Service public class BusSalesOrderModelService extends MybatisBaseService { + @Autowired + private BusSalesOrderService busSalesOrderService; + @Autowired + private BusSalesOrderVehicleService busSalesOrderVehicleService; + @Autowired + private BusSalesVehicleOrderService busSalesVehicleOrderService; + @Autowired + private BusSalesOrderPriceService busSalesOrderPriceService; + @Autowired + private BusSalesOrderMakeupService busSalesOrderMakeupService; + + public void saveModel(BusSalesOrderModelDto busSalesOrderModelDto, String sid) { //根据销售订单sid查询该订单的主车型 BusSalesOrderModel busSalesOrderModel = baseMapper.selectBySalesSid(sid); @@ -87,24 +115,95 @@ public class BusSalesOrderModelService extends MybatisBaseService nowCarList = orderInfo.getNowCarList(); + busSalesOrderVehicleService.saveAppVehicle(nowCarList, salesOrderSid); + num = nowCarList.size(); + } + if ("1".equals(state)) { + List readyCarList = orderInfo.getReadyCarList(); + busSalesVehicleOrderService.saveAppOrder(readyCarList, salesOrderSid); + type = "2"; + for (AppBusSalesVehicleOrderDto dt : readyCarList) { + int a = Integer.parseInt(dt.getUsingNum()); + num = num + a; + } + } + if ("2".equals(state)) { + type = "3"; + num = Integer.parseInt(dto.getArrangeNumber()); + } + //新增或更新价格信息中的台数及单台销售指导价 + BigDecimal bigDecimalPrice = new BigDecimal(dto.getGuildPrice()); + if ("1".equals(busSalesOrder.getIsTop())) { + BusSalesOrderMakeupDetailsVo busSalesOrderMakeupVo = busSalesOrderMakeupService.details(salesOrderSid); + if (busSalesOrderMakeupVo != null) { + if (StringUtils.isNotBlank(busSalesOrderMakeupVo.getTopPrice())) { + bigDecimalPrice = bigDecimalPrice.add(new BigDecimal(busSalesOrderMakeupVo.getTopPrice())); + } + } + } + BusSalesOrderPrice busSalesOrderPrice = busSalesOrderPriceService.selectBySalesOrderSid(salesOrderSid); + if (busSalesOrderPrice == null) { + busSalesOrderPrice = new BusSalesOrderPrice(); + busSalesOrderPrice.setQuantity(num); + busSalesOrderPrice.setSalesOrderSid(salesOrderSid); + busSalesOrderPrice.setSingleGuildPrice(bigDecimalPrice); + busSalesOrderPriceService.save(busSalesOrderPrice); + } else { + busSalesOrderPriceService.updateBySalesSid(num, salesOrderSid,bigDecimalPrice); + } + //更新销售订单的车辆类型 + busSalesOrderService.updateTypeBySid(type, salesOrderSid); + return rb.success().setMsg("成功"); } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.java index c2d5462cc6..fd2590b524 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.java @@ -25,18 +25,14 @@ *********************************************************/ package com.yxt.anrui.buscenter.biz.bussalesorderprice; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; -import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; -import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceVo; -import java.util.List; +import java.math.BigDecimal; /** * Project: anrui-buscenter(业务管理)
@@ -75,4 +71,6 @@ public interface BusSalesOrderPriceMapper extends BaseMapper * @return */ int deleteByOrderSid(String sid); + + int updateBySalesSid(@Param("num") int num, @Param("sid") String salesOrderSid, @Param("price") BigDecimal price); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml index 9b0c7145f7..4d5ae7e93c 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml @@ -26,4 +26,11 @@ from bus_sales_order_price where salesOrderSid = #{sid} + + + update bus_sales_order_price + set quantity = #{num}, + singleGuildPrice = #{price} + where salesOrderSid = #{sid} + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java index c83dc95035..1dc044b384 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceService.java @@ -26,13 +26,10 @@ package com.yxt.anrui.buscenter.biz.bussalesorderprice; import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.buscenter.api.bussalesorderprice.*; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto; import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.PagerUtil; -import com.yxt.common.core.query.PagerQuery; -import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -99,4 +96,12 @@ public class BusSalesOrderPriceService extends MybatisBaseService selectAppDetailsVoBySaleOrderSid(String saleOrderSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml index 2843c92da4..bdef6eb3b4 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml @@ -30,4 +30,13 @@ from bus_sales_order_vehicle where salesOrderSid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java index a6f8a18e46..b994ce50c0 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java @@ -26,17 +26,14 @@ package com.yxt.anrui.buscenter.biz.bussalesordervehicle; import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.buscenter.api.bussalesorder.app.AppNowCarList; -import com.yxt.anrui.buscenter.api.bussalesordervehicle.*; +import com.yxt.anrui.buscenter.api.bussalesorder.app.AppNowCarListVo; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleDto; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.app.AppBusSalesOrderVehicleDto; import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.PagerUtil; -import com.yxt.common.core.query.PagerQuery; -import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; /** @@ -56,18 +53,16 @@ import java.util.List; public class BusSalesOrderVehicleService extends MybatisBaseService { public void saveVehicle(List list, String sid) { - List stringList = baseMapper.selectVehicleList(sid); - if (stringList.size() > 0) { - //删除 - baseMapper.deleteBySalesOrderSid(sid); - } - for (int i = 0; i < list.size(); i++) { - BusSalesOrderVehicleDto busSalesOrderVehicleDto = list.get(i); - BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle(); - BeanUtil.copyProperties(busSalesOrderVehicleDto, busSalesOrderVehicle, "sid"); - busSalesOrderVehicle.setSalesOrderSid(sid); - save(busSalesOrderVehicle); + if (list.size() > 0) { + for (int i = 0; i < list.size(); i++) { + BusSalesOrderVehicleDto busSalesOrderVehicleDto = list.get(i); + BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle(); + BeanUtil.copyProperties(busSalesOrderVehicleDto, busSalesOrderVehicle, "sid"); + busSalesOrderVehicle.setSalesOrderSid(sid); + save(busSalesOrderVehicle); + } } + } public List detailsList(String sid) { @@ -84,8 +79,9 @@ public class BusSalesOrderVehicleService extends MybatisBaseService selectAppDetailsVoBySaleOrderSid(String saleOrderSid) { - List stringList = baseMapper.selectVehicleList(saleOrderSid); + public List selectAppDetailsVoBySaleOrderSid(String saleOrderSid) { + return baseMapper.selectAppDetailsVoBySaleOrderSid(saleOrderSid); + /* List stringList = baseMapper.selectVehicleList(saleOrderSid); List appNowCars = new ArrayList<>(); for (BusSalesOrderVehicle busSalesOrderVehicle : stringList) { AppNowCarList appNowCar = new AppNowCarList(); @@ -94,6 +90,20 @@ public class BusSalesOrderVehicleService extends MybatisBaseService nowCarList, String salesOrderSid) { + if (nowCarList.size() > 0) { + for (int i = 0; i < nowCarList.size(); i++) { + AppBusSalesOrderVehicleDto appBusSalesOrderVehicleDto = nowCarList.get(i); + if (appBusSalesOrderVehicleDto != null) { + BusSalesOrderVehicle busSalesOrderVehicle = new BusSalesOrderVehicle(); + BeanUtil.copyProperties(appBusSalesOrderVehicleDto, busSalesOrderVehicle, "sid"); + busSalesOrderVehicle.setSalesOrderSid(salesOrderSid); + save(busSalesOrderVehicle); + } + } + } } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java index f0c19a6432..fb5c336c4a 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.java @@ -25,16 +25,12 @@ *********************************************************/ package com.yxt.anrui.buscenter.biz.bussalesvehicleorder; -import com.baomidou.mybatisplus.core.conditions.Wrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.buscenter.api.bussalesorder.app.AppReadyCarListVo; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder; import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.Select; -import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder; -import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderVo; import java.util.List; @@ -53,7 +49,7 @@ import java.util.List; */ @Mapper public interface BusSalesVehicleOrderMapper extends BaseMapper { - + List selectVehicleList(String sid); @@ -74,4 +70,6 @@ public interface BusSalesVehicleOrderMapper extends BaseMapper selectAppDetailsVoBySaleOrderSid(String saleOrderSid); } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml index 93edc6da7e..21d53808a8 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderMapper.xml @@ -31,4 +31,14 @@ from bus_sales_vehicle_order where salesOrderSid = #{sid} + + \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java index 2c41f6cbe4..d16ab85197 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicleorder/BusSalesVehicleOrderService.java @@ -26,14 +26,12 @@ package com.yxt.anrui.buscenter.biz.bussalesvehicleorder; import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.yxt.anrui.buscenter.api.bussalesorder.app.AppReadyCarList; -import com.yxt.anrui.buscenter.api.bussalesvehicleorder.*; +import com.yxt.anrui.buscenter.api.bussalesorder.app.AppReadyCarListVo; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrder; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.BusSalesVehicleOrderDto; +import com.yxt.anrui.buscenter.api.bussalesvehicleorder.app.AppBusSalesVehicleOrderDto; import com.yxt.common.base.service.MybatisBaseService; -import com.yxt.common.base.utils.PagerUtil; -import com.yxt.common.core.query.PagerQuery; -import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -56,18 +54,16 @@ import java.util.List; public class BusSalesVehicleOrderService extends MybatisBaseService { public void saveOrder(List vehicleList, String sid) { - List stringList = baseMapper.selectVehicleList(sid); - if (stringList.size() > 0) { - //删除 - baseMapper.deleteBySalesOrderSid(sid); - } - for (int i = 0; i < vehicleList.size(); i++) { - BusSalesVehicleOrderDto busSalesVehicleOrderDto = vehicleList.get(i); - BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder(); - BeanUtil.copyProperties(busSalesVehicleOrderDto, busSalesVehicleOrder, "sid"); - busSalesVehicleOrder.setSalesOrderSid(sid); - save(busSalesVehicleOrder); + if (vehicleList.size() > 0) { + for (int i = 0; i < vehicleList.size(); i++) { + BusSalesVehicleOrderDto busSalesVehicleOrderDto = vehicleList.get(i); + BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder(); + BeanUtil.copyProperties(busSalesVehicleOrderDto, busSalesVehicleOrder, "sid"); + busSalesVehicleOrder.setSalesOrderSid(sid); + save(busSalesVehicleOrder); + } } + } /** @@ -90,16 +86,29 @@ public class BusSalesVehicleOrderService extends MybatisBaseService selectAppDetailsVoBySaleOrderSid(String saleOrderSid) { - List stringList = baseMapper.selectVehicleList(saleOrderSid); - List appReadyCar = new ArrayList<>(); + public List selectAppDetailsVoBySaleOrderSid(String saleOrderSid) { + return baseMapper.selectAppDetailsVoBySaleOrderSid(saleOrderSid); + /* List stringList = baseMapper.selectVehicleList(saleOrderSid); + List appReadyCar = new ArrayList<>(); for (BusSalesVehicleOrder busSalesVehicleOrder : stringList) { - AppReadyCarList appReadyCarList = new AppReadyCarList(); + AppReadyCarListVo appReadyCarList = new AppReadyCarListVo(); appReadyCarList.setOrderId(busSalesVehicleOrder.getLinkNo()); appReadyCarList.setSid(busSalesVehicleOrder.getLinkSid()); appReadyCarList.setDate(busSalesVehicleOrder.getLinkText()); appReadyCar.add(appReadyCarList); } - return appReadyCar; + return appReadyCar;*/ + } + + public void saveAppOrder(List readyCarList, String salesOrderSid) { + if (readyCarList.size() > 0) { + for (int i = 0; i < readyCarList.size(); i++) { + AppBusSalesVehicleOrderDto appBusSalesVehicleOrderDto = readyCarList.get(i); + BusSalesVehicleOrder busSalesVehicleOrder = new BusSalesVehicleOrder(); + BeanUtil.copyProperties(appBusSalesVehicleOrderDto, busSalesVehicleOrder, "sid"); + busSalesVehicleOrder.setSalesOrderSid(salesOrderSid); + save(busSalesVehicleOrder); + } + } } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java index 057abec82a..35b046a34a 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java @@ -29,6 +29,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeignFallback; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -102,4 +103,9 @@ public interface AppBusSalesOrderFeign { @PostMapping("/init/wantCarList") @ResponseBody ResultBean> getWantCarList(@RequestBody PagerQuery pagerQuery); + + @ApiOperation("保存车型信息") + @PutMapping("/save/modelInfo") + @ResponseBody + ResultBean saveModelInfo(@RequestBody ModelDto dto); } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java index 5c88b4e346..86f9a3ee7e 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java @@ -28,6 +28,7 @@ package com.yxt.anrui.terminal.api.autoservice.saleOrders; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -88,4 +89,9 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign { public ResultBean> getWantCarList(PagerQuery pagerQuery) { return null; } + + @Override + public ResultBean saveModelInfo(ModelDto dto) { + return null; + } } \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/ModelDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/ModelDto.java new file mode 100644 index 0000000000..dcf852eff2 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/ModelDto.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +/** + * @Author dimengzhe + * @Date 2022/5/31 17:13 + * @Description + */ +@Data +public class ModelDto implements Dto { + private static final long serialVersionUID = 6939925835873684534L; + + @ApiModelProperty("选择的车型信息的数据") + @NotNull(message = "参数错误:选择的车型信息不能为空") + private OrderInfoDto orderInfo; + + @ApiModelProperty("订单sid") + @NotBlank(message = "参数错误:订单sid不能为空") + private String saleOrderSid; + + @ApiModelProperty("选择类型:0现车,1采购,2排产") + @NotBlank(message = "参数错误:类型不能为空") + private String state; + + @ApiModelProperty("排产数量") + private String arrangeNumber; + + @ApiModelProperty(value = "销售指导价") + @JsonProperty(value = "price") + private String guildPrice; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/OrderInfoDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/OrderInfoDto.java new file mode 100644 index 0000000000..b91ae2f72c --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/OrderInfoDto.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.model; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.vehicle.VehicleDto; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.vehicleorder.VehicleOrderDto; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @Author dimengzhe + * @Date 2022/5/31 17:14 + * @Description + */ +@Data +public class OrderInfoDto implements Dto { + private static final long serialVersionUID = -3071762623252133849L; + + @ApiModelProperty(value = "车型sid") + @JsonProperty(value = "modelSid") + private String modelSid; + @ApiModelProperty(value = "配置sid") + @JsonProperty(value = "configSid") + private String modelConfigSid; + @ApiModelProperty(value = "车型名称") + @JsonProperty(value = "modelName") + private String modelName; + @ApiModelProperty(value = "常用配置") + @JsonProperty(value = "commonlyConfig") + private String config; + @ApiModelProperty(value = "更多配置") + @JsonProperty(value = "moreConfig") + private String moreConfig; + @ApiModelProperty(value = "特殊说明") + @JsonProperty(value = "specialInstructions") + private String specialConfig; + @ApiModelProperty(value = "已选择的现车列表") + private List nowCarList; + @ApiModelProperty(value = "已选择的采购订单列表") + private List readyCarList; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicle/VehicleDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicle/VehicleDto.java new file mode 100644 index 0000000000..adae24bf60 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicle/VehicleDto.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.vehicle; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/31 17:19 + * @Description + */ +@Data +public class VehicleDto implements Dto { + private static final long serialVersionUID = -8249464039650634642L; + + @ApiModelProperty(value = "车架号") + @JsonProperty(value = "vin") + private String linkNo; + + @ApiModelProperty(value = "存放地点") + @JsonProperty(value = "address") + private String linkText; + + @ApiModelProperty(value = "车辆sid") + @JsonProperty(value = "carSid") + private String linkSid; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicleorder/VehicleOrderDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicleorder/VehicleOrderDto.java new file mode 100644 index 0000000000..990181240f --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vehicleorder/VehicleOrderDto.java @@ -0,0 +1,29 @@ +package com.yxt.anrui.terminal.api.autoservice.saleOrders.vehicleorder; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/5/31 17:23 + * @Description + */ +@Data +public class VehicleOrderDto implements Dto { + private static final long serialVersionUID = -6316868553385809547L; + + @ApiModelProperty(value = "采购订单sid") + @JsonProperty(value = "sid") + private String linkSid; + @ApiModelProperty(value = "采购订单编号") + @JsonProperty(value = "orderId") + private String linkNo; + @ApiModelProperty(value = "采购订单日期") + @JsonProperty(value = "date") + private String linkText; + @ApiModelProperty(value = "选择数量") + @JsonProperty(value = "selectNum") + private String usingNum; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java index a5fd034390..86f8284357 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java @@ -29,6 +29,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.*; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; import com.yxt.anrui.terminal.api.autoservice.saleOrders.AppBusSalesOrderFeign; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -109,4 +110,9 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign { return appBusSalesOrderService.getWantCarList(pagerQuery); } + @Override + public ResultBean saveModelInfo(ModelDto dto) { + return appBusSalesOrderService.saveModelInfo(dto); + } + } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java index cf45f1410d..81da209c1f 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java @@ -25,11 +25,15 @@ *********************************************************/ package com.yxt.anrui.terminal.biz.autoservice.saleOrders; +import cn.hutool.core.bean.BeanUtil; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; import com.yxt.anrui.buscenter.api.bussalesorder.app.*; +import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign; +import com.yxt.anrui.buscenter.api.bussalesordermodel.app.AppBusSalesOrderModelDto; import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery; import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo; import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.model.ModelDto; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -58,6 +62,8 @@ public class AppBusSalesOrderService { BusSalesOrderFeign busSalesOrderFeign; @Autowired private CrmVehicledemandFeign crmVehicledemandFeign; + @Autowired + private BusSalesOrderModelFeign busSalesOrderModelFeign; /************************************* 销售订单接口 *********************************************/ @@ -115,7 +121,11 @@ public class AppBusSalesOrderService { * @return */ public ResultBean getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { - ResultBean resultBean = busSalesOrderFeign.getInitModelInfo(saleOrderSid, customerSid, userSid); + AppInitModelQuery appInitModelQuery = new AppInitModelQuery(); + appInitModelQuery.setSalesOrderSid(saleOrderSid); + appInitModelQuery.setCustomerSid(customerSid); + appInitModelQuery.setUserSid(userSid); + ResultBean resultBean = busSalesOrderFeign.getInitModelInfo(appInitModelQuery); return resultBean; } @@ -151,4 +161,12 @@ public class AppBusSalesOrderService { ResultBean> resultBean = crmVehicledemandFeign.getWantCarList(pagerQuery); return resultBean; } + + public ResultBean saveModelInfo(ModelDto dto) { + ResultBean rb = ResultBean.fireFail(); + AppBusSalesOrderModelDto appBusSalesOrderModelDto = new AppBusSalesOrderModelDto(); + BeanUtil.copyProperties(dto, appBusSalesOrderModelDto); + ResultBean resultBean = busSalesOrderModelFeign.save(appBusSalesOrderModelDto); + return resultBean; + } } \ No newline at end of file