Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
dimengzhe 3 weeks ago
parent
commit
822e689121
  1. 21
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java
  2. 43
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java
  3. 45
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java
  4. 22
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java
  5. 17
      anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java
  6. 6
      anrui-reportcenter/anrui-reportcenter-biz/pom.xml
  7. 2
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java
  8. 48
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java
  9. 117
      anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java
  10. 61
      anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue
  11. 2
      anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue
  12. 1
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java
  13. 14
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  14. 987
      anrui-system-ui/src/views/Home/Home.vue

21
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/AppVehRebateFeign.java

@ -0,0 +1,21 @@
package com.yxt.anrui.reportcenter.api.vehRebate;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
@FeignClient(
contextId = "anrui-reportcenter-AppVehRebate",
name = "anrui-reportcenter",
path = "v1/carRebate")
public interface AppVehRebateFeign {
@ApiOperation("单车返利统计列表")
@PostMapping("/list")
@ResponseBody
ResultBean<VehRebatePageVo> list(@RequestBody PagerQuery<VehRebatePageQuery> pagerQuery);
}

43
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/ListVehRebate.java

@ -0,0 +1,43 @@
package com.yxt.anrui.reportcenter.api.vehRebate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class ListVehRebate {
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("销售日期")
private String saleTime;
@ApiModelProperty("实销日期")
private String realSaleTime;
@ApiModelProperty("预提返利")
private String rebateEstimate;
@ApiModelProperty("上传")
private String rebateUpload;
@ApiModelProperty("二次上传")
private String rebateSecondaryUpload;
@ApiModelProperty("待确定")
private String rebateStayDetermine;
@ApiModelProperty("调整")
private String rebateAdjust;
@ApiModelProperty("未上传")
private String rebateNoUpload;
@ApiModelProperty("费用预提")
private String feesEstimate;
@ApiModelProperty("上传")
private String feeUpload;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("品牌")
private String brand;
@ApiModelProperty("采购系统")
private String buySystem;
@ApiModelProperty("分公司")
private String branch;
@ApiModelProperty("事业部")
private String division;
@ApiModelProperty("车辆sid")
private String sid;
}

45
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/TotalVehRebate.java

@ -0,0 +1,45 @@
package com.yxt.anrui.reportcenter.api.vehRebate;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class TotalVehRebate implements Vo {
private static final long serialVersionUID = -8631337422991366458L;
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("合同状态")
private String contractType;
@ApiModelProperty("合同编号")
private String contractId;
@ApiModelProperty("欠款金额")
private String arrearsMoney;
@ApiModelProperty("承诺汇款日期")
private String paymentDate;
@ApiModelProperty("申请人")
private String applicant;
@ApiModelProperty("数量")
private String number;
@ApiModelProperty("原因")
private String reason;
@ApiModelProperty("创建日期")
private String date;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("是否显示办理按钮")
private Boolean showUpdateBtn;
@ApiModelProperty("是否显示删除按钮")
private Boolean showDeleteBtn;
@ApiModelProperty("是否显示领票按钮")
private Boolean showGetInvoiceBtn;
@ApiModelProperty("车型")
private String model;
@ApiModelProperty("销售类型")
private String type;
@ApiModelProperty("车架号(拼接)")
private String vinNo;
@ApiModelProperty("是否领取发票原件")
private String isLQOrigInvoice;
}

22
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageQuery.java

@ -0,0 +1,22 @@
package com.yxt.anrui.reportcenter.api.vehRebate;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VehRebatePageQuery implements Query {
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("条件")
private String names;
@ApiModelProperty("销售日期")
private String date;
@ApiModelProperty("实销日期")
private String date2;
}

17
anrui-reportcenter/anrui-reportcenter-api/src/main/java/com/yxt/anrui/reportcenter/api/vehRebate/VehRebatePageVo.java

@ -0,0 +1,17 @@
package com.yxt.anrui.reportcenter.api.vehRebate;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class VehRebatePageVo {
@ApiModelProperty("合计")
private TotalVehRebate total;
@ApiModelProperty("列表")
private List<ListVehRebate> list;
@ApiModelProperty("总页数")
private Integer pages;
}

6
anrui-reportcenter/anrui-reportcenter-biz/pom.xml

@ -116,6 +116,12 @@
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.yxt.anrui.scm</groupId>
<artifactId>anrui-scm-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>

2
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/ReportcenterApplication.java

@ -14,7 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.reportcenter"
})
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal","com.yxt.anrui.base"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.*"})
public class ReportcenterApplication {
public static void main(String[] args) {

48
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateRest.java

@ -0,0 +1,48 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.reportcenter.biz.vehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.AppVehRebateFeign;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController()
@RequestMapping("v1/carRebate")
public class AppVehRebateRest implements AppVehRebateFeign {
@Autowired
private AppVehRebateService appVehRebateService;
@Override
public ResultBean<VehRebatePageVo> list(PagerQuery<VehRebatePageQuery> query) {
return appVehRebateService.list(query);
}
}

117
anrui-reportcenter/anrui-reportcenter-biz/src/main/java/com/yxt/anrui/reportcenter/biz/vehRebate/AppVehRebateService.java

@ -0,0 +1,117 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.reportcenter.biz.vehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.ListVehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.TotalVehRebate;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageQuery;
import com.yxt.anrui.reportcenter.api.vehRebate.VehRebatePageVo;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatQuery;
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateStatVo;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
@Service
public class AppVehRebateService {
@Autowired
private ScmVehRebateFeign scmVehRebateFeign;
public ResultBean<VehRebatePageVo> list(PagerQuery<VehRebatePageQuery> query) {
ResultBean rb = ResultBean.fireFail();
//返回值
VehRebatePageVo vehRebatePageVo = new VehRebatePageVo();
TotalVehRebate totalVehRebate = new TotalVehRebate();
List<ListVehRebate> listVehRebates = new ArrayList<>();
//查询条件
PagerQuery<ScmVehRebateStatQuery> scmVehRebateStatQueryPagerQuery = new PagerQuery<>();
ScmVehRebateStatQuery scmVehRebateStatQuery = new ScmVehRebateStatQuery();
VehRebatePageQuery params = query.getParams();
scmVehRebateStatQuery.setOrgPath(params.getOrgPath());
scmVehRebateStatQuery.setUserSid(params.getUserSid());
scmVehRebateStatQuery.setMenuSid(params.getMenuSid());
scmVehRebateStatQuery.setNames(params.getNames());
//发起日期查询
String date = params.getDate();
if(StringUtils.isNotBlank(date)){
String[] s = date.split("至");
String startDate = s[0];
if (StringUtils.isNotBlank(startDate)) {
scmVehRebateStatQuery.setSaleDateStart(startDate);
}
String endDate = s[1];
if (StringUtils.isNotBlank(endDate)) {
scmVehRebateStatQuery.setSaleDateEnd(endDate);
}
}
String date2 = params.getDate2();
if(StringUtils.isNotBlank(date2)){
String[] s = date2.split("至");
String startDate = s[0];
if (StringUtils.isNotBlank(startDate)) {
scmVehRebateStatQuery.setAcSaleDateStart(startDate);
}
String endDate = s[1];
if (StringUtils.isNotBlank(endDate)) {
scmVehRebateStatQuery.setAcSaleDateEnd(endDate);
}
}
scmVehRebateStatQueryPagerQuery.setParams(scmVehRebateStatQuery);
PagerVo<ScmVehRebateStatVo> data = scmVehRebateFeign.statistics(scmVehRebateStatQueryPagerQuery).getData();
for (ScmVehRebateStatVo record : data.getRecords()) {
ListVehRebate listVehRebate = new ListVehRebate();
listVehRebate.setVin(record.getVinNo());
listVehRebate.setSaleTime(record.getSaleDate());
listVehRebate.setRealSaleTime(record.getAcSaleDate());
listVehRebate.setRebateEstimate(record.getEstimateRebate().toString());
listVehRebate.setRebateUpload(record.getUploadMoney().toString());
listVehRebate.setRebateSecondaryUpload(record.getSecondaryUploadMoney().toString());
listVehRebate.setRebateStayDetermine(record.getStayDetermineMoney().toString());
listVehRebate.setRebateAdjust(record.getAdjustmentMoney().toString());
listVehRebate.setRebateNoUpload(record.getNotUploadMoney().toString());
listVehRebate.setFeesEstimate(record.getExpectCost().toString());
listVehRebate.setFeeUpload(record.getMoney().toString());
listVehRebate.setModel(record.getVehModelName());
listVehRebate.setBrand(record.getBrandName());
listVehRebate.setBuySystem(record.getPurchaseSystemName());
listVehRebate.setBranch(record.getUseOrgName());
listVehRebate.setDivision(record.getDivision());
listVehRebate.setSid(record.getVehSid());
listVehRebates.add(listVehRebate);
}
vehRebatePageVo.setList(listVehRebates);
vehRebatePageVo.setPages((int) data.getPages());
return rb.success().setData(vehRebatePageVo);
}
}

61
anrui-riskcenter-ui/src/views/secondarysales/relation/generatecontract.vue

@ -5,7 +5,6 @@
<div>{{ viewTitle }}</div>
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate()">保存</el-button>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="submit()">生成</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
@ -31,7 +30,7 @@
</div>
<el-row>
<el-col :span="8">
<div class="span-sty">新车主名称</div>
<div class="span-sty"><span class="icon">*</span>新车主名称</div>
<el-form-item>
<el-select v-model="formobj.customerName" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.vinOwner"/>
@ -39,11 +38,11 @@
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">客户类型</div>
<div class="span-sty"><span class="icon">*</span>客户类型</div>
<el-form-item><span class="addinputInfo">{{ formobj.customerType }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">联系电话</div>
<div class="span-sty"><span class="icon">*</span>联系电话</div>
<el-form-item><span class="addinputInfo">{{ formobj.mobile }}</span></el-form-item>
</el-col>
</el-row>
@ -80,6 +79,23 @@
<el-table-column prop="vehType" label="车辆类型" align="center" min-width="120"/>
<el-table-column prop="modelName" label="车型" align="center" min-width="130"/>
</el-table>
<div class="title">附件</div>
<el-row>
<el-col :span="24">
<div class="span-sty">合同</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.contractFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty">证件</div>
<el-form-item>
<uploadImg ref="uploadImg" class="addinputInfo" v-model="formobj.otherFiles" :limit="50" bucket="map" :upload-data="{ type: '0001' }"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
@ -184,6 +200,8 @@ export default {
endDate: '',
certificateAddress: '',
loanSecondarySalesVehVoList: [],
contractFiles: [],
otherFiles: []
},
rules: {}
}
@ -275,9 +293,27 @@ export default {
}
},
saveOrUpdate() {
if (this.formobj.customerName === '' || this.formobj.mobile === '' || this.formobj.customerType === '') {
this.$message({ showClose: true, type: 'error', message: '客户信息中新车主名称、客户类型、联系电话等不能为空' })
return
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
if (this.formobj.contractFiles.length > 0) {
const aa = []
this.formobj.contractFiles.forEach((e) => {
aa.push(e.url)
})
this.formobj.contractFiles = aa
}
if (this.formobj.otherFiles.length > 0) {
const bb = []
this.formobj.otherFiles.forEach((e) => {
bb.push(e.url)
})
this.formobj.otherFiles = bb
}
req.save(this.formobj).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '保存成功' })
@ -291,23 +327,6 @@ export default {
}
})
},
submit() {
// this.$refs['form_obj'].validate((valid) => {
// if (valid) {
// this.submitdisabled = true
// req.saveOrUpdate(this.formobj).then((res) => {
// if (res.success) {
// this.$message({ showClose: true, type: 'success', message: '' })
// this.handleReturn('true')
// } else {
// this.submitdisabled = false
// }
// }).catch(() => {
// this.submitdisabled = false
// })
// }
// })
},
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj = {

2
anrui-riskcenter-ui/src/views/secondarysales/secondarysales.vue

@ -202,7 +202,7 @@ export default {
size: 'small',
icon: '',
btnKey: 'toCreate',
btnLabel: '生成合同'
btnLabel: '补充信息'
},
{
type: 'primary',

1
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateStatQuery.java

@ -56,4 +56,5 @@ public class ScmVehRebateStatQuery implements Query {
private String orgPath;
private String menuUrl;
private String menuSid;
private String names;
}

14
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -361,7 +361,7 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
ScmVehRebateStatQuery query = pq.getParams();
QueryWrapper<ScmVehRebate> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
@ -423,11 +423,15 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
qw.apply(StringUtils.isNotBlank(saleDateStart), "date_format (v.salesDate,'%Y-%m-%d') >= date_format('" + saleDateStart + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(saleDateEnd), "date_format (v.salesDate,'%Y-%m-%d') <= date_format('" + saleDateEnd + "','%Y-%m-%d')"
);
/* String acSaleDateStart = query.getAcSaleDateStart();
String acSaleDateStart = query.getAcSaleDateStart();
String acSaleDateEnd = query.getAcSaleDateEnd();
qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (createTime,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (createTime,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')"
);*/
qw.apply(StringUtils.isNotBlank(acSaleDateStart), "date_format (v.solidDate,'%Y-%m-%d') >= date_format('" + acSaleDateStart + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(acSaleDateEnd), "date_format (v.solidDate,'%Y-%m-%d') <= date_format('" + acSaleDateEnd + "','%Y-%m-%d')"
);
//移动端条件
if (StringUtils.isNotBlank(query.getNames())) {
qw.and(wrapper -> wrapper.like("r.useOrgName", query.getUseOrgName()).or().like("o.name", query.getNames()).or().like("r.vinNo", query.getNames()).or().like("r.vehModelName", query.getNames()).or().like("r.brandName", query.getNames()).or().like("r.purchaseSystemName", query.getNames()));
}
qw.groupBy("r.vehSid");
qw.orderByDesc("r.createTime");
IPage<ScmVehRebate> page = PagerUtil.queryToPage(pq);

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

File diff suppressed because it is too large
Loading…
Cancel
Save