diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java b/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java index 40a36047c..e98d04da6 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java @@ -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 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 passSet = new HashSet<>();