2022-01-27 14:09:33,962 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/sum_total_days POST [log(1427061)] cost 126.363039017(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"start_time": "07:45", "open_half_day_leave": false, "end_time": "20:30", "holiday_type_id": 28, "date_to": "2022-01-27", "date_from": "2022-01-27"}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:33,964 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:33] "POST /mjson/hr.holiday.leave/sum_total_days HTTP/1.1" 200 - 2022-01-27 14:09:38,789 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/day.calendar/app_get_schedule_information POST [log(1427062)] cost 34.5821380615(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"holiday_type_id": 8, "info_type": "holiday_leave", "end_date": "2022-01-27", "start_date": "2022-01-27"}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:38,791 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:38] "POST /mjson/day.calendar/app_get_schedule_information HTTP/1.1" 200 - 2022-01-27 14:09:38,829 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/sum_total_days POST [log(1427063)] cost 73.4400749207(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"start_time": "07:45", "open_half_day_leave": false, "end_time": "20:30", "holiday_type_id": 8, "date_to": "2022-01-27", "date_from": "2022-01-27"}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:38,832 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:38] "POST /mjson/hr.holiday.leave/sum_total_days HTTP/1.1" 200 - 2022-01-27 14:09:46,929 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/day.calendar/app_get_schedule_information POST [log(1427064)] cost 32.4659347534(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"holiday_type_id": 8, "info_type": "holiday_leave", "end_date": "2022-01-29", "start_date": "2022-01-29"}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:46,931 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:46] "POST /mjson/day.calendar/app_get_schedule_information HTTP/1.1" 200 - 2022-01-27 14:09:46,965 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/sum_total_days POST [log(1427065)] cost 68.9911842346(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"start_time": "12:00", "open_half_day_leave": false, "end_time": "12:00", "holiday_type_id": 8, "date_to": "2022-01-29", "date_from": "2022-01-29"}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:46,967 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:46] "POST /mjson/hr.holiday.leave/sum_total_days HTTP/1.1" 200 - 2022-01-27 14:09:54,178 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/day.calendar/app_get_schedule_information POST [log(1427066)] cost 34.1019630432(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"holiday_type_id": 8, "info_type": "holiday_leave", "end_date": "2022-01-29", "start_date": "2022-01-29"}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:54,179 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:54] "POST /mjson/day.calendar/app_get_schedule_information HTTP/1.1" 200 - 2022-01-27 14:09:54,237 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/sum_total_days POST [log(1427067)] cost 95.5159664154(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"start_time": "12:00", "open_half_day_leave": false, "end_time": "20:30", "holiday_type_id": 8, "date_to": "2022-01-29", "date_from": "2022-01-29"}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:09:54,238 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:09:54] "POST /mjson/hr.holiday.leave/sum_total_days HTTP/1.1" 200 - 2022-01-27 14:10:06,218 44 WARNING shpl openerp.sql_db:218: Cursor not closed explicitly Please enable sql debugging to trace the caller. 2022-01-27 14:10:06,235 44 WARNING shpl openerp.sql_db:218: Cursor not closed explicitly Please enable sql debugging to trace the caller. 2022-01-27 14:10:06,604 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,112 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,408 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,659 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,836 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,850 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,861 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,876 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,894 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,909 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,919 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,932 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,948 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,971 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,982 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:07,993 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) Traceback (most recent call last): File "/opt/shpl/ehr-odoo/common_addons/addons/calendar_event_summary/utils.py", line 121, in func ret = method(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/api/hr_holiday_leave.py", line 158, in app_holiday_leave_create submit_res = res_record.with_context(suspend_security=True).do_submit() File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/approval/holiday_leave.py", line 867, in do_submit res = self.suspend_security().submit() # 扣假逻辑 File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 124, in submit res = super(HolidayLeave, self).submit() File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/approval/holiday_leave.py", line 117, in submit res = self.leave_rule_check() File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/approval/holiday_leave.py", line 163, in leave_rule_check res = self.check_round() File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/approval/holiday_leave.py", line 719, in check_round 'data': {'pass_option': 'pass_round'} UserError: {'msg': u'\u4f11\u5047\u65f6\u957f\u5df2\u6839\u636e\u516c\u53f8\u653f\u7b56\u8fdb\u4f4d\uff0c\u662f\u5426\u63d0\u4ea4\uff1f', 'code': 2, 'data': {'pass_option': 'pass_round'}} 2022-01-27 14:10:08,006 44 INFO shpl openerp.addons.patch_base.http:83: http://hryl.shpl.com.cn/mjson/hr.holiday.leave/app_holiday_leave_create 220127-141008005951-exception: {'name': 'openerp.exceptions.UserError', 'snno': '220127-141008005951', 'exception_type': 'user_error', 'arguments': [{u'msg': u'\u4f11\u5047\u65f6\u957f\u5df2\u6839\u636e\u516c\u53f8\u653f\u7b56\u8fdb\u4f4d\uff0c\u662f\u5426\u63d0\u4ea4\uff1f', u'code': 2, u'data': {u'pass_option': 'pass_round'}}], 'debug': 'Error No: 220127-141008005951', 'message': u"{'msg': u'\\u4f11\\u5047\\u65f6\\u957f\\u5df2\\u6839\\u636e\\u516c\\u53f8\\u653f\\u7b56\\u8fdb\\u4f4d\\uff0c\\u662f\\u5426\\u63d0\\u4ea4\\uff1f', 'code': 2, 'data': {'pass_option': 'pass_round'}}"} 2022-01-27 14:10:08,006 44 WARNING shpl openerp.addons.patch_base.http:84: 220127-141008005951-traceback: Traceback (most recent call last): File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 260, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "./odoo/openerp/http.py", line 681, in dispatch result = self._call_function(**self.params) File "./odoo/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "./odoo/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "./odoo/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__ return self.method(*args, **kw) File "./odoo/openerp/http.py", line 509, in response_wrap response = f(*args, **kw) File "/opt/shpl/ehr-odoo/ehr_addons/addons/eroad_mobile_api/controllers/main.py", line 646, in call_server result = getattr(req.registry.get(model), method)(cr, uid, *arg, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 434, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/common_addons/addons/calendar_event_summary/utils.py", line 124, in func raise UserError(e.message or getattr(e, 'name', '')) UserError: {'msg': u'\u4f11\u5047\u65f6\u957f\u5df2\u6839\u636e\u516c\u53f8\u653f\u7b56\u8fdb\u4f4d\uff0c\u662f\u5426\u63d0\u4ea4\uff1f', 'code': 2, 'data': {'pass_option': 'pass_round'}} 2022-01-27 14:10:08,007 44 ERROR shpl openerp.addons.eroad_mjson_handler.patch:457: Exception during JSON request handling. Traceback (most recent call last): File "./odoo/openerp/http.py", line 681, in dispatch result = self._call_function(**self.params) File "./odoo/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "./odoo/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "./odoo/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__ return self.method(*args, **kw) File "./odoo/openerp/http.py", line 509, in response_wrap response = f(*args, **kw) File "/opt/shpl/ehr-odoo/ehr_addons/addons/eroad_mobile_api/controllers/main.py", line 646, in call_server result = getattr(req.registry.get(model), method)(cr, uid, *arg, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 434, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/common_addons/addons/calendar_event_summary/utils.py", line 124, in func raise UserError(e.message or getattr(e, 'name', '')) UserError: {'msg': u'\u4f11\u5047\u65f6\u957f\u5df2\u6839\u636e\u516c\u53f8\u653f\u7b56\u8fdb\u4f4d\uff0c\u662f\u5426\u63d0\u4ea4\uff1f', 'code': 2, 'data': {'pass_option': 'pass_round'}} 2022-01-27 14:10:08,007 44 INFO shpl openerp.sql_db:563: ConnectionPool(used=2/count=5/max=64): Free leaked connection to 'host=172.18.99.27 password=xxx user=shpl dbname=shpl' 2022-01-27 14:10:08,007 44 INFO shpl openerp.sql_db:563: ConnectionPool(used=1/count=5/max=64): Free leaked connection to 'host=172.18.99.27 password=xxx user=shpl dbname=shpl' 2022-01-27 14:10:08,010 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/app_holiday_leave_create POST [log(1427068)] cost 2712.9368782(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"leave_total": 8, "attachment_ids": [], "date_from": "2022-01-29", "open_half_day_leave": false, "leave_total_before_round": 7.75, "notes": "\u5bb6\u4e2d\u6709\u4e8b", "holiday_type_id": 8, "date_to": "2022-01-29", "start_time": "12:00", "end_time": "20:30"}, "context": {"submit_times": {"_dispatchInstances": null, "nativeEvent": null, "cancelable": null, "metaKey": null, "ctrlKey": null, "_targetInst": null, "isDefaultPrevented": null, "timeStamp": null, "detail": null, "buttons": null, "currentTarget": null, "screenY": null, "screenX": null, "type": null, "clientX": null, "clientY": null, "getModifierState": null, "altKey": null, "bubbles": null, "defaultPrevented": null, "_dispatchListeners": null, "target": null, "relatedTarget": null, "shiftKey": null, "button": null, "pageX": null, "pageY": null, "isTrusted": null, "dispatchConfig": null, "eventPhase": null, "isPropagationStopped": null, "view": null}}}} Response: error_code:2, error_type: , error_msg:休假时长已根据公司政策进位,是否提交?, error_hint: error_log: 2022-01-27 14:10:08,012 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:08] "POST /mjson/hr.holiday.leave/app_holiday_leave_create HTTP/1.1" 200 - 2022-01-27 14:10:11,151 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:11,707 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:12,048 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:12,309 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:12,521 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:13,087 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:13,363 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:13,609 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,087 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,127 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,158 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,191 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,204 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,215 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,228 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,246 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,804 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: ***leave的get_credit_record_dict里面的clean_credit_records => Time Elasped: 23.121 msec. 2022-01-27 14:10:14,945 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:14,996 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:15,033 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:15,068 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:15,215 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:15,857 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:15,880 47 WARNING shpl openerp.addons.patch_base.models:1228: approve.notify.create() includes unknown fields: new_approver_ids, orgin_approver_ids 2022-01-27 14:10:16,325 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:16,387 47 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:16,651 47 INFO shpl openerp.addons.hr_holiday_management.holiday_rules.hr_holiday_allot_rule:92: ###### 加上初始值后的年假总额:15 ##### 2022-01-27 14:10:16,651 47 INFO shpl openerp.addons.hr_holiday_management.holiday_rules.hr_holiday_allot_rule:94: ###### 进位后的年假总额:15 ##### 2022-01-27 14:10:16,655 47 INFO shpl openerp.addons.hr_holiday_management.holiday_rules.hr_holiday_allot_rule:172: ###### 最终额度:0.0 ##### 2022-01-27 14:10:16,803 47 INFO shpl openerp.addons.hr_wechat.eroad_wechat_util.qywechat_sdk:702: url:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=Jt_FWPuyFD0gPyaiL1CEPtDRyZIdO9BNVXRd9CzR35GV2m0IkZMUtm2PafQlD3uFhBpuwIys6qUYXEzOLFKHCwIab0KAEUVK5SIHozYiCFp2XwEjHBTDHdImfI8Y_NioLWaxlTxUgdPM0Wjbm_DJsLvt9OzRCmz0WNeuaUv6fW52rU0jYES7iJPd_TvdRJZ7XGfpwtt5LDktgp6uFd0WeQ data:{'touser': u'0523', 'textcard': {'url': u'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8331f2817af0837a&redirect_uri=https%3A%2F%2Fhryl.shpl.com.cn%2Fqywx%2Findex%2Fshpl%2F1000019%3Fredirect%3D%252Fappwx%252Fnotification%252Fmap%253Fappid%253D1000019%2526action%253DeHR%25253A%25252F%25252Fholiday_approve_detail%25253Fid%25253D38410&company_code=AYFOUNDATIONPRDUAT&response_type=code&scope=snsapi_base&state=eroadhome#wechat_redirect', 'description': u'\u5b59\u8d8a \u7533\u8bf7\u4e86 8.0 \u5c0f\u65f6\u7684\u8c03\u4f11/\u8865\u4f11\u5047', 'title': u'\u4f11\u5047\u7533\u8bf7'}, 'safe': 0, 'msgtype': 'textcard', 'agentid': '1000019'} 2022-01-27 14:10:17,118 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.leave/app_holiday_leave_create POST [log(1427069)] cost 6791.74590111(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"leave_total": 8, "attachment_ids": [], "date_from": "2022-01-29", "open_half_day_leave": false, "leave_total_before_round": 7.75, "notes": "\u5bb6\u4e2d\u6709\u4e8b", "holiday_type_id": 8, "date_to": "2022-01-29", "start_time": "12:00", "end_time": "20:30"}, "context": {"submit_times": 1, "pass_option": "pass_round"}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:17,122 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:17] "POST /mjson/hr.holiday.leave/app_holiday_leave_create HTTP/1.1" 200 - 2022-01-27 14:10:17,922 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/hr.holiday.type/app_get_holidays_type_list POST [log(1427070)] cost 567.352056503(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "870d6d9cdf8c4477b8ee43302e7dbb96", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:17,924 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:17] "POST /mjson/hr.holiday.type/app_get_holidays_type_list HTTP/1.1" 200 - 2022-01-27 14:10:18,094 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=29 HTTP/1.0" 304 - 2022-01-27 14:10:18,096 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=39 HTTP/1.0" 304 - 2022-01-27 14:10:18,097 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=38 HTTP/1.0" 304 - 2022-01-27 14:10:18,097 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=28 HTTP/1.0" 304 - 2022-01-27 14:10:18,107 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=1 HTTP/1.0" 304 - 2022-01-27 14:10:18,109 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=21 HTTP/1.0" 304 - 2022-01-27 14:10:18,139 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=7 HTTP/1.0" 304 - 2022-01-27 14:10:18,140 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=6 HTTP/1.0" 304 - 2022-01-27 14:10:18,142 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=9 HTTP/1.0" 304 - 2022-01-27 14:10:18,143 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=8 HTTP/1.0" 304 - 2022-01-27 14:10:18,150 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=14 HTTP/1.0" 304 - 2022-01-27 14:10:18,151 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=16 HTTP/1.0" 304 - 2022-01-27 14:10:18,167 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=36 HTTP/1.0" 304 - 2022-01-27 14:10:18,175 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=52 HTTP/1.0" 304 - 2022-01-27 14:10:18,183 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=58 HTTP/1.0" 304 - 2022-01-27 14:10:18,183 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=23 HTTP/1.0" 304 - 2022-01-27 14:10:18,185 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=53 HTTP/1.0" 304 - 2022-01-27 14:10:18,188 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=25 HTTP/1.0" 304 - 2022-01-27 14:10:18,224 47 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:18] "GET /hr.holiday.type/image?holiday_type_id=57 HTTP/1.0" 304 - 2022-01-27 14:10:36,268 44 INFO shpl werkzeug:87: 223.104.212.190 - - [27/Jan/2022 14:10:36] "GET /qywx/index/shpl/1000019?redirect=%2Fappwx%2Fnotification%2Fmap%3Fappid%3D1000019%26action%3DeHR%253A%252F%252Fattendance_appeal_detail%253Fappeal_id%253D5513&code=c692nwoolPX10ofPgpA0O3GEy9i6rlnLy202FUXeFxs&state=eroadhome HTTP/1.0" 200 - 2022-01-27 14:10:39,587 44 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:39] "GET /qywx/index/shpl/1000019?redirect=%2Fappwx%2Fnotification%2Fmap%3Fappid%3D1000019%26action%3DeHR%253A%252F%252Fholiday_approve_detail%253Fid%253D38410&code=TdZUghGg41PgUZMRFWj3g3L3QMvN3q5CAHdHgz4-y68&state=eroadhome HTTP/1.0" 200 - 2022-01-27 14:10:40,177 45 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "GET /api/Tools/encryption HTTP/1.0" 404 - 2022-01-27 14:10:40,310 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17921) 39.144.40.173 call /mjson/app.translate/get_app_translate POST [log(1427071)] cost 38.850069046(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "ddc6e58804dd47ecae2c5c5ea0faa561", "session_id": "d23b25dee268f04b00fe7d66a5f45bf0a9888344", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:40,312 45 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:10:40,385 46 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:10:40,385 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17921) 39.144.40.173 call /mjson/login_config POST [log(1427072)] cost 18.3489322662(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "ddc6e58804dd47ecae2c5c5ea0faa561", "session_id": "d23b25dee268f04b00fe7d66a5f45bf0a9888344", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:40,387 45 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:10:40,574 46 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "GET /favicon.ico HTTP/1.0" 404 - 2022-01-27 14:10:40,589 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17921) 39.144.40.173 call /mjson/hr.holiday.leave/app_holidays_read POST [log(1427073)] cost 203.345060349(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "ddc6e58804dd47ecae2c5c5ea0faa561", "session_id": "d23b25dee268f04b00fe7d66a5f45bf0a9888344", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"ids": [38410]}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:40,593 44 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:40] "POST /mjson/hr.holiday.leave/app_holidays_read HTTP/1.1" 200 - 2022-01-27 14:10:42,511 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/app.translate/get_app_translate POST [log(1427074)] cost 6.64901733398(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "16df8ec07f9c44778b8464d20d3aaafc", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:42,513 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:10:42,532 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/login_config POST [log(1427075)] cost 17.2328948975(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "16df8ec07f9c44778b8464d20d3aaafc", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:42,535 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:10:42,558 45 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /web/wechat/wechat_action HTTP/1.1" 200 - 2022-01-27 14:10:42,580 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/wx/wechat_home/style POST [log(1427076)] cost 23.020029068(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "16df8ec07f9c44778b8464d20d3aaafc", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:42,581 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /mjson/wx/wechat_home/style HTTP/1.1" 200 - 2022-01-27 14:10:42,646 44 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /web/wechat/news HTTP/1.1" 200 - 2022-01-27 14:10:42,720 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17955) 116.192.170.211 call /mjson/start.page/app_get_start_page POST [log(1427077)] cost 6.61611557007(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "16df8ec07f9c44778b8464d20d3aaafc", "session_id": "fa00c5a8ef3d5b388a097d5163a62c04eec9eeb3", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:42,723 46 INFO shpl werkzeug:87: 116.192.170.211 - - [27/Jan/2022 14:10:42] "POST /mjson/start.page/app_get_start_page HTTP/1.1" 200 - 2022-01-27 14:10:47,249 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:47,283 44 WARNING shpl openerp.addons.patch_base.models:1228: approve.notify.create() includes unknown fields: new_approver_ids, orgin_approver_ids 2022-01-27 14:10:47,573 44 INFO shpl openerp.addons.approve_flow.model.approve_instance:1603: trigger_workflow env variables: uid[17921], trigger[False], instance[hr.holiday.leave(38410,), waiting], action[approved], context[{'lang': 'zh_CN', 'tz': u'Asia/Shanghai', 'uid': 17921, 'source_key': 'ios', 'source': 'app', 'skip_other_future_approver': True, 'request_from': 'wechat', 'instance_rollback_activity_map': {38410: None}, 'instance_operating_activity_map': {38410: None}, 'suspend_security': True}] 2022-01-27 14:10:47,751 44 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:10:47,917 44 INFO shpl openerp.addons.hr_wechat.eroad_wechat_util.qywechat_sdk:702: url:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=Jt_FWPuyFD0gPyaiL1CEPtDRyZIdO9BNVXRd9CzR35GV2m0IkZMUtm2PafQlD3uFhBpuwIys6qUYXEzOLFKHCwIab0KAEUVK5SIHozYiCFp2XwEjHBTDHdImfI8Y_NioLWaxlTxUgdPM0Wjbm_DJsLvt9OzRCmz0WNeuaUv6fW52rU0jYES7iJPd_TvdRJZ7XGfpwtt5LDktgp6uFd0WeQ data:{'touser': u'0893', 'textcard': {'url': u'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8331f2817af0837a&redirect_uri=https%3A%2F%2Fhryl.shpl.com.cn%2Fqywx%2Findex%2Fshpl%2F1000019%3Fredirect%3D%252Fappwx%252Fnotification%252Fmap%253Fappid%253D1000019%2526action%253DeHR%25253A%25252F%25252Fholiday_detail%25253Fid%25253D38410&company_code=AYFOUNDATIONPRDUAT&response_type=code&scope=snsapi_base&state=eroadhome#wechat_redirect', 'description': u'\u5b59\u8d8a \u7533\u8bf7\u4e86 8.0 \u5c0f\u65f6\u7684\u8c03\u4f11/\u8865\u4f11\u5047', 'title': u'\u4f11\u5047\u7533\u8bf7'}, 'safe': 0, 'msgtype': 'textcard', 'agentid': '1000019'} 2022-01-27 14:10:48,228 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17921) 39.144.40.173 call /mjson/hr.holiday.leave/app_approve POST [log(1427078)] cost 1199.58400726(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "ddc6e58804dd47ecae2c5c5ea0faa561", "session_id": "d23b25dee268f04b00fe7d66a5f45bf0a9888344", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"comment": "", "do_action": "approve", "id": 38410}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:10:48,232 44 INFO shpl werkzeug:87: 39.144.40.173 - - [27/Jan/2022 14:10:48] "POST /mjson/hr.holiday.leave/app_approve HTTP/1.1" 200 - 2022-01-27 14:11:20,290 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:20] "GET /qywx/index/shpl/1000019?redirect=/appwx/index?appid=1000019&code=hZV0CPfiB8vRdocmlI2LUJsClGduba-qdoEXJv2QioU&state=shpl HTTP/1.0" 200 - 2022-01-27 14:11:27,049 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:27] "GET /api/Tools/encryption HTTP/1.0" 404 - 2022-01-27 14:11:33,152 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/app.translate/get_app_translate POST [log(1427079)] cost 47.0159053802(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "bbf5e2ee61e04a4a859a6b32bfbebcd3", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:33,154 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:33] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:11:33,364 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:33] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:11:33,382 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/login_config POST [log(1427080)] cost 23.7329006195(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "bbf5e2ee61e04a4a859a6b32bfbebcd3", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:33,384 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:33] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:11:33,904 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:33] "POST /web/wechat/wechat_action HTTP/1.1" 200 - 2022-01-27 14:11:33,917 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/wx/wechat_home/style POST [log(1427081)] cost 19.2680358887(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "bbf5e2ee61e04a4a859a6b32bfbebcd3", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:33,918 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:33] "POST /mjson/wx/wechat_home/style HTTP/1.1" 200 - 2022-01-27 14:11:34,014 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:34] "POST /web/wechat/news HTTP/1.1" 200 - 2022-01-27 14:11:34,099 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/start.page/app_get_start_page POST [log(1427082)] cost 8.08095932007(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "bbf5e2ee61e04a4a859a6b32bfbebcd3", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:34,102 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:34] "POST /mjson/start.page/app_get_start_page HTTP/1.1" 200 - 2022-01-27 14:11:36,118 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/app.translate/get_app_translate POST [log(1427083)] cost 5.25903701782(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "e6f40440709c4b3f9e32c92f951c0cdf", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:36,119 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:36] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:11:36,120 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:36] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:11:36,131 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/login_config POST [log(1427084)] cost 16.0579681396(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "e6f40440709c4b3f9e32c92f951c0cdf", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:36,132 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:36] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:11:37,191 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/hr.holiday.type/app_get_holidays_type_list POST [log(1427085)] cost 660.403966904(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "e6f40440709c4b3f9e32c92f951c0cdf", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:37,193 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "POST /mjson/hr.holiday.type/app_get_holidays_type_list HTTP/1.1" 200 - 2022-01-27 14:11:37,392 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=1 HTTP/1.0" 200 - 2022-01-27 14:11:37,394 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=6 HTTP/1.0" 200 - 2022-01-27 14:11:37,472 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=10 HTTP/1.0" 200 - 2022-01-27 14:11:37,474 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=11 HTTP/1.0" 200 - 2022-01-27 14:11:37,555 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=13 HTTP/1.0" 200 - 2022-01-27 14:11:37,555 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=47 HTTP/1.0" 200 - 2022-01-27 14:11:37,556 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=7 HTTP/1.0" 200 - 2022-01-27 14:11:37,634 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=17 HTTP/1.0" 200 - 2022-01-27 14:11:37,635 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=16 HTTP/1.0" 200 - 2022-01-27 14:11:37,635 47 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=9 HTTP/1.0" 200 - 2022-01-27 14:11:37,639 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=25 HTTP/1.0" 200 - 2022-01-27 14:11:37,729 45 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=59 HTTP/1.0" 200 - 2022-01-27 14:11:37,730 46 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=62 HTTP/1.0" 200 - 2022-01-27 14:11:37,731 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:37] "GET /hr.holiday.type/image?holiday_type_id=56 HTTP/1.0" 200 - 2022-01-27 14:11:40,296 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/hr.holiday.leave/get_approve_list POST [log(1427086)] cost 138.298034668(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "e6f40440709c4b3f9e32c92f951c0cdf", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"state": "all", "limit": 15, "offset": 0}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:40,298 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:40] "POST /mjson/hr.holiday.leave/get_approve_list HTTP/1.1" 200 - 2022-01-27 14:11:40,439 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:40] "GET /hr.holiday.type/image?holiday_type_id=1 HTTP/1.0" 200 - 2022-01-27 14:11:44,411 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(19386) 124.160.213.21 call /mjson/hr.holiday.leave/app_holidays_read POST [log(1427087)] cost 214.782953262(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "e6f40440709c4b3f9e32c92f951c0cdf", "session_id": "b9c7edfbe787da15dedea82fb9d8e6d24323946d", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"ids": [38366]}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:11:44,413 44 INFO shpl werkzeug:87: 124.160.213.21 - - [27/Jan/2022 14:11:44] "POST /mjson/hr.holiday.leave/app_holidays_read HTTP/1.1" 200 - 2022-01-27 14:12:24,181 46 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:24] "GET /qywx/index/shpl/1000019?redirect=%2Fappwx%2Fnotification%2Fmap%3Fappid%3D1000019%26action%3DeHR%253A%252F%252Fholiday_detail%253Fid%253D38410&code=up1D-J0So3dNwbav3YqwM_PWboxHshftNUD1D_CgSh4&state=eroadhome HTTP/1.0" 200 - 2022-01-27 14:12:24,815 46 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:24] "GET /api/Tools/encryption HTTP/1.0" 404 - 2022-01-27 14:12:24,945 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17757) 172.18.132.17 call /mjson/app.translate/get_app_translate POST [log(1427088)] cost 5.41496276855(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "d93f4fbc47104e7899b46029f21df50b", "session_id": "917d4fccd39277f21af6f66648e2bf601fc72a19", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:12:24,946 46 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:24] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:12:24,946 47 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:24] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:12:24,958 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17757) 172.18.132.17 call /mjson/login_config POST [log(1427089)] cost 17.22407341(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "d93f4fbc47104e7899b46029f21df50b", "session_id": "917d4fccd39277f21af6f66648e2bf601fc72a19", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:12:24,960 45 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:24] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:12:25,273 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17757) 172.18.132.17 call /mjson/hr.holiday.leave/app_holidays_read POST [log(1427090)] cost 230.535984039(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "d93f4fbc47104e7899b46029f21df50b", "session_id": "917d4fccd39277f21af6f66648e2bf601fc72a19", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"ids": [38410]}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:12:25,276 45 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:25] "POST /mjson/hr.holiday.leave/app_holidays_read HTTP/1.1" 200 - 2022-01-27 14:12:32,843 46 INFO shpl openerp.addons.approve_flow.model.approve_activity:943: SUBMITTER: res.users(17955,), CREATOR: res.users(17955,) 2022-01-27 14:12:32,872 46 WARNING shpl openerp.addons.patch_base.models:1228: approve.notify.create() includes unknown fields: new_approver_ids, orgin_approver_ids 2022-01-27 14:12:33,131 46 INFO shpl openerp.addons.approve_flow.model.approve_instance:1603: trigger_workflow env variables: uid[17757], trigger[False], instance[hr.holiday.leave(38410,), waiting], action[approved], context[{'lang': 'zh_CN', 'tz': u'Asia/Shanghai', 'uid': 17757, 'source_key': 'ios', 'source': 'app', 'skip_other_future_approver': True, 'request_from': 'wechat', 'instance_rollback_activity_map': {38410: None}, 'instance_operating_activity_map': {38410: None}, 'suspend_security': True}] 2022-01-27 14:12:33,311 46 INFO shpl openerp.addons.hr_wechat.eroad_wechat_util.qywechat_sdk:702: url:https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=Jt_FWPuyFD0gPyaiL1CEPtDRyZIdO9BNVXRd9CzR35GV2m0IkZMUtm2PafQlD3uFhBpuwIys6qUYXEzOLFKHCwIab0KAEUVK5SIHozYiCFp2XwEjHBTDHdImfI8Y_NioLWaxlTxUgdPM0Wjbm_DJsLvt9OzRCmz0WNeuaUv6fW52rU0jYES7iJPd_TvdRJZ7XGfpwtt5LDktgp6uFd0WeQ data:{'touser': u'0655', 'textcard': {'url': u'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8331f2817af0837a&redirect_uri=https%3A%2F%2Fhryl.shpl.com.cn%2Fqywx%2Findex%2Fshpl%2F1000019%3Fredirect%3D%252Fappwx%252Fnotification%252Fmap%253Fappid%253D1000019%2526action%253DeHR%25253A%25252F%25252Fholiday_detail%25253Fid%25253D38410&company_code=AYFOUNDATIONPRDUAT&response_type=code&scope=snsapi_base&state=eroadhome#wechat_redirect', 'description': u'\u5b59\u8d8a \u7533\u8bf7\u4e86 8.0 \u5c0f\u65f6\u7684\u8c03\u4f11/\u8865\u4f11\u5047', 'title': u'\u4f11\u5047\u7533\u8bf7'}, 'safe': 0, 'msgtype': 'textcard', 'agentid': '1000019'} 2022-01-27 14:12:33,617 46 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(17757) 172.18.132.17 call /mjson/hr.holiday.leave/app_approve POST [log(1427091)] cost 1085.59393883(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "d93f4fbc47104e7899b46029f21df50b", "session_id": "917d4fccd39277f21af6f66648e2bf601fc72a19", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {"vals": {"comment": "", "do_action": "approve", "id": 38410}}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:12:33,621 46 INFO shpl werkzeug:87: 172.18.132.17 - - [27/Jan/2022 14:12:33] "POST /mjson/hr.holiday.leave/app_approve HTTP/1.1" 200 - 2022-01-27 14:15:18,439 46 ERROR shpl openerp.addons.hr_wechat.eroad_wechat_util.qywechat_sdk:133: invalid code, hint: [1643264118603081240243377], from ip: 202.136.208.82, more info at https://open.work.weixin.qq.com/devtool/query?e=40029 2022-01-27 14:15:18,439 46 ERROR shpl openerp.addons.hr_wechat.controllers.index:100: index error:40029: 微信系统异常 2022-01-27 14:15:18,441 46 INFO shpl werkzeug:87: 101.91.62.89 - - [27/Jan/2022 14:15:18] "GET /qywx/index/shpl/1000019?redirect=%2Fappwx%2Fnotification%2Fmap%3Fappid%3D1000019%26action%3DeHR%253A%252F%252Fholiday_detail%253Fid%253D32806&code=G5cxzCujsuiYDuBdrbPcL1CLwXCUbE_mTMFnh9p-ilY&state=eroadhome HTTP/1.0" 200 - 2022-01-27 14:16:16,438 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/action/load HTTP/1.1" 200 - 2022-01-27 14:16:16,496 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/dataset/call_kw/hr.attendance/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:16,530 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/dataset/call_kw/hr.attendance/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:16,551 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/menu/load_needaction HTTP/1.0" 200 - 2022-01-27 14:16:16,587 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/dataset/call_kw/ir.filters/get_filters HTTP/1.1" 200 - 2022-01-27 14:16:16,697 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/dataset/call_kw/ir.model.fields/search_fields HTTP/1.1" 200 - 2022-01-27 14:16:16,734 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:16] "POST /web/dataset/call_kw/hr.attendance/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:17,595 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:17] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:16:18,412 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:18] "POST /web/menu/load_needaction HTTP/1.0" 200 - 2022-01-27 14:16:19,683 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/menu/load_needaction HTTP/1.0" 200 - 2022-01-27 14:16:19,718 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/action/load HTTP/1.1" 200 - 2022-01-27 14:16:19,777 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/dataset/call_kw/hr.holiday.package/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:19,778 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/dataset/call_kw/hr.holiday.package/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:19,833 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/dataset/call_kw/ir.filters/get_filters HTTP/1.1" 200 - 2022-01-27 14:16:19,913 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/dataset/call_kw/ir.model.fields/search_fields HTTP/1.1" 200 - 2022-01-27 14:16:19,920 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:19] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:16:21,380 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/action/load HTTP/1.1" 200 - 2022-01-27 14:16:21,425 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/holiday.allot.handler/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:21,494 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/hr.holiday.type/fields_get HTTP/1.1" 200 - 2022-01-27 14:16:21,517 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/holiday.allot.handler/default_get HTTP/1.1" 200 - 2022-01-27 14:16:21,576 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/hr.holiday.period/name_get HTTP/1.1" 200 - 2022-01-27 14:16:21,582 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:16:21,586 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:21] "POST /web/dataset/call_kw/hr.holiday.package/read HTTP/1.1" 200 - 2022-01-27 14:16:23,865 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:23] "POST /web/dataset/call_kw/hr.holiday.type/name_search HTTP/1.1" 200 - 2022-01-27 14:16:24,319 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:24] "POST /web/dataset/call_kw/hr.holiday.type/name_search HTTP/1.1" 200 - 2022-01-27 14:16:25,347 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:25] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:16:25,349 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:25] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:16:26,035 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:26,092 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/call_kw/ir.filters/get_filters HTTP/1.1" 200 - 2022-01-27 14:16:26,135 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:26,193 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:16:26,582 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/call_kw/ir.model.fields/search_fields HTTP/1.1" 200 - 2022-01-27 14:16:26,712 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:26] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:16:31,453 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:31] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:16:39,162 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:39] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:16:41,790 46 WARNING shpl openerp.sql_db:218: Cursor not closed explicitly Please enable sql debugging to trace the caller. 2022-01-27 14:16:42,245 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:42] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:16:45,847 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:45] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:16:49,773 47 INFO shpl openerp.addons.patch_web.controllers.main:884: >>> User(1) call holiday.allot.handler create(args=([{u'holiday_period_id': 8, u'holiday_types': [[6, False, [1]]], u'employee_ids': [[6, False, [22373, 22050, 21876, 21869, 21875, 21874, 21872, 21871, 21870, 19361, 19125, 21559, 19213, 19468, 21707, 21579, 21715, 21716, 18847, 21720, 21278, 19191, 18839, 21635, 19208, 19209, 18841, 19121, 19083, 19205, 18836, 19078, 21188, 21588, 19166, 19431, 21235, 18922, 21336, 18904, 21743, 19717, 18838, 18913, 19211, 19352, 19998, 21624, 21354, 19005, 20530, 21440, 20700, 18965, 21692, 19101, 21167, 19358, 18993, 18960, 18959, 18926, 19026, 19870, 19096, 21192, 21203, 18954, 21714, 21690, 19043, 18951, 19226, 21268, 21350, 21649, 18947, 18946, 18944, 19010, 19206, 19375, 19091, 21554, 21566, 18998, 19150, 19171, 18900, 18955, 21379, 21337, 21285, 21437, 21747, 19071, 18833, 19029, 19007, 19225, 19036, 18976, 20822, 21576, 18848, 21683, 19491, 19147, 21241, 18854, 19957, 21186, 19015, 19953, 20261, 19034, 18846, 20030, 21781, 21767, 19120, 21699, 19053, 21708, 21775, 21777, 21721, 21312, 18995, 18842, 18991, 19417, 21303, 21685, 18885, 21730, 19264, 19097, 19666, 21604, 19186, 20856, 18826, 18872, 19145, 18938, 21703, 19022, 18999, 19169, 19090, 21085, 19031, 19018, 21565, 19473, 18896, 19118, 20259, 20740, 19070, 19167, 19524, 19649, 20638, 19189, 19262, 18850, 18864, 19563, 21264, 19077, 19076, 18895, 20738, 19170, 21613, 21702, 19202, 19449, 20952, 19207, 20388, 21196, 21248, 21693, 21305, 20332, 21727, 19073, 18925, 18923, 20845, 21204, 21688, 21267, 19153, 21222, 19607, 21586, 18917, 19158, 21513, 19160, 19188, 18898, 21547, 21216, 18957, 21332, 19140, 21740, 19058, 19287, 18987, 18880, 19154, 19348, 18891, 18884, 19220, 19374, 19203, 19322, 19465, 18972, 21584, 19204, 21694, 21675, 18860, 18845, 18956, 21341, 21289, 21695, 21748, 19085, 21193, 21610, 21197, 19019, 18970, 19390, 19057, 18844, 21552, 21701, 19092, 20395, 20166, 19051, 19622, 18979, 21587, 19214, 21784, 21736, 18795, 18964, 21573, 21652, 21717, 20371, 19552, 18939, 19442, 19074, 21183, 21507, 19037, 18969, 18824, 19210, 19094, 18930, 18871, 18928, 19032, 19039, 21258, 20123, 20112, 19164, 21326, 21342, 20282, 19185, 21194, 20526, 21619, 19162, 20238, 21107, 21313, 18879, 21211, 21220, 20621, 20575, 19216, 19988, 21249, 20356, 21453, 21774, 21605, 19115, 21706, 19161, 18881, 19199, 18934, 20339, 18878, 21713, 20025, 21705, 21712, 21509, 18910, 21696, 20410, 19063, 18869, 18851, 18950, 19949, 18823, 19128, 18852, 18859, 21316, 18857, 19367, 19875, 18867, 19304, 21079, 21226, 18837, 21225, 19030, 19538, 21496, 20693, 19180, 21210, 19452, 21783, 21700, 21080, 18980, 18796, 21606, 18818, 21213, 19098, 21325, 19087, 21728, 18800, 19002, 18943, 21577, 18940, 21195, 21296, 18849, 19228, 20617, 21343, 18883, 20877, 21501, 19110, 19797, 19305, 19373, 18967, 21200, 19387, 19009, 19148, 19095, 21310, 19016, 19159, 21345, 21274, 18875, 19055, 18986, 18958, 21612, 21581, 19198, 18905, 18961, 21322, 19107, 21224, 21191, 21317, 18911, 18994, 20333, 19093, 19412, 18974, 20267, 18831, 19201, 20894, 19114, 21768, 19066, 21585, 19217, 19193, 18797, 19221, 19003, 19197, 19233, 19177, 19174, 19494, 19132, 19179, 18830, 20813, 19117, 19082, 19056, 23757, 18916, 21569, 21772, 18874, 21778, 18856, 20750, 18853, 19044, 21564, 18952, 21557, 19046, 18949, 19035, 21556, 54726, 54725, 18906, 54724, 54723, 54722, 54139, 54138, 53421, 52826, 52825, 52824, 52823, 49565, 49564, 48860, 48866, 45365, 45364, 45347, 42209, 42207, 42203, 42200, 46402, 18840, 42202, 42198, 42201, 34343, 29269, 29265, 29232, 29241, 29246, 29240, 29235, 29249, 29237, 29259, 29247, 29234, 21691, 29258, 29248, 28473, 23760, 21653, 23270, 23225, 23185, 23186, 23183, 23184, 19060, 18941, 21185, 19554, 18973, 19183, 21638, 18983, 18945, 19014, 19116, 19072, 21344, 21570, 19112, 21546, 18822, 18981, 21756, 19525, 21755, 19104, 19106, 18876, 19411, 21735, 19105, 19088, 21301, 19103, 19643, 18909, 19141, 21150, 18806]]]}]), kwargs={u'context': {u'lang': u'zh_CN', u'tz': u'Asia/Shanghai', u'uid': 1, u'active_model': u'hr.holiday.package', u'readonly_bypass': True, u'show_inactive': True, u'params': {u'action': u'5d9ab7fb-f340-4a60-aeb2-03baf9573d09'}, u'search_disable_custom_filters': True, u'active_ids': [10], u'active_id': 10}}) succeeded cost 0.0264298915863(s) Response: 266 2022-01-27 14:16:49,784 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:49] "POST /web/dataset/call_kw/holiday.allot.handler/create HTTP/1.1" 200 - 2022-01-27 14:16:49,837 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:49] "POST /web/dataset/call_kw/holiday.allot.handler/search_read HTTP/1.1" 200 - 2022-01-27 14:16:49,898 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:49] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:16:49,898 46 INFO shpl openerp.sql_db:563: ConnectionPool(used=0/count=4/max=64): Free leaked connection to 'host=172.18.99.27 password=xxx user=shpl dbname=shpl' 2022-01-27 14:16:50,285 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:50] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:16:53,905 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - revoke_allot => Time Elasped: 452.351 msec. 2022-01-27 14:16:54,068 47 INFO shpl openerp.addons.hr_holiday_management.holiday_rules.hr_holiday_allot_rule:1444: 年休假 - python code 发假失败:"strptime() argument 1 must be string, not bool" while evaluating u'# Available variables:\n# env: Environment, such as env[\'ir.model.data\'].\n# - ValidationError: an exception\n# - urllib,urllib2,json,simplejson,datetime,time,relativedelta: Python libraries\n# rule: current allot rule object.\n# employee: employee object.\n# current_period: current period rule object.\n# leave_date: employee leave_date.\n# _logger: such as _logger.info(\'msg\')\n\n# return: allot result \n# \'result = \' must be included in code.\n# frequence == \'day\' return list data\n# frequence == \'month\' return list data\n# frequence == \'year\' return float or int or dict data, dict is special for annual\nlevel = employee.x_level.x_code\nif leave_date:\n departure_time = leave_date.date()\nelif employee.departure_time:\n departure_time = datetime.datetime.strptime(employee.departure_time, "%Y-%m-%d").date()\nelse:\n departure_time = None\n_compute_qty = env[\'product.uom\']._compute_qty\nrule_function_obj = env[\'hr.holiday.rule.function\']\ndatetime_minus = rule_function_obj.datetime_minus\n\nprecision_round = rule_function_obj.precision_round\nprecision = rule.graininess if rule.graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\nround_rule = rule.carry_rule # \u8fdb\u4f4d\u89c4\u5219\nday_product_uom = env[\'hr.employee\'].get_day_product_uom(employee) # \u83b7\u5f97\u5929\u7c7b\u578b\npure_hire_date = datetime.datetime.strptime(employee.hiredate, "%Y-%m-%d").date()\nadjust_company_year = employee.company_working_age_adjustment or 0\ncompany_pure_hire_date = pure_hire_date - relativedelta.relativedelta(years=int(adjust_company_year), days=int((adjust_company_year - int(adjust_company_year)) * 365))\nperiod_start_date = datetime.datetime.strptime(current_period.start_date, "%Y-%m-%d")\nperiod_start_date_date = period_start_date.date()\nperiod_end_date = datetime.datetime.strptime(current_period.end_date, "%Y-%m-%d")\nperiod_end_date_date = period_end_date.date()\nperiod_total_days = float((period_end_date_date - period_start_date_date).days + 1)\nstart_date = max(company_pure_hire_date, period_start_date_date)\nif leave_date and leave_date.date() >= period_end_date_date:\n leave_date = period_end_date_date # \u79bb\u804c\u65e5\u671f\u6700\u665a\u4e5f\u5c31\u662f\u5f53\u524d\u671f\u95f4\u7684\u6700\u540e\u4e00\u5929\nend_date = min(departure_time, period_end_date_date) if departure_time else period_end_date_date\nwork_age_calculate_func = rule_function_obj.work_age_calculate_func\nemployee_hire_date = rule.get_employee_hire_date(employee)\nwork_age_count_rule = \'preview\'\nlegal_work_age_holiday_num = [\n {\'year_num\': 0, \'day_num\': 0},\n {\'year_num\': 1, \'day_num\': 5},\n {\'year_num\': 5, \'day_num\': 7},\n {\'year_num\': 10, \'day_num\': 10},\n {\'year_num\': 20, \'day_num\': 15},\n]\n# \u5165\u79bb\u804c\u6298\u7b97\nis_entry_convert_enable = rule.is_entry_convert_enable # \u542f\u7528\u5165\u804c\u6298\u7b97\nis_resignation_convert_enable = rule.is_resignation_convert_enable # \u542f\u7528\u79bb\u804c\u6298\u7b97\nentry_resignation_converter = rule_function_obj.entry_resignation_converter\ndivide = rule_function_obj.divide\nlegal_annual_graininess = rule.legal_annual_graininess if rule.legal_annual_graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\ncompany_annual_graininess = rule.company_annual_graininess if rule.company_annual_graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\n# \u9897\u7c92\u5ea6\u548c\u8fdb\u4f4d\u89c4\u5219 \u533a\u5206\u6cd5\u5b9a\u5e74\u5047\u548c\u516c\u53f8\u5e74\u5047\nlegal_precision = legal_annual_graininess if rule.is_enable_legal_annual else precision\nlegal_round_rule = rule.legal_annual_carry_rule if rule.is_enable_legal_annual else rule.carry_rule\ncompany_precision = company_annual_graininess if rule.is_enable_company_annual else precision\ncompany_round_rule = rule.company_annual_carry_rule if rule.is_enable_company_annual else rule.carry_rule\n\n# \u662f\u5426\u5f53\u524d\u671f\u95f4\u65b0\u5165\u804c\nis_new = True if period_start_date < employee_hire_date < period_end_date else False\nif is_entry_convert_enable and is_new:\n period_start_date = employee_hire_date\nif is_resignation_convert_enable and leave_date:\n period_end_date = leave_date\ncompany_work_age_cross_date, social_work_age_cross_date = env[\'hr.employee\'].get_work_age_cross_date(employee,current_period=current_period)\nif not employee.social_work_start_date:\n social_work_age_cross_date = company_work_age_cross_date\ncompany_work_age_cross_date1 = datetime.datetime(company_work_age_cross_date.year,company_work_age_cross_date.month,company_work_age_cross_date.day)\nsocial_work_age_cross_date1 = datetime.datetime(social_work_age_cross_date.year,social_work_age_cross_date.month,social_work_age_cross_date.day)\nperiod_start_date1 = datetime.datetime(period_start_date.year,period_start_date.month,period_start_date.day)\nperiod_end_date1 = datetime.datetime(period_end_date.year,period_end_date.month,period_end_date.day)\n# # \u8ba1\u7b97\u793e\u4f1a\u5de5\u9f84\nsocial_work_age = work_age_calculate_func(employee, work_age_count_rule, "social",\n company_work_age_cross_date1, social_work_age_cross_date1,\n period_start_date1, period_end_date1, datetime, datetime_minus)\nif level != \'8\':\n#2011-07-04\n # \u5904\u7406\u521d\u59cb\u503c\n init_num = 0\n # \u7ed9\u521d\u59cb\u503c\u6362\u7b97\u5355\u4f4d\n # if rule.product_uom_id != day_product_uom:\n # init_num = day_product_uom._compute_qty(rule.product_uom_id.id, init_num, day_product_uom.id)\n total_annual_quota = 15\n # \u8f93\u51fa\u5230\u65e5\u5fd7\u663e\u793a\u5e74\u5047\u603b\u989d\n _logger.info("\\n######\\n\u52a0\u4e0a\u521d\u59cb\u503c\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n total_annual_quota = precision_round(total_annual_quota, precision, round_rule)\n _logger.info("\\n######\\n \u8fdb\u4f4d\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n \n #2021-07-04\n \n # \u83b7\u53d6\u6cd5\u5b9a\u5de5\u9f84\u5e94\u53d1\u7684\u5929\u6570\n legal_is_cross_year, legal_current_num, legal_before_cross_num = False, 0, 0\n legal_holiday_count = rule_function_obj.get_days_count(social_work_age, legal_work_age_holiday_num)\n if legal_holiday_count:\n legal_is_cross_year = legal_holiday_count["is_cross_year"]\n legal_current_num = init_num + legal_holiday_count["current_num"]\n legal_before_cross_num = init_num + legal_holiday_count["last_num"]\n \n # \u6298\u7b97\u540e\u8fdb\u4f4d\u89c4\u5219\uff1a\u6298\u7b97\u540e\u4e0d\u8db31\uff0c\u53d60\uff0c\u5927\u4e8e1\uff0c\u63090.5\u5411\u4e0b\u8fdb\u4f4d\n # if legal_is_cross_year:\n # legal_convert_current_num = legal_current_num * ((period_end_date - social_work_age_cross_date).days + 1) / period_total_days\n # legal_convert_before_cross_num = legal_before_cross_num * ((social_work_age_cross_date - period_start_date).days + 1) / period_total_days\n # social_total_num = legal_convert_current_num + legal_convert_before_cross_num\n # else:\n # legal_convert_current_num = legal_current_num\n # social_total_num = legal_convert_current_num\n \n\nelse:\n effective_date = datetime.datetime.strptime(employee.x_management_day,\'%Y-%m-%d\')\n init_num = 10\n if social_work_age >= 20:\n init_num = 15\n # \u7ed9\u521d\u59cb\u503c\u6362\u7b97\u5355\u4f4d\n # if rule.product_uom_id != day_product_uom:\n # init_num = day_product_uom._compute_qty(rule.product_uom_id.id, init_num, day_product_uom.id)\n total_annual_quota = 15\n # \u8f93\u51fa\u5230\u65e5\u5fd7\u663e\u793a\u5e74\u5047\u603b\u989d\n _logger.info("\\n######\\n\u52a0\u4e0a\u521d\u59cb\u503c\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n total_annual_quota = precision_round(total_annual_quota, precision, round_rule)\n _logger.info("\\n######\\n \u8fdb\u4f4d\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n manager_legal_work_age_holiday_num = [\n {\'year_num\': 0, \'day_num\': 0},\n {\'year_num\': 3, \'day_num\': 1},\n {\'year_num\': 6, \'day_num\': 2},\n {\'year_num\': 9, \'day_num\': 3},\n {\'year_num\': 12, \'day_num\': 4},\n {\'year_num\': 15, \'day_num\': 5},\n ]\n period_end_date = period_end_date-datetime.timedelta(days=5)\n work_age = datetime_minus(period_end_date, effective_date) / 365.0\n legal_holiday_count = rule_function_obj.get_days_count(work_age, manager_legal_work_age_holiday_num)\n if legal_holiday_count:\n legal_is_cross_year = legal_holiday_count["is_cross_year"]\n legal_current_num = init_num + legal_holiday_count["current_num"]\n legal_before_cross_num = init_num + legal_holiday_count["last_num"]\n \n# # \u5904\u7406\u53d1\u653e\u9891\u7387\nfrequency = rule.frequency\nif frequency == "year":\n employee_hire_date = datetime.datetime(year=employee_hire_date.year,month=employee_hire_date.month,day=employee_hire_date.day)\n if leave_date:\n leave_date = datetime.datetime(year=leave_date.year,month=leave_date.month,day=leave_date.day)\n if social_work_age_cross_date:\n social_work_age_cross_date = datetime.datetime(year=social_work_age_cross_date.year,month=social_work_age_cross_date.month,day=social_work_age_cross_date.day)\n \n period_start_date = datetime.datetime(year=period_start_date.year,month=period_start_date.month,day=period_start_date.day)\n period_end_date = datetime.datetime(year=period_end_date.year,month=period_end_date.month,day=period_end_date.day)\n legal_temp_result = entry_resignation_converter(legal_current_num, legal_current_num, leave_date,\n period_start_date, period_end_date,\n social_work_age_cross_date, employee_hire_date,\n legal_is_cross_year, is_new and is_entry_convert_enable,\n leave_date and is_resignation_convert_enable)\n # \u8ba1\u7b97\u5e74\u5047\u989d\u5ea6\n legal_temp_result = legal_temp_result if total_annual_quota > legal_temp_result else total_annual_quota\n result = legal_temp_result\n# \u5982\u679c\u5165\u804c\u65e5\u671f\u5728\u533a\u95f4\u7ed3\u675f\u65f6\u95f4\u4e4b\u540e\u6216\u8005\u5458\u5de5\u7c7b\u578b\u662f\u5185\u90e8\u9000\u4f11\u8fd4\u8058\uff0c\u5219\u4e0d\u53d1\u5047\nif employee_hire_date > period_end_date or employee.employee_type_rep.code in [\'5\',\'4\']:\n result = []\n\nif result:\n # \u7cbe\u5ea6\u5904\u7406\n if rule.frequency == \'year\':\n result = precision_round(result, legal_precision, legal_round_rule)\n_logger.info("\\n######\\n\u6700\u7ec8\u989d\u5ea6\uff1a%s\\n#####\\n\\n\\n\\n\\n\\n" % str(result))\n' 2022-01-27 14:16:54,070 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - Handle Allot - Allot employee(18806) => Time Elasped: 163.332 msec. 2022-01-27 14:16:54,070 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - Handle Allot => Time Elasped: 163.863 msec. 2022-01-27 14:16:54,070 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 => Time Elasped: 4159.144 msec. 2022-01-27 14:16:54,071 47 INFO shpl openerp.addons.patch_web.controllers.main:884: >>> User(1) call holiday.allot.handler handler_allot_btn(args=([[266], {u'lang': u'zh_CN', u'tz': u'Asia/Shanghai', u'uid': 1, u'active_model': u'hr.holiday.package', u'readonly_bypass': True, u'show_inactive': True, u'params': {u'action': u'5d9ab7fb-f340-4a60-aeb2-03baf9573d09'}, u'search_disable_custom_filters': True, u'active_ids': [10], u'active_id': 10}]), kwargs={}) failed cost 4.17444586754(s) Response: Traceback (most recent call last): File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 461, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn self.env['hr.employee'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot employee_holiday_type_dict=employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details holiday_type_ids=holiday_type_ids) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule raise UserError(_("The \"%s\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name) UserError: “年休假”发假规则配置出错,请检查对应的发假编码。 2022-01-27 14:16:54,071 47 INFO shpl openerp.addons.patch_base.http:83: http://hryl.shpl.com.cn/web/dataset/call_button 220127-141654071420-exception: {'name': 'openerp.exceptions.UserError', 'snno': '220127-141654071420', 'exception_type': 'user_error', 'arguments': [u'\u201c\u5e74\u4f11\u5047\u201d\u53d1\u5047\u89c4\u5219\u914d\u7f6e\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5\u5bf9\u5e94\u7684\u53d1\u5047\u7f16\u7801\u3002'], 'debug': 'Traceback (most recent call last):\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 260, in _handle_exception\n return super(JsonRequest, self)._handle_exception(exception)\n File "./odoo/openerp/http.py", line 681, in dispatch\n result = self._call_function(**self.params)\n File "./odoo/openerp/http.py", line 316, in _call_function\n return checked_call(self.db, *args, **kwargs)\n File "./odoo/openerp/service/model.py", line 118, in wrapper\n return f(dbname, *args, **kwargs)\n File "./odoo/openerp/http.py", line 309, in checked_call\n result = self.endpoint(*a, **kw)\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__\n return self.method(*args, **kw)\n File "./odoo/openerp/http.py", line 509, in response_wrap\n response = f(*args, **kw)\n File "/opt/shpl/ehr-odoo/odoo/addons/web/controllers/main.py", line 896, in call_button\n action = self._call_kw(model, method, args, {})\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw\n res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)\n File "./odoo/openerp/api.py", line 330, in wrapper\n return old_api(self, *args, **kwargs)\n File "./odoo/openerp/api.py", line 461, in old_api\n result = method(recs, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn\n self.env[\'hr.employee\'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot\n employee_holiday_type_dict=employee_holiday_type_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot\n employee_holiday_type_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details\n holiday_type_ids=holiday_type_ids)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday\n allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function\n result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule\n return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule\n return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule\n return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule\n raise UserError(_("The \\"%s\\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name)\nUserError: \xe2\x80\x9c\xe5\xb9\xb4\xe4\xbc\x91\xe5\x81\x87\xe2\x80\x9d\xe5\x8f\x91\xe5\x81\x87\xe8\xa7\x84\xe5\x88\x99\xe9\x85\x8d\xe7\xbd\xae\xe5\x87\xba\xe9\x94\x99\xef\xbc\x8c\xe8\xaf\xb7\xe6\xa3\x80\xe6\x9f\xa5\xe5\xaf\xb9\xe5\xba\x94\xe7\x9a\x84\xe5\x8f\x91\xe5\x81\x87\xe7\xbc\x96\xe7\xa0\x81\xe3\x80\x82\n', 'message': u'\u201c\u5e74\u4f11\u5047\u201d\u53d1\u5047\u89c4\u5219\u914d\u7f6e\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5\u5bf9\u5e94\u7684\u53d1\u5047\u7f16\u7801\u3002'} 2022-01-27 14:16:54,072 47 WARNING shpl openerp.addons.patch_base.http:84: 220127-141654071420-traceback: Traceback (most recent call last): File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 260, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "./odoo/openerp/http.py", line 681, in dispatch result = self._call_function(**self.params) File "./odoo/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "./odoo/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "./odoo/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__ return self.method(*args, **kw) File "./odoo/openerp/http.py", line 509, in response_wrap response = f(*args, **kw) File "/opt/shpl/ehr-odoo/odoo/addons/web/controllers/main.py", line 896, in call_button action = self._call_kw(model, method, args, {}) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 461, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn self.env['hr.employee'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot employee_holiday_type_dict=employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details holiday_type_ids=holiday_type_ids) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule raise UserError(_("The \"%s\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name) UserError: “年休假”发假规则配置出错,请检查对应的发假编码。 2022-01-27 14:16:54,074 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:54] "POST /web/dataset/call_button HTTP/1.1" 200 - 2022-01-27 14:16:54,179 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:54] "POST /web/dataset/call_kw/holiday.allot.handler/search_read HTTP/1.1" 200 - 2022-01-27 14:16:54,242 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:54] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:16:54,586 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:16:54] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:18:34,423 44 INFO shpl werkzeug:87: 101.89.239.245 - - [27/Jan/2022 14:18:34] "GET /qywx/index/shpl/1000019?redirect=/appwx/index?appid=1000019 HTTP/1.0" 200 - 2022-01-27 14:18:49,543 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:49] "POST /web/dataset/call_kw/hr.holiday.package/check_is_approve_flow HTTP/1.1" 200 - 2022-01-27 14:18:49,561 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:49] "POST /web/dataset/call_kw/hr.holiday.package/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:18:50,276 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.location/fields_get HTTP/1.1" 200 - 2022-01-27 14:18:50,290 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/legal.entity/fields_get HTTP/1.1" 200 - 2022-01-27 14:18:50,333 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.holiday.type/fields_get HTTP/1.1" 200 - 2022-01-27 14:18:50,430 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.holiday.package/read HTTP/1.1" 200 - 2022-01-27 14:18:50,510 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/product.uom.categ/name_search HTTP/1.1" 200 - 2022-01-27 14:18:50,513 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/res.company/name_search HTTP/1.1" 200 - 2022-01-27 14:18:50,554 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:18:50,746 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.holiday.leave.rule/read HTTP/1.1" 200 - 2022-01-27 14:18:50,898 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.holiday.allot.rule/read HTTP/1.1" 200 - 2022-01-27 14:18:50,983 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:50] "POST /web/dataset/call_kw/hr.holiday.priority.rule/read HTTP/1.1" 200 - 2022-01-27 14:18:51,255 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:51] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:18:54,123 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/ir.model.fields/fields_get HTTP/1.1" 200 - 2022-01-27 14:18:54,157 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.allot.rule/read HTTP/1.1" 200 - 2022-01-27 14:18:54,322 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/product.uom/name_search HTTP/1.1" 200 - 2022-01-27 14:18:54,344 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.rule.function/name_search HTTP/1.1" 200 - 2022-01-27 14:18:54,352 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.rule.function/name_search HTTP/1.1" 200 - 2022-01-27 14:18:54,365 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.rule.function/name_search HTTP/1.1" 200 - 2022-01-27 14:18:54,636 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.legal.allot.rule.line/read HTTP/1.1" 200 - 2022-01-27 14:18:54,703 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:18:54] "POST /web/dataset/call_kw/hr.holiday.company.allot.rule.line/read HTTP/1.1" 200 - 2022-01-27 14:19:01,729 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:01] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:19:26,985 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:26] "POST /web/action/load HTTP/1.1" 200 - 2022-01-27 14:19:27,053 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/holiday.allot.handler/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:19:27,140 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/hr.holiday.type/fields_get HTTP/1.1" 200 - 2022-01-27 14:19:27,163 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/holiday.allot.handler/default_get HTTP/1.1" 200 - 2022-01-27 14:19:27,233 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/hr.holiday.period/name_get HTTP/1.1" 200 - 2022-01-27 14:19:27,237 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:19:27,248 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:27] "POST /web/dataset/call_kw/hr.holiday.package/read HTTP/1.1" 200 - 2022-01-27 14:19:28,049 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:28] "POST /web/dataset/call_kw/hr.holiday.type/name_search HTTP/1.1" 200 - 2022-01-27 14:19:29,887 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:29] "POST /web/dataset/call_kw/hr.holiday.type/name_search HTTP/1.1" 200 - 2022-01-27 14:19:30,301 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:30] "POST /web/dataset/call_kw/hr.holiday.type/name_search HTTP/1.1" 200 - 2022-01-27 14:19:31,119 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:19:31,120 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:19:31,788 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:19:31,846 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/ir.filters/get_filters HTTP/1.1" 200 - 2022-01-27 14:19:31,893 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:19:31,945 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:31] "POST /web/dataset/call_kw/hr.employee/fields_view_get HTTP/1.1" 200 - 2022-01-27 14:19:32,280 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:32] "POST /web/dataset/call_kw/ir.model.fields/search_fields HTTP/1.1" 200 - 2022-01-27 14:19:32,387 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:32] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:19:36,498 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:36] "POST /web/dataset/search_read HTTP/1.1" 200 - 2022-01-27 14:19:45,275 44 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:45] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:19:48,313 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:48] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:19:50,729 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:50] "POST /web/dataset/call_kw/holiday.allot.handler/onchange HTTP/1.1" 200 - 2022-01-27 14:19:53,177 45 INFO shpl openerp.addons.patch_web.controllers.main:884: >>> User(1) call holiday.allot.handler create(args=([{u'holiday_period_id': 8, u'holiday_types': [[6, False, [1]]], u'employee_ids': [[6, False, [22373, 22050, 21876, 21869, 21875, 21874, 21872, 21871, 21870, 19361, 19125, 21559, 19213, 19468, 21707, 21579, 21715, 21716, 18847, 21720, 21278, 19191, 18839, 21635, 19208, 19209, 18841, 19121, 19083, 19205, 18836, 19078, 21188, 21588, 19166, 19431, 21235, 18922, 21336, 18904, 21743, 19717, 18838, 18913, 19211, 19352, 19998, 21624, 21354, 19005, 20530, 21440, 20700, 18965, 21692, 19101, 21167, 19358, 18993, 18960, 18959, 18926, 19026, 19870, 19096, 21192, 21203, 18954, 21714, 21690, 19043, 18951, 19226, 21268, 21350, 21649, 18947, 18946, 18944, 19010, 19206, 19375, 19091, 21554, 21566, 18998, 19150, 19171, 18900, 18955, 21379, 21337, 21285, 21437, 21747, 19071, 18833, 19029, 19007, 19225, 19036, 18976, 20822, 21576, 18848, 21683, 19491, 19147, 21241, 18854, 19957, 21186, 19015, 19953, 20261, 19034, 18846, 20030, 21781, 21767, 19120, 21699, 19053, 21708, 21775, 21777, 21721, 21312, 18995, 18842, 18991, 19417, 21303, 21685, 18885, 21730, 19264, 19097, 19666, 21604, 19186, 20856, 18826, 18872, 19145, 18938, 21703, 19022, 18999, 19169, 19090, 21085, 19031, 19018, 21565, 19473, 18896, 19118, 20259, 20740, 19070, 19167, 19524, 19649, 20638, 19189, 19262, 18850, 18864, 19563, 21264, 19077, 19076, 18895, 20738, 19170, 21613, 21702, 19202, 19449, 20952, 19207, 20388, 21196, 21248, 21693, 21305, 20332, 21727, 19073, 18925, 18923, 20845, 21204, 21688, 21267, 19153, 21222, 19607, 21586, 18917, 19158, 21513, 19160, 19188, 18898, 21547, 21216, 18957, 21332, 19140, 21740, 19058, 19287, 18987, 18880, 19154, 19348, 18891, 18884, 19220, 19374, 19203, 19322, 19465, 18972, 21584, 19204, 21694, 21675, 18860, 18845, 18956, 21341, 21289, 21695, 21748, 19085, 21193, 21610, 21197, 19019, 18970, 19390, 19057, 18844, 21552, 21701, 19092, 20395, 20166, 19051, 19622, 18979, 21587, 19214, 21784, 21736, 18795, 18964, 21573, 21652, 21717, 20371, 19552, 18939, 19442, 19074, 21183, 21507, 19037, 18969, 18824, 19210, 19094, 18930, 18871, 18928, 19032, 19039, 21258, 20123, 20112, 19164, 21326, 21342, 20282, 19185, 21194, 20526, 21619, 19162, 20238, 21107, 21313, 18879, 21211, 21220, 20621, 20575, 19216, 19988, 21249, 20356, 21453, 21774, 21605, 19115, 21706, 19161, 18881, 19199, 18934, 20339, 18878, 21713, 20025, 21705, 21712, 21509, 18910, 21696, 20410, 19063, 18869, 18851, 18950, 19949, 18823, 19128, 18852, 18859, 21316, 18857, 19367, 19875, 18867, 19304, 21079, 21226, 18837, 21225, 19030, 19538, 21496, 20693, 19180, 21210, 19452, 21783, 21700, 21080, 18980, 18796, 21606, 18818, 21213, 19098, 21325, 19087, 21728, 18800, 19002, 18943, 21577, 18940, 21195, 21296, 18849, 19228, 20617, 21343, 18883, 20877, 21501, 19110, 19797, 19305, 19373, 18967, 21200, 19387, 19009, 19148, 19095, 21310, 19016, 19159, 21345, 21274, 18875, 19055, 18986, 18958, 21612, 21581, 19198, 18905, 18961, 21322, 19107, 21224, 21191, 21317, 18911, 18994, 20333, 19093, 19412, 18974, 20267, 18831, 19201, 20894, 19114, 21768, 19066, 21585, 19217, 19193, 18797, 19221, 19003, 19197, 19233, 19177, 19174, 19494, 19132, 19179, 18830, 20813, 19117, 19082, 19056, 23757, 18916, 21569, 21772, 18874, 21778, 18856, 20750, 18853, 19044, 21564, 18952, 21557, 19046, 18949, 19035, 21556, 54726, 54725, 18906, 54724, 54723, 54722, 54139, 54138, 53421, 52826, 52825, 52824, 52823, 49565, 49564, 48860, 48866, 45365, 45364, 45347, 42209, 42207, 42203, 42200, 46402, 18840, 42202, 42198, 42201, 34343, 29269, 29265, 29232, 29241, 29246, 29240, 29235, 29249, 29237, 29259, 29247, 29234, 21691, 29258, 29248, 28473, 23760, 21653, 23270, 23225, 23185, 23186, 23183, 23184, 19060, 18941, 21185, 19554, 18973, 19183, 21638, 18983, 18945, 19014, 19116, 19072, 21344, 21570, 19112, 21546, 18822, 18981, 21756, 19525, 21755, 19104, 19106, 18876, 19411, 21735, 19105, 19088, 21301, 19103, 19643, 18909, 19141, 21150, 18806]]]}]), kwargs={u'context': {u'lang': u'zh_CN', u'tz': u'Asia/Shanghai', u'uid': 1, u'active_model': u'hr.holiday.package', u'readonly_bypass': True, u'show_inactive': True, u'params': {u'action': u'5d9ab7fb-f340-4a60-aeb2-03baf9573d09'}, u'search_disable_custom_filters': True, u'active_ids': [10], u'active_id': 10}}) succeeded cost 0.0272319316864(s) Response: 267 2022-01-27 14:19:53,181 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:53] "POST /web/dataset/call_kw/holiday.allot.handler/create HTTP/1.1" 200 - 2022-01-27 14:19:53,244 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:53] "POST /web/dataset/call_kw/holiday.allot.handler/search_read HTTP/1.1" 200 - 2022-01-27 14:19:53,300 45 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:53] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:19:53,679 46 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:53] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:19:57,341 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - revoke_allot => Time Elasped: 424.285 msec. 2022-01-27 14:19:57,512 47 INFO shpl openerp.addons.hr_holiday_management.holiday_rules.hr_holiday_allot_rule:1444: 年休假 - python code 发假失败:"strptime() argument 1 must be string, not bool" while evaluating u'# Available variables:\n# env: Environment, such as env[\'ir.model.data\'].\n# - ValidationError: an exception\n# - urllib,urllib2,json,simplejson,datetime,time,relativedelta: Python libraries\n# rule: current allot rule object.\n# employee: employee object.\n# current_period: current period rule object.\n# leave_date: employee leave_date.\n# _logger: such as _logger.info(\'msg\')\n\n# return: allot result \n# \'result = \' must be included in code.\n# frequence == \'day\' return list data\n# frequence == \'month\' return list data\n# frequence == \'year\' return float or int or dict data, dict is special for annual\nlevel = employee.x_level.x_code\nif leave_date:\n departure_time = leave_date.date()\nelif employee.departure_time:\n departure_time = datetime.datetime.strptime(employee.departure_time, "%Y-%m-%d").date()\nelse:\n departure_time = None\n_compute_qty = env[\'product.uom\']._compute_qty\nrule_function_obj = env[\'hr.holiday.rule.function\']\ndatetime_minus = rule_function_obj.datetime_minus\n\nprecision_round = rule_function_obj.precision_round\nprecision = rule.graininess if rule.graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\nround_rule = rule.carry_rule # \u8fdb\u4f4d\u89c4\u5219\nday_product_uom = env[\'hr.employee\'].get_day_product_uom(employee) # \u83b7\u5f97\u5929\u7c7b\u578b\npure_hire_date = datetime.datetime.strptime(employee.hiredate, "%Y-%m-%d").date()\nadjust_company_year = employee.company_working_age_adjustment or 0\ncompany_pure_hire_date = pure_hire_date - relativedelta.relativedelta(years=int(adjust_company_year), days=int((adjust_company_year - int(adjust_company_year)) * 365))\nperiod_start_date = datetime.datetime.strptime(current_period.start_date, "%Y-%m-%d")\nperiod_start_date_date = period_start_date.date()\nperiod_end_date = datetime.datetime.strptime(current_period.end_date, "%Y-%m-%d")\nperiod_end_date_date = period_end_date.date()\nperiod_total_days = float((period_end_date_date - period_start_date_date).days + 1)\nstart_date = max(company_pure_hire_date, period_start_date_date)\nif leave_date and leave_date.date() >= period_end_date_date:\n leave_date = period_end_date_date # \u79bb\u804c\u65e5\u671f\u6700\u665a\u4e5f\u5c31\u662f\u5f53\u524d\u671f\u95f4\u7684\u6700\u540e\u4e00\u5929\nend_date = min(departure_time, period_end_date_date) if departure_time else period_end_date_date\nwork_age_calculate_func = rule_function_obj.work_age_calculate_func\nemployee_hire_date = rule.get_employee_hire_date(employee)\nwork_age_count_rule = \'preview\'\nlegal_work_age_holiday_num = [\n {\'year_num\': 0, \'day_num\': 0},\n {\'year_num\': 1, \'day_num\': 5},\n {\'year_num\': 5, \'day_num\': 7},\n {\'year_num\': 10, \'day_num\': 10},\n {\'year_num\': 20, \'day_num\': 15},\n]\n# \u5165\u79bb\u804c\u6298\u7b97\nis_entry_convert_enable = rule.is_entry_convert_enable # \u542f\u7528\u5165\u804c\u6298\u7b97\nis_resignation_convert_enable = rule.is_resignation_convert_enable # \u542f\u7528\u79bb\u804c\u6298\u7b97\nentry_resignation_converter = rule_function_obj.entry_resignation_converter\ndivide = rule_function_obj.divide\nlegal_annual_graininess = rule.legal_annual_graininess if rule.legal_annual_graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\ncompany_annual_graininess = rule.company_annual_graininess if rule.company_annual_graininess != "0" else "0.01" # \u9897\u7c92\u5ea6\n# \u9897\u7c92\u5ea6\u548c\u8fdb\u4f4d\u89c4\u5219 \u533a\u5206\u6cd5\u5b9a\u5e74\u5047\u548c\u516c\u53f8\u5e74\u5047\nlegal_precision = legal_annual_graininess if rule.is_enable_legal_annual else precision\nlegal_round_rule = rule.legal_annual_carry_rule if rule.is_enable_legal_annual else rule.carry_rule\ncompany_precision = company_annual_graininess if rule.is_enable_company_annual else precision\ncompany_round_rule = rule.company_annual_carry_rule if rule.is_enable_company_annual else rule.carry_rule\n\n# \u662f\u5426\u5f53\u524d\u671f\u95f4\u65b0\u5165\u804c\nis_new = True if period_start_date < employee_hire_date < period_end_date else False\nif is_entry_convert_enable and is_new:\n period_start_date = employee_hire_date\nif is_resignation_convert_enable and leave_date:\n period_end_date = leave_date\ncompany_work_age_cross_date, social_work_age_cross_date = env[\'hr.employee\'].get_work_age_cross_date(employee,current_period=current_period)\nif not employee.social_work_start_date:\n social_work_age_cross_date = company_work_age_cross_date\ncompany_work_age_cross_date1 = datetime.datetime(company_work_age_cross_date.year,company_work_age_cross_date.month,company_work_age_cross_date.day)\nsocial_work_age_cross_date1 = datetime.datetime(social_work_age_cross_date.year,social_work_age_cross_date.month,social_work_age_cross_date.day)\nperiod_start_date1 = datetime.datetime(period_start_date.year,period_start_date.month,period_start_date.day)\nperiod_end_date1 = datetime.datetime(period_end_date.year,period_end_date.month,period_end_date.day)\n# # \u8ba1\u7b97\u793e\u4f1a\u5de5\u9f84\nsocial_work_age = work_age_calculate_func(employee, work_age_count_rule, "social",\n company_work_age_cross_date1, social_work_age_cross_date1,\n period_start_date1, period_end_date1, datetime, datetime_minus)\nif level != \'8\':\n#2011-07-04\n # \u5904\u7406\u521d\u59cb\u503c\n init_num = 0\n # \u7ed9\u521d\u59cb\u503c\u6362\u7b97\u5355\u4f4d\n # if rule.product_uom_id != day_product_uom:\n # init_num = day_product_uom._compute_qty(rule.product_uom_id.id, init_num, day_product_uom.id)\n total_annual_quota = 15\n # \u8f93\u51fa\u5230\u65e5\u5fd7\u663e\u793a\u5e74\u5047\u603b\u989d\n _logger.info("\\n######\\n\u52a0\u4e0a\u521d\u59cb\u503c\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n total_annual_quota = precision_round(total_annual_quota, precision, round_rule)\n _logger.info("\\n######\\n \u8fdb\u4f4d\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n \n #2021-07-04\n \n # \u83b7\u53d6\u6cd5\u5b9a\u5de5\u9f84\u5e94\u53d1\u7684\u5929\u6570\n legal_is_cross_year, legal_current_num, legal_before_cross_num = False, 0, 0\n legal_holiday_count = rule_function_obj.get_days_count(social_work_age, legal_work_age_holiday_num)\n if legal_holiday_count:\n legal_is_cross_year = legal_holiday_count["is_cross_year"]\n legal_current_num = init_num + legal_holiday_count["current_num"]\n legal_before_cross_num = init_num + legal_holiday_count["last_num"]\n \n # \u6298\u7b97\u540e\u8fdb\u4f4d\u89c4\u5219\uff1a\u6298\u7b97\u540e\u4e0d\u8db31\uff0c\u53d60\uff0c\u5927\u4e8e1\uff0c\u63090.5\u5411\u4e0b\u8fdb\u4f4d\n # if legal_is_cross_year:\n # legal_convert_current_num = legal_current_num * ((period_end_date - social_work_age_cross_date).days + 1) / period_total_days\n # legal_convert_before_cross_num = legal_before_cross_num * ((social_work_age_cross_date - period_start_date).days + 1) / period_total_days\n # social_total_num = legal_convert_current_num + legal_convert_before_cross_num\n # else:\n # legal_convert_current_num = legal_current_num\n # social_total_num = legal_convert_current_num\n \n\nelse:\n effective_date = datetime.datetime.strptime(employee.x_management_day,\'%Y-%m-%d\')\n init_num = 10\n if social_work_age >= 20:\n init_num = 15\n # \u7ed9\u521d\u59cb\u503c\u6362\u7b97\u5355\u4f4d\n # if rule.product_uom_id != day_product_uom:\n # init_num = day_product_uom._compute_qty(rule.product_uom_id.id, init_num, day_product_uom.id)\n total_annual_quota = 15\n # \u8f93\u51fa\u5230\u65e5\u5fd7\u663e\u793a\u5e74\u5047\u603b\u989d\n _logger.info("\\n######\\n\u52a0\u4e0a\u521d\u59cb\u503c\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n total_annual_quota = precision_round(total_annual_quota, precision, round_rule)\n _logger.info("\\n######\\n \u8fdb\u4f4d\u540e\u7684\u5e74\u5047\u603b\u989d\uff1a{}\\n#####\\n".format(total_annual_quota))\n manager_legal_work_age_holiday_num = [\n {\'year_num\': 0, \'day_num\': 0},\n {\'year_num\': 3, \'day_num\': 1},\n {\'year_num\': 6, \'day_num\': 2},\n {\'year_num\': 9, \'day_num\': 3},\n {\'year_num\': 12, \'day_num\': 4},\n {\'year_num\': 15, \'day_num\': 5},\n ]\n period_end_date = period_end_date-datetime.timedelta(days=5)\n work_age = datetime_minus(period_end_date, effective_date) / 365.0\n legal_holiday_count = rule_function_obj.get_days_count(work_age, manager_legal_work_age_holiday_num)\n if legal_holiday_count:\n legal_is_cross_year = legal_holiday_count["is_cross_year"]\n legal_current_num = init_num + legal_holiday_count["current_num"]\n legal_before_cross_num = init_num + legal_holiday_count["last_num"]\n \n# # \u5904\u7406\u53d1\u653e\u9891\u7387\nfrequency = rule.frequency\nif frequency == "year":\n employee_hire_date = datetime.datetime(year=employee_hire_date.year,month=employee_hire_date.month,day=employee_hire_date.day)\n if leave_date:\n leave_date = datetime.datetime(year=leave_date.year,month=leave_date.month,day=leave_date.day)\n if social_work_age_cross_date:\n social_work_age_cross_date = datetime.datetime(year=social_work_age_cross_date.year,month=social_work_age_cross_date.month,day=social_work_age_cross_date.day)\n \n period_start_date = datetime.datetime(year=period_start_date.year,month=period_start_date.month,day=period_start_date.day)\n period_end_date = datetime.datetime(year=period_end_date.year,month=period_end_date.month,day=period_end_date.day)\n legal_temp_result = entry_resignation_converter(legal_current_num, legal_current_num, leave_date,\n period_start_date, period_end_date,\n social_work_age_cross_date, employee_hire_date,\n legal_is_cross_year, is_new and is_entry_convert_enable,\n leave_date and is_resignation_convert_enable)\n # \u8ba1\u7b97\u5e74\u5047\u989d\u5ea6\n legal_temp_result = legal_temp_result if total_annual_quota > legal_temp_result else total_annual_quota\n result = legal_temp_result\n# \u5982\u679c\u5165\u804c\u65e5\u671f\u5728\u533a\u95f4\u7ed3\u675f\u65f6\u95f4\u4e4b\u540e\u6216\u8005\u5458\u5de5\u7c7b\u578b\u662f\u5185\u90e8\u9000\u4f11\u8fd4\u8058\uff0c\u5219\u4e0d\u53d1\u5047\nif employee_hire_date > period_end_date or employee.employee_type_rep.code in [\'5\',\'4\']:\n result = []\n\nif result:\n # \u7cbe\u5ea6\u5904\u7406\n if rule.frequency == \'year\':\n result = precision_round(result, legal_precision, legal_round_rule)\n_logger.info("\\n######\\n\u6700\u7ec8\u989d\u5ea6\uff1a%s\\n#####\\n\\n\\n\\n\\n\\n" % str(result))\n' 2022-01-27 14:19:57,513 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - Handle Allot - Allot employee(18806) => Time Elasped: 171.045 msec. 2022-01-27 14:19:57,513 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 - Handle Allot => Time Elasped: 171.537 msec. 2022-01-27 14:19:57,513 47 DEBUG shpl openerp.addons.hr_holiday_management.utils.timing_tool:28: 发假 => Time Elasped: 4195.672 msec. 2022-01-27 14:19:57,514 47 INFO shpl openerp.addons.patch_web.controllers.main:884: >>> User(1) call holiday.allot.handler handler_allot_btn(args=([[267], {u'lang': u'zh_CN', u'tz': u'Asia/Shanghai', u'uid': 1, u'active_model': u'hr.holiday.package', u'readonly_bypass': True, u'show_inactive': True, u'params': {u'action': u'5d9ab7fb-f340-4a60-aeb2-03baf9573d09'}, u'search_disable_custom_filters': True, u'active_ids': [10], u'active_id': 10}]), kwargs={}) failed cost 4.21182394028(s) Response: Traceback (most recent call last): File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 461, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn self.env['hr.employee'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot employee_holiday_type_dict=employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details holiday_type_ids=holiday_type_ids) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule raise UserError(_("The \"%s\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name) UserError: “年休假”发假规则配置出错,请检查对应的发假编码。 2022-01-27 14:19:57,514 47 INFO shpl openerp.addons.patch_base.http:83: http://hryl.shpl.com.cn/web/dataset/call_button 220127-141957514335-exception: {'name': 'openerp.exceptions.UserError', 'snno': '220127-141957514335', 'exception_type': 'user_error', 'arguments': [u'\u201c\u5e74\u4f11\u5047\u201d\u53d1\u5047\u89c4\u5219\u914d\u7f6e\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5\u5bf9\u5e94\u7684\u53d1\u5047\u7f16\u7801\u3002'], 'debug': 'Traceback (most recent call last):\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 260, in _handle_exception\n return super(JsonRequest, self)._handle_exception(exception)\n File "./odoo/openerp/http.py", line 681, in dispatch\n result = self._call_function(**self.params)\n File "./odoo/openerp/http.py", line 316, in _call_function\n return checked_call(self.db, *args, **kwargs)\n File "./odoo/openerp/service/model.py", line 118, in wrapper\n return f(dbname, *args, **kwargs)\n File "./odoo/openerp/http.py", line 309, in checked_call\n result = self.endpoint(*a, **kw)\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__\n return self.method(*args, **kw)\n File "./odoo/openerp/http.py", line 509, in response_wrap\n response = f(*args, **kw)\n File "/opt/shpl/ehr-odoo/odoo/addons/web/controllers/main.py", line 896, in call_button\n action = self._call_kw(model, method, args, {})\n File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw\n res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs)\n File "./odoo/openerp/api.py", line 330, in wrapper\n return old_api(self, *args, **kwargs)\n File "./odoo/openerp/api.py", line 461, in old_api\n result = method(recs, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn\n self.env[\'hr.employee\'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot\n employee_holiday_type_dict=employee_holiday_type_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot\n employee_holiday_type_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details\n holiday_type_ids=holiday_type_ids)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday\n allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function\n result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule\n return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule\n return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule\n return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions)\n File "./odoo/openerp/api.py", line 328, in wrapper\n return new_api(self, *args, **kwargs)\n File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule\n raise UserError(_("The \\"%s\\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name)\nUserError: \xe2\x80\x9c\xe5\xb9\xb4\xe4\xbc\x91\xe5\x81\x87\xe2\x80\x9d\xe5\x8f\x91\xe5\x81\x87\xe8\xa7\x84\xe5\x88\x99\xe9\x85\x8d\xe7\xbd\xae\xe5\x87\xba\xe9\x94\x99\xef\xbc\x8c\xe8\xaf\xb7\xe6\xa3\x80\xe6\x9f\xa5\xe5\xaf\xb9\xe5\xba\x94\xe7\x9a\x84\xe5\x8f\x91\xe5\x81\x87\xe7\xbc\x96\xe7\xa0\x81\xe3\x80\x82\n', 'message': u'\u201c\u5e74\u4f11\u5047\u201d\u53d1\u5047\u89c4\u5219\u914d\u7f6e\u51fa\u9519\uff0c\u8bf7\u68c0\u67e5\u5bf9\u5e94\u7684\u53d1\u5047\u7f16\u7801\u3002'} 2022-01-27 14:19:57,515 47 WARNING shpl openerp.addons.patch_base.http:84: 220127-141957514335-traceback: Traceback (most recent call last): File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 260, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "./odoo/openerp/http.py", line 681, in dispatch result = self._call_function(**self.params) File "./odoo/openerp/http.py", line 316, in _call_function return checked_call(self.db, *args, **kwargs) File "./odoo/openerp/service/model.py", line 118, in wrapper return f(dbname, *args, **kwargs) File "./odoo/openerp/http.py", line 309, in checked_call result = self.endpoint(*a, **kw) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_base/http.py", line 186, in __call__ return self.method(*args, **kw) File "./odoo/openerp/http.py", line 509, in response_wrap response = f(*args, **kw) File "/opt/shpl/ehr-odoo/odoo/addons/web/controllers/main.py", line 896, in call_button action = self._call_kw(model, method, args, {}) File "/opt/shpl/ehr-odoo/base_addons/addons/patch_web/controllers/main.py", line 862, in _call_kw res = getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "./odoo/openerp/api.py", line 330, in wrapper return old_api(self, *args, **kwargs) File "./odoo/openerp/api.py", line 461, in old_api result = method(recs, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/wizard/scheduler_holiday_handler.py", line 23, in handler_allot_btn self.env['hr.employee'].suspend_security().holiday_allot(self.employee_ids, period=period, employee_holiday_type_dict=employee_holiday_type_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/hr_employee.py", line 373, in holiday_allot employee_holiday_type_dict=employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 614, in handler_allot employee_holiday_type_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 586, in get_allot_details holiday_type_ids=holiday_type_ids) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 427, in calculate_holiday allot_dict = self.read_rules_function(employee, period, rule, leave_date=leave_date, adjust_dict=adjust_dict) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 564, in read_rules_function result = self.allot_rule(employee, current_period, rule, leave_date, functions=functions, adjust_dict=adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/custom_addons/addons/shpl_custom/models/holiday_leave.py", line 248, in allot_rule return super(HrHolidayAllotRule, self).allot_rule(employee, current_period, rule, leave_date, functions, adjust_dict) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 721, in allot_rule return self.annual_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 749, in annual_allot_rule return self.advanced_allot_rule(employee, current_period, rule, leave_date=leave_date, functions=functions) File "./odoo/openerp/api.py", line 328, in wrapper return new_api(self, *args, **kwargs) File "/opt/shpl/ehr-odoo/ehr_addons/addons/hr_holiday_management/holiday_rules/hr_holiday_allot_rule.py", line 1445, in advanced_allot_rule raise UserError(_("The \"%s\" generation rule configure error, please check the python code.") % rule.holiday_type_id.name) UserError: “年休假”发假规则配置出错,请检查对应的发假编码。 2022-01-27 14:19:57,516 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:57] "POST /web/dataset/call_button HTTP/1.1" 200 - 2022-01-27 14:19:57,612 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:57] "POST /web/dataset/call_kw/holiday.allot.handler/search_read HTTP/1.1" 200 - 2022-01-27 14:19:57,661 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:57] "POST /web/dataset/call_kw/hr.holiday.type/read HTTP/1.1" 200 - 2022-01-27 14:19:58,031 47 INFO shpl werkzeug:87: 116.232.40.21 - - [27/Jan/2022 14:19:58] "POST /web/dataset/call_kw/hr.employee/read HTTP/1.1" 200 - 2022-01-27 14:20:43,000 44 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:43] "GET /qywx/index/shpl/1000019?redirect=/appwx/index?appid=1000019&code=x8LHzq0FnK2qPOp8CLmmSTXdwJeInoE-57DKrQb5lXU&state=shpl HTTP/1.0" 200 - 2022-01-27 14:20:45,388 44 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:45] "GET /api/Tools/encryption HTTP/1.0" 404 - 2022-01-27 14:20:45,706 46 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:45] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:20:45,719 44 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(18015) 117.136.119.45 call /mjson/login_config POST [log(1427092)] cost 22.5179195404(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "fdecf22f57294c4e8ffc1c778a400a96", "session_id": "ba6cfff0f513223d4e3015d2b516bd7cd527da4e", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:20:45,721 44 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:45] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:20:45,737 47 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(18015) 117.136.119.45 call /mjson/app.translate/get_app_translate POST [log(1427093)] cost 41.1939620972(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "fdecf22f57294c4e8ffc1c778a400a96", "session_id": "ba6cfff0f513223d4e3015d2b516bd7cd527da4e", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:20:45,739 47 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:45] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:20:45,790 47 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:20:45] "GET /favicon.ico HTTP/1.0" 404 - 2022-01-27 14:21:09,440 47 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:09] "GET /qywx/index/shpl/1000019?redirect=/appwx/index?appid=1000019&code=5oqy-NFuVSNdKaBTPwFmPOoGL9kvxbZXxEqKaSpdtJs&state=shpl HTTP/1.0" 200 - 2022-01-27 14:21:10,208 45 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:10] "GET /api/Tools/encryption HTTP/1.0" 404 - 2022-01-27 14:21:10,530 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(18015) 117.136.119.45 call /mjson/app.translate/get_app_translate POST [log(1427094)] cost 50.4760742188(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "21ce9b5aa37044aea2b08280bfbc4716", "session_id": "ee6fc3574923013ca1fbdddf8d4fa6337ba8cd0a", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:21:10,532 45 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:10] "POST /mjson/app.translate/get_app_translate HTTP/1.1" 200 - 2022-01-27 14:21:10,657 47 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:10] "GET /qywx/jsloader?apilist=chooseImage,previewImage,uploadImage,getLocalImgData,getLocation,scanQRCode,hideMenuItems,hideAllNonBaseMenuItem,closeWindow,hideOptionMenu,showOptionMenu HTTP/1.0" 200 - 2022-01-27 14:21:10,665 45 INFO shpl openerp.addons.eroad_request_log.dispatch:96: >>> User(18015) 117.136.119.45 call /mjson/login_config POST [log(1427095)] cost 18.3157920837(ms) Request Data: {"identication": {"info": {"systemModel": "PC", "systemVersion": "9.1"}, "language": "zh_CN", "linkid": "21ce9b5aa37044aea2b08280bfbc4716", "session_id": "ee6fc3574923013ca1fbdddf8d4fa6337ba8cd0a", "version": "2.4.0", "app_channel": "wx", "type": "session"}, "data": {}} Response: error_code:, error_type: , error_msg:, error_hint: error_log: 2022-01-27 14:21:10,667 45 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:10] "POST /mjson/login_config HTTP/1.1" 200 - 2022-01-27 14:21:11,023 45 INFO shpl werkzeug:87: 117.136.119.45 - - [27/Jan/2022 14:21:11] "GET /favicon.ico HTTP/1.0" 404 - 2022-01-27 14:21:30,552 46 INFO shpl werkzeug:87: 101.91.60.104 - - [27/Jan/2022 14:21:30] "GET /qywx/index/shpl/1000019?redirect=%2Fappwx%2Fnotification%2Fmap%3Fappid%3D1000019%26action%3DeHR%253A%252F%252Fholiday_approve_detail%253Fid%253D36983 HTTP/1.0" 200 -