diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java index 0d1349f18a..2a29215e5e 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeign.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehmodelconfig; +import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -109,5 +110,8 @@ public interface BaseVehmodelConfigFeign { public ResultBean getAppIntentionVehicleVo(@RequestParam("userSid") String userSid, @RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid); + @ApiOperation("获取车型配置总结(即常用配置一句话描述)(销售订单)") + @GetMapping("/selectCarConfigSummary/{modelSid}/{configSid}/{userSid}") + public ResultBean selectCarConfigSummary(@RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid, @RequestParam("userSid") String userSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java index e227fc131d..58b0cd45c6 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehmodelconfig/BaseVehmodelConfigFeignFallback.java @@ -25,6 +25,7 @@ *********************************************************/ package com.yxt.anrui.base.api.basevehmodelconfig; +import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -103,4 +104,9 @@ public class BaseVehmodelConfigFeignFallback implements BaseVehmodelConfigFeign return null; } + @Override + public ResultBean selectCarConfigSummary(String modelSid, String configSid, String userSid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/AppOrderReadyCar.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/AppOrderReadyCar.java new file mode 100644 index 0000000000..bad61e0d20 --- /dev/null +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/AppOrderReadyCar.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.base.api.busvehicleorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppOrderReadyCar implements Vo { + + @ApiModelProperty("排产订单编号") + private String orderId; + + @ApiModelProperty("创建日期") + private String date; + + @ApiModelProperty("总数") + private String totalNum; + + @ApiModelProperty("可使用数量") + private String canUseNum; + + @ApiModelProperty("选择数量") + private String selectNum; + + @ApiModelProperty("排产单sid") + private String sid; + + @ApiModelProperty("提示消息") + private String msg; + +} diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java index 6d0ba7d535..d6bfe99188 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java @@ -35,6 +35,7 @@ import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.List; /** * Project: anrui-base(车型信息)
@@ -103,5 +104,7 @@ public interface BusVehicleOrderFeign { @GetMapping("/appProductionScheduling/{modelSid}/{configSid}") public ResultBean getAppProductionSchedulingDetailConfigVo(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid); - + @ApiOperation("手机端销售订单选择采购订单列表") + @GetMapping("/getAppReadyCar/{modelSid}/{configSid}") + public ResultBean> getAppReadyCar(@PathVariable("modelSid") String modelSid, @PathVariable("configSid") String configSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java index 5ddb09eeb9..124a8ad708 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java @@ -31,6 +31,8 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; +import java.util.List; + /** * Project: anrui-base(车型信息)
* File: BusVehicleOrderFeignFallback.java
@@ -90,4 +92,9 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign { return null; } + @Override + public ResultBean> getAppReadyCar(String modelSid, String configSid) { + return null; + } + } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java index a916b06529..132383bc48 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java @@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo; import com.yxt.anrui.base.api.basevehmodelconfig.*; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; @@ -117,4 +118,6 @@ public interface BaseVehmodelConfigMapper extends BaseMapper BaseVehmodelConfigVo fetchAllBySid(String sid); BaseVehmodelVo selectO(@Param("modelSid") String modelSid, @Param("configSid") String configSid); + + AppModelConfigListVo selectCarConfigSummary(@Param("modelSid") String modelSid, @Param("configSid") String configSid, @Param("orgSid") String orgSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml index 2c5a206652..a2c8da4c2d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.xml @@ -5,9 +5,9 @@ SELECT bvm.sid AS modelSid, - bvm.vehicleAlias, - bvm.brandName, - bvm.vehicleVersionValue, - bvm.fuelTypeValue, - bvm.gearboxTypeValue + bvm.vehicleAlias, + bvm.brandName, + bvm.vehicleVersionValue, + bvm.fuelTypeValue, + bvm.gearboxTypeValue FROM base_vehmodel_config bvc - LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid - LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid + LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid + LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid ${ew.sqlSegment} @@ -214,4 +214,39 @@ where modelSid = #{modelSid} and configurationItemsSid = #{configSid} + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java index 8f068b2675..23ff4de69f 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigRest.java @@ -26,6 +26,7 @@ package com.yxt.anrui.base.biz.basevehmodelconfig; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; import com.yxt.anrui.base.api.basevehmodelconfig.*; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; @@ -152,4 +153,11 @@ public class BaseVehmodelConfigRest implements BaseVehmodelConfigFeign { AppModelVeDetailVo vo = baseVehmodelConfigService.getAppIntentionVehicleVo(userSid, modelSid, configSid); return new ResultBean().success().setData(vo); } + + @Override + public ResultBean selectCarConfigSummary(String modelSid, String configSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + AppCarConfigSummaryVo vo = baseVehmodelConfigService.selectCarConfigSummary(modelSid, configSid,userSid); + return rb.success().setData(vo); + } } 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 04c5359482..1503b2ede2 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 @@ -28,6 +28,7 @@ package com.yxt.anrui.base.biz.basevehmodelconfig; 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.base.api.basemodelconfig.AppCarConfigSummaryVo; import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo; import com.yxt.anrui.base.api.basevehicle.ConfigInfo; import com.yxt.anrui.base.api.basevehmodelconfig.*; @@ -384,4 +385,63 @@ public class BaseVehmodelConfigService extends MybatisBaseService { AppCurrentCarDetailVo getAppProductionSchedulingDetailConfigVo(@Param("modelSid") String modelSid, @Param("configSid") String configSid); BusVehicleOrderVo selectBySid(@Param("sid") String sid); + + /** + * 手机端销售订单选择采购订单列表 + * + * @param modelSid + * @param configSid + * @return + */ + List getAppReadyCar(@Param("modelSid") String modelSid, @Param("configSid") String configSid); } \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml index 8b6c70375a..8b7e777bd9 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml @@ -183,4 +183,15 @@ LEFT JOIN bus_vehicle_apply bva ON bvad.applySid = bva.sid WHERE bvo.sid = #{sid} + + \ No newline at end of file diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java index a030dd60ac..776e8233dc 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java @@ -39,6 +39,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** * Project: anrui-base(车型信息)
* File: BusVehicleOrderFeignFallback.java
@@ -146,4 +148,10 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign { return new ResultBean().success().setData(vo); } + @Override + public ResultBean> getAppReadyCar(String modelSid, String configSid) { + List list = busVehicleOrderService.getAppReadyCar(modelSid, configSid); + return new ResultBean>().success().setData(list); + } + } diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java index e191b4e600..74dc99a5ce 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java @@ -383,4 +383,9 @@ public class BusVehicleOrderService extends MybatisBaseService getAppReadyCar(String modelSid, String configSid) { + List list = baseMapper.getAppReadyCar(modelSid, configSid); + return list; + } } \ No newline at end of file diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderInitModelInfoVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderInitModelInfoVo.java new file mode 100644 index 0000000000..db60fbec0b --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderInitModelInfoVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppBusSaleOrderInitModelInfoVo implements Vo { + + @ApiModelProperty("") + private AppOrderInfo orderInfo; + + @ApiModelProperty("") + private AppCarInfo carInfo; + + @ApiModelProperty("订单sid") + private String saleOrderSid; + + @ApiModelProperty("选择类型") + private String state; + + @ApiModelProperty("排产数量") + private String arrangeNumber; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderStateVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderStateVo.java new file mode 100644 index 0000000000..64a488d14a --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSaleOrderStateVo.java @@ -0,0 +1,63 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppBusSaleOrderStateVo implements Vo { + + //0 未完善 1 已完善 + + @ApiModelProperty("单据状态") + private int orderInfoState; + + @ApiModelProperty("车型状态") + private int modleInfoState; + + @ApiModelProperty("车型名称") + private String modelName; + + @ApiModelProperty("车型sid") + private String modelSid; + + @ApiModelProperty("配置sid") + private String configSid; + + @ApiModelProperty("上装状态") + private int topInfoState; + + @ApiModelProperty("上装名称") + private String topName; + + @ApiModelProperty("挂车状态") + private int trailerInfoState; + + @ApiModelProperty("价格信息") + private int priceInfoState; + + @ApiModelProperty("订金状态") + private int depositInfoState; + + @ApiModelProperty("保险说明") + private int insureInfoState; + + @ApiModelProperty("保险名称") + private String insureName; + + @ApiModelProperty("金融方案状态") + private int financeInfoState; + + @ApiModelProperty("补充说明状态") + private int remarksStete; + + @ApiModelProperty("补充说明") + private String remarks; + + @ApiModelProperty("客户sid") + private String customerSid; + + @ApiModelProperty("客户名称") + private String customerName; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderAllDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderAllDto.java new file mode 100644 index 0000000000..b21abae7fc --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderAllDto.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppBusSalesOrderAllDto implements Dto { + + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("手机号") + private String customerMobile; + @ApiModelProperty("付款类型") + private String payType; + @ApiModelProperty("付款类型") + private String payValue; + @ApiModelProperty("开票类型") + private String invoiceType; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("销售订单sid") + private String saleOrderSid; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("付款类型") + private String invoiceValue; + @ApiModelProperty("挂靠公司类型 1 选择 2 手写") + private String affiliatedType; + @ApiModelProperty("选择挂靠公司名称") + private String affiliatedOrgNameChoose; + @ApiModelProperty("手写挂靠公司名称") + private String affiliatedOrgNameWrite; + @ApiModelProperty("挂靠公司名称sid") + private String affiliatedOrgSid; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderBillInfoVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderBillInfoVo.java new file mode 100644 index 0000000000..153052104a --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderBillInfoVo.java @@ -0,0 +1,52 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppBusSalesOrderBillInfoVo implements Vo { + + @ApiModelProperty("客户名称") + private String customerName; + + @ApiModelProperty("客户手机号") + private String customerMobile; + + @ApiModelProperty("付款类型") + private String payType; + + @ApiModelProperty("付款类型") + private String payValue; + + @ApiModelProperty("开票类型") + private String invoiceType; + + @ApiModelProperty("开票类型") + private String invoiceValue; + + @ApiModelProperty("挂靠公司填写类型 默认值: 1长度: 1正则: ^[1-2]*$ 1选择 2手写") + private String affiliatedType; + + @ApiModelProperty("选择的挂靠挂靠公司") + private String affiliatedOrgNameChoose; + + @ApiModelProperty("手写的挂靠公司") + private String affiliatedOrgNameWrite; + + @ApiModelProperty("挂靠单位sid") + private String affiliatedOrgSid; + + @ApiModelProperty("挂靠单位名称") + private String affiliatedCompany; + + @ApiModelProperty("用户的sid") + private String userSid; + + @ApiModelProperty("单据sid") + private String saleOrderSid; + + @ApiModelProperty("客户sid") + private String customerSid; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderQuery.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderQuery.java new file mode 100644 index 0000000000..a2cb9f7381 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderQuery.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesorder; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderQuery.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderQuery
+ * Description: 销售订单主表 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售订单主表 查询条件", description = "销售订单主表 查询条件") +public class AppBusSalesOrderQuery implements Query { + + + @ApiModelProperty("用户sid") + private String userSid; + + @ApiModelProperty("销售订单类型(“”或null 全部 “1” 待办理 “2”已办理)") + private String type; + + @ApiModelProperty("客户名称") + private String name; + + @ApiModelProperty("业务员sid") + private String staffSid; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderVo.java new file mode 100644 index 0000000000..b00c62fd4b --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppBusSalesOrderVo.java @@ -0,0 +1,99 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.buscenter.api.bussalesorder; + + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * Project: anrui-buscenter(业务管理)
+ * File: BusSalesOrderVo.java
+ * Class: com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderVo
+ * Description: 销售订单主表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2022-04-27 13:39:04
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "销售订单主表 视图数据对象", description = "销售订单主表 视图数据对象") +public class AppBusSalesOrderVo implements Vo { + + private static final long serialVersionUID = -5570433499942792774L; + + @ApiModelProperty("销售订单sid") + private String saleOrderSid; + @ApiModelProperty("销售订单编号") + private String saleOrderId; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("客户sid") + private String customerSid; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("客户头像") + private String customerImage; + @ApiModelProperty("手机号") + private String mobile; + @ApiModelProperty("购车方式") + private String carPurchaseType; + @ApiModelProperty("购车方式key") + private String carPurchaseKey; + @ApiModelProperty("销售订单状态") + private String saleOrderState; + @ApiModelProperty("创建日期") + private String createdDate; + @ApiModelProperty("是否保险") + private String insuranceInfo; + @ApiModelProperty("订金") + private String deposit; + @ApiModelProperty("是否显示修改订单按钮") + private boolean showUpdateBtn; + @ApiModelProperty("是否显示金融方案按钮") + private boolean showFinancialBtn; + @ApiModelProperty("是否显示生成合同按钮") + private boolean showContractBtn; + @ApiModelProperty("是否显示删除订单按钮") + private boolean showDeleteBtn; + @ApiModelProperty("是否显示申请合格证按钮") + private boolean showApplyBtn; + @ApiModelProperty("是否显示录入车架号") + private boolean showInputBtn; + + @ApiModelProperty("车型信息") + private AppModelInfo modelInfo; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppCarInfo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppCarInfo.java new file mode 100644 index 0000000000..692b27fce4 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppCarInfo.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppCarInfo implements Vo { + + @ApiModelProperty("销售订单-车型确认-现车") + private List nowCar; + + @ApiModelProperty("销售订单-车型确认-排产") + private List readyCar; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppModelInfo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppModelInfo.java new file mode 100644 index 0000000000..9a3629c539 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppModelInfo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppModelInfo { + + @ApiModelProperty("车辆图片") + private String carImage; + + @ApiModelProperty("车型名称") + private String model; + + @ApiModelProperty("品牌") + private String brand; + + @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/AppNowCar.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppNowCar.java new file mode 100644 index 0000000000..5e1d7d649a --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppNowCar.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppNowCar implements Vo { + + @ApiModelProperty("车架号") + private String vin; + + @ApiModelProperty("是否有合格证") + private String certificate; + + @ApiModelProperty("存放地点") + private String address; + + @ApiModelProperty("车辆sid") + private String carSid; + + @ApiModelProperty("是否虚拟订单锁定的") + private String virtual; +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppNowCarList.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppNowCarList.java new file mode 100644 index 0000000000..28e3a308d2 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppNowCarList.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppNowCarList implements Vo { + + @ApiModelProperty("车架号") + private String vin; + + @ApiModelProperty("是否有合格证") + private String certificate; + + @ApiModelProperty("存放地点") + private String address; + + @ApiModelProperty("车库sid") + private String carSid; + + @ApiModelProperty("是否虚拟订单锁定的") + private String virtual; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppOrderInfo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppOrderInfo.java new file mode 100644 index 0000000000..d71f240a1f --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppOrderInfo.java @@ -0,0 +1,39 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppOrderInfo implements Vo { + + @ApiModelProperty("提示") + private String notice; + + @ApiModelProperty("更多配置") + private String moreConfig; + + @ApiModelProperty("常用配置") + private String commonlyConfig; + + @ApiModelProperty("车型") + private String modelName; + + @ApiModelProperty("配置sid") + private String configSid; + + @ApiModelProperty("车型sid") + private String modelSid; + + @ApiModelProperty("特殊说明") + private String specialInstructions; + + @ApiModelProperty("销售订单-车型确认-现车") + private List nowCarList; + + @ApiModelProperty("销售订单-车型确认-排产") + private List readyCarList; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCar.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCar.java new file mode 100644 index 0000000000..7b4e02921b --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCar.java @@ -0,0 +1,31 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppReadyCar implements Vo { + + @ApiModelProperty("排产订单编号") + private String orderId; + + @ApiModelProperty("创建日期") + private String date; + + @ApiModelProperty("总数") + private String totalNum; + + @ApiModelProperty("可使用数量") + private String canUseNum; + + @ApiModelProperty("选择数量") + private String selectNum; + + @ApiModelProperty("排产单sid") + private String sid; + + @ApiModelProperty("提示消息") + private String msg; + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCarList.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCarList.java new file mode 100644 index 0000000000..a9b4fdc6e2 --- /dev/null +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/AppReadyCarList.java @@ -0,0 +1,32 @@ +package com.yxt.anrui.buscenter.api.bussalesorder; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class AppReadyCarList implements Vo { + + @ApiModelProperty("排产订单编号") + private String orderId; + + @ApiModelProperty("创建日期") + private String date; + + @ApiModelProperty("总数") + private String totalNum; + + @ApiModelProperty("可使用数量") + private String canUseNum; + + @ApiModelProperty("选择数量") + private String selectNum; + + @ApiModelProperty("排产单sid") + private String sid; + + @ApiModelProperty("提示消息") + private String msg; + + +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java index b43c9d3583..0fe8c28aa7 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java @@ -102,4 +102,45 @@ public interface BusSalesOrderFeign { @PostMapping("/revokeProcess") @ResponseBody ResultBean revokeProcess(@RequestBody BusSalesOrderFlowDto dto); + + /*-------------------------------------App销售订单接口------------------------------------------------*/ + + + @ApiOperation("初始化销售订单状态") + @GetMapping("/init/saleOrderState/{saleOrderSid}") + @ResponseBody + public ResultBean saleOrderState(@PathVariable("saleOrderSid") String saleOrderSid); + + + @ApiOperation("App销售订单分页列表") + @PostMapping("/getSaleOrders") + @ResponseBody + public ResultBean> getSaleOrders(@RequestBody PagerQuery pq); + + @ApiOperation("删除销售订单") + @DeleteMapping("/deleteSaleOrder/{saleOrderSid}/{userSid}") + @ResponseBody + public ResultBean deleteSaleOrder(@PathVariable("saleOrderSid") String saleOrderSid, @PathVariable("userSid") String userSid); + + @ApiOperation("初始化销售订单单据信息") + @GetMapping("/init/billInfo/{saleOrderSid}/{userSid}") + @ResponseBody + public ResultBean getBillInfo(@PathVariable("saleOrderSid") String saleOrderSid, @PathVariable("userSid") String userSid); + + @ApiOperation("新增/修改销售订单单据") + @PostMapping("/save/billInfo") + @ResponseBody + public ResultBean saveBillInfo(@RequestBody AppBusSalesOrderAllDto dto); + + @ApiOperation("初始化销售订单 车型信息") + @GetMapping("/init/modelInfo") + @ResponseBody + public ResultBean getInitModelInfo(@RequestParam("saleOrderSid") String saleOrderSid, @RequestParam("customerSid") String customerSid, @RequestParam("userSid") String userSid); + + @ApiOperation("初始化销售订单(第一次选择或重选) 车型信息") + @GetMapping("/init/modelInfo2") + @ResponseBody + public ResultBean getInitModelInfo2(@RequestParam("special") String special, @RequestParam("customerSid") String customerSid, + @RequestParam("userSid") String userSid, @RequestParam("modelSid") String modelSid, @RequestParam("configSid") String configSid); + } \ No newline at end of file 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 b096438dc8..d18ebc32cb 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 @@ -97,4 +97,39 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign { public ResultBean revokeProcess(BusSalesOrderFlowDto dto) { return null; } + + @Override + public ResultBean saleOrderState(String saleOrderSid) { + return null; + } + + @Override + public ResultBean> getSaleOrders(PagerQuery pq) { + return null; + } + + @Override + public ResultBean deleteSaleOrder(String saleOrderSid, String userSid) { + return null; + } + + @Override + public ResultBean getBillInfo(String saleOrderSid, String userSid) { + return null; + } + + @Override + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + return null; + } + + @Override + public ResultBean getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { + return null; + } + + @Override + public ResultBean getInitModelInfo2(String special, String customerSid, String userSid, String modelSid, String configSid) { + return null; + } } \ No newline at end of file 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 3f64e9ccd1..ad2471389d 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 @@ -26,15 +26,17 @@ package com.yxt.anrui.buscenter.biz.bussalesorder; import com.baomidou.mybatisplus.core.conditions.Wrapper; +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.buscenter.api.bussalesorder.BusSalesOrder; -import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderVo; +import com.yxt.anrui.buscenter.api.bussalesorder.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Update; +import java.util.List; + /** * Project: anrui-buscenter(业务管理)
* File: BusSalesOrderMapper.java
@@ -58,4 +60,28 @@ public interface BusSalesOrderMapper extends BaseMapper { @Update("update bus_sales_order set oneBillMoney = #{oneBillMoney} where sid = #{orderSid}") int updateOneBillMoneyByOrderSid(@Param("orderSid") String orderSid,@Param("oneBillMoney") String oneBillMoney); + /** + * App销售订单分页列表 + * + * @param page + * @param qw + * @return + */ + IPage getSaleOrders(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + /** + * 根据销售订单sid查询车型信息 + * + * @param saleOrderSid + * @return + */ + AppModelInfo selectModelInfoByOrderSid(String saleOrderSid); + + /** + * App初始化销售订单单据信息 + * + * @param saleOrderSid + * @return + */ + AppBusSalesOrderBillInfoVo getBillInfo(String saleOrderSid); } \ 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 c3e959bb07..5ccc4514b8 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 @@ -5,23 +5,23 @@ + SELECT bo.sid AS saleOrderSid, + bo.billNo AS saleOrderId, + bo.customerClass AS customerType, + bo.customerSid, + bo.customerName, + bo.customerPhoto AS customerImage, + bo.mobile, + bo.payType AS carPurchaseType, + bo.payTypeKey AS carPurchaseKey, + bd.depositAll AS deposit, + bo.nodeState AS saleOrderState, + DATE_FORMAT(bo.createDate, '%Y-%m-%d') as createdDate, + case bo.isInsurance + when 0 then '否' + when 1 then '是' end as insuranceInfo + FROM bus_sales_order bo + left join bus_sales_order_price bp on bp.salesOrderSid = bo.sid + left join bus_sales_order_deposit bd on bd.salesOrderSid = bo.sid + + ${ew.sqlSegment} + + + + + + \ 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 d871801896..cd9d635b81 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 @@ -129,4 +129,59 @@ public class BusSalesOrderRest implements BusSalesOrderFeign { public ResultBean revokeProcess(BusSalesOrderFlowDto dto) { return busSalesOrderService.revokeProcess(dto); } + + + @Override + @ApiOperation("初始化销售订单状态") + public ResultBean saleOrderState(String saleOrderSid) { + ResultBean rb = ResultBean.fireFail(); + AppBusSaleOrderStateVo vo = busSalesOrderService.saleOrderState(saleOrderSid); + return rb.success().setData(vo); + } + + @Override + @ApiOperation("App销售订单分页列表") + public ResultBean> getSaleOrders(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = busSalesOrderService.getSaleOrders(pq); + return rb.success().setData(pv); + } + + @Override + @ApiOperation("删除销售订单") + public ResultBean deleteSaleOrder(String saleOrderSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + busSalesOrderService.deleteSaleOrder(saleOrderSid, userSid); + return rb.success(); + } + + @Override + @ApiOperation("App初始化销售订单单据信息") + public ResultBean getBillInfo(String saleOrderSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + AppBusSalesOrderBillInfoVo vo = busSalesOrderService.getBillInfo(saleOrderSid, userSid); + return rb.success().setData(vo); + } + + @Override + @ApiOperation("App新增/修改销售订单单据") + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + return busSalesOrderService.saveBillInfo(dto); + } + + @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); + } + + @Override + @ApiOperation("初始化销售订单(第一次选择或重选) 车型信息") + public ResultBean getInitModelInfo2(String special, String customerSid, String userSid, String modelSid, String configSid) { + ResultBean rb = ResultBean.fireFail(); + AppBusSaleOrderInitModelInfoVo vo = busSalesOrderService.getInitModelInfo2(special, customerSid, userSid, modelSid, configSid); + return rb.success().setData(vo); + } } 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 06f5605fa6..3398461504 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 @@ -27,13 +27,23 @@ package com.yxt.anrui.buscenter.biz.bussalesorder; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; +import com.alibaba.nacos.api.config.filter.IFilterConfig; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo; +import com.yxt.anrui.base.api.basemodelconfig.AppCarConfigSummaryVo; +import com.yxt.anrui.base.api.basevehicle.AppVinsDetailsVo; +import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; +import com.yxt.anrui.base.api.basevehiclemodel.AppVehicleModelBySidVo; +import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; +import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign; +import com.yxt.anrui.base.api.busvehicleorder.AppOrderReadyCar; +import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto; import com.yxt.anrui.buscenter.api.bussalesorder.*; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo; +import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDetailsVo; import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountDto; @@ -69,11 +79,14 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; import com.yxt.anrui.flowable.api.utils.ProcessStateEnum; import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo; 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.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import lombok.Data; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -81,6 +94,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.HashMap; +import java.math.BigDecimal; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -120,9 +135,17 @@ public class BusSalesOrderService extends MybatisBaseService appCreateQueryWrapper(AppBusSalesOrderQuery query) { + // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); + QueryWrapper qw = new QueryWrapper<>(); + if (query != null) { + //客户名称 + if (StringUtils.isNotBlank(query.getName())) { + qw.like("bo.customerName", query.getName()); + } + //订单类型 + if (StringUtils.isNotBlank(query.getType())) { + qw.eq("bo.type", query.getType()); + } + if (StringUtils.isNotBlank(query.getStaffSid())) { + qw.eq("bo.staffSid", query.getStaffSid()); + } + } + return qw; + } + + /** + * App销售订单分页列表 + * + * @param pq + * @return + */ + public PagerVo getSaleOrders(PagerQuery pq) { + AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(pq.getParams().getUserSid()).getData(); + pq.getParams().setStaffSid(data.getStaffSid()); + QueryWrapper qw = appCreateQueryWrapper(pq.getParams()); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.getSaleOrders(page, qw); + for (AppBusSalesOrderVo record : pagging.getRecords()) { + String saleOrderState = record.getSaleOrderState(); + if (StringUtils.isNotBlank(saleOrderState)) { + record.setShowUpdateBtn(false); + record.setShowFinancialBtn(false); + record.setShowDeleteBtn(false); + } + if (saleOrderState.equals("审批完成")) { + record.setShowContractBtn(true); + } else { + record.setShowContractBtn(false); + } + int deposit = 0; + if (StringUtils.isNotBlank(record.getDeposit())) { + deposit = new Integer(record.getDeposit()); + } + if (saleOrderState.equals("审批完成") || deposit <= 0) { + record.setShowApplyBtn(true); + } else { + record.setShowApplyBtn(false); + } + AppModelInfo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid()); + if (appModelInfo == null) { + AppModelInfo modelInfo = new AppModelInfo(); + record.setModelInfo(modelInfo); + } else { + record.setModelInfo(appModelInfo); + } + + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + /** + * App初始化销售订单单据信息 + * + * @param saleOrderSid + * @param userSid + * @return + */ + public AppBusSalesOrderBillInfoVo getBillInfo(String saleOrderSid, String userSid) { + AppBusSalesOrderBillInfoVo vo = baseMapper.getBillInfo(saleOrderSid); + String affiliatedOrgSid = vo.getAffiliatedOrgSid(); + if (StringUtils.isNotBlank(affiliatedOrgSid)) { + vo.setAffiliatedType("1"); + vo.setAffiliatedOrgNameChoose(vo.getAffiliatedCompany()); + } else { + vo.setAffiliatedType("2"); + vo.setAffiliatedOrgNameWrite(vo.getAffiliatedCompany()); + } + vo.setUserSid(userSid); + vo.setSaleOrderSid(saleOrderSid); + return vo; + } + + /** + * App初始化销售订单单据信息 + * + * @param dto + * @return + */ + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(dto.getUserSid())) { + return rb.fail().setMsg("用户sid不能为空"); + } + AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData(); + if (StringUtils.isBlank(dto.getSaleOrderSid())) { //订单sid为空新增 + BusSalesOrder busSalesOrder = new BusSalesOrder(); + busSalesOrder.setCustomerName(dto.getCustomerName()); + busSalesOrder.setMobile(dto.getCustomerMobile()); + busSalesOrder.setPayType(dto.getPayValue()); + busSalesOrder.setPayTypeKey(dto.getPayType()); + busSalesOrder.setBillingType(dto.getInvoiceValue()); + busSalesOrder.setBillingTypeKey(dto.getInvoiceType()); + busSalesOrder.setStaffName(data.getStaffName()); + busSalesOrder.setStaffSid(data.getStaffSid()); + busSalesOrder.setOrgName(data.getOrgName()); + busSalesOrder.setOrgSid(data.getOrgSid()); + String affiliatedType = dto.getAffiliatedType(); + if (affiliatedType.equals("1")) { + busSalesOrder.setAffiliatedCompanySid(dto.getAffiliatedOrgSid()); + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameChoose()); + } else if (affiliatedType.equals("2")) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + } + save(busSalesOrder); + } else { //订单sid不为空修改 + BusSalesOrder busSalesOrder = new BusSalesOrder(); + busSalesOrder.setCustomerName(dto.getCustomerName()); + busSalesOrder.setMobile(dto.getCustomerMobile()); + busSalesOrder.setPayType(dto.getPayValue()); + busSalesOrder.setPayTypeKey(dto.getPayType()); + busSalesOrder.setBillingType(dto.getInvoiceValue()); + + busSalesOrder.setBillingTypeKey(dto.getInvoiceType()); + String affiliatedType = dto.getAffiliatedType(); + if (affiliatedType.equals("1")) { + busSalesOrder.setAffiliatedCompanySid(dto.getAffiliatedOrgSid()); + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameChoose()); + } else if (affiliatedType.equals("2")) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + } + updateById(busSalesOrder); + } + return rb.success(); + } + + public AppBusSaleOrderInitModelInfoVo getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { + + 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; + } + + public AppBusSaleOrderInitModelInfoVo getInitModelInfo2(String special, String customerSid, String userSid, String modelSid, String configSid) { + AppBusSaleOrderInitModelInfoVo vo = new AppBusSaleOrderInitModelInfoVo(); + AppOrderInfo orderInfo = new AppOrderInfo(); + AppCarInfo appCarInfo = new AppCarInfo(); + List appNowCars = new ArrayList<>(); + List appReadyCar = new ArrayList<>(); + List appNowCarLists = new ArrayList<>(); + List appReadyCarLists = new ArrayList<>(); + + AppNowCar appNowCar = null; + + ResultBean appCarConfigSummaryVoResultBean = baseVehmodelConfigFeign.selectCarConfigSummary(modelSid, configSid, userSid); + AppCarConfigSummaryVo data = appCarConfigSummaryVoResultBean.getData(); + //现车 + List appNowCarVos = baseVehicleFeign.getVins(modelSid, configSid).getData(); + //排产 + List appOrderReadyCars = busVehicleOrderFeign.getAppReadyCar(modelSid, configSid).getData(); + + orderInfo.setNotice("提示"); + orderInfo.setModelSid(modelSid); + orderInfo.setModelName(data.getModel()); + orderInfo.setConfigSid(configSid); + orderInfo.setCommonlyConfig(data.getConfig()); + orderInfo.setMoreConfig(data.getMoreConfig()); + orderInfo.setModelName(special); + orderInfo.setNowCarList(appNowCarLists); + orderInfo.setReadyCarList(appReadyCarLists); + + //现车 + if (appNowCarVos.size() > 0) { + for (AppVinsDetailsVo appNowCarVo : appNowCarVos) { + appNowCar = new AppNowCar(); + appNowCar.setCarSid(appNowCarVo.getCarSid()); + appNowCar.setAddress(appNowCarVo.getAddress()); + appNowCar.setVin(appNowCarVo.getVin()); + appNowCars.add(appNowCar); + appCarInfo.setNowCar(appNowCars); + } + } else { + appCarInfo.setNowCar(appNowCars); + } + //排产 + BeanUtil.copyProperties(appReadyCar, appOrderReadyCars); + vo.setCarInfo(appCarInfo); + vo.setOrderInfo(orderInfo); + appCarInfo.setReadyCar(appReadyCar); + + return vo; + } + + public ResultBean deleteSaleOrder(String saleOrderSid, String userSid) { + ResultBean rb = ResultBean.fireFail(); + String staffSid = sysUserFeign.getUserOrgInfoByUserSid(userSid).getData().getStaffSid(); + BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid); + if (busSalesOrder.getStaffSid().equals(staffSid)) { + return rb.fail().setMsg("该订单不是当前用户所属订单,不能删除"); + } + deleteBySid(saleOrderSid); + return rb.success(); + } + + + /** * 删除/批量删除销售订单 * diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java index 0d60e0357e..d371bc6797 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java @@ -66,6 +66,8 @@ public interface BusSalesOrderDepositMapper extends BaseMapper + + + delete diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java index f6e2282012..a074dfe53d 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderinsurance/BusSalesOrderInsuranceService.java @@ -92,4 +92,14 @@ public class BusSalesOrderInsuranceService extends MybatisBaseService + + + delete diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java index 1191cc11af..015495a52f 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java @@ -104,4 +104,14 @@ public class BusSalesOrderMakeupService extends MybatisBaseService BusSalesOrderModel selectBySalesSid(String sid); + BusSalesOrderModelDetailsVo selectOrderModelStateBySid(@Param("saleOrderSid") String saleOrderSid); + + /** * 根据销售订单sid查询销售订单主车车型信息 * 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 7eab2dcdcf..5c63af3123 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 @@ -24,6 +24,13 @@ from bus_sales_order_model where salesOrderSid = #{sid} + +