修改信审考核统计报表(张磊)

This commit is contained in:
tangfutang 2020-06-17 11:54:44 +08:00
parent caf04212a9
commit e02be7f9a4

View File

@ -24,16 +24,58 @@ public class CreditAuditHolidayBatch implements Job{
private static final Logger logger = LogManager.getLogger(CreditAuditHolidayBatch.class);// 引入logger日志
public void execute(JobExecutionContext arg0) throws JobExecutionException {
logger.info("【信审考核统计】【CreditAuditHolidayBatch】【开始】<<<<<<<<<<<<<: 20200603");
logger.info("【信审考核统计】【CreditAuditHolidayBatch】【开始】<<<<<<<<<<<<<: 2020061222");
insertStOrder();
deleteCreditAudit();
initDetail();
updateDetail();
initOrderAuditDay();
saveOrderAuditDay();
updateOrderAuditDay();
updateCreditAuditType();
logger.info("【信审考核统计】【CreditAuditHolidayBatch】【完成】<<<<<<<<<<<<<: ");
}
/**
* 添加审核流程记录明细
* @return
*/
private void updateCreditAuditType(){
Transaction Sqlca=null;
try{
logger.info("【信审考核统计】【updateCreditAuditType】修改角色名称<<<<<<<<<<<<<");
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
//初始化信审考核明细表
String updateSql="update st_credit_audit_order set auditFlowTypeDes='信审复审' where auditFlowType='0040'";
String updateSql2="update st_credit_audit_order set auditFlowTypeDes='信审经理终审' where auditFlowType='0050'";
String updateSql3="update st_credit_audit_order set auditFlowTypeDes='信审负责人' where auditFlowType='0060'";
Sqlca.executeSQL(new SqlObject(updateSql));
Sqlca.executeSQL(new SqlObject(updateSql2));
Sqlca.executeSQL(new SqlObject(updateSql3));
Sqlca.commit();
logger.info("【信审考核统计】【updateCreditAuditType】修改角色名称<<<<<<<<<<<<<");
}catch(Exception e){
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【updateCreditAuditType】修改角色名称>>>>>>>>>>>>>>>>>>>>>>>");
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【updateCreditAuditType】修改角色名称>>>>>>>>>>>>>>>>>>>>>>>");
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【updateCreditAuditType】修改角色名称>>>>>>>>>>>>>>>>>>>>>>>");
try {
Sqlca.rollback();
} catch (JBOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
if(Sqlca!=null) {
try {
Sqlca.commit();
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}
/**
* 添加审核流程记录明细
* @return
@ -72,6 +114,42 @@ public class CreditAuditHolidayBatch implements Job{
}
}
/**
* 增量更新st_order
* @return
*/
private void insertStOrder(){
Transaction Sqlca=null;
try{
logger.info("【信审考核统计】【insertStOrder】增量更新st_order<<<<<<<<<<<<<");
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
//初始化信审考核明细表
insertStOrder(Sqlca);
Sqlca.commit();
logger.info("【信审考核统计】【insertStOrder】增量更新st_order<<<<<<<<<<<<");
}catch(Exception e){
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【insertStOrder】增量更新st_order>>>>>>>>>>>>>>>>>>>>>>>");
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【insertStOrder】增量更新st_order>>>>>>>>>>>>>>>>>>>>>>>");
logger.error("<<<<<<<<<<<<<<<<<<<<<<【信审考核统计】【insertStOrder】增量更新st_order>>>>>>>>>>>>>>>>>>>>>>>");
try {
Sqlca.rollback();
} catch (JBOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally {
if(Sqlca!=null) {
try {
Sqlca.commit();
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}
/**
* 添加审核流程记录明细
* @return
@ -128,9 +206,9 @@ public class CreditAuditHolidayBatch implements Job{
//初始化信审考核明细表
List<AuditOrderEnums.AuditTypeEnum> typeEnumList = AuditOrderEnums.AuditTypeEnum.findCreditTypeList();
for(AuditOrderEnums.AuditTypeEnum auditTypeEnum : typeEnumList){
logger.info("【信审考核统计】【initDetail】修改订单明细中的--创建时间开始<<【信审部分】");
logger.info("【信审考核统计】【updateDetail】修改订单明细中的--创建时间开始<<【信审部分】");
updateDetail(Sqlca, auditTypeEnum);
logger.info("【信审考核统计】【initDetail】修改订单明细中的--审核时间开始<<【信审部分】");
logger.info("【信审考核统计】【updateDetail】修改订单明细中的--审核时间开始<<【信审部分】");
updateDetailAuditDay(Sqlca, auditTypeEnum);
}
Sqlca.commit();
@ -275,6 +353,7 @@ public class CreditAuditHolidayBatch implements Job{
int con=0;
// 查询所有需要发送还款提醒的数据
String selSql="SELECT \n" +
" FBO.proj_id as project_id,\n" +
" FT.userid,\n" +
" FT.username,\n" +
" FT.objectno,\n" +
@ -290,6 +369,7 @@ public class CreditAuditHolidayBatch implements Job{
" (SELECT itemname from code_library WHERE codeno='disagreeOP' AND itemno=fob.phaseopinion) AS auditResStsDes \n" +
"FROM FLOW_TASK FT\n" +
"LEFT JOIN FLOW_OPINION_BUSINESS FOB ON FT.SERIALNO=FOB.SERIALNO \n" +
"LEFT JOIN flow_bussiness_object FBO ON FT.objectno=FBO.flow_unid \n" +
"WHERE FT.flowname = '" + auditTypeEnum.getFlowName() +"'" +
" AND FT.phaseno='" + auditTypeEnum.getPhaseNo() +"'" +
" AND (FT.USERNAME IS NOT NULL OR FT.USERNAME <>'')";
@ -312,6 +392,7 @@ public class CreditAuditHolidayBatch implements Job{
String auditOrderSts = "";
String auditOrderStsDes = "";
String uuidDetail = UUID.randomUUID().toString().replace("-", "");
String projectId = rs.getString("project_id"); // 用户id
String userid = rs.getString("userid"); // 用户id
String username = rs.getString("username"); // 用户姓名
String objectno = rs.getString("objectno"); // 流程编号
@ -382,7 +463,7 @@ public class CreditAuditHolidayBatch implements Job{
auditTime = "1";
}
}
String insertSql="INSERT INTO st_credit_audit_order_detail(id,serialno,objectno,userid,username, " +
String insertSql="INSERT INTO st_credit_audit_order_detail(id,serialno,objectno,userid,username, project_id," +
"auditFlowType," +
"auditFlowTypeDes," +
"auditType," +
@ -409,6 +490,7 @@ public class CreditAuditHolidayBatch implements Job{
"'"+objectno+"', " +
"'"+userid+"', " +
"'"+username+"', " +
"'"+projectId+"', " +
"'"+auditFlowType+"', " +
"'"+auditFlowTypeDes+"', " +
"'"+auditTypeEnum.getFlowNo()+"', " +
@ -507,6 +589,63 @@ public class CreditAuditHolidayBatch implements Job{
return String.valueOf(con);
}
/**
* 批量插入st_order
* @return
* @throws Exception
*/
public String insertStOrder(Transaction Sqlca) throws Exception {
// 批量插入更新
String insertSql = "insert into st_order(\n" +
" project_id,\n" +
" project_num,\n" +
" project_name,\n" +
" contract_id,\n" +
" contract_num, \n" +
" product_id, \n" +
" product_name, \n" +
" distributor_id, \n" +
" distributor_num,\n" +
" distributor_name, \n" +
" subject_id,\n" +
" subject_name,\n" +
" customer_id,\n" +
" customer_name,\n" +
" customer_phone, \n" +
" customer_idcard,\n" +
" INPUTTIME,\n" +
" UPDATETIME\n" +
" )\n" +
" select \n" +
" lpi.id, \n" +
" lpi.PROJECT_NO, \n" +
" lpi.project_name,\n" +
" lci.id contractid, \n" +
" lci.CONTRACT_NUMBER, \n" +
" lpi.PRODUCT_ID, \n" +
" lpi.PRODUCT_NAME, \n" +
" di.id distributor_id, \n" +
" di.distributor_no,\n" +
" di.DISTRIBUTOR_NAME,\n" +
" lpi.SUBJECTID, \n" +
" lpi.SUBJECTNAME, \n" +
" ci.customerid, \n" +
" ci.fullname, \n" +
" ci.mobile, \n" +
" ci.certid,\n" +
" DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),\n" +
" DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s')\n" +
" from lb_project_info lpi\n" +
" LEFT JOIN distributor_info di on di.distributor_no = lpi.distributor_id\n" +
" LEFT JOIN lb_union_lessee lul on lul.PROJECT_ID = lpi.id\n" +
" LEFT JOIN lb_contract_info lci on lci.id = lul.contract_id\n" +
" LEFT JOIN customer_person ci on ci.customerid = lul.CUSTOMER_ID\n" +
" LEFT JOIN st_order so on so.project_id = lpi.id " +
" WHERE so.project_id is null ";
Sqlca.executeSQL(new SqlObject(insertSql));
return "-1";
}
/**
* 初始化审核统计报表-保存审核日期相关订单
* @return
@ -518,8 +657,10 @@ public class CreditAuditHolidayBatch implements Job{
" select " +
" audit_day, userid, username, auditFlowType, auditFlowTypeDes, count(1) auditCount, DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s')" +
" from ( " +
" select * from st_credit_audit_order_detail where auditType='BusinessApplyFlow' and auditOrderSts > 1 group by userid, audit_day, objectno " +
" ) as a group by userid, audit_day" ;
" select audit_day, userid, username, auditFlowType, auditFlowTypeDes " +
" from st_credit_audit_order_detail where auditType='BusinessApplyFlow' and auditOrderSts > 1 " +
" group by auditFlowType, userid, audit_day, objectno " +
" ) as a group by auditFlowType, userid, audit_day" ;
Sqlca.executeSQL(new SqlObject(insertSql));
return "-1";
}
@ -537,8 +678,9 @@ public class CreditAuditHolidayBatch implements Job{
String selSql = " select " +
" create_day AS every_day, userid, username, auditFlowType, auditFlowTypeDes, count(1) order_count " +
" from ( " +
" select * from st_credit_audit_order_detail where auditType='BusinessApplyFlow' group by userid, objectno, create_day " +
" ) as a group by userid, create_day" ;
" select * from st_credit_audit_order_detail where auditType='BusinessApplyFlow' " +
" group by auditFlowType, userid, objectno, create_day " +
" ) as a group by auditFlowType, userid, create_day" ;
ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql));
while(rs.next()) {
// 获取接口推送所需数据
@ -550,13 +692,14 @@ public class CreditAuditHolidayBatch implements Job{
String auditFlowType = rs.getString("auditFlowType"); // 流程创建时间
String auditFlowTypeDes = rs.getString("auditFlowTypeDes"); // 流程创建时间
String selSql2="SELECT count(1) as countNum FROM st_credit_audit_order WHERE every_day ='" + every_day
+"' and userid='" + userid +"'";
String selSql2="SELECT count(1) as countNum FROM st_credit_audit_order " +
"WHERE every_day ='" + every_day +"' and userid='" + userid +"' and auditFlowType='" + auditFlowType +"'";
ASResultSet rs2 = Sqlca.getASResultSet(new SqlObject(selSql2));
if(rs2.next()) {
if(rs2.getInt("countNum") > 0){
String updSql="UPDATE st_credit_audit_order SET order_count='"+order_count+"', " +
"UPDATETIME=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') WHERE every_day='"+every_day +"' and userid='" + userid +"'";
"UPDATETIME=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') WHERE every_day='"+every_day +"' and userid='"
+ userid +"' and auditFlowType='" + auditFlowType +"'";
Sqlca.executeSQL(new SqlObject(updSql));
logger.info("【信审考核统计】【saveOrderCreateDay】更新记录保存进单数量<<<<<<<<<<<<<");
}else {
@ -596,7 +739,7 @@ public class CreditAuditHolidayBatch implements Job{
public String updateOrderAuditDay(Transaction Sqlca) throws Exception {
int con=0;
// 查询所有需要发送还款提醒的数据
String selSql="SELECT id, every_day, userid, count_audit FROM st_credit_audit_order ";
String selSql="SELECT id, every_day, userid, auditFlowType, count_audit FROM st_credit_audit_order ";
ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql));
while(rs.next()) {
@ -605,6 +748,7 @@ public class CreditAuditHolidayBatch implements Job{
logger.info("【信审考核统计】【updateOrderAuditDay】信审考核统计订单执行 con=" + con);
String id = rs.getString("id"); // 流程编号
String count_audit = rs.getString("count_audit"); // 审核数量
String auditFlowType = rs.getString("auditFlowType"); // 流程类型
int countAudit = 0;
if(StringUtils.isNotEmpty(count_audit) && !"null".equals(count_audit)){
countAudit = Integer.parseInt(count_audit);
@ -616,6 +760,7 @@ public class CreditAuditHolidayBatch implements Job{
" FROM st_credit_audit_order_detail " +
" WHERE userid = '" + userid +"'" +
" AND audit_day ='" + every_day +"'" +
" AND auditFlowType='" + auditFlowType +"'" +
" AND auditType ='BusinessApplyFlow'" ;
ASResultSet rs2 = Sqlca.getASResultSet(new SqlObject(selSql2));
Set<String> passSet = new HashSet<>();