Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
bdc7c1b329
  1. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  2. 824
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java
  3. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java
  4. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java
  5. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java
  6. 168
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  7. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd2.ftl
  8. 2365
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply.ftl
  9. 2365
      anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApplyOld.ftl
  10. 10
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  11. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java
  12. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java
  13. 16
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java
  14. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java
  15. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java
  16. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java

@ -543,12 +543,12 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(vehSid).getData();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = null;
if (finBillVehicleDetailsVo == null) {
return rb.setMsg("关联的主车开票,不可出库");
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
} else {
String billAppSid = finBillVehicleDetailsVo.getBillAppSid();
finBillApplicationDetailsVo = finBillApplicationFeign.fetchDetailsBySid(billAppSid).getData();
if (!finBillApplicationDetailsVo.getNodeState().equals("已办结")) {
return rb.setMsg("关联的主车开票,不可出库");
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
}
}
BaseVehicleOutDetailsVo baseVehicleOutDetailsVo = baseVehicleOutService.selByOrgSidAndVehSid(baseTrailer.getUseOrgSid(), vehSid);
@ -847,12 +847,12 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
FinBillVehicleDetailsVo finBillVehicleDetailsVo = finBillVehicleFeign.fetchByVehSid(vehSid).getData();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = null;
if (finBillVehicleDetailsVo == null) {
return rb.setMsg("关联的主车开票,不可出库");
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
} else {
String billAppSid = finBillVehicleDetailsVo.getBillAppSid();
finBillApplicationDetailsVo = finBillApplicationFeign.fetchDetailsBySid(billAppSid).getData();
if (!finBillApplicationDetailsVo.getNodeState().equals("已办结")) {
return rb.setMsg("关联的主车开票,不可出库");
return rb.setMsg("关联的主车开票申请未审批通过,不可出库");
}
}
//生成单据编号

824
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java

@ -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();
}
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java

@ -163,6 +163,11 @@ public interface BusArrearsCarryVehicleApplyFeign {
@ResponseBody
ResultBean<String> createPdfFile(@RequestParam("sid")String sid);
@ApiOperation(value = "欠款提车申请打印pdf")
@GetMapping(value = "/printApplyPdf")
@ResponseBody
ResultBean<String> printApplyPdf(@RequestParam("sid")String sid);

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java

@ -161,4 +161,9 @@ public class BusArrearsCarryVehicleApplyFeignFallback implements BusArrearsCarry
public ResultBean<String> createPdfFile(String sid) {
return null;
}
@Override
public ResultBean<String> printApplyPdf(String sid) {
return null;
}
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java

@ -253,5 +253,10 @@ public class BusArrearsCarryVehicleApplyRest implements BusArrearsCarryVehicleAp
return busArrearsCarryVehicleApplyService.createPdfFile(sid);
}
@Override
public ResultBean<String> printApplyPdf(String sid) {
return busArrearsCarryVehicleApplyService.printApplyPdf(sid);
}
}

168
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -72,6 +72,7 @@ import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.Base64;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.TransformMoney;
import com.yxt.common.base.utils.WordConvertUtils;
@ -88,9 +89,11 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.InputStream;
import java.io.*;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@ -801,7 +804,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
//车架号发生变化,重新生成新车买卖合同(欠款)、欠款提车担保承诺书、总经理担保承诺书、
//回购日期发生变化,重新生成欠款提车担保承诺书
if (StringUtils.isBlank(sid)) {
/*//生成新车买卖合同(欠款)
/* //生成新车买卖合同(欠款)
carContractDownloadUrl = carContractDownloadUrl(dto, map);
//生成欠款提车担保承诺书
guaranteeLetterDownloadUrl = guaranteeLetterDownloadUrl(dto, map);
@ -2458,4 +2461,163 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
String url = docPdfComponent.getPrefixTemplateUrl()+createPdf.getAllDownloadUrl();
return rb.success().setData(url);
}
public ResultBean<String> printApplyPdf(String sid) {
ResultBean<String> rb = ResultBean.fireFail();
Map<String,Object> map = new HashMap<>();
ResultBean<AppArrearsCarryInfoVo> resultBean = details(sid);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
BusArrearsCarryVehicleApply busArrearsCarryVehicleApply = fetchBySid(sid);
AppArrearsCarryInfoVo appArrearsCarryInfoVo = resultBean.getData();
map.put("applyName",appArrearsCarryInfoVo.getApplyName());
map.put("applyDept",appArrearsCarryInfoVo.getApplyDept());
map.put("createDate",appArrearsCarryInfoVo.getCreateDate());
map.put("staffName",appArrearsCarryInfoVo.getStaffName());
map.put("staffDeptName",appArrearsCarryInfoVo.getStaffDept());
map.put("paymentMethod",appArrearsCarryInfoVo.getPaymentMethod());
map.put("contractId",appArrearsCarryInfoVo.getContractId());
map.put("openTickName",appArrearsCarryInfoVo.getOpenTickName());
map.put("customerName",appArrearsCarryInfoVo.getCustomerName());
map.put("modelName",appArrearsCarryInfoVo.getModelName());
if("0".equals(appArrearsCarryInfoVo.getIsFinance())){
map.put("isFinance","否");
}else{
map.put("isFinance","是");
}
List<AdCarListVo> adCarListVoList = appArrearsCarryInfoVo.getVinList();
map.put("adCarListVoList",adCarListVoList);
map.put("reasonValue",appArrearsCarryInfoVo.getReasonValue());
map.put("reason",appArrearsCarryInfoVo.getReason());
map.put("contractMoney",appArrearsCarryInfoVo.getContractMoney());
map.put("contractCollectionMoney",appArrearsCarryInfoVo.getContractCollectionMoney());
map.put("commitmentMoneyDate",appArrearsCarryInfoVo.getCommitmentMoneyDate());
List<String> carContract = Arrays.asList(busArrearsCarryVehicleApply.getCarContractFile().split(","));
List<String> carContractList = new ArrayList<>();
for (String image : carContract) {
try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
carContractList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
map.put("carContractList",carContractList);
List<String> guaranteeLetter = Arrays.asList(busArrearsCarryVehicleApply.getGuaranteeLetterFile().split(","));
List<String> guaranteeLetterList = new ArrayList<>();
for (String image : guaranteeLetter) {
try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
guaranteeLetterList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
map.put("guaranteeLetterList",guaranteeLetterList);
List<String> gdLetter = Arrays.asList(busArrearsCarryVehicleApply.getGdLetterFile().split(","));
List<String> gdLetterList = new ArrayList<>();
for (String image : gdLetter) {
try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
gdLetterList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
map.put("gdLetterList",gdLetterList);
List<String> zjlLetter = Arrays.asList(busArrearsCarryVehicleApply.getZjlLetterFile().split(","));
List<String> zjlLetterList = new ArrayList<>();
for (String image : zjlLetter) {
try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
zjlLetterList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
map.put("zjlLetterList",zjlLetterList);
List<String> fileList = Arrays.asList(busArrearsCarryVehicleApply.getOtherFile().split(","));
List<String> fileListList = new ArrayList<>();
for (String image : fileList) {
try {
image = fileUploadComponent.getUrlPrefix()+URLEncoder.encode(image, "utf-8");
String image2Base64 = image2Base64(image);
fileListList.add(image2Base64);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
map.put("fileListList",fileListList);
String url = "";
String ftl = "qktcApply";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
//生成word文件名
String targetPath = docPdfComponent.getUploadTemplateUrl();
String dateStr = DateUtil.format(new Date(), "yyyyMMdd");
long seconds = System.currentTimeMillis();
String typeName = dateStr + seconds + ".doc";
File file = new File(targetPath + ftl + seconds + ".ftl");
File dir = new File(targetPath);
WordConvertUtils.inputStreamToFile(inputStream, file);
WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir);
//新生成的word路径
String wordPath = targetPath + typeName;
//生成合同文件名
String pdfName = "欠款提车审批单_" +appArrearsCarryInfoVo.getContractId() + ".pdf";
WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName);
url = pdfName;
return rb.success().setData(url);
}
public static String image2Base64(String imgUrl) {
URL url = null;
InputStream is = null;
ByteArrayOutputStream outStream = null;
HttpURLConnection httpUrl = null;
try {
url = new URL(imgUrl);
httpUrl = (HttpURLConnection) url.openConnection();
httpUrl.connect();
httpUrl.getInputStream();
is = httpUrl.getInputStream();
outStream = new ByteArrayOutputStream();
//创建一个Buffer字符串
byte[] buffer = new byte[1024];
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while ((len = is.read(buffer)) != -1) {
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
// 对字节数组Base64编码
return Base64.encode(outStream.toByteArray());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (outStream != null) {
try {
outStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (httpUrl != null) {
httpUrl.disconnect();
}
}
return imgUrl;
}
}

12
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/gd2.ftl

@ -1237,7 +1237,17 @@
<w:t></w:t>
</w:r>
<w:pPr>
<w:spacing w:line="283" w:line-rule="auto"/>
<w:tabs>
<w:tab w:val="left" w:pos="5914"/>
</w:tabs>
<w:spacing w:before="75" w:line="264" w:line-rule="auto"/>
<w:ind w:left="5314" w:right="803" w:hanging="2300"/>
<w:rPr>
<w:rFonts w:ascii="仿宋" w:fareast="仿宋" w:h-ansi="仿宋" w:cs="仿宋"/>
<wx:font wx:val="仿宋"/>
<w:sz w:val="23"/>
<w:sz-cs w:val="23"/>
</w:rPr>
</w:pPr>
<w:r>
<w:rPr>

2365
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApply.ftl

File diff suppressed because it is too large

2365
anrui-buscenter/anrui-buscenter-biz/src/main/resources/ftl/qktcApplyOld.ftl

File diff suppressed because it is too large

10
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -1161,16 +1161,10 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
crmAppDisAndCustm.setExtra(crmExtra);
return rb.success().setData(crmAppDisAndCustm);
}
CrmCustomerTemp crmCustomerTemp = fetchBySid(dtoSid);
CrmCustomerTempUpdateDto crmCustomerTempDto = new CrmCustomerTempUpdateDto();
crmCustomerTempDto.setName(name);
BeanUtils.copyProperties(crmCustomerTemp,crmCustomerTempDto);
crmCustomerTempDto.setIDNumber(dto.getTaxpayerNo());
crmCustomerTempDto.setMobile(phone);
crmCustomerTempDto.setUserSid(dto.getCreateBySid());
crmCustomerTempDto.setOrgPath(dto.getOrgSidPath());
crmCustomerTempDto.setCertificateTypeKey("01");
crmCustomerTempDto.setCertificateType("身份证");
crmCustomerTempDto.setCustomerTypeKey("1");
crmCustomerTempDto.setCustomerType("个人");
ResultBean resultBean = updateCrmCustomer(crmCustomerTempDto, dtoSid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/fincompanyinvoicing/FinCompanyInvoicingDetailsVo.java

@ -73,4 +73,8 @@ public class FinCompanyInvoicingDetailsVo implements Vo {
private String purchaseSystemName; // 采购系统名称
@ApiModelProperty("组织全路径")
private String orgSidPath;
@ApiModelProperty("业务员sid")
private String staffSid;
@ApiModelProperty("创建人sid")
private String createBySid;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoice.java

@ -149,4 +149,6 @@ public class FinVehicleInvoice extends BaseEntity {
private String isTakeTicket;
@ApiModelProperty("开票人")
private String drawer;
@ApiModelProperty("移交备注")
private String transferRemarks;
}

16
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDetailsVo.java

@ -62,13 +62,10 @@ public class FinVehicleInvoiceDetailsVo implements Vo {
private String openingBank;
@ApiModelProperty("银行账号")
private String bankNum;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("接收人sid")
private String recipientSid;
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
@ApiModelProperty("移交日期")
private Date transferTime;
@ApiModelProperty("纳税人识别号")
private String taxpayerNo;
@ApiModelProperty("图片地址集合")
@ -86,5 +83,14 @@ public class FinVehicleInvoiceDetailsVo implements Vo {
@ApiModelProperty("业务状态")
private String businessState;
@ApiModelProperty("接收人")
private String recipient;
@ApiModelProperty("接收日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date transferTime;
@ApiModelProperty("移交备注")
private String transferRemarks;
@ApiModelProperty("移交状态")
private String transferState;
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finvehicleinvoice/FinVehicleInvoiceDto.java

@ -125,5 +125,6 @@ public class FinVehicleInvoiceDto implements Dto {
private String isTakeTicket;
@ApiModelProperty("开票人")
private String drawer;
@ApiModelProperty("移交备注")
private String transferRemarks;
}

8
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincompanyinvoicing/FinCompanyInvoicingService.java

@ -390,14 +390,20 @@ public class FinCompanyInvoicingService extends MybatisBaseService<FinCompanyInv
public ResultBean<FinCompanyInvoicingDetailsVo> qyAppFetchDetailsBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
FinCompanyInvoicingDetailsVo finCompanyInvoicingDetailsVo = fetchDetailsVoBySid(sid);
if (finCompanyInvoicingDetailsVo != null) {
if (StringUtils.isNotBlank(finCompanyInvoicingDetailsVo.getSid())) {
return rb.success().setData(finCompanyInvoicingDetailsVo);
}
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(sid).getData();
if (crmCustomerTempVo == null){
return rb.setMsg("该开票名称不存在,请重新选择");
}
finCompanyInvoicingDetailsVo.setSid(crmCustomerTempVo.getSid());
finCompanyInvoicingDetailsVo.setName(crmCustomerTempVo.getName());
finCompanyInvoicingDetailsVo.setPhone(crmCustomerTempVo.getMobile());
finCompanyInvoicingDetailsVo.setTaxpayerNo(crmCustomerTempVo.getIDNumber());
finCompanyInvoicingDetailsVo.setStaffSid(crmCustomerTempVo.getStaffSid());
finCompanyInvoicingDetailsVo.setCreateBySid(crmCustomerTempVo.getCreateBySid());
finCompanyInvoicingDetailsVo.setStaffSid(crmCustomerTempVo.getStaffSid());
return rb.success().setData(finCompanyInvoicingDetailsVo);
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finvehicleinvoice/FinVehicleInvoiceMapper.xml

@ -182,7 +182,9 @@
v.transferTime,
v.bankNum,
v.taxpayerNo,
v.isTakeTicket
v.isTakeTicket,
v.transferRemarks,
v.transferState
FROM fin_vehicle_invoice AS v
LEFT JOIN anrui_portal.sys_user AS u ON v.createBySid = u.sid
LEFT JOIN anrui_portal.sys_staffinfo AS si ON u.staffSid = si.sid

Loading…
Cancel
Save