|
|
@ -26,18 +26,24 @@ |
|
|
|
package com.yxt.anrui.base.biz.basetrailer; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.baseinternalpurchasevehicle.BaseInternalPurchaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer; |
|
|
|
import com.yxt.anrui.base.api.basetrailer.*; |
|
|
|
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel; |
|
|
|
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModelDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrand; |
|
|
|
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendix; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo; |
|
|
|
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService; |
|
|
|
import com.yxt.anrui.base.biz.basetrailermodel.BaseTrailerModelService; |
|
|
|
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; |
|
|
|
import com.yxt.anrui.base.biz.basevehiclebrand.BaseVehicleBrandService; |
|
|
|
import com.yxt.anrui.base.biz.basevehiclecertificate.BaseVehicleCertificateService; |
|
|
|
import com.yxt.anrui.base.biz.basevehmodelannouncementmodel.BaseVehmodelAnnouncementmodelService; |
|
|
|
import com.yxt.anrui.base.biz.commonappendix.CommonAppendixService; |
|
|
@ -46,6 +52,12 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
@ -56,6 +68,7 @@ import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.List; |
|
|
@ -90,11 +103,19 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba |
|
|
|
private BusSalesOrderFeign busSalesOrderFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Resource |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private BaseManufacturerService baseManufacturerService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleBrandService baseVehicleBrandService; |
|
|
|
|
|
|
|
private QueryWrapper<BaseTrailer> createQueryWrapper(BaseTrailerQuery query) { |
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<BaseTrailer> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("bt.useOrgSid",query.getUseOrgSid()); |
|
|
|
qw.eq("bt.useOrgSid", query.getUseOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("bt.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
@ -165,7 +186,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba |
|
|
|
for (BusSalesOrderVehicle busSalesOrderVehicle : busSalesOrderVehicles) { |
|
|
|
String salesOrderSid = busSalesOrderVehicle.getSalesOrderSid(); |
|
|
|
BusSalesOrderDetailsVo busSalesOrderDetailsVo = busSalesOrderFeign.fetchDetailsBySid(salesOrderSid).getData(); |
|
|
|
if (!busSalesOrderDetailsVo.getNodeState().equals("待提交") && !busSalesOrderDetailsVo.getNodeState().equals("已终止")){ |
|
|
|
if (!busSalesOrderDetailsVo.getNodeState().equals("待提交") && !busSalesOrderDetailsVo.getNodeState().equals("已终止")) { |
|
|
|
baseTrailerDetailsVo.setSaleOrderNo(busSalesOrderDetailsVo.getBillNo()); |
|
|
|
baseTrailerDetailsVo.setSaleOrderDate(busSalesOrderDetailsVo.getCreateDate()); |
|
|
|
break; |
|
|
@ -175,13 +196,13 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba |
|
|
|
List<CommonAppendixVo> invoicePic = new ArrayList<>(); |
|
|
|
List<CommonAppendixVo> certificatePic = new ArrayList<>(); |
|
|
|
for (CommonAppendixVo commonAppendixVo : commonAppendixVos) { |
|
|
|
if (commonAppendixVo.getAttachType().equals("挂车发票照片")){ |
|
|
|
if (commonAppendixVo.getAttachType().equals("挂车发票照片")) { |
|
|
|
String filePath = commonAppendixVo.getFilePath(); |
|
|
|
String urlPrefix = fileUploadComponent.getUrlPrefix(); |
|
|
|
filePath = urlPrefix + filePath; |
|
|
|
commonAppendixVo.setFilePath(filePath); |
|
|
|
invoicePic.add(commonAppendixVo); |
|
|
|
}else if (commonAppendixVo.getAttachType().equals("挂车合格证照片")){ |
|
|
|
} else if (commonAppendixVo.getAttachType().equals("挂车合格证照片")) { |
|
|
|
String filePath = commonAppendixVo.getFilePath(); |
|
|
|
String urlPrefix = fileUploadComponent.getUrlPrefix(); |
|
|
|
filePath = urlPrefix + filePath; |
|
|
@ -242,6 +263,52 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba |
|
|
|
certificatePic.setAttachType("挂车合格证照片"); |
|
|
|
commonAppendixService.saveOrUpdateDto(certificatePic); |
|
|
|
} |
|
|
|
StkInStock stkInStock = new StkInStock(); |
|
|
|
//入库日期:FDate (必填项)
|
|
|
|
stkInStock.setFDate(DateUtil.now()); |
|
|
|
//采购部门:FPurchaseDeptId (必填项)
|
|
|
|
String departmentSid = dto.getDepartmentSid(); |
|
|
|
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(departmentSid).getData(); |
|
|
|
stkInStock.setFPurchaseDeptId(data.getOrgCode()); |
|
|
|
//采购组织:FPurchaseOrgId (必填项)
|
|
|
|
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()); |
|
|
|
SysOrganizationVo vo = sysOrganizationVoResultBean.getData(); |
|
|
|
if (vo != null) { |
|
|
|
stkInStock.setFPurchaseOrgId(vo.getOrgCode()); |
|
|
|
//分配目标组织:TOrgId (必填项)
|
|
|
|
stkInStock.setTOrgId(vo.getOrgCode()); |
|
|
|
} |
|
|
|
//供应商:FSupplierId (必填项)
|
|
|
|
String trailerModelSid = baseTrailer.getTrailerModelSid(); |
|
|
|
BaseTrailerModel baseTrailerModel = baseTrailerModelService.fetchBySid(trailerModelSid); |
|
|
|
BaseManufacturer baseManufacturer = baseManufacturerService.fetchBySid(baseTrailerModel.getManufacturerSid()); |
|
|
|
stkInStock.setFSupplierId(baseManufacturer.getManufacturerCode()); |
|
|
|
//物料列表:FInStockEntry (必填项)
|
|
|
|
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>(); |
|
|
|
StkInStock.FInStockEntry sf = new StkInStock.FInStockEntry(); |
|
|
|
//单价 目前放的是内销价 应该是厂家结算价 目前没有厂家结算价 需要后期修改为厂家结算价
|
|
|
|
sf.setFPrice(baseTrailer.getSettlementPrice().toString()); |
|
|
|
//车辆类型
|
|
|
|
sf.setCllx("61"); |
|
|
|
sf.setCllxType("sellChannel"); |
|
|
|
//批号:FLot
|
|
|
|
sf.setFLot(baseTrailer.getVinNo()); |
|
|
|
//物料编码:FMaterialId (必填项)
|
|
|
|
sf.setFMaterialId(baseTrailer.getVinNo().substring(baseTrailer.getVinNo().length() - 8) + "G"); |
|
|
|
//仓库:FStockId
|
|
|
|
sf.setFStockId("ARZSCK"); |
|
|
|
//物料分组
|
|
|
|
sf.setWlfz("99.02"); |
|
|
|
//存货类别
|
|
|
|
sf.setFCategoryIDKey("CHLB02_SYS"); |
|
|
|
sf.setFCategoryIDType("purchaseOrderType"); |
|
|
|
fInStockEntry.add(sf); |
|
|
|
stkInStock.setFInStockEntry(fInStockEntry); |
|
|
|
try { |
|
|
|
finKingDeeFeign.draftStkInStock(stkInStock); |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return rb.success().setMsg("保存成功"); |
|
|
|
} |
|
|
|
|
|
|
|