Browse Source

销售订单-移动端销售订单分页列表、新增保存

master
dimengzhe 3 years ago
parent
commit
923103b610
  1. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  2. 36
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderAllDto.java
  3. 23
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/AppBusSalesOrderVo.java
  4. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java
  5. 24
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  6. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  7. 135
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  8. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  9. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  10. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

2
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<String> saveBillInfo(@RequestBody AppBusSalesOrderAllDto dto);
@ApiOperation("初始化销售订单 车型信息")
@GetMapping("/init/modelInfo")

36
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;

23
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;
/**
* 订金

10
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<BusSalesOrder> {
IPage<BusSalesOrderVo> selectPageVo(IPage<BusSalesOrder> page, @Param(Constants.WRAPPER) Wrapper<BusSalesOrder> 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<BusSalesOrder> {
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);
}

24
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -39,24 +39,24 @@
</update>
<!--app查询销售订单列表-->
<select id="getSaleOrders" resultType="com.yxt.anrui.buscenter.api.bussalesorder.app.AppBusSalesOrderVo">
SELECT bo.sid,
bo.billNo,
bo.customerClass,
SELECT bo.sid as saleOrderSid,
bo.billNo as saleOrderId,
bo.customerClass as customerType,
bo.customerSid,
bo.customerName,
bo.customerPhoto,
bo.customerPhoto as customerImage,
bo.mobile,
bo.payType,
bo.payTypeKey,
bo.payType as carPurchaseType,
bo.payTypeKey as carPurchaseKey,
bd.depositAll,
bo.nodeState,
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,
if(bo.state = '2', true, false) as showContractBtn,
bo.nodeState is not null as showUpdateBtn,
bo.nodeState is not null as showDeleteBtn,
bo.nodeState is null as showUpdateBtn,
bo.nodeState is null as showDeleteBtn,
0 as showFinancialBtn
@ -103,4 +103,10 @@
AND orgSid = #{orgSid}
AND billNo LIKE concat(#{billsType}, '%')
</select>
<update id="updateCompanySidBySid">
update bus_sales_order
set affiliatedCompanySid = NULL
where sid = #{sid}
</update>
</mapper>

2
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<String> saveBillInfo(AppBusSalesOrderAllDto dto) {
return busSalesOrderService.saveBillInfo(dto);
}

135
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<BusSalesOrderMapper
@Autowired
private CommonContractFeign commonContractFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
/**
* 构造查询条件
*
@ -823,12 +828,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
private void modifyFlowState(String businessSid, String proDefId, String nodeState,
String procInsId,
String taskDefKey,String taskId) {
String taskDefKey, String taskId) {
baseMapper.modifyFlowState(businessSid,
proDefId,
nodeState,
procInsId,
taskDefKey,taskId);
taskDefKey, taskId);
}
public ResultBean complete(BusSalesOrderFlowQuery busSalesOrderFlowQuery) {
@ -962,7 +967,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
ProcDefEnum.SALESORDER.getProDefId(),
nodeState,
dto.getInstanceId(),
taskDefKey,resultBean.getData().get(0).getId_());
taskDefKey, resultBean.getData().get(0).getId_());
/* Map<String, Object> map = new HashMap<>();
map.put("businessSid", dto.getBusinessSid());
if (inComingSourceRef.contains("start")) {
@ -1095,11 +1100,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//销售订单类型“”或null 全部 “1” 待办理 “2”已办理
if (StringUtils.isNotBlank(query.getType())) {
//待办理
if("1".equals(query.getType())){
if ("1".equals(query.getType())) {
qw.isNull("bo.nodeState");
}
//已办理
if("2".equals(query.getType())){
if ("2".equals(query.getType())) {
qw.isNotNull("bo.nodeState");
}
}
@ -1123,11 +1128,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
IPage<BusSalesOrder> page = PagerUtil.queryToPage(pq);
IPage<AppBusSalesOrderVo> 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<CommonContractBuscenterVo> buscenterVoResultBean = commonContractFeign.selectByBusSid(sid);
//合同是否已审核通过
boolean isTrue = false;
@ -1158,20 +1163,21 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
} else {
record.setShowApplyBtn(false);
}
}
//将已交订金转为string
deposit = depositBig.toString();
}
record.setDeposit(deposit);
//查询车型信息
/* AppModelInfo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid());
if (appModelInfo == null) {
AppModelInfo modelInfo = new AppModelInfo();
record.setModelInfo(modelInfo);
} else {
AppModelInfoVo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid());
if (appModelInfo != null) {
record.setModelInfo(appModelInfo);
}*/
}
//是否保险
String insuranceInfo = record.getInsuranceInfo();
if(StringUtils.isBlank(insuranceInfo)){
record.setInsuranceInfo("-");
}
}
PagerVo<AppBusSalesOrderVo> p = PagerUtil.pageToVo(pagging, null);
@ -1206,51 +1212,72 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
* @param dto
* @return
*/
public ResultBean saveBillInfo(AppBusSalesOrderAllDto dto) {
ResultBean rb = ResultBean.fireFail();
public ResultBean<String> saveBillInfo(AppBusSalesOrderAllDto dto) {
ResultBean<String> 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<AppCrmCustomerTempInfoVo> 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) {

2
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<String> saveBillInfo(@Valid @RequestBody AppBusSalesOrderAllDto dto);
@ApiOperation("初始化销售订单 车型信息")
@GetMapping("/init/modelInfo")

2
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<String> saveBillInfo(AppBusSalesOrderAllDto dto) {
return appBusSalesOrderService.saveBillInfo(dto);
}

6
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<PagerVo<AppBusSalesOrderVo>> getSaleOrders(PagerQuery<AppBusSalesOrderQuery> pq) {
ResultBean resultBean = busSalesOrderFeign.getSaleOrders(pq);
ResultBean<PagerVo<AppBusSalesOrderVo>> 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<String> saveBillInfo(AppBusSalesOrderAllDto dto) {
ResultBean<String> resultBean = busSalesOrderFeign.saveBillInfo(dto);
return resultBean;
}

Loading…
Cancel
Save