Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yxt_djz 3 years ago
parent
commit
dd841d6602
  1. 56
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  2. 44
      anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue
  3. 20
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeConfig.java
  4. 11
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java
  5. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.java
  6. 21
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  7. 39
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java
  8. 13
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventoryreport/ScmVehInventoryreportService.java
  9. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehpatrolinspectionreport/ScmVehPatrolinspectionreportService.java
  10. 3
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/changjiatuiku/changjiatuikuguanli/changjiatuikuAdd.vue
  11. 8
      anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangpaichan/cheliangpaichan.vue
  12. 24
      anrui-system-ui/src/views/Home/Home.vue
  13. 4
      anrui-system-ui/src/views/flow/doneList.vue
  14. 4
      anrui-system-ui/src/views/flow/todoList.vue

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

@ -14,7 +14,6 @@ import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -149,14 +148,14 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
//客户 //客户
salOutStock.setFCustomerID(dto.getCustomerNo()); salOutStock.setFCustomerID(dto.getCustomerNo());
//销售部门id //销售部门id
salOutStock.setFSaleDeptID(baseVehicle.getPurchaseSystemCode()); String orgDeptSid = dto.getOrgSid();
/*ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.selectByPSid(baseVehicle.getCreateOrgSid(), "销售支持部"); ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(orgDeptSid);
if (resultBean1.getSuccess()) { if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean1.getData(); SysOrganizationVo vo = resultBean.getData();
if (vo != null) { if (vo != null) {
salOutStock.setFSaleDeptID(vo.getOrgCode()); salOutStock.setFSaleDeptID(vo.getOrgCode());
} }
}*/ }
//项目类别key和项目类别type //项目类别key和项目类别type
salOutStock.setF_PAEZ_AssistantType("payType"); salOutStock.setF_PAEZ_AssistantType("payType");
salOutStock.setF_PAEZ_AssistantKey(dto.getTypeKey()); salOutStock.setF_PAEZ_AssistantKey(dto.getTypeKey());
@ -189,7 +188,48 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
String remarks = dto.getRemarks(); String remarks = dto.getRemarks();
String note=remarks; String note=remarks;
//备注 //备注
if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) { if(StringUtils.isNotBlank(dto.getMiddleOne())){
if(StringUtils.isNotBlank(dto.getMiddleTwo())){
if(StringUtils.isNotBlank(dto.getRebateMoneyOne())){
if(StringUtils.isNotBlank(dto.getRebateMoneyTwo())){
note=note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"," + dto.getMiddleTwo()+":"+dto.getRebateMoneyTwo()+"。";
fEntity.setFEntrynote(note);
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).add(new BigDecimal(dto.getRebateMoneyTwo())).toString());
}else{
fEntity.setFEntrynote(note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"。");
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
}else{
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
fEntity.setFEntrynote( note+"。返利情况:"+dto.getMiddleTwo()+":"+dto.getRebateMoneyTwo()+"。");
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyTwo()).toString());//dto.getRebateMoneyOne()
}
}
}else{
if(StringUtils.isNotBlank(dto.getRebateMoneyOne())){
note=note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"。";
fEntity.setFEntrynote(note);
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
}
}else{
if(StringUtils.isNotBlank(dto.getMiddleTwo())){
if(StringUtils.isNotBlank(dto.getRebateMoneyTwo())){
note=note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"。";
fEntity.setFEntrynote(note);
//返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyOne()).toString());
}
}
}
/*if (StringUtils.isNotBlank(dto.getRebateMoneyOne())) {
if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) { if (StringUtils.isNotBlank(dto.getRebateMoneyTwo())) {
note=note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"," + dto.getMiddleTwo()+":"+dto.getRebateMoneyTwo()+"。"; note=note+"。返利情况:"+dto.getMiddleOne()+":"+dto.getRebateMoneyOne()+"," + dto.getMiddleTwo()+":"+dto.getRebateMoneyTwo()+"。";
fEntity.setFEntrynote(note); fEntity.setFEntrynote(note);
@ -206,7 +246,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
//返利金额 //返利金额
fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyTwo()).toString());//dto.getRebateMoneyOne() fEntity.setF_PAEZ_Decimal(new BigDecimal(dto.getRebateMoneyTwo()).toString());//dto.getRebateMoneyOne()
} }
} }*/
fEntityList.add(fEntity); fEntityList.add(fEntity);
if (fEntityList.size() > 0) { if (fEntityList.size() > 0) {
salOutStock.setFEntity(fEntityList); salOutStock.setFEntity(fEntityList);

44
anrui-buscenter/anrui-finmanage-ui/src/views/anruifinmanagement/chunafukuan/chunafukuanguanli/cashier.vue

@ -63,12 +63,12 @@
<!-- <span>{{ scope.row.billNo }}</span>--> <!-- <span>{{ scope.row.billNo }}</span>-->
<!-- </template>--> <!-- </template>-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-table-column label="款项类别" align="center"> <el-table-column label="款项类别" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.costTypeValue }}</span> <span>{{ scope.row.costTypeValue }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="款项名称" align="center"> <el-table-column label="款项名称" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.costTitleValue }}</span> <span>{{ scope.row.costTitleValue }}</span>
</template> </template>
@ -78,42 +78,42 @@
<span>{{ scope.row.receiveCompany }}</span> <span>{{ scope.row.receiveCompany }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="收款账号" align="center" width="130px"> <el-table-column label="收款账号" align="center" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.receiveBankAccount }}</span> <span>{{ scope.row.receiveBankAccount }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="金额" align="center"> <el-table-column label="金额" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.cost }}</span> <span>{{ scope.row.cost }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开户名称" align="center"> <el-table-column label="开户名称" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.payBank }}</span> <span>{{ scope.row.payBank }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款账号" align="center"> <el-table-column label="付款账号" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.payBankAccount }}</span> <span>{{ scope.row.payBankAccount }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款备注" align="center"> <el-table-column label="付款备注" align="center" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.payRemark }}</span> <span>{{ scope.row.payRemark }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款人" align="center"> <el-table-column label="付款人" align="center" width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.name }}</span> <span>{{ scope.row.name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款日期" align="center"> <el-table-column label="付款日期" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.payDate }}</span> <span>{{ scope.row.payDate }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="付款凭证" align="center" class-name="small-padding fixed-width"> <el-table-column label="付款凭证" align="center" class-name="small-padding fixed-width" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-show="scope.row.payFile !== ''" size="mini" type="primary" @click="handleGetCheck(scope.row)">查看</el-button> <el-button v-show="scope.row.payFile !== ''" size="mini" type="primary" @click="handleGetCheck(scope.row)">查看</el-button>
</template> </template>
@ -131,7 +131,7 @@
<el-dialog title="" :visible.sync="dialogImgVisible" :append-to-body="true"> <el-dialog title="" :visible.sync="dialogImgVisible" :append-to-body="true">
<img style="width: 100%" alt="" :src="dialogUrl"></img> <img style="width: 100%" alt="" :src="dialogUrl"></img>
</el-dialog> </el-dialog>
<el-dialog :visible.sync="dialogVisible" width="50%" center> <el-dialog :visible.sync="dialogVisible" width="50%" center :show-close="false">
<el-form ref="form_obj" :rules="rules" :model="formobj" class="formadd"> <el-form ref="form_obj" :rules="rules" :model="formobj" class="formadd">
<el-row style="border-top: 1px solid #e0e3eb"> <el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="4"> <el-col :span="4">
@ -472,11 +472,20 @@ export default {
if (this.sids.length === 0) { if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条以上记录进行批量处理' }) this.$message({ showClose: true, type: 'error', message: '请选择至少一条以上记录进行批量处理' })
return return
} else {
if (this.nodeState_list.length > 0) {
for (var i = 0; i < this.nodeState_list.length; i++) {
if (this.nodeState_list[i] !== '未支付') {
this.$message({ showClose: true, type: 'error', message: '因选择的记录中包含已支付的,操作失败' })
return
}
} }
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['form_obj'].clearValidate() this.$refs['form_obj'].clearValidate()
}) })
this.dialogVisible = true this.dialogVisible = true
}
}
}, },
backData(val) { backData(val) {
if (val.length > 0) { if (val.length > 0) {
@ -543,7 +552,18 @@ export default {
}, },
handColse() { handColse() {
this.dialogVisible = false this.dialogVisible = false
this.formobj = {} this.formobj = {
name: '',
payBank: '',
payBankAccount: '',
payDate: '',
payFile: '',
payRemark: '',
payWayKey: '',
payWayValue: '',
sids: [],
userSid: ''
}
this.diploma_list = [] this.diploma_list = []
this.$refs['form_obj'].resetFields() this.$refs['form_obj'].resetFields()
}, },

20
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeConfig.java

@ -12,44 +12,44 @@ public class KingDeeConfig {
/** /**
* 登录金蝶的账户信息 2022010测试 * 登录金蝶的账户信息 2022010测试
*/ */
/* public static String acctID = "61dce6601125a0";*/ public static String acctID = "61dce6601125a0";
/** /**
* 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 * 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统 正式系统
*/ */
public static String acctID = "5e84c526016ed7"; // public static String acctID = "5e84c526016ed7";
/** /**
* 登录金蝶的账户信息 2022010测试的 * 登录金蝶的账户信息 2022010测试的
*/ */
//public static String userName = "信息部2"; public static String userName = "信息部2";
/** /**
* 登录金蝶的账户信息 * 登录金蝶的账户信息
*/ */
//public static String password = "123321"; public static String password = "123321";
/** /**
* 登录金蝶的账户信息 2022010测试 * 登录金蝶的账户信息 2022010测试
*/ */
//public static String userName_administrator = "administrator"; public static String userName_administrator = "administrator";
/** /**
* 登录金蝶的账户信息 2022010测试 * 登录金蝶的账户信息 2022010测试
*/ */
//public static String password_administrator = "ANrui123456."; public static String password_administrator = "ANrui123456.";
/** /**
* 登录金蝶的账户信息 正式系统正式系统正式系统正式系统正式系统 正式系统 正式系统 正式系统 正式系统 * 登录金蝶的账户信息 正式系统正式系统正式系统正式系统正式系统 正式系统 正式系统 正式系统 正式系统
*/ */
public static String userName = "信息部"; // public static String userName = "信息部";
/** /**
* 登录金蝶的账户信息 正式系统正式系统正式系统正式系统正式系统 正式系统 正式系统 正式系统 正式系统 * 登录金蝶的账户信息 正式系统正式系统正式系统正式系统正式系统 正式系统 正式系统 正式系统 正式系统
*/ */
public static String password = "ywzx0750"; // public static String password = "ywzx0750";
/** /**
* 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统 * 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统
*/ */
public static String userName_administrator = "Administrator"; // public static String userName_administrator = "Administrator";
/** /**
* 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统 * 登录金蝶的账户信息 正式系统 正式系统 正式系统 正式系统
*/ */
public static String password_administrator = "hebei@anrui202108."; // public static String password_administrator = "hebei@anrui202108.";
/** /**
* 登录金蝶的账户信息 * 登录金蝶的账户信息
*/ */

11
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java

@ -60,7 +60,6 @@ import com.yxt.anrui.scm.api.scmfile.ScmFile;
import com.yxt.anrui.scm.api.scmvehicleenterlibrary.*; import com.yxt.anrui.scm.api.scmvehicleenterlibrary.*;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppToDoNumQuery; import com.yxt.anrui.scm.api.scmvehicleexamine.AppToDoNumQuery;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouse; import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouse;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.anrui.scm.biz.scmfile.ScmFileService; import com.yxt.anrui.scm.biz.scmfile.ScmFileService;
import com.yxt.anrui.scm.biz.scmwarehouse.ScmWarehouseService; import com.yxt.anrui.scm.biz.scmwarehouse.ScmWarehouseService;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
@ -501,8 +500,10 @@ public class ScmVehicleEnterlibraryService extends MybatisBaseService<ScmVehicle
baseVehicleDto.setUseOrgName(scmVehicleEnterlibrary.getUseOrgName()); baseVehicleDto.setUseOrgName(scmVehicleEnterlibrary.getUseOrgName());
baseVehicleDto.setLocation(scmVehicleEnterlibrary.getLocationSid()); baseVehicleDto.setLocation(scmVehicleEnterlibrary.getLocationSid());
baseVehicleDto.setLocationName(scmVehicleEnterlibrary.getLocation()); baseVehicleDto.setLocationName(scmVehicleEnterlibrary.getLocation());
ScmWarehouseVo scmWarehouseVo = scmWarehouseService.selectByGressionCode(scmVehicleEnterlibrary.getLocationSid()); ScmWarehouse scmWarehouse = scmWarehouseService.fetchBySid(scmVehicleEnterlibrary.getLocationSid());
baseVehicleDto.setLocationCode(scmWarehouseVo.getGressionCode());//库存地点编码 if(scmWarehouse != null){
baseVehicleDto.setLocationCode(scmWarehouse.getGressionCode());//库存地点编码
}
baseVehicleDto.setArrivalDate(scmVehicleEnterlibrary.getInboundDate()); baseVehicleDto.setArrivalDate(scmVehicleEnterlibrary.getInboundDate());
baseVehicleDto.setPriceDate(scmVehicleEnterlibrary.getInboundFactoryDate()); baseVehicleDto.setPriceDate(scmVehicleEnterlibrary.getInboundFactoryDate());
baseVehicleDto.setWarrantyCardNo(scmVehicleEnterlibrary.getWarrantyCardNo());// 保修卡号 验车 baseVehicleDto.setWarrantyCardNo(scmVehicleEnterlibrary.getWarrantyCardNo());// 保修卡号 验车
@ -539,11 +540,13 @@ public class ScmVehicleEnterlibraryService extends MybatisBaseService<ScmVehicle
baseVehicleDto.setManufSaleAccessSid(baseVehicleResultBean.getData().getManufSaleAccessSid()); baseVehicleDto.setManufSaleAccessSid(baseVehicleResultBean.getData().getManufSaleAccessSid());
baseVehicleDto.setManufSaleAccessName(baseVehicleResultBean.getData().getManufSaleAccessName()); baseVehicleDto.setManufSaleAccessName(baseVehicleResultBean.getData().getManufSaleAccessName());
//厂家回款通路类别key //厂家回款通路类别key
BaseManufacturerBankVo baseManufacturerBankVo = baseManufacturerBankFeign.selectDetails(baseVehicleResultBean.getData().getManufSaleAccessSid()).getData(); BaseManufacturerBankVo baseManufacturerBankVo = baseManufacturerBankFeign.details(baseVehicleResultBean.getData().getManufSaleAccessSid()).getData();
if(baseManufacturerBankVo != null){
baseVehicleDto.setManufSaleAccessKey(baseManufacturerBankVo.getActualPayKey()); baseVehicleDto.setManufSaleAccessKey(baseManufacturerBankVo.getActualPayKey());
//付款通路code //付款通路code
baseVehicleDto.setPaymentAccessNoKey(baseManufacturerBankVo.getPaymentAccessNoKey()); baseVehicleDto.setPaymentAccessNoKey(baseManufacturerBankVo.getPaymentAccessNoKey());
} }
}
List<BaseVehicleDto> list = new ArrayList<>(); List<BaseVehicleDto> list = new ArrayList<>();
list.add(baseVehicleDto); list.add(baseVehicleDto);
baseVehicleFeign.saveOrUpdate(list, OperVehicleState.EventType.TC_SAVEVEH.getCode()); baseVehicleFeign.saveOrUpdate(list, OperVehicleState.EventType.TC_SAVEVEH.getCode());

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineMapper.java

@ -105,4 +105,7 @@ public interface ScmVehicleExamineMapper extends BaseMapper<ScmVehicleExamine> {
@Select("SELECT count(*) FROM scm_vehicle_examine WHERE useOrgSid = #{useOrgSid} and inspectionResult = '1' ") @Select("SELECT count(*) FROM scm_vehicle_examine WHERE useOrgSid = #{useOrgSid} and inspectionResult = '1' ")
int getToDoNum(@Param("useOrgSid") String useOrgSid); int getToDoNum(@Param("useOrgSid") String useOrgSid);
@Select("SELECT count(*) FROM scm_vehicle_examine WHERE vinNo = #{vinNo} and useOrgSid = #{orgPath} and inspectionResult = '2' ")
int getCountByVinNo(@Param("vinNo") String vinNo, @Param("orgPath") String orgPath);
} }

21
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -233,7 +233,7 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
String orgPath = params.getOrgPath(); String orgPath = params.getOrgPath();
if (StringUtils.isBlank(orgPath)) { if (StringUtils.isBlank(orgPath)) {
orgPath = sysStaffOrgFeign.getPathSidByUserSid(pagerQuery.getParams().getUserSid()).getData(); orgPath = sysStaffOrgFeign.getPathSidByUserSid(pagerQuery.getParams().getUserSid()).getData();
}else{ } else {
orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} }
params.setUseOrgSid(orgPath); params.setUseOrgSid(orgPath);
@ -563,16 +563,21 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
} }
String orgPath = dto.getOrgPath(); String orgPath = dto.getOrgPath();
String orgName = ""; String orgName = "";
if(StringUtils.isBlank(orgPath)){ if (StringUtils.isBlank(orgPath)) {
orgPath = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData(); orgPath = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}else{ } else {
orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} }
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgPath); ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgPath);
if(sysOrganizationVoResultBean.getSuccess()){ if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData(); SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
orgName = sysOrganizationVo.getName(); orgName = sysOrganizationVo.getName();
} }
String vinNo = dto.getVin();
int countByVinNo = baseMapper.getCountByVinNo(vinNo, orgPath);
if (countByVinNo > 0) {
return rb.setMsg("该车架号已存在,请勿重复验车!");
}
String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid(); String staffSid = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData().getStaffSid();
SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData(); SysStaffinfoVo data = sysUserFeign.getSysUserByMobile(staffSid).getData();
String s1 = ""; String s1 = "";
@ -645,9 +650,9 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
int price = Integer.valueOf(outsourcingApplicationDetailsVo.getPurchasePrice());//采购价格 int price = Integer.valueOf(outsourcingApplicationDetailsVo.getPurchasePrice());//采购价格
Integer num = outsourcingApplicationDetailsVo.getNum();//采购数量 Integer num = outsourcingApplicationDetailsVo.getNum();//采购数量
int deposit = Integer.valueOf(outsourcingApplicationDetailsVo.getDeposit());//订金 int deposit = Integer.valueOf(outsourcingApplicationDetailsVo.getDeposit());//订金
if(deposit>0){ if (deposit > 0) {
finPaymentrecordDto.setCost(price - deposit / num);//付款金额 finPaymentrecordDto.setCost(price - deposit / num);//付款金额
}else{ } else {
finPaymentrecordDto.setCost(price);//付款金额 finPaymentrecordDto.setCost(price);//付款金额
} }
finPaymentrecordDto.setBusSid(scmVehicleExamine.getBusinessSid());//外采申请sid finPaymentrecordDto.setBusSid(scmVehicleExamine.getBusinessSid());//外采申请sid
@ -709,9 +714,9 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String userSid = appToDoNumQuery.getUserSid(); String userSid = appToDoNumQuery.getUserSid();
String orgPath = appToDoNumQuery.getOrgPath(); String orgPath = appToDoNumQuery.getOrgPath();
if(StringUtils.isBlank(orgPath)){ if (StringUtils.isBlank(orgPath)) {
orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData(); orgPath = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();
}else{ } else {
orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); orgPath = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
} }
int count = baseMapper.getToDoNum(orgPath); int count = baseMapper.getToDoNum(orgPath);

39
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclepatrolinspectionsheet/ScmVehiclePatrolinspectionsheetService.java

@ -67,9 +67,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList; import java.util.*;
import java.util.Date;
import java.util.List;
/** /**
* Project: anrui_scm(anrui_scm) <br/> * Project: anrui_scm(anrui_scm) <br/>
@ -317,7 +315,6 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
scmFile1.setLinkSid(scmVehiclePatrolinspectionsheet.getSid()); scmFile1.setLinkSid(scmVehiclePatrolinspectionsheet.getSid());
scmFileService.save(scmFile1); scmFileService.save(scmFile1);
} }
List<String> receiveIdList = new ArrayList<>();
List<AppLiableListDto> liableList = new ArrayList<>(); List<AppLiableListDto> liableList = new ArrayList<>();
AppLiableListDto appLiableListDto = new AppLiableListDto(); AppLiableListDto appLiableListDto = new AppLiableListDto();
List<String> recipientSidList = new ArrayList<>(); List<String> recipientSidList = new ArrayList<>();
@ -325,18 +322,16 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
appLiableListDto.setLiableSid(dto.getLiableSid()); appLiableListDto.setLiableSid(dto.getLiableSid());
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
recipientSidList.add(appLiableListDto.getLiableSid()); recipientSidList.add(appLiableListDto.getLiableSid());
SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData();
Integer id = sysUserVos.getId();
receiveIdList.add(String.valueOf(id));
// 消息推送 // 消息推送
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid()); Map<String, Object> appMap = new HashMap<>();
query.setList(recipientSidList); appMap.put("sid", dto.getMainSid());
query.setReceiveIdList(receiveIdList); query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("月度巡检问题"); query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅"); query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链"); query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri()); query.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri());
query.setApp_type("2"); query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链"); query.setName("供应链");
@ -364,7 +359,6 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
} }
save(scmVehiclePatrolinspectionsheet); save(scmVehiclePatrolinspectionsheet);
scmVehiclePatrolinspectionService.updateByMainSid(oneKey, oneValue, newDate, sysUserVo.getName(), dto.getMainSid()); scmVehiclePatrolinspectionService.updateByMainSid(oneKey, oneValue, newDate, sysUserVo.getName(), dto.getMainSid());
List<String> receiveIdList = new ArrayList<>();
List<AppLiableListDto> liableList = new ArrayList<>(); List<AppLiableListDto> liableList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>(); List<String> recipientSidList = new ArrayList<>();
AppLiableListDto appLiableListDto = new AppLiableListDto(); AppLiableListDto appLiableListDto = new AppLiableListDto();
@ -372,18 +366,16 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
appLiableListDto.setLiableSid(dto.getLiableSid()); appLiableListDto.setLiableSid(dto.getLiableSid());
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
recipientSidList.add(dto.getLiableSid()); recipientSidList.add(dto.getLiableSid());
SysUserVo sysUserVos = sysUserFeign.fetchBySid(dto.getLiableSid()).getData();
Integer id = sysUserVos.getId();
receiveIdList.add(String.valueOf(id));
// 消息推送 // 消息推送
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid()); Map<String, Object> appMap = new HashMap<>();
query.setList(recipientSidList); appMap.put("sid", dto.getMainSid());
query.setReceiveIdList(receiveIdList); query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("月度巡检问题"); query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅"); query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链"); query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri()); query.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri());
query.setApp_type("2"); query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链"); query.setName("供应链");
@ -512,13 +504,14 @@ public class ScmVehiclePatrolinspectionsheetService extends MybatisBaseService<S
liableList.add(appLiableListDto); liableList.add(appLiableListDto);
// 消息推送 // 消息推送
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid()); Map<String, Object> appMap = new HashMap<>();
query.setList(recipientSidList); appMap.put("sid", dto.getMainSid());
query.setReceiveIdList(receiveIdList); query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("月度巡检问题"); query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅"); query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链"); query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri()); query.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri());
query.setApp_type("2"); query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链"); query.setName("供应链");

13
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventoryreport/ScmVehInventoryreportService.java

@ -49,7 +49,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* Project: aaa(aaa) <br/> * Project: aaa(aaa) <br/>
@ -153,19 +155,16 @@ public class ScmVehInventoryreportService extends MybatisBaseService<ScmVehInven
scmVehInventoryreport.setCreateBySid(dto.getUserSid()); scmVehInventoryreport.setCreateBySid(dto.getUserSid());
save(scmVehInventoryreport); save(scmVehInventoryreport);
List<String> receiveIdList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>(); List<String> recipientSidList = new ArrayList<>();
for (RecipientListDto recipientListDto : recipientList) { for (RecipientListDto recipientListDto : recipientList) {
SysUserVo sysUserVos = sysUserFeign.fetchBySid(recipientListDto.getSid()).getData();
Integer id = sysUserVos.getId();
recipientSidList.add(recipientListDto.getSid()); recipientSidList.add(recipientListDto.getSid());
receiveIdList.add(String.valueOf(id));
} }
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid()); Map<String, Object> appMap = new HashMap<>();
query.setList(recipientSidList); appMap.put("sid", dto.getMainSid());
query.setReceiveIdList(receiveIdList); query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("供应链"); query.setMsgTitle("供应链");
query.setMsgContent(sysUserVo.getName() + "提交的月度盘库报告,请查阅"); query.setMsgContent(sysUserVo.getName() + "提交的月度盘库报告,请查阅");
query.setMsgSource("供应链"); query.setMsgSource("供应链");

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehpatrolinspectionreport/ScmVehPatrolinspectionreportService.java

@ -67,7 +67,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
import java.util.concurrent.Future; import java.util.concurrent.Future;
@ -188,22 +190,20 @@ public class ScmVehPatrolinspectionreportService extends MybatisBaseService<ScmV
save(scmVehPatrolinspectionreport); save(scmVehPatrolinspectionreport);
scmVehiclePatrolinspectionService.updateState(dto.getMainSid()); scmVehiclePatrolinspectionService.updateState(dto.getMainSid());
scmVehPatrolinspectionmonthService.updateBySidState(dto.getMainSid()); scmVehPatrolinspectionmonthService.updateBySidState(dto.getMainSid());
List<String> receiveIdList = new ArrayList<>();
List<String> recipientSidList = new ArrayList<>(); List<String> recipientSidList = new ArrayList<>();
List<AppLiableListDto> list = dto.getList(); List<AppLiableListDto> list = dto.getList();
for (AppLiableListDto appLiableListDto : list) { for (AppLiableListDto appLiableListDto : list) {
SysUserVo data = sysUserFeign.fetchBySid(appLiableListDto.getLiableSid()).getData();
receiveIdList.add(String.valueOf(data.getId()));
recipientSidList.add(appLiableListDto.getLiableSid()); recipientSidList.add(appLiableListDto.getLiableSid());
} }
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery(); AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
query.setMainSid(dto.getMainSid()); Map<String, Object> appMap = new HashMap<>();
query.setList(recipientSidList); appMap.put("sid", dto.getMainSid());
query.setReceiveIdList(receiveIdList); query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("月度巡检问题"); query.setMsgTitle("月度巡检问题");
query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅"); query.setMsgContent(sysUserVo.getName() + "提交的月度巡检问题,请查阅");
query.setMsgSource("供应链"); query.setMsgSource("供应链");
query.setMsgTargetUri(MsgTargetUriEnum.GYLPKBG.getUri()); query.setMsgTargetUri(MsgTargetUriEnum.GYLXJWT.getUri());
query.setApp_type("2"); query.setApp_type("2");
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd"); query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("供应链"); query.setName("供应链");

3
anrui-scm/anrui-scm-ui/src/views/kucunguanli/changjiatuiku/changjiatuikuguanli/changjiatuikuAdd.vue

@ -249,7 +249,8 @@ export default {
}) })
}, },
confirm(row) { confirm(row) {
if (row.refundMoney !== row.costPrice && row.manDeduRemarks === '') { console.log(row, 9999)
if (row.refundMoney !== row.costPrice.toString() && row.manDeduRemarks === '') {
this.$message({ showClose: true, type: 'error', message: '因厂家结算价与退款金额不一致,请填写厂家扣款说明' }) this.$message({ showClose: true, type: 'error', message: '因厂家结算价与退款金额不一致,请填写厂家扣款说明' })
return return
} }

8
anrui-scm/anrui-scm-ui/src/views/supplychain/cheliangpaichan/cheliangpaichan.vue

@ -383,4 +383,12 @@ export default {
display: inline-block; display: inline-block;
margin: 0px 15px; margin: 0px 15px;
} }
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed {
height: 100% !important;
}
/*表格列设置fixed后固定列出现下边框的设置*/
/deep/ .el-table__fixed-right {
height: 100% !important;
}
</style> </style>

24
anrui-system-ui/src/views/Home/Home.vue

@ -365,23 +365,23 @@ export default {
// this.$router.push({path: '/index'}) // this.$router.push({path: '/index'})
let myPopup = window.open('/#/index', '_blank') let myPopup = window.open('/#/index', '_blank')
} else if (index == '7') { } else if (index == '7') {
// let myPopup = window.open('http://anrui.yyundong.com/base/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/base/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/base/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/base/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '8') { } else if (index == '8') {
// let myPopup = window.open('http://anrui.yyundong.com/message/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/message/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/message/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/message/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '1') { } else if (index == '1') {
// let myPopup = window.open('http://anrui.yyundong.com/scm/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/scm/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/scm/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/scm/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '4') { } else if (index == '4') {
// let myPopup = window.open('http://anrui.yyundong.com/fin/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/fin/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/fin/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/fin/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '5') { } else if (index == '5') {
// let myPopup = window.open('http://anrui.yyundong.com/manage/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/manage/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/manage/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/manage/#/' + '?token=' + getStorage(), '_blank')
} else if (index == '0') { } else if (index == '0') {
// let myPopup = window.open('http://anrui.yyundong.com/buscenter/#/' + '?token=' + getStorage(), '_blank') let myPopup = window.open('http://anrui.yyundong.com/buscenter/#/' + '?token=' + getStorage(), '_blank')
let myPopup = window.open('http://120.46.172.184/buscenter/#/' + '?token=' + getStorage(), '_blank') // let myPopup = window.open('http://120.46.172.184/buscenter/#/' + '?token=' + getStorage(), '_blank')
} }
// const page = this.$router.resolve({name: name}) // const page = this.$router.resolve({name: name})
// window.open(page.href,'_blank') // window.open(page.href,'_blank')

4
anrui-system-ui/src/views/flow/doneList.vue

@ -255,8 +255,8 @@ import flowRecords from '@/components/flow/flowRecord'
selectUrl(this.selectUrl_list).then((response) => { selectUrl(this.selectUrl_list).then((response) => {
if (response.code === '200') { if (response.code === '200') {
// this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) // this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://anrui.yyundong.com' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) this.url = 'http://anrui.yyundong.com' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
this.url = 'http://120.46.172.184' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) // this.url = 'http://120.46.172.184' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
} else { } else {
this.$notify({ this.$notify({
title: '提示', title: '提示',

4
anrui-system-ui/src/views/flow/todoList.vue

@ -286,8 +286,8 @@ export default {
selectUrl(this.selectUrl_list).then((response) => { selectUrl(this.selectUrl_list).then((response) => {
if (response.code === '200') { if (response.code === '200') {
// this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) // this.url = 'http://127.0.0.1:9531' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
// this.url = 'http://anrui.yyundong.com' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) this.url = 'http://anrui.yyundong.com' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
this.url = 'http://120.46.172.184' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list))) // this.url = 'http://120.46.172.184' + response.data.url + '?token=' + getStorage() + '&data=' + encodeURI((JSON.stringify(parameter_list)))
console.log('已办拼接url:',this.url) console.log('已办拼接url:',this.url)
} else { } else {
this.$notify({ this.$notify({

Loading…
Cancel
Save