Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
0d91f7e688
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicle.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDetailsVo.java
  3. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDto.java
  4. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleVo.java
  5. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java
  6. 26
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleBuyoutDetails.java
  7. 8
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  8. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  9. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java
  10. 92
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java
  11. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java
  12. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java
  13. 128
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  14. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  15. 14
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  16. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  17. 57
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  18. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml
  19. 7
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue
  20. 3
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  21. 2
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue
  22. 3
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue
  23. 96
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue
  24. 112
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMaiInfo.vue
  25. 236
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue
  26. 1
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicle.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* Project: anrui-base(内申请管理) <br/> * Project: anrui-base(内申请管理) <br/>
* File: BaseInternalPurchaseVehicle.java <br/> * File: BaseInternalPurchaseVehicle.java <br/>
@ -82,4 +84,6 @@ public class BaseInternalPurchaseVehicle extends BaseEntity {
private String isAccadj; // 是否调账(0未调账,1已调账) private String isAccadj; // 是否调账(0未调账,1已调账)
@ApiModelProperty("是否开票(0未开票,1已开票)") @ApiModelProperty("是否开票(0未开票,1已开票)")
private String isInvoicing; // 是否开票(0未开票,1已开票) private String isInvoicing; // 是否开票(0未开票,1已开票)
@ApiModelProperty("销售指导价")
private BigDecimal guidedPrice; // 销售指导价
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDetailsVo.java

@ -95,6 +95,8 @@ public class BaseInternalPurchaseVehicleDetailsVo implements Vo {
private String sellerOrgName; private String sellerOrgName;
@ApiModelProperty("调出分公司sid") @ApiModelProperty("调出分公司sid")
private String sellerOrgSid; private String sellerOrgSid;
@ApiModelProperty("销售指导价")
private String guidedPrice; // 销售指导价
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String remarks; private String remarks;
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleDto.java

@ -85,4 +85,6 @@ public class BaseInternalPurchaseVehicleDto implements Dto {
private String isAccadj; // 是否调账(0未调账,1已调账) private String isAccadj; // 是否调账(0未调账,1已调账)
@ApiModelProperty("是否开票(0未开票,1已开票)") @ApiModelProperty("是否开票(0未开票,1已开票)")
private String isInvoicing; // 是否开票(0未开票,1已开票) private String isInvoicing; // 是否开票(0未开票,1已开票)
@ApiModelProperty("销售指导价")
private String guidedPrice; // 销售指导价
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleVo.java

@ -87,4 +87,6 @@ public class BaseInternalPurchaseVehicleVo implements Vo {
private String isAccadj; // 是否调账(0未调账,1已调账) private String isAccadj; // 是否调账(0未调账,1已调账)
@ApiModelProperty("是否开票(0未开票,1已开票)") @ApiModelProperty("是否开票(0未开票,1已开票)")
private String isInvoicing; // 是否开票(0未开票,1已开票) private String isInvoicing; // 是否开票(0未开票,1已开票)
@ApiModelProperty("销售指导价")
private String guidedPrice; // 销售指导价
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java

@ -74,6 +74,8 @@ public class BaseOutsourcingApplicationDetailsVo implements Vo {
private String modelName; // 车型名称 private String modelName; // 车型名称
@ApiModelProperty("常用配置名称") @ApiModelProperty("常用配置名称")
private String configName; // 常用配置名称 private String configName; // 常用配置名称
@ApiModelProperty("常用配置Sid")
private String configSid; // 常用配置名称
@ApiModelProperty("采购价格") @ApiModelProperty("采购价格")
private String purchasePrice; // 采购价格 private String purchasePrice; // 采购价格
@ApiModelProperty("销售指导价") @ApiModelProperty("销售指导价")

26
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleBuyoutDetails.java

@ -0,0 +1,26 @@
package com.yxt.anrui.base.api.basevehicle;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 买断信息详情
*/
@Data
public class BaseVehicleBuyoutDetails {
/**
* 车架号
*/
private String vinNo;
/**
* 买断日期
*/
private String solidDate;
/**
* 买断证明
*/
private String path ;
}

8
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -196,6 +196,14 @@ public interface BaseVehicleFeign {
@GetMapping("/getBusDepositVehByVehSid/{vehicleSid}") @GetMapping("/getBusDepositVehByVehSid/{vehicleSid}")
public ResultBean<BusDepositVehListVo> getBusDepositVehByVehSid(@PathVariable("vehicleSid") String vehicleSid); public ResultBean<BusDepositVehListVo> getBusDepositVehByVehSid(@PathVariable("vehicleSid") String vehicleSid);
@ApiOperation("是否允许买断")
@GetMapping("/isBuyoutAllowed/{vehicleSid}")
public ResultBean isBuyoutAllowed(@PathVariable("vehicleSid") String vehicleSid);
@ApiOperation("买断详情")
@GetMapping("/buyoutDetails/{vehicleSid}")
public ResultBean<BaseVehicleBuyoutDetails> buyoutDetails(@PathVariable("vehicleSid") String vehicleSid);
/** /**
* 车型详细配置接口 * 车型详细配置接口
* *

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -111,6 +111,16 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null; return null;
} }
@Override
public ResultBean isBuyoutAllowed(String vehicleSid) {
return null;
}
@Override
public ResultBean buyoutDetails(String vehicleSid) {
return null;
}
@Override @Override
public ResultBean<ExiCarConfigDetailVo> selectExiCarConfig(String modelSid, String configSid, String vehModelConfigSid) { public ResultBean<ExiCarConfigDetailVo> selectExiCarConfig(String modelSid, String configSid, String vehModelConfigSid) {
return null; return null;

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleReturnVo.java

@ -23,7 +23,7 @@ public class BaseVehicleReturnVo implements Vo {
private String color; private String color;
@ApiModelProperty(value = "存放地点") @ApiModelProperty(value = "存放地点")
private String location; private String location;
@ApiModelProperty(value = "销售指导价") @ApiModelProperty(value = "厂家结算价")
private String guidedPrice; private String guidedPrice;
@ApiModelProperty(value = "常用配置") @ApiModelProperty(value = "常用配置")

92
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java

@ -40,11 +40,14 @@ import com.yxt.anrui.base.api.basemodelmodprice.flow.SubmitBaseModelModPriceDto;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto; import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto; import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDto; import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo; import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService; import com.yxt.anrui.base.biz.baseinternalpurchasevehicle.BaseInternalPurchaseVehicleService;
import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService; import com.yxt.anrui.base.biz.basevehicle.BaseVehicleService;
import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService;
import com.yxt.anrui.base.common.enums.BillTypeEnum; import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.ManPurOrderType; import com.yxt.anrui.base.common.enums.ManPurOrderType;
import com.yxt.anrui.base.common.enums.VehicleState; import com.yxt.anrui.base.common.enums.VehicleState;
@ -80,6 +83,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -120,6 +124,8 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
private ScmVehicleExamineFeign scmVehicleExamineFeign; private ScmVehicleExamineFeign scmVehicleExamineFeign;
@Autowired @Autowired
private ScmVehinspectItemFeign scmVehinspectItemFeign; private ScmVehinspectItemFeign scmVehinspectItemFeign;
@Autowired
private BaseVehmodelConfigService baseVehmodelConfigService;
private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) { private QueryWrapper<BaseInternalPurchase> createQueryWrapper(BaseInternalPurchaseQuery query) {
// todo: 这里根据具体业务调整查询条件 // todo: 这里根据具体业务调整查询条件
@ -368,31 +374,41 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid()); BaseInternalPurchase baseInternalPurchase = fetchBySid(bv.getBusinessSid());
Map<String, Object> formVariables = bv.getFormVariables(); Map<String, Object> formVariables = bv.getFormVariables();
if (formVariables != null) { if (formVariables != null) {
String sellerOrgSid = formVariables.get("sellerOrgSid").toString(); if (baseInternalPurchase.getShuntingTypeValue().equals("调入")) {
List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles"); String sellerOrgSid = formVariables.get("sellerOrgSid").toString();
for (int i = 0; i < l.size(); i++) { List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles");
Map<String, Object> map = l.get(i); for (int i = 0; i < l.size(); i++) {
String sid = map.get("sid").toString(); Map<String, Object> map = l.get(i);
String vinNo = map.get("vinNo").toString(); String sid = map.get("sid").toString();
String inventoryLocationSid = map.get("inventoryLocationSid").toString(); String vinNo = map.get("vinNo").toString();
String inventoryLocationName = map.get("inventoryLocationName").toString(); String inventoryLocationSid = map.get("inventoryLocationSid").toString();
String modelSid = map.get("vehicleSid").toString(); String inventoryLocationName = map.get("inventoryLocationName").toString();
String configSid = map.get("configSid").toString(); String modelSid = map.get("vehicleSid").toString();
if (StringUtils.isBlank(vinNo)) { String configSid = map.get("configSid").toString();
return rb.setMsg("请填写车架号"); if (StringUtils.isBlank(vinNo)) {
} return rb.setMsg("请填写车架号");
Map<String, String> map1 = baseVehicleService.checkVinNo(vinNo, modelSid, configSid, sellerOrgSid); }
if (map1 == null) { Map<String, String> map1 = baseVehicleService.checkVinNo(vinNo, modelSid, configSid, sellerOrgSid);
return rb.setMsg("填写的车架号不存在"); if (map1 == null) {
} return rb.setMsg("填写的车架号不存在");
if (StringUtils.isBlank(inventoryLocationSid)) { }
return rb.setMsg("请选择存放地点"); if (StringUtils.isBlank(inventoryLocationSid)) {
return rb.setMsg("请选择存放地点");
}
String s = map1.get("locationSid");
if (!inventoryLocationSid.equals(s)) {
return rb.setMsg("选择的存放地点不正确");
}
baseInternalPurchaseVehicleService.updateVinNoBySid(sid, vinNo, inventoryLocationSid, inventoryLocationName);
} }
String s = map1.get("locationSid"); } else if (baseInternalPurchase.getShuntingTypeValue().equals("调出")) {
if (!inventoryLocationSid.equals(s)) { List<Map<String, Object>> l = ConstantUtils.getListData(formVariables, "baseInternalPurchaseVehicles");
return rb.setMsg("选择的存放地点不正确"); for (int i = 0; i < l.size(); i++) {
Map<String, Object> map = l.get(i);
String sid = map.get("sid").toString();
String guidedPrice = map.get("guidedPrice").toString();
baseInternalPurchaseVehicleService.updateGuidedPriceBySid(sid, guidedPrice);
} }
baseInternalPurchaseVehicleService.updateVinNoBySid(sid, vinNo, inventoryLocationSid, inventoryLocationName);
} }
} }
if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) { if (bv.getTaskId().equals(baseInternalPurchase.getTaskId())) {
@ -404,6 +420,7 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(bv.getBusinessSid()); List<BaseInternalPurchaseVehicleVo> baseInternalPurchaseVehicleVos = baseInternalPurchaseVehicleService.fetchByMainSid(bv.getBusinessSid());
for (BaseInternalPurchaseVehicleVo booad : baseInternalPurchaseVehicleVos) { for (BaseInternalPurchaseVehicleVo booad : baseInternalPurchaseVehicleVos) {
//验车推送数据
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto(); ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto();
scmEntryVehicleExamineDto.setBusinessSid(booad.getMainSid()); scmEntryVehicleExamineDto.setBusinessSid(booad.getMainSid());
//配置的名称 //配置的名称
@ -427,6 +444,35 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto(); ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto();
scmVehinspectItemDto.setVehInspectSid(resultBean1.getData()); scmVehinspectItemDto.setVehInspectSid(resultBean1.getData());
scmVehinspectItemFeign.save(scmVehinspectItemDto); scmVehinspectItemFeign.save(scmVehinspectItemDto);
//根据调车类型,判断车辆与配置关联表是否存在
if (baseInternalPurchase.getShuntingTypeValue().equals("调入")) {
String vehicleSid = booad.getVehicleSid();
String configSid = booad.getConfigSid();
String buyerOrgSid = baseInternalPurchase.getBuyerOrgSid();
ResultBean<BaseVehmodelVo> baseVehmodelVoResultBean = baseVehmodelConfigService.selectOne(vehicleSid, configSid, buyerOrgSid);
BaseVehmodelVo baseVehmodelVo = baseVehmodelVoResultBean.getData();
if (baseVehmodelVo == null){
BaseVehmodelConfig baseVehmodelConfig = new BaseVehmodelConfig();
baseVehmodelConfig.setModelSid(vehicleSid);
baseVehmodelConfig.setConfigurationItemsSid(configSid);
baseVehmodelConfig.setUseOrgSid(buyerOrgSid);
baseVehmodelConfigService.save(baseVehmodelConfig);
}
}else if (baseInternalPurchase.getShuntingTypeValue().equals("调出")){
String vehicleSid = booad.getVehicleSid();
String configSid = booad.getConfigSid();
String buyerOrgSid = baseInternalPurchase.getBuyerOrgSid();
ResultBean<BaseVehmodelVo> baseVehmodelVoResultBean = baseVehmodelConfigService.selectOne(vehicleSid, configSid, buyerOrgSid);
BaseVehmodelVo baseVehmodelVo = baseVehmodelVoResultBean.getData();
if (baseVehmodelVo == null){
BaseVehmodelConfig baseVehmodelConfig = new BaseVehmodelConfig();
baseVehmodelConfig.setModelSid(vehicleSid);
baseVehmodelConfig.setConfigurationItemsSid(configSid);
baseVehmodelConfig.setUseOrgSid(buyerOrgSid);
baseVehmodelConfig.setGuidedPrice(new BigDecimal(booad.getGuidedPrice()));
baseVehmodelConfigService.save(baseVehmodelConfig);
}
}
} }
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleMapper.java

@ -69,4 +69,7 @@ public interface BaseInternalPurchaseVehicleMapper extends BaseMapper<BaseIntern
@Update("update base_internal_purchase_vehicle set vinNo = #{vinNo},inventoryLocationSid =#{inventoryLocationSid},inventoryLocationName = #{inventoryLocationName} where sid = #{sid}") @Update("update base_internal_purchase_vehicle set vinNo = #{vinNo},inventoryLocationSid =#{inventoryLocationSid},inventoryLocationName = #{inventoryLocationName} where sid = #{sid}")
int updateVinNoBySid(@Param("sid") String sid,@Param("vinNo") String vinNo,@Param("inventoryLocationSid") String inventoryLocationSid,@Param("inventoryLocationName") String inventoryLocationName); int updateVinNoBySid(@Param("sid") String sid,@Param("vinNo") String vinNo,@Param("inventoryLocationSid") String inventoryLocationSid,@Param("inventoryLocationName") String inventoryLocationName);
@Update("update base_internal_purchase_vehicle set guidedPrice = #{guidedPrice} where sid = #{sid}")
int updateGuidedPriceBySid(@Param("sid") String sid,@Param("guidedPrice") String guidedPrice);
} }

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchasevehicle/BaseInternalPurchaseVehicleService.java

@ -119,4 +119,8 @@ public class BaseInternalPurchaseVehicleService extends MybatisBaseService<BaseI
public int updateVinNoBySid(String sid, String vinNo,String inventoryLocationSid,String inventoryLocationName) { public int updateVinNoBySid(String sid, String vinNo,String inventoryLocationSid,String inventoryLocationName) {
return baseMapper.updateVinNoBySid(sid,vinNo,inventoryLocationSid,inventoryLocationName); return baseMapper.updateVinNoBySid(sid,vinNo,inventoryLocationSid,inventoryLocationName);
} }
public int updateGuidedPriceBySid(String sid, String guidedPrice) {
return baseMapper.updateGuidedPriceBySid(sid,guidedPrice);
}
} }

128
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -85,6 +85,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -219,7 +220,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
baseOutsourcingApplicationVehicle.setOutAppSid(sid1); baseOutsourcingApplicationVehicle.setOutAppSid(sid1);
baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle); baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle);
} }
if(contract!=null){ if(contract!=null&& com.yxt.common.base.utils.StringUtils.isNotBlank(contract.getFilePath())){
contract.setLinkSid(entity.getSid()); contract.setLinkSid(entity.getSid());
contract.setFileType( contract.getFileName().substring( contract.setFileType( contract.getFileName().substring(
contract.getFileName().lastIndexOf("."),contract.getFileName().length())); contract.getFileName().lastIndexOf("."),contract.getFileName().length()));
@ -432,55 +433,21 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData()); Map<String, Object> stringObjectMap = BeanUtil.beanToMap(rb.getData());
updateFlowFiled(stringObjectMap); updateFlowFiled(stringObjectMap);
if ("Event_end".equals(taskDefKey)) { if ("Event_end".equals(taskDefKey)) {
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); BigDecimal deposit = booad.getDeposit();
finPaymentrecordDto.setApplySid(bv.getBusinessSid()); if(deposit!=null){
//付款单位sid if(deposit.doubleValue()>0){
finPaymentrecordDto.setPayCompanySid(booad.getUseOrgSid()); // 推送 传达款的数据
//"付款类别,1付款/2退款" sendFinPaymentrecord(bv, booad);
finPaymentrecordDto.setPayType(1); }
finPaymentrecordDto.setCreateOrgSid(booad.getUseOrgSid()); }
finPaymentrecordDto.setUseOrgSid(booad.getUseOrgSid());
//款项名称,数据字典 车款
finPaymentrecordDto.setCostTitleKey("1");
//款项名称,数据字典
finPaymentrecordDto.setCostTitleValue("车款");
//款项类别 外采
finPaymentrecordDto.setCostTypeValue(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());
//款项类别
finPaymentrecordDto.setCostTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode());
//收款单位名称
finPaymentrecordDto.setReceiveCompany(booad.getPurchasingUnitName());
//收款银行账号
finPaymentrecordDto.setReceiveBankAccount(booad.getBankAccount());
finPaymentrecordDto.setCost(Integer.parseInt(booad.getTotalExpenseAmount().toString()));
//业务编号
finPaymentrecordDto.setBusSid("");
finPaymentrecordFeign.save(finPaymentrecordDto);
//验车数据推送
// List<BaseOutsourcingApplicationVehicleVo> baseOutsourcingApplicationVehicleVos = baseOutsourcingApplicationVehicleService.fetchByOutAppSid(bv.getBusinessSid());
// for (BaseOutsourcingApplicationVehicleVo baseOutsourcingApplicationVehicleVo : baseOutsourcingApplicationVehicleVos) {
for (int i=0;i<booad.getNum();i++) { for (int i=0;i<booad.getNum();i++) {
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto(); //验车业务模块的数据推送
//外采sid ResultBean<String> resultBean1 = sendScmVehicleExamine(booad);
scmEntryVehicleExamineDto.setBusinessSid(booad.getSid());
//配置的名称
scmEntryVehicleExamineDto.setConfigName(booad.getConfigName());
scmEntryVehicleExamineDto.setConfigSid(booad.getConfigSid());
scmEntryVehicleExamineDto.setModelName(booad.getModelName());
scmEntryVehicleExamineDto.setModelSid(booad.getModelSid());
//订单类型
scmEntryVehicleExamineDto.setPurchaseTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode());
scmEntryVehicleExamineDto.setPurchaseType(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());
scmEntryVehicleExamineDto.setUserSid(booad.getCreateBySid());
scmEntryVehicleExamineDto.setVinNo("");
scmEntryVehicleExamineDto.setInspectionResult("1");
ResultBean<String> resultBean1 = scmVehicleExamineFeign.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto);
if (!resultBean1.getSuccess()) { if (!resultBean1.getSuccess()) {
return rb.setMsg("验车业务模块的数据推送失败!"); return rb.setMsg("验车业务模块的数据推送失败!");
} }
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto(); //验车单业务模块的数据推送
scmVehinspectItemDto.setVehInspectSid(resultBean1.getData()); ResultBean resultBean = sendVehinspectItem(resultBean1);
ResultBean resultBean = scmVehinspectItemFeign.save(scmVehinspectItemDto);
if (!resultBean.getSuccess()) { if (!resultBean.getSuccess()) {
return rb.setMsg("验车单业务模块的数据推送失败!"); return rb.setMsg("验车单业务模块的数据推送失败!");
} }
@ -492,6 +459,75 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
} }
} }
/**
* 验车单业务模块的数据推送
* @param resultBean1
* @return
*/
public ResultBean sendVehinspectItem(ResultBean<String> resultBean1) {
ScmVehinspectItemDto scmVehinspectItemDto = new ScmVehinspectItemDto();
scmVehinspectItemDto.setVehInspectSid(resultBean1.getData());
ResultBean resultBean = scmVehinspectItemFeign.save(scmVehinspectItemDto);
return resultBean;
}
/**
* 验车业务模块的数据推送
* @param booad
* @return
*/
public ResultBean<String> sendScmVehicleExamine(BaseOutsourcingApplication booad) {
ScmEntryVehicleExamineDto scmEntryVehicleExamineDto = new ScmEntryVehicleExamineDto();
//外采sid
scmEntryVehicleExamineDto.setBusinessSid(booad.getSid());
//配置的名称
scmEntryVehicleExamineDto.setConfigName(booad.getConfigName());
scmEntryVehicleExamineDto.setConfigSid(booad.getConfigSid());
scmEntryVehicleExamineDto.setModelName(booad.getModelName());
scmEntryVehicleExamineDto.setModelSid(booad.getModelSid());
//订单类型
scmEntryVehicleExamineDto.setPurchaseTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode());
scmEntryVehicleExamineDto.setPurchaseType(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());
scmEntryVehicleExamineDto.setUserSid(booad.getCreateBySid());
scmEntryVehicleExamineDto.setVinNo("");
scmEntryVehicleExamineDto.setInspectionResult("1");
ResultBean<String> resultBean1 = scmVehicleExamineFeign.saveEntryCarInspectedInfo(scmEntryVehicleExamineDto);
return resultBean1;
}
/**
* 推送 传达款的数据
* @param bv
* @param booad
*/
public void sendFinPaymentrecord(BusinessVariables bv, BaseOutsourcingApplication booad) {
FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto();
finPaymentrecordDto.setApplySid(bv.getBusinessSid());
//付款单位sid
finPaymentrecordDto.setPayCompanySid(booad.getUseOrgSid());
//"付款类别,1付款/2退款"
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(booad.getUseOrgSid());
finPaymentrecordDto.setUseOrgSid(booad.getUseOrgSid());
//款项名称,数据字典 车款
finPaymentrecordDto.setCostTitleKey("1");
//款项名称,数据字典
finPaymentrecordDto.setCostTitleValue("车款");
//款项类别 外采
finPaymentrecordDto.setCostTypeValue(ManPurOrderType.ManOrderType.WC_ORDER.getRemarks());
//款项类别
finPaymentrecordDto.setCostTypeKey(ManPurOrderType.ManOrderType.WC_ORDER.getCode());
//收款单位名称
finPaymentrecordDto.setReceiveCompany(booad.getPurchasingUnitName());
//收款银行账号
finPaymentrecordDto.setReceiveBankAccount(booad.getBankAccount());
finPaymentrecordDto.setCost(booad.getTotalExpenseAmount().intValue());
//业务编号
finPaymentrecordDto.setBusSid("");
finPaymentrecordFeign.save(finPaymentrecordDto);
}
/** /**
* 更新流程相关的状态 * 更新流程相关的状态
* *

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -376,9 +376,9 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
String selectImage(String vehicleSid); String selectImage(String vehicleSid);
List<AppScmWarehouseVinVo> getVinByWarehouseSid(@Param("warehouseSid") String warehouseSid); List<AppScmWarehouseVinVo> getVinByWarehouseSid(@Param("warehouseSid") String warehouseSid,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
List<AppScmInventoryRecordsVo> selectInventoryRecords(@Param("userOrgSid") String userOrgSid); List<AppScmInventoryRecordsVo> selectInventoryRecords(@Param("userOrgSid") String userOrgSid,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
List<BaseExistingCarListVo> selExistingCar(@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw); List<BaseExistingCarListVo> selExistingCar(@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);

14
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -552,13 +552,15 @@
(SELECT count(*) (SELECT count(*)
FROM base_vehicle bv FROM base_vehicle bv
WHERE bv.modelSid = bvm.sid WHERE bv.modelSid = bvm.sid
AND bv.vehicleStateValue = "库存"
OR bv.vehicleStateValue = "在途"
AND lockedState = #{lockedStateKey} AND lockedState = #{lockedStateKey}
AND bv.useOrgSid = AND bv.useOrgSid =
#{useOrgSid}) AS nowCarNum, #{useOrgSid}) AS nowCarNum,
(select SUM(distinct cast((cast(bo.platformNo as signed)-IFNULL(cast(bo.lockingNum as signed),'0')) as signed)) (select SUM(distinct cast((cast(bo.platformNo as signed)-IFNULL(cast(bo.lockingNum as signed),'0')) as signed))
as quantity from bus_vehicle_order bo as quantity from bus_vehicle_order bo
LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid LEFT JOIN bus_vehicle_apply_detail bd on bo.purchaseRequisitionSid = bd.applySid
where bo.useOrgSid = #{useOrgSid} AND bd.vehicleSid = bvm.sid) AS produceCarNum where bo.useOrgSid = #{useOrgSid} AND bd.vehicleSid = bvm.sid AND bo.state = 0) AS produceCarNum
FROM base_vehicle_model bvm FROM base_vehicle_model bvm
LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid LEFT JOIN base_vehmodel_config bvc ON bvm.sid = bvc.modelSid
left join base_vehicle_brand bb on bb.sid = bvm.carBrand left join base_vehicle_brand bb on bb.sid = bvm.carBrand
@ -868,7 +870,10 @@
<select id="getVinByWarehouseSid" resultType="com.yxt.anrui.base.api.basevehicle.AppScmWarehouseVinVo"> <select id="getVinByWarehouseSid" resultType="com.yxt.anrui.base.api.basevehicle.AppScmWarehouseVinVo">
select vinNo as vin select vinNo as vin
from base_vehicle bv from base_vehicle bv
where bv.location = #{warehouseSid} <where>
${ew.sqlSegment}
and bv.location = #{warehouseSid}
</where>
</select> </select>
<select id="selectInventoryRecords" <select id="selectInventoryRecords"
@ -880,7 +885,10 @@
modelSid, modelSid,
modelName modelName
from base_vehicle bv from base_vehicle bv
where bv.createOrgSid = #{userOrgSid} <where>
${ew.sqlSegment}
bv.createOrgSid = #{userOrgSid} and bv.isDelete = 1
</where>
</select> </select>
<select id="selExistingCar" resultType="com.yxt.anrui.base.api.basevehicle.BaseExistingCarListVo"> <select id="selExistingCar" resultType="com.yxt.anrui.base.api.basevehicle.BaseExistingCarListVo">

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -360,6 +360,16 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return baseVehicleService.getBusDepositVehByVehSid(vehicleSid); return baseVehicleService.getBusDepositVehByVehSid(vehicleSid);
} }
@Override
public ResultBean isBuyoutAllowed(String vehicleSid) {
return baseVehicleService.isBuyoutAllowed(vehicleSid);
}
@Override
public ResultBean<BaseVehicleBuyoutDetails> buyoutDetails(String vehicleSid) {
return baseVehicleService.buyoutDetails(vehicleSid);
}
/** /**
* 车型详细配置接口 * 车型详细配置接口

57
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -13,6 +13,7 @@ import com.yxt.anrui.base.api.basevehicle.app.AppBaseVehicleOrderVo;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix; import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum; import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService; import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService; import com.yxt.anrui.base.biz.basevehicleappendix.BaseVehicleAppendixService;
@ -1557,7 +1558,14 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public ResultBean<List<AppScmWarehouseVinVo>> getVinByWarehouseSid(String warehouseSid, String userSid) { public ResultBean<List<AppScmWarehouseVinVo>> getVinByWarehouseSid(String warehouseSid, String userSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<AppScmWarehouseVinVo> list = baseMapper.getVinByWarehouseSid(warehouseSid); QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
if (StringUtils.isNotBlank(resultBean.getData())) {
qw.eq("bv.createOrgSid", resultBean.getData());
}
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode());
qw.and(wrapper -> wrapper.eq("bv.witPinState", VehicleState.ShuntingEnum.UN_SHUNTING.getCode()).or().eq("bv.witPinState", VehicleState.ShuntingEnum.WITPURCHASE));
List<AppScmWarehouseVinVo> list = baseMapper.getVinByWarehouseSid(warehouseSid,qw);
if (list.size() <= 0) { if (list.size() <= 0) {
return rb.setMsg("该存放地点,暂无车辆"); return rb.setMsg("该存放地点,暂无车辆");
} }
@ -1567,7 +1575,10 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
public ResultBean<List<AppScmInventoryRecordsVo>> selectInventoryRecords(String userSid) { public ResultBean<List<AppScmInventoryRecordsVo>> selectInventoryRecords(String userSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String userOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); String userOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
List<AppScmInventoryRecordsVo> list = baseMapper.selectInventoryRecords(userOrgSid); //条件:本分公司、非删除、库存或采购退库中
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
qw.and(wrapper -> wrapper.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.RETURNING_STOCK.getCode()));
List<AppScmInventoryRecordsVo> list = baseMapper.selectInventoryRecords(userOrgSid,qw);
return rb.success().setData(list); return rb.success().setData(list);
} }
@ -1659,7 +1670,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
qw.eq("bv.createOrgSid", params.getUseOrgSid()); qw.eq("bv.createOrgSid", params.getUseOrgSid());
} }
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()); qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode());
qw.and(wrapper -> wrapper.eq("bv.witPinState", VehicleState.ShuntingEnum.UN_SHUNTING.getCode()).or().eq("bv.witPinState", VehicleState.ShuntingEnum.WITPURCHASE)); qw.and(wrapper -> wrapper.eq("bv.witPinState", VehicleState.ShuntingEnum.UN_SHUNTING.getCode()).or().eq("bv.witPinState", VehicleState.ShuntingEnum.WITPURCHASE.getCode()));
IPage<AppScmWarehouseVinVo> iPage = baseMapper.getPcVinByWarehouseSid(page, qw, params.getWarehouseSid()); IPage<AppScmWarehouseVinVo> iPage = baseMapper.getPcVinByWarehouseSid(page, qw, params.getWarehouseSid());
return iPage; return iPage;
} }
@ -2024,4 +2035,44 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
baseVehicle.setWitPinStateValue(dto.getWitPinStateValue()); baseVehicle.setWitPinStateValue(dto.getWitPinStateValue());
} }
} }
/**
* 是否允许买断
* @param vehicleSid
* @return
*/
public ResultBean isBuyoutAllowed(String vehicleSid) {
ResultBean rb = ResultBean.fireFail();
BaseVehicleSelectVo details = baseMapper.details(vehicleSid);
Date salesDate= details.getSalesDate();
String settlementStatus = details.getSettlementStatus();
if(salesDate!=null&&VehicleState.BuyoutEnum.PRE_BUYOUT.equals(settlementStatus)){
return rb.success().setData(true);
}
return rb.success().setData(false);
}
/**
* 查询买断详情
* @param vehicleSid 车辆sid
* @return
*/
public ResultBean<BaseVehicleBuyoutDetails> buyoutDetails(String vehicleSid) {
BaseVehicleSelectVo details = baseMapper.details(vehicleSid);
BaseVehicleBuyoutDetails bbd=new BaseVehicleBuyoutDetails();
ResultBean<BaseVehicleBuyoutDetails> rb=ResultBean.fireFail();
if(details!=null){
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
bbd.setSolidDate(sdf.format(details.getSolidDate()));
bbd.setVinNo(details.getVinNo());
List<CommonAppendixVo> commonAppendixVos = commonAppendixService.selByLinkSid(vehicleSid);
if(commonAppendixVos.size()>0){
String filePath = commonAppendixVos.get(0).getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
bbd.setPath(urlPrefix + filePath);
}
return rb.setSuccess(true).setData(bbd);
}
return rb.setMsg("车辆信息不存在!");
}
} }

1
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehiclecertificate/BaseVehicleCertificateMapper.xml

@ -30,6 +30,7 @@
bvc.transferStateValue bvc.transferStateValue
FROM base_vehicle_certificate bvc FROM base_vehicle_certificate bvc
${ew.customSqlSegment} ${ew.customSqlSegment}
order by bvc.createTime desc
</select> </select>
<select id="selectListAllVo" resultType="com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo"> <select id="selectListAllVo" resultType="com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo">

7
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue

@ -258,6 +258,9 @@ export default {
case 'doExport': case 'doExport':
this.doExport() this.doExport()
break break
case 'doClose':
this.doClose()
break
default: default:
break break
} }
@ -398,6 +401,10 @@ export default {
}) })
.catch(() => {}) .catch(() => {})
}, },
doClose(){
this.$store.dispatch('tagsView/delView', this.$route);
this.$router.go(-1)
},
dosearch() { dosearch() {
this.queryParams.current = 1 this.queryParams.current = 1
this.loadList() this.loadList()

3
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue

@ -208,7 +208,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>合同附件</span> <span>合同附件</span>
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item> <el-form-item>
@ -586,6 +586,7 @@ export default {
_this.formobj.modelSid = vdata.modelSid // sid _this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName // _this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName // _this.formobj.configName = vdata.configName //
_this.formobj.configSid = vdata.configSid // sid
_this.formobj.purchasePrice = vdata.purchasePrice // _this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice // _this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice // _this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //

2
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue

@ -146,7 +146,7 @@
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item> <el-form-item>
<span v-show="formobj.contract !== null" <span v-if="formobj.contract != null"
class="bluezi" @click="handleDown(formobj.contract)">{{ formobj.contract.fileName }}</span> class="bluezi" @click="handleDown(formobj.contract)">{{ formobj.contract.fileName }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>

3
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue

@ -208,7 +208,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="3" class="tleftb"> <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>合同附件</span> <span>合同附件</span>
</el-col> </el-col>
<el-col :span="21"> <el-col :span="21">
<el-form-item> <el-form-item>
@ -586,6 +586,7 @@ export default {
_this.formobj.modelSid = vdata.modelSid // sid _this.formobj.modelSid = vdata.modelSid // sid
_this.formobj.modelName = vdata.modelName // _this.formobj.modelName = vdata.modelName //
_this.formobj.configName = vdata.configName // _this.formobj.configName = vdata.configName //
_this.formobj.configSid = vdata.configSid // sid
_this.formobj.purchasePrice = vdata.purchasePrice // _this.formobj.purchasePrice = vdata.purchasePrice //
_this.formobj.guidedPrice = vdata.guidedPrice // _this.formobj.guidedPrice = vdata.guidedPrice //
_this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice // _this.formobj.manufactorSettlementPrice = vdata.manufactorSettlementPrice //

96
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/cheliangtaizhang.vue

@ -65,31 +65,35 @@
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column prop="locationName" width="140" label="存放地点" align="center"/> <el-table-column prop="locationName" width="140" label="存放地点" align="center"/>
<el-table-column prop="vehicleStateValue" width="100" label="库存状态" align="center"/> <el-table-column prop="vehicleStateValue" width="100" label="库存状态" align="center"/>
<el-table-column prop="priceDate" width="130" label="厂家入库日期" align="center" /> <el-table-column prop="priceDate" width="130" label="厂家入库日期" align="center"/>
<el-table-column prop="arrivalDate" width="130" label="到货日期" align="center"/> <el-table-column prop="arrivalDate" width="130" label="到货日期" align="center"/>
<el-table-column prop="configName" width="460" label="常用配置名称" align="left" header-align="center" /> <el-table-column prop="configName" width="460" label="常用配置名称" align="left" header-align="center"/>
<el-table-column prop="contractPrice" width="130" label="厂家合同价" align="center" /> <el-table-column prop="contractPrice" width="130" label="厂家合同价" align="center"/>
<el-table-column prop="costPrice" width="130" label="厂家结算价" align="center" /> <el-table-column prop="costPrice" width="130" label="厂家结算价" align="center"/>
<el-table-column prop="createOrgName" width="130" label="创建组织名称" align="center" /> <el-table-column prop="createOrgName" width="130" label="创建组织名称" align="center"/>
<el-table-column prop="departureDate" width="130" label="发车日期" align="center" /> <el-table-column prop="departureDate" width="130" label="发车日期" align="center"/>
<el-table-column prop="freight" width="130" label="运费" align="center" /> <el-table-column prop="freight" width="130" label="运费" align="center"/>
<el-table-column prop="guidedPrice" width="130" label="销售指导价" align="center" /> <el-table-column prop="guidedPrice" width="130" label="销售指导价" align="center"/>
<el-table-column prop="insideCode" width="160" label="内部编码" align="center" /> <el-table-column prop="insideCode" width="160" label="内部编码" align="center"/>
<el-table-column prop="lockedStateValue" width="130" label="锁定状态" align="center" /> <el-table-column prop="lockedStateValue" width="130" label="锁定状态" align="center"/>
<el-table-column prop="manPurOrderTypeValue" width="160" label="厂家采购订单类型" align="center" /> <el-table-column prop="manPurOrderTypeValue" width="160" label="厂家采购订单类型" align="center"/>
<el-table-column prop="orderingNo" width="160" label="厂家订单编号" align="center" /> <el-table-column prop="orderingNo" width="160" label="厂家订单编号" align="center"/>
<!-- <el-table-column prop="rebate1" width="130" label="返利1" align="center" />--> <!-- <el-table-column prop="rebate1" width="130" label="返利1" align="center" />-->
<!-- <el-table-column prop="rebate2" width="130" label="返利2" align="center" />--> <!-- <el-table-column prop="rebate2" width="130" label="返利2" align="center" />-->
<!-- <el-table-column prop="rebate3" width="130" label="返利3" align="center" />--> <!-- <el-table-column prop="rebate3" width="130" label="返利3" align="center" />-->
<el-table-column prop="returnDate" width="130" label="退库日期" align="center" /> <el-table-column prop="returnDate" width="130" label="退库日期" align="center"/>
<el-table-column prop="salePrice" width="130" label="成交价" align="center" /> <el-table-column prop="salePrice" width="130" label="成交价" align="center"/>
<el-table-column prop="salesDate" width="130" label="销售日期" align="center" /> <el-table-column prop="salesDate" width="130" label="销售日期" align="center"/>
<el-table-column prop="settlementStatus" width="110" label="买断状态" align="center" /> <el-table-column prop="settlementStatus" width="110" label="买断状态" align="center">
<el-table-column prop="solidDate" width="130" label="买断日期" align="center" /> <template slot-scope="scope">
<!-- <el-table-column prop="specialInstructions" width="150" label="特殊或差异说明" align="left" header-align="center" />--> <span class="bluezi" @click="handleCheckMai(scope.row)">{{ scope.row.settlementStatus }}</span>
<!-- <el-table-column prop="useOrgName" width="130" label="使用组织名称" align="center" />--> </template>
<el-table-column prop="witPinStateValue" width="100" label="调车状态" align="center" /> </el-table-column>
<el-table-column prop="warrantyCardNo" width="130" label="保修卡号" align="center" /> <el-table-column prop="solidDate" width="130" label="买断日期" align="center"/>
<!-- <el-table-column prop="specialInstructions" width="150" label="特殊或差异说明" align="left" header-align="center" />-->
<!-- <el-table-column prop="useOrgName" width="130" label="使用组织名称" align="center" />-->
<el-table-column prop="witPinStateValue" width="100" label="调车状态" align="center"/>
<el-table-column prop="warrantyCardNo" width="130" label="保修卡号" align="center"/>
</el-table> </el-table>
</div> </div>
<div class="pages"> <div class="pages">
@ -104,11 +108,13 @@
<cheliangtaizhang-info v-show="viewState == 4" ref="divinfo" @doback="resetState"></cheliangtaizhang-info> <cheliangtaizhang-info v-show="viewState == 4" ref="divinfo" @doback="resetState"></cheliangtaizhang-info>
<!-- 车型配置标准页面 --> <!-- 车型配置标准页面 -->
<vehicleconfiguration v-show="viewState == 5" ref="divPeizhi" @doback="resetState"/> <vehicleconfiguration v-show="viewState == 5" ref="divPeizhi" @doback="resetState"/>
<!-- <changyongpeizhi-info v-show="viewState == 5" ref="divPeizhi" @doback="resetState"></changyongpeizhi-info>--> <!-- <changyongpeizhi-info v-show="viewState == 5" ref="divPeizhi" @doback="resetState"></changyongpeizhi-info>-->
<!-- 出库 --> <!-- 出库 -->
<cheliangtaizhang-chu v-show="viewState == 6" ref="divChu" @doback="resetState"/> <cheliangtaizhang-chu v-show="viewState == 6" ref="divChu" @doback="resetState"/>
<!-- 买断 --> <!-- 买断 -->
<cheliangtaizhang-mai v-show="viewState == 7" ref="divMai" @doback="resetState"/> <cheliangtaizhang-mai v-show="viewState == 7" ref="divMai" @doback="resetState"/>
<!-- 买断详情 -->
<cheliangtaizhang-mai-info v-show="viewState == 8" ref="divMaiInfo" @doback="resetState"/>
</div> </div>
</template> </template>
@ -133,6 +139,7 @@ import Vehicle from '@/views/workFlow/weishoumaiduanFlow/weishoumaiduanguanli/ve
import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel' import { getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import cheliangtaizhangChu from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangChu' import cheliangtaizhangChu from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangChu'
import cheliangtaizhangMai from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMai' import cheliangtaizhangMai from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMai'
import cheliangtaizhangMaiInfo from '@/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMaiInfo'
export default { export default {
name: 'cheliangtaizhang', name: 'cheliangtaizhang',
@ -146,7 +153,8 @@ export default {
CheliangtaizhangInfo, CheliangtaizhangInfo,
vehicleconfiguration, vehicleconfiguration,
cheliangtaizhangChu, cheliangtaizhangChu,
cheliangtaizhangMai cheliangtaizhangMai,
cheliangtaizhangMaiInfo
}, },
data() { data() {
return { return {
@ -381,7 +389,7 @@ export default {
this.list[i].settlementStatus = '预买断' this.list[i].settlementStatus = '预买断'
} }
if (this.list[i].settlementStatus == '2'){ if (this.list[i].settlementStatus == '2'){
this.list[i].settlementStatus = '买断' this.list[i].settlementStatus = '买断'
} }
} }
} else { } else {
@ -468,14 +476,29 @@ export default {
} }
}, },
// //
doMaiduan(){ doMaiduan() { // salesDate settlementStatus
if (this.sids.length > 0) { if (this.sids.length > 0) {
this.viewState = 7 for (var i = 0; i < this.multipleSelection.length; i++) {
const bb = [] console.log(this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '')
this.multipleSelection.forEach((element) => { console.log()
bb.push(element.vinNo) if ((this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '') && this.multipleSelection[i].settlementStatus !== '预买断') {
}) this.$message({
this.$refs['divMai'].showMai(this.sids, bb) showClose: true,
message: '请选择销售日期不为空或买断状态为预买断的车辆!',
type: 'error'
})
return
}
if ((this.multipleSelection[i].salesDate == null || this.multipleSelection[i].salesDate == '') || this.multipleSelection[i].settlementStatus == '预买断') {
console.log('满足条件了?', this.multipleSelection[i].salesDate, this.multipleSelection[i].settlementStatus)
this.viewState = 7
const bb = []
this.multipleSelection.forEach((element) => {
bb.push(element.vinNo)
})
this.$refs['divMai'].showMai(this.sids, bb)
}
}
} else { } else {
this.$message({ this.$message({
showClose: true, showClose: true,
@ -485,6 +508,11 @@ export default {
return return
} }
}, },
//
handleCheckMai(row) {
this.viewState = 8
this.$refs['divMaiInfo'].showMaiInfo(row)
},
// //
createData() { createData() {
// console.log('' + JSON.stringify(this.temp)) // console.log('' + JSON.stringify(this.temp))

112
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangtaizhang/relation/cheliangtaizhangMaiInfo.vue

@ -0,0 +1,112 @@
<template>
<div class="app-container">
<div class="tab-header webtop">
<div>车辆买断</div>
<div>
<el-button type="info" size="small" @click="handleReturn()">返回</el-button>
</div>
</div>
<div class="listconadd">
<div class="titwu">车辆买断</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<el-row class="first_row">
<el-col :span="4">
<el-form-item>
<span>车架号</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
<span>{{ temp.vinNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item>
<span>买断日期</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item prop="solidDate">
<span>{{ temp.solidDate }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4">
<el-form-item>
<span>上传买断证明</span>
</el-form-item>
</el-col>
<el-col :span="20">
<el-form-item>
<el-image
style="width: 178px;height: 178px;"
v-for="(item,index) in temp.commonAppendix"
:key="index"
:src="item"
:preview-src-list="temp.commonAppendix">
</el-image>
<!-- <upload ref="uploadImg" v-model="imgList" :limit="1" bucket="map" :upload-data="{type:'0001'}"/>-->
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import Upload from '@/components/uploadFile/upload_maiduan.vue'
export default {
name: 'cheliangtaizhangMai',
components: {
Upload
},
data() {
return {
temp: {
commonAppendix: {},
solidDate: '',
vehicleSid: [],
vinNo: ''
},
dialogFormVisible: false,
imgList: [],
rules: {}
}
},
methods: {
showMaiInfo(row) {
// details(row.sid).then((response) => {
// console.log('', response)
// if (response.code === '200') {
// this.temp = response.data
// }
// })
},
//
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.temp = {
vinNo: '',
commonAppendix: []
}
this.$emit('doback')
}
}
}
</script>
<style scoped>
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
</style>

236
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue

@ -110,113 +110,113 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 临时出门证 --> <!-- 临时出门证 -->
<el-dialog :visible.sync="isExitPermit" :title="formList.orgName + '出门证'" center width="1000px" <!-- <el-dialog :visible.sync="isExitPermit" :title="formList.orgName + '出门证'" center width="1000px"-->
:close-on-click-modal="false"> <!-- :close-on-click-modal="false">-->
<el-form ref="dataForm" :model="formList" label-position="right" class="formadd"> <!-- <el-form ref="dataForm" :model="formList" label-position="right" class="formadd">-->
<el-row class="dialogRow"> <!-- <el-row class="dialogRow">-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>日期:</span> <!-- <span>日期:</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.date }}</span> <!-- <span>{{ formList.date }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>合同编号:</span> <!-- <span>合同编号:</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.contractNo }}</span> <!-- <span>{{ formList.contractNo }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>客户名称</span> <!-- <span>客户名称</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="21"> <!-- <el-col :span="21">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.customerName }}</span> <!-- <span>{{ formList.customerName }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>车型名称</span> <!-- <span>车型名称</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.modelName }}</span> <!-- <span>{{ formList.modelName }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>台数</span> <!-- <span>台数</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.num }}</span> <!-- <span>{{ formList.num }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>车架号</span> <!-- <span>车架号</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="21"> <!-- <el-col :span="21">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{formList.vinNo}}</span> <!-- <span>{{formList.vinNo}}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>出门原因</span> <!-- <span>出门原因</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="21"> <!-- <el-col :span="21">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.reason }}</span> <!-- <span>{{ formList.reason }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!--<span class="icon">*</span>--> <!-- <el-col :span="3"> &lt;!&ndash;<span class="icon">*</span>&ndash;&gt;-->
<span>业务经办人</span> <!-- <span>业务经办人</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{formList.creatName}}</span> <!-- <span>{{formList.creatName}}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>财务经办人</span> <!-- <span>财务经办人</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span></span> <!-- <span></span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-row> <!-- <el-row>-->
<el-col :span="3"> <!--<span class="icon">*</span>--> <!-- <el-col :span="3"> &lt;!&ndash;<span class="icon">*</span>&ndash;&gt;-->
<span>提车人</span> <!-- <span>提车人</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span>{{ formList.carryCarName }}</span> <!-- <span>{{ formList.carryCarName }}</span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
<el-col :span="3"> <!-- <el-col :span="3">-->
<span>出门签章</span> <!-- <span>出门签章</span>-->
</el-col> <!-- </el-col>-->
<el-col :span="9"> <!-- <el-col :span="9">-->
<el-form-item> <!-- <el-form-item>-->
<span></span> <!-- <span></span>-->
</el-form-item> <!-- </el-form-item>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
</el-form> <!-- </el-form>-->
</el-dialog> <!-- </el-dialog>-->
<!-- <el-dialog title="查看" :visible.sync="dialogImgVisible">--> <!-- <el-dialog title="查看" :visible.sync="dialogImgVisible">-->
<!-- <el-image v-for="item in srcList" :key="item" style="width: 100px; height: 100px" :src="item"--> <!-- <el-image v-for="item in srcList" :key="item" style="width: 100px; height: 100px" :src="item"-->
@ -241,6 +241,7 @@ import pageye from '@/components/pagination/pageye'
import cunfangdidianbiangengAdd from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd' import cunfangdidianbiangengAdd from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd'
import cunfangdidianbiangengInfo from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo' import cunfangdidianbiangengInfo from '@/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo'
import upload from '../../../components/uploadFile/upload_cunfang' import upload from '../../../components/uploadFile/upload_cunfang'
import { getStorage } from '@/utils/auth'
export default { export default {
name: 'cunfangdidianbiangeng', name: 'cunfangdidianbiangeng',
@ -452,6 +453,27 @@ export default {
handleExitPermit(row) { handleExitPermit(row) {
this.isExitPermit = true this.isExitPermit = true
this.getExitPermitInfo(row.sid) this.getExitPermitInfo(row.sid)
// console.log(row)
// var xhr = new XMLHttpRequest()
// // xhr.open('GET', process.env.VUE_APP_BASE_API + '/base/file/download?filePath=' + row.filePath + '&outFileName=' + row.name, true)
// xhr.setRequestHeader('token', getStorage())
// xhr.responseType = 'blob'
// xhr.onload = function(e) {
// //
// var blob = this.response
// var filename = row.fileName
// var a = document.createElement('a')
// //blob.type="application/octet-stream";
// //url
// var url = URL.createObjectURL(blob)
// a.href = url
// a.download = filename
// a.click()
// //URL
// window.URL.revokeObjectURL(url)
// }
// //
// xhr.send()
}, },
getExitPermitInfo(sid){ getExitPermitInfo(sid){
const userSid = window.sessionStorage.getItem('userSid') const userSid = window.sessionStorage.getItem('userSid')

1
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue

@ -412,6 +412,7 @@ export default {
} }
if (this.vinNoChoice.length > 0) { if (this.vinNoChoice.length > 0) {
this.temp.vinNo = this.vinNoChoice[0].vin this.temp.vinNo = this.vinNoChoice[0].vin
this.temp.vehicleSid = this.vinNoChoice[0].carSid
this.vinNoVisible = false this.vinNoVisible = false
}else { }else {
this.$message({ this.$message({

Loading…
Cancel
Save