def makeExpensesExcel(self, targetYm, expensesList, employeeName, path): expensesName = '経費精算書' year, month = DateUtilLib.splitYm(targetYm) lastDay = DateUtilLib.getLastDay(StringOperationLib.toInt(year), StringOperationLib.toInt(month)) ym = DateUtilLib.getYmFormatJapanese(targetYm) ymd = ym + StringOperationLib.toString(lastDay) + '日' name = StringOperationLib.replace(employeeName, " ", "") excel = PythonExcelLib() excel.setPageA4 excel.setOrientation() excel.rename(expensesName) #タイトル等共通部分 self.setCommon(excel, ym, ymd, name, expensesName) #項目名 self.setExpensesTitle(excel) #データ lastRow = self.setListValue(excel, expensesList) #合計 self.setCostSumValue(excel, lastRow, 'E') #体裁 self.expensesExcelFormat(excel, copy(lastRow)) excel.save(path + expensesName + '.xlsx') #オブジェクト解放 del excel
def getDateFormatJapanese(date): year = StringOperationLib.toString(StringOperationLib.left(date, 4)) + '年' month = StringOperationLib.toString( StringOperationLib.toInt(StringOperationLib.mid(date, 6, 2))) + '月' day = StringOperationLib.toString( StringOperationLib.toInt(StringOperationLib.right(date, 2))) + '日' return year + month + day
def run(self): targetYear = self.getForm('-year') if targetYear == '': self.writeLog('parameter:-year is not set') return #祝祭日一覧 holidayList = DateUtilLib.getHolidayList( StringOperationLib.toInt(targetYear)) values = [] #BulkInsert処理 for day in holidayList: holidayDate = StringOperationLib.toString(day[0]) holidayMonth = StringOperationLib.toString( holidayDate[0:holidayDate.rfind('-')]) holidayName = DateUtilLib.getHolidayName(day[0]) values.append([holidayDate, holidayMonth, holidayName]) dao = HolidayDao(self.db) dao.addBulkCol(HolidayDao.COL_HOLIDAY_DATE) dao.addBulkCol(HolidayDao.COL_MONTH) dao.addBulkCol(HolidayDao.COL_HOLIDAY_NAME) dao.doBulkInsert(values) self.writeLog(targetYear + '年祝祭日データ登録完了') return
def makeBaseMap(self, dt, holidayList): year, month, _ = DateUtilLib.splitYmd(dt) lastDay = DateUtilLib.getLastDay(StringOperationLib.toInt(year), StringOperationLib.toInt(month)) baseMap = {} hi = DateUtilLib.toDateTimeDate(dt) for x in range(lastDay): weekday = DateUtilLib.getWeekDayName(hi) day = DateUtilLib.getDay(hi) if StringOperationLib.toString(hi) in holidayList: weekday = '祝' baseMap[StringOperationLib.toString(hi)] = [day, weekday, '', '', '', '', '', '', '', '', '', '', ''] hi = DateUtilLib.getDateIntervalDay(hi, 1) return baseMap
def getDay(date): return StringOperationLib.toInt(date.strftime("%d"))
def getMonth(date): return StringOperationLib.toInt(date.strftime("%m"))
def getYear(date): return StringOperationLib.toInt(date.strftime("%Y"))
def getYmFormatJapanese(ym): year = StringOperationLib.toString(StringOperationLib.left(ym, 4)) + '年' month = StringOperationLib.toString( StringOperationLib.toInt(StringOperationLib.right(ym, 2))) + '月' return year + month