|
@ -72,6 +72,7 @@ import java.math.BigDecimal; |
|
|
import java.util.ArrayList; |
|
|
import java.util.ArrayList; |
|
|
import java.util.Date; |
|
|
import java.util.Date; |
|
|
import java.util.List; |
|
|
import java.util.List; |
|
|
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* Project: anrui-base(上装配置管理) <br/> |
|
|
* Project: anrui-base(上装配置管理) <br/> |
|
@ -426,6 +427,44 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private SalOutStock createSzOrGcSalOutStockNew(BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut, BaseVehicleOutApply baseVehicleOutApply) { |
|
|
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
|
|
//单据编号
|
|
|
|
|
|
salOutStock.setFBillNo(baseVehicleOutApply.getBillNo()); |
|
|
|
|
|
//日期
|
|
|
|
|
|
salOutStock.setFDate(DateUtil.today()); |
|
|
|
|
|
//分公司id
|
|
|
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
|
|
//客户
|
|
|
|
|
|
salOutStock.setFCustomerID(baseVehicleOutApply.getContractNo()); |
|
|
|
|
|
//销售部门id
|
|
|
|
|
|
String orgDeptSid = baseVehicleOutApply.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(baseVehicleOut.getPrice().toString()); |
|
|
|
|
|
//物料编码
|
|
|
|
|
|
fEntity.setFMaterialID(baseVehicleOut.getMaterialCode()); |
|
|
|
|
|
//仓库id
|
|
|
|
|
|
fEntity.setFStockID("ARZSCK"); |
|
|
|
|
|
fEntityList.add(fEntity); |
|
|
|
|
|
salOutStock.setFEntity(fEntityList); |
|
|
|
|
|
return salOutStock; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public ResultBean vehinstallOutNew(String sid) { |
|
|
public ResultBean vehinstallOutNew(String sid) { |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
@ -437,11 +476,7 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp |
|
|
if (!vehicleState.equals("0002")) { |
|
|
if (!vehicleState.equals("0002")) { |
|
|
return rb.setMsg("此主车车辆库存状态不是出库,请重新选择"); |
|
|
return rb.setMsg("此主车车辆库存状态不是出库,请重新选择"); |
|
|
} |
|
|
} |
|
|
BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseVehinstall.getCreateOrg(), baseVehicle.getSid()); |
|
|
//生成单据编号
|
|
|
BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); |
|
|
|
|
|
BeanUtil.copyProperties(baseVehicleOutDetailsVo, baseVehicleOut, "sid"); |
|
|
|
|
|
baseVehicleOut.setTypeKey("003"); |
|
|
|
|
|
baseVehicleOut.setType("上装挂车"); |
|
|
|
|
|
String billNo = ""; |
|
|
String billNo = ""; |
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
@ -452,69 +487,40 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp |
|
|
} else { |
|
|
} else { |
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
} |
|
|
} |
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseVehinstall.getCreateOrg(), baseVehicle.getSid()); |
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
BaseVehicleOutApply baseVehicleOutApply = baseVehicleOutApplyService.fetchBySid(baseVehicleOutDetailsVo.getMainSid()); |
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
//出库主表信息录入
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
baseVehicleOutApply.setSid(UUID.randomUUID().toString()); |
|
|
baseVehicleOut.setSzOrGCSid(baseVehinstall.getSid()); |
|
|
|
|
|
baseVehicleOut.setTrailerOrInstallName("上装"); |
|
|
|
|
|
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(baseVehinstall.getMainSid()); |
|
|
|
|
|
String wk_long = baseVehinstallmodel.getWk_long(); |
|
|
|
|
|
String wk_wide = baseVehinstallmodel.getWk_wide(); |
|
|
|
|
|
String wk_high = baseVehinstallmodel.getWk_high(); |
|
|
|
|
|
String installName = baseVehinstallmodel.getInstallNameValue(); |
|
|
|
|
|
StringBuilder vehinstallmodel = new StringBuilder(); |
|
|
|
|
|
vehinstallmodel.append(installName).append("(").append("长").append(wk_long).append("mm,").append("宽").append(wk_wide).append("mm,").append("高").append(wk_high).append("mm").append(")"); |
|
|
|
|
|
baseVehicleOut.setTrailerOrInstall(vehinstallmodel.toString()); |
|
|
|
|
|
baseVehicleOut.setTrailerOrInstallDealPrice(baseVehinstall.getGuidePrice()); |
|
|
|
|
|
//备注
|
|
|
|
|
|
String remarks1 = createRemarks(baseVehicleOut); |
|
|
|
|
|
String remarks2 = baseVehicleOut.getRemarks(); |
|
|
|
|
|
String remarks3 = remarks2 + remarks1; |
|
|
|
|
|
if ("null".equals(remarks3)) { |
|
|
|
|
|
remarks3 = ""; |
|
|
|
|
|
} |
|
|
|
|
|
baseVehicleOut.setRemarks(remarks3); |
|
|
|
|
|
BaseVehicleOutApply baseVehicleOutApply = new BaseVehicleOutApply(); |
|
|
|
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
baseVehicleOutApply.setSaleDate(baseVehicleOut.getSaleDate()); |
|
|
|
|
|
baseVehicleOutApply.setCustomerSid(baseVehicleOut.getCustomerSid()); |
|
|
|
|
|
baseVehicleOutApply.setCustomerName(baseVehicleOut.getCustomerName()); |
|
|
|
|
|
baseVehicleOutApply.setMobile(baseVehicleOut.getMobile()); |
|
|
|
|
|
baseVehicleOutApply.setOrgSid(baseVehicleOut.getOrgSid()); |
|
|
|
|
|
baseVehicleOutApply.setOrgName(baseVehicleOut.getOrgName()); |
|
|
|
|
|
baseVehicleOutApply.setStaffSid(baseVehicleOut.getStaffSid()); |
|
|
|
|
|
baseVehicleOutApply.setStaffName(baseVehicleOut.getStaffName()); |
|
|
|
|
|
baseVehicleOutApply.setMakeListSid(baseVehicleOut.getCreateBySid()); |
|
|
|
|
|
baseVehicleOutApply.setMakeListName(baseVehicleOut.getCreateByName()); |
|
|
|
|
|
baseVehicleOutApply.setMakeListDate(DateUtil.format(new Date(), "yyyy-MM-dd")); |
|
|
|
|
|
baseVehicleOutApply.setSaleTypeKey(baseVehicleOut.getTypeKey()); |
|
|
|
|
|
baseVehicleOutApply.setSaleTypeValue(baseVehicleOut.getType()); |
|
|
|
|
|
baseVehicleOutApply.setCreateOrgSid(baseVehicleOut.getCreateOrgSid()); |
|
|
|
|
|
baseVehicleOutApply.setCreateBySid(baseVehicleOut.getCreateBySid()); |
|
|
|
|
|
//保存车辆出库单主表
|
|
|
//保存车辆出库单主表
|
|
|
baseVehicleOutApplyService.save(baseVehicleOutApply); |
|
|
baseVehicleOutApplyService.save(baseVehicleOutApply); |
|
|
|
|
|
BaseVehicleOut baseVehicleOut = new BaseVehicleOut(); |
|
|
|
|
|
baseVehicleOut.setCreateBySid(baseVehicleOutApply.getCreateBySid()); |
|
|
|
|
|
baseVehicleOut.setZcMGroupCode("99.02"); |
|
|
|
|
|
baseVehicleOut.setZcMGroupName("挂车"); |
|
|
|
|
|
baseVehicleOut.setVinSid(baseVehicle.getSid()); |
|
|
|
|
|
baseVehicleOut.setPrice(new BigDecimal(baseVehinstall.getGuidePrice())); |
|
|
//出库单子表关联主表sid
|
|
|
//出库单子表关联主表sid
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
baseVehicleOut.setCreateBySid(baseVehicleOut.getCreateBySid()); |
|
|
|
|
|
baseVehicleOut.setCreateByName(baseVehicleOut.getCreateByName()); |
|
|
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
|
|
|
baseVehicleOut.setMaterialCode(baseVehicle.getVinNo().substring(baseVehicle.getVinNo().length() - 8) + "SZ"); |
|
|
|
|
|
baseVehicleOut.setMaterialName("上装"); |
|
|
|
|
|
baseVehicleOut.setMaterialTypeKey("003"); |
|
|
|
|
|
baseVehicleOut.setMaterialTypeValue("上装"); |
|
|
|
|
|
baseVehicleOut.setMaterialSid(baseVehinstall.getSid()); |
|
|
//保存车辆出库单子表
|
|
|
//保存车辆出库单子表
|
|
|
baseVehicleOutService.save(baseVehicleOut); |
|
|
baseVehicleOutService.save(baseVehicleOut); |
|
|
//推送金蝶上装销售出库单
|
|
|
//推送金蝶上装销售出库单
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehinstall, baseVehicle, baseVehicleOut); |
|
|
SalOutStock salOutStock = createSzOrGcSalOutStockNew(baseVehicle, baseVehicleOut, baseVehicleOutApply); |
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
for (SalOutStock.FEntity entity : fEntity) { |
|
|
for (SalOutStock.FEntity entity : fEntity) { |
|
|
String substring = entity.getFMaterialID().substring(entity.getFMaterialID().length() - 1); |
|
|
|
|
|
if ("Z".equals(substring)) { |
|
|
|
|
|
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
saveOrUpdate(baseVehinstall); |
|
|
saveOrUpdate(baseVehinstall); |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
return rb.success(); |
|
|
return rb.success(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |