修改提交

This commit is contained in:
haozq 2026-01-26 18:31:51 +08:00
parent e4b52e8ba1
commit 8a843904e0
5 changed files with 172 additions and 100 deletions

View File

@ -74,7 +74,6 @@ public class CarBalanceController {
public PageInfo<CarBalancePlanVo> getPayCarPlanList(EncryptedReq<CarBalancePlanVo> dto) { public PageInfo<CarBalancePlanVo> getPayCarPlanList(EncryptedReq<CarBalancePlanVo> dto) {
PageHelper.startPage(dto.getPageNum(), dto.getPageSize()); PageHelper.startPage(dto.getPageNum(), dto.getPageSize());
List<CarBalancePlanVo> list = service.getPayCarPlanList(dto.getData()); List<CarBalancePlanVo> list = service.getPayCarPlanList(dto.getData());
;
return new PageInfo<>(list); return new PageInfo<>(list);
} }

View File

@ -39,9 +39,12 @@
<!--查询 供应商集合--> <!--查询 供应商集合-->
<select id="getSupPageList" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo"> <select id="getSupPageList" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo">
select select
cpo.id,cpo.apply_id applyId ,cpo.sup_id supId,count(1) num ,cs.name supName ,slt.money payMoney, cpo.id,cpo.apply_id applyId ,cpo.sup_id supId,count(1) num ,cs.name supName ,
SUM(cpo.money)-slt.money noPayMoney, IFNULL(CAST(slt.money AS DECIMAL(18,2)), 0) payMoney,
plan.planNum,pro.proNum,SUM(cpo.money) money,sum(cpo.dispatch_num) carNum, CAST(SUM(CAST(cpo.money AS DECIMAL(18,2))) AS DECIMAL(18,2)) - IFNULL(CAST(slt.money AS DECIMAL(18,2)), 0) noPayMoney,
plan.planNum,pro.proNum,
CAST(SUM(CAST(cpo.money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
sum(cpo.dispatch_num) carNum,
if(CURRENT_DATE() BETWEEN cc.start_time and cc.end_time,'已生效', if(CURRENT_DATE() &lt; cc.start_time,'未生效','已失效')) status if(CURRENT_DATE() BETWEEN cc.start_time and cc.end_time,'已生效', if(CURRENT_DATE() &lt; cc.start_time,'未生效','已失效')) status
from from
car_plan_out cpo car_plan_out cpo
@ -54,7 +57,7 @@
left join( left join(
SELECT count(distinct cpa.pro_id ) proNum ,cpas.sup_id from car_plan_apply_sup cpas left join car_plan_apply cpa on cpa.id = cpas.apply_id GROUP BY cpas.sup_id ) pro on pro.sup_id=cpo.sup_id SELECT count(distinct cpa.pro_id ) proNum ,cpas.sup_id from car_plan_apply_sup cpas left join car_plan_apply cpa on cpa.id = cpas.apply_id GROUP BY cpas.sup_id ) pro on pro.sup_id=cpo.sup_id
where where
cpo.`status` = 1 cpo.`status` = 2
<if test="keyWord!=null and keyWord!=''"> <if test="keyWord!=null and keyWord!=''">
and cs.name like concat('%',#{keyWord},'%') and cs.name like concat('%',#{keyWord},'%')
</if> </if>
@ -64,11 +67,13 @@
<select id="getPayCarPlanList" resultType="com.bonus.gzcar.business.backstage.entity.CarBalancePlanVo"> <select id="getPayCarPlanList" resultType="com.bonus.gzcar.business.backstage.entity.CarBalancePlanVo">
select cpa.id,cpa.`code`,cpa.pro_id proId,pro.`name` proName ,cpa.dispatch_num dispatchNum, select cpa.id,cpa.`code`,cpa.pro_id proId,pro.`name` proName ,cpa.dispatch_num dispatchNum,
cpa.need_num needNum ,cpa.type ,cs.`name` supName ,sum(cpo.money) money,cpa.remark, cpa.need_num needNum ,cpa.type ,cs.`name` supName ,
CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) money,
cpa.remark,
cpa.dispatch_day lastDay,cpa.user_name userName cpa.dispatch_day lastDay,cpa.user_name userName
FROM car_plan_apply cpa FROM car_plan_apply cpa
LEFT JOIN car_slt_plan csp on csp.plan_id=cpa.id LEFT JOIN car_slt_plan csp on csp.plan_id=cpa.id
left join car_plan_out cpo on cpa.id=cpo.apply_id AND cpo.status=1 left join car_plan_out cpo on cpa.id=cpo.apply_id AND cpo.status=2
left join car_plan_apply_sup cpas on cpas.apply_id=cpa.id left join car_plan_apply_sup cpas on cpas.apply_id=cpa.id
left join car_supplier cs on cpas.sup_id=cs.id left join car_supplier cs on cpas.sup_id=cs.id
left join bm_project pro on pro.id=cpa.pro_id left join bm_project pro on pro.id=cpa.pro_id
@ -121,7 +126,7 @@
left join car_plan_apply cpa on cpo.apply_id=cpa.id left join car_plan_apply cpa on cpo.apply_id=cpa.id
LEFT JOIN car_supplier cs on cpo.sup_id=cs.id LEFT JOIN car_supplier cs on cpo.sup_id=cs.id
left join bm_project pro on pro.id=cpa.pro_id left join bm_project pro on pro.id=cpa.pro_id
where cpo.sup_id=#{supId} and cpo.status=1 where cpo.sup_id=#{supId} and cpo.status=2
<if test="keyWord!=null and keyWord!=''"> <if test="keyWord!=null and keyWord!=''">
and ( and (
cpa.`code` like concat('%',#{keyWord},'%') or cpa.`code` like concat('%',#{keyWord},'%') or
@ -164,7 +169,7 @@
<select id="getOutIdByPlanId" resultType="java.lang.String"> <select id="getOutIdByPlanId" resultType="java.lang.String">
SELECT id SELECT id
from car_plan_out from car_plan_out
where apply_id=#{planId} AND status=1 where apply_id=#{planId} AND status=2
</select> </select>

View File

@ -4,38 +4,59 @@
<mapper namespace="com.bonus.gzcar.business.backstage.mapper.CarStatisticsMapper"> <mapper namespace="com.bonus.gzcar.business.backstage.mapper.CarStatisticsMapper">
<select id="getSltPageListBySupId" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo"> <select id="getSltPageListBySupId" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo">
SELECT cpo.id, cpa.`code` ,cpo.sup_id supId ,cpo.apply_id planId ,sum(cpo.dispatch_num) carNum ,sum(cpo.money) money ,sum(IFNULL(csp.money,0)) payMoney , SELECT
if(csp.id is null,'未付','已付') status,pro.name proName ,cs.name supName ,cpo.type, cpo.id,
sum(cpo.money)-sum(IFNULL(csp.money,0)) noPayMoney,cpo.manager ,cpo.create_time jbTime ,csa.create_time fkTime cpa.`code`,
from car_plan_out cpo cpo.sup_id supId,
cpo.apply_id planId,
SUM(cpo.dispatch_num) carNum,
-- 金额转DECIMAL保证精度处理NULL值
CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) money,
CAST(SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) payMoney,
IF(csp.id IS NULL,'未付','已付') status,
pro.name proName,
IFNULL(cs.name, '-') supName,
cpo.type,
-- 基于DECIMAL做减法避免精度丢失
CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) - SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) noPayMoney,
cpo.manager,
cpo.create_time jbTime,
csa.create_time fkTime
FROM car_plan_out cpo
LEFT JOIN ( LEFT JOIN (
SELECT sum(money) money,csd.out_id id,csd.slt_id SELECT
from car_slt_details csd CAST(SUM(CAST(money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
csd.out_id id,
csd.slt_id
FROM car_slt_details csd
GROUP BY csd.out_id GROUP BY csd.out_id
) csp on csp.id=cpo.id ) csp ON csp.id = cpo.id
left join car_slt_apply csa on csa.id=csp.slt_id LEFT JOIN car_slt_apply csa ON csa.id = csp.slt_id
left join car_plan_apply cpa on cpo.apply_id=cpa.id LEFT JOIN car_plan_apply cpa ON cpo.apply_id = cpa.id
LEFT JOIN car_supplier cs on cpo.sup_id=cs.id LEFT JOIN car_supplier cs ON cpo.sup_id = cs.id
left join bm_project pro on pro.id=cpa.pro_id LEFT JOIN bm_project pro ON pro.id = cpa.pro_id
where 1=1 and cpo.status=2 and cpo.file_status=1 WHERE 1=1 AND cpo.status=2 AND cpo.file_status=1
<if test="supName!=null and supName!=''"> <if test="supName!=null and supName!=''">
and cs.name like concat('%',#{supName},'%') AND cs.name LIKE concat('%',#{supName},'%')
</if> </if>
<if test="code!=null and code!=''"> <if test="code!=null and code!=''">
and cpa.`code` like concat('%',#{code},'%') AND cpa.`code` LIKE concat('%',#{code},'%')
</if> </if>
<if test="proName!=null and proName!=''"> <if test="proName!=null and proName!=''">
and pro.name like concat('%',#{proName},'%') AND pro.name LIKE concat('%',#{proName},'%')
</if> </if>
<if test="status!=null and status!=''"> <if test="status!=null and status!=''">
<if test='status=="1"'> <if test='status=="1"'>
and csp.id is not null AND csp.id IS NOT NULL
</if> </if>
<if test='status=="0"'> <if test='status=="0"'>
and csp.id is null AND csp.id IS NULL
</if> </if>
</if> </if>
GROUP BY cpo.apply_id GROUP BY
cpo.apply_id, cpo.id, cpa.`code`, cpo.sup_id,
csp.id, pro.name, cs.name, cpo.type,
cpo.manager, cpo.create_time, csa.create_time
</select> </select>
<select id="getProNum" resultType="java.lang.Integer"> <select id="getProNum" resultType="java.lang.Integer">
@ -57,70 +78,101 @@
<select id="getMoney" resultType="java.lang.String"> <select id="getMoney" resultType="java.lang.String">
SELECT IFNULL(SUM(money),0) money SELECT IFNULL(SUM(money),0) money
FROM car_plan_out FROM car_plan_out
where status=1 where status=2
UNION all UNION all
SELECT IFNULL(SUM(money),0) SELECT IFNULL(SUM(money),0)
FROM car_slt_plan csp FROM car_slt_plan csp
</select> </select>
<select id="getSltPageListByCompany" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo"> <select id="getSltPageListByCompany" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo">
SELECT count(1) porNum ,pro.bmname ,IFNULL(info.planNum,0) planNum, SELECT
IFNULL(info.carnum,0) carNum,IFNULL(info.needNum ,0) needNum,IFNULL(info.payMoney,0) payMoney COUNT(1) porNum,
,IFNULL(info.money,0) money,IFNULL(info.noPayMoney,0) noPayMoney, bc.NAME bmname,
IFNULL(info.needNum ,0)- IFNULL(info.carnum,0) dpcNum IFNULL(info.planNum, 0) planNum,
IFNULL(info.carnum, 0) carNum,
IFNULL(info.needNum, 0) needNum,
-- 金额字段转DECIMAL并处理NULL
IFNULL(CAST(info.payMoney AS DECIMAL(18,2)), 0) payMoney,
IFNULL(CAST(info.money AS DECIMAL(18,2)), 0) money,
IFNULL(CAST(info.noPayMoney AS DECIMAL(18,2)), 0) noPayMoney,
-- 数量差值保留原始类型,金额单独处理精度
IFNULL(info.dpcNum,0) dpcNum
FROM bm_project pro FROM bm_project pro
left join( LEFT JOIN bm_company bc ON bc.id = pro.COMPANY_ID
select count(1) planNum ,pro.bmname,sum(cpa.dispatch_num)carnum ,sum(cpa.need_num) needNum,sum(IFNULL( csp.money,0)) payMoney, LEFT JOIN (
sum(IFNULL( cpo.money,0)) money,sum(IFNULL( cpo.money,0)) - sum(IFNULL( csp.money,0)) noPayMoney SELECT
COUNT(1) planNum,
pro.COMPANY_ID,
SUM(cpa.dispatch_num) carnum,
SUM(cpa.need_num) needNum,
SUM(IF(cpa.need_num &lt; cpa.dispatch_num,0,cpa.need_num-cpa.dispatch_num)) dpcNum,
-- 子查询内先转DECIMAL再SUM处理NULL为0
CAST(SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) payMoney,
CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) money,
-- 减法运算基于DECIMAL类型避免精度丢失
CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) - SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) noPayMoney
FROM car_plan_apply cpa FROM car_plan_apply cpa
left join car_plan_apply_sup cpas on cpas.apply_id=cpa.id LEFT JOIN car_plan_apply_sup cpas ON cpas.apply_id = cpa.id
left join( LEFT JOIN (
SELECT sum(money) money, cpo.apply_id -- 内层子查询同样处理金额精度
from car_plan_out cpo SELECT
where cpo.status=1 CAST(SUM(CAST(money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
cpo.apply_id
FROM car_plan_out cpo
WHERE cpo.status = 2
GROUP BY cpo.apply_id GROUP BY cpo.apply_id
) cpo on cpo.apply_id=cpas.apply_id ) cpo ON cpo.apply_id = cpas.apply_id
left join car_slt_plan csp on csp.plan_id=cpas.apply_id LEFT JOIN car_slt_plan csp ON csp.plan_id = cpas.apply_id
left join bm_project pro on pro.id=cpa.pro_id LEFT JOIN bm_project pro ON pro.id = cpa.pro_id
where cpa.status_type=1 WHERE cpa.status_type = 1
<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''"> <if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
and DATE_FORMAT(cpa.create_time,'%Y-%m-%d') AND DATE_FORMAT(cpa.create_time,'%Y-%m-%d')
between DATE_FORMAT(#{startTime},'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startTime},'%Y-%m-%d') AND DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if> </if>
GROUP BY pro.bmname GROUP BY pro.COMPANY_ID
) info on pro.bmname=info.bmname ) info ON pro.COMPANY_ID = info.COMPANY_ID
left join( LEFT JOIN (
SELECT distinct pro_id SELECT DISTINCT pro_id
FROM car_plan_apply cpa FROM car_plan_apply cpa
WHERE status_type=1 WHERE status_type = 1
<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''"> <if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
and DATE_FORMAT(cpa.create_time,'%Y-%m-%d') AND DATE_FORMAT(cpa.create_time,'%Y-%m-%d')
between DATE_FORMAT(#{startTime},'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startTime},'%Y-%m-%d') AND DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if> </if>
) cp on cp.pro_id=pro.bid_id ) cp ON cp.pro_id = pro.bid_id
where cp.pro_id is not null WHERE cp.pro_id IS NOT NULL
GROUP BY pro.COMPANY_ID, bc.NAME
GROUP BY pro.bmname
</select> </select>
<select id="getSltPageListByBmName" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo"> <select id="getSltPageListByBmName" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo">
SELECT pro.name proName,count(cpa.id) planNum ,sum(cpa.need_num) needNum ,sum(cpa.dispatch_num) carNum ,cpa.pro_id proId, SELECT
sum(cpa.need_num)-sum(cpa.dispatch_num) dpcNum ,IFNULL(sum(cpo.money),0) money ,IFNULL(sum(csp.money),0) payMoney , pro.name proName,
IFNULL(sum(cpo.money),0)-IFNULL(sum(csp.money),0) noPayMoney COUNT(cpa.id) planNum,
from car_plan_apply cpa SUM(cpa.need_num) needNum,
SUM(cpa.dispatch_num) carNum,
cpa.pro_id proId,
SUM(IF(cpa.need_num &lt; cpa.dispatch_num,0,cpa.need_num-cpa.dispatch_num)) dpcNum,
IFNULL(CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)), 0) money,
IFNULL(CAST(SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)), 0) payMoney,
CAST(IFNULL(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)), 0) - IFNULL(SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)), 0) AS DECIMAL(18,2)) noPayMoney
FROM car_plan_apply cpa
LEFT JOIN( LEFT JOIN(
SELECT sum(money) money,apply_id SELECT
from car_plan_out cpo CAST(SUM(CAST(money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
where cpo.status=1 apply_id
FROM car_plan_out cpo
WHERE cpo.status=2
GROUP BY apply_id GROUP BY apply_id
) cpo on cpo.apply_id=cpa.id ) cpo on cpo.apply_id=cpa.id
LEFT JOIN ( LEFT JOIN (
SELECT sum(money) money,csd.plan_id id,csd.slt_id SELECT
from car_slt_details csd CAST(SUM(CAST(money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
csd.plan_id id,
csd.slt_id
FROM car_slt_details csd
GROUP BY csd.plan_id GROUP BY csd.plan_id
) csp on csp.id=cpa.id ) csp on csp.id=cpa.id
left join bm_project pro on pro.id=cpa.pro_id LEFT JOIN bm_project pro on pro.id=cpa.pro_id
WHERE pro.bmname=#{bmname} and cpa.status_type=1 LEFT JOIN bm_company bc on bc.id=pro.COMPANY_ID
WHERE bc.NAME=#{bmname} and cpa.status_type=1
<if test="proName!=null and proName!=''"> <if test="proName!=null and proName!=''">
and pro.name like concat('%',#{proName},'%') and pro.name like concat('%',#{proName},'%')
</if> </if>
@ -128,39 +180,55 @@
and DATE_FORMAT(cpa.create_time,'%Y-%m-%d') and DATE_FORMAT(cpa.create_time,'%Y-%m-%d')
between DATE_FORMAT(#{startTime},'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') between DATE_FORMAT(#{startTime},'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if> </if>
GROUP BY cpa.pro_id GROUP BY cpa.pro_id, pro.name
</select> </select>
<select id="getSltPageListByPro" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo"> <select id="getSltPageListByPro" resultType="com.bonus.gzcar.business.backstage.entity.CarBalanceVo">
SELECT cpa.`code` ,cpo.sup_id supId ,cpa.id planId ,IFNULL(sum(cpo.dispatch_num),0) carNum ,IFNULL(sum(cpo.money) ,0)money , SELECT
sum(IFNULL(csp.money,0)) payMoney ,IF(cpa.apply_type=0,'需求计划审批','紧急及内部用车') typeName , cpa.`code`,
if(csp.id is null,'未付','已付') status,pro.name proName ,IFNULL(cs.name,'-') supName ,cpa.type, cpo.sup_id supId,
IFNULL( sum(cpo.money)-sum(IFNULL(csp.money,0)),0) noPayMoney,cpa.need_num needNum, cpa.id planId,
cpa.need_num- IFNULL(sum(cpo.dispatch_num),0) dpcNum IFNULL(SUM(cpo.dispatch_num), 0) carNum,
from car_plan_apply cpa -- 金额字段转DECIMAL并处理NULL保证精度
left join car_plan_out cpo on cpo.apply_id=cpa.id AND cpo.status=1 IFNULL(CAST(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)), 0) money,
CAST(SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) payMoney,
IF(cpa.apply_type=0,'需求计划审批','紧急及内部用车') typeName,
IF(csp.id IS NULL,'未付','已付') status,
pro.name proName,
IFNULL(cs.name,'-') supName,
cpa.type,
-- 基于DECIMAL类型做减法避免精度丢失
CAST(IFNULL(SUM(IFNULL(CAST(cpo.money AS DECIMAL(18,2)), 0)), 0) - SUM(IFNULL(CAST(csp.money AS DECIMAL(18,2)), 0)) AS DECIMAL(18,2)) noPayMoney,
cpa.need_num needNum,
cpa.need_num - IFNULL(SUM(cpo.dispatch_num), 0) dpcNum
FROM car_plan_apply cpa
LEFT JOIN car_plan_out cpo ON cpo.apply_id = cpa.id AND cpo.status = 2
LEFT JOIN ( LEFT JOIN (
SELECT sum(money) money,csd.out_id id,csd.slt_id SELECT
from car_slt_details csd CAST(SUM(CAST(money AS DECIMAL(18,2))) AS DECIMAL(18,2)) money,
csd.out_id id,
csd.slt_id
FROM car_slt_details csd
GROUP BY csd.out_id GROUP BY csd.out_id
) csp on csp.id=cpo.id ) csp ON csp.id = cpo.id
LEFT JOIN car_supplier cs on cpo.sup_id=cs.id LEFT JOIN car_supplier cs ON cpo.sup_id = cs.id
left join bm_project pro on pro.id=cpa.pro_id LEFT JOIN bm_project pro ON pro.id = cpa.pro_id
where cpa.pro_id=#{proId} and cpa.status_type=1 WHERE cpa.pro_id = #{proId} AND cpa.status_type = 1
<if test="code!=null and code!=''"> <if test="code!=null and code!=''">
and cpa.`code` like concat('%',#{code},'%') AND cpa.`code` LIKE concat('%',#{code},'%')
</if> </if>
<if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''"> <if test="startTime!=null and startTime!='' and endTime!=null and endTime!=''">
and DATE_FORMAT(cpa.create_time,'%Y-%m-%d') AND DATE_FORMAT(cpa.create_time,'%Y-%m-%d')
between DATE_FORMAT(#{startTime},'%Y-%m-%d') and DATE_FORMAT(#{endTime},'%Y-%m-%d') BETWEEN DATE_FORMAT(#{startTime},'%Y-%m-%d') AND DATE_FORMAT(#{endTime},'%Y-%m-%d')
</if> </if>
GROUP BY cpa.id GROUP BY cpa.id, cpa.`code`, cpo.sup_id, pro.name, cs.name, cpa.apply_type, cpa.type, cpa.need_num
order by cpa.create_time desc ORDER BY cpa.create_time DESC
</select> </select>
<select id="getComNum" resultType="java.lang.Integer"> <select id="getComNum" resultType="java.lang.Integer">
select count(distinct pro.bmname) select count(distinct bc.id)
from car_plan_apply cpa from car_plan_apply cpa
left join bm_project pro on pro.id=cpa.pro_id left join bm_project pro on pro.id=cpa.pro_id
where cpa.status_type=1 LEFT JOIN bm_company bc on bc.id=pro.COMPANY_ID
where cpa.status_type=1 AND bc.ID is not NULL
</select> </select>
<select id="getProNumById" resultType="java.lang.Integer"> <select id="getProNumById" resultType="java.lang.Integer">
select count(distinct cpa.pro_id ) select count(distinct cpa.pro_id )
@ -182,7 +250,7 @@
select IFNULL(SUM(money),0) select IFNULL(SUM(money),0)
from car_plan_out cpo from car_plan_out cpo
left join car_plan_apply cpa on cpa.id=cpo.apply_id left join car_plan_apply cpa on cpa.id=cpo.apply_id
where 1=1 AND cpo.status=1 where 1=1 AND cpo.status=2
<if test="year!=null and year!=''"> <if test="year!=null and year!=''">
and DATE_FORMAT(cpa.create_time,'%Y')=YEAR(CURDATE()) and DATE_FORMAT(cpa.create_time,'%Y')=YEAR(CURDATE())
</if> </if>

View File

@ -87,7 +87,7 @@
<select id="getUserCheckList" resultType="com.bonus.gzcar.business.backstage.entity.CarUserVo"> <select id="getUserCheckList" resultType="com.bonus.gzcar.business.backstage.entity.CarUserVo">
select pu.id,pu.`LOGIN_NAME` title,pu.`NAME` as nikeName,concat('org-', pu.COMPANY_ID) parentId select pu.id,pu.`LOGIN_NAME` title,pu.`NAME` as nikeName,concat('org-', pu.COMPANY_ID) parentId
from car_supplier_user csu from car_supplier_user csu
left join pm_user pu on csu.user_id=.pu.id left join pm_user pu on csu.user_id=pu.id
where pu.IS_ACTIVE=1 and csu.sup_id=#{supId} where pu.IS_ACTIVE=1 and csu.sup_id=#{supId}
</select> </select>

View File

@ -121,7 +121,7 @@
<!--查询 需要量--> <!--查询 需要量-->
<select id="getNeedPlanList" resultType="com.bonus.gzcar.business.backstage.entity.CarNeedPlanVo"> <select id="getNeedPlanList" resultType="com.bonus.gzcar.business.backstage.entity.CarNeedPlanVo">
select select DISTINCT
cpa.id, cpa.code, cpa.type, cpa.pro_id proId, cpa.project_part projectPart, cpa.project_content projectContent, cpa.id, cpa.code, cpa.type, cpa.pro_id proId, cpa.project_part projectPart, cpa.project_content projectContent,
cpa.need_time needTime, cpa.creator, DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime, pro.name proName, cpa.need_time needTime, cpa.creator, DATE_FORMAT(cpa.create_time,'%Y-%m-%d') appLyTime, pro.name proName,
cpa.remark, cpa.updater, cpa.update_time updateTime,cpa.dispatch_day dispatchDay, cpa.remark, cpa.updater, cpa.update_time updateTime,cpa.dispatch_day dispatchDay,
@ -129,7 +129,7 @@
need_num needNum, dispatch_num dispatchNum, need_num-dispatch_num noDispatchNum, need_num needNum, dispatch_num dispatchNum, need_num-dispatch_num noDispatchNum,
cpa.apply_type applyType, cpa.status_type statusType, cpa.user_name userName, cpa.apply_type applyType, cpa.status_type statusType, cpa.user_name userName,
if(cpa.dispatch_status=0,'待审核',if(dispatch_num>0,'已派车','待派车')) statusName, if(cpa.dispatch_status=0,'待审核',if(dispatch_num>0,'已派车','待派车')) statusName,
cpod.remark as outRemark, cpod.car_num as outCarNo, cmt.`name` as outCarModel cmt.`name` as outCarModel
from from
car_plan_apply cpa car_plan_apply cpa
left join bm_project pro on pro.id = cpa.pro_id left join bm_project pro on pro.id = cpa.pro_id