Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 2 years ago
parent
commit
ccaad47824
  1. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOut.java
  2. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java
  3. 14
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDto.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java
  5. 78
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleZSOutApplyDto.java
  6. 62
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleZSOutDto.java
  7. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApply.java
  8. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApplyDetailsVo.java
  9. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApplyDto.java
  10. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java
  11. 507
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  12. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  13. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleMapper.java
  14. 10
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleMapper.xml
  15. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleService.java

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOut.java

@ -117,4 +117,15 @@ public class BaseVehicleOut extends BaseEntity {
private String manPurOrderTypeKey;
@ApiModelProperty("采购类型value")
private String manPurOrderTypeValue;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称(主车/挂车/上装)")
private String materialName;
@ApiModelProperty("物料类型key(主车/挂车/上装)")
private String materialTypeKey;
@ApiModelProperty("物料类型value")
private String materialTypeValue;
@ApiModelProperty("物料sid")
private String materialSid;
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDetailsVo.java

@ -89,4 +89,15 @@ public class BaseVehicleOutDetailsVo implements Vo {
private String manPurOrderTypeKey;
@ApiModelProperty("采购类型value")
private String manPurOrderTypeValue;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称(主车/挂车/上装)")
private String materialName;
@ApiModelProperty("物料类型key(主车/挂车/上装)")
private String materialTypeKey;
@ApiModelProperty("物料类型value")
private String materialTypeValue;
@ApiModelProperty("物料sid")
private String materialSid;
}

14
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutDto.java

@ -111,4 +111,18 @@ public class BaseVehicleOutDto implements Dto {
private String manPurOrderTypeKey;
@ApiModelProperty("采购类型value")
private String manPurOrderTypeValue;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称(主车/挂车/上装)")
private String materialName;
@ApiModelProperty("物料类型key(主车/挂车/上装)")
private String materialTypeKey;
@ApiModelProperty("物料类型value")
private String materialTypeValue;
@ApiModelProperty("物料sid")
private String materialSid;
@ApiModelProperty("业务sid")
private String busSid;
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java

@ -1,6 +1,5 @@
package com.yxt.anrui.base.api.basevehicleout;
import com.yxt.anrui.base.api.basedistributor.BaseDistributorExportQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -62,6 +61,10 @@ public interface BaseVehicleOutFeign {
@ResponseBody
public void exportExcel(@RequestBody BaseVehicleOutQuery baseVehicleOutQuery);
@ApiOperation("车辆正式出库")
@PostMapping("/vehicleZSOut")
@ResponseBody
public ResultBean vehicleZSOut(@RequestBody BaseVehicleZSOutApplyDto dto);
}

78
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleZSOutApplyDto.java

@ -0,0 +1,78 @@
package com.yxt.anrui.base.api.basevehicleout;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/9/23 13:36
* @Description
*/
@Data
public class BaseVehicleZSOutApplyDto implements Dto {
//主表申请
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("创建人姓名")
private String createByName;
@ApiModelProperty("销售类型key")
private String saleTypeKey; // 销售类型key
@ApiModelProperty("销售类型value")
private String saleTypeValue; // 销售类型value
@ApiModelProperty("销售日期")
private String saleDate; // 销售日期
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("销售部门sid")
private String orgSid; // 销售部门sid
@ApiModelProperty("销售部门名称")
private String orgName; // 销售部门名称
@ApiModelProperty("销售专员sid")
private String staffSid; // 销售专员sid
@ApiModelProperty("销售专员")
private String staffName; // 销售专员
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("客户手机号")
private String mobile; // 客户手机号
@ApiModelProperty("客户sid")
private String customerSid; // 客户sid
@ApiModelProperty("总成交价")
private String totalDealPrice; // 总成交价
@ApiModelProperty("制单人sid")
private String makeListSid; // 制单人sid
@ApiModelProperty("制单人姓名")
private String makeListName; // 制单人姓名
@ApiModelProperty("制单日期")
private String makeListDate; // 制单日期
@ApiModelProperty("审核人sid")
private String confirmSid; // 审核人sid
@ApiModelProperty("审核人姓名")
private String confirmName; // 审核人姓名
@ApiModelProperty("审核日期")
private String confirmDate; // 审核日期
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("内部引荐人姓名")
private String innerName; // 内部引荐人姓名
@ApiModelProperty("内部引荐人用户sid")
private String innerUserSid; // 内部引荐人用户sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("是否为终端客户")
private String isTerminal; // 是否为终端客户
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("财务中客户编码")
private String cwCustomerNo; // 财务中客户编码
@ApiModelProperty("业务sid(出库申请sid、挂车/上装单独出库sid)")
private String busSid; // 业务sid(出库申请sid、挂车/上装单独出库sid)
@ApiModelProperty("子表车辆、挂车、上装信息")
private List<BaseVehicleZSOutDto> baseVehicleZSOutDtos; // 子表车辆、挂车、上装信息
}

62
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleZSOutDto.java

@ -0,0 +1,62 @@
package com.yxt.anrui.base.api.basevehicleout;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/23 13:36
* @Description
*/
@Data
public class BaseVehicleZSOutDto implements Dto {
//字表车辆、挂车 、上装
@ApiModelProperty("主车物料分组code")
private String zcMGroupCode;
@ApiModelProperty("主车物料分组名称")
private String zcMGroupName;
private String vinSid;
private String vinNo;
@ApiModelProperty("成交价")
private String price;
@ApiModelProperty("赠品价值")
private String giftsDescription;
@ApiModelProperty("销售折让")
private String salesAllowance;
@ApiModelProperty("中介人1")
private String middleOne;
@ApiModelProperty("中介人1sid")
private String middleOneSid;
@ApiModelProperty("返利金额1")
private String rebateMoneyOne;
@ApiModelProperty("中介人2")
private String middleTwo;
@ApiModelProperty("中介人2sid")
private String middleTwoSid;
@ApiModelProperty("返利金额2")
private String rebateMoneyTwo;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("中介人1编码")
private String middleCodeOne;
@ApiModelProperty("中介人2编码")
private String middleCodeTwo;
@ApiModelProperty("是否要修改客户")
private String isUpdateOrInsertCrm; // 是否要修改客户
@ApiModelProperty("采购类型key")
private String manPurOrderTypeKey;
@ApiModelProperty("采购类型value")
private String manPurOrderTypeValue;
@ApiModelProperty("物料编码")
private String materialCode;
@ApiModelProperty("物料名称(主车/挂车/上装)")
private String materialName;
@ApiModelProperty("物料类型key(主车/挂车/上装)")
private String materialTypeKey;
@ApiModelProperty("物料类型value")
private String materialTypeValue;
@ApiModelProperty("物料sid")
private String materialSid;
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApply.java

@ -95,4 +95,15 @@ public class BaseVehicleOutApply extends BaseEntity {
private String innerName; // 内部引荐人姓名
@ApiModelProperty("内部引荐人用户sid")
private String innerUserSid; // 内部引荐人用户sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("是否为终端客户")
private String isTerminal; // 是否为终端客户
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("财务中客户编码")
private String cwCustomerNo; // 财务中客户编码
@ApiModelProperty("业务sid(出库申请sid、挂车/上装单独出库sid)")
private String busSid; // 业务sid(出库申请sid、挂车/上装单独出库sid)
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApplyDetailsVo.java

@ -95,4 +95,15 @@ public class BaseVehicleOutApplyDetailsVo implements Vo {
private String innerName; // 内部引荐人姓名
@ApiModelProperty("内部引荐人用户sid")
private String innerUserSid; // 内部引荐人用户sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("是否为终端客户")
private String isTerminal; // 是否为终端客户
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("财务中客户编码")
private String cwCustomerNo; // 财务中客户编码
@ApiModelProperty("业务sid(出库申请sid、挂车/上装单独出库sid)")
private String busSid; // 业务sid(出库申请sid、挂车/上装单独出库sid)
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleoutapply/BaseVehicleOutApplyDto.java

@ -96,4 +96,15 @@ public class BaseVehicleOutApplyDto implements Dto {
private String innerName; // 内部引荐人姓名
@ApiModelProperty("内部引荐人用户sid")
private String innerUserSid; // 内部引荐人用户sid
@ApiModelProperty("合同编号")
private String contractNo; // 合同编号
@ApiModelProperty("是否为终端客户")
private String isTerminal; // 是否为终端客户
@ApiModelProperty("客户编码")
private String customerNo; // 客户编码
@ApiModelProperty("财务中客户编码")
private String cwCustomerNo; // 财务中客户编码
@ApiModelProperty("业务sid(出库申请sid、挂车/上装单独出库sid)")
private String busSid; // 业务sid(出库申请sid、挂车/上装单独出库sid)
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java

@ -1,6 +1,5 @@
package com.yxt.anrui.base.biz.basevehicleout;
import com.yxt.anrui.base.api.basedistributor.BaseDistributorExportVo;
import com.yxt.anrui.base.api.basevehicleout.*;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
@ -86,4 +85,9 @@ public class BaseVehicleOutRest implements BaseVehicleOutFeign {
//导出车辆销售台账列表
ExportExcelUtils.export(fileNameURL, baseVehicleOutVoExecls, BaseVehicleOutVoExecl.class, response);
}
@Override
public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto dto) {
return baseVehicleOutService.vehicleZSOut(dto);
}
}

507
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -140,7 +140,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
ResultBean<CommonContract> commonContract = commonContractService.selectByNo(dto.getConcatNo());
if (commonContract.getSuccess()) {
//查询合同编号和车辆sid客户的临时编码
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(),dto.getConcatNo());
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), dto.getConcatNo());
if (!stringResultBean.getSuccess()) {
return rb.setMsg("请检查合同是否存在");
}
@ -459,6 +459,90 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
return null;
}
private SalOutStock createZSGCOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) {
SalOutStock salOutStock = new SalOutStock();
//单据编号
salOutStock.setFBillNo(appDto.getBillNo() + "-1");
//日期
salOutStock.setFDate(DateUtil.today());
//分公司id
String purchaseSystemSid = baseVehicle.getPurchaseSystemSid();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(appDto.getCwCustomerNo());
//销售部门id
String orgDeptSid = appDto.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode());
}
}
//项目类别key和项目类别type
salOutStock.setF_PAEZ_AssistantType("payType");
//销售类型-外采挂车映射
salOutStock.setF_PAEZ_AssistantKey("009");
//物料列表
List<SalOutStock.FEntity> fEntityList = new ArrayList<>();
SalOutStock.FEntity fEntity = new SalOutStock.FEntity();
//单价
fEntity.setFPrice(dto.getPrice());
//物料编码
fEntity.setFMaterialID(dto.getMaterialCode());
//仓库id
fEntity.setFStockID("ARZSCK");
fEntityList.add(fEntity);
if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList);
return salOutStock;
}
return null;
}
private SalOutStock createZSSZOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) {
SalOutStock salOutStock = new SalOutStock();
//单据编号
salOutStock.setFBillNo(appDto.getBillNo() + "-1");
//日期
salOutStock.setFDate(DateUtil.today());
//分公司id
String purchaseSystemSid = baseVehicle.getPurchaseSystemSid();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(appDto.getCwCustomerNo());
//销售部门id
String orgDeptSid = appDto.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode());
}
}
//项目类别key和项目类别type
salOutStock.setF_PAEZ_AssistantType("payType");
//销售类型-外采挂车映射
salOutStock.setF_PAEZ_AssistantKey("009");
//物料列表
List<SalOutStock.FEntity> fEntityList = new ArrayList<>();
SalOutStock.FEntity fEntity = new SalOutStock.FEntity();
//单价
fEntity.setFPrice(dto.getPrice());
//物料编码
fEntity.setFMaterialID(dto.getMaterialCode());
//仓库id
fEntity.setFStockID("ARZSCK");
fEntityList.add(fEntity);
if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList);
return salOutStock;
}
return null;
}
public ResultBean isUpdateOrInsertCrm(BaseVehicleOutDto dto) {
ResultBean rb = ResultBean.fireFail();
String isUpdateOrInsertCrm = dto.getIsUpdateOrInsertCrm();
@ -702,6 +786,25 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
return bdCustomer;
}
private BdCustomer createZSBdMiddle(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto) {
BdCustomer bdCustomer = new BdCustomer();
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
//TODO 去中介人表 查询手机号码 根据中介人sid: middleOneSid
// 拼接: bdCustomer.setFName(中介人名称(MiddleOne) + 手机号后四位);
BaseMiddleman baseMiddleman = baseMiddlemanService.fetchBySid(dto.getMiddleOneSid());
if (baseMiddleman != null) {
String mobile = baseMiddleman.getMobile();
String middleOne = dto.getMiddleOne();
middleOne = middleOne + mobile.substring(mobile.length() - 4);
bdCustomer.setFName(middleOne);
bdCustomer.setFNumber(baseMiddleman.getMiddleCode());
} else {
bdCustomer.setFName("");
}
return bdCustomer;
}
private SalOutStock createSalOutStock(BaseVehicle baseVehicle, BaseVehicleOutDto dto) {
SalOutStock salOutStock = new SalOutStock();
//单据编号
@ -832,6 +935,108 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
}
private SalOutStock createZSSalOutStock(BaseVehicle baseVehicle, BaseVehicleZSOutDto dto, BaseVehicleZSOutApplyDto appDto) {
SalOutStock salOutStock = new SalOutStock();
//单据编号
salOutStock.setFBillNo(appDto.getBillNo());
//日期
salOutStock.setFDate(appDto.getSaleDate());
//分公司id
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//客户
salOutStock.setFCustomerID(appDto.getCwCustomerNo());
//销售部门id
String orgDeptSid = appDto.getOrgSid();
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode());
}
}
//项目类别key和项目类别type
salOutStock.setF_PAEZ_AssistantType("payType");
//外采主车
if (baseVehicle.getManPurOrderTypeKey().equals("002")) {
salOutStock.setF_PAEZ_AssistantKey("008");
} else {
salOutStock.setF_PAEZ_AssistantKey(appDto.getSaleTypeKey());
}
//中介单位
salOutStock.setF_PAEZ_Base(dto.getMiddleCodeOne());
//物料列表
List<SalOutStock.FEntity> fEntityList = new ArrayList<>();
SalOutStock.FEntity fEntity = new SalOutStock.FEntity();
//单价
fEntity.setFPrice(dto.getPrice());
//物料编码
fEntity.setFMaterialID(dto.getVinNo().substring(dto.getVinNo().length() - 8));
//仓库id
fEntity.setFStockID("ARZSCK");
//销售折让
if (StringUtils.isNotBlank(dto.getSalesAllowance())) {
fEntity.setF_PAEZ_Decimal3(dto.getSalesAllowance());
}
if (StringUtils.isNotBlank(dto.getGiftsDescription())) {
fEntity.setF_PAEZ_Decimal4(dto.getGiftsDescription());
}
//返利金额
fEntity.setF_PAEZ_Decimal("0");
String remarks = dto.getRemarks();
String note = "";
if (StringUtils.isNotBlank(remarks)) {
note = note + remarks;
}
//备注
if (StringUtils.isNotBlank(dto.getMiddleOne())) {
if (StringUtils.isNotBlank(dto.getMiddleTwo())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "," + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。";
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).add(new BigDecimal(dto.getRebateMoneyTwo())).toString());
} else {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
} else {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。";
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyTwo()).toString());//dto.getRebateMoneyOne()
}
}
} else {
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
}
} else {
if (StringUtils.isNotBlank(dto.getMiddleTwo())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
}
}
if (StringUtils.isNotBlank(note)) {
fEntity.setFEntrynote(note);
}
fEntityList.add(fEntity);
if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList);
return salOutStock;
} else {
return null;
}
}
public PagerVo<BaseVehicleOutVo> pagerList(PagerQuery<BaseVehicleOutQuery> query) {
IPage<BaseVehicleOut> page = PagerUtil.queryToPage(query);
BaseVehicleOutQuery params = query.getParams();
@ -997,10 +1202,10 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
tRebateMoney = tRebateMoney.add(rebateMoney);
baseVehicleOutMaterialZC.setZstc(baseVehicleOut.getGiftsDescription());
String giftsDescription = baseVehicleOut.getGiftsDescription();
if (StringUtils.isNotBlank(giftsDescription)){
if (StringUtils.isNotBlank(giftsDescription)) {
tGiftsDescription = tGiftsDescription.add(new BigDecimal(giftsDescription));
}
if (baseVehicleOut.getSalesAllowance() != null){
if (baseVehicleOut.getSalesAllowance() != null) {
baseVehicleOutMaterialZC.setXszr(baseVehicleOut.getSalesAllowance().toString());
tSalesAllowance = tSalesAllowance.add(baseVehicleOut.getSalesAllowance());
}
@ -1106,6 +1311,38 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
return note;
}
private String createZSRemarks(BaseVehicleZSOutDto dto) {
String note = "";
if (StringUtils.isNotBlank(dto.getMiddleOne())) {
if (StringUtils.isNotBlank(dto.getMiddleTwo())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "," + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。";
} else {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
}
} else {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleTwo() + dto.getRebateMoneyTwo() + "。";
}
}
} else {
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
}
}
} else {
if (StringUtils.isNotBlank(dto.getMiddleTwo())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note = note + " 返利情况:" + dto.getMiddleOne() + dto.getRebateMoneyOne() + "。";
}
}
}
return note;
}
public BaseVehicleOutDetailsVo selByOrgSidAndVehSid(String useOrgSid, String vehSid) {
return baseMapper.selByOrgSidAndVehSid(useOrgSid, vehSid);
}
@ -1179,4 +1416,268 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
}
return baseVehicleOutVoExecls;
}
public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) {
ResultBean rb = ResultBean.fireFail();
List<BaseVehicleZSOutDto> dtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicleZSOutApplyDto.getCreateOrgSid()).getData();
for (BaseVehicleZSOutDto dto : dtos) {
Boolean b = false;
String vinSid = dto.getVinSid();
BdCustomer bdCustomer = new BdCustomer();
List<BdCustomer> bdCustomers = new ArrayList<>();
BaseVehicle baseVehicle = null;
if (StringUtils.isNotBlank(vinSid)) {
String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey();
baseVehicle = baseVehicleService.fetchBySid(vinSid);
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
//出库类型是否为全款车(001全款车)
if ("001".equals(payTypeKey)) {
Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData();
bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getCustomerNo());
if (!aBoolean) {
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + baseVehicleZSOutApplyDto.getMobile());
}
} else {
String FNumber = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8);
Boolean aBoolean = finKingDeeFeign.customerExistState(FNumber).getData();
if (!aBoolean) {
//查询合同是否存在
ResultBean<CommonContract> commonContract = commonContractService.selectByNo(baseVehicleZSOutApplyDto.getContractNo());
if (commonContract.getSuccess()) {
//查询合同编号和车辆sid客户的临时编码
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), baseVehicleZSOutApplyDto.getContractNo());
if (!stringResultBean.getSuccess()) {
return rb.setMsg("请检查合同是否存在");
}
String temporaryNo = stringResultBean.getData();
Boolean aBoolean1 = finKingDeeFeign.customerExistState(temporaryNo).getData();
if (!aBoolean1) {
Boolean aBoolean2 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData();
if (!aBoolean2) {
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8));
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8);
if (FNumber1.length() > 30) {
FNumber1 = FNumber1.substring(0, 30);
bdCustomer.setFNumber(FNumber1);
} else {
bdCustomer.setFNumber(FNumber1);
}
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo());
} else {
b = true;
return rb.success().setData(b);
}
} else {
finCollectionConfirmationFeign.updateVin(dto.getVinNo(), baseVehicleZSOutApplyDto.getContractNo(), temporaryNo.substring(temporaryNo.length() - 2));
}
} else {
Boolean aBoolean1 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData();
if (!aBoolean1) {
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8));
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8);
if (FNumber1.length() > 30) {
FNumber1 = FNumber1.substring(0, 30);
bdCustomer.setFNumber(FNumber1);
} else {
bdCustomer.setFNumber(FNumber1);
}
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo());
} else {
b = true;
return rb.success().setData(b);
}
}
}
//修改客户简称为合同编号
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8));
bdCustomer.setFShortName(baseVehicleZSOutApplyDto.getContractNo());
bdCustomer.setFNumber(FNumber);
bdCustomer.setOldFNumber(FNumber);
bdCustomers.add(bdCustomer);
finKingDeeFeign.saveBdCustomers(bdCustomers);
}
}
//查询出库的车辆是否满足出库条件
int count = baseMapper.selectCountByVinSid(dto.getVinSid());
if (count > 0) {
return rb.setMsg(dto.getVinNo() + "车辆不满足出库条件");
}
//查询是否已出库
int counts = baseMapper.selectCountBySidVin(dto.getVinSid());
if (counts > 0) {
return rb.setMsg("该车辆已出库,不允许重复出库");
}
//生成出库单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
billNo = "XSCKD" + sysOrganizationVo.getOrgCode() + date;
String i = baseMapper.selectNum(billNo);
if (StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
//出库主表信息录入
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply();
baseVehicleOutApply.setBillNo(billNo);
baseVehicleOutApply.setSaleDate(baseVehicleZSOutApplyDto.getSaleDate());
baseVehicleOutApply.setCustomerSid(baseVehicleZSOutApplyDto.getCustomerSid());
baseVehicleOutApply.setCustomerName(baseVehicleZSOutApplyDto.getCustomerName());
baseVehicleOutApply.setMobile(baseVehicleZSOutApplyDto.getMobile());
baseVehicleOutApply.setOrgSid(baseVehicleZSOutApplyDto.getOrgSid());
baseVehicleOutApply.setOrgName(baseVehicleZSOutApplyDto.getOrgName());
baseVehicleOutApply.setStaffSid(baseVehicleZSOutApplyDto.getStaffSid());
baseVehicleOutApply.setStaffName(baseVehicleZSOutApplyDto.getStaffName());
baseVehicleOutApply.setMakeListSid(baseVehicleZSOutApplyDto.getCreateBySid());
baseVehicleOutApply.setMakeListName(baseVehicleZSOutApplyDto.getCreateByName());
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(), "yyyy-MM-dd"));
baseVehicleOutApply.setSaleTypeKey(baseVehicleZSOutApplyDto.getSaleTypeKey());
baseVehicleOutApply.setSaleTypeValue(baseVehicleZSOutApplyDto.getSaleTypeValue());
baseVehicleOutApply.setCreateOrgSid(baseVehicleZSOutApplyDto.getCreateOrgSid());
baseVehicleOutApply.setCreateBySid(baseVehicleZSOutApplyDto.getCreateBySid());
//内部引荐人、内部引荐人sid
baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName());
baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid());
baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo());
baseVehicleOutApply.setIsTerminal(baseVehicleZSOutApplyDto.getIsTerminal());
baseVehicleOutApply.setCustomerNo(bdCustomer.getFNumber());
baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber());
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid());
//保存车辆出库单主表
baseVehicleOutApplyService.save(baseVehicleOutApply);
//构建子表数据
BaseVehicleOut baseVehicleOut = new BaseVehicleOut();
BeanUtil.copyProperties(dto, baseVehicleOut, "sid");
//主车
if (dto.getMaterialTypeKey().equals("001")) {
if ("002".equals(baseVehicle.getManPurOrderTypeKey())) {
baseVehicleOut.setZcMGroupCode("99.01");
baseVehicleOut.setZcMGroupName("外采主车");
} else {
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.fetchBySid(baseVehicle.getCarBrandSid());
baseVehicleOut.setZcMGroupCode(baseVehicleBrand.getBrandCode());
baseVehicleOut.setZcMGroupName(baseVehicleBrand.getBrandName());
}
} else if (dto.getMaterialTypeKey().equals("002")) {//挂车
baseVehicleOut.setZcMGroupCode("99.02");
baseVehicleOut.setZcMGroupName("挂车");
//BaseTrailer baseTrailer = baseTrailerService.fetchBySid(dto.getMaterialSid());
//baseVehicleOut.setMaterialCode(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G");
baseVehicleOut.setMaterialCode(dto.getMaterialCode());
} else if (dto.getMaterialTypeKey().equals("003")) {//上装
baseVehicleOut.setZcMGroupCode("99.02");
baseVehicleOut.setZcMGroupName("挂车");
//baseVehicleOut.setMaterialCode(baseVehicleOut.getVinNo().substring(baseVehicleOut.getVinNo().length() - 8) + "SZ");
baseVehicleOut.setMaterialCode(dto.getMaterialCode());
}
if (StringUtils.isNotBlank(dto.getPrice())) {
baseVehicleOut.setPrice(new BigDecimal(dto.getPrice()));
}
if (StringUtils.isNotBlank(dto.getSalesAllowance())) {
baseVehicleOut.setSalesAllowance(new BigDecimal(dto.getSalesAllowance()));
}
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
baseVehicleOut.setRebateMoneyOne(new BigDecimal(dto.getRebateMoneyOne()));
}
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
baseVehicleOut.setRebateMoneyTwo(new BigDecimal(dto.getRebateMoneyTwo()));
}
//备注
String remarks1 = createZSRemarks(dto);
String remarks2 = dto.getRemarks();
String remarks3 = remarks2 + remarks1;
if ("null".equals(remarks3)) {
remarks3 = "";
}
baseVehicleOut.setRemarks(remarks3);
//出库单子表关联主表sid
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid());
baseVehicleOut.setCreateBySid(baseVehicleOutApply.getCreateBySid());
baseVehicleOut.setCwCustomerNo(bdCustomer.getFNumber());
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey());
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue());
baseVehicleOut.setBillNo(billNo);
//保存车辆出库单子表
baseMapper.insert(baseVehicleOut);
if (baseVehicle != null) {
//更新车辆台账的出库状态等值,库存状态修改为出库,销售日期修改为当天,成交价,备注
String remarks = baseVehicleZSOutApplyDto.getContractNo() + baseVehicleZSOutApplyDto.getSaleTypeValue();
baseVehicle.setRemarks(remarks);
baseVehicle.setVehicleState(VehicleState.StockEnum.OUT_STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseVehicle.setSalesDate(new Date());
if (StringUtils.isNotBlank(dto.getPrice())) {
baseVehicle.setSalePrice(Integer.valueOf(dto.getPrice()));
}
baseVehicleService.updateById(baseVehicle);
}
////ToDo:推送财务中介单位、推送金蝶客户、推送金蝶出库单
try {
if (baseVehicle != null) {
//推送财务中介人
if (StringUtils.isNotBlank(dto.getMiddleOne())) {
BdCustomer bdMiddle = createZSBdMiddle(baseVehicle, dto);
finKingDeeFeign.draftBdCustomer(bdMiddle);
}
}
//创建出库单数据对象前 需要将客户的编码修改为新生成的客户的编码。
if (StringUtils.isNotBlank(bdCustomer.getFNumber())) {
baseVehicleZSOutApplyDto.setCustomerNo(bdCustomer.getFNumber());
}
bdCustomers.add(bdCustomer);
finKingDeeFeign.draftBdCustomers(bdCustomers);
baseVehicleZSOutApplyDto.setCwCustomerNo(bdCustomer.getFNumber());
if (baseVehicle != null) {
//推送销售出库单
SalOutStock salOutStock = createZSSalOutStock(baseVehicle, dto, baseVehicleZSOutApplyDto);
log.info("BaseVehicleOutService-vehicleOut-287:{}", JSONObject.toJSONString(salOutStock));
finKingDeeFeign.draftSalOutStock(salOutStock);
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock));
//推送销售专员信息
BDEmpinfo bdEmpinfo = new BDEmpinfo();
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
String staffSid = baseVehicleZSOutApplyDto.getStaffSid();
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData();
bdEmpinfo.setFName(baseVehicleZSOutApplyDto.getStaffName());
bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber());
bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress());
bdEmpinfo.setFCreateOrgId(data.getOrgCode());
bdEmpinfo.setFUseOrgId(data.getOrgCode());
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile());
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo);
}
} catch (Exception e) {
log.error(e.getMessage());
e.printStackTrace();
}
//推送金蝶上装/挂车销售出库单
String materialTypeKey = dto.getMaterialTypeKey();
BaseVehicle baseVehicle1 = baseVehicleService.fetchBySid(dto.getVinSid());
if (materialTypeKey.equals("002")) {
SalOutStock salOutStock = createZSGCOutStock(baseVehicle1, dto, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStock);
String gcSid = dto.getMaterialSid();
BaseTrailer baseTrailer = baseTrailerService.fetchBySid(gcSid);
baseTrailer.setStockStateKey(VehicleState.StockEnum.OUT_STOCK.getCode());
baseTrailer.setStockStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
BigDecimal dealPrice = new BigDecimal(dto.getPrice());
baseTrailer.setDealPrice(dealPrice);
baseTrailer.setIssueDate(DateUtil.formatDate(new Date()));
baseTrailerService.saveOrUpdate(baseTrailer);
}
if (materialTypeKey.equals("003")) {
SalOutStock salOutStock = createZSSZOutStock(baseVehicle1, dto, baseVehicleZSOutApplyDto);
finKingDeeFeign.draftSalOutStock(salOutStock);
String szSid = dto.getMaterialSid();
BaseVehinstall baseVehinstall = baseVehinstallService.fetchBySid(szSid);
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode());
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks());
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date()));
baseVehinstallService.saveOrUpdate(baseVehinstall);
}
}
return rb.success();
}
}

8
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -284,13 +284,15 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
}
// 验证数据库是否重复
for (int i = 0; i < vinNoList.size(); i++) {
int count = scmApplyInboundVehicleService.checkVinNo(vinNoList.get(i), dto.getSid());
int count = scmApplyInboundVehicleService.checkVinNo(vinNoList.get(i), dto.getUseOrgSid());
BaseVehicle data = baseVehicleFeign.selectByVinNoAndOrgSid(vinNoList.get(i), dto.getUseOrgSid()).getData();
if (count != 0) {
if (count > 0) {
return new ResultBean().setMsg(vinNoList.get(i) + "车架号已经存在");
}
if (data != null) {
return new ResultBean().setMsg(vinNoList.get(i) + "车架号已经存在");
if (StringUtils.isNotBlank(data.getVinNo())){
return new ResultBean().setMsg(vinNoList.get(i) + "车架号已经存在");
}
}
}
ScmApplyInbound scmApplyInbound = fetchBySid(dto.getSid());

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleMapper.java

@ -34,7 +34,7 @@ public interface ScmApplyInboundVehicleMapper extends BaseMapper<ScmApplyInbound
IPage<ScmApplyInboundVehicleVo> selectPageVo(IPage<ScmApplyInboundVehicle> page, @Param(Constants.WRAPPER) Wrapper<ScmApplyInboundVehicle> qw);
int checkVinNo(@Param("vinNo") String vinNo, @Param("mainSid") String mainSid);
int checkVinNo(@Param("vinNo") String vinNo, @Param("useOrgSid") String useOrgSid);
List<ScmApplyInboundVehicleVo> selectListByAppSid(@Param("applySid") String applySid);

10
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleMapper.xml

@ -11,10 +11,12 @@
</select>
<select id="checkVinNo" resultType="int">
SELECT count(1)
FROM scm_apply_inbound_vehicle
WHERE vinNo = #{vinNo}
AND applySid != #{mainSid}
SELECT COUNT(1)
FROM scm_apply_inbound_vehicle saiv
LEFT JOIN scm_apply_inbound sai
ON saiv.`applySid` = sai.`sid`
WHERE saiv.vinNo = #{vinNo}
AND sai.`useOrgSid` != #{useOrgSid}
</select>
<select id="selectListByAppSid" resultType="com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo">

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundvehicle/ScmApplyInboundVehicleService.java

@ -78,8 +78,8 @@ public class ScmApplyInboundVehicleService extends MybatisBaseService<ScmApplyIn
*
* @return
*/
public int checkVinNo(String vinNo, String mainSid) {
return baseMapper.checkVinNo(vinNo, mainSid);
public int checkVinNo(String vinNo, String useOrgSid) {
return baseMapper.checkVinNo(vinNo, useOrgSid);
}
/**

Loading…
Cancel
Save