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; // 厂商结算价
@ApiModelProperty("销售指导价")
private String guidePrice; // 销售指导价
@ApiModelProperty("主车sid")
private String vehSid;
@ApiModelProperty("主车车架号")
private String zcvinNo;
@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;
@ApiModelProperty(value = "分公司sid")
private String createOrgSId;
@ApiModelProperty(value = "分公司名称")
private String createOrgName;
@ApiModelProperty("所属归属")
private String orgSid;
@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}")
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);
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) {
qw.eq("bvm.isDelete", "0");
qw.like("bvb.useOrg", pagerQuery.getCreateOrgSId());
if (StringUtils.isNotBlank(pagerQuery.getOrgSid())) {
qw.eq("bvm.createOrg", pagerQuery.getOrgSid());
if (StringUtils.isNotBlank(pagerQuery.getCreateOrgName())) {
qw.like("bvm.createOrgName", pagerQuery.getCreateOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getModelSid())) {//车型sid
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.basetrailer.BaseTrailer;
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.basevehiclebrand.BaseVehicleBrand;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
@ -1419,62 +1421,43 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
public ResultBean vehicleZSOut(BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto) {
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();
for (BaseVehicleZSOutDto dto : dtos) {
for (BaseVehicleZSOutDto dto : zcDtos) {
Boolean b = false;
String vinSid = dto.getVinSid();
BdCustomer bdCustomer = new BdCustomer();
//获取主车sid
String materialSid = dto.getMaterialSid();
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 bdCustomer = new BdCustomer();
String payTypeKey = baseVehicleZSOutApplyDto.getSaleTypeKey();
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(materialSid);
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
//出库类型是否为全款车(001全款车)
if ("001".equals(payTypeKey)) {
Boolean aBoolean = finKingDeeFeign.customerExistState(baseVehicleZSOutApplyDto.getContractNo()).getData();
if (!aBoolean) {
bdCustomer.setFNumber(baseVehicleZSOutApplyDto.getContractNo());
bdCustomer.setFName(baseVehicleZSOutApplyDto.getCustomerName() + bdCustomer.getFNumber());
}
} else {
String FNumber = baseVehicleZSOutApplyDto.getContractNo() + "-" + "";
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) {
@ -1488,16 +1471,34 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
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);
}
//修改客户简称为合同编号
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());
@ -1509,6 +1510,35 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
if (counts > 0) {
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 date = DateUtil.format(DateUtil.date(), "yyyyMM");
@ -1541,7 +1571,6 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
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());
@ -1637,14 +1666,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
log.info("BaseVehicleOutService-vehicleOut-289:{}", JSONObject.toJSONString(salOutStock));
//推送销售专员信息
BDEmpinfo bdEmpinfo = new BDEmpinfo();
BasePurchaseSystemDetailsVo data = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData();
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = 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.setFCreateOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFUseOrgId(basePurchaseSystemDetailsVo.getOrgCode());
bdEmpinfo.setFMobile(sysStaffinfoDetailsVo.getMobile());
finKingDeeFeign.saveBDEmpinfo(bdEmpinfo);
}

Loading…
Cancel
Save