﻿<?xml version="1.0" encoding="UTF-8"?>
<jobs>
	<!-- mvel expression : https://en.wikibooks.org/wiki/Transwiki:MVEL_Language_Guide#Language_Guide_for_2.0 -->
	<!-- 部门 -->
	<job name="ORG" order="1">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					
					SELECT
						ORG_CODE,	trim(
							REPLACE (
								REPLACE (ORG_NAME, '（', '('),
								'）',
								')'
							)
						) AS ORG_NAME,PID
						from v_jxzl_tb_interface_org
					
					</select-sql>
					<!--<crudType>select</crudType> -->
				</transformer>
				<!-- mvel: as test (must return boolean) -->
				<!-- <filter-condition filter-expression="ORG_ID > 0" /> -->
			</inbound-endpoint>
		</inbound>
		<processors>
			<!-- mvel: as dsl -->
			<!-- <processor name="xx" process-expression="if(ORG_ID = 0){ORG_ID=999}"></processor>
			<processor name="xx" process-expression="if(PID = 0){PID=999}"></processor> -->
		</processors>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<!-- mvel: as template -->
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,IMPORT_OBJ,CHECK_FLAG)
						values('@{ORG_CODE}','@{ORG_NAME}',"ORG","1");
					</insert-sql>
					<select-sql>
						select * from tb_jxcp_excel_tmp where COLUMN_NAME1='@{ORG_CODE}' and IMPORT_OBJ = "ORG";
					</select-sql>
					<!-- 1、crudType: SELECT, INSERT, UPDATE, DELETE; 2、source default: select; 
						3、sink default: if has update-sql element, it is update -->
					<crudType>update</crudType>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
	<!-- 教工 -->
	<job name="EMPLOYEE" order="2">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					
					SELECT
						e.REAL_NAME,
						trim( REPLACE ( REPLACE ( o.ORG_NAME, '（', '(' ), '）', ')' ) ) AS ORG_NAME,
						e.SEX,
						e.AGE,
						e.EMPLOYEE_CODE,
						e.PHONE,
						e.TEL,
						e.IDNO,
						e.BIRTHDAY,
						e.TITLE,
						e.EDU_DEGREE,
						e.EMAIL,
						e.TEACHER_PROPERTY
					FROM
						v_jxzl_tb_interface_employee e,
						v_jxzl_tb_interface_org o 
					WHERE
						o.ORG_CODE = e.ORG_CODE
					
					</select-sql>
					<!--<crudType>select</crudType> -->
				</transformer>
				<!-- mvel: as test (must return boolean) -->
				<!--<filter-condition filter-expression="ORG_ID > 4" /> -->
			</inbound-endpoint>
		</inbound>
		<processors>
			<!-- mvel: as dsl -->
			<!-- <processor name="xx" process-expression="if(SEX = 1){SEX=男}"></processor>-->

			<processor name="xx" process-expression="if(SEX == '1'){SEX='男'}"></processor>
			<processor name="xx" process-expression="if(SEX == '0'){SEX='女'}"></processor>
                        
		</processors>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<!-- mvel: as template -->
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME4,COLUMN_NAME5,COLUMN_NAME6,COLUMN_NAME7,COLUMN_NAME8,COLUMN_NAME9,COLUMN_NAME10,COLUMN_NAME11,COLUMN_NAME12,COLUMN_NAME13,IMPORT_OBJ,CHECK_FLAG)
						values('@{EMPLOYEE_CODE}','@{REAL_NAME}','@{ORG_NAME}','@{SEX}','@{AGE}','@{PHONE}','@{TEL}','@{IDNO}','@{BIRTHDAY}','@{TITLE}','@{EDU_DEGREE}','@{EMAIL}','@{TEACHER_PROPERTY}',"EMPLOYEE","1");
					</insert-sql>
					<select-sql>SELECT
									e.EMPLOYEE_CODE,e.REAL_NAME,o.ORG_NAME,e.AGE,e.PHONE,e.TEL,e.IDNO,e.BIRTHDAY,e.EMAIL,e.TITLE,c.CODE_NAME
								FROM
									tb_jxcp_employee e
								LEFT JOIN tb_jxcp_employee_org eo ON e.EMPLOYEE_ID = eo.EMPLOYEE_ID
								LEFT JOIN tb_jxcp_org o ON eo.ORG_ID = o.ORG_ID
								LEFT JOIN tb_jxcp_code c ON c.CODE_VALUE = e.TEACHER_PROPERTY
								WHERE
									e.EMPLOYEE_CODE ='@{EMPLOYEE_CODE}'
								AND e.REAL_NAME ='@{REAL_NAME}'
								AND o.ORG_NAME = '@{ORG_NAME}';
								<!-- AND if ('@{AGE}' = '' , e.AGE IS NULL ,e.AGE = '@{AGE}')
								AND if ('@{PHONE}' = '' , e.PHONE IS NULL ,e.PHONE = '@{PHONE}')
								AND if ('@{TEL}' = '' , e.TEL IS NULL ,e.TEL = '@{TEL}')
								AND if ('@{IDNO}' = '' , e.IDNO IS NULL ,e.IDNO = '@{IDNO}')
								AND if ('@{BIRTHDAY}' = '' , e.BIRTHDAY IS NULL ,e.BIRTHDAY = '@{BIRTHDAY}')
								AND if ('@{EMAIL}' = '' , e.EMAIL IS NULL ,e.EMAIL = '@{EMAIL}')
								AND if ('@{TITLE}' = '' , e.TITLE IS NULL ,e.TITLE = '@{TITLE}')
								AND c.CODE_NAME = '@{TEACHER_PROPERTY}'
								AND if ('@{TITLE}' = '' , e.TITLE IS NULL ,e.TITLE = '@{TEACHER_PROPERTY}')-->
					</select-sql>
					<!-- 1、crudType: SELECT, INSERT, UPDATE, DELETE; 2、source default: select; 
						3、sink default: if has update-sql element, it is update -->
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
	<!-- 班级 -->
	<job name="CLASSES" order="5">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					
						SELECT
							TRIM( REPLACE (REPLACE(c.CLASS_NAME,'（','('),'）',')')) AS CLASS_NAME,
							TRIM( REPLACE (REPLACE(	o.ORG_NAME,'（','('),'）',')')) AS 	ORG_NAME,
							c.CLASS_NO,
							c.CLASS_GRADE
						FROM
							v_jxzl_tb_interface_classes c,
							v_jxzl_tb_interface_org o
						WHERE
							c.CLASS_NO IN (
								SELECT DISTINCT
									s.CLASS_NO
								FROM
									v_jxzl_tb_interface_student s
							)
						AND c.ORG_CODE = o.ORG_CODE

					
					</select-sql>
				</transformer>
			</inbound-endpoint>
		</inbound>
		<processors>
		</processors>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME5,IMPORT_OBJ,CHECK_FLAG)
						values('@{CLASS_NAME}','@{ORG_NAME}','@{CLASS_NO}','@{CLASS_GRADE}',"CLASSES","1"); 
					</insert-sql>
					<select-sql>SELECT
									c.CLASS_NAME,
									o.ORG_NAME,
									c.CLASS_NO,
									c.CLASS_GRADE
								FROM
									tb_jxcp_classes c
								LEFT JOIN tb_jxcp_org o ON c.ORG_ID = o.ORG_ID
								WHERE
									c.CLASS_NAME = '@{CLASS_NAME}'
								AND o.ORG_NAME = '@{ORG_NAME}'
								AND c.CLASS_NO = '@{CLASS_NO}';
							
					</select-sql>
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
	<!-- 课程 -->
	<job name="COURSE" order="6">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					
						SELECT DISTINCT
							TRIM( REPLACE (REPLACE(	c.COURSE_NAME,'（','('),'）',')')) AS COURSE_NAME,
							c.COURSE_TYPE,
							c.COURSE_NO,
							c.ORG_CODE,
							TRIM( REPLACE (REPLACE( c.ORG_NAME,'（','('),'）',')')) AS ORG_NAME
						FROM
							v_jxzl_tb_interface_course c
						WHERE
							c.COURSE_NO IN (
								SELECT DISTINCT
									p.COURSE_NO
								FROM
									v_jxzl_tb_interface_course_plan p
							)

					
					</select-sql>
				</transformer>
			</inbound-endpoint>
		</inbound>
		<processors></processors>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME4,COLUMN_NAME5,IMPORT_OBJ,CHECK_FLAG)
						values('@{COURSE_NAME}','@{COURSE_TYPE}','@{COURSE_NO}','@{ORG_CODE}','@{ORG_NAME}',"COURSE","1")
					</insert-sql>
					<select-sql>SELECT
									c.COURSE_NAME,
									c.COURSE_TYPE,
									c.COURSE_NO,
									o.ORG_NAME
								FROM
									tb_jxcp_course c
								LEFT JOIN tb_jxcp_org o ON c.ORG_ID = o.ORG_ID
								WHERE
									c.COURSE_NAME = '@{COURSE_NAME}'
								AND c.COURSE_NO = '@{COURSE_NO}'
								AND if ('@{COURSE_TYPE}' = '' , c.COURSE_TYPE IS NULL ,c.COURSE_TYPE = '@{COURSE_TYPE}')
								AND o.ORG_NAME = '@{ORG_CODE}' ;
					</select-sql>
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
	<!-- 学生 -->
	<job name="STUDENT" order="7">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					
					SELECT
						s.STUDENT_NO,
						s. NAME,
						TRIM( REPLACE (REPLACE(o.ORG_NAME,'（','('),'）',')')) AS ORG_NAME,
						s.BIRTHDAY,
						s.SEX,
						TRIM( REPLACE (REPLACE(c.CLASS_NAME,'（','('),'）',')')) AS CLASS_NAME,
						s.TEL,
						s.EMAIL
					FROM
						v_jxzl_tb_interface_student s,
						v_jxzl_tb_interface_classes c,
						v_jxzl_tb_interface_org o
					WHERE
						c.CLASS_NO = s.CLASS_NO
					AND o.ORG_CODE = c.ORG_CODE

					
					</select-sql>
				</transformer>
			</inbound-endpoint>
		</inbound>
		<processors></processors>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME4,COLUMN_NAME5,COLUMN_NAME6,COLUMN_NAME7,COLUMN_NAME8,IMPORT_OBJ,CHECK_FLAG)
						values('@{CLASS_NAME}','@{STUDENT_NO}','@{NAME}','@{ORG_NAME}','@{BIRTHDAY}','@{SEX}','@{TEL}','@{EMAIL}',"STUDENT","1")
					</insert-sql>
					<select-sql>SELECT
									s.STUDENT_NO,
									s.NAME,
									o.ORG_NAME,
									s.BIRTHDAY,
									s.SEX,
									c.CLASS_NAME,
									s.TEL,
									s.EMAIL
								FROM
									tb_jxcp_student s
								LEFT JOIN tb_jxcp_classes c ON s.CLASSES_ID = c.Id
								LEFT JOIN tb_jxcp_org o ON c.ORG_ID = o.ORG_ID
								WHERE
								s.STUDENT_NO = '@{STUDENT_NO}'
								AND s.NAME = '@{NAME}'
								AND c.CLASS_NAME = '@{CLASS_NAME}';
					</select-sql>
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>

	<!-- 课程计划表 -->
	<job name="COURSE_ALL" order="8">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
					SELECT
						P.ORG_CODE,
						TRIM(
						REPLACE ( REPLACE ( P.ORG_NAME, '（', '(' ), '）', ')' )) AS ORG_NAME,
						P.COURSE_NO,
						TRIM(
						REPLACE ( REPLACE ( P.COURSE_NAME, '（', '(' ), '）', ')' )) AS COURSE_NAME,
						P.COURSE_TYPE,
						P.CLASS_NO,
						TRIM(
						REPLACE ( REPLACE ( P.CLASSES_NAME, '（', '(' ), '）', ')' )) AS CLASSES_NAME,
						P.EMPLOYEE_CODE,
						TRIM(
						REPLACE ( REPLACE ( P.EMPLOYEE_NAME, '（', '(' ), '）', ')' )) AS EMPLOYEE_NAME,
						P.LESSON_NUM,
						P.LESSON_ADDRESS,
						P.WEEK_BEGIN,
						P.WEEK_END,
						P.TERM_ID,
						P.TERM_NAME 
					FROM
						v_jxzl_tb_interface_course_plan P,
						v_jxzl_tb_interface_employee e,
						v_jxzl_tb_interface_org o 
					WHERE
						P.EMPLOYEE_CODE = e.EMPLOYEE_CODE 
						AND e.ORG_CODE = o.ORG_CODE 
						AND P.TERM_NAME = '2019-2020年度第2学期'
					</select-sql>
				</transformer>
			</inbound-endpoint>
		</inbound>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME4,COLUMN_NAME5,COLUMN_NAME6,COLUMN_NAME7,COLUMN_NAME8,COLUMN_NAME9,COLUMN_NAME10,COLUMN_NAME11,COLUMN_NAME12,COLUMN_NAME13,COLUMN_NAME14,COLUMN_NAME15,IMPORT_OBJ,CHECK_FLAG)
						values('@{ORG_CODE}','@{ORG_NAME}','@{COURSE_NO}','@{COURSE_NAME}','@{COURSE_TYPE}','@{CLASS_NO}','@{CLASSES_NAME}','@{EMPLOYEE_CODE}','@{EMPLOYEE_NAME}'
						,'@{LESSON_NUM}','@{LESSON_ADDRESS}','@{WEEK_BEGIN}','@{WEEK_END}','@{TERM_ID}','@{TERM_NAME}',"COURSE_ALL","1")
					</insert-sql>
					<select-sql>SELECT
									p.CLASSES_NAME,
									e.EMPLOYEE_CODE,
									p.ORG_NAME,
									p.EMPLOYEE_NAME,
									p.COURSE_NAME
								FROM
									tb_jxcp_course_plan p
								LEFT JOIN tb_jxcp_employee e ON e.EMPLOYEE_ID = p.EMPLOYEE_ID
								WHERE
								p.ORG_NAME = '@{ORG_NAME}'
								AND p.EMPLOYEE_NAME = '@{EMPLOYEE_NAME}'
								AND p.CLASSES_NAME = '@{CLASSES_NAME}'
								AND p.COURSE_NAME  = '@{COURSE_NAME}'
								AND p.TERM_NAME = '19-20学年第2学期'
					</select-sql>
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
	 <!-- 选修课表 -->
	<job name="COURSE_PLAN_STUDENT" order="9">
		<inbound>
			<inbound-endpoint type="mysql" data-source="inboundDataSource">
				<transformer>
					<select-sql>
							
							SELECT DISTINCT
								O.ORG_CODE,
								TRIM(
								REPLACE ( REPLACE ( cp.ORG_NAME, '（', '(' ), '）', ')' )) AS ORG_NAME,
								cp.COURSE_NO,
								TRIM(
								REPLACE ( REPLACE ( cp.COURSE_NAME, '（', '(' ), '）', ')' )) AS COURSE_NAME,
								cp.CLASS_NO,
								TRIM(
								REPLACE ( REPLACE ( cp.CLASSES_NAME, '（', '(' ), '）', ')' )) AS CLASSES_NAME,
								cp.EMPLOYEE_CODE,
								TRIM(
								REPLACE ( REPLACE ( cp.EMPLOYEE_NAME, '（', '(' ), '）', ')' )) AS EMPLOYEE_NAME,
								cp.STUDENT_NO,
								TRIM(
								REPLACE ( REPLACE ( cp.STUDENT_NAME, '（', '(' ), '）', ')' )) AS STUDENT_NAME,
								
								cp.TERM_ID,
								cp.TERM_NAME 
							FROM
								v_jxzl_tb_interface_course_plan_student cp 
							left join v_jxzl_tb_interface_org o ON o.ORG_NAME = cp.ORG_NAME
							WHERE
								cp.TERM_NAME = '2019-2020年度第二学期'
	
							
					</select-sql>
				</transformer>
			</inbound-endpoint>
		</inbound>
		<outbound>
			<outbound-endpoint type="mysql" data-source="outboundDataSource">
				<transformer>
					<insert-sql>insert into
						tb_jxcp_excel_tmp(COLUMN_NAME1,COLUMN_NAME2,COLUMN_NAME3,COLUMN_NAME4,COLUMN_NAME5,COLUMN_NAME6,COLUMN_NAME7,COLUMN_NAME8,COLUMN_NAME9,COLUMN_NAME10,COLUMN_NAME11,COLUMN_NAME12,IMPORT_OBJ,CHECK_FLAG)
						values('@{ORG_CODE}','@{ORG_NAME}','@{COURSE_NO}','@{COURSE_NAME}','@{EMPLOYEE_CODE}','@{EMPLOYEE_NAME}','@{CLASS_NO}','@{CLASSES_NAME}','@{STUDENT_NO}','@{STUDENT_NAME}','@{TERM_ID}','@{TERM_NAME}',"COURSE_PLAN_STUDENT","1")
					</insert-sql>
					<select-sql>
						SELECT 
							*	
						FROM tb_jxcp_course_plan_student
						where 
						 ORG_NAME = '@{ORG_NAME}'
						AND COURSE_NAME = '@{COURSE_NAME}'
						AND CLASSES_NAME = '@{CLASSES_NAME}'
						AND EMPLOYEE_NO = '@{EMPLOYEE_CODE}'
						AND EMPLOYEE_NAME = '@{EMPLOYEE_NAME}'
						AND STUDENT_NO = '@{STUDENT_NO}'
						AND STUDENT_NAME = '@{STUDENT_NAME}'
						 AND TERM_NAME  = '19-20学年第2学期'
					</select-sql>
					<crud-type>update</crud-type>
				</transformer>
			</outbound-endpoint>
		</outbound>
	</job>
</jobs>
