|
|
@ -29,10 +29,19 @@ 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.basepurchasesystem.BasePurchaseSystemDetailsVo; |
|
|
|
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; |
|
|
|
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; |
|
|
|
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut; |
|
|
|
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutMaterial; |
|
|
|
import com.yxt.anrui.base.common.enums.ManPurOrderType; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundquery.*; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQuery; |
|
|
|
import com.yxt.anrui.scm.api.scmapplyinboundvehquery.ScmApplyInboundVehQueryDetailsVo; |
|
|
@ -70,138 +79,230 @@ import java.util.*; |
|
|
|
@Service |
|
|
|
public class ScmApplyInboundQueryService extends MybatisBaseService<ScmApplyInboundQueryMapper, ScmApplyInboundQuery> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private ScmApplyInboundVehQueryService scmApplyInboundVehQueryService; |
|
|
|
@Autowired |
|
|
|
private ScmApplyInboundVehQueryService scmApplyInboundVehQueryService; |
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleFeign baseVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private BasePurchaseSystemFeign basePurchaseSystemFeign; |
|
|
|
|
|
|
|
private QueryWrapper<ScmApplyInboundQuery> createQueryWrapper(ScmApplyInboundQueryQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<ScmApplyInboundQuery> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<ScmApplyInboundQueryVo> listPageVo(PagerQuery<ScmApplyInboundQueryQuery> pq) { |
|
|
|
ScmApplyInboundQueryQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmApplyInboundQuery> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getApplicationCode())){ |
|
|
|
qw.like("applicationCode",query.getApplicationCode()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getManPurOrderTypeKey())){ |
|
|
|
qw.eq("manPurOrderTypeKey",query.getManPurOrderTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getOrgDeptSid())){ |
|
|
|
qw.eq("orgDeptSid",query.getOrgDeptSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getManSid())){ |
|
|
|
qw.eq("manSid",query.getManSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getMakeListName())){ |
|
|
|
qw.like("makeListName",query.getMakeListName()); |
|
|
|
} |
|
|
|
qw.eq("createOrgSid",query.getCreateOrgSid()); |
|
|
|
IPage<ScmApplyInboundQuery> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmApplyInboundQueryVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmApplyInboundQueryVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public void saveOrUpdateDto(ScmApplyInboundQueryDto dto){ |
|
|
|
private QueryWrapper<ScmApplyInboundQuery> createQueryWrapper(ScmApplyInboundQueryQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<ScmApplyInboundQuery> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<ScmApplyInboundQueryVo> listPageVo(PagerQuery<ScmApplyInboundQueryQuery> pq) { |
|
|
|
ScmApplyInboundQueryQuery query = pq.getParams(); |
|
|
|
QueryWrapper<ScmApplyInboundQuery> qw = new QueryWrapper<>(); |
|
|
|
if (StringUtils.isNotBlank(query.getApplicationCode())) { |
|
|
|
qw.like("applicationCode", query.getApplicationCode()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getManPurOrderTypeKey())) { |
|
|
|
qw.eq("manPurOrderTypeKey", query.getManPurOrderTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getOrgDeptSid())) { |
|
|
|
qw.eq("orgDeptSid", query.getOrgDeptSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getManSid())) { |
|
|
|
qw.eq("manSid", query.getManSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getMakeListName())) { |
|
|
|
qw.like("makeListName", query.getMakeListName()); |
|
|
|
} |
|
|
|
qw.eq("createOrgSid", query.getCreateOrgSid()); |
|
|
|
IPage<ScmApplyInboundQuery> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<ScmApplyInboundQueryVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<ScmApplyInboundQueryVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public void saveOrUpdateDto(ScmApplyInboundQueryDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) {//新增
|
|
|
|
ScmApplyInboundQuery entity = new ScmApplyInboundQuery(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQueryList = dto.getScmApplyInboundVehQueryList(); |
|
|
|
for (ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto : scmApplyInboundVehQueryList) { |
|
|
|
scmApplyInboundVehQueryDto.setMainSid(entity.getSid()); |
|
|
|
scmApplyInboundVehQueryService.saveOrUpdateDto(scmApplyInboundVehQueryDto); |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
} |
|
|
|
|
|
|
|
public void insertByDto(ScmApplyInboundQueryDto dto){ |
|
|
|
ScmApplyInboundQuery entity = new ScmApplyInboundQuery(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmApplyInboundQueryDto dto){ |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
ScmApplyInboundQuery entity = new ScmApplyInboundQuery(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
List<ScmApplyInboundVehQueryDto> scmApplyInboundVehQueryList = dto.getScmApplyInboundVehQueryList(); |
|
|
|
for (ScmApplyInboundVehQueryDto scmApplyInboundVehQueryDto : scmApplyInboundVehQueryList) { |
|
|
|
scmApplyInboundVehQueryDto.setMainSid(entity.getSid()); |
|
|
|
scmApplyInboundVehQueryService.saveOrUpdateDto(scmApplyInboundVehQueryDto); |
|
|
|
} |
|
|
|
return; |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
} |
|
|
|
|
|
|
|
public void insertByDto(ScmApplyInboundQueryDto dto) { |
|
|
|
ScmApplyInboundQuery entity = new ScmApplyInboundQuery(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(ScmApplyInboundQueryDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
ScmApplyInboundQuery entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ScmApplyInboundQueryDetailsVo fetchDetailsVoBySid(String sid){ |
|
|
|
ScmApplyInboundQuery entity = fetchBySid(sid); |
|
|
|
ScmApplyInboundQueryDetailsVo vo = new ScmApplyInboundQueryDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
} |
|
|
|
ScmApplyInboundQuery entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public ScmApplyInboundQueryDetailsVo fetchDetailsVoBySid(String sid) { |
|
|
|
ScmApplyInboundQuery entity = fetchBySid(sid); |
|
|
|
ScmApplyInboundQueryDetailsVo vo = new ScmApplyInboundQueryDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<PdfPath> createPdf(String cgrkdSid,String printerType) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PdfPath pdfPath = new PdfPath(); |
|
|
|
//获取车辆入库单查询
|
|
|
|
ScmApplyInboundQuery scmApplyInboundQuery = fetchBySid(cgrkdSid); |
|
|
|
//获取车辆入库单车辆信息查询
|
|
|
|
List<ScmApplyInboundVehQueryDetailsVo> scmApplyInboundVehQueryDetailsVos = scmApplyInboundVehQueryService.fetchByMainSid(cgrkdSid); |
|
|
|
Map<String, Object> dataMap = new HashMap<String, Object>(); |
|
|
|
dataMap.put("priceDate", scmApplyInboundQuery.getOrgPriceDate()); |
|
|
|
dataMap.put("manPurOrderType", scmApplyInboundQuery.getManPurOrderTypeValue()); |
|
|
|
dataMap.put("billNo", scmApplyInboundQuery.getApplicationCode()); |
|
|
|
dataMap.put("orgDeptName", scmApplyInboundQuery.getOrgDeptName()); |
|
|
|
dataMap.put("manName", scmApplyInboundQuery.getManName()); |
|
|
|
List<ScmApplyInboundVehQueryMaterial> scmApplyInboundVehQueryMaterials = new ArrayList<>(); |
|
|
|
//初始化总数量为1
|
|
|
|
int num = 0; |
|
|
|
int id = 0; |
|
|
|
BigDecimal tPrice = new BigDecimal(0); |
|
|
|
//循环获取车辆信息
|
|
|
|
for (ScmApplyInboundVehQueryDetailsVo scmApplyInboundVehQueryDetailsVo : scmApplyInboundVehQueryDetailsVos) { |
|
|
|
ScmApplyInboundVehQueryMaterial scmApplyInboundVehQueryMaterial = new ScmApplyInboundVehQueryMaterial(); |
|
|
|
num = num + 1; |
|
|
|
id = id + 1; |
|
|
|
BigDecimal settleMoney = new BigDecimal(scmApplyInboundVehQueryDetailsVo.getSettleMoney()); |
|
|
|
tPrice = tPrice.add(settleMoney); |
|
|
|
//主车物料编码
|
|
|
|
scmApplyInboundVehQueryMaterial.setVinNo(scmApplyInboundVehQueryDetailsVo.getVinNo().substring(scmApplyInboundVehQueryDetailsVo.getVinNo().length() - 8)); |
|
|
|
scmApplyInboundVehQueryMaterial.setId(String.valueOf(id)); |
|
|
|
scmApplyInboundVehQueryMaterial.setMgroupName(scmApplyInboundVehQueryDetailsVo.getMgroupName()); |
|
|
|
scmApplyInboundVehQueryMaterial.setVehicleType(scmApplyInboundVehQueryDetailsVo.getVehicleTypeValue()); |
|
|
|
scmApplyInboundVehQueryMaterial.setIunit("辆"); |
|
|
|
scmApplyInboundVehQueryMaterial.setNum("1"); |
|
|
|
scmApplyInboundVehQueryMaterial.setSettleMoney(scmApplyInboundVehQueryDetailsVo.getSettleMoney()); |
|
|
|
scmApplyInboundVehQueryMaterial.setLocalName(scmApplyInboundVehQueryDetailsVo.getLocalName()); |
|
|
|
scmApplyInboundVehQueryMaterials.add(scmApplyInboundVehQueryMaterial); |
|
|
|
} |
|
|
|
dataMap.put("wlList", scmApplyInboundVehQueryMaterials); |
|
|
|
dataMap.put("zs", num); |
|
|
|
dataMap.put("zsettleMoney", tPrice.toString()); |
|
|
|
String tPriceDX = TransformMoney.transform(tPrice.toString()); |
|
|
|
dataMap.put("tPriceDX", tPriceDX); |
|
|
|
dataMap.put("makeName", scmApplyInboundQuery.getMakeListName() + scmApplyInboundQuery.getMakeListDate()); |
|
|
|
//获取模板
|
|
|
|
//模板路径
|
|
|
|
String sourcePath = "D:\\anrui\\upload\\template\\"; |
|
|
|
//生成word文件名
|
|
|
|
String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); |
|
|
|
long seconds = System.currentTimeMillis(); |
|
|
|
String typeName = dateStr + seconds + ".doc"; |
|
|
|
// 生成文件路径
|
|
|
|
String targetPath = sourcePath + dateStr; |
|
|
|
if (printerType.equals("针孔式打印机")){ |
|
|
|
WordUtils.creatWord(dataMap, "cgrkdzks", sourcePath, targetPath, typeName); |
|
|
|
}else if (printerType.equals("喷墨式打印机")){ |
|
|
|
WordUtils.creatWord(dataMap, "cgrkdpms", sourcePath, targetPath, typeName); |
|
|
|
} |
|
|
|
//新生成的word路径
|
|
|
|
String wordPath = targetPath + "\\" + typeName; |
|
|
|
//生成出门证文件名
|
|
|
|
String pdfName = "采购入库单_" + dateStr + seconds + ".pdf"; |
|
|
|
WordUtils.doc2pdf(wordPath, targetPath, pdfName, ""); |
|
|
|
pdfPath.setPdfPath("/template/" + dateStr + "/" + pdfName); |
|
|
|
return rb.success().setData(pdfPath); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<PdfPath> createPdf(String cgrkdSid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
PdfPath pdfPath = new PdfPath(); |
|
|
|
//获取车辆入库单查询
|
|
|
|
ScmApplyInboundQuery scmApplyInboundQuery = fetchBySid(cgrkdSid); |
|
|
|
//获取车辆入库单车辆信息查询
|
|
|
|
List<ScmApplyInboundVehQueryDetailsVo> scmApplyInboundVehQueryDetailsVos = scmApplyInboundVehQueryService.fetchByMainSid(cgrkdSid); |
|
|
|
Map<String, Object> dataMap = new HashMap<String, Object>(); |
|
|
|
dataMap.put("priceDate",scmApplyInboundQuery.getOrgPriceDate()); |
|
|
|
dataMap.put("manPurOrderType",scmApplyInboundQuery.getManPurOrderTypeValue()); |
|
|
|
dataMap.put("billNo",scmApplyInboundQuery.getApplicationCode()); |
|
|
|
dataMap.put("orgDeptName",scmApplyInboundQuery.getOrgDeptName()); |
|
|
|
dataMap.put("manName",scmApplyInboundQuery.getManName()); |
|
|
|
List<ScmApplyInboundVehQueryMaterial> scmApplyInboundVehQueryMaterials = new ArrayList<>(); |
|
|
|
//初始化总数量为1
|
|
|
|
int num = 0; |
|
|
|
int id = 0; |
|
|
|
BigDecimal tPrice = new BigDecimal(0); |
|
|
|
//循环获取车辆信息
|
|
|
|
for (ScmApplyInboundVehQueryDetailsVo scmApplyInboundVehQueryDetailsVo : scmApplyInboundVehQueryDetailsVos) { |
|
|
|
ScmApplyInboundVehQueryMaterial scmApplyInboundVehQueryMaterial = new ScmApplyInboundVehQueryMaterial(); |
|
|
|
num = num + 1; |
|
|
|
id = id + 1; |
|
|
|
BigDecimal settleMoney = new BigDecimal(scmApplyInboundVehQueryDetailsVo.getSettleMoney()); |
|
|
|
tPrice = tPrice.add(settleMoney); |
|
|
|
//主车物料编码
|
|
|
|
scmApplyInboundVehQueryMaterial.setVinNo(scmApplyInboundVehQueryDetailsVo.getVinNo().substring(scmApplyInboundVehQueryDetailsVo.getVinNo().length() - 8)); |
|
|
|
scmApplyInboundVehQueryMaterial.setId(String.valueOf(id)); |
|
|
|
scmApplyInboundVehQueryMaterial.setMgroupName(scmApplyInboundVehQueryDetailsVo.getMgroupName()); |
|
|
|
scmApplyInboundVehQueryMaterial.setVehicleType(scmApplyInboundVehQueryDetailsVo.getVehicleTypeValue()); |
|
|
|
scmApplyInboundVehQueryMaterial.setIunit("辆"); |
|
|
|
scmApplyInboundVehQueryMaterial.setNum("1"); |
|
|
|
scmApplyInboundVehQueryMaterial.setSettleMoney(scmApplyInboundVehQueryDetailsVo.getSettleMoney()); |
|
|
|
scmApplyInboundVehQueryMaterial.setLocalName(scmApplyInboundVehQueryDetailsVo.getLocalName()); |
|
|
|
scmApplyInboundVehQueryMaterials.add(scmApplyInboundVehQueryMaterial); |
|
|
|
} |
|
|
|
dataMap.put("wlList",scmApplyInboundVehQueryMaterials); |
|
|
|
dataMap.put("zs",num); |
|
|
|
dataMap.put("zsettleMoney",tPrice.toString()); |
|
|
|
String tPriceDX = TransformMoney.transform(tPrice.toString()); |
|
|
|
dataMap.put("tPriceDX",tPriceDX); |
|
|
|
dataMap.put("makeName",scmApplyInboundQuery.getMakeListName() + scmApplyInboundQuery.getMakeListDate()); |
|
|
|
//获取模板
|
|
|
|
//模板路径
|
|
|
|
String sourcePath = "D:\\anrui\\upload\\template\\"; |
|
|
|
//生成word文件名
|
|
|
|
String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); |
|
|
|
long seconds = System.currentTimeMillis(); |
|
|
|
String typeName = dateStr + seconds + ".doc"; |
|
|
|
// 生成文件路径
|
|
|
|
String targetPath = sourcePath + dateStr; |
|
|
|
WordUtils.creatWord(dataMap, "cgrkd", sourcePath, targetPath, typeName); |
|
|
|
//新生成的word路径
|
|
|
|
String wordPath = targetPath + "\\" + typeName; |
|
|
|
//生成出门证文件名
|
|
|
|
String pdfName = "采购入库单_" + dateStr + seconds + ".pdf"; |
|
|
|
WordUtils.doc2pdf(wordPath, targetPath, pdfName, ""); |
|
|
|
pdfPath.setPdfPath("/template/" + dateStr + "/" + pdfName); |
|
|
|
return rb.success().setData(pdfPath); |
|
|
|
} |
|
|
|
public ResultBean ctcgykd(String cgrkdSid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
List<ScmApplyInboundVehQueryDetailsVo> scmApplyInboundVehQueryDetailsVos = scmApplyInboundVehQueryService.fetchByMainSid(cgrkdSid); |
|
|
|
List<BaseVehicleSelectVo> baseVehicles = new ArrayList<>(); |
|
|
|
for (ScmApplyInboundVehQueryDetailsVo scmApplyInboundVehQueryDetailsVo : scmApplyInboundVehQueryDetailsVos) { |
|
|
|
String vehSid = scmApplyInboundVehQueryDetailsVo.getVehSid(); |
|
|
|
BaseVehicleSelectVo data = baseVehicleFeign.details(vehSid).getData(); |
|
|
|
baseVehicles.add(data); |
|
|
|
} |
|
|
|
try { |
|
|
|
StkInStock stkInStock = new StkInStock(); |
|
|
|
BaseVehicleSelectVo baseVehicle = baseVehicles.get(0); |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemFeign.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
//获取采购系统中的财务编码
|
|
|
|
if (basePurchaseSystemDetailsVo != null) { |
|
|
|
stkInStock.setFPurchaseOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
stkInStock.setTOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
} else { |
|
|
|
stkInStock.setFPurchaseOrgId(baseVehicle.getOrgCode()); |
|
|
|
stkInStock.setTOrgId(baseVehicle.getOrgCode()); |
|
|
|
} |
|
|
|
stkInStock.setFPurchaseDeptId(baseVehicle.getPurchaseSystemCode()); |
|
|
|
stkInStock.setFSupplierId(baseVehicle.getSupplierCode()); |
|
|
|
// 入库日期:FDate (必填项)
|
|
|
|
stkInStock.setFDate(DateUtil.formatDate(baseVehicle.getPriceDate())); |
|
|
|
// 物料列表:FInStockEntry (必填项)
|
|
|
|
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>(); |
|
|
|
//直接调拨单的物料列表
|
|
|
|
List<StkTransferDirect.FBillEntry> FPAYBILLENTRYs = new ArrayList<>(); |
|
|
|
for (BaseVehicleSelectVo baseVehicleDto : baseVehicles) { |
|
|
|
StkInStock.FInStockEntry sf = new StkInStock.FInStockEntry(); |
|
|
|
sf.setWlfz(baseVehicleDto.getCarBrandCode()); |
|
|
|
//单价 对应厂家结算价
|
|
|
|
sf.setFPrice(baseVehicleDto.getCostPrice() + ""); |
|
|
|
//车辆类型
|
|
|
|
//厂家采购
|
|
|
|
if (ManPurOrderType.ManOrderType.PC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey()) || |
|
|
|
ManPurOrderType.ManOrderType.TC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey())) { |
|
|
|
//车辆类型-厂家外采和调车
|
|
|
|
sf.setCllx(baseVehicleDto.getManufSaleAccessKey()); |
|
|
|
sf.setCllxType("sellChannel"); |
|
|
|
} else if (ManPurOrderType.ManOrderType.WC_ORDER.getCode().equals(baseVehicle.getManPurOrderTypeKey())) { |
|
|
|
//车辆类型-外采主车
|
|
|
|
sf.setCllx("60"); |
|
|
|
sf.setCllxType("sellChannel"); |
|
|
|
//物料分组-外采主车
|
|
|
|
sf.setWlfz("99.01"); |
|
|
|
} |
|
|
|
//存货类别
|
|
|
|
sf.setFCategoryIDType("purchaseOrderType"); |
|
|
|
sf.setFCategoryIDKey(baseVehicleDto.getManPurOrderTypeKey()); |
|
|
|
//批号:FLot
|
|
|
|
sf.setFLot(baseVehicleDto.getVinNo()); |
|
|
|
//物料编码:FMaterialId (必填项)
|
|
|
|
sf.setFMaterialId(baseVehicleDto.getVinNo().substring(baseVehicleDto.getVinNo().length() - 8)); |
|
|
|
//仓库:FStockId-目前只分在途和正式两个仓库。
|
|
|
|
//仓库编码
|
|
|
|
sf.setFStockId("ARZSCK"); |
|
|
|
fInStockEntry.add(sf); |
|
|
|
//填充直接调拨单物料列表数据
|
|
|
|
StkTransferDirect.FBillEntry fBillEntry = new StkTransferDirect.FBillEntry(); |
|
|
|
fBillEntry.setFMaterialId(sf.getFMaterialId());//物料编码
|
|
|
|
fBillEntry.setFDestStockId("ARZTCK");//调入仓库
|
|
|
|
fBillEntry.setFSrcStockId("ARZSCK");//调出仓库
|
|
|
|
FPAYBILLENTRYs.add(fBillEntry); |
|
|
|
} |
|
|
|
stkInStock.setFInStockEntry(fInStockEntry); |
|
|
|
ResultBean<String> stringResultBean = finKingDeeFeign.draftStkInStock(stkInStock); |
|
|
|
if (stringResultBean.getSuccess()) { |
|
|
|
//推送调拨单
|
|
|
|
StkTransferDirect stkTransferDirect = new StkTransferDirect(); |
|
|
|
stkTransferDirect.setFStockOrgId(stkInStock.getTOrgId()); //调入库存组织
|
|
|
|
stkTransferDirect.setFDate(stkInStock.getFDate()); //日期
|
|
|
|
stkTransferDirect.setFBillEntry(FPAYBILLENTRYs); |
|
|
|
finKingDeeFeign.draftStkTransferDirect(stkTransferDirect); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |