|
|
@ -72,6 +72,7 @@ import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.UUID; |
|
|
|
|
|
|
|
/** |
|
|
|
* Project: anrui-base(上装配置管理) <br/> |
|
|
@ -89,432 +90,437 @@ import java.util.List; |
|
|
|
@Service |
|
|
|
public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapper, BaseVehinstall> { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BaseVehinstallmodelService baseVehinstallmodelService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleService baseVehicleService; |
|
|
|
@Autowired |
|
|
|
private BaseVehmodelConfigService baseVehmodelConfigService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleOutService baseVehicleOutService; |
|
|
|
@Autowired |
|
|
|
private BasePurchaseSystemService basePurchaseSystemService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleOutApplyService baseVehicleOutApplyService; |
|
|
|
@Resource |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
@Autowired |
|
|
|
private BaseVehinstallmodelService baseVehinstallmodelService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleService baseVehicleService; |
|
|
|
@Autowired |
|
|
|
private BaseVehmodelConfigService baseVehmodelConfigService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleOutService baseVehicleOutService; |
|
|
|
@Autowired |
|
|
|
private BasePurchaseSystemService basePurchaseSystemService; |
|
|
|
@Autowired |
|
|
|
private BaseVehicleOutApplyService baseVehicleOutApplyService; |
|
|
|
@Resource |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
@Autowired |
|
|
|
private SysOrganizationFeign sysOrganizationFeign; |
|
|
|
|
|
|
|
|
|
|
|
private QueryWrapper<BaseVehinstall> createQueryWrapper(BaseVehinstallQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<BaseVehinstallVo> listPageVo(PagerQuery<BaseVehinstallQuery> pq) { |
|
|
|
BaseVehinstallQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("bv.createOrg",query.getCreateOrgSid()); |
|
|
|
qw.eq("bvm.createOrgSid",query.getCreateOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getVehicleTypeKey())){ |
|
|
|
qw.eq("bvm.vehicleTypeKey",query.getVehicleTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitMethodKey())){ |
|
|
|
qw.eq("bvm.refitMethodKey",query.getRefitMethodKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitFactory())){ |
|
|
|
qw.like("bvm.refitFactory",query.getRefitFactory()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInstallNameKey())){ |
|
|
|
qw.eq("bvm.installNameKey",query.getInstallNameKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getColorKey())){ |
|
|
|
qw.eq("bvm.colorKey",query.getColorKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPlateMaterialKey())){ |
|
|
|
qw.eq("bvm.plateMaterialKey",query.getPlateMaterialKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNoticeModel())){ |
|
|
|
qw.like("bv.noticeModel",query.getNoticeModel()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())){ |
|
|
|
qw.like("bv.vinNo",query.getVinNo()); |
|
|
|
} |
|
|
|
qw.orderByDesc("bv.createTime"); |
|
|
|
IPage<BaseVehinstall> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseVehinstallVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<BaseVehinstallVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public void saveOrUpdateDto(BaseVehinstallDto dto){ |
|
|
|
private QueryWrapper<BaseVehinstall> createQueryWrapper(BaseVehinstallQuery query) { |
|
|
|
// todo: 这里根据具体业务调整查询条件
|
|
|
|
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
|
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<BaseVehinstallVo> listPageVo(PagerQuery<BaseVehinstallQuery> pq) { |
|
|
|
BaseVehinstallQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("bv.createOrg", query.getCreateOrgSid()); |
|
|
|
qw.eq("bvm.createOrgSid", query.getCreateOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getVehicleTypeKey())) { |
|
|
|
qw.eq("bvm.vehicleTypeKey", query.getVehicleTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitMethodKey())) { |
|
|
|
qw.eq("bvm.refitMethodKey", query.getRefitMethodKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitFactory())) { |
|
|
|
qw.like("bvm.refitFactory", query.getRefitFactory()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInstallNameKey())) { |
|
|
|
qw.eq("bvm.installNameKey", query.getInstallNameKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getColorKey())) { |
|
|
|
qw.eq("bvm.colorKey", query.getColorKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPlateMaterialKey())) { |
|
|
|
qw.eq("bvm.plateMaterialKey", query.getPlateMaterialKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNoticeModel())) { |
|
|
|
qw.like("bv.noticeModel", query.getNoticeModel()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("bv.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
|
qw.orderByDesc("bv.createTime"); |
|
|
|
IPage<BaseVehinstall> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseVehinstallVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
PagerVo<BaseVehinstallVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public void saveOrUpdateDto(BaseVehinstallDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
this.insertByDto(dto); |
|
|
|
return; |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
} |
|
|
|
|
|
|
|
public void insertByDto(BaseVehinstallDto dto){ |
|
|
|
BaseVehinstall entity = new BaseVehinstall(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
String salesDate = entity.getSalesDate(); |
|
|
|
if (StringUtils.isBlank(salesDate)){ |
|
|
|
entity.setSalesDate(""); |
|
|
|
} |
|
|
|
baseMapper.insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(BaseVehinstallDto dto){ |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
return; |
|
|
|
} |
|
|
|
this.updateByDto(dto); |
|
|
|
} |
|
|
|
|
|
|
|
public void insertByDto(BaseVehinstallDto dto) { |
|
|
|
BaseVehinstall entity = new BaseVehinstall(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
String salesDate = entity.getSalesDate(); |
|
|
|
if (StringUtils.isBlank(salesDate)) { |
|
|
|
entity.setSalesDate(""); |
|
|
|
} |
|
|
|
baseMapper.insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public void updateByDto(BaseVehinstallDto dto) { |
|
|
|
String dtoSid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(dtoSid)) { |
|
|
|
return; |
|
|
|
} |
|
|
|
BaseVehinstall entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public BaseVehinstallDetailsVo fetchDetailsVoBySid(String sid){ |
|
|
|
BaseVehinstall entity = fetchBySid(sid); |
|
|
|
BaseVehinstallDetailsVo vo = new BaseVehinstallDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
vo.setSid(sid); |
|
|
|
String mainSid = vo.getMainSid(); |
|
|
|
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(mainSid); |
|
|
|
vo.setBaseVehinstallmodel(baseVehinstallmodel); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
} |
|
|
|
BaseVehinstall entity = fetchBySid(dtoSid); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
baseMapper.updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
public BaseVehinstallDetailsVo fetchDetailsVoBySid(String sid) { |
|
|
|
BaseVehinstall entity = fetchBySid(sid); |
|
|
|
BaseVehinstallDetailsVo vo = new BaseVehinstallDetailsVo(); |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
vo.setSid(sid); |
|
|
|
String mainSid = vo.getMainSid(); |
|
|
|
BaseVehinstallmodel baseVehinstallmodel = baseVehinstallmodelService.fetchBySid(mainSid); |
|
|
|
vo.setBaseVehinstallmodel(baseVehinstallmodel); |
|
|
|
return vo; |
|
|
|
} |
|
|
|
|
|
|
|
public List<String> selectListVo(String createOrgSid) { |
|
|
|
return baseMapper.selectListVo(createOrgSid); |
|
|
|
} |
|
|
|
|
|
|
|
public List<String> selectListVo(String createOrgSid) { |
|
|
|
return baseMapper.selectListVo(createOrgSid); |
|
|
|
} |
|
|
|
public PagerVo<BaseVehinstallVo> vehInsMod(PagerQuery<BaseVehinstallQuery> pq) { |
|
|
|
BaseVehinstallQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("bv.createOrg", query.getCreateOrgSid()); |
|
|
|
qw.eq("bvm.createOrgSid", query.getCreateOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getVehicleTypeKey())) { |
|
|
|
qw.eq("bvm.vehicleTypeKey", query.getVehicleTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitMethodKey())) { |
|
|
|
qw.eq("bvm.refitMethodKey", query.getRefitMethodKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitFactory())) { |
|
|
|
qw.like("bvm.refitFactory", query.getRefitFactory()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInstallNameKey())) { |
|
|
|
qw.eq("bvm.installNameKey", query.getInstallNameKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getColorKey())) { |
|
|
|
qw.eq("bvm.colorKey", query.getColorKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPlateMaterialKey())) { |
|
|
|
qw.eq("bvm.plateMaterialKey", query.getPlateMaterialKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNoticeModel())) { |
|
|
|
qw.like("bv.noticeModel", query.getNoticeModel()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("bv.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
|
if (query.getJacketSidList().size() > 0) { |
|
|
|
qw.notIn("bv.sid", query.getJacketSidList()); |
|
|
|
} |
|
|
|
IPage<BaseVehinstall> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseVehinstallVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
List<BaseVehinstallVo> records = pagging.getRecords(); |
|
|
|
for (BaseVehinstallVo record : records) { |
|
|
|
String vinNo = record.getVinNo(); |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, query.getCreateOrgSid()); |
|
|
|
String modelSid = baseVehicle.getModelSid(); |
|
|
|
String modelConfigSid = baseVehicle.getModelConfigSid(); |
|
|
|
BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigService.selectVehPur(modelSid, modelConfigSid, query.getCreateOrgSid()); |
|
|
|
String guidedPrice = baseVehmodelVo.getGuidedPrice(); |
|
|
|
record.setVehGuidePrice(guidedPrice); |
|
|
|
} |
|
|
|
PagerVo<BaseVehinstallVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public PagerVo<BaseVehinstallVo> vehInsMod(PagerQuery<BaseVehinstallQuery> pq) { |
|
|
|
BaseVehinstallQuery query = pq.getParams(); |
|
|
|
QueryWrapper<BaseVehinstall> qw = new QueryWrapper<>(); |
|
|
|
qw.eq("bv.createOrg",query.getCreateOrgSid()); |
|
|
|
qw.eq("bvm.createOrgSid",query.getCreateOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(query.getVehicleTypeKey())){ |
|
|
|
qw.eq("bvm.vehicleTypeKey",query.getVehicleTypeKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitMethodKey())){ |
|
|
|
qw.eq("bvm.refitMethodKey",query.getRefitMethodKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getRefitFactory())){ |
|
|
|
qw.like("bvm.refitFactory",query.getRefitFactory()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getInstallNameKey())){ |
|
|
|
qw.eq("bvm.installNameKey",query.getInstallNameKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getColorKey())){ |
|
|
|
qw.eq("bvm.colorKey",query.getColorKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getPlateMaterialKey())){ |
|
|
|
qw.eq("bvm.plateMaterialKey",query.getPlateMaterialKey()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getNoticeModel())){ |
|
|
|
qw.like("bv.noticeModel",query.getNoticeModel()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())){ |
|
|
|
qw.like("bv.vinNo",query.getVinNo()); |
|
|
|
} |
|
|
|
if (query.getJacketSidList().size() > 0) { |
|
|
|
qw.notIn("bv.sid", query.getJacketSidList()); |
|
|
|
} |
|
|
|
IPage<BaseVehinstall> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<BaseVehinstallVo> pagging = baseMapper.selectPageVo(page, qw); |
|
|
|
List<BaseVehinstallVo> records = pagging.getRecords(); |
|
|
|
for (BaseVehinstallVo record : records) { |
|
|
|
String vinNo = record.getVinNo(); |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, query.getCreateOrgSid()); |
|
|
|
String modelSid = baseVehicle.getModelSid(); |
|
|
|
String modelConfigSid = baseVehicle.getModelConfigSid(); |
|
|
|
BaseVehmodelVo baseVehmodelVo = baseVehmodelConfigService.selectVehPur(modelSid, modelConfigSid, query.getCreateOrgSid()); |
|
|
|
String guidedPrice = baseVehmodelVo.getGuidedPrice(); |
|
|
|
record.setVehGuidePrice(guidedPrice); |
|
|
|
} |
|
|
|
PagerVo<BaseVehinstallVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
public List<BaseVehinstall> selectByOrgSidAndVin(String orgSid, String vin) { |
|
|
|
return baseMapper.selectByOrgSidAndVin(orgSid, vin); |
|
|
|
} |
|
|
|
|
|
|
|
public List<BaseVehinstall> selectByOrgSidAndVin(String orgSid, String vin) { |
|
|
|
return baseMapper.selectByOrgSidAndVin(orgSid,vin); |
|
|
|
} |
|
|
|
public BaseVehinstallDetailsVo fetchByVinNoAndOrgSid(String vinNo, String createOrgSid) { |
|
|
|
return baseMapper.fetchByVinNoAndOrgSid(vinNo, createOrgSid); |
|
|
|
} |
|
|
|
|
|
|
|
public BaseVehinstallDetailsVo fetchByVinNoAndOrgSid(String vinNo, String createOrgSid) { |
|
|
|
return baseMapper.fetchByVinNoAndOrgSid(vinNo,createOrgSid); |
|
|
|
} |
|
|
|
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) { |
|
|
|
ResultBean<BaseVehinstall> rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = baseMapper.seletByVinAndUseOrg(vinNo, useOrgSid); |
|
|
|
return rb.success().setData(baseVehinstall); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) { |
|
|
|
ResultBean<BaseVehinstall> rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = baseMapper.seletByVinAndUseOrg(vinNo,useOrgSid); |
|
|
|
return rb.success().setData(baseVehinstall); |
|
|
|
} |
|
|
|
public int selectNumGCRK(String bill) { |
|
|
|
return baseMapper.selectNumGCRK(bill); |
|
|
|
} |
|
|
|
|
|
|
|
public int selectNumGCRK(String bill) { |
|
|
|
return baseMapper.selectNumGCRK(bill); |
|
|
|
} |
|
|
|
public ResultBean vehinstallOut(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
|
|
if (baseVehinstall.getVehicleStateKey().equals("0002")) { |
|
|
|
return rb.setMsg("该挂车已出库"); |
|
|
|
} |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehinstall.getVinNo(), baseVehinstall.getCreateOrg()); |
|
|
|
String vehicleState = baseVehicle.getVehicleState(); |
|
|
|
if (!vehicleState.equals("0002")) { |
|
|
|
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 = ""; |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date; |
|
|
|
String i = baseMapper.selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
|
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.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); |
|
|
|
//出库单子表关联主表sid
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setCreateBySid(baseVehicleOut.getCreateBySid()); |
|
|
|
baseVehicleOut.setCreateByName(baseVehicleOut.getCreateByName()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
|
//保存车辆出库单子表
|
|
|
|
baseVehicleOutService.save(baseVehicleOut); |
|
|
|
//推送金蝶上装销售出库单
|
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehinstall, baseVehicle, baseVehicleOut); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
|
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.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
|
saveOrUpdate(baseVehinstall); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean vehinstallOut(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
|
|
if (baseVehinstall.getVehicleStateKey().equals("0002")) { |
|
|
|
return rb.setMsg("该挂车已出库"); |
|
|
|
} |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehinstall.getVinNo(),baseVehinstall.getCreateOrg()); |
|
|
|
String vehicleState = baseVehicle.getVehicleState(); |
|
|
|
if (!vehicleState.equals("0002")) { |
|
|
|
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 = ""; |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date; |
|
|
|
String i = baseMapper.selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
|
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.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); |
|
|
|
//出库单子表关联主表sid
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setCreateBySid(baseVehicleOut.getCreateBySid()); |
|
|
|
baseVehicleOut.setCreateByName(baseVehicleOut.getCreateByName()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
|
//保存车辆出库单子表
|
|
|
|
baseVehicleOutService.save(baseVehicleOut); |
|
|
|
//推送金蝶上装销售出库单
|
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehinstall, baseVehicle, baseVehicleOut); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
|
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.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
|
saveOrUpdate(baseVehinstall); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
private String createRemarks(BaseVehicleOut baseVehicleOut) { |
|
|
|
String note = ""; |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleOne())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "," + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; |
|
|
|
} else { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
|
|
|
|
private String createRemarks(BaseVehicleOut baseVehicleOut) { |
|
|
|
String note = ""; |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleOne())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "," + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; |
|
|
|
} else { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleTwo() + baseVehicleOut.getRebateMoneyTwo() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return note; |
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyOne().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getMiddleTwo())) { |
|
|
|
if (StringUtils.isNotBlank(baseVehicleOut.getRebateMoneyTwo().toString())) { |
|
|
|
note = note + " 返利情况:" + baseVehicleOut.getMiddleOne() + baseVehicleOut.getRebateMoneyOne() + "。"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return note; |
|
|
|
} |
|
|
|
private SalOutStock createSzOrGcSalOutStock(BaseVehinstall baseVehinstall, BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut) { |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
//单据编号
|
|
|
|
salOutStock.setFBillNo(baseVehicleOut.getBillNo()); |
|
|
|
//日期
|
|
|
|
salOutStock.setFDate(DateUtil.today()); |
|
|
|
//分公司id
|
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
//客户
|
|
|
|
salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo()); |
|
|
|
//销售部门id
|
|
|
|
String orgDeptSid = baseVehicleOut.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.getTrailerOrInstallDealPrice()); |
|
|
|
//物料编码
|
|
|
|
fEntity.setFMaterialID(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
|
//仓库id
|
|
|
|
fEntity.setFStockID("ARZSCK"); |
|
|
|
fEntityList.add(fEntity); |
|
|
|
if (fEntityList.size() > 0) { |
|
|
|
salOutStock.setFEntity(fEntityList); |
|
|
|
return salOutStock; |
|
|
|
} else { |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private SalOutStock createSzOrGcSalOutStock(BaseVehinstall baseVehinstall, BaseVehicle baseVehicle, BaseVehicleOut baseVehicleOut) { |
|
|
|
SalOutStock salOutStock = new SalOutStock(); |
|
|
|
//单据编号
|
|
|
|
salOutStock.setFBillNo(baseVehicleOut.getBillNo()); |
|
|
|
//日期
|
|
|
|
salOutStock.setFDate(DateUtil.today()); |
|
|
|
//分公司id
|
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
salOutStock.setFSaleOrgId(basePurchaseSystemDetailsVo.getOrgCode()); |
|
|
|
//客户
|
|
|
|
salOutStock.setFCustomerID(baseVehicleOut.getCwCustomerNo()); |
|
|
|
//销售部门id
|
|
|
|
String orgDeptSid = baseVehicleOut.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.getTrailerOrInstallDealPrice()); |
|
|
|
//物料编码
|
|
|
|
fEntity.setFMaterialID(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
|
//仓库id
|
|
|
|
fEntity.setFStockID("ARZSCK"); |
|
|
|
fEntityList.add(fEntity); |
|
|
|
if (fEntityList.size() > 0) { |
|
|
|
salOutStock.setFEntity(fEntityList); |
|
|
|
return salOutStock; |
|
|
|
} else { |
|
|
|
return null; |
|
|
|
} |
|
|
|
} |
|
|
|
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) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
|
|
if (baseVehinstall.getVehicleStateKey().equals("0002")) { |
|
|
|
return rb.setMsg("该挂车已出库"); |
|
|
|
} |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehinstall.getVinNo(),baseVehinstall.getCreateOrg()); |
|
|
|
String vehicleState = baseVehicle.getVehicleState(); |
|
|
|
if (!vehicleState.equals("0002")) { |
|
|
|
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 = ""; |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date; |
|
|
|
String i = baseMapper.selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
baseVehicleOut.setBillNo(billNo); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupCode("99.02"); |
|
|
|
baseVehicleOut.setTrailerOrInstallMGroupName("挂车"); |
|
|
|
baseVehicleOut.setTrailerOrInstallCode(baseVehinstall.getVinNo().substring(baseVehinstall.getVinNo().length() - 8) + "SZ"); |
|
|
|
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.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); |
|
|
|
//出库单子表关联主表sid
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setCreateBySid(baseVehicleOut.getCreateBySid()); |
|
|
|
baseVehicleOut.setCreateByName(baseVehicleOut.getCreateByName()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
|
baseVehicleOut.setManPurOrderTypeValue(baseVehicle.getManPurOrderTypeValue()); |
|
|
|
//保存车辆出库单子表
|
|
|
|
baseVehicleOutService.save(baseVehicleOut); |
|
|
|
//推送金蝶上装销售出库单
|
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStock(baseVehinstall, baseVehicle, baseVehicleOut); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
|
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.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
|
saveOrUpdate(baseVehinstall); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
public ResultBean vehinstallOutNew(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BaseVehinstall baseVehinstall = fetchBySid(sid); |
|
|
|
if (baseVehinstall.getVehicleStateKey().equals("0002")) { |
|
|
|
return rb.setMsg("该挂车已出库"); |
|
|
|
} |
|
|
|
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(baseVehinstall.getVinNo(), baseVehinstall.getCreateOrg()); |
|
|
|
String vehicleState = baseVehicle.getVehicleState(); |
|
|
|
if (!vehicleState.equals("0002")) { |
|
|
|
return rb.setMsg("此主车车辆库存状态不是出库,请重新选择"); |
|
|
|
} |
|
|
|
//生成单据编号
|
|
|
|
String billNo = ""; |
|
|
|
BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(baseVehicle.getPurchaseSystemSid()).getData(); |
|
|
|
String date = DateUtil.format(DateUtil.date(), "yyyyMM"); |
|
|
|
billNo = "XSCKD" + basePurchaseSystemDetailsVo.getOrgCode() + date; |
|
|
|
String i = baseMapper.selectNum(billNo); |
|
|
|
if (StringUtils.isNotBlank(i)) { |
|
|
|
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); |
|
|
|
} else { |
|
|
|
billNo = Rule.getBillNo(billNo, 0); |
|
|
|
} |
|
|
|
BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseVehinstall.getCreateOrg(), baseVehicle.getSid()); |
|
|
|
BaseVehicleOutApply baseVehicleOutApply = baseVehicleOutApplyService.fetchBySid(baseVehicleOutDetailsVo.getMainSid()); |
|
|
|
//出库主表信息录入
|
|
|
|
baseVehicleOutApply.setSid(UUID.randomUUID().toString()); |
|
|
|
baseVehicleOutApply.setBillNo(billNo); |
|
|
|
//保存车辆出库单主表
|
|
|
|
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
|
|
|
|
baseVehicleOut.setMainSid(baseVehicleOutApply.getSid()); |
|
|
|
baseVehicleOut.setManPurOrderTypeKey(baseVehicle.getManPurOrderTypeKey()); |
|
|
|
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); |
|
|
|
//推送金蝶上装销售出库单
|
|
|
|
SalOutStock salOutStock = createSzOrGcSalOutStockNew(baseVehicle, baseVehicleOut, baseVehicleOutApply); |
|
|
|
finKingDeeFeign.draftSalOutStock(salOutStock); |
|
|
|
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); |
|
|
|
for (SalOutStock.FEntity entity : fEntity) { |
|
|
|
baseVehinstall.setVehicleStateKey(VehicleState.StockEnum.OUT_STOCK.getCode()); |
|
|
|
baseVehinstall.setVehicleStateValue(VehicleState.StockEnum.OUT_STOCK.getRemarks()); |
|
|
|
baseVehinstall.setSalesDate(DateUtil.formatDate(new Date())); |
|
|
|
saveOrUpdate(baseVehinstall); |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |