'11111'
This commit is contained in:
parent
5a73a179ff
commit
93ee2e9cfb
|
@ -847,6 +847,9 @@ public class QuotController extends BaseController
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
BigDecimal matQuotTp = materials.get(0).getMatQuotTp();
|
BigDecimal matQuotTp = materials.get(0).getMatQuotTp();
|
||||||
|
if(matQuotTp == null){
|
||||||
|
matQuotTp = BigDecimal.ONE;
|
||||||
|
}
|
||||||
tpxd = matQuotTp;
|
tpxd = matQuotTp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -985,4 +988,23 @@ public class QuotController extends BaseController
|
||||||
List<Quot> list = quotService.selectStatisticsQuotList(quot);
|
List<Quot> list = quotService.selectStatisticsQuotList(quot);
|
||||||
return getDataTable(list);
|
return getDataTable(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计有效报价单模块-明细进单占比
|
||||||
|
*/
|
||||||
|
@PreAuthorize("@ss.hasPermi('quot:quot:listStatisticsQuotQuot')")
|
||||||
|
@GetMapping("/zbInfo")
|
||||||
|
public String zbInfo(Quot quot)
|
||||||
|
{
|
||||||
|
String zbInfo = "";
|
||||||
|
List<QuotZb> list = quotService.selectZbInfo(quot);
|
||||||
|
for(QuotZb quotZb:list){
|
||||||
|
if(StringUtils.isEmpty(zbInfo)){
|
||||||
|
zbInfo = quotZb.getQuot_distinguish()+":"+quotZb.getQuot_percentage()+"%";
|
||||||
|
}else{
|
||||||
|
zbInfo = zbInfo +","+quotZb.getQuot_distinguish()+":"+quotZb.getQuot_percentage()+"%";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return zbInfo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.ruoyi.quot.domain;
|
||||||
|
|
||||||
|
public class QuotZb {
|
||||||
|
private String quot_distinguish;
|
||||||
|
private String quot_percentage;
|
||||||
|
|
||||||
|
public String getQuot_distinguish() {
|
||||||
|
if("1".equals(quot_distinguish)){
|
||||||
|
quot_distinguish = "明细进单";
|
||||||
|
}
|
||||||
|
if("2".equals(quot_distinguish)){
|
||||||
|
quot_distinguish = "附件进单";
|
||||||
|
}
|
||||||
|
return quot_distinguish;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setQuot_distinguish(String quot_distinguish) {
|
||||||
|
this.quot_distinguish = quot_distinguish;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getQuot_percentage() {
|
||||||
|
return quot_percentage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setQuot_percentage(String quot_percentage) {
|
||||||
|
this.quot_percentage = quot_percentage;
|
||||||
|
}
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package com.ruoyi.quot.mapper;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.ruoyi.quot.domain.Quot;
|
import com.ruoyi.quot.domain.Quot;
|
||||||
import com.ruoyi.quot.domain.QuotMaterial;
|
import com.ruoyi.quot.domain.QuotMaterial;
|
||||||
|
import com.ruoyi.quot.domain.QuotZb;
|
||||||
import com.ruoyi.quot.domain.SysOaQuot;
|
import com.ruoyi.quot.domain.SysOaQuot;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -161,4 +162,10 @@ public interface QuotMapper
|
||||||
*/
|
*/
|
||||||
List<Quot> selectStatisticsQuotList(Quot quot);
|
List<Quot> selectStatisticsQuotList(Quot quot);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计有效报价单模块-明细进单占比
|
||||||
|
* @param quot
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<QuotZb> selectZbInfo(Quot quot);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
||||||
|
|
||||||
import com.ruoyi.customer.domain.Customer;
|
import com.ruoyi.customer.domain.Customer;
|
||||||
import com.ruoyi.quot.domain.Quot;
|
import com.ruoyi.quot.domain.Quot;
|
||||||
|
import com.ruoyi.quot.domain.QuotZb;
|
||||||
import com.ruoyi.quot.domain.SysOaQuot;
|
import com.ruoyi.quot.domain.SysOaQuot;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -143,4 +144,11 @@ public interface IQuotService
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Quot> selectStatisticsQuotList(Quot quot);
|
List<Quot> selectStatisticsQuotList(Quot quot);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计有效报价单模块-明细进单占比
|
||||||
|
* @param quot
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<QuotZb> selectZbInfo(Quot quot);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.ruoyi.common.enums.DataSourceType;
|
||||||
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.uuid.UUID;
|
import com.ruoyi.common.utils.uuid.UUID;
|
||||||
import com.ruoyi.customer.domain.Customer;
|
import com.ruoyi.customer.domain.Customer;
|
||||||
|
import com.ruoyi.quot.domain.QuotZb;
|
||||||
import com.ruoyi.quot.domain.SysOaQuot;
|
import com.ruoyi.quot.domain.SysOaQuot;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
@ -297,4 +298,14 @@ public class QuotServiceImpl implements IQuotService
|
||||||
public List<Quot> selectStatisticsQuotList(Quot quot) {
|
public List<Quot> selectStatisticsQuotList(Quot quot) {
|
||||||
return quotMapper.selectStatisticsQuotList(quot);
|
return quotMapper.selectStatisticsQuotList(quot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计有效报价单模块-明细进单占比
|
||||||
|
* @param quot
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<QuotZb> selectZbInfo(Quot quot) {
|
||||||
|
return quotMapper.selectZbInfo(quot);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -555,4 +555,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</where>
|
</where>
|
||||||
order by a.quot_quotation_date desc
|
order by a.quot_quotation_date desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectZbInfo" resultType="QuotZb">
|
||||||
|
select quot_distinguish,100 * count / SUM(count) OVER() AS quot_percentage
|
||||||
|
from (
|
||||||
|
select quot_distinguish,count(1) count
|
||||||
|
from quot
|
||||||
|
<where>
|
||||||
|
<if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
|
||||||
|
and datediff(d, quot_quotation_date, #{params.beginTime}) <![CDATA[<=]]> 0
|
||||||
|
</if>
|
||||||
|
<if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
|
||||||
|
and datediff(d, quot_quotation_date, #{params.endTime}) <![CDATA[>=]]> 0
|
||||||
|
</if>
|
||||||
|
and quot_distinguish is not null
|
||||||
|
and quot_distinguish in ('1','2')
|
||||||
|
and quot_approval_status = '2'
|
||||||
|
</where>
|
||||||
|
group by quot_distinguish) a
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -208,3 +208,13 @@ export function listStatisticsQuotQuot(query) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//统计有效报价单模块-明细进单占比
|
||||||
|
export function zbInfo(query) {
|
||||||
|
return request({
|
||||||
|
url: '/quot/quot/zbInfo',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -139,7 +139,7 @@
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
@click.native="selectRbDate(item.value)"/>
|
@click.native="selectRbDate(item.value)"/>
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-button style="float: right;" size="mini" type="info" plain icon="el-icon-upload2" @click="handleExport">导出</el-button>
|
<!--<el-button style="float: right;" size="mini" type="info" plain icon="el-icon-upload2" @click="handleExport">导出</el-button>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
|
@ -53,6 +53,9 @@
|
||||||
|
|
||||||
<!-- 报价详情对话框 -->
|
<!-- 报价详情对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="1050px" v-el-drag-dialog append-to-body>
|
||||||
|
<template slot="title">
|
||||||
|
报价单信息<span style="color:red;margin-left:25px">(注:一次折扣率默认0.8,二次折扣率下点不超过5.2个点)</span>
|
||||||
|
</template>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
|
||||||
<el-row :gutter="8">
|
<el-row :gutter="8">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
@ -111,9 +114,9 @@
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteQuotMaterial">删除</el-button>
|
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleDeleteQuotMaterial">删除</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<!--<el-col :span="1.5">
|
||||||
<el-button size="mini" type="info" plain icon="el-icon-upload2" @click="handleExport">导出</el-button>
|
<el-button size="mini" type="info" plain icon="el-icon-upload2" @click="handleExport">导出</el-button>
|
||||||
</el-col>
|
</el-col>-->
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-table v-loading="selectedResultLoading" width="100%;" :row-class-name="selectedResultIndex" :data="selectedResultData" @selection-change="handleQuotMaterialSelectionChange" style="margin-top: 10px">
|
<el-table v-loading="selectedResultLoading" width="100%;" :row-class-name="selectedResultIndex" :data="selectedResultData" @selection-change="handleQuotMaterialSelectionChange" style="margin-top: 10px">
|
||||||
<el-table-column type="selection" width="50" align="center"/>
|
<el-table-column type="selection" width="50" align="center"/>
|
||||||
|
|
|
@ -51,14 +51,14 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="4">
|
<el-col :span="24">
|
||||||
总条数:<span style="font-size: 18px">{{sumQuotMaterialsCount}}</span>
|
<span>总条数:<span style="font-size: 18px">{{sumQuotMaterialsCount}}</span></span>
|
||||||
</el-col>
|
|
||||||
<el-col :span="4">
|
<span style="margin-left: 30px">总价:<span style="font-size: 18px">{{sumQuotTotalPrice}}</span></span>
|
||||||
总价:<span style="font-size: 18px">{{sumQuotTotalPrice}}</span>
|
|
||||||
</el-col>
|
<span style="margin-left: 30px">总单量:<span style="font-size: 18px">{{sumQuotCount}}</span></span>
|
||||||
<el-col :span="4">
|
|
||||||
总单量:<span style="font-size: 18px">{{sumQuotCount}}</span>
|
<span style="margin-left: 30px">{{this.zbInfo}}</span>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-table v-loading="loading" :data="quotList" style="width: 100%;margin-top: 10px;" :height="tableHeight">
|
<el-table v-loading="loading" :data="quotList" style="width: 100%;margin-top: 10px;" :height="tableHeight">
|
||||||
|
@ -90,7 +90,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { listStatisticsQuotQuot } from "@/api/quot/quot"; // 有效报价单统计
|
import { listStatisticsQuotQuot,zbInfo } from "@/api/quot/quot"; // 有效报价单统计
|
||||||
import {toDecimal} from "@/api/redBook/redBook";
|
import {toDecimal} from "@/api/redBook/redBook";
|
||||||
import { getNowDate } from '@/utils/date'
|
import { getNowDate } from '@/utils/date'
|
||||||
|
|
||||||
|
@ -117,7 +117,8 @@ export default {
|
||||||
quotCustomerName: null,
|
quotCustomerName: null,
|
||||||
quotSalesmanName: null,
|
quotSalesmanName: null,
|
||||||
quotProject: null
|
quotProject: null
|
||||||
}
|
},
|
||||||
|
zbInfo: null
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
@ -132,11 +133,27 @@ export default {
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.getZb();
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 明细进单占比 */
|
||||||
|
getZb() {
|
||||||
|
zbInfo(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
|
||||||
|
this.zbInfo = response;
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
|
console.log(!this.dateRange)
|
||||||
|
if(!this.dateRange){
|
||||||
|
let dateRange = [];
|
||||||
|
const date = [getNowDate(),getNowDate()];
|
||||||
|
dateRange = dateRange.concat(date);
|
||||||
|
this.dateRange = dateRange;
|
||||||
|
}
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
|
|
Loading…
Reference in New Issue