Merge pull request !1146 from 李鹏宇/dev_zhou
This commit is contained in:
李鹏宇
2025-01-06 07:12:33 +00:00
committed by Gitee
11 changed files with 572 additions and 464 deletions
+199 -199
View File
@@ -1,205 +1,205 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- <data noupdate="1">-->
<!-- <record forcecreate="True" id="attendance_time_data" model="ir.cron">-->
<!-- <field name="name">定时任务:检查考勤是否异</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_remind()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_lc_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:粮库上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_remind_in()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 08:20:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_lc_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:粮储下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_remind_out()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 16:30:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_lc_shift_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:粮库值班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_shift_remind_in()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 07:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_lc_shift_remind_time" model="ir.cron">-->
<!-- <field name="name">定时任务:粮库值班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_shift_remind()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<data noupdate="1">
<record forcecreate="True" id="attendance_time_data" model="ir.cron">
<field name="name">定时任务:检查考勤是否异</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_remind()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_lc_remind_time_in" model="ir.cron">
<field name="name">定时任务:粮库上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_remind_in()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 08:20:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_lc_remind_time_out" model="ir.cron">
<field name="name">定时任务:粮储下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_remind_out()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 16:30:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_lc_shift_remind_time_in" model="ir.cron">
<field name="name">定时任务:粮库值班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_shift_remind_in()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 07:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_lc_shift_remind_time" model="ir.cron">
<field name="name">定时任务:粮库值班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_shift_remind()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- &lt;!&ndash;工程部打卡提醒&ndash;&gt;-->
<!-- <record forcecreate="True" id="card_gc_white_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部白班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_white_in_remind()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 07:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_gc_white_remind_time_shift" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部白班值班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_white_shift_remind()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 12:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_gc_white_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部白班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_white_out_remind()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 17:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_gc_night_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部中值夜班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_night_remind_in()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_gc_night_remind_time_shift" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部中值夜班值班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_night_remind_shift()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!--工程部打卡提醒-->
<record forcecreate="True" id="card_gc_white_remind_time_in" model="ir.cron">
<field name="name">定时任务:工程部白班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_white_in_remind()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 07:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_gc_white_remind_time_shift" model="ir.cron">
<field name="name">定时任务:工程部白班值班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_white_shift_remind()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 12:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_gc_white_remind_time_out" model="ir.cron">
<field name="name">定时任务:工程部白班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_white_out_remind()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 17:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_gc_night_remind_time_in" model="ir.cron">
<field name="name">定时任务:工程部中值夜班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_night_remind_in()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_gc_night_remind_time_shift" model="ir.cron">
<field name="name">定时任务:工程部中值夜班值班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_night_remind_shift()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- &lt;!&ndash; 保安部打卡提醒 &ndash;&gt;-->
<!-- <record forcecreate="True" id="card_ba_white_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部白班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_white_down()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 17:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_ba_mid_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部中班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_mid_up()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_ba_mid_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部中班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_mid_down()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_ba_night_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部夜班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_night_up()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 21:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- <record forcecreate="True" id="card_ba_night_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部夜班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_night_down()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 08:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- </data>-->
<!-- 保安部打卡提醒 -->
<record forcecreate="True" id="card_ba_white_remind_time_out" model="ir.cron">
<field name="name">定时任务:保安部白班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_white_down()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 17:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_ba_mid_remind_time_in" model="ir.cron">
<field name="name">定时任务:保安部中班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_mid_up()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 13:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_ba_mid_remind_time_out" model="ir.cron">
<field name="name">定时任务:保安部中班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_mid_down()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 22:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_ba_night_remind_time_in" model="ir.cron">
<field name="name">定时任务:保安部夜班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_night_up()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 21:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<record forcecreate="True" id="card_ba_night_remind_time_out" model="ir.cron">
<field name="name">定时任务:保安部夜班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_night_down()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 08:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
</data>
</odoo>
+41 -41
View File
@@ -1,46 +1,46 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- <data>-->
<!-- <record forcecreate="True" id="card_lc_shift_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:粮储值班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.card_lc_shift_remind_out()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 8:00:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<data>
<record forcecreate="True" id="card_lc_shift_remind_time_out" model="ir.cron">
<field name="name">定时任务:粮储值班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.card_lc_shift_remind_out()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 8:00:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- <record forcecreate="True" id="card_gc_night_remind_time_out" model="ir.cron">-->
<!-- <field name="name">定时任务:工程部中值夜班下班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.gc_night_remind_out()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 7:30:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<record forcecreate="True" id="card_gc_night_remind_time_out" model="ir.cron">
<field name="name">定时任务:工程部中值夜班下班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.gc_night_remind_out()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now() + timedelta(days=1)).strftime('%Y-%m-%d 7:30:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
<!-- <record forcecreate="True" id="card_ba_white_remind_time_in" model="ir.cron">-->
<!-- <field name="name">定时任务:保安部白班上班打卡提醒</field>-->
<!-- <field name="model_id" ref="model_hr_attendance"/>-->
<!-- <field name="state">code</field>-->
<!-- <field name="code">model.ba_card_white_up()</field>-->
<!-- <field eval="True" name="active"/>-->
<!-- <field name="user_id" ref="base.user_root"/>-->
<!-- <field name="interval_number">1</field>-->
<!-- <field name="interval_type">days</field>-->
<!-- <field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 7:50:00')"/>-->
<!-- <field name="numbercall">-1</field>-->
<!-- <field eval="False" name="doall"/>-->
<!-- </record>-->
<!-- </data>-->
<record forcecreate="True" id="card_ba_white_remind_time_in" model="ir.cron">
<field name="name">定时任务:保安部白班上班打卡提醒</field>
<field name="model_id" ref="model_hr_attendance"/>
<field name="state">code</field>
<field name="code">model.ba_card_white_up()</field>
<field eval="True" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="nextcall" eval="(DateTime.now()).strftime('%Y-%m-%d 7:50:00')"/>
<field name="numbercall">-1</field>
<field eval="False" name="doall"/>
</record>
</data>
</odoo>
+222 -222
View File
@@ -191,228 +191,228 @@ class HrAttendance(models.Model):
title="打卡异常提醒", description="异常提醒",
url=str, btntxt="详细信息")
# # 保安部 - 白班
# def ba_card_white_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def ba_card_white_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 保安部 - 中班
# def ba_card_mid_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def ba_card_mid_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 保安部 - 夜班
# def ba_card_night_up(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def ba_card_night_down(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
# for user in ba_up_users:
# if user.end_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 工程部 - 白班 白值
# def gc_white_in_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id,user.template_id.planning_name)
#
# def gc_white_shift_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_duty_remind(user.resource_id.employee_id)
#
# def gc_white_out_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 工程部-中值夜
# def gc_night_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def gc_night_remind_shift(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# if user.end_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_duty_remind(user.resource_id.employee_id)
#
# def gc_night_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
# for user in ba_up_users:
# if user.end_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 粮储-白班
# def card_lc_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def card_lc_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time':datetime.now(),
# 'shift':user.template_id.planning_name,
# 'department': user.department_id.name,})
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# # 粮储-值班
# def card_lc_shift_remind_in(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def card_lc_shift_remind(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_duty_remind(user.resource_id.employee_id)
#
# def card_lc_shift_remind_out(self):
# ba_up_users = self.env['planning.slot'].search(
# [('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
# for user in ba_up_users:
# if user.start_datetime.date() == fields.date.today():
# self.env['card.remind.form'].create({
# 'name': user.resource_id.employee_id.name,
# 'start_time': datetime.now(),
# 'shift': user.template_id.planning_name,
# 'department': user.department_id.name, })
# self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
#
# def card_in_comment(self, employee_id, planning_name):
# data = f"您的班次是{planning_name},还有10分钟上班,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
#
# def card_out_comment(self, employee_id,planning_name):
# data = f"您的班次是{planning_name},您该下班了,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
#
# def card_duty_remind(self, employee_id):
# data = "今天您值班,记得打卡"
# self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
# 保安部 - 白班
def ba_card_white_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_white_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 中班
def ba_card_mid_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_mid_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '中班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 保安部 - 夜班
def ba_card_night_up(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def ba_card_night_down(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '保安部'), ('template_id.planning_name', '=', '夜班')])
for user in ba_up_users:
if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部 - 白班 白值
def gc_white_in_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id,user.template_id.planning_name)
def gc_white_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def gc_white_out_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', 'in', ['白班', '白值'])])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 工程部-中值夜
def gc_night_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def gc_night_remind_shift(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def gc_night_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '工程部'), ('template_id.planning_name', '=', '中夜')])
for user in ba_up_users:
if user.end_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 粮储-白班
def card_lc_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白班')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time':datetime.now(),
'shift':user.template_id.planning_name,
'department': user.department_id.name,})
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
# 粮储-值班
def card_lc_shift_remind_in(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_in_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_lc_shift_remind(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_duty_remind(user.resource_id.employee_id)
def card_lc_shift_remind_out(self):
ba_up_users = self.env['planning.slot'].search(
[('role_id.name', '=', '联安粮库'), ('template_id.planning_name', '=', '白值')])
for user in ba_up_users:
if user.start_datetime.date() == fields.date.today():
self.env['card.remind.form'].create({
'name': user.resource_id.employee_id.name,
'start_time': datetime.now(),
'shift': user.template_id.planning_name,
'department': user.department_id.name, })
self.card_out_comment(user.resource_id.employee_id,user.template_id.planning_name)
def card_in_comment(self, employee_id, planning_name):
data = f"您的班次是{planning_name},还有10分钟上班,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
def card_out_comment(self, employee_id,planning_name):
data = f"您的班次是{planning_name},您该下班了,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
def card_duty_remind(self, employee_id):
data = "今天您值班,记得打卡"
self.sudo().env["wecom.apps"].sync_send_message(category='att', user_id=employee_id.wecom_userid, message=data)
# @api.depends('employee_id')
# def compute_shift_id(self):
@@ -23,6 +23,12 @@
groups="group_he_attendance_user"
action="hr_attendance_action1"
sequence="1"/>
<menuitem id="menu_hr_attendance_ce_record"
name="考勤提醒表单"
parent="hr_attendance_root_board"
groups="group_he_attendance_user"
action="view_action_card_remind"
sequence="1"/>
<menuitem id="menu_hr_attendance_is_abnormal_board"
name="我的异常"
parent="hr_attendance_root_board"
+1
View File
@@ -47,6 +47,7 @@
'views/property_other_list_views.xml',
'views/property_meter_reading_views.xml',
'wizard/yuthon_property_wizard_views.xml',
'wizard/property_meter_wizard_views.xml',
'views/menuitem.xml',
],
'assets': {
@@ -51,3 +51,12 @@ class PropertyMeterArchives(models.Model):
'property_meter_archives_id':self.id.origin,
}))
property_id.energy_meter_ids = meter_list
def action_property_meter_wizard(self):
return {
"type": "ir.actions.act_window",
"name": "批量导入物业电表",
"res_model": "property.meter.wizard",
"view_mode": "form",
"target": "new",
}
+2 -1
View File
@@ -53,4 +53,5 @@ access_yuthon_electricity_setting,yuthon_electricity_setting,model_yuthon_electr
access_yuthon_water_setting,yuthon_water_setting,model_yuthon_water_setting,base.group_user,1,1,1,1
access_yuthon_lot_setting,yuthon_lot_setting,model_yuthon_lot_setting,base.group_user,1,1,1,1
access_yuthon_property_wizard,yuthon_property_wizard,model_yuthon_property_wizard,base.group_user,1,1,1,1
access_yuthon_property_company,yuthon_property_company,model_yuthon_property_company,base.group_user,1,1,1,1
access_yuthon_property_company,yuthon_property_company,model_yuthon_property_company,base.group_user,1,1,1,1
access_property_meter_wizard,property_meter_wizard,model_property_meter_wizard,base.group_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
53 access_yuthon_water_setting yuthon_water_setting model_yuthon_water_setting base.group_user 1 1 1 1
54 access_yuthon_lot_setting yuthon_lot_setting model_yuthon_lot_setting base.group_user 1 1 1 1
55 access_yuthon_property_wizard yuthon_property_wizard model_yuthon_property_wizard base.group_user 1 1 1 1
56 access_yuthon_property_company yuthon_property_company model_yuthon_property_company base.group_user 1 1 1 1
57 access_property_meter_wizard property_meter_wizard model_property_meter_wizard base.group_user 1 1 1 1
@@ -78,4 +78,11 @@
<field name="res_model">property.meter.archives</field>
<field name="view_mode">tree,form</field>
</record>
<record id="all_data_meter_property" model="ir.actions.server">
<field name="name">导入电表</field>
<field name="model_id" ref="yuthon_property.model_property_meter_archives"/>
<field name="binding_model_id" ref="yuthon_property.model_property_meter_archives"/>
<field name="state">code</field>
<field name="code">action = model.action_property_meter_wizard()</field>
</record>
</odoo>
+2 -1
View File
@@ -1 +1,2 @@
from . import yuthon_property_wizard
from . import yuthon_property_wizard
from . import property_meter_wizard
@@ -0,0 +1,49 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _, SUPERUSER_ID
from odoo.exceptions import ValidationError, UserError
from pypinyin import pinyin, Style
import xlrd
import base64
import datetime
from datetime import datetime
class PropertyMeterWizard(models.Model):
_name = 'property.meter.wizard'
excel_file = fields.Binary(string="上传Excel表")
excel_name = fields.Char(string="文件名")
def confirm(self):
"""
导入excel文件,按行读取数据并处理
"""
if not self.excel_file:
raise ValidationError('请上传文件。')
book = xlrd.open_workbook(file_contents=base64.decodebytes(self.excel_file))
sh = book.sheet_by_index(0)
for rx in range(1, sh.nrows):
row = sh.row(rx)
self.property_meter_data(row)
def property_meter_data(self,row):
name = row[0].value
unit_number = row[1].value
property_id = self.env['yuthon.property'].search([('name', '=', row[2].value)])
meter_list = []
type_dict = {'公共':'public', '收费':'fees', '':''}
type = type_dict.get(row[3].value)
meter_data = {
'name': name,
'unit_number': unit_number,
'type': type
}
meter_id = self.env['property.meter.archives'].create(meter_data)
if property_id:
meter_list.append((0, 0, {
'property_meter_archives_id': meter_id.id,
}))
property_id.write({
'is_electricity_meter' : True,
})
property_id.energy_meter_ids = meter_list
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="property_meter_template_downloads_tian_he_action" model="ir.actions.act_url">
<field name="name">电仪表模板 下载</field>
<field name="target">self</field>
<field name="url">.</field>
</record>
<record id="property_meter_wizard_form" model="ir.ui.view">
<field name="name">审批意见弹窗</field>
<field name="model">property.meter.wizard</field>
<field name="arch" type="xml">
<form>
<sheet>
<header>
<button name="%(property_meter_template_downloads_tian_he_action)d" string="模板下载" type="action"
class="btn btn-primary"/>
</header>
<group>
<group>
<field name="excel_file" filename="excel_name"/>
<field name="excel_name" invisible="1"/>
</group>
<group>
</group>
</group>
</sheet>
<footer>
<button name="confirm" string="确认" type="object" class="oe_highlight"/>
<button string="返回" class="btn-secondary" special="cancel"/>
</footer>
</form>
</field>
</record>
</odoo>