Commit 5e3d6c0d authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/MVP1.6.11' into MVP1.6.11

parents f1d136e6 2744762d
......@@ -41,7 +41,7 @@ public class TRiskMonitor extends BaseEntity {
/**
* 结算主体名称
*/
@ExcelAttribute(name = "项目名称", isNotEmpty = true, errorInfo = "项目名称不能为空", maxLength = 50)
@ExcelAttribute(name = "项目名称")
@ExcelProperty("项目名称")
@Schema(description = "项目名称")
private String departName;
......@@ -49,7 +49,7 @@ public class TRiskMonitor extends BaseEntity {
/**
* 结算主体编码
*/
@ExcelAttribute(name = "项目编码", isNotEmpty = true, errorInfo = "项目编码不能为空", maxLength = 32)
@ExcelAttribute(name = "项目编码")
@NotBlank(message = "项目编码不能为空")
@ExcelProperty("项目编码")
@Schema(description = "项目编码")
......@@ -58,9 +58,7 @@ public class TRiskMonitor extends BaseEntity {
/**
* 项目状态:0正常 1停止服务 2 已冻结
*/
@ExcelAttribute(name = "项目状态", isNotEmpty = true, errorInfo = "项目状态不能为空", maxLength = 1)
@NotBlank(message = "项目状态:0正常 1停止服务 2 已冻结不能为空")
@Length(max = 1, message = "项目状态:0正常 1停止服务 2 已冻结不能超过1个字符")
@ExcelAttribute(name = "项目状态")
@ExcelProperty("项目状态")
@Schema(description = "项目状态:0正常 1停止服务 2 已冻结")
private String stopFlag;
......@@ -68,8 +66,7 @@ public class TRiskMonitor extends BaseEntity {
/**
* 二级指标归属
*/
@ExcelAttribute(name = "二级指标归属", maxLength = 50)
@Length(max = 50, message = "二级指标归属不能超过50个字符")
@ExcelAttribute(name = "二级指标归属")
@ExcelProperty("二级指标归属")
@Schema(description = "二级指标归属")
private String secondIndicatorBelong;
......
......@@ -218,193 +218,305 @@
<!--tRiskMonitor批量生成-->
<select id="selectRiskMonitorList" resultMap="tRiskMonitorMap">
select A.id as DEPT_ID,
a.STOP_FLAG,
a.DEPART_NAME,
a.DEPART_NO,
ifnull(a.SECOND_INDICATOR_BELONG,'') SECOND_INDICATOR_BELONG,
a.CUSTOMER_NAME,
a.CUSTOMER_NO,
ifnull(a.BUSINESS_SECOND_TYPE,'') BUSINESS_SECOND_TYPE,
ifnull(a.BUSINESS_PRIMARY_TYPE,'') BUSINESS_PRIMARY_TYPE,
ifnull(a.BUSINESS_THIRD_TYPE,'') BUSINESS_THIRD_TYPE,
ifnull(a.BU_BELONG,'') BU_BELONG,
ifnull(a.LINE_TYPE,'') LINE_TYPE,
CONCAT(if(ifnull(pro.countPer,0) > ifnull(q.onContractNum,0),'合同漏签 / ','')
,if(ifnull(ht.countContract,0) - ifnull(q.onContractNum,0) > 0,'合同漏减 / ','')
,if(ifnull(pro.countPer,0) > ifnull(r.onInsuranceNum,0),'商险漏买 / ','')
,if(ifnull(sx.countInsurance,0) - ifnull(r.onInsuranceNum,0) >0, '商险多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(w.onSocialNum,0), '社保漏买 / ','')
,if(ifnull(so.countSocial,0) - ifnull(w.onSocialNum,0) >0, '社保多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(e.onFundNum,0), '公积金漏买 / ','')
,if(ifnull(fu.countFund,0) - ifnull(e.onFundNum,0) >0, '公积金多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(t.onSalaryNum,0), '工资漏发 / ','')
,if(ifnull(sa.countSalary,0) - ifnull(t.onSalaryNum,0) >0, '工资多发 / ','')
) RISK_TYPE,
if (length(CONCAT(if(ifnull(pro.countPer,0) > ifnull(q.onContractNum,0),'合同漏签 / ','')
,if(ifnull(ht.countContract,0) - ifnull(q.onContractNum,0) > 0,'合同漏减 / ','')
,if(ifnull(pro.countPer,0) > ifnull(r.onInsuranceNum,0),'商险漏买 / ','')
,if(ifnull(sx.countInsurance,0) - ifnull(r.onInsuranceNum,0) >0, '商险多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(w.onSocialNum,0), '社保漏买 / ','')
,if(ifnull(so.countSocial,0) - ifnull(w.onSocialNum,0) >0, '社保多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(e.onFundNum,0), '公积金漏买 / ','')
,if(ifnull(fu.countFund,0) - ifnull(e.onFundNum,0) >0, '公积金多买 / ','')
,if(ifnull(pro.countPer,0) > ifnull(t.onSalaryNum,0), '工资漏发 / ','')
,if(ifnull(sa.countSalary,0) - ifnull(t.onSalaryNum,0) >0, '工资多发 / ','')
)) >0,'0','1') IS_RISK,
ifnull(q.onContractNum, 0) PRO_CONTRACT_NUM,
ifnull(w.onSocialNum, 0) PRO_SOCIAL_NUM,
ifnull(e.onFundNum, 0) PRO_FUND_NUM,
ifnull(r.onInsuranceNum, 0) PRO_INSURANCE_NUM,
ifnull(t.onSalaryNum, 0) PRO_SALARY_NUM,
ifnull(ht.countContract, 0) - ifnull(q.onContractNum, 0) UNPRO_CONTRACT_NUM,
ifnull(so.countSocial, 0) - ifnull(w.onSocialNum, 0) UNPRO_SOCIAL_NUM,
ifnull(fu.countFund, 0) - ifnull(e.onFundNum, 0) UNPRO_FUND_NUM,
ifnull(sx.countInsurance, 0) - ifnull(r.onInsuranceNum, 0) UNPRO_INSURANCE_NUM,
ifnull(sa.countSalary, 0) - ifnull(t.onSalaryNum, 0) UNPRO_SALARY_NUM,
ifnull(DATE_FORMAT(sa.CREATE_TIME,'%Y-%m-%d %H:%i:%s'),'') LAST_SALARY_TIME,
ifnull(pro.countPer, 0) PROJECT_NUM,
'1' create_by,
'超管' create_name,
'1' UPDATE_BY
from t_settle_domain a
left join (
select a.DEPT_NO,
count(DISTINCT a.EMP_IDCARD) as countContract
from t_employee_contract_info a
where a.IN_USE = '0'
and a.DELETE_FLAG = 0
and CONTRACT_END >= CURDATE()
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO
) ht on a.DEPART_NO = ht.DEPT_NO
left join (
select a.SETTLE_DOMAIN_CODE,
count(DISTINCT a.EMP_IDCARD) as countSocial
from mvp_social.t_social_fund_info a
where a.SOCIAL_STATUS in ('3', '4', '9', '12')
and length(ifnull(a.SETTLE_DOMAIN_CODE, 0)) > 0
group by a.SETTLE_DOMAIN_CODE
) so on so.SETTLE_DOMAIN_CODE = a.DEPART_NO
left join (
select a.SETTLE_DOMAIN_CODE,
count(DISTINCT a.EMP_IDCARD) as countFund
from mvp_social.t_social_fund_info a
where a.fund_STATUS in ('3', '8')
and length(ifnull(a.SETTLE_DOMAIN_CODE, 0)) > 0
group by a.SETTLE_DOMAIN_CODE
) fu on fu.SETTLE_DOMAIN_CODE = a.DEPART_NO
left join (
select a.DEPT_NO,
count(DISTINCT a.EMP_IDCARD_NO) as countInsurance
from mvp_insurances.t_insurance_detail a
where a.IS_USE = 0
and IS_EFFECT = 0
and a.IS_OVERDUE = 0
and a.DELETE_FLAG = 0
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO
) sx on a.DEPART_NO = sx.DEPT_NO
left join (
select count(DISTINCT acc.EMP_IDCARD) as countSalary, lll.CREATE_TIME, lll.DEPT_NO
from mvp_salary.t_salary_standard lll
left join mvp_salary.t_salary_account acc on lll.id = acc.SALARY_FORM_ID and acc.DELETE_FLAG = 0
where lll.id in
(select b.id
from (
select a.DEPT_NO,
a.id,
max(a.CREATE_TIME) CREATE_TIME
from mvp_salary.t_salary_standard a
where a.DELETE_FLAG = 0
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO) hh
INNER JOIN mvp_salary.t_salary_standard b
on hh.DEPT_NO = b.DEPT_NO and hh.CREATE_TIME = b.CREATE_TIME)
group by lll.id
) sa on a.DEPART_NO = sa.DEPT_NO
left join
(
select a.DEPT_NO,
a.EMP_IDCARD,
count(DISTINCT a.EMP_IDCARD) countPer
from t_employee_project a
where a.PROJECT_STATUS = 0
and a.DELETE_FLAG = '0'
group by a.DEPT_NO) pro on a.DEPART_NO = pro.DEPT_NO
left join (select a.DEPT_NO,
count(DISTINCT a.EMP_IDCARD) onContractNum
from t_employee_contract_info a
inner join t_employee_project jj on a.EMP_IDCARD = jj.EMP_IDCARD and a.DEPT_NO = jj.DEPT_NO and jj.PROJECT_STATUS = 0
and jj.DELETE_FLAG = '0'
where a.IN_USE = '0'
and CONTRACT_END >= CURDATE()
and a.DELETE_FLAG = 0
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO) q on a.DEPART_NO = q.DEPT_NO
left join
(
select a.SETTLE_DOMAIN_CODE,
count(DISTINCT a.EMP_IDCARD) onSocialNum
from mvp_social.t_social_fund_info a
inner join t_employee_project jj on a.EMP_IDCARD = jj.EMP_IDCARD and a.SETTLE_DOMAIN_CODE = jj.DEPT_NO and jj.PROJECT_STATUS = 0
and jj.DELETE_FLAG = '0'
where a.SOCIAL_STATUS in ('3', '4', '9', '12')
and length(ifnull(a.SETTLE_DOMAIN_CODE, 0)) > 0
group by a.SETTLE_DOMAIN_CODE
) w on a.DEPART_NO = w.SETTLE_DOMAIN_CODE
left join
(
select a.SETTLE_DOMAIN_CODE,
count(DISTINCT a.EMP_IDCARD) onFundNum
from mvp_social.t_social_fund_info a
inner join t_employee_project jj on a.EMP_IDCARD = jj.EMP_IDCARD and a.SETTLE_DOMAIN_CODE = jj.DEPT_NO and jj.PROJECT_STATUS = 0
and jj.DELETE_FLAG = '0'
where a.fund_STATUS in ('3', '8')
and length(ifnull(a.SETTLE_DOMAIN_CODE, 0)) > 0
group by a.SETTLE_DOMAIN_CODE
) e on a.DEPART_NO = e.SETTLE_DOMAIN_CODE
left join
(
select a.DEPT_NO,
count(DISTINCT a.EMP_IDCARD_NO) onInsuranceNum
from mvp_insurances.t_insurance_detail a
inner join t_employee_project jj on a.EMP_IDCARD_NO = jj.EMP_IDCARD and a.DEPT_NO = jj.DEPT_NO and jj.PROJECT_STATUS = 0
and jj.DELETE_FLAG = '0'
where a.IS_USE = 0
and IS_EFFECT = 0
and a.IS_OVERDUE = 0
and a.DELETE_FLAG = 0
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO
) r on a.DEPART_NO = r.DEPT_NO
left join
(
select count(DISTINCT acc.EMP_IDCARD) as onSalaryNum, lll.DEPT_NO
from mvp_salary.t_salary_standard lll
left join mvp_salary.t_salary_account acc on lll.id = acc.SALARY_FORM_ID and acc.DELETE_FLAG = 0
inner join t_employee_project jj on acc.EMP_IDCARD = jj.EMP_IDCARD and lll.DEPT_NO = jj.DEPT_NO and jj.PROJECT_STATUS = 0
and jj.DELETE_FLAG = '0'
where lll.id in
(select b.id
from (
select a.DEPT_NO,
a.id,
max(a.CREATE_TIME) CREATE_TIME
from mvp_salary.t_salary_standard a
where a.DELETE_FLAG = 0
and length(ifnull(a.DEPT_NO, 0)) > 0
group by a.DEPT_NO) hh
INNER JOIN mvp_salary.t_salary_standard b
on hh.DEPT_NO = b.DEPT_NO and hh.CREATE_TIME = b.CREATE_TIME)
group by lll.DEPT_NO, lll.id
) t on a.DEPART_NO = t.DEPT_NO
where a.DELETE_FLAG = '0'
group by a.DEPART_NO
SELECT
A.id AS DEPT_ID,
a.STOP_FLAG,
a.DEPART_NAME,
a.DEPART_NO,
ifnull( a.SECOND_INDICATOR_BELONG, '' ) SECOND_INDICATOR_BELONG,
a.CUSTOMER_NAME,
a.CUSTOMER_NO,
ifnull( a.BUSINESS_SECOND_TYPE, '' ) BUSINESS_SECOND_TYPE,
ifnull( a.BUSINESS_PRIMARY_TYPE, '' ) BUSINESS_PRIMARY_TYPE,
ifnull( a.BUSINESS_THIRD_TYPE, '' ) BUSINESS_THIRD_TYPE,
ifnull( a.BU_BELONG, '' ) BU_BELONG,
ifnull( a.LINE_TYPE, '' ) LINE_TYPE,
CONCAT(
IF
( ifnull( pro.countPer, 0 ) > ifnull( q.onContractNum, 0 ), '合同漏签 / ', '' ),
IF
( ifnull( ht.countContract, 0 ) - ifnull( q.onContractNum, 0 ) > 0, '合同漏减 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( r.onInsuranceNum, 0 ), '商险漏买 / ', '' ),
IF
( ifnull( sx.countInsurance, 0 ) - ifnull( r.onInsuranceNum, 0 ) > 0, '商险多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( w.onSocialNum, 0 ), '社保漏买 / ', '' ),
IF
( ifnull( so.countSocial, 0 ) - ifnull( w.onSocialNum, 0 ) > 0, '社保多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( e.onFundNum, 0 ), '公积金漏买 / ', '' ),
IF
( ifnull( fu.countFund, 0 ) - ifnull( e.onFundNum, 0 ) > 0, '公积金多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( t.onSalaryNum, 0 ), '工资漏发 / ', '' ),
IF
( ifnull( sa.countSalary, 0 ) - ifnull( t.onSalaryNum, 0 ) > 0, '工资多发 / ', '' )
) RISK_TYPE,
IF
(
length(
CONCAT(
IF
( ifnull( pro.countPer, 0 ) > ifnull( q.onContractNum, 0 ), '合同漏签 / ', '' ),
IF
( ifnull( ht.countContract, 0 ) - ifnull( q.onContractNum, 0 ) > 0, '合同漏减 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( r.onInsuranceNum, 0 ), '商险漏买 / ', '' ),
IF
( ifnull( sx.countInsurance, 0 ) - ifnull( r.onInsuranceNum, 0 ) > 0, '商险多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( w.onSocialNum, 0 ), '社保漏买 / ', '' ),
IF
( ifnull( so.countSocial, 0 ) - ifnull( w.onSocialNum, 0 ) > 0, '社保多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( e.onFundNum, 0 ), '公积金漏买 / ', '' ),
IF
( ifnull( fu.countFund, 0 ) - ifnull( e.onFundNum, 0 ) > 0, '公积金多买 / ', '' ),
IF
( ifnull( pro.countPer, 0 ) > ifnull( t.onSalaryNum, 0 ), '工资漏发 / ', '' ),
IF
( ifnull( sa.countSalary, 0 ) - ifnull( t.onSalaryNum, 0 ) > 0, '工资多发 / ', '' )
)) > 0,
'0',
'1'
) IS_RISK,
ifnull( q.onContractNum, 0 ) PRO_CONTRACT_NUM,
ifnull( w.onSocialNum, 0 ) PRO_SOCIAL_NUM,
ifnull( e.onFundNum, 0 ) PRO_FUND_NUM,
ifnull( r.onInsuranceNum, 0 ) PRO_INSURANCE_NUM,
ifnull( t.onSalaryNum, 0 ) PRO_SALARY_NUM,
ifnull( ht.countContract, 0 ) - ifnull( q.onContractNum, 0 ) UNPRO_CONTRACT_NUM,
ifnull( so.countSocial, 0 ) - ifnull( w.onSocialNum, 0 ) UNPRO_SOCIAL_NUM,
ifnull( fu.countFund, 0 ) - ifnull( e.onFundNum, 0 ) UNPRO_FUND_NUM,
ifnull( sx.countInsurance, 0 ) - ifnull( r.onInsuranceNum, 0 ) UNPRO_INSURANCE_NUM,
ifnull( sa.countSalary, 0 ) - ifnull( t.onSalaryNum, 0 ) UNPRO_SALARY_NUM,
ifnull( DATE_FORMAT( sa.CREATE_TIME, '%Y-%m-%d %H:%i:%s' ), '' ) LAST_SALARY_TIME,
ifnull( pro.countPer, 0 ) PROJECT_NUM,
'1' create_by,
'超管' create_name,
'1' UPDATE_BY
FROM
t_settle_domain a
LEFT JOIN (
SELECT
a.DEPT_NO,
count( DISTINCT a.EMP_IDCARD ) AS countContract
FROM
t_employee_contract_info a
WHERE
a.IN_USE = '0'
AND a.DELETE_FLAG = 0
AND (CONTRACT_END >= CURDATE() or (ifnull(CONTRACT_END,-1) = -1 and a.CONTRACT_TYPE = '2'))
AND length(
ifnull(a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) ht ON a.DEPART_NO = ht.DEPT_NO
LEFT JOIN (
SELECT
a.SETTLE_DOMAIN_CODE,
count( DISTINCT a.EMP_IDCARD ) AS countSocial
FROM
mvp_social.t_social_fund_info a
WHERE
a.SOCIAL_STATUS IN ( '3', '4', '9', '12' )
AND length(
ifnull( a.SETTLE_DOMAIN_CODE, '')) > 0
GROUP BY
a.SETTLE_DOMAIN_CODE
) so ON so.SETTLE_DOMAIN_CODE = a.DEPART_NO
LEFT JOIN (
SELECT
a.SETTLE_DOMAIN_CODE,
count( DISTINCT a.EMP_IDCARD ) AS countFund
FROM
mvp_social.t_social_fund_info a
WHERE
a.fund_STATUS IN ( '3', '8' )
AND length(
ifnull( a.SETTLE_DOMAIN_CODE, '')) > 0
GROUP BY
a.SETTLE_DOMAIN_CODE
) fu ON fu.SETTLE_DOMAIN_CODE = a.DEPART_NO
LEFT JOIN (
SELECT
a.DEPT_NO,
count( DISTINCT a.EMP_IDCARD_NO ) AS countInsurance
FROM
mvp_insurances.t_insurance_detail a
WHERE
a.IS_USE = 0
AND IS_EFFECT = 0
AND a.IS_OVERDUE = 0
AND a.DELETE_FLAG = 0
AND length(
ifnull( a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) sx ON a.DEPART_NO = sx.DEPT_NO
LEFT JOIN (
SELECT
count( DISTINCT acc.EMP_IDCARD ) AS countSalary,
lll.CREATE_TIME,
lll.DEPT_NO
FROM
mvp_salary.t_salary_standard lll
LEFT JOIN mvp_salary.t_salary_account acc ON lll.id = acc.SALARY_FORM_ID
AND acc.DELETE_FLAG = 0
WHERE
lll.id IN (
SELECT
b.id
FROM
(
SELECT
a.DEPT_NO,
a.id,
max( a.CREATE_TIME ) CREATE_TIME
FROM
mvp_salary.t_salary_standard a
WHERE
a.DELETE_FLAG = 0
AND length(
ifnull( a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) hh
INNER JOIN mvp_salary.t_salary_standard b ON hh.DEPT_NO = b.DEPT_NO
AND hh.CREATE_TIME = b.CREATE_TIME
)
GROUP BY
lll.id
) sa ON a.DEPART_NO = sa.DEPT_NO
LEFT JOIN (
SELECT
a.DEPT_NO,
a.EMP_IDCARD,
count( DISTINCT a.EMP_IDCARD ) countPer
FROM
t_employee_project a
WHERE
a.PROJECT_STATUS = 0
AND a.DELETE_FLAG = '0'
GROUP BY
a.DEPT_NO
) pro ON a.DEPART_NO = pro.DEPT_NO
LEFT JOIN (
SELECT
a.DEPT_NO,
count( DISTINCT a.EMP_IDCARD ) onContractNum
FROM
t_employee_contract_info a
INNER JOIN t_employee_project jj ON a.EMP_IDCARD = jj.EMP_IDCARD
AND a.DEPT_NO = jj.DEPT_NO
AND jj.PROJECT_STATUS = 0
AND jj.DELETE_FLAG = '0'
WHERE
a.IN_USE = '0'
AND (CONTRACT_END >= CURDATE() or (ifnull(CONTRACT_END,-1) = -1 and a.CONTRACT_TYPE = '2'))
AND a.DELETE_FLAG = 0
AND length(
ifnull( a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) q ON a.DEPART_NO = q.DEPT_NO
LEFT JOIN (
SELECT
a.SETTLE_DOMAIN_CODE,
count( DISTINCT a.EMP_IDCARD ) onSocialNum
FROM
mvp_social.t_social_fund_info a
INNER JOIN t_employee_project jj ON a.EMP_IDCARD = jj.EMP_IDCARD
AND a.SETTLE_DOMAIN_CODE = jj.DEPT_NO
AND jj.PROJECT_STATUS = 0
AND jj.DELETE_FLAG = '0'
WHERE
a.SOCIAL_STATUS IN ( '3', '4', '9', '12' )
AND length(
ifnull( a.SETTLE_DOMAIN_CODE, '')) > 0
GROUP BY
a.SETTLE_DOMAIN_CODE
) w ON a.DEPART_NO = w.SETTLE_DOMAIN_CODE
LEFT JOIN (
SELECT
a.SETTLE_DOMAIN_CODE,
count( DISTINCT a.EMP_IDCARD ) onFundNum
FROM
mvp_social.t_social_fund_info a
INNER JOIN t_employee_project jj ON a.EMP_IDCARD = jj.EMP_IDCARD
AND a.SETTLE_DOMAIN_CODE = jj.DEPT_NO
AND jj.PROJECT_STATUS = 0
AND jj.DELETE_FLAG = '0'
WHERE
a.fund_STATUS IN ( '3', '8' )
AND length(
ifnull( a.SETTLE_DOMAIN_CODE, '')) > 0
GROUP BY
a.SETTLE_DOMAIN_CODE
) e ON a.DEPART_NO = e.SETTLE_DOMAIN_CODE
LEFT JOIN (
SELECT
a.DEPT_NO,
count( DISTINCT a.EMP_IDCARD_NO ) onInsuranceNum
FROM
mvp_insurances.t_insurance_detail a
INNER JOIN t_employee_project jj ON a.EMP_IDCARD_NO = jj.EMP_IDCARD
AND a.DEPT_NO = jj.DEPT_NO
AND jj.PROJECT_STATUS = 0
AND jj.DELETE_FLAG = '0'
WHERE
a.IS_USE = 0
AND IS_EFFECT = 0
AND a.IS_OVERDUE = 0
AND a.DELETE_FLAG = 0
AND length(
ifnull( a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) r ON a.DEPART_NO = r.DEPT_NO
LEFT JOIN (
SELECT
count( DISTINCT acc.EMP_IDCARD ) AS onSalaryNum,
lll.DEPT_NO
FROM
mvp_salary.t_salary_standard lll
LEFT JOIN mvp_salary.t_salary_account acc ON lll.id = acc.SALARY_FORM_ID
AND acc.DELETE_FLAG = 0
INNER JOIN t_employee_project jj ON acc.EMP_IDCARD = jj.EMP_IDCARD
AND lll.DEPT_NO = jj.DEPT_NO
AND jj.PROJECT_STATUS = 0
AND jj.DELETE_FLAG = '0'
WHERE
lll.id IN (
SELECT
b.id
FROM
(
SELECT
a.DEPT_NO,
a.id,
max( a.CREATE_TIME ) CREATE_TIME
FROM
mvp_salary.t_salary_standard a
WHERE
a.DELETE_FLAG = 0
AND length(
ifnull( a.DEPT_NO, '')) > 0
GROUP BY
a.DEPT_NO
) hh
INNER JOIN mvp_salary.t_salary_standard b ON hh.DEPT_NO = b.DEPT_NO
AND hh.CREATE_TIME = b.CREATE_TIME
)
GROUP BY
lll.DEPT_NO,
lll.id
) t ON a.DEPART_NO = t.DEPT_NO
WHERE
a.DELETE_FLAG = '0'
GROUP BY
a.DEPART_NO
</select>
<select id="getTRiskMonitorPer" resultType="com.yifu.cloud.plus.v1.yifu.archives.vo.RiskMonitorPerVo">
......
......@@ -7,6 +7,7 @@ import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
......@@ -17,6 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
* @author huyc
* @date 2024-05-23 10:24:12
*/
@Log4j2
@RestController
@RequiredArgsConstructor
@RequestMapping("/icbcQuery" )
......@@ -59,6 +61,7 @@ public class IcbcTransactionFlowQueryController {
@Inner
@PostMapping("/inner/newPage")
public R getIcbcTransactionFlowInner() throws IcbcApiException {
log.info("开始交易流水查询");
return icbcTransactionFlowQueryService.getIcbcTransactionFlowNew();
}
......
......@@ -230,6 +230,16 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
// 获取成功后根据流水号去重和根据借贷标志02筛选出所有数据
if (!flowRecordList.isEmpty()) {
log.info("获取当前账号下的流水--明细条数:" + flowRecordList.size());
for (MybankEnterpriseTradeQhisdResponseV1.MybankEnterpriseTradeQhisdResponseRdV1 entry : flowRecordList) {
log.info("获取当前账号下的流水--来款单位:" + entry.getRecipName());
log.info("获取当前账号下的流水--交易类型:" + entry.getDrcrf());
log.info("获取当前账号下的流水--来款账户:" + entry.getRecipAccountNo());
log.info("获取当前账号下的流水--交易时间:" + entry.getBusiDate() + " "
+ entry.getBusiTime().replace(".",":"),DateUtil.DATETIME_PATTERN_MINUTE);
log.info("获取当前账号下的流水--流水号:" + entry.getOnlySequence());
}
// 获取当前账户下的入账记录:账号为key,账户下入账记录列表作为value
List<String> serioListByAccount = serioMapByAccount.get(account);
if(serioListByAccount == null || serioListByAccount.isEmpty()){
......@@ -238,9 +248,11 @@ public class IcbcTransactionFlowQueryServiceImpl extends ServiceImpl<EkpSocialIn
// 过滤出需要新增流水的数据
List<MybankEnterpriseTradeQhisdResponseV1.MybankEnterpriseTradeQhisdResponseRdV1> insertList = new ArrayList<>();
// 入账金额大于0再记录
for (MybankEnterpriseTradeQhisdResponseV1.MybankEnterpriseTradeQhisdResponseRdV1 flowRecord : flowRecordList) {
if("2".equals(flowRecord.getDrcrf()) && !serioListByAccount.contains(flowRecord.getOnlySequence())){
if("2".equals(flowRecord.getDrcrf())
&& flowRecord.getCreditAmount() > 0
&& !serioListByAccount.contains(flowRecord.getOnlySequence())){
insertList.add(flowRecord);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment