Browse Source

出库申请推送销售台账接口开发

master
God 2 years ago
parent
commit
0b3f2869cd
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerVo.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelQuery.java
  3. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java
  4. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  5. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java
  6. 157
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basetrailer/BaseTrailerVo.java

@ -64,6 +64,8 @@ public class BaseTrailerVo implements Vo {
private String settlementPrice; // 厂商结算价 private String settlementPrice; // 厂商结算价
@ApiModelProperty("销售指导价") @ApiModelProperty("销售指导价")
private String guidePrice; // 销售指导价 private String guidePrice; // 销售指导价
@ApiModelProperty("主车sid")
private String vehSid;
@ApiModelProperty("主车车架号") @ApiModelProperty("主车车架号")
private String zcvinNo; private String zcvinNo;
@ApiModelProperty("客户名称") @ApiModelProperty("客户名称")

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclemodel/BaseVehicleModelQuery.java

@ -27,6 +27,8 @@ public class BaseVehicleModelQuery implements Query {
private String configSid; private String configSid;
@ApiModelProperty(value = "分公司sid") @ApiModelProperty(value = "分公司sid")
private String createOrgSId; private String createOrgSId;
@ApiModelProperty(value = "分公司名称")
private String createOrgName;
@ApiModelProperty("所属归属") @ApiModelProperty("所属归属")
private String orgSid; private String orgSid;
@ApiModelProperty(value = "车型sid") @ApiModelProperty(value = "车型sid")

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerMapper.java

@ -93,4 +93,7 @@ public interface BaseTrailerMapper extends BaseMapper<BaseTrailer> {
@Select("select * from base_trailer where vinNo = #{gcVinNo}") @Select("select * from base_trailer where vinNo = #{gcVinNo}")
BaseTrailerDetailsVo fetchByGcVinNo(String gcVinNo); BaseTrailerDetailsVo fetchByGcVinNo(String gcVinNo);
@Select("select * from base_trailer where vehSid = #{materialSid}")
List<BaseTrailerVo> fetchAllByVehSid(String materialSid);
} }

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -753,4 +753,8 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
BaseTrailerDetailsVo baseTrailerDetailsVo = baseMapper.fetchByGcVinNo(gcVinNo); BaseTrailerDetailsVo baseTrailerDetailsVo = baseMapper.fetchByGcVinNo(gcVinNo);
return rb.success().setData(baseTrailerDetailsVo); return rb.success().setData(baseTrailerDetailsVo);
} }
public List<BaseTrailerVo> fetchAllByVehSid(String materialSid) {
return baseMapper.fetchAllByVehSid(materialSid);
}
} }

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclemodel/BaseVehicleModelService.java

@ -85,8 +85,8 @@ public class BaseVehicleModelService extends MybatisBaseService<BaseVehicleModel
if (pagerQuery != null) { if (pagerQuery != null) {
qw.eq("bvm.isDelete", "0"); qw.eq("bvm.isDelete", "0");
qw.like("bvb.useOrg", pagerQuery.getCreateOrgSId()); qw.like("bvb.useOrg", pagerQuery.getCreateOrgSId());
if (StringUtils.isNotBlank(pagerQuery.getOrgSid())) { if (StringUtils.isNotBlank(pagerQuery.getCreateOrgName())) {
qw.eq("bvm.createOrg", pagerQuery.getOrgSid()); qw.like("bvm.createOrgName", pagerQuery.getCreateOrgName());
} }
if (StringUtils.isNotBlank(pagerQuery.getModelSid())) {//车型sid if (StringUtils.isNotBlank(pagerQuery.getModelSid())) {//车型sid
qw.eq("bvm.sid", pagerQuery.getModelSid()); qw.eq("bvm.sid", pagerQuery.getModelSid());

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

@ -9,6 +9,8 @@ import com.yxt.anrui.base.api.basemiddleman.BaseMiddleman;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo; import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailer; import com.yxt.anrui.base.api.basetrailer.BaseTrailer;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo; import com.yxt.anrui.base.api.basetrailer.BaseTrailerDetailsVo;
import com.yxt.anrui.base.api.basetrailer.BaseTrailerVo;
import com.yxt.anrui.base.api.basetrailer.TraliveredVo;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
@ -1419,62 +1421,43 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) { public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<BaseVehicleZSOutDto> dtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos(); List<BaseVehicleZSOutDto> zcDtos = baseVehicleZSOutApplyDto.getBaseVehicleZSOutDtos();
List<BaseVehicleZSOutDto> gcOrSzDtos = new ArrayList<>();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicleZSOutApplyDto.getCreateOrgSid()).getData(); SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseVehicleZSOutApplyDto.getCreateOrgSid()).getData();
for (BaseVehicleZSOutDto dto : dtos) { for (BaseVehicleZSOutDto dto : zcDtos) {
Boolean b = false; Boolean b = false;
String vinSid = dto.getVinSid(); //获取主车sid
BdCustomer bdCustomer = new BdCustomer(); String materialSid = dto.getMaterialSid();
List<BdCustomer> bdCustomers = new ArrayList<>(); List<BdCustomer> bdCustomers = new ArrayList<>();
BaseVehicle baseVehicle = null; BdCustomer bdCustomer = new BdCustomer();
if (StringUtils.isNotBlank(vinSid)) { String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey();
String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey(); BaseVehicle baseVehicle = baseVehicleService.fetchBySid(materialSid);
baseVehicle = baseVehicleService.fetchBySid(vinSid); BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); bdCustomer.setTOrgIds(data.getOrgCode());
bdCustomer.setTOrgIds(data.getOrgCode()); //出库类型是否为全款车(001全款车)
//出库类型是否为全款车(001全款车) if ("001".equals(payTypeKey)) {
if ("001".equals(payTypeKey)) { Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getContractNo()).getData();
Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); if (!aBoolean) {
bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getCustomerNo()); bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getContractNo());
if (!aBoolean) { bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + bdCustomer.getFNumber());
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + baseVehicleZSOutApplyDto.getMobile()); }
} } else {
} else { String FNumber = baseVehicleZSOutApplyDto.getContractNo() + "-" + "";
String FNumber = HanZiConverterPinYin.getPinYinFirst(baseVehicleZSOutApplyDto.getCustomerName()) + dto.getVinNo().substring(dto.getVinNo().length() - 8); Boolean aBoolean = finKingDeeFeign.customerExistState(FNumber).getData();
Boolean aBoolean = finKingDeeFeign.customerExistState(FNumber).getData(); if (!aBoolean) {
if (!aBoolean) { //查询合同是否存在
//查询合同是否存在 ResultBean<CommonContract> commonContract = commonContractService.selectByNo(baseVehicleZSOutApplyDto.getContractNo());
ResultBean<CommonContract> commonContract = commonContractService.selectByNo(baseVehicleZSOutApplyDto.getContractNo()); if (commonContract.getSuccess()) {
if (commonContract.getSuccess()) { //查询合同编号和车辆sid客户的临时编码
//查询合同编号和车辆sid客户的临时编码 ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), baseVehicleZSOutApplyDto.getContractNo());
ResultBean<String> stringResultBean = busSalesOrderFeign.selectTemporaryNo(dto.getVinSid(), baseVehicleZSOutApplyDto.getContractNo()); if (!stringResultBean.getSuccess()) {
if (!stringResultBean.getSuccess()) { return rb.setMsg("请检查合同是否存在");
return rb.setMsg("请检查合同是否存在"); }
} String temporaryNo = stringResultBean.getData();
String temporaryNo = stringResultBean.getData(); Boolean aBoolean1 = finKingDeeFeign.customerExistState(temporaryNo).getData();
Boolean aBoolean1 = finKingDeeFeign.customerExistState(temporaryNo).getData(); if (!aBoolean1) {
if (!aBoolean1) { Boolean aBoolean2 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData();
Boolean aBoolean2 = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getCustomerNo()).getData(); if (!aBoolean2) {
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)); bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + dto.getVinNo().substring(dto.getVinNo().length() - 8));
String FNumber1 = HanZiConverterPinYin.getPinYinFirst(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) { if (FNumber1.length() > 30) {
@ -1488,16 +1471,34 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
b = true; b = true;
return rb.success().setData(b); 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);
} }
//修改客户简称为合同编号
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()); int count = baseMapper.selectCountByVinSid(dto.getVinSid());
@ -1509,6 +1510,35 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
if (counts > 0) { if (counts > 0) {
return rb.setMsg("该车辆已出库,不允许重复出库"); return rb.setMsg("该车辆已出库,不允许重复出库");
} }
//查询主车对应的挂车或上装
BaseVehicleZSOutDto baseVehicleZSOutDto = new BaseVehicleZSOutDto();
List<BaseTrailerVo> baseTrailerVos = baseTrailerService.fetchAllByVehSid(materialSid);
if (baseTrailerVos.size() > 0) {
for (BaseTrailerVo baseTrailerVo : baseTrailerVos) {
baseVehicleZSOutDto.setPrice(baseTrailerVo.getDealPrice());
baseVehicleZSOutDto.setMaterialCode(baseTrailerVo.getVinNo() + "G");
baseVehicleZSOutDto.setMaterialSid(baseTrailerVo.getSid());
baseVehicleZSOutDto.setMaterialName("挂车");
baseVehicleZSOutDto.setMaterialTypeKey("002");
baseVehicleZSOutDto.setMaterialTypeValue("挂车");
baseVehicleZSOutDto.setVinSid(baseTrailerVo.getVehSid());
baseVehicleZSOutDto.setVinNo(baseTrailerVo.getVinNo());
gcOrSzDtos.add(baseVehicleZSOutDto);
}
} else {
List<BaseVehinstall> baseVehinstalls = baseVehinstallService.selectByOrgSidAndVin(baseVehicleZSOutApplyDto.getCreateOrgSid(), dto.getVinNo());
for (BaseVehinstall baseVehinstall : baseVehinstalls) {
baseVehicleZSOutDto.setPrice(baseVehinstall.getGuidePrice());
baseVehicleZSOutDto.setMaterialCode(dto.getVinNo() + "SZ");
baseVehicleZSOutDto.setMaterialSid(baseVehinstall.getSid());
baseVehicleZSOutDto.setMaterialName("上装");
baseVehicleZSOutDto.setMaterialTypeKey("003");
baseVehicleZSOutDto.setMaterialTypeValue("上装");
baseVehicleZSOutDto.setVinSid(materialSid);
baseVehicleZSOutDto.setVinNo(baseVehinstall.getVinNo());
gcOrSzDtos.add(baseVehicleZSOutDto);
}
}
//生成出库单据编号 //生成出库单据编号
String billNo = ""; String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); String date = DateUtil.format(DateUtil.date(), "yyyyMM");
@ -1541,7 +1571,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName()); baseVehicleOutApply.setInnerName(baseVehicleZSOutApplyDto.getInnerName());
baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid()); baseVehicleOutApply.setInnerUserSid(baseVehicleZSOutApplyDto.getInnerUserSid());
baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo()); baseVehicleOutApply.setContractNo(baseVehicleZSOutApplyDto.getContractNo());
baseVehicleOutApply.setIsTerminal(baseVehicleZSOutApplyDto.getIsTerminal());
baseVehicleOutApply.setCustomerNo(bdCustomer.getFNumber()); baseVehicleOutApply.setCustomerNo(bdCustomer.getFNumber());
baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber()); baseVehicleOutApply.setCwCustomerNo(bdCustomer.getFNumber());
baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid()); baseVehicleOutApply.setBusSid(baseVehicleZSOutApplyDto.getBusSid());
@ -1637,14 +1666,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock)); log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock));
//推送销售专员信息 //推送销售专员信息
BDEmpinfo bdEmpinfo = new BDEmpinfo(); BDEmpinfo bdEmpinfo = new BDEmpinfo();
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
String staffSid = baseVehicleZSOutApplyDto.getStaffSid(); String staffSid = baseVehicleZSOutApplyDto.getStaffSid();
SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData(); SysStaffinfoDetailsVo sysStaffinfoDetailsVo = sysStaffinfoFeign.fetchBySid(staffSid).getData();
bdEmpinfo.setFName(baseVehicleZSOutApplyDto.getStaffName()); bdEmpinfo.setFName(baseVehicleZSOutApplyDto.getStaffName());
bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber()); bdEmpinfo.setFNumber(sysStaffinfoDetailsVo.getJobNumber());
bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress()); bdEmpinfo.setFAddress(sysStaffinfoDetailsVo.getAddress());
bdEmpinfo.setFCreateOrgId(data.getOrgCode()); bdEmpinfo.setFCreateOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFUseOrgId(data.getOrgCode()); bdEmpinfo.setFUseOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile()); bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile());
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo); finKingDeeFeign.saveBDEmpinfo(bdEmpinfo);
} }

Loading…
Cancel
Save