|
- import pymssql
- import datetime
- import decimal
- connMing = pymssql.connect(server='10.0.0.214\mssql01',user="bestdaylong", password="bestdaylong", database="ming")
- connStddb = pymssql.connect(server='10.0.0.214\mssql01',user="bestdaylong", password="bestdaylong", database="stddb")
- cursorMing =connMing.cursor(as_dict=False)
- cursorStddb=connStddb.cursor()
- strSQL="select year,smtr from ref_yearsmtr"
- cursorMing.execute(strSQL)
- rowMing=cursorMing.fetchone()
- if rowMing:
- academic_year=rowMing[0]
- semester=rowMing[1]
- #start_date=end_date=datetime.datetime.now()
- now=datetime.datetime.now()
- yy=now.strftime("%Y")
- mm=now.strftime("%m")
- dd=now.strftime("%d")
- start_date="{0}/{1}/{2}".format(yy,mm,dd)
- end_date="{0}/{1}/{2}".format(int(yy)+10,mm,dd)
- try:
- strSQL="select unit,course_name,teach_no from [dbo].[tronclass_course_apply] where send is null or send=0"
- cursorStddb.execute(strSQL)
- rowStddb1=cursorStddb.fetchall()
- for row in rowStddb1:
- unit=row[0]
- course_name=row[1]
- teach_no=row[2]
- department_code=unit[-5::] #取出單位代碼
- emp_nos=teach_no.split(", ")
-
- #找單位已經開課次數
- strSQL="select count(*) as course_count from [dbo].[u1_tronclass_course] where department_code='{0}'".format(department_code)
- print(strSQL)
- cursorStddb.execute(strSQL)
- rowStddb=cursorStddb.fetchone()
- subject_code=format("%02d" % (rowStddb[0]+1))
- course_code=academic_year+semester+department_code+subject_code
- strSQL="insert into [u1_tronclass_course](course_code,subject_code,academic_year,semester,department_code,grade_name,class_name,stopped,name,compulsory,credit,start_date,end_date) values('{0}','{1}',{2},{3},'{4}',{5},{6},'{7}','{8}','{9}','{10}','{11}','{12}')".format(course_code,subject_code,academic_year,semester,department_code,'null','null',0,course_name,1,0,start_date,end_date)
- print(strSQL)
- cursorStddb.execute(strSQL)
- connStddb.commit()
-
- #去除重復人事編號
- emp_no_onlys=[]
- for emp_no in emp_nos:
- emp_no=emp_no.split("-")[0]
- emp_no_onlys.append(emp_no)
- emp_no_onlys=set(emp_no_onlys)
-
- for emp_no in emp_no_onlys:
- emp_no=emp_no.split("-")[0]
- strSQL="insert into [u1_tronclass_enrollment](course_code,user_no,stopped,enrollment_role,enrollment_department_code,enrollment_grade_name,enrollment_class_name,seat_number) values('{0}','{1}',{2},'{3}',{4},{5},{6},{7})".format(course_code,emp_no,0,1,'null','null','null','null')
- print(strSQL)
- cursorStddb.execute(strSQL)
- connStddb.commit()
- #新增老師
- strSQL="insert into [u1_tronclass_enrollment](course_code,user_no,stopped,enrollment_role,enrollment_department_code,enrollment_grade_name,enrollment_class_name,seat_number) values('{0}','{1}',{2},'{3}',{4},{5},{6},{7})".format(course_code,department_code,0,2,'null','null','null','null')
- print(strSQL)
- cursorStddb.execute(strSQL)
- connStddb.commit()
- #更新
- strSQL="update [dbo].[tronclass_course_apply] set send='1' where unit='{0}' and course_name='{1}'".format(unit,course_name)
- print(strSQL)
- cursorStddb.execute(strSQL)
- connStddb.commit()
- except:
- connStddb.rollback()
-
- cursorMing.close()
- cursorStddb.close()
- connMing.close()
- connStddb.close()
複製代碼
|
|