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 1fe2ad25ba..9436c650bf 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 @@ -133,7 +133,7 @@ public interface BusSalesOrderFeign { @ApiOperation("新增/修改销售订单单据") @PostMapping("/save/billInfo") @ResponseBody - public ResultBean saveBillInfo(@RequestBody AppBusSalesOrderAllDto dto); + public ResultBean saveBillInfo(@RequestBody AppBusSalesOrderAllDto dto); @ApiOperation("初始化销售订单 车型信息") @GetMapping("/init/modelInfo") diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderAllDto.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderAllDto.java index 978c9b1b71..8c08574403 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderAllDto.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderAllDto.java @@ -1,32 +1,50 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app; +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; + @Data public class AppBusSalesOrderAllDto implements Dto { - private static final long serialVersionUID = -1063289603093410032L; - @ApiModelProperty("客户名称") + private static final long serialVersionUID = 6498105458650184284L; + @ApiModelProperty(value = "客户名称", required = true) + @NotBlank(message = "参数错误:客户名称不能为空") private String customerName; @ApiModelProperty("手机号") - private String customerMobile; + @NotBlank(message = "参数错误:手机号不能为空") + @JsonProperty("customerMobile") + private String mobile; @ApiModelProperty("付款类型") - private String payType; + @NotBlank(message = "参数错误:付款类型key不能为空") + @JsonProperty("payType") + private String payTypeKey; @ApiModelProperty("付款类型") - private String payValue; + @NotBlank(message = "参数错误:付款类型value不能为空") + @JsonProperty("payValue") + private String payType; @ApiModelProperty("开票类型") - private String invoiceType; + @NotBlank(message = "参数错误:开票类型key不能为空") + @JsonProperty("invoiceType") + private String billingTypeKey; + @ApiModelProperty("付款类型") + @NotBlank(message = "参数错误:开票类型value不能为空") + @JsonProperty("invoiceValue") + private String billingType; @ApiModelProperty("用户sid") + @NotBlank(message = "参数错误:用户sid不能为空") private String userSid; @ApiModelProperty("销售订单sid") - private String saleOrderSid; + @JsonProperty("saleOrderSid") + private String sid; @ApiModelProperty("客户sid") + @NotBlank(message = "参数错误:客户sid不能为空") private String customerSid; - @ApiModelProperty("付款类型") - private String invoiceValue; @ApiModelProperty("挂靠公司类型 1 选择 0 手写") + @NotBlank(message = "参数错误:挂靠公司类型不能为空") private String affiliatedType; @ApiModelProperty("选择挂靠公司名称") private String affiliatedOrgNameChoose; diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java index 5a908dc797..771c5053aa 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java @@ -26,7 +26,6 @@ package com.yxt.anrui.buscenter.api.bussalesorder.app; -import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import com.yxt.common.core.vo.Vo; @@ -56,38 +55,32 @@ public class AppBusSalesOrderVo implements Vo { * 销售订单sid */ @ApiModelProperty("销售订单sid") - @JsonProperty("saleOrderSid") - private String sid; + private String saleOrderSid; /** * 销售订单编号 */ @ApiModelProperty("销售订单编号") - @JsonProperty("saleOrderId") - private String billNo; + private String saleOrderId; /** * 客户类型 */ @ApiModelProperty("客户类型") - @JsonProperty("customerClass") private String customerType; /** * 客户sid */ @ApiModelProperty("客户sid") - @JsonProperty("customerSid") private String customerSid; /** * 客户名称 */ @ApiModelProperty("客户名称") - @JsonProperty("customerName") private String customerName; /** * 客户头像 */ @ApiModelProperty("客户头像") - @JsonProperty("customerImage") - private String customerPhoto; + private String customerImage; /** * 手机号 */ @@ -97,20 +90,17 @@ public class AppBusSalesOrderVo implements Vo { * 购车方式 */ @ApiModelProperty("购车方式") - @JsonProperty("carPurchaseType") - private String payType; + private String carPurchaseType; /** * 购车方式key */ @ApiModelProperty("购车方式key") - @JsonProperty("carPurchaseKey") - private String payTypeKey; + private String carPurchaseKey; /** * 销售订单状态 */ @ApiModelProperty("销售订单状态") - @JsonProperty("saleOrderState") - private String nodeState; + private String saleOrderState; /** * 创建日期 */ @@ -120,7 +110,6 @@ public class AppBusSalesOrderVo implements Vo { * 是否保险 */ @ApiModelProperty("是否保险") - @JsonProperty("insuranceInfo") private String insuranceInfo; /** * 订金 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 54bb58abcd..ad9c52bc90 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 @@ -57,7 +57,7 @@ public interface BusSalesOrderMapper extends BaseMapper { IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); void modifyFlowState(@Param("businessSid") String businessSid, @Param("procDefId") String procDefId, @Param("nodeState") String nodeState, - @Param("procInstSid") String procInstSid, @Param("nodeSid") String nodeSid,@Param("taskId")String taskId); + @Param("procInstSid") String procInstSid, @Param("nodeSid") String nodeSid, @Param("taskId") String taskId); @Update("update bus_sales_order set oneBillMoney = #{oneBillMoney} where sid = #{orderSid}") @@ -97,4 +97,12 @@ public interface BusSalesOrderMapper extends BaseMapper { void updateStateByBusinessSid(@Param("state") int state, @Param("businessSid") String businessSid); int selectCountByOrgSid(@Param("billsType") String billsType, @Param("date") String date, @Param("orgSid") String orgSid); + + /** + * 根据销售订单sid将挂靠公司sid置为空 + * + * @param sid 销售订单sid + * @return + */ + int updateCompanySidBySid(String sid); } \ 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 a84777f581..710979efcf 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,24 +39,24 @@ + + + update bus_sales_order + set affiliatedCompanySid = NULL + 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 706bc42a18..bd4983cb8e 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 @@ -172,7 +172,7 @@ public class BusSalesOrderRest implements BusSalesOrderFeign { @Override @ApiOperation("App新增/修改销售订单单据") - public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { return busSalesOrderService.saveBillInfo(dto); } 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 92ac97c688..2a550e597e 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 @@ -77,6 +77,8 @@ import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService; import com.yxt.anrui.buscenter.biz.bussalesordersubmit.BusSalesOrderSubmitService; import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; import com.yxt.anrui.buscenter.biz.bussalesvehicleorder.BusSalesVehicleOrderService; +import com.yxt.anrui.crm.api.crmcustomertemp.AppCrmCustomerTempInfoVo; +import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; import com.yxt.anrui.flowable.api.flowtask.FlowTask; import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; @@ -171,6 +173,9 @@ public class BusSalesOrderService extends MybatisBaseService map = new HashMap<>(); map.put("businessSid", dto.getBusinessSid()); if (inComingSourceRef.contains("start")) { @@ -1095,11 +1100,11 @@ public class BusSalesOrderService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.getSaleOrders(page, qw); for (AppBusSalesOrderVo record : pagging.getRecords()) { - if(StringUtils.isNotBlank(record.getCustomerPhoto())){ - record.setCustomerPhoto(fileUploadComponent.getUrlPrefix()+record.getCustomerPhoto()); + if (StringUtils.isNotBlank(record.getCustomerImage())) { + record.setCustomerImage(fileUploadComponent.getUrlPrefix() + record.getCustomerImage()); } //根据销售订单sid查询是否有合同,有合同的话,查询合同是否审核。且需补交订金是否为0 - String sid = record.getSid(); + String sid = record.getSaleOrderSid(); ResultBean buscenterVoResultBean = commonContractFeign.selectByBusSid(sid); //合同是否已审核通过 boolean isTrue = false; @@ -1158,20 +1163,21 @@ public class BusSalesOrderService extends MybatisBaseService p = PagerUtil.pageToVo(pagging, null); @@ -1206,51 +1212,72 @@ public class BusSalesOrderService extends MybatisBaseService saveBillInfo(AppBusSalesOrderAllDto dto) { + ResultBean rb = ResultBean.fireFail(); if (StringUtils.isBlank(dto.getUserSid())) { - return rb.fail().setMsg("用户sid不能为空"); + return rb.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()); + //根据客户sid查询客户信息 + ResultBean crmCustomerTempInfoVoResultBean = crmCustomerTempFeign.getAppCustomerTempDetailsBySid(dto.getCustomerSid()); + String sid = ""; + if (crmCustomerTempInfoVoResultBean.getSuccess()) { + AppCrmCustomerTempInfoVo customerTempInfoVo = crmCustomerTempInfoVoResultBean.getData(); + //挂靠公司填写类型:1选择,0手写 String affiliatedType = dto.getAffiliatedType(); - if (affiliatedType.equals("1")) { - busSalesOrder.setAffiliatedCompanySid(dto.getAffiliatedOrgSid()); - busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameChoose()); - } else if (affiliatedType.equals("0")) { - 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()); + if (StringUtils.isBlank(dto.getSid())) { + BusSalesOrder busSalesOrder = new BusSalesOrder(); + BeanUtil.copyProperties(dto, busSalesOrder, "sid"); + busSalesOrder.setStaffName(data.getStaffName()); + busSalesOrder.setStaffSid(data.getStaffSid()); + busSalesOrder.setOrgName(data.getOrgName()); + busSalesOrder.setOrgSid(data.getOrgSid()); + busSalesOrder.setCustomerPhoto(customerTempInfoVo.getCustomerPhoto()); + busSalesOrder.setCustomerClass(customerTempInfoVo.getCustomerType()); + busSalesOrder.setCustomerClassKey(customerTempInfoVo.getCustomerTypeKey()); + busSalesOrder.setBillNo(generateBillNo(dto.getUserSid()).get("billNo_Num")); + if ("0".equals(affiliatedType)) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + } + if ("1".equals(affiliatedType)) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + busSalesOrder.setAffiliatedCompanySid(dto.getAffiliatedOrgSid()); + } + boolean isSave = save(busSalesOrder); + if (!isSave) { + return rb.setMsg("保存失败"); + } + sid = busSalesOrder.getSid(); + } else { + BusSalesOrder busSalesOrder = fetchBySid(dto.getSid()); + if (busSalesOrder == null) { + return rb.setMsg("该销售订单不存在"); + } + BeanUtil.copyProperties(dto, busSalesOrder, "sid"); + if ("0".equals(affiliatedType)) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + } + if ("1".equals(affiliatedType)) { + busSalesOrder.setAffiliatedCompany(dto.getAffiliatedOrgNameWrite()); + busSalesOrder.setAffiliatedCompanySid(dto.getAffiliatedOrgSid()); + } + busSalesOrder.setCustomerPhoto(customerTempInfoVo.getCustomerPhoto()); + busSalesOrder.setCustomerClass(customerTempInfoVo.getCustomerType()); + busSalesOrder.setCustomerClassKey(customerTempInfoVo.getCustomerTypeKey()); + boolean isUpdate = updateById(busSalesOrder); + if (!isUpdate) { + return rb.setMsg("修改失败"); + } + if ("0".equals(affiliatedType)) { + baseMapper.updateCompanySidBySid(dto.getSid()); + } + sid = busSalesOrder.getSid(); } - updateById(busSalesOrder); } - return rb.success(); + if (StringUtils.isBlank(sid)) { + return rb.setMsg("失败!"); + } + return rb.success().setData(sid); } public AppBusSaleOrderInitModelInfoVo getInitModelInfo(String saleOrderSid, String customerSid, String userSid) { 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 a149525430..3646deb1cc 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 @@ -83,7 +83,7 @@ public interface AppBusSalesOrderFeign { @ApiOperation("新增/修改销售订单单据") @PostMapping("/save/billInfo") @ResponseBody - public ResultBean saveBillInfo(@Valid @RequestBody AppBusSalesOrderAllDto dto); + public ResultBean saveBillInfo(@Valid @RequestBody AppBusSalesOrderAllDto dto); @ApiOperation("初始化销售订单 车型信息") @GetMapping("/init/modelInfo") 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 ffab149b5e..921b856640 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 @@ -85,7 +85,7 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign { @Override @ApiOperation("新增/修改销售订单单据") - public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { return appBusSalesOrderService.saveBillInfo(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 36dc2e280c..800951b32a 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 @@ -73,7 +73,7 @@ public class AppBusSalesOrderService { * @return */ public ResultBean> getSaleOrders(PagerQuery pq) { - ResultBean resultBean = busSalesOrderFeign.getSaleOrders(pq); + ResultBean> resultBean = busSalesOrderFeign.getSaleOrders(pq); return resultBean; } @@ -95,8 +95,8 @@ public class AppBusSalesOrderService { * @param dto * @return */ - public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { - ResultBean resultBean = busSalesOrderFeign.saveBillInfo(dto); + public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) { + ResultBean resultBean = busSalesOrderFeign.saveBillInfo(dto); return resultBean; }