diff --git a/sf_manufacturing/models/mrp_production.py b/sf_manufacturing/models/mrp_production.py
index 15a77160..70db2915 100644
--- a/sf_manufacturing/models/mrp_production.py
+++ b/sf_manufacturing/models/mrp_production.py
@@ -30,12 +30,12 @@ class MrpProduction(models.Model):
# ('completed', '已完工')
# ])
state = fields.Selection([
- ('draft', 'Draft'),
- ('confirmed', 'Confirmed'),
- ('progress', '待排程'),
- ('pending_cam', '待装夹'),
- ('pending_processing', '待加工'),
- ('pending_era_cam', '待解除装夹'),
+ ('draft', '待排程'),
+ ('confirmed', '待加工'),
+ ('progress', '加工中'),
+ # ('pending_cam', '待装夹'),
+ # ('pending_processing', '待加工'),
+ # ('pending_era_cam', '待解除装夹'),
('completed', '已完工'),
('to_close', 'To Close'),
('done', 'Done'),
@@ -113,18 +113,36 @@ class MrpProduction(models.Model):
production.state = 'progress'
# 新添加的状态逻辑
- if production.state == 'progress' and production.schedule_state == '已排' and production.process_state == '待装夹':
- # production.state = 'pending_processing'
- production.state = 'pending_cam'
- if production.state == 'progress' and production.schedule_state == '已排' and production.process_state == '待加工':
- # if production.state == 'pending_cam' and production.process_state == '待加工':
- production.state = 'pending_processing'
- elif production.state == 'progress' and production.process_state == '待解除装夹':
- production.state = 'pending_era_cam'
- elif production.state == 'progress' and production.process_state == '已完工':
- production.state = 'completed'
- elif production.state == 'progress' and production.work_order_state == '已完成':
- production.state = 'completed'
+ if production.state == 'to_close' and production.schedule_state == '未排':
+ production.state = 'draft'
+ elif production.state == 'to_close' and production.schedule_state == '已排':
+ production.state = 'confirmed'
+ # if production.schedule_state == '已完成':
+ # production.state = 'completed'
+ elif any(wo_state in ('progress', 'done') for wo_state in production.workorder_ids.mapped('state')):
+ production.state = 'progress'
+ elif production.product_uom_id and not float_is_zero(production.qty_producing,
+ precision_rounding=production.product_uom_id.rounding):
+ production.state = 'progress'
+ elif any(not float_is_zero(move.quantity_done,
+ precision_rounding=move.product_uom.rounding or move.product_id.uom_id.rounding)
+ for move in production.move_raw_ids):
+ production.state = 'progress'
+
+
+
+ # if production.state == 'progress' and production.schedule_state == '已排' and production.process_state == '待装夹':
+ # # production.state = 'pending_processing'
+ # production.state = 'pending_cam'
+ # if production.state == 'progress' and production.schedule_state == '已排' and production.process_state == '待加工':
+ # # if production.state == 'pending_cam' and production.process_state == '待加工':
+ # production.state = 'pending_processing'
+ # elif production.state == 'progress' and production.process_state == '待解除装夹':
+ # production.state = 'pending_era_cam'
+ # elif production.state == 'progress' and production.process_state == '已完工':
+ # production.state = 'completed'
+ # elif production.state == 'progress' and production.work_order_state == '已完成':
+ # production.state = 'completed'
def action_check(self):
"""
diff --git a/sf_manufacturing/views/mrp_production_addional_change.xml b/sf_manufacturing/views/mrp_production_addional_change.xml
index 58cdb2c4..e0cddf21 100644
--- a/sf_manufacturing/views/mrp_production_addional_change.xml
+++ b/sf_manufacturing/views/mrp_production_addional_change.xml
@@ -65,7 +65,7 @@
- progress,pending_cam,pending_processing,pending_era_cam,completed,done
+ draft,confirmed,progress,completed,done
diff --git a/sf_plan_management/i18n/zh_CN.po b/sf_plan_management/i18n/zh_CN.po
index ad119fc0..1c34bda6 100644
--- a/sf_plan_management/i18n/zh_CN.po
+++ b/sf_plan_management/i18n/zh_CN.po
@@ -114488,10 +114488,21 @@ msgid "径跳精度(mm)"
msgstr ""
#. module: sf_manufacturing
-#: model:ir.model.fields.selection,name:sf_manufacturing.selection__mrp_production__state__progress
+#: model:ir.model.fields.selection,name:sf_manufacturing.selection__mrp_production__state__draft
msgid "待排程"
msgstr "待排程"
+#. module: sf_manufacturing
+#: model:ir.model.fields.selection,name:sf_manufacturing.selection__mrp_production__process_state__待加工
+#: model:ir.model.fields.selection,name:sf_manufacturing.selection__mrp_production__state__confirmed
+msgid "待加工"
+msgstr "待加工"
+
+#. module: sf_manufacturing
+#: model:ir.model.fields.selection,name:sf_manufacturing.selection__mrp_production__state__progress
+msgid "待排程"
+msgstr "加工中"
+
#. module: sf_base
#: model:ir.model.fields,field_description:sf_base.field_sf_cutting_tool_model__jump_accuracy
msgid "径跳精度(um)"