|
|
@ -61,8 +61,11 @@ import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService; |
|
|
|
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; |
|
|
|
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService; |
|
|
|
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService; |
|
|
|
import com.yxt.anrui.base.common.enums.BillTypeEnum; |
|
|
|
import com.yxt.anrui.base.common.enums.ManPurOrderType; |
|
|
|
import com.yxt.anrui.base.common.enums.VehicleState; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.KingDeeResult; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer; |
|
|
@ -215,6 +218,8 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
dto.setApplyDate(DateUtil.today()); |
|
|
|
dto.setNodeState("待提交"); |
|
|
|
dto.setOrgSidPath(orgSidPath); |
|
|
|
String applyNo = getApplyCode(dto.getCallInOrgSid()); |
|
|
|
dto.setApplyNo(applyNo); |
|
|
|
ResultBean resultBean = this.insertByDto(dto); |
|
|
|
String sid = (String) resultBean.getData(); |
|
|
|
for (String accSid : accSids) { |
|
|
@ -241,6 +246,23 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
return rb.success().setMsg("修改成功").setData(dtoSid); |
|
|
|
} |
|
|
|
|
|
|
|
public String getApplyCode(String useOrgSid) { |
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(useOrgSid); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
BillNo b = new BillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(BillTypeEnum.TZSQ.getBillType()); |
|
|
|
String bill = Rule.getBill(b); |
|
|
|
String i = baseMapper.selectNum(bill); |
|
|
|
String billNo = ""; |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(bill, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(bill, 0); |
|
|
|
} |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> insertByDto(BaseAccadjApplyDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseAccadjApply entity = new BaseAccadjApply(); |
|
|
@ -491,9 +513,14 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
baseAccadjApplyToJDRus.add(baseAccadjApplyToJDRu); |
|
|
|
} |
|
|
|
for (BaseAccadjApplyToJDRu baseAccadjApplyToJDRu : baseAccadjApplyToJDRus) { |
|
|
|
List<BaseVehicle> baseVehicles = baseAccadjApplyToJDRu.getBaseVehicles(); |
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles1 = baseAccadjApplyToJDRu.getBaseInternalPurchaseVehicles(); |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicles1.get(0); |
|
|
|
//调入取车辆信息
|
|
|
|
BaseVehicle baseVehicleDR = baseVehicleService.selVehicleByVinNoAndOrgSid(baseInternalPurchaseVehicle1.getVinNo(), baseAccadjApply.getCallInOrgSid()); |
|
|
|
//调出取车辆信息
|
|
|
|
BaseVehicle baseVehicleDC = baseVehicleService.selVehicleByVinNoAndOrgSid(baseInternalPurchaseVehicle1.getVinNo(), baseAccadjApply.getCallOutOrgSid()); |
|
|
|
//调出采购系统sid(部门sid)
|
|
|
|
String purchaseSystemSid = baseVehicles.get(0).getPurchaseSystemSid(); |
|
|
|
String purchaseSystemSid = baseVehicleDC.getPurchaseSystemSid(); |
|
|
|
//调出获取采购系统
|
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVoDC = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData(); |
|
|
|
//调出获取采购系统中的财务分公司编码
|
|
|
@ -502,8 +529,6 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
SysOrganization sysOrganizationDC = sysOrganizationFeign.selectByOrgCode(orgCodeDC).getData(); |
|
|
|
//调出获取组织的otherCode
|
|
|
|
String otherCodeDC = sysOrganizationDC.getOtherCode(); |
|
|
|
//调入取车辆信息
|
|
|
|
BaseVehicle baseVehicleDR = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehicles.get(0).getVinNo(), baseAccadjApply.getCallInOrgSid()); |
|
|
|
//调入采购系统sid(部门sid)
|
|
|
|
String purchaseSystemSidDR = baseVehicleDR.getPurchaseSystemSid(); |
|
|
|
//调入获取采购系统
|
|
|
@ -526,56 +551,58 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
String callInBuyerOrgSid = baseAccadjApplyToJDRu.getCallInBuyerOrgSid(); |
|
|
|
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(callInBuyerOrgSid).getData(); |
|
|
|
stkInStock.setFPurchaseDeptId(data.getOrgCode()); |
|
|
|
//stkInStock.setFPurchaseDeptId("05.04");
|
|
|
|
//采购组织:FPurchaseOrgId (必填项)
|
|
|
|
//分公司id
|
|
|
|
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles2 = baseAccadjApplyToJDRu.getBaseInternalPurchaseVehicles(); |
|
|
|
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicles2.get(0); |
|
|
|
//ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCallInOrgSid());
|
|
|
|
stkInStock.setFPurchaseOrgId(orgCodeDR); |
|
|
|
//分配目标组织:TOrgId (必填项)
|
|
|
|
stkInStock.setTOrgId(stkInStock.getFPurchaseOrgId()); |
|
|
|
//供应商:FSupplierId (必填项)
|
|
|
|
stkInStock.setFSupplierId(otherCodeDC); |
|
|
|
//stkInStock.setFSupplierId("010001");
|
|
|
|
// 物料列表:FInStockEntry (必填项)
|
|
|
|
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>(); |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles2) { |
|
|
|
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>(); |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles1) { |
|
|
|
StkInStock.FInStockEntry sf = new StkInStock.FInStockEntry(); |
|
|
|
String vinNo = baseInternalPurchaseVehicle.getVinNo(); |
|
|
|
//单价 目前放的是内销价 应该是厂家结算价 目前没有厂家结算价 需要后期修改为厂家结算价
|
|
|
|
sf.setFPrice(baseInternalPurchaseVehicle.getCostPrice() + ""); |
|
|
|
//车辆类型
|
|
|
|
BaseVehicle baseVehicle2 = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, callInOrgSid); |
|
|
|
String manufacturerSid = baseVehicle2.getManufacturerSid(); |
|
|
|
String s = baseManufacturerBankService.fetchByMainSidAndManufSaleAccessName(manufacturerSid, baseVehicle2.getManufSaleAccessName()); |
|
|
|
BaseVehicle baseVehicleDRCL = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, callInOrgSid); |
|
|
|
String manufacturerSid = baseVehicleDRCL.getManufacturerSid(); |
|
|
|
String s = baseManufacturerBankService.fetchByMainSidAndManufSaleAccessName(manufacturerSid, baseVehicleDRCL.getManufSaleAccessName()); |
|
|
|
sf.setCllx(s);//TODO
|
|
|
|
//车辆类型
|
|
|
|
sf.setCllxType(s); |
|
|
|
// 批号:FLot
|
|
|
|
//批号:FLot
|
|
|
|
sf.setFLot(baseInternalPurchaseVehicle.getVinNo()); |
|
|
|
// 物料编码:FMaterialId (必填项)
|
|
|
|
//物料编码:FMaterialId (必填项)
|
|
|
|
sf.setFMaterialId(baseInternalPurchaseVehicle.getVinNo().substring(baseInternalPurchaseVehicle.getVinNo().length() - 8)); |
|
|
|
// 仓库:FStockId
|
|
|
|
BaseVehicle baseVehicle1 = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, callInOrgSid); |
|
|
|
//fe.setFStockID(voResultBean.getData().getGressionCode());
|
|
|
|
String location = baseVehicle1.getLocation(); |
|
|
|
//仓库:FStockId
|
|
|
|
String location = baseVehicleDRCL.getLocation(); |
|
|
|
ScmWarehouseVo data1 = scmWarehouseFeign.fetchBySid(location).getData(); |
|
|
|
sf.setFStockId(data1.getGressionCode()); |
|
|
|
// fe.setFStockID("CK001");
|
|
|
|
//fe.setFStockID(baseInternalPurchaseVehicle.getInventoryLocationSid());
|
|
|
|
//物料分组
|
|
|
|
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.selectByModelSid(baseInternalPurchaseVehicle.getModelSid()); |
|
|
|
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.fetchBySid(baseVehicleDRCL.getCarBrandSid()); |
|
|
|
if (baseVehicleBrand != null) { |
|
|
|
sf.setWlfz(baseVehicleBrand.getBrandCode()); |
|
|
|
// sf.setWlfz("01");
|
|
|
|
} |
|
|
|
//物料分组
|
|
|
|
//sf.setWlfzType("01");
|
|
|
|
//存货类别
|
|
|
|
sf.setFCategoryIDKey(baseVehicle1.getManPurOrderTypeKey()); |
|
|
|
sf.setFCategoryIDKey(baseVehicleDRCL.getManPurOrderTypeKey()); |
|
|
|
sf.setFCategoryIDType("purchaseOrderType"); |
|
|
|
fInStockEntry.add(sf); |
|
|
|
//构造入库查询车辆
|
|
|
|
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto(); |
|
|
|
scmApplyInboundVehQueryDto.setVinNo(baseInternalPurchaseVehicle.getVinNo()); |
|
|
|
scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleBrand.getBrandCode()); |
|
|
|
scmApplyInboundVehQueryDto.setMgroupName(baseVehicleBrand.getBrandName()); |
|
|
|
scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleDRCL.getManufSaleAccessKey()); |
|
|
|
scmApplyInboundVehQueryDto.setVehicleTypeValue(baseVehicleDRCL.getManufSaleAccessName()); |
|
|
|
scmApplyInboundVehQueryDto.setIunit("辆"); |
|
|
|
scmApplyInboundVehQueryDto.setNum("1"); |
|
|
|
scmApplyInboundVehQueryDto.setSettleMoney(String.valueOf(baseVehicleDRCL.getCostPrice())); |
|
|
|
scmApplyInboundVehQueryDto.setLocalName("在途仓库"); |
|
|
|
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK"); |
|
|
|
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto); |
|
|
|
} |
|
|
|
stkInStock.setFInStockEntry(fInStockEntry); |
|
|
|
//推送财务供应商信息
|
|
|
@ -583,7 +610,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
bdSupplier.setFName(sysOrganizationDC.getName()); |
|
|
|
bdSupplier.setFLocMobile("13333333333"); |
|
|
|
bdSupplier.setFNumber(otherCodeDC); |
|
|
|
bdSupplier.setFUseOrgId(orgCodeDC); |
|
|
|
bdSupplier.setFUseOrgId(orgCodeDR); |
|
|
|
//推送车辆入库查询
|
|
|
|
ScmApplyInboundQueryDto scmApplyInboundQueryDto = new ScmApplyInboundQueryDto(); |
|
|
|
scmApplyInboundQueryDto.setOrgPriceDate(DateUtil.formatDate(new Date())); |
|
|
@ -606,24 +633,6 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa |
|
|
|
SysOrganizationVo sysOrganizationVoCreate = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCreateOrgSid()).getData(); |
|
|
|
scmApplyInboundQueryDto.setCreateOrgName(sysOrganizationVoCreate.getName()); |
|
|
|
scmApplyInboundQueryDto.setBusSid(baseAccadjApply.getSid()); |
|
|
|
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQuerys = new ArrayList<>(); |
|
|
|
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles2) { |
|
|
|
ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto = new ScmApplyInboundVehQueryDto(); |
|
|
|
scmApplyInboundVehQueryDto.setVinNo(baseInternalPurchaseVehicle.getVinNo()); |
|
|
|
BaseVehicle baseVehicle1 = baseVehicleService.selVehicleByVinNoAndOrgSid(baseInternalPurchaseVehicle.getVinNo(), baseAccadjApply.getCallInOrgSid()); |
|
|
|
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandService.fetchBySid(baseVehicle1.getCarBrandSid()); |
|
|
|
scmApplyInboundVehQueryDto.setMgroupCode(baseVehicleBrand.getBrandCode()); |
|
|
|
scmApplyInboundVehQueryDto.setMgroupName(baseVehicleBrand.getBrandName()); |
|
|
|
BaseVehicleModel baseVehicleModel = baseVehicleModelService.selectDetails(baseVehicle1.getModelSid()).getData(); |
|
|
|
scmApplyInboundVehQueryDto.setVehicleTypeKey(baseVehicleModel.getVehicleType()); |
|
|
|
scmApplyInboundVehQueryDto.setVehicleTypeValue(baseVehicleModel.getVehicleTypeValue()); |
|
|
|
scmApplyInboundVehQueryDto.setIunit("辆"); |
|
|
|
scmApplyInboundVehQueryDto.setNum("1"); |
|
|
|
scmApplyInboundVehQueryDto.setSettleMoney(String.valueOf(baseVehicle1.getCostPrice())); |
|
|
|
scmApplyInboundVehQueryDto.setLocalName("在途仓库"); |
|
|
|
scmApplyInboundVehQueryDto.setLocalCode("ARZTCK"); |
|
|
|
scmApplyInboundVehQuerys.add(scmApplyInboundVehQueryDto); |
|
|
|
} |
|
|
|
scmApplyInboundQueryDto.setScmApplyInboundVehQueryList(scmApplyInboundVehQuerys); |
|
|
|
ResultBean<String> save = scmApplyInboundQueryFeign.save(scmApplyInboundQueryDto); |
|
|
|
if (!save.getSuccess()) { |
|
|
|