xinyb_
2021-12-28 dff633f2e2cd72e3eb7c2f911c2d5b8a562db3ad
提交 | 用户 | age
d3ae0a 1 package com.yc.MaintenanceFee.schedule;
X 2
3 import com.yc.MaintenanceFee.service.MaintainService;
396201 4 import com.yc.entity.DataSourceEntity;
d3ae0a 5 import com.yc.exception.ApplicationException;
X 6 import com.yc.factory.FactoryBean;
396201 7 import com.yc.multiData.MultiDataSource;
d3ae0a 8 import com.yc.multiData.SpObserver;
X 9 import com.yc.open.init.BaseGate;
10 import com.yc.open.init.Task;
11 import com.yc.open.mutual.schedule.GateEntity;
396201 12 import com.yc.service.build.type.T_22_Ifc;
d3ae0a 13 import lombok.extern.slf4j.Slf4j;
X 14
dff633 15 import java.util.List;
X 16 import java.util.Map;
17
d3ae0a 18 /**
X 19  * @USER: xinyb_
20  * @DATE: 2021-12-13 14:02
21  */
22 @Slf4j
23 public class MaintainGate extends BaseGate {
24
25     private static MaintainService maintainService;
396201 26     private static T_22_Ifc t22Ifc;
X 27
d3ae0a 28
X 29     private static String TASKID = "OP0030";
30
31     static {
32         maintainService = (MaintainService) FactoryBean.getBean("maintainServiceImpl");
396201 33         t22Ifc = (T_22_Ifc) FactoryBean.getBean("T_22_Impl");
d3ae0a 34     }
X 35
36     public void run(GateEntity gateEntity) throws Exception {
396201 37         String dbId = "";
X 38         Task task = null;
d3ae0a 39         try {
X 40             SpObserver.setDBtoInstance("_" + gateEntity.getDbid());
396201 41             task = checkPoint(gateEntity, TASKID);
X 42             if (task != null && task.getResult() == 1) {
43                 String table = t22Ifc.getProcName(gateEntity.getFormid() + "");
44                 dbId = maintainService.selectCltCodeDbId(table, gateEntity.getDocCode());
45                 if ("148".equals(dbId) || "549".equals(dbId)) {
46                     throw new Exception("此客户编号不在维护费用范围内");
47                 }
48             }
49         } catch (Exception e) {
50             throw e;
51         } finally {
52             SpObserver.setDBtoInstance();
53         }
54         try {
55             SpObserver.setDBtoInstance("_" + dbId);
d3ae0a 56             //满足条件
X 57             if (task != null && task.getResult() == 1) {
dff633 58                 boolean bol = maintainService.selectMaintenanceFeeNotification(null);
d3ae0a 59                 if (!bol) {
396201 60                     DataSourceEntity data = MultiDataSource.getDataSourceMap(dbId);
X 61                     String msg = "在【" + data.getSystemDescribe() + "】系统中,没有找到接收维护费通知的人员,请在此系统所属的维护登录用户功能中勾选【接收维护费通知】(停用的用户不能用于接收维护费通知),然后重试此操作!";
62                     throw new ApplicationException(msg);
d3ae0a 63                 }
dff633 64                 //推送
X 65
d3ae0a 66             }
X 67         } catch (Exception e) {
68             throw e;
69         } finally {
70             SpObserver.setDBtoInstance();
71         }
72     }
73 }