diff --git a/src_sql/投产SQL/V20200404/customer(zhanglei)_20200404.sql b/src_sql/投产SQL/V20200404/customer(zhanglei)_20200404.sql index 0e0752f80..d1ac6c68e 100644 --- a/src_sql/投产SQL/V20200404/customer(zhanglei)_20200404.sql +++ b/src_sql/投产SQL/V20200404/customer(zhanglei)_20200404.sql @@ -133,4 +133,22 @@ VALUES ('e6c678657a4f11eaae2500163e0ad612', 'ST_CREDIT_AUDIT_HOLIDAY', '1', '2', INSERT INTO `apzl`.`code_library` (`codeno`, `itemno`, `itemname`, `bankno`, `sortno`, `isinuse`, `itemdescribe`, `itemattribute`, `relativecode`, `attribute1`, `attribute2`, `attribute3`, `attribute4`, `attribute5`, `attribute6`, `attribute7`, `attribute8`, `inputuser`, `inputorg`, `inputtime`, `updateuser`, `updatetime`, `remark`, `helptext`) VALUES ('MissionName', 'com.tenwa.lease.app.quartzmession.CreditAuditHolidayBatch', 'ÐÅÉ󿼺Ëͳ¼Æ´¦Àí', '5101001', '5101001', '1', 'ÐÅÉ󿼺Ëͳ¼Æ´¦Àí', '', '', '', '', '', '', '', '', '', '', 'SYS_Designer', NULL, '2019/12/26 10:13:04', 'SYS_Designer', '2019/12/26 10:14:07', '', ''); +-- ---------------------------------------------- + + +-- ½áÇåÖ¤Ã÷Ìí¼ÓÌì½òÖ÷ÌåÄ£°å --------------------------- +-- Ìí¼Ó½áÇåÖ¤Ã÷Áбí-Ö÷Ìåid²éѯ +INSERT INTO `apzl`.`awe_do_library`(`dono`, `colindex`, `sortno`, `isinuse`, `coltablename`, `colactualname`, `colname`, `coltype`, `coldefaultvalue`, `colheader`, `colunit`, `colcolumntype`, `coleditstyle`, `colcheckformat`, `colalign`, `coleditsourcetype`, `coleditsource`, `colhtmlstyle`, `collimit`, `colvisible`, `colreadonly`, `colrequired`, `colsortable`, `isfilter`, `colspan`, `isautocomplete`, `groupid`, `colfilterrefid`, `inputuser`, `inputtime`, `updateuser`, `updatetime`, `isaudit`, `colfilterattrs`, `isupdate`, `parentcolindex`, `tips`, `colinnerbtevent`, `colfilteroptions`) VALUES ('rightsFileList', '105030', '105030', '1', 'O', 'SUBJECTID', 'SUBJECTID', 'String', NULL, 'Ö÷ÌåID', NULL, '1', 'Text', '1', '1', NULL, NULL, NULL, '32', '0', '0', '0', '1', '0', 0, NULL, NULL, NULL, 'SYS_Designer', '2018/08/10 15:48:47', 'SYS_Designer', '2018/08/29 21:09:29', NULL, NULL, '1', NULL, NULL, NULL, NULL); + + +-- Ìí¼Ó±êÇ©-³µÁ¾ÐÅÏ¢¡¾85ef6c805b8d41da993cd553e83012b4¡¿ +INSERT INTO `apzl`.`bf_lableconfig`(`ID`, `TAGNUMBER`, `TAGNAME`, `TITLE`, `TAGTYPE`, `VALUETYPE`, `VALUEFIELD`, `VALUEMETHOD`, `THOUSANDSFIELD`, `ISSHOEINDEX`, `REMARK`, `INPUTUSERID`, `INPUTORGID`, `UPDATEUSERID`, `UPDATEORGID`, `INPUTTIME`, `UPDATETIME`, `OPERATORCLASS`) VALUES ('85ef6c805b8d41da993cd553e83012b4', '00050101', 'settlement_car', '½áÇåÖ¤Ã÷-Æû³µ»ù±¾ÐÅÏ¢', 'tag_type2', 'value_type3', 'FRAME_NUMBER,ENGINE_NUMBER,PLATE_NUMBER', 'SELECT FRAME_NUMBER,ENGINE_NUMBER,PLATE_NUMBER FROM LB_EQUIPMENT_CAR\r\nWHERE CONTRACT_ID =:{CONTRACT_ID};', '', 'N', '', '', '', '', '', '', '', ''); + +-- Ìí¼ÓÄ£°å-½áÇåÖ¤Ã÷-Ìì½ò¡¾8e24641585f511ea8e2300163e0e11e6¡¿ +INSERT INTO `apzl`.`bf_template`(`ID`, `SERIALNO`, `SORTNUMBER`, `TEMPLATENAME`, `TEMPLATESHOWNAME`, `TEMPLATEPATH`, `TEMPLATETYPE`, `OPERATETYPE`, `CALLBACK`, `CREATEMETHOD`, `DOCTYPE`, `ONECLASSIFY`, `TWOCLASSIFY`, `THREECLASSIFY`, `FOURCLASSIFY`, `TEMPLATEVERSION`, `STATUS`, `REMARK`, `INPUTUSERID`, `INPUTORGID`, `INPUTTIME`, `UPDATEUSERID`, `UPDATEORGID`, `UPDATETIME`, `CREATECONDITION`, `CREATESHEETCONDITION`) VALUES ('8e24641585f511ea8e2300163e0e11e6', NULL, NULL, '½áÇåÖ¤Ã÷-Ìì½ò', '½áÇåÖ¤Ã÷_{CUSTOMER_NAME}.docx', '½áÇåÖ¤Ã÷-Ìì½ò.docx', 'word', 'create', NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', NULL, NULL, 'administrator', '8009001', '2018/07/30 11:42:48', 'administrator', '8009001', '2020/04/24 11:27:14', NULL, NULL); + +-- Ä£°åºÍ±êÇ©¹ØÁª¹ØÏµÌí¼Ó +INSERT INTO `apzl`.`bf_templatelable`(`ID`, `LABLEID`, `TEMPLATEID`, `INPUTUSERID`, `INPUTORGID`, `UPDATEUSERID`, `UPDATEORGID`, `INPUTTIME`, `UPDATETIME`) VALUES (replace(uuid(),"-",""), '85ef6c805b8d41da993cd553e83012b4', '8e24641585f511ea8e2300163e0e11e6', NULL, NULL, NULL, NULL, NULL, NULL); +INSERT INTO `apzl`.`bf_templatelable`(`ID`, `LABLEID`, `TEMPLATEID`, `INPUTUSERID`, `INPUTORGID`, `UPDATEUSERID`, `UPDATEORGID`, `INPUTTIME`, `UPDATETIME`) VALUES (replace(uuid(),"-",""), 'abcf338955fe42f98910100a8723e230', '8e24641585f511ea8e2300163e0e11e6', NULL, NULL, NULL, NULL, NULL, NULL); +-- ------------------------------------------------------------------------- diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java b/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java index 8761887a9..3a24e3efa 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/CreditAuditHolidayBatch.java @@ -42,6 +42,7 @@ public class CreditAuditHolidayBatch implements Job{ private void deleteCreditAudit(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾deleteCreditAudit¡¿Êý¾ÝÇå¿ÕÖ´ÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String delSql="truncate table st_credit_audit_order_detail"; @@ -49,7 +50,7 @@ public class CreditAuditHolidayBatch implements Job{ Sqlca.executeSQL(new SqlObject(delSql)); Sqlca.executeSQL(new SqlObject(delSql2)); Sqlca.commit(); - logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾deleteCreditAudit¡¿Êý¾ÝÇå¿ÕÖ´ÐÐÍê³É<<<<<<<<<<<<<: "); + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾deleteCreditAudit¡¿Êý¾ÝÇå¿ÕÖ´ÐÐÍê³É<<<<<<<<<<<<<"); }catch(Exception e){ logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾deleteCreditAudit¡¿Êý¾ÝÇå¿ÕÖ´ÐÐÒì³£>>>>>>>>>>>>>>>>>>>>>>>"); logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾deleteCreditAudit¡¿Êý¾ÝÇå¿ÕÖ´ÐÐÒì³£>>>>>>>>>>>>>>>>>>>>>>>"); @@ -79,11 +80,12 @@ public class CreditAuditHolidayBatch implements Job{ private void initDetail(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initDetail¡¿³õʼ»¯¶©µ¥Ã÷ϸ¼Ç¼ִÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String result1 = initDetail(Sqlca); Sqlca.commit(); - logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initDetail¡¿³õʼ»¯¶©µ¥Ã÷ϸ¼Ç¼<<<<<<<<<<<<<: "+result1); + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initDetail¡¿³õʼ»¯¶©µ¥Ã÷ϸ¼Ç¼ִÐÐÍê³É<<<<<<<<<<<<<£º"+result1); }catch(Exception e){ logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initDetail¡¿³õʼ»¯¶©µ¥Ã÷ϸ¼Ç¼>>>>>>>>>>>>>>>>>>>>>>>"); logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initDetail¡¿³õʼ»¯¶©µ¥Ã÷ϸ¼Ç¼>>>>>>>>>>>>>>>>>>>>>>>"); @@ -113,11 +115,12 @@ public class CreditAuditHolidayBatch implements Job{ private void updateDetail(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateDetail¡¿Ð޸Ķ©µ¥Ã÷ϸÖеĴ´½¨Ê±¼äÖ´ÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String result1 = updateDetail(Sqlca); Sqlca.commit(); - logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateDetail¡¿Ð޸Ķ©µ¥Ã÷ϸÖеĴ´½¨Ê±¼äÖ´ÐÐÍê³É<<<<<<<<<<<<<: "+result1); + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateDetail¡¿Ð޸Ķ©µ¥Ã÷ϸÖеĴ´½¨Ê±¼äÖ´ÐÐÍê³É<<<<<<<<<<<<<£º"+result1); }catch(Exception e){ logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateDetail¡¿Ð޸Ķ©µ¥Ã÷ϸÖеĴ´½¨Ê±¼äÖ´ÐÐÒì³£>>>>>>>>>>>>>>>>>>>>>>>"); logger.error("<<<<<<<<<<<<<<<<<<<<<<¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateDetail¡¿Ð޸Ķ©µ¥Ã÷ϸÖеĴ´½¨Ê±¼äÖ´ÐÐÒì³£>>>>>>>>>>>>>>>>>>>>>>>"); @@ -147,6 +150,7 @@ public class CreditAuditHolidayBatch implements Job{ private void initOrderAuditDay(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾initOrderAuditDay¡¿³õʼ»¯¶©µ¥±íÉóºËÊý¾Ýͳ¼ÆÖ´ÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String result1 = initOrderAuditDay(Sqlca); @@ -181,6 +185,7 @@ public class CreditAuditHolidayBatch implements Job{ private void saveOrderAuditDay(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾saveOrderAuditDay¡¿¸ù¾Ý½øµ¥Ê±¼äÐÂÔöºÍÐ޸Ķ©µ¥Í³¼Æ±íÖ´ÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String result1 = saveOrderCreateDay(Sqlca); @@ -215,6 +220,7 @@ public class CreditAuditHolidayBatch implements Job{ private void updateOrderAuditDay(){ Transaction Sqlca=null; try{ + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾updateOrderAuditDay¡¿¼ÆËãÐÅÉ󿼺Ëͳ¼Æ±íÉóºËʱ¼äÖ´ÐпªÊ¼<<<<<<<<<<<<<"); Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); //³õʼ»¯ÐÅÉ󿼺ËÃ÷ϸ±í String result1 = updateOrderAuditDay(Sqlca); @@ -428,7 +434,6 @@ public class CreditAuditHolidayBatch implements Job{ */ public String initOrderAuditDay(Transaction Sqlca) throws Exception { String insertSql="INSERT INTO st_credit_audit_order(\n" + - " id,\n" + " every_day,\n" + " userid,\n" + " username,\n" + @@ -445,7 +450,6 @@ public class CreditAuditHolidayBatch implements Job{ " count_audit_refuse6\n" + " )\n" + " SELECT \n" + - " replace(uuid(),'-',''),\n" + " st2.every_day,\n" + " st2.userid,\n" + " st2.username,\n" + @@ -483,6 +487,7 @@ public class CreditAuditHolidayBatch implements Job{ return "-1"; } + /** * ¸ù¾Ý²éѯ½øµ¥Í³¼ÆÊý¾Ý£¬Ìí¼Ó»òÕ߸üÐÂͳ¼Æ¶©µ¥Êý¾Ý * @return @@ -501,9 +506,22 @@ public class CreditAuditHolidayBatch implements Job{ String selSql2 = ""; int con=0; // ²éѯËùÓÐÐèÒª·¢ËÍ»¹¿îÌáÐѵÄÊý¾Ý - String selSql="SELECT count(1) as order_count,std1.every_day,std1.userid,std1.username,std1.auditFlowType,std1.auditFlowTypeDes \n" + - " from (SELECT min(create_day) AS every_day,userid,username,auditFlowType,auditFlowTypeDes from st_credit_audit_order_detail GROUP BY objectno) AS std1 \n" + - " GROUP BY std1.every_day "; + String selSql="SELECT count(1) as order_count,\n" + + " min(std1.every_day) AS every_day,\n" + + " std1.userid,\n" + + " std1.username,\n" + + " std1.auditFlowType,\n" + + " std1.auditFlowTypeDes\n" + + " from (\n" + + " SELECT \n" + + " min(create_day) AS every_day,\n" + + " userid,\n" + + " username,\n" + + " auditFlowType,\n" + + " auditFlowTypeDes\n" + + " from st_credit_audit_order_detail \n" + + " GROUP BY objectno,userid\n" + + " ) AS std1 GROUP BY std1.every_day,std1.userid "; ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql)); while(rs.next()) { id = UUID.randomUUID().toString().replace("-", ""); @@ -516,16 +534,17 @@ public class CreditAuditHolidayBatch implements Job{ auditFlowType = rs.getString("auditFlowType"); // Á÷³Ì´´½¨Ê±¼ä auditFlowTypeDes = rs.getString("auditFlowTypeDes"); // Á÷³Ì´´½¨Ê±¼ä - selSql2="SELECT count(1) as countNum FROM st_credit_audit_order WHERE every_day ='" + every_day +"'"; + selSql2="SELECT count(1) as countNum FROM st_credit_audit_order WHERE every_day ='" + every_day + +"' and userid='" + userid +"'"; ASResultSet rs2 = Sqlca.getASResultSet(new SqlObject(selSql2)); if(rs2.next()) { if(rs2.getInt("countNum") > 0){ 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+"' "; + "UPDATETIME=DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') WHERE every_day='"+every_day +"' and userid='" + userid +"'"; Sqlca.executeSQL(new SqlObject(updSql)); + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾saveOrderCreateDay¡¿¸üмǼ±£´æ½øµ¥ÊýÁ¿<<<<<<<<<<<<<"); }else { String insertSql = "INSERT INTO st_credit_audit_order(\n" + - " id,\n" + " every_day,\n" + " userid,\n" + " username,\n" + @@ -536,16 +555,17 @@ public class CreditAuditHolidayBatch implements Job{ " UPDATETIME " + " ) " + " VALUES ( " + - " '" + id + "', " + " '" + every_day + "', " + " '" + userid + "', " + - " '" + userid + "', " + " '" + username + "', " + " '" + auditFlowType + "', " + " '" + auditFlowTypeDes + "', " + + " '" + order_count + "', " + "DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), " + "DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s') " + ")"; + Sqlca.executeSQL(new SqlObject(insertSql)); + logger.info("¡¾ÐÅÉ󿼺Ëͳ¼Æ¡¿¡¾saveOrderCreateDay¡¿ÐÂÔö¼Ç¼±£´æ½øµ¥ÊýÁ¿<<<<<<<<<<<<<"); } } id = ""; @@ -634,18 +654,6 @@ public class CreditAuditHolidayBatch implements Job{ return String.valueOf(con); } - - - /** - * 0010 ÐÅÓò»Á¼ - * 0020 ·¨ÔºÖ´ÐÐ - * 0030 Ðé¼ÙÐÅÏ¢ - * 0040 Éí·ÝºËʵÒì³£ - * 0050 ¹º³µÄ¿µÄÒì³£ - * 0060 ×ÛºÏÆÀ·Ö²»×ã - * 0070 ͬÒâ - * 0080 ¸½Ìõ¼þͨ¹ý - */ /** * ¸ù¾Ýµ±Ç°Ê±¼ä»ñµÃÌø¹ý½Ú¼ÙÈյŤ×÷ÈÕʱ¼ä * @param date @@ -762,10 +770,45 @@ public class CreditAuditHolidayBatch implements Job{ return diffMinute(beginDate.getTime(), beginDateAfter.getTime()); } - private long diffMinute(long begin, long end){ - if(begin > end){ - return -1; + /** + * ¾­¹ý´¦Àí¹ýµÄʱ¼ä¿ªÊ¼ºÍ½áÊøÊ±¼äÔÚÒ»Ìì + * @param begin + * @param end + * @return + * @throws ParseException + */ + private long diffMinute(long begin, long end) throws ParseException { + Date beginDate = new Date(begin); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + String timeBefore = sdf.format(beginDate).substring(0, 11) + "12:00:00"; + String timeAfter = sdf.format(beginDate).substring(0, 11) + "12:30:00"; + Date timeBeforeDate = sdf.parse(timeBefore); + Date timeAfterDate = sdf.parse(timeAfter); + //È·ÈÏÊÇ·ñÐèÒª¿Û³ýÎçÐÝ30·ÖÖÓ + boolean b = false; + //Èç¹û¿ªÊ¼Ê±¼äСÓÚ12:00 ²¢ÇÒ ½áÊøÊ±¼ä´óÓÚ12:30 + if(begin <= timeBeforeDate.getTime() && end >= timeAfterDate.getTime()){ + b = true; } - return (end - begin)/1000/60; + //Èç¹û¿ªÊ¼Ê±¼ä£¬´óÓÚ12 СÓÚ 12:30 Ôò ¿ªÊ¼Ê±¼äΪ 12:30 + if(begin > timeBeforeDate.getTime() && begin < timeAfterDate.getTime()){ + begin = timeAfterDate.getTime(); + } + //Èç¹û½áÊøÊ±¼ä£¬´óÓÚ12 СÓÚ 12:30 Ôò ¿ªÊ¼Ê±¼äΪ 12:00 + if(end > timeBeforeDate.getTime() && end < timeAfterDate.getTime()){ + end = timeBeforeDate.getTime(); + } + long res = (end - begin)/1000/60; + if(b){ + res = res - 30; + } + return res <= 0 ? 1 : res; } + +// private long diffMinute(long begin, long end){ +// if(begin > end){ +// return -1; +// } +// return (end - begin)/1000/60; +// } } diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/WechatMessagePush.java b/src_tenwa/com/tenwa/lease/app/quartzmession/WechatMessagePush.java index 9cce41f80..9880d3aa3 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/WechatMessagePush.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/WechatMessagePush.java @@ -92,8 +92,7 @@ public class WechatMessagePush implements Job{ int con=0; // ²éѯËùÓÐÐèÒª·¢ËÍ»¹¿îÌáÐѵÄÊý¾Ý - //String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT('µÚ', LRP.PLAN_LIST, 'ÆÚ') KEYWORD2,CONCAT(IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0),'Ôª') KEYWORD3 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND IFNULL(WUI.ATTENTION_STATUS, 'Y') <> 'N' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) <= 2 AND TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) >= 0) AND IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '1' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0, 50000 "; - String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT('µÚ', LRP.PLAN_LIST, 'ÆÚ') KEYWORD2,CONCAT(IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0),'Ôª') KEYWORD3 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) <= 2 AND TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) >= 0) AND IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '1' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0, 50000 "; + String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT('µÚ', LRP.PLAN_LIST, 'ÆÚ') KEYWORD2,CONCAT(IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0),'Ôª') KEYWORD3 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND IFNULL(WUI.ATTENTION_STATUS, 'Y') <> 'N' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) <= 3 AND TIMESTAMPDIFF(DAY,DATE_FORMAT(NOW(), '%Y-%m-%d'),DATE_FORMAT(LRP.PLAN_DATE, '%Y-%m-%d')) >= 0) AND IFNULL(LRP.RENT, 0) - IFNULL(LRI.RENT, 0) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '1' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') LIMIT 0, 50000 "; ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql)); @@ -175,7 +174,7 @@ public class WechatMessagePush implements Job{ // ²éѯËùÓÐÐèÒª·¢ËÍ»¹¿îÌáÐѵÄÊý¾Ý //String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT(ROUND((LRP.RENT + ROUND(IFNULL(getRentPenalty3(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2)) - (IFNULL(LRI.RENT, 0) + IFNULL(LRI.PENALTY, 0)),2),'Ôª') AS KEYWORD2,CONCAT((LRP.RENT - IFNULL(LRI.RENT, 0)),'Ôª') AS KEYWORD3,CONCAT(ROUND(IFNULL(getRentPenalty(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2),'Ôª') AS KEYWORD4 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY FROM LC_RENT_PLAN WHERE TIMESTAMPDIFF(DAY,DATE_FORMAT(PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d')) >= 3 GROUP BY CONTRACT_ID,PLAN_LIST) LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND IFNULL(WUI.ATTENTION_STATUS,'Y')<>'N' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (IFNULL(LRP.RENT, 0)+ ROUND(IFNULL(getRentPenalty3(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2)- IFNULL(LRI.RENT, 0) - IFNULL(LRI.PENALTY, 0)) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '2' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') ORDER BY LRP.PLAN_LIST LIMIT 0, 50000 "; - String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT(ROUND((LRP.RENT + ROUND(IFNULL(getRentPenalty3(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2)) - (IFNULL(LRI.RENT, 0) + IFNULL(LRI.PENALTY, 0)),2),'Ôª') AS KEYWORD2,CONCAT((LRP.RENT - IFNULL(LRI.RENT, 0)),'Ôª') AS KEYWORD3,CONCAT(ROUND(IFNULL(getRentPenalty(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2),'Ôª') AS KEYWORD4 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY FROM LC_RENT_PLAN WHERE TIMESTAMPDIFF(DAY,DATE_FORMAT(PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d')) >= 3 GROUP BY CONTRACT_ID,PLAN_LIST) LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (IFNULL(LRP.RENT, 0)- IFNULL(LRI.RENT, 0)) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '2' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') ORDER BY LRP.PLAN_LIST LIMIT 0, 50000 "; + String selSql="SELECT CI.CUSTOMERNAME AS CUST_NAME,WUI.MOBILE_,WUI.CERTID_,LCI.CONTRACT_NUMBER,CI.CUSTOMER_NUM,LRP.PLAN_LIST,LCI.ID AS CONTRACT_ID,CI.CUSTOMERID,WUI.OPENID,CONCAT('/wechat/menu?type=payments&id=',LCI.CONTRACT_NUMBER) AS LINK,CONCAT(CONVERT(YEAR(LRP.PLAN_DATE), CHAR),'Äê',CONVERT(MONTH(LRP.PLAN_DATE), CHAR),'ÔÂ',CONVERT(DAY(LRP.PLAN_DATE), CHAR),'ÈÕ') AS KEYWORD1,CONCAT(ROUND((LRP.RENT + ROUND(IFNULL(getRentPenalty3(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2)) - (IFNULL(LRI.RENT, 0) + IFNULL(LRI.PENALTY, 0)),2),'Ôª') AS KEYWORD2,CONCAT((LRP.RENT - IFNULL(LRI.RENT, 0)),'Ôª') AS KEYWORD3,CONCAT(ROUND(IFNULL(getRentPenalty(LRP.PAYMENT_NUMBER,LRP.PLAN_LIST,IFNULL(LRI.HIRE_DATE,DATE_FORMAT(NOW(), '%y/%m/%d'))),0),2),'Ôª') AS KEYWORD4 FROM WECHAT_USER_INFO WUI LEFT JOIN CUSTOMER_INFO CI ON CI.CERTID = WUI.CERTID_ LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CUSTOMER_ID = CI.CUSTOMERID AND LUL.IS_MAIN = 'Y' LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LUL.CONTRACT_ID AND LCI.CONTRACT_STATUS = '31' LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,MAX(PLAN_DATE) AS PLAN_DATE,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY FROM LC_RENT_PLAN WHERE TIMESTAMPDIFF(DAY,DATE_FORMAT(PLAN_DATE, '%Y-%m-%d'),DATE_FORMAT(NOW(), '%Y-%m-%d')) >= 3 GROUP BY CONTRACT_ID,PLAN_LIST) LRP ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,PLAN_LIST,SUM(RENT) AS RENT,SUM(IFNULL(PENALTY, 0)) AS PENALTY,MAX(HIRE_DATE) AS HIRE_DATE FROM LC_RENT_INCOME GROUP BY CONTRACT_ID,PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST WHERE WUI.BINDING_STATUS = 'Y' AND IFNULL(WUI.ATTENTION_STATUS,'Y')<>'N' AND DI.DISTRIBUTOR_NAME<>'»Ô»Í¹ú¼ÊÈÚ×Ê×âÁÞ£¨Ìì½ò£©ÓÐÏÞ¹«Ë¾' AND (IFNULL(LRP.RENT, 0)- IFNULL(LRI.RENT, 0)) > 0 AND NOT EXISTS (SELECT 1 FROM WECHAT_MESSAGE_RECORD WHERE OPENID = WUI.OPENID AND SEND_TYPE = '2' AND CONTRACT_NUMBER = LCI.CONTRACT_NUMBER AND PLAN_LIST = LRP.PLAN_LIST AND SEND_STATUS = 'Y') ORDER BY LRP.PLAN_LIST LIMIT 0, 50000 "; ASResultSet rs = Sqlca.getASResultSet(new SqlObject(selSql)); // Ñ­»·, ÖðÌõ·¢ËÍ diff --git a/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/GenerateBackOpinionLog.java b/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/GenerateBackOpinionLog.java index bddf32e2b..fed7b616e 100644 --- a/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/GenerateBackOpinionLog.java +++ b/src_tenwa/com/tenwa/lease/flow/contract/commbusiness/GenerateBackOpinionLog.java @@ -23,8 +23,8 @@ public class GenerateBackOpinionLog extends BaseBussiness{ String channel = this.getAttribute("channel").toString(); String applyType = this.getAttribute("ApplyType").toString(); String flowunid = this.getAttribute("FlowUnid").toString(); - String projectNo = this.getAttribute("ProjectNo").toString(); - String applicationNo = this.getAttribute("applicationNo").toString(); + String projectNo = this.getAttribute("ProjectNo")==null?"":this.getAttribute("ProjectNo").toString(); + String applicationNo = this.getAttribute("applicationNo")==null?"":this.getAttribute("applicationNo").toString(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss") ; String thisDate = dateFormat.format(new Date()); BizObjectManager ftBm = JBOFactory.getBizObjectManager(FLOW_TASK.CLASS_NAME,Sqlca);