Explorar el Código

收费明细导出调整、调度确认改为复核确认, 统计报表分页合计,业务列表查询优化

lzm hace 3 años
padre
commit
c511d3f9da

+ 1 - 1
sp-admin/sa-frame/menu-list.js

@@ -620,7 +620,7 @@ var menuList = [{
 					},
 					{
 						id: 'tb-diaodu-confirm',
-						name: '调度确认',
+						name: '复核确认',
 						isShow: false
 					},
 					{

+ 18 - 2
sp-admin/sa-view/tb-business/tb-car-disincle-list.html

@@ -51,6 +51,14 @@
 							<el-option label="未确认" :value="0"></el-option>
 						</el-select>
 					</div>
+					<div class="c-item">
+						<label class="c-label">业务项:</label>
+						<el-select v-model="p.goodsId">
+							<el-option v-for="good in goodsList" :key="good.id"
+									   :label="good.name" :value="good.id">
+							</el-option>
+						</el-select>
+					</div>
 					<el-button type="primary" icon="el-icon-search" @click="p.pageNo = 1; f5()">查询</el-button>
 					<el-button type="info" icon="el-icon-search" @click="p.carNo = '';p.adminConfirmInput=-1;p.customerName='';p.owner='';p.no=''; f5()">重置
 					</el-button>
@@ -152,7 +160,8 @@
 						customerName:'',
 						owner:'',
 						no:'',
-						carNo: '', // 车牌号 
+						carNo: '', // 车牌号
+						goodsId: '',
 						pageNo: 1, // 当前页 
 						pageSize: 20, // 页大小 
 						sortType: 0 // 排序方式 
@@ -162,9 +171,15 @@
 					timmer: null,
 					fresh: {
 						value: 60
-					}
+					},
+					goodsList: [],
 				},
 				methods: {
+					getGoodsList(){
+						sa.ajax('/TbGoods/getList', function(resp) {
+							this.goodsList = resp.data;
+						}.bind(this));
+					},
 					stopTimmer() {
 						if (this.timmer != null) {
 							clearInterval(this.timmer);
@@ -282,6 +297,7 @@
 				},
 				mounted() {
 					this.getCurrendCustomer();
+					this.getGoodsList();
 					this.f5();
 				},
 				beforeDestroy() {

+ 55 - 2
sp-admin/sa-view/tb-fee-statistics/month-statistcs-list.html

@@ -56,7 +56,7 @@
 
 				</div>
 				<!-- ------------- 数据列表 ------------- -->
-				<el-table class="data-table" ref="data-table" :data="dataList">
+				<el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol">
 					<sa-td name="收费项目" prop="feeType" type="enum"
 						   :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
 					<sa-td name="月份" prop="month" ></sa-td>
@@ -146,8 +146,60 @@
 							exportMonth: '', //导出月份
 						}
 					},
+					tableSum:{
+						taxMoneySum: 0,
+						taxesSum: 0,
+						noTaxMoneySum: 0,
+					},
 				},
 				methods: {
+					getSumRol(param){
+						console.log("执行了getSumRol")
+						const columns = param.columns;
+						const sums = [];
+						columns.forEach((column, index) => {
+							if (index === 0) {
+								sums[index] = "合计";
+								return;
+							}
+							//根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
+							switch (column.label) {
+									//金额;
+								case "含税收入(元)":
+									//在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
+									sums[index] = this.tableSum.taxMoneySum;
+									break;
+									//人数
+								case "税款(元)":
+									sums[index] = this.tableSum.taxesSum;
+									break;
+									//件数;
+								case "不含税收入(元)":
+									sums[index] = this.tableSum.noTaxMoneySum;
+									break;
+									//不需要计算合计的列就展示‘--’
+								default:
+									sums[index] = "";
+									break;
+							}
+						});
+						return sums;
+					},
+					calcuSum(){
+						var taxMoneySum = 0;
+						var taxesSum = 0;
+						var noTaxMoneySum = 0;
+						var len = this.dataList.length;
+						for(var i=0; i<len; i++){
+							taxMoneySum = (taxMoneySum*100 + this.dataList[i].taxMoney*100)/100;
+							taxesSum = (taxesSum*100 + this.dataList[i].taxes*100)/100;
+							noTaxMoneySum = (noTaxMoneySum*100 + this.dataList[i].noTaxMoney*100)/100;
+						}
+						this.tableSum.taxMoneySum = Number(taxMoneySum).toFixed(2);
+						this.tableSum.taxesSum = Number(taxesSum).toFixed(2);
+						this.tableSum.noTaxMoneySum = Number(noTaxMoneySum).toFixed(2);
+
+					},
 					print: function() {
 						if ( this.selectMonth != null && this.selectMonth.length != 0) {
 							this.selectMonthRange.beginMonth = this.selectMonth[0];
@@ -223,7 +275,8 @@
 								sa.removeNull(this.p), function(res) {
 							this.dataList = res.data; // 数据
 							this.dataCount = res.dataCount; // 数据总数 
-							sa.f5TableHeight();		// 刷新表格高度 
+							sa.f5TableHeight();		// 刷新表格高度
+							this.calcuSum();
 						}.bind(this));
 					},
 					// 查看

+ 60 - 7
sp-admin/sa-view/tb-fee-statistics/tb-fee-details-list.html

@@ -96,7 +96,7 @@
 				</div>
 				<div class="fast-btn">
 					<el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-kaidan-confirm')" @click="kaiDanConfirm()">开单确认</el-button>
-					<el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-diaodu-confirm')" @click="diaoDuConfirm()">调度确认</el-button>
+					<el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-diaodu-confirm')" @click="diaoDuConfirm()">复核确认</el-button>
 					<el-button class="c-btn" type="success" icon="el-icon" v-if="sa.isAuth('tb-jicha-confirm')" @click="jiChaConfirm()">稽查确认</el-button>
 					<el-button class="c-btn" type="danger" icon="el-icon" v-if="sa.isAuth('tb-jicha-cancel')" @click="jiChaCancel()">取消确认</el-button>
 					<slot></slot>
@@ -106,7 +106,7 @@
 					</div>
 				</div>
 				<!-- ------------- 数据列表 ------------- -->
-				<el-table class="data-table" ref="data-table" :data="dataList" >
+				<el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol">
 					<sa-td type="selection"></sa-td>
 <!--					<sa-td name="作业类型" prop="feeType" type="enum"-->
 <!--						   :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>-->
@@ -117,8 +117,8 @@
 					<sa-td name="车牌号" prop="carNo" width="90px" ></sa-td>
 					<sa-td name="重量(kg)" prop="weight" ></sa-td>
 					<sa-td name="数量" prop="num" ></sa-td>
-					<sa-td name="单价" prop="unitPrice" ></sa-td>
-					<sa-td name="总价" prop="itemPrice" ></sa-td>
+					<sa-td name="单价(元)" prop="unitPrice" ></sa-td>
+					<sa-td name="总价(元)" prop="itemPrice" ></sa-td>
 					<sa-td name="结算状态" prop="isSettle" type="enum" :jv="{0: '未结算',1: '已结算'}"></sa-td>
 					<sa-td name="复核状态" prop="" ></sa-td>
 <!--					<sa-td name="税率(%)" prop="taxRate" ></sa-td>-->
@@ -162,7 +162,7 @@
 					<sa-td name="付款时间" prop="payTime"  width="150px" ></sa-td>
 					<sa-td name="备注" prop="remark" ></sa-td>
 					<sa-td name="开单员" prop="kaiDanPerson" width="80px" ></sa-td>
-					<sa-td name="现场调度员" prop="diaoDuPerson" width="80px" ></sa-td>
+					<sa-td name="复核员" prop="diaoDuPerson" width="80px" ></sa-td>
 					<sa-td name="统计稽查员" prop="jiChaPerson" width="80px" ></sa-td>
 
 <!--					<el-table-column label="操作" fixed="right"  width="240px">-->
@@ -262,8 +262,60 @@
 						}
 					},
 					totalPrice: 0,
+					tableSum:{
+						itemPriceSum: 0,
+						taxPriceSum: 0,
+						noTaxPriceSum: 0,
+					},
 				},
 				methods: {
+					getSumRol(param){
+						console.log("执行了getSumRol")
+						const columns = param.columns;
+						const sums = [];
+						columns.forEach((column, index) => {
+							if (index === 0) {
+								sums[index] = "合计";
+								return;
+							}
+							//根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
+							switch (column.label) {
+									//金额;
+								case "总价(元)":
+									//在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
+									sums[index] = this.tableSum.itemPriceSum;
+									break;
+									//人数
+								case "税款(元)":
+									sums[index] = this.tableSum.taxPriceSum;
+									break;
+									//件数;
+								case "不含税金额(元)":
+									sums[index] = this.tableSum.noTaxPriceSum;
+									break;
+									//不需要计算合计的列就展示‘--’
+								default:
+									sums[index] = "";
+									break;
+							}
+						});
+						return sums;
+					},
+					calcuSum(){
+						var itemPriceSum = 0;
+						var taxPriceSum = 0;
+						var noTaxPriceSum = 0;
+						var len = this.dataList.length;
+						for(var i=0; i<len; i++){
+							itemPriceSum = (itemPriceSum*100 + this.dataList[i].itemPrice*100)/100;
+							taxPriceSum = (taxPriceSum*100 + this.dataList[i].taxPrice*100)/100;
+							noTaxPriceSum = (noTaxPriceSum*100 + this.dataList[i].noTaxPrice*100)/100;
+						}
+						this.tableSum.itemPriceSum = itemPriceSum;
+						this.tableSum.taxPriceSum = Number(taxPriceSum).toFixed(2);
+						this.tableSum.noTaxPriceSum = Number(noTaxPriceSum).toFixed(2);
+
+					},
 					getTotalPrice(){
 						if ( this.selectTime != null && this.selectTime.length != 0) {
 							this.selectTimeRange.beginTime = this.selectTime[0];
@@ -297,7 +349,7 @@
 						if(selection.length == 0) {
 							return sa.msg('请至少选择一条数据')
 						}
-						this.$confirm('确定进行调度确认操作?', '提示', {
+						this.$confirm('确定进行复核确认操作?', '提示', {
 							confirmButtonText: '确定',
 							cancelButtonText: '取消',
 						}).then(() => {
@@ -463,7 +515,8 @@
 								sa.removeNull(this.p), function(res) {
 							this.dataList = res.data; // 数据
 							this.dataCount = res.dataCount; // 数据总数 
-							sa.f5TableHeight();		// 刷新表格高度 
+							sa.f5TableHeight();		// 刷新表格高度
+							this.calcuSum();
 						}.bind(this));
 						this.getTotalPrice();
 					},

+ 56 - 3
sp-admin/sa-view/tb-fee-statistics/tb-fee-statistics-list.html

@@ -61,7 +61,7 @@
 					<el-button class="c-btn" type="success" icon="el-icon" @click="print()">打印</el-button>
 				</div>
 				<!-- ------------- 数据列表 ------------- -->
-				<el-table class="data-table" ref="data-table" :data="dataList" >
+				<el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol" >
 <!--					<sa-td type="selection"></sa-td>-->
 					<sa-td name="收费项目" prop="feeType" type="enum"
 						   :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
@@ -96,7 +96,7 @@
 					<sa-td name="支付方式" prop="payType" type="enum" :jv="{3: '微信支付'}"></sa-td>
 
 					<sa-td name="开单员" prop="kaiDanPerson" ></sa-td>
-					<sa-td name="现场调度员" prop="diaoDuPerson" ></sa-td>
+					<sa-td name="复核员" prop="diaoDuPerson" ></sa-td>
 					<sa-td name="统计稽查员" prop="jiChaPerson" ></sa-td>
 
 				</el-table>
@@ -138,8 +138,60 @@
 						beginDay: '', //查询开始时间
 						endDay: '', //查询结束时间
 					},
+					tableSum:{
+						taxMoneySum: 0,
+						taxesSum: 0,
+						noTaxMoneySum: 0,
+					},
 				},
 				methods: {
+					getSumRol(param){
+						console.log("执行了getSumRol")
+						const columns = param.columns;
+						const sums = [];
+						columns.forEach((column, index) => {
+							if (index === 0) {
+								sums[index] = "合计";
+								return;
+							}
+							//根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
+							switch (column.label) {
+									//金额;
+								case "含税收入(元)":
+									//在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
+									sums[index] = this.tableSum.taxMoneySum;
+									break;
+									//人数
+								case "税款(元)":
+									sums[index] = this.tableSum.taxesSum;
+									break;
+									//件数;
+								case "不含税收入(元)":
+									sums[index] = this.tableSum.noTaxMoneySum;
+									break;
+									//不需要计算合计的列就展示‘--’
+								default:
+									sums[index] = "";
+									break;
+							}
+						});
+						return sums;
+					},
+					calcuSum(){
+						var taxMoneySum = 0;
+						var taxesSum = 0;
+						var noTaxMoneySum = 0;
+						var len = this.dataList.length;
+						for(var i=0; i<len; i++){
+							taxMoneySum = (taxMoneySum*100 + this.dataList[i].taxMoney*100)/100;
+							taxesSum = (taxesSum*100 + this.dataList[i].taxes*100)/100;
+							noTaxMoneySum = (noTaxMoneySum*100 + this.dataList[i].noTaxMoney*100)/100;
+						}
+						this.tableSum.taxMoneySum = Number(taxMoneySum).toFixed(2);
+						this.tableSum.taxesSum = Number(taxesSum).toFixed(2);
+						this.tableSum.noTaxMoneySum = Number(noTaxMoneySum).toFixed(2);
+
+					},
 					print: function() {
 						if ( this.selectDay != null && this.selectDay.length != 0) {
 							this.selectDayRange.beginDay = this.selectDay[0];
@@ -203,7 +255,8 @@
 								sa.removeNull(this.p), function(res) {
 							this.dataList = res.data; // 数据
 							this.dataCount = res.dataCount; // 数据总数 
-							sa.f5TableHeight();		// 刷新表格高度 
+							sa.f5TableHeight();		// 刷新表格高度
+							this.calcuSum();
 						}.bind(this));
 					},
 					// 查看

+ 55 - 2
sp-admin/sa-view/tb-fee-statistics/year-statistcs-list.html

@@ -46,7 +46,7 @@
 					<el-button class="c-btn" type="success" icon="el-icon" @click="print()">打印</el-button>
 				</div>
 				<!-- ------------- 数据列表 ------------- -->
-				<el-table class="data-table" ref="data-table" :data="dataList">
+				<el-table class="data-table" ref="data-table" :data="dataList" show-summary :summary-method="getSumRol">
 					<sa-td name="收费项目" prop="feeType" type="enum"
 						   :jv="{1: '核酸检测',2: '消杀作业', 3: '装卸作业', 4: '停车费', 5: '过磅费', 6: '入场管理费', 7: '充电打冷作业'}"></sa-td>
 					<sa-td name="年份" prop="year"></sa-td>
@@ -114,8 +114,60 @@
 					},
 					dataCount: 0,
 					dataList: [], // 数据集合
+					tableSum:{
+						taxMoneySum: 0,
+						taxesSum: 0,
+						noTaxMoneySum: 0,
+					},
 				},
 				methods: {
+					getSumRol(param){
+						console.log("执行了getSumRol")
+						const columns = param.columns;
+						const sums = [];
+						columns.forEach((column, index) => {
+							if (index === 0) {
+								sums[index] = "合计";
+								return;
+							}
+							//根据当前列绑定的字段名进行判断,根据字段名决定展示什么内容
+							switch (column.label) {
+									//金额;
+								case "含税收入(元)":
+									//在这里你就可以根据需要对数据进行一些处理(保留小数位数,加上单位等)
+									sums[index] = this.tableSum.taxMoneySum;
+									break;
+									//人数
+								case "税款(元)":
+									sums[index] = this.tableSum.taxesSum;
+									break;
+									//件数;
+								case "不含税收入(元)":
+									sums[index] = this.tableSum.noTaxMoneySum;
+									break;
+									//不需要计算合计的列就展示‘--’
+								default:
+									sums[index] = "";
+									break;
+							}
+						});
+						return sums;
+					},
+					calcuSum(){
+						var taxMoneySum = 0;
+						var taxesSum = 0;
+						var noTaxMoneySum = 0;
+						var len = this.dataList.length;
+						for(var i=0; i<len; i++){
+							taxMoneySum = (taxMoneySum*100 + this.dataList[i].taxMoney*100)/100;
+							taxesSum = (taxesSum*100 + this.dataList[i].taxes*100)/100;
+							noTaxMoneySum = (noTaxMoneySum*100 + this.dataList[i].noTaxMoney*100)/100;
+						}
+						this.tableSum.taxMoneySum = Number(taxMoneySum).toFixed(2);
+						this.tableSum.taxesSum = Number(taxesSum).toFixed(2);
+						this.tableSum.noTaxMoneySum = Number(noTaxMoneySum).toFixed(2);
+
+					},
 					print: function() {
 						var year = this.p.year;
 						var feeType = this.p.feeType;
@@ -164,7 +216,8 @@
 						sa.ajax('/TbFeeStatistics/getYear', sa.removeNull(this.p), function(res) {
 							this.dataList = res.data; // 数据
 							this.dataCount = res.dataCount; // 数据总数 
-							sa.f5TableHeight();		// 刷新表格高度 
+							sa.f5TableHeight();		// 刷新表格高度
+							this.calcuSum();
 						}.bind(this));
 					},
 					// 查看

+ 2 - 1
sp-admin/sa-view/tb-partner/tb-business-item-list.html

@@ -24,7 +24,8 @@
 					<div class="c-item">
 						<label class="c-label">业务类型:</label>
 						<el-select v-model="p.businessType">
-							<el-option label="其他业务" value="1"></el-option>
+							<el-option label="消杀业务" value="1"></el-option>
+							<el-option label="核酸业务" value="3"></el-option>
 							<el-option label="整车业务" value="2"></el-option>
 						</el-select>
 					</div>

+ 1 - 0
sp-server/src/main/java/com/pj/project/tb_business/TbBusinessMapper.xml

@@ -17,6 +17,7 @@
             <if test=' this.has("cardNo") '>and card_no like concat('%', #{cardNo} ,'%')</if>
             <if test=' this.has("cardSize") '>and card_size = #{cardSize}</if>
             <if test=' this.has("netWeight") '>and net_weight = #{netWeight}</if>
+            <if test=' this.has("goodsId") '>and goods_id = #{goodsId}</if>
             <if test=' this.has("goodsName") '>and goods_name = #{goodsName}</if>
             <if test=' this.has("goodsCode") '>and goods_code = #{goodsCode}</if>
             <if test=' this.has("driverName") '>and driver_name like concat('%', #{driverName} ,'%')</if>

+ 1 - 0
sp-server/src/main/java/com/pj/project/tb_fee_details/ExportFeeDetailDTO.java

@@ -40,6 +40,7 @@ public class ExportFeeDetailDTO {
     private String payTime;
     private String tradeNo;
     private String pickCustomerName;
+    private String transactionId;
 
 
 

+ 1 - 1
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetails.java

@@ -221,7 +221,7 @@ public class TbFeeDetails implements Serializable {
     public static enum personEnum{
         JICHA(1,"统计稽查员"),
         KAIDAN(2,"开单员"),
-        DIAODU(3,"现场调度员");
+        FUHE(3,"复核员");
 
         private int code;
         private String desc;

+ 4 - 3
sp-server/src/main/java/com/pj/project/tb_fee_details/TbFeeDetailsService.java

@@ -372,7 +372,8 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
                     .setWeight(feeDetails.getWeight()).setNum(feeDetails.getNum()).setUnitPrice(feeDetails.getUnitPrice())
                     .setSettle("已结算").setTaxRate(feeDetails.getTaxRate().multiply(new BigDecimal(100)))
                     .setTaxPrice(feeDetails.getTaxPrice()).setNoTaxPrice(feeDetails.getNoTaxPrice()).setPayTime(feeDetails.getPayTime())
-                    .setPickCustomerName(feeDetails.getPickCustomerName());
+                    .setPickCustomerName(feeDetails.getPickCustomerName())
+                    .setTransactionId(feeDetails.getTransactionId());
             if(!StrUtil.isEmpty(feeDetails.getBusinessId())){
                 detailDTO.setBusinessNo(feeDetails.getBusinessNo());
             }else {
@@ -583,7 +584,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
     public void diaoDuConfirm(List<Long> ids) {
         SpAdmin admin = StpUserUtil.getAdmin();
         SpRole role = spRoleMapper.getById(Long.valueOf(admin.getRoleId()));
-        if(!StrUtil.equals(TbFeeDetails.personEnum.DIAODU.getDesc(), role.getName()) && !StrUtil.equals("admin", role.getType())){
+        if(!StrUtil.equals(TbFeeDetails.personEnum.FUHE.getDesc(), role.getName()) && !StrUtil.equals("admin", role.getType())){
             throw new BusinessException("无操作权限");
         }
         List<TbFeeDetails> detailsList = this.listByIds(ids);
@@ -598,7 +599,7 @@ public class TbFeeDetailsService extends ServiceImpl<TbFeeDetailsMapper, TbFeeDe
             days.add(dayStr);
         }
         this.updateBatchById(detailsList);
-        changeStats(days, TbFeeDetails.personEnum.DIAODU.getDesc());
+        changeStats(days, TbFeeDetails.personEnum.FUHE.getDesc());
     }
 
     private void changeStats(Set<String> days, String personType) {

+ 2 - 2
sp-server/src/main/resources/application-dev.yml

@@ -6,9 +6,9 @@ spring:
     # 数据源配置
     datasource:
         type: com.alibaba.druid.pool.DruidDataSource
-        url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
+        url: jdbc:mysql://47.101.143.145:3306/pco?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT%2B8
         username: root
-        password: 123456
+        password: 1qaz@WSX
         # 是否打开sql监控台  (生产环境请务必关闭此选项)
         druid:
             stat-view-servlet:

BIN
sp-server/src/main/resources/static/day-fee-new.xlsx