|
|
@ -5,9 +5,15 @@ import cn.hutool.core.thread.ThreadUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer; |
|
|
|
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturerFeign; |
|
|
|
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.basevehiclebrand.BaseVehicleBrand; |
|
|
|
import com.yxt.anrui.base.api.basevehiclebrand.BaseVehicleBrandFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel; |
|
|
|
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign; |
|
|
|
import com.yxt.anrui.base.api.busvehicleorder.ActualAndOrgDeptVo; |
|
|
|
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign; |
|
|
|
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; |
|
|
@ -94,6 +100,12 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
private FileUploadComponent fileUploadComponent; |
|
|
|
@Autowired |
|
|
|
private BusVehicleOrderFeign busVehicleOrderFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleModelFeign baseVehicleModelFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleBrandFeign baseVehicleBrandFeign; |
|
|
|
@Autowired |
|
|
|
private BaseManufacturerFeign baseManufacturerFeign; |
|
|
|
|
|
|
|
public PagerVo<ScmApplyInbound> listPage(PagerQuery<ScmApplyInboundQuery> pq) { |
|
|
|
ScmApplyInboundQuery query = pq.getParams(); |
|
|
@ -362,21 +374,21 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
ScmApplyInboundDto scmApplyInboundDto = new ScmApplyInboundDto(); |
|
|
|
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) { |
|
|
|
String vinNo = scmApplyInboundVehicleDto.getVinNo(); |
|
|
|
if (StringUtils.isBlank(vinNo)){ |
|
|
|
if (StringUtils.isBlank(vinNo)) { |
|
|
|
scmApplyInboundVehicleService.deleteBySid(scmApplyInboundVehicleDto.getSid()); |
|
|
|
BeanUtil.copyProperties(scmApplyInbound,scmApplyInboundDto); |
|
|
|
BeanUtil.copyProperties(scmApplyInbound, scmApplyInboundDto); |
|
|
|
scmApplyInboundDto.setSid(null); |
|
|
|
scmApplyInboundVehicleDtos1.add(scmApplyInboundVehicleDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (scmApplyInboundVehicleDtos1.size() > 0){ |
|
|
|
if (scmApplyInboundVehicleDtos1.size() > 0) { |
|
|
|
scmApplyInboundDto.setVehicleList(scmApplyInboundVehicleDtos1); |
|
|
|
scmApplyInboundDto.setNum(String.valueOf(scmApplyInboundVehicleDtos1.size())); |
|
|
|
scmApplyInboundDto.setScmFiles(dto.getScmFiles()); |
|
|
|
saveOrUpdateApplyInBound(scmApplyInboundDto); |
|
|
|
} |
|
|
|
int i = Integer.parseInt(num) - scmApplyInboundVehicleDtos1.size(); |
|
|
|
baseMapper.updateNumBySid(String.valueOf(i),businessSid); |
|
|
|
baseMapper.updateNumBySid(String.valueOf(i), businessSid); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
|
BeanUtil.copyProperties(dto, bv); |
|
|
|
bv.setOrgSidPath(orgSidPath); |
|
|
@ -401,21 +413,21 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
List<ScmApplyInboundVehicleDto> vehicleList = dto.getVehicleList(); |
|
|
|
for (ScmApplyInboundVehicleDto scmApplyInboundVehicleDto : vehicleList) { |
|
|
|
String vinNo = scmApplyInboundVehicleDto.getVinNo(); |
|
|
|
if (StringUtils.isBlank(vinNo)){ |
|
|
|
if (StringUtils.isBlank(vinNo)) { |
|
|
|
scmApplyInboundVehicleService.deleteBySid(scmApplyInboundVehicleDto.getSid()); |
|
|
|
BeanUtil.copyProperties(dto,scmApplyInboundDto); |
|
|
|
BeanUtil.copyProperties(dto, scmApplyInboundDto); |
|
|
|
scmApplyInboundDto.setSid(null); |
|
|
|
scmApplyInboundVehicleDtos1.add(scmApplyInboundVehicleDto); |
|
|
|
}else { |
|
|
|
} else { |
|
|
|
scmApplyInboundVehicleDtos2.add(scmApplyInboundVehicleDto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (scmApplyInboundVehicleDtos1.size() > 0){ |
|
|
|
if (scmApplyInboundVehicleDtos1.size() > 0) { |
|
|
|
scmApplyInboundDto.setVehicleList(scmApplyInboundVehicleDtos1); |
|
|
|
scmApplyInboundDto.setNum(String.valueOf(scmApplyInboundVehicleDtos1.size())); |
|
|
|
saveOrUpdateApplyInBound(scmApplyInboundDto); |
|
|
|
} |
|
|
|
baseMapper.updateNumBySid(String.valueOf(scmApplyInboundVehicleDtos2.size()),businessSid); |
|
|
|
baseMapper.updateNumBySid(String.valueOf(scmApplyInboundVehicleDtos2.size()), businessSid); |
|
|
|
ScmApplyInbound entity = this.fetchBySid(dto.getSid()); |
|
|
|
String businessTaskid = entity.getTaskId(); |
|
|
|
BusinessVariables bv = new BusinessVariables(); |
|
|
@ -484,17 +496,17 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void newBaseVehicleDto(ScmApplyInbound booad,List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos) { |
|
|
|
List<BaseVehicleDto> baseVehicleDtos=new ArrayList<>(); |
|
|
|
private void newBaseVehicleDto(ScmApplyInbound booad, List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos) { |
|
|
|
List<BaseVehicleDto> baseVehicleDtos = new ArrayList<>(); |
|
|
|
//获取车辆对应的采购系统(部门)sid、采购系统(部门)名称字段、厂家销售通路sid、厂家销售通路
|
|
|
|
ResultBean<ActualAndOrgDeptVo> actualAndOrgDept = busVehicleOrderFeign.getActualAndOrgDept(booad.getVehicleOrderSid(),booad.getModelSid(),booad.getConfigSid()); |
|
|
|
ResultBean<ActualAndOrgDeptVo> actualAndOrgDept = busVehicleOrderFeign.getActualAndOrgDept(booad.getVehicleOrderSid(), booad.getModelSid(), booad.getConfigSid()); |
|
|
|
ActualAndOrgDeptVo aaodd = actualAndOrgDept.getData(); |
|
|
|
if(!actualAndOrgDept.getSuccess()||aaodd==null){ |
|
|
|
if (!actualAndOrgDept.getSuccess() || aaodd == null) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ |
|
|
|
for (ScmApplyInboundVehicleDto s : scmApplyInboundVehicleDtos) { |
|
|
|
//车辆台账推送数据
|
|
|
|
BaseVehicleDto baseVehicleDto = new BaseVehicleDto(); |
|
|
|
|
|
|
@ -539,15 +551,28 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
baseVehicleDto.setInsideCode(booad.getInsideCode()); |
|
|
|
baseVehicleDto.setManPurOrderTypeKey(booad.getManPurOrderTypeKey()); |
|
|
|
baseVehicleDto.setManPurOrderTypeValue(booad.getManPurOrderTypeValue()); |
|
|
|
//存放地点
|
|
|
|
baseVehicleDto.setLocation(""); |
|
|
|
baseVehicleDto.setLocationName(""); |
|
|
|
//品牌
|
|
|
|
BaseVehicleModel data = baseVehicleModelFeign.selectDetails(s.getModelSid()).getData(); |
|
|
|
baseVehicleDto.setCarBrandSid(data.getCarBrand()); |
|
|
|
baseVehicleDto.setCarBrandName(data.getBrandName()); |
|
|
|
//厂商sid
|
|
|
|
BaseVehicleBrand baseVehicleBrand = baseVehicleBrandFeign.fetchBySid(data.getCarBrand()); |
|
|
|
baseVehicleDto.setManufacturerSid(baseVehicleBrand.getManufacturerSid()); |
|
|
|
//供应商sid
|
|
|
|
String s1 = baseManufacturerFeign.selectByOrgSidAndManBankSid(booad.getUseOrgSid(), baseVehicleBrand.getManufacturerSid()).getData(); |
|
|
|
baseVehicleDto.setSupplierSid(s1); |
|
|
|
baseVehicleDtos.add(baseVehicleDto); |
|
|
|
} |
|
|
|
ThreadUtil.execute(() -> baseVehicleFeign.saveOrUpdate(baseVehicleDtos, OperVehicleState.EventType.RZ_SAVEVEH.getCode())); |
|
|
|
} |
|
|
|
|
|
|
|
private void saveItem( ResultBean<List<String>> resultBean1) { |
|
|
|
List<ScmVehinspectItemDto> list=new ArrayList(); |
|
|
|
private void saveItem(ResultBean<List<String>> resultBean1) { |
|
|
|
List<ScmVehinspectItemDto> list = new ArrayList(); |
|
|
|
List<String> data = resultBean1.getData(); |
|
|
|
for(String s:data){ |
|
|
|
for (String s : data) { |
|
|
|
//推送验车检查表
|
|
|
|
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto(); |
|
|
|
scmVehinspectItemDto.setVehInspectSid(s); |
|
|
@ -555,26 +580,28 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
} |
|
|
|
scmVehinspectItemService.saveItem(list); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建采购入库单 |
|
|
|
* |
|
|
|
* @param scmApplyInbound |
|
|
|
* @param scmApplyInboundVehicleDtos |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private StkInStock createStkInStock(ScmApplyInbound scmApplyInbound, List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos) { |
|
|
|
StkInStock stkInStock=new StkInStock(); |
|
|
|
StkInStock stkInStock = new StkInStock(); |
|
|
|
try { |
|
|
|
stkInStock.setFPurchaseOrgId("101");//采购组织
|
|
|
|
// stkInStock.setFStockOrgId("101");// 收料组织
|
|
|
|
// stkInStock.setFStockOrgId("101");// 收料组织
|
|
|
|
stkInStock.setFPurchaseDeptId("05.04");// 采购部门
|
|
|
|
stkInStock.setFSupplierId("010001");// 供应商
|
|
|
|
stkInStock.setFDate(scmApplyInbound.getApplicationDate()); |
|
|
|
// stkInStock.setFOwnerIdHead("101");// 货主
|
|
|
|
// stkInStock.setFSettleOrgId("101"); // 结算组织
|
|
|
|
// stkInStock.setFOwnerIdHead("101");// 货主
|
|
|
|
// stkInStock.setFSettleOrgId("101"); // 结算组织
|
|
|
|
stkInStock.setTOrgId("100012"); |
|
|
|
List<StkInStock.FInStockEntry> FInStockEntry=new ArrayList<>(); |
|
|
|
for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ |
|
|
|
StkInStock.FInStockEntry fise=new StkInStock.FInStockEntry(); |
|
|
|
List<StkInStock.FInStockEntry> FInStockEntry = new ArrayList<>(); |
|
|
|
for (ScmApplyInboundVehicleDto s : scmApplyInboundVehicleDtos) { |
|
|
|
StkInStock.FInStockEntry fise = new StkInStock.FInStockEntry(); |
|
|
|
fise.setFMaterialId(s.getVinNo());// 物料编码
|
|
|
|
//fise.setFRealQty(1.0);// 实收数量
|
|
|
|
//fise.setFPriceUnitQty("1");// 计价数量
|
|
|
@ -585,7 +612,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
FInStockEntry.add(fise); |
|
|
|
} |
|
|
|
stkInStock.setFInStockEntry(FInStockEntry); |
|
|
|
}catch (Exception e){ |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return stkInStock; |
|
|
@ -593,17 +620,18 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建物料的信息 |
|
|
|
* |
|
|
|
* @param scmApplyInbound |
|
|
|
* @param scmApplyInboundVehicleDtos |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
private List<BdMaterial> createBdMaterialList(ScmApplyInbound scmApplyInbound,List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos) { |
|
|
|
List<BdMaterial> list=new ArrayList<>(); |
|
|
|
private List<BdMaterial> createBdMaterialList(ScmApplyInbound scmApplyInbound, List<ScmApplyInboundVehicleDto> scmApplyInboundVehicleDtos) { |
|
|
|
List<BdMaterial> list = new ArrayList<>(); |
|
|
|
try { |
|
|
|
for(ScmApplyInboundVehicleDto s:scmApplyInboundVehicleDtos){ |
|
|
|
BdMaterial bm=new BdMaterial(); |
|
|
|
for (ScmApplyInboundVehicleDto s : scmApplyInboundVehicleDtos) { |
|
|
|
BdMaterial bm = new BdMaterial(); |
|
|
|
//bm.setFCreateOrgId("100");//创建机构
|
|
|
|
ResultBean<BaseVehicle> baseVehicleResultBean = baseVehicleFeign.selectByVinNoAndOrgSid(s.getVinNo(),scmApplyInbound.getUseOrgSid()); |
|
|
|
ResultBean<BaseVehicle> baseVehicleResultBean = baseVehicleFeign.selectByVinNoAndOrgSid(s.getVinNo(), scmApplyInbound.getUseOrgSid()); |
|
|
|
bm.setFName(baseVehicleResultBean.getData().getVinNo());//物料名称
|
|
|
|
bm.setFMaterialGroup("03");//物料分组
|
|
|
|
//bm.setFUseOrgId("100");//使用组织
|
|
|
@ -611,8 +639,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa |
|
|
|
bm.setF_PAEZ_BaseKey("牵引");//车辆类型
|
|
|
|
bm.setF_PAEZ_BaseType("牵引");//车辆类型
|
|
|
|
list.add(bm); |
|
|
|
} |
|
|
|
}catch (Exception e){ |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
return list; |
|
|
|