Browse Source

Merge remote-tracking branch 'origin/master'

master
dimengzhe 2 years ago
parent
commit
910a2c1383
  1. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutVo.java
  3. 66
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutVoExecl.java
  4. 33
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basetrailer/BaseTrailerService.java
  5. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  6. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  7. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  8. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java
  9. 108
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml
  10. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java
  11. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  12. 23
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.xml
  13. 12
      anrui-scm/anrui-scm-ui/src/api/cheliang/cheliangxiaoshou.js
  14. 16
      anrui-scm/anrui-scm-ui/src/utils/request.js
  15. 49
      anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangxiaoshou/cheliangxiaoshouguanli.vue
  16. 9
      anrui-system-ui/src/api/system/postManage/index.js
  17. 12
      anrui-system-ui/src/views/copyofprocess/liuchengchaosongAdd.vue
  18. 6
      anrui-system-ui/src/views/copyofprocess/liuchengchasongguanli.vue

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.base.api.basevehicleout; package com.yxt.anrui.base.api.basevehicleout;
import com.yxt.anrui.base.api.basedistributor.BaseDistributorExportQuery;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -55,6 +56,12 @@ public interface BaseVehicleOutFeign {
@DeleteMapping("/delBySid") @DeleteMapping("/delBySid")
@ResponseBody @ResponseBody
public ResultBean delBySid(@RequestParam("sid") String sid); public ResultBean delBySid(@RequestParam("sid") String sid);
@PostMapping("/exportExcel")
@ApiOperation(value = "车辆销售台账列表导出")
@ResponseBody
public void exportExcel(@RequestBody String[] sids);
} }

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutVo.java

@ -101,8 +101,6 @@ public class BaseVehicleOutVo implements Vo {
@ApiModelProperty("上装/挂车名称") @ApiModelProperty("上装/挂车名称")
private String trailerOrInstallName; private String trailerOrInstallName;
@ApiModelProperty("上装/挂车")
private String trailerOrInstall;
@ApiModelProperty("上装/挂车成交价") @ApiModelProperty("上装/挂车成交价")
private String trailerOrInstallDealPrice; private String trailerOrInstallDealPrice;
@ApiModelProperty("上装/挂车物料编码") @ApiModelProperty("上装/挂车物料编码")

66
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseVehicleOutVoExecl.java

@ -0,0 +1,66 @@
package com.yxt.anrui.base.api.basevehicleout;
import com.yxt.common.core.utils.ExportEntityMap;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/9/29 12:00
* @Description
*/
@Data
public class BaseVehicleOutVoExecl{
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "分公司", EnName = "createOrgName")
private String createOrgName; // 分公司
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "配置", EnName = "modelConfig")
private String modelConfig;
@ExportEntityMap(CnName = "内部编码", EnName = "insideCode")
private String insideCode; // 内部编码
@ExportEntityMap(CnName = "销售类型", EnName = "type")
private String type;
@ExportEntityMap(CnName = "销售日期", EnName = "saleDate")
private String saleDate;
@ExportEntityMap(CnName = "成交价", EnName = "price")
private String price;
@ExportEntityMap(CnName = "销售部门", EnName = "orgName")
private String orgName;
@ExportEntityMap(CnName = "销售专员", EnName = "staffName")
private String staffName;
@ExportEntityMap(CnName = "合同编号", EnName = "concatNo")
private String concatNo;
@ExportEntityMap(CnName = "是否为终端客户", EnName = "isTerminal")
private String isTerminal;
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "手机号码", EnName = "mobile")
private String mobile;
@ExportEntityMap(CnName = "上装/挂车名称", EnName = "trailerOrInstallName")
private String trailerOrInstallName;
@ExportEntityMap(CnName = "上装/挂车物料编码", EnName = "trailerOrInstallCode")
private String trailerOrInstallCode;
@ExportEntityMap(CnName = "上装/挂车成交价", EnName = "trailerOrInstallDealPrice")
private String trailerOrInstallDealPrice;
@ExportEntityMap(CnName = "赠品说明", EnName = "giftsDescription")
private String giftsDescription;
@ExportEntityMap(CnName = "销售折让", EnName = "salesAllowance")
private String salesAllowance;
@ExportEntityMap(CnName = "中介人1", EnName = "middleOne")
private String middleOne;
@ExportEntityMap(CnName = "返利金额1", EnName = "rebateMoneyOne")
private String rebateMoneyOne;
@ExportEntityMap(CnName = "中介人2", EnName = "middleTwo")
private String middleTwo;
@ExportEntityMap(CnName = "返利金额2", EnName = "rebateMoneyTwo")
private String rebateMoneyTwo;
@ExportEntityMap(CnName = "内部引荐人姓名", EnName = "innerName")
private String innerName;
@ExportEntityMap(CnName = "采购类型", EnName = "manPurOrderTypeValue")
private String manPurOrderTypeValue;
}

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

@ -288,26 +288,17 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
StkInStock stkInStock = new StkInStock(); StkInStock stkInStock = new StkInStock();
//入库日期:FDate (必填项) //入库日期:FDate (必填项)
stkInStock.setFDate(DateUtil.formatDate(new Date())); stkInStock.setFDate(DateUtil.formatDate(new Date()));
String vehSid = dto.getVehSid();
BaseVehicle baseVehicle = baseVehicleService.fetchBySid(vehSid);
String purchaseSystemSid = baseVehicle.getPurchaseSystemSid();
SysOrganizationVo sysOrganizationVoBM = sysOrganizationFeign.fetchBySid(purchaseSystemSid).getData();
//采购部门:FPurchaseDeptId (必填项) //采购部门:FPurchaseDeptId (必填项)
String departmentSid = dto.getDepartmentSid(); stkInStock.setFPurchaseDeptId(sysOrganizationVoBM.getOrgCode());
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(departmentSid).getData(); BasePurchaseSystemDetailsVo basePurchaseSystemDetailsVo = basePurchaseSystemService.fetchDetailsByDeptSid(purchaseSystemSid).getData();
stkInStock.setFPurchaseDeptId(data.getOrgCode()); //采购组织:FPurchaseOrgId (必填项)
BasePurchaseSystemDetailsVo data1 = basePurchaseSystemService.fetchDetailsByDeptSid(departmentSid).getData(); stkInStock.setFPurchaseOrgId(basePurchaseSystemDetailsVo.getOrgCode());
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()); //分配目标组织:TOrgId (必填项)
if (data1 != null) { stkInStock.setTOrgId(basePurchaseSystemDetailsVo.getOrgCode());
//采购组织:FPurchaseOrgId (必填项)
stkInStock.setFPurchaseOrgId(data1.getOrgCode());
//分配目标组织:TOrgId (必填项)
stkInStock.setTOrgId(data1.getOrgCode());
} else {
SysOrganizationVo vo = sysOrganizationVoResultBean.getData();
if (vo != null) {
//采购组织:FPurchaseOrgId (必填项)
stkInStock.setFPurchaseOrgId(vo.getOrgCode());
//分配目标组织:TOrgId (必填项)
stkInStock.setTOrgId(vo.getOrgCode());
}
}
//供应商:FSupplierId (必填项) //供应商:FSupplierId (必填项)
String trailerModelSid = baseTrailer.getTrailerModelSid(); String trailerModelSid = baseTrailer.getTrailerModelSid();
BaseTrailerModel baseTrailerModel = baseTrailerModelService.fetchBySid(trailerModelSid); BaseTrailerModel baseTrailerModel = baseTrailerModelService.fetchBySid(trailerModelSid);
@ -420,7 +411,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
public ResultBean trailerOut(String sid) { public ResultBean trailerOut(String sid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
BaseTrailer baseTrailer = fetchBySid(sid); BaseTrailer baseTrailer = fetchBySid(sid);
if (baseTrailer.getStockStateKey().equals("0002")){ if (baseTrailer.getStockStateKey().equals("0002")) {
return rb.setMsg("该挂车已出库"); return rb.setMsg("该挂车已出库");
} }
String vehSid = baseTrailer.getVehSid(); String vehSid = baseTrailer.getVehSid();
@ -496,7 +487,7 @@ public class BaseTrailerService extends MybatisBaseService<BaseTrailerMapper, Ba
//保存车辆出库单子表 //保存车辆出库单子表
baseVehicleOutService.save(baseVehicleOut); baseVehicleOutService.save(baseVehicleOut);
//推送金蝶挂车销售出库单 //推送金蝶挂车销售出库单
SalOutStock salOutStock = createSzOrGcSalOutStock(baseTrailer,baseVehicle,baseVehicleOut); SalOutStock salOutStock = createSzOrGcSalOutStock(baseTrailer, baseVehicle, baseVehicleOut);
finKingDeeFeign.draftSalOutStock(salOutStock); finKingDeeFeign.draftSalOutStock(salOutStock);
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity(); List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
for (SalOutStock.FEntity entity : fEntity) { for (SalOutStock.FEntity entity : fEntity) {

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

@ -1243,6 +1243,7 @@
WHERE vinNo = #{vinNo} WHERE vinNo = #{vinNo}
AND useOrgSid = #{useOrgSid} AND useOrgSid = #{useOrgSid}
AND isDelete = 0 AND isDelete = 0
AND vehicleState != "0004"
</select> </select>
<select id="vehicleRebatePageList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateVo"> <select id="vehicleRebatePageList" resultType="com.yxt.anrui.base.api.basevehicle.BaseVehicleRebateVo">

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

@ -166,10 +166,11 @@ public class BaseVehicleRest implements BaseVehicleFeign {
} else { } else {
//厂家库龄 //厂家库龄
if (record.getPriceDate() != null) { if (record.getPriceDate() != null) {
//厂家入库日期
Date priceDate = record.getPriceDate(); Date priceDate = record.getPriceDate();
String settlementStatus = record.getSettlementStatus(); //买断日期
if (settlementStatus.equals("2")) { Date solidDate = record.getSolidDate();
Date solidDate = record.getSolidDate(); if (solidDate != null) {
int i = priceDate.compareTo(solidDate); int i = priceDate.compareTo(solidDate);
long betweenDay = DateUtil.between(priceDate, solidDate, DateUnit.DAY); long betweenDay = DateUtil.between(priceDate, solidDate, DateUnit.DAY);
record.setLibraryAge(betweenDay * i * -1); record.setLibraryAge(betweenDay * i * -1);
@ -183,24 +184,28 @@ public class BaseVehicleRest implements BaseVehicleFeign {
} }
} }
//公司库龄 //公司库龄
if (record.getArrivalDate() != null) { if (record.getDepartureDate() != null) {
Date arrivalDate = record.getArrivalDate(); //发车日期
Date departureDate = record.getDepartureDate();
//销售日期
Date salesDate = record.getSalesDate(); Date salesDate = record.getSalesDate();
if (salesDate != null) { if (salesDate != null) {
int i = arrivalDate.compareTo(salesDate); int i = departureDate.compareTo(salesDate);
long betweenDay = DateUtil.between(arrivalDate, salesDate, DateUnit.DAY); long betweenDay = DateUtil.between(departureDate, salesDate, DateUnit.DAY);
record.setOrgLibraryAge(betweenDay * i * -1); record.setOrgLibraryAge(betweenDay * i * -1);
} else { } else {
String today = DateUtil.today(); String today = DateUtil.today();
DateTime currentDate = DateUtil.parse(today); DateTime currentDate = DateUtil.parse(today);
int i = arrivalDate.compareTo(currentDate); int i = departureDate.compareTo(currentDate);
long betweenDay = DateUtil.between(arrivalDate, currentDate, DateUnit.DAY); long betweenDay = DateUtil.between(departureDate, currentDate, DateUnit.DAY);
record.setOrgLibraryAge(betweenDay * i * -1); record.setOrgLibraryAge(betweenDay * i * -1);
} }
} }
//买断库龄 //买断库龄
if (record.getSolidDate() != null) { if (record.getSolidDate() != null) {
//买断日期
Date solidDate = record.getSolidDate(); Date solidDate = record.getSolidDate();
//销售日期
Date salesDate = record.getSalesDate(); Date salesDate = record.getSalesDate();
if (salesDate != null) { if (salesDate != null) {
int i = solidDate.compareTo(salesDate); int i = solidDate.compareTo(salesDate);

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

@ -2439,7 +2439,6 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.UN_BUYOUT.getRemarks()); baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.UN_BUYOUT.getRemarks());
baseVehicle.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode()); baseVehicle.setLockedState(VehicleState.LockEnum.UN_LOCK.getCode());
baseVehicle.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks()); baseVehicle.setLockedStateValue(VehicleState.LockEnum.UN_LOCK.getRemarks());
baseVehicle.setVehicleState(VehicleState.StockEnum.ING_STOCK.getCode()); baseVehicle.setVehicleState(VehicleState.StockEnum.ING_STOCK.getCode());
baseVehicle.setVehicleStateValue(VehicleState.StockEnum.ING_STOCK.getRemarks()); baseVehicle.setVehicleStateValue(VehicleState.StockEnum.ING_STOCK.getRemarks());
if (save(baseVehicle)) { if (save(baseVehicle)) {

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.java

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOut;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutVo; import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutVo;
import com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutVoExecl;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -38,4 +39,6 @@ public interface BaseVehicleOutMapper extends BaseMapper<BaseVehicleOut> {
List<BaseVehicleOut> fetchByMainSid(String xsckdSid); List<BaseVehicleOut> fetchByMainSid(String xsckdSid);
BaseVehicleOutDetailsVo selByOrgSidAndVehSid(@Param("useOrgSid") String useOrgSid,@Param("vehSid") String vehSid); BaseVehicleOutDetailsVo selByOrgSidAndVehSid(@Param("useOrgSid") String useOrgSid,@Param("vehSid") String vehSid);
BaseVehicleOutVoExecl selByExcel(String sid);
} }

108
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutMapper.xml

@ -52,7 +52,11 @@
bv.modelConfigSid, bv.modelConfigSid,
bvc.sid as vehModelConfigSid, bvc.sid as vehModelConfigSid,
bvc.guidedPrice, bvc.guidedPrice,
bvoa.innerName bvoa.innerName,
bvo.trailerOrInstallName,
bvo.trailerOrInstallCode,
bvo.trailerOrInstallDealPrice,
bvo.manPurOrderTypeValue
from base_vehicle_out bvo from base_vehicle_out bvo
left join base_vehicle bv on bv.sid = bvo.vinSid left join base_vehicle bv on bv.sid = bvo.vinSid
left join base_vehmodel_config bvc on bv.modelSid = bvc.modelSid and bv.modelConfigSid = left join base_vehmodel_config bvc on bv.modelSid = bvc.modelSid and bv.modelConfigSid =
@ -67,36 +71,36 @@
<select id="details" resultType="com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo"> <select id="details" resultType="com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutDetailsVo">
select bo.vinSid, select bo.vinSid,
bo.vinNo, bo.vinNo,
bo.type, bo.type,
bo.typeKey, bo.typeKey,
bo.orgSid, bo.orgSid,
bo.orgName, bo.orgName,
bo.staffName, bo.staffName,
bo.staffSid, bo.staffSid,
bo.concatNo, bo.concatNo,
bo.price, bo.price,
case bo.isTerminal when 1 then '是' when 0 then '否' end as isTerminal, case bo.isTerminal when 1 then '是' when 0 then '否' end as isTerminal,
bo.customerName, bo.customerName,
bo.customerSid, bo.customerSid,
bo.mobile, bo.mobile,
bo.giftsDescription, bo.giftsDescription,
bo.salesAllowance, bo.salesAllowance,
bo.middleOne, bo.middleOne,
bo.middleTwo, bo.middleTwo,
bo.rebateMoneyOne, bo.rebateMoneyOne,
bo.rebateMoneyTwo, bo.rebateMoneyTwo,
bo.remarks, bo.remarks,
bo.saleDate, bo.saleDate,
bo.createOrgSid, bo.createOrgSid,
ba.innerName, ba.innerName,
ba.innerUserSid, ba.innerUserSid,
bo.trailerOrInstallName, bo.trailerOrInstallName,
bo.trailerOrInstall, bo.trailerOrInstall,
bo.trailerOrInstallDealPrice, bo.trailerOrInstallDealPrice,
bo.totalDealPrice bo.totalDealPrice
from base_vehicle_out bo from base_vehicle_out bo
left join base_vehicle_out_apply ba on ba.sid = bo.mainSid left join base_vehicle_out_apply ba on ba.sid = bo.mainSid
where bo.sid = #{sid} where bo.sid = #{sid}
</select> </select>
@ -118,7 +122,47 @@
SELECT * SELECT *
FROM base_vehicle_out FROM base_vehicle_out
WHERE createOrgSid = #{useOrgSid} WHERE createOrgSid = #{useOrgSid}
AND vinSid = #{vehSid} AND vinSid = #{vehSid} limit 1
limit 1 </select>
<select id="selByExcel" resultType="com.yxt.anrui.base.api.basevehicleout.BaseVehicleOutVoExecl">
SELECT so.name AS createOrgName,
bvo.vinNo,
bv.configName AS modelConfig,
bv.insideCode,
bvo.type,
bvo.saleDate,
bvo.price,
bvo.orgName,
bvo.staffName,
bvo.concatNo,
CASE
bvo.isTerminal
WHEN 1
THEN '是'
WHEN 0
THEN '否'
END AS isTerminal,
bvo.customerName,
bvo.mobile,
bvo.trailerOrInstallName,
bvo.trailerOrInstallCode,
bvo.trailerOrInstallDealPrice,
bvo.giftsDescription,
bvo.salesAllowance,
bvo.middleOne,
bvo.rebateMoneyOne,
bvo.middleTwo,
bvo.rebateMoneyTwo,
bvoa.innerName,
bvo.manPurOrderTypeValue
FROM base_vehicle_out bvo
LEFT JOIN base_vehicle bv
ON bv.sid = bvo.vinSid
LEFT JOIN anrui_portal.sys_organization so
ON bvo.createOrgSid = so.sid
LEFT JOIN base_vehicle_out_apply bvoa
ON bvo.mainSid = bvoa.sid
WHERE bvo.sid = #{sid}
</select> </select>
</mapper> </mapper>

23
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutRest.java

@ -1,6 +1,8 @@
package com.yxt.anrui.base.biz.basevehicleout; package com.yxt.anrui.base.biz.basevehicleout;
import com.yxt.anrui.base.api.basedistributor.BaseDistributorExportVo;
import com.yxt.anrui.base.api.basevehicleout.*; import com.yxt.anrui.base.api.basevehicleout.*;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -9,6 +11,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -24,6 +29,8 @@ public class BaseVehicleOutRest implements BaseVehicleOutFeign {
@Autowired @Autowired
private BaseVehicleOutService baseVehicleOutService; private BaseVehicleOutService baseVehicleOutService;
@Autowired
private HttpServletResponse response;
@Override @Override
public ResultBean vehicleOut(BaseVehicleOutDto dto) { public ResultBean vehicleOut(BaseVehicleOutDto dto) {
@ -63,4 +70,20 @@ public class BaseVehicleOutRest implements BaseVehicleOutFeign {
public ResultBean delBySid(String sid) { public ResultBean delBySid(String sid) {
return baseVehicleOutService.delBySid(sid); return baseVehicleOutService.delBySid(sid);
} }
@Override
public void exportExcel(String[] sids) {
//得到所有要导出的数据
List<BaseVehicleOutVoExecl> baseVehicleOutVoExecls = baseVehicleOutService.listExcel(sids);
//定义导出的excel名字
String excelName = "车辆销售台账管理列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出车辆销售台账列表
ExportExcelUtils.export(fileNameURL, baseVehicleOutVoExecls, BaseVehicleOutVoExecl.class, response);
}
} }

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -1121,4 +1121,16 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicleService.updateVehicleStateAndSaleDate(baseVehicle.getSid()); baseVehicleService.updateVehicleStateAndSaleDate(baseVehicle.getSid());
return rb.success(); return rb.success();
} }
public List<BaseVehicleOutVoExecl> listExcel(String[] sids) {
List<BaseVehicleOutVoExecl> baseVehicleOutVoExecls = new ArrayList<>();
int id = 1;
for (String sid : sids) {
BaseVehicleOutVoExecl baseVehicleOutVoExecl = baseMapper.selByExcel(sid);
baseVehicleOutVoExecl.setRankNo(id);
id = id + 1;
baseVehicleOutVoExecls.add(baseVehicleOutVoExecl);
}
return baseVehicleOutVoExecls;
}
} }

23
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysfunction/SysFunctionMapper.xml

@ -14,8 +14,8 @@
<select id="selectListAllVo" resultType="com.yxt.anrui.portal.api.sysfunction.SysFunctionVo"> <select id="selectListAllVo" resultType="com.yxt.anrui.portal.api.sysfunction.SysFunctionVo">
SELECT func.*, source.sourceName as sourceName SELECT func.*, source.sourceName as sourceName
FROM sys_function func FROM sys_function func
left join sys_source_function sourceF on sourceF.functionSid = func.sid left join sys_source_function sourceF on sourceF.functionSid = func.sid
left join sys_source source on source.sid = sourceF.sourceSid left join sys_source source on source.sid = sourceF.sourceSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -30,8 +30,8 @@
<select id="getChildrensForFunctionTree" resultType="com.yxt.anrui.portal.api.sysfunction.SysFunctionTreeVo"> <select id="getChildrensForFunctionTree" resultType="com.yxt.anrui.portal.api.sysfunction.SysFunctionTreeVo">
SELECT func.*, source.sourceName, sourceFunction.functionRootSid as functionRootSid SELECT func.*, source.sourceName, sourceFunction.functionRootSid as functionRootSid
FROM sys_function func FROM sys_function func
left join sys_source_function sourceFunction on sourceFunction.functionSid = func.sid left join sys_source_function sourceFunction on sourceFunction.functionSid = func.sid
left join sys_source source on source.sid = sourceFunction.sourceSid left join sys_source source on source.sid = sourceFunction.sourceSid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -61,10 +61,15 @@
and ssf.sourceSid = #{sourceSid} and ssf.sourceSid = #{sourceSid}
</select> </select>
<select id="getButtonPermissions" resultType="com.yxt.anrui.portal.api.sysfunction.ButtonPermissionVo"> <select id="getButtonPermissions" resultType="com.yxt.anrui.portal.api.sysfunction.ButtonPermissionVo">
select sf.cId as buttonId from sys_function sf SELECT sf.cId AS buttonId
where actionUrl=#{query.url} and phoneFunction=#{query.type} and sid not in( FROM sys_function sf
SELECT srf.functionSid FROM sys_user_role sur WHERE actionUrl = #{query.url}
LEFT JOIN sys_role_function srf ON sur.roleSid = srf.rolesid AND phoneFunction = #{query.type}
WHERE sur.userSid=#{query.userSid}) AND sid NOT IN
(SELECT IFNULL(srf.functionSid, "") functionSid
FROM sys_user_role sur
LEFT JOIN sys_role_function srf
ON sur.roleSid = srf.rolesid
WHERE sur.userSid = #{query.userSid})
</select> </select>
</mapper> </mapper>

12
anrui-scm/anrui-scm-ui/src/api/cheliang/cheliangxiaoshou.js

@ -1,4 +1,5 @@
import request from '@/utils/request' import request from '@/utils/request'
import qs from 'qs'
// 车辆销售(出库)列表 // 车辆销售(出库)列表
export function pagerList(data) { export function pagerList(data) {
@ -36,3 +37,14 @@ export function createPdf(data) {
}) })
} }
// 导出
export function exportExcel(data) {
return request({
url: '/base/v1/basevehicleout/exportExcel',
method: 'post',
responseType: 'blob' , // 表明返回服务器返回的数据类型
data: data,
headers: { 'Content-Type': 'application/json' }
})
}

16
anrui-scm/anrui-scm-ui/src/utils/request.js

@ -77,14 +77,14 @@ service.interceptors.response.use(
} }
return Promise.reject(new Error(res.message || 'Error')) return Promise.reject(new Error(res.message || 'Error'))
} else { } else {
if (!res.success) { if (!res.success && res.success !== null && res.success !== undefined) {
Message({ Message({
message: res.msg || 'Error', message: res.msg || 'Error',
type: 'error', type: 'error',
showClose: true, showClose: true,
duration: 5 * 1000 duration: 5 * 1000
}) })
} }
return res return res
} }
}, },

49
anrui-scm/anrui-scm-ui/src/views/cheliang/cheliangxiaoshou/cheliangxiaoshouguanli.vue

@ -185,6 +185,12 @@
<span>{{ scope.row.innerName }}</span> <span>{{ scope.row.innerName }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="采购类型" align="center" width="120">
<template slot-scope="scope">
<span>{{ scope.row.manPurOrderTypeValue }}</span>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div class="pages"> <div class="pages">
@ -220,7 +226,7 @@
</template> </template>
<script> <script>
import { pagerList, createPdf, delBySid } from '@/api/cheliang/cheliangxiaoshou' import { pagerList, createPdf, delBySid, exportExcel } from '@/api/cheliang/cheliangxiaoshou'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
@ -254,6 +260,13 @@ export default {
btnKey: 'doDel', btnKey: 'doDel',
btnLabel: '删除' btnLabel: '删除'
}, },
{
type: 'success',
size: 'small',
icon: 'export',
btnKey: 'doExport',
btnLabel: '导出'
},
{ {
type: 'info', type: 'info',
size: 'small', size: 'small',
@ -353,6 +366,9 @@ export default {
case 'doDel': case 'doDel':
this.doDel() this.doDel()
break break
case 'doExport':
this.doExport()
break
case 'doClose': case 'doClose':
this.doClose() this.doClose()
break break
@ -498,6 +514,37 @@ export default {
return return
} }
}, },
//
doExport() {
if (this.sids.length > 0) {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
exportExcel(this.sids).then((resp) => {
loading.close()
const blob = new Blob([resp], {
type: 'application/vnd.ms-excel'
})
const fileName = '车辆销售台账表' + '.xls'
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'nonde'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)
}).catch(() => {
loading.close()
})
} else {
this.$message({ showClose: true, type: 'error', message: '请至少选择一条记录进行导出操作' })
return
}
},
resetState() { resetState() {
this.viewState = 1 this.viewState = 1
}, },

9
anrui-system-ui/src/api/system/postManage/index.js

@ -76,3 +76,12 @@ export function selectList(data){
params: data params: data
}) })
} }
// 查询所有流程名称
export function selectFlowList(){
return request({
url: '/flowable/v1/flow/selectFlowList',
method: 'get'
})
}

12
anrui-system-ui/src/views/copyofprocess/liuchengchaosongAdd.vue

@ -23,7 +23,7 @@
<el-col :span="20"> <el-col :span="20">
<el-form-item prop="flowName"> <el-form-item prop="flowName">
<el-select v-model="formobj.flowName" placeholder="请选择" @change="changeFlow" filterable> <el-select v-model="formobj.flowName" placeholder="请选择" @change="changeFlow" filterable>
<el-option v-for="item in flow_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> <el-option v-for="item in flow_list" :key="item.key" :label="item.name" :value="item.name"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -48,10 +48,10 @@
<script> <script>
import { fetchSid, save, roleList } from '@/api/system/liuchengchaosong/liuchengchaosong' import { fetchSid, save, roleList } from '@/api/system/liuchengchaosong/liuchengchaosong'
import { pullDown } from '@/api/system/postManage/index' import { selectFlowList } from '@/api/system/postManage/index'
export default { export default {
name: 'liuchengchaosongAdd', name: 'LiuChengChaoSongAdd',
data() { data() {
return { return {
viewTitle: '', viewTitle: '',
@ -81,7 +81,7 @@ export default {
this.role_list = res.data this.role_list = res.data
} }
}) })
pullDown({ type: 'flow' }).then((res) => { selectFlowList().then((res) => {
if (res.success) { if (res.success) {
this.flow_list = res.data this.flow_list = res.data
} }
@ -109,8 +109,8 @@ export default {
}) })
}, },
changeFlow(value) { changeFlow(value) {
const choose = this.flow_list.filter((item) => item.dictValue === value) const choose = this.flow_list.filter((item) => item.name === value)
this.formobj.flowKey = choose[0].dictKey this.formobj.flowKey = choose[0].key
}, },
save() { save() {
console.log(this.formobj) console.log(this.formobj)

6
anrui-system-ui/src/views/copyofprocess/liuchengchasongguanli.vue

@ -9,7 +9,7 @@
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header"> <el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="流程名称"> <el-form-item label="流程名称">
<el-select v-model="listQuery.params.flowName" placeholder="请选择" filterable> <el-select v-model="listQuery.params.flowName" placeholder="请选择" filterable>
<el-option v-for="item in flow_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option> <el-option v-for="item in flow_list" :key="item.key" :label="item.name" :value="item.name"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -57,7 +57,7 @@
<script> <script>
import { pageList, delBySids } from '@/api/system/liuchengchaosong/liuchengchaosong' import { pageList, delBySids } from '@/api/system/liuchengchaosong/liuchengchaosong'
import { pullDown } from '@/api/system/postManage/index' import { selectFlowList } from '@/api/system/postManage/index'
import Pagination from '@/components/pagination' import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye' import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar' import ButtonBar from '@/components/ButtonBar'
@ -121,7 +121,7 @@ export default {
}, },
methods: { methods: {
init() { init() {
pullDown({ type: 'flow' }).then((res) => { selectFlowList().then((res) => {
if (res.success) { if (res.success) {
this.flow_list = res.data this.flow_list = res.data
} }

Loading…
Cancel
Save