Accept Merge Request #797: (feature/修复工件配送及权限 -> develop)
Merge Request: 修复工件配送及权限 Created By: @杨金灵 Reviewed By: @马广威 Approved By: @马广威 Accepted By: @杨金灵 URL: https://jikimo-hn.coding.net/p/jikimo_sfs/d/jikimo_sf/git/merge/797?initial=true
This commit is contained in:
@@ -61,6 +61,7 @@ access_sf_cutting_speed,sf_cutting_speed,model_sf_cutting_speed,base.group_user,
|
||||
access_sf_cutting_speed_admin,sf_cutting_speed_admin,model_sf_cutting_speed,base.group_system,1,1,1,0
|
||||
access_sf_cutting_speed_group_purchase_director,sf_cutting_speed_group_purchase_director,model_sf_cutting_speed,sf_base.group_purchase_director,1,1,1,0
|
||||
access_sf_cutting_speed_group_sale_director,sf_cutting_speed_group_sale_director,model_sf_cutting_speed,sf_base.group_sale_director,1,1,1,0
|
||||
access_sf_cutting_speed_group_plan_director,sf_cutting_speed_group_plan_director,model_sf_cutting_speed,sf_base.group_plan_director,1,1,1,0
|
||||
access_sf_feed_per_tooth,sf_feed_per_tooth,model_sf_feed_per_tooth,base.group_user,1,1,1,0
|
||||
access_sf_feed_per_tooth_admin,sf_feed_per_tooth_admin,model_sf_feed_per_tooth,base.group_system,1,1,1,0
|
||||
access_sf_ramping_angle,sf_ramping_angle,model_sf_ramping_angle,base.group_user,1,1,1,1
|
||||
|
||||
|
@@ -132,7 +132,7 @@ class ResMrpWorkOrder(models.Model):
|
||||
production_line = fields.Char(string="生产线")
|
||||
preset_program_information = fields.Char(string="预调程序信息")
|
||||
workpiece_delivery_ids = fields.One2many('sf.workpiece.delivery', 'workorder_id', '工件配送')
|
||||
is_delivery = fields.Boolean('是否配送完成',default=False)
|
||||
is_delivery = fields.Boolean('是否配送完成', default=False)
|
||||
|
||||
@api.onchange('is_ok')
|
||||
def _onchange_inspection_user_id(self):
|
||||
@@ -197,25 +197,19 @@ class ResMrpWorkOrder(models.Model):
|
||||
work = workorder.production_id.workorder_ids
|
||||
work.compensation_value_x = eval(self.material_center_point)[0]
|
||||
work.compensation_value_y = eval(self.material_center_point)[1]
|
||||
workorder.workpiece_delivery_ids[0].write({
|
||||
'status': '待下发'
|
||||
})
|
||||
workorder.button_finish()
|
||||
except:
|
||||
raise UserError("参数计算有误")
|
||||
|
||||
def button_workpiece_delivery(self):
|
||||
if self.routing_type == '装夹预调':
|
||||
if not self.workpiece_delivery_ids:
|
||||
raise UserError('请添加【工件配送】信息')
|
||||
else:
|
||||
for item in self.workpiece_delivery_ids:
|
||||
if not item.feeder_station_start:
|
||||
raise UserError('【工件配送】明细中请输入起点接驳站')
|
||||
if not item.workpiece_code:
|
||||
raise UserError('请对【同运工件】进行扫描')
|
||||
else:
|
||||
item.write({'task_delivery_time': fields.Datetime.now(), 'status': '待配送'})
|
||||
for item in self.workpiece_delivery_ids:
|
||||
if not item.feeder_station_start:
|
||||
raise UserError('【工件配送】明细中请输入起点接驳站')
|
||||
# if not item.workpiece_code:
|
||||
# raise UserError('请对【同运工件】进行扫描')
|
||||
else:
|
||||
item.write({'task_delivery_time': fields.Datetime.now(), 'status': '待配送'})
|
||||
|
||||
# 拼接工单对象属性值
|
||||
def json_workorder_str(self, k, production, route):
|
||||
@@ -760,6 +754,13 @@ class SfWorkOrderBarcodes(models.Model):
|
||||
'tray_model_id': stock_move_line.product_id.fixture_model_id.id
|
||||
})
|
||||
workorder.button_start()
|
||||
# return {
|
||||
# 'type': 'ir.actions.act_window',
|
||||
# 'res_model': 'mrp.workorder',
|
||||
# 'view_mode': 'form',
|
||||
# 'domain': [('id', 'in', workorder.id)],
|
||||
# 'target': 'current'
|
||||
# }
|
||||
else:
|
||||
embryo_stock_lot = self.env['stock.lot'].search([('name', '=', barcode)])
|
||||
if embryo_stock_lot:
|
||||
@@ -769,16 +770,20 @@ class SfWorkOrderBarcodes(models.Model):
|
||||
('lot_id', '=', embryo_stock_lot.id),
|
||||
('product_category_name', '=', '坯料')])
|
||||
if embryo_stock_move_line:
|
||||
bom_production = self.env['mrp.production'].search(
|
||||
[('product_id', '=', embryo_stock_lot.product_id.id),
|
||||
('origin', '=', workorder.production_id.name)], limit=1, order='id asc')
|
||||
workpiece_delivery = self.env['sf.workpiece.delivery'].search(
|
||||
[('workorder_id', '=', workorder.id)], limit=1, order='id asc')
|
||||
if workpiece_delivery:
|
||||
embryo_workpiece_code = workpiece_delivery.workpiece_code
|
||||
if workpiece_delivery.workpiece_code and embryo_stock_lot.name not in \
|
||||
workpiece_delivery.workpiece_code:
|
||||
embryo_workpiece_code = workpiece_delivery.workpiece_code + ',' + \
|
||||
embryo_stock_lot.name
|
||||
if not workpiece_delivery.workpiece_code:
|
||||
embryo_workpiece_code = embryo_stock_lot.name
|
||||
if bom_production:
|
||||
if workpiece_delivery.workpiece_code and bom_production.name not in \
|
||||
workpiece_delivery.workpiece_code:
|
||||
embryo_workpiece_code = workpiece_delivery.workpiece_code + ',' + \
|
||||
bom_production.name
|
||||
if not workpiece_delivery.workpiece_code:
|
||||
embryo_workpiece_code = bom_production.name
|
||||
workpiece_delivery.write({'workpiece_code': embryo_workpiece_code})
|
||||
else:
|
||||
raise UserError('工件生产线不一致,请重新确认')
|
||||
@@ -799,7 +804,7 @@ class WorkPieceDelivery(models.Model):
|
||||
feeder_station_destination = fields.Char('目的接驳站')
|
||||
task_delivery_time = fields.Datetime('任务下发时间')
|
||||
task_completion_time = fields.Datetime('任务完成时间')
|
||||
delivery_time = fields.Char('配送时长', compute='_compute_delivery_time')
|
||||
delivery_duration = fields.Float('配送时长', compute='_compute_delivery_duration')
|
||||
status = fields.Selection(
|
||||
[('待下发', '待下发'), ('待配送', '待配送'), ('已配送', '已配送')], string='状态',
|
||||
default='待下发')
|
||||
@@ -830,14 +835,10 @@ class WorkPieceDelivery(models.Model):
|
||||
self.plan_start_processing_time = self.production_id.plan_start_processing_time
|
||||
|
||||
@api.depends('task_delivery_time', 'task_completion_time')
|
||||
def _compute_delivery_time(self):
|
||||
def _compute_delivery_duration(self):
|
||||
for obj in self:
|
||||
if obj.task_delivery_time and obj.task_completion_time:
|
||||
delivery_duration = obj.task_completion_time - obj.task_delivery_time
|
||||
hours, seconds = divmod(delivery_duration.total_seconds(), 3600)
|
||||
minutes, _ = divmod(seconds, 60)
|
||||
delivery_time_str = "{:.0f}时 {:.0f}分".format(hours, minutes)
|
||||
|
||||
obj.delivery_time = delivery_time_str
|
||||
obj.delivery_duration = round(
|
||||
(obj.task_completion_time - obj.task_delivery_time).total_seconds() / 60.0, 2)
|
||||
else:
|
||||
obj.delivery_time = ''
|
||||
obj.delivery_duration = 0.0
|
||||
|
||||
@@ -22,10 +22,10 @@ access_mrp_workcenter,mrp_workcenter,model_mrp_workcenter,sf_base.group_sf_mrp_u
|
||||
access_mrp_workcenter_manager,mrp_workcenter,model_mrp_workcenter,sf_base.group_sf_mrp_manager,1,1,1,0
|
||||
access_mrp_workcenter_productivity,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_user,1,0,0,0
|
||||
access_mrp_workcenter_productivity_manager,mrp_workcenter_productivity,model_mrp_workcenter_productivity,sf_base.group_sf_mrp_manager,1,1,1,0
|
||||
access_sf_workpiece_delivery,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_user,1,0,0,0
|
||||
access_sf_workpiece_delivery_group_sf_order_user,sf_workpiece_delivery_group_sf_order_user,model_sf_workpiece_delivery,sf_base.group_sf_order_user,1,1,0,0
|
||||
access_sf_workpiece_delivery_manager,sf_workpiece_delivery,model_sf_workpiece_delivery,sf_base.group_sf_mrp_manager,1,1,0,0
|
||||
access_sf_workpiece_delivery_admin,sf_workpiece_delivery_admin,model_sf_workpiece_delivery,base.group_system,1,1,1,0
|
||||
access_sf_workpiece_delivery_wizard,sf_workpiece_delivery_wizard,model_sf_workpiece_delivery_wizard,sf_base.group_sf_order_user,1,1,1,0
|
||||
access_sf_workpiece_delivery_wizard_group_sf_order_user,sf_workpiece_delivery_wizard_group_sf_order_user,model_sf_workpiece_delivery_wizard,sf_base.group_sf_order_user,1,1,1,0
|
||||
access_mrp_workcenter_productivity_loss_manager,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,1,1,0
|
||||
access_mrp_workcenter_productivity_loss,mrp.workcenter.productivity.loss,mrp.model_mrp_workcenter_productivity_loss,sf_base.group_sf_mrp_user,1,0,0,0
|
||||
access_mrp_workcenter_productivity_loss_type,mrp.workcenter.productivity.loss.type,mrp.model_mrp_workcenter_productivity_loss_type,sf_base.group_sf_mrp_user,1,0,0,0
|
||||
|
||||
|
@@ -124,8 +124,8 @@
|
||||
context="{'default_workcenter_id': workcenter_id}" class="btn-danger"
|
||||
groups="sf_base.group_sf_mrp_user"
|
||||
attrs="{'invisible': ['|', '|', ('production_state', 'in', ('draft', 'done', 'cancel')), ('working_state', '!=', 'blocked'),('state','=','done')]}"/>
|
||||
<button name="button_workpiece_delivery" type="object" string="工件配送"
|
||||
attrs="{'invisible': ['|',('routing_type','!=','装夹预调'),('is_delivery','=',true)]}"/>
|
||||
<button name="button_workpiece_delivery" type="object" string="工件配送" class="btn-primary"
|
||||
attrs="{'invisible': ['|',('routing_type','!=','装夹预调'),('is_delivery','=',True)]}"/>
|
||||
|
||||
</xpath>
|
||||
<xpath expr="//page[1]" position="before">
|
||||
@@ -412,8 +412,8 @@
|
||||
<field name="feeder_station_start" force_save="1"/>
|
||||
<field name="feeder_station_destination"/>
|
||||
<field name="production_line_id"/>
|
||||
<field name="task_delivery_time"/>
|
||||
<field name="task_completion_time"/>
|
||||
<field name="task_delivery_time" readonly="1"/>
|
||||
<field name="task_completion_time" readonly="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
@@ -525,14 +525,14 @@
|
||||
decoration-success="status == '已配送'"
|
||||
decoration-warning="status == '待下发'"
|
||||
decoration-danger="status == '待配送'"/>
|
||||
<field name="production_id"/>
|
||||
<field name="production_id" string="工件编码"/>
|
||||
<field name="workpiece_code"/>
|
||||
<field name="production_line_id"/>
|
||||
<field name="feeder_station_start"/>
|
||||
<field name="feeder_station_destination"/>
|
||||
<field name="task_delivery_time"/>
|
||||
<field name="task_completion_time"/>
|
||||
<field name="delivery_time"/>
|
||||
<field name="delivery_duration" widget="float_time"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -549,7 +549,7 @@
|
||||
<field name="task_delivery_time"/>
|
||||
<field name="feeder_station_destination"/>
|
||||
<field name="task_completion_time"/>
|
||||
<field name="delivery_time"/>
|
||||
<field name="delivery_duration"/>
|
||||
<field name="status"/>
|
||||
<searchpanel>
|
||||
<field name="production_line_id" icon="fa-building" enable_counters="1"/>
|
||||
|
||||
@@ -34,8 +34,8 @@ class ResConfigSettings(models.TransientModel):
|
||||
_logger.info("同步资源库表面工艺类别完成")
|
||||
self.env['sf.production.process'].sync_all_production_process()
|
||||
_logger.info("同步资源库表面工艺完成")
|
||||
# self.env['sf.processing.technology'].sync_all_processing_technology()
|
||||
# _logger.info("同步资源库加工工艺")
|
||||
self.env['sf.processing.technology'].sync_all_processing_technology()
|
||||
_logger.info("同步资源库加工工艺")
|
||||
self.env['sf.machine.brand.tags'].sync_all_machine_brand_tags()
|
||||
_logger.info("同步资源库品牌类别完成")
|
||||
self.env['sf.machine.brand'].sync_all_machine_brand()
|
||||
@@ -45,23 +45,23 @@ class ResConfigSettings(models.TransientModel):
|
||||
self.env['sf.machine_tool.category'].sync_all_machine_tool_category()
|
||||
_logger.info("同步资源库机床类型完成")
|
||||
self.env['sf.production.process.parameter'].sync_all_production_process_parameter()
|
||||
_logger.info("同步刀具物料完成")
|
||||
_logger.info("同步材料型号可选参数完成")
|
||||
self.env['sf.cutting.tool.material'].sync_all_cutting_tool_material()
|
||||
_logger.info("同步刀具类型完成")
|
||||
_logger.info("同步刀具物料完成")
|
||||
self.env['sf.cutting.tool.type'].sync_all_tool_type()
|
||||
_logger.info("同步功能刀具类型完成")
|
||||
_logger.info("同步刀具类型完成")
|
||||
self.env['sf.functional.cutting.tool.model'].sync_all_functional_cutting_tool_model()
|
||||
_logger.info("同步夹具物料完成")
|
||||
_logger.info("同步功能刀具类型完成")
|
||||
self.env['sf.fixture.material'].sync_all_fixture_material()
|
||||
_logger.info("同步联装类型完成")
|
||||
_logger.info("同步夹具物料完成")
|
||||
self.env['sf.multi_mounting.type'].sync_all_multi_mounting_type()
|
||||
_logger.info("同步夹具型号完成")
|
||||
_logger.info("同步联装类型完成")
|
||||
self.env['sf.fixture.model'].sync_all_fixture_model()
|
||||
_logger.info("同步夹具型号类型完成")
|
||||
_logger.info("同步夹具型号完成")
|
||||
self.env['sf.functional.fixture.type'].sync_all_functional_fixture_type()
|
||||
_logger.info("同步功能夹具类型完成")
|
||||
_logger.info("同步夹具型号类型完成")
|
||||
self.env['sf.machine_tool.type'].sync_all_machine_tool_type()
|
||||
_logger.info("同步资源库机床型号完成")
|
||||
_logger.info("同步功能夹具类型完成")
|
||||
self.env['maintenance.equipment.image'].sync_all_maintenance_equipment_image()
|
||||
_logger.info("同步能力特征库完成")
|
||||
self.env['sf.cutting_tool.standard.library'].sync_all_cutting_tool_standard_library()
|
||||
|
||||
@@ -92,7 +92,8 @@ class sfProductionMaterials(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_materials_yesterday_list']:
|
||||
if item:
|
||||
materials = self.search([("materials_no", '=', item['materials_no'])])
|
||||
materials = self.search(
|
||||
[("materials_no", '=', item['materials_no'], ('active', 'in', [True, False]))])
|
||||
if materials:
|
||||
materials.name = item['name']
|
||||
materials.remark = item['remark']
|
||||
@@ -118,7 +119,8 @@ class sfProductionMaterials(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_materials_all_list']:
|
||||
if item:
|
||||
materials = self.search([("materials_no", '=', item['materials_no'])])
|
||||
materials = self.search(
|
||||
[("materials_no", '=', item['materials_no']), ('active', 'in', [True, False])])
|
||||
if not materials:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -150,7 +152,8 @@ class sfMaterialModel(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['materials_model_yesterday_list']:
|
||||
if item:
|
||||
materials_model = self.search([("materials_no", '=', item['materials_no'])])
|
||||
materials_model = self.search(
|
||||
[("materials_no", '=', item['materials_no']), ('active', 'in', [True, False])])
|
||||
materials = self.env['sf.production.materials'].search(
|
||||
[("materials_no", '=', item['materials_id.materials_no'])])
|
||||
if materials_model:
|
||||
@@ -196,7 +199,8 @@ class sfMaterialModel(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['materials_model_all_list']:
|
||||
if item:
|
||||
materials_model = self.search([("materials_no", '=', item['materials_no'])])
|
||||
materials_model = self.search(
|
||||
[("materials_no", '=', item['materials_no']), ('active', 'in', [True, False])])
|
||||
materials = self.env['sf.production.materials'].search(
|
||||
[("materials_no", '=', item['materials_id.materials_no'])])
|
||||
if not materials_model:
|
||||
@@ -256,7 +260,8 @@ class sfProductionProcessCategory(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_process_category_yesterday_list']:
|
||||
if item:
|
||||
production_process_category = self.search([("code", '=', item['code'])])
|
||||
production_process_category = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if production_process_category:
|
||||
production_process_category.name = item['name']
|
||||
production_process_category.code = item['code']
|
||||
@@ -281,7 +286,7 @@ class sfProductionProcessCategory(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_process_category_all_list']:
|
||||
if item:
|
||||
category = self.search([("code", '=', item['code'])])
|
||||
category = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not category:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -311,17 +316,7 @@ class sfProductionProcess(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_process_yesterday_list']:
|
||||
if item:
|
||||
brand = self.env['sf.production.process'].search(
|
||||
[("code", '=', item['code'])])
|
||||
if brand:
|
||||
brand.name = item['name']
|
||||
brand.category_id = self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])]).id
|
||||
brand.code = item['code']
|
||||
brand.remark = item['remark']
|
||||
brand.active = item['active']
|
||||
brand.remark = item['remark']
|
||||
production_process = self.search([("code", '=', item['code'])])
|
||||
production_process = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
category = self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])])
|
||||
if production_process:
|
||||
@@ -332,8 +327,7 @@ class sfProductionProcess(models.Model):
|
||||
else:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
"category_id": self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])]).id,
|
||||
"category_id": category.id,
|
||||
"code": item['code'],
|
||||
"remark": item['remark'],
|
||||
"active": item['active'],
|
||||
@@ -352,7 +346,7 @@ class sfProductionProcess(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['production_process_all_list']:
|
||||
if item:
|
||||
production_process = self.search([("code", '=', item['code'])])
|
||||
production_process = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
category = self.env['sf.production.process.category'].search(
|
||||
[("code", '=', item['category_code'])])
|
||||
if not production_process:
|
||||
@@ -388,7 +382,7 @@ class sfProcessingTechnology(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['processing_technology_yesterday_list']:
|
||||
if item:
|
||||
processing_technology = self.search([("code", '=', item['code'])])
|
||||
processing_technology = self.search([("code", '=', item['process_encode']), ('active', 'in', [True, False])])
|
||||
if processing_technology:
|
||||
processing_technology.name = item['name']
|
||||
processing_technology.remark = item['remark']
|
||||
@@ -396,7 +390,7 @@ class sfProcessingTechnology(models.Model):
|
||||
else:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
"code": item['code'],
|
||||
"code": item['process_encode'],
|
||||
"remark": item['remark'],
|
||||
"active": item['active'],
|
||||
})
|
||||
@@ -414,11 +408,11 @@ class sfProcessingTechnology(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['processing_technology_all_list']:
|
||||
if item:
|
||||
processing_technology = self.search([("code", '=', item['code'])])
|
||||
processing_technology = self.search([("code", '=', item['process_encode']), ('active', 'in', [True, False])])
|
||||
if not processing_technology:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
"code": item['code'],
|
||||
"code": item['process_encode'],
|
||||
"remark": item['remark'],
|
||||
"active": item['active'],
|
||||
})
|
||||
@@ -496,7 +490,7 @@ class MachineControlSystem(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_control_system_yesterday_list']:
|
||||
if item:
|
||||
control_system = self.search([("code", '=', item['code'])])
|
||||
control_system = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
||||
if control_system:
|
||||
control_system.name = item['name']
|
||||
@@ -525,7 +519,7 @@ class MachineControlSystem(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_control_system_all_list']:
|
||||
if item:
|
||||
control_system = self.search([("code", '=', item['code'])])
|
||||
control_system = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
||||
if not control_system:
|
||||
self.create({
|
||||
@@ -559,7 +553,7 @@ class MachineBrand(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_brand_yesterday_list']:
|
||||
brand = self.search([("code", '=', item['code'])])
|
||||
brand = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if brand:
|
||||
brand.name = item['name']
|
||||
brand.image_brand = '' if not item['image_brand'] else base64.b64decode(item['image_brand'])
|
||||
@@ -588,7 +582,7 @@ class MachineBrand(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_brand_all_list']:
|
||||
brand = self.search([("code", '=', item['code'])])
|
||||
brand = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not brand:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -628,7 +622,7 @@ class MachineToolType(models.Model):
|
||||
else:
|
||||
image = ''
|
||||
taper_type_id = self.env['spindle.taper.type'].search([('name', '=', item['taper_type_id'])])
|
||||
machine_tool_type = self.search([("code", '=', item['code'])])
|
||||
machine_tool_type = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
control_system = self.env['sf.machine.control_system'].search(
|
||||
[('code', '=', item['control_system_id'])])
|
||||
jg_image_id = self.env['maintenance.equipment.image'].search([('name', 'in', item['jg_image_id'])])
|
||||
@@ -822,7 +816,7 @@ class MachineToolType(models.Model):
|
||||
'name': item['taper_type_id']
|
||||
})
|
||||
|
||||
machine_tool_type = self.search([("code", '=', item['code'])])
|
||||
machine_tool_type = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
control_system = self.env['sf.machine.control_system'].search(
|
||||
[('code', '=', item['control_system_id'])])
|
||||
brand = self.env['sf.machine.brand'].search([('code', '=', item['brand_id'])])
|
||||
@@ -1013,7 +1007,7 @@ class sfProcessingOrder(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['processing_order_yesterday_list']:
|
||||
processing_order = self.search([("id", '=', item['id'])])
|
||||
processing_order = self.search([("id", '=', item['id']), ('active', 'in', [True, False])])
|
||||
if processing_order:
|
||||
processing_order.sequence = item['sequence']
|
||||
else:
|
||||
@@ -1033,7 +1027,7 @@ class sfProcessingOrder(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['processing_order_all_list']:
|
||||
processing_order = self.search([("id", '=', item['id'])])
|
||||
processing_order = self.search([("id", '=', item['id']), ('active', 'in', [True, False])])
|
||||
if not processing_order:
|
||||
self.create({
|
||||
"sequence": item['sequence'],
|
||||
@@ -1060,7 +1054,8 @@ class sfProductionProcessParameter(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['mrs_production_process_parameter_yesterday_list']:
|
||||
if item:
|
||||
production_process_parameter = self.search([("code", '=', item['code'])])
|
||||
production_process_parameter = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
process = self.env['sf.production.process'].search(
|
||||
[('code', '=', item['process_id_code'])])
|
||||
if production_process_parameter:
|
||||
@@ -1093,7 +1088,7 @@ class sfProductionProcessParameter(models.Model):
|
||||
for item in result['mrs_production_process_parameter_all_list']:
|
||||
if item:
|
||||
production_process_parameter = self.search(
|
||||
[("code", '=', item['code'])])
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
process = self.env['sf.production.process'].search(
|
||||
[('code', '=', item['process_id_code'])], limit=1)
|
||||
if not production_process_parameter:
|
||||
@@ -1130,7 +1125,7 @@ class MachineToolCategory(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_tool_category_yesterday_list']:
|
||||
machine_tool_category = self.search([("code", '=', item['code'])])
|
||||
machine_tool_category = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if machine_tool_category:
|
||||
machine_tool_category.name = item['name']
|
||||
machine_tool_category.category = item['category']
|
||||
@@ -1157,7 +1152,7 @@ class MachineToolCategory(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['machine_tool_category_all_list']:
|
||||
machine_tool_category = self.search([("code", '=', item['code'])])
|
||||
machine_tool_category = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not machine_tool_category:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1195,7 +1190,8 @@ class sfSyncCutting_tool_Material(models.Model):
|
||||
if result.get('mrs_cutting_tool_material_yesterday_list'):
|
||||
for item in result['mrs_cutting_tool_material_yesterday_list']:
|
||||
if item:
|
||||
cutting_tool_material = self.search([("code", '=', item['code'])])
|
||||
cutting_tool_material = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not cutting_tool_material:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1225,7 +1221,8 @@ class sfSyncCutting_tool_Material(models.Model):
|
||||
if result.get('mrs_cutting_tool_material_all_list'):
|
||||
for item in result['mrs_cutting_tool_material_all_list']:
|
||||
if item:
|
||||
cutting_tool_material = self.search([("code", '=', item['code'])])
|
||||
cutting_tool_material = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not cutting_tool_material:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1262,7 +1259,8 @@ class SyncFunctionalCuttingToolModel(models.Model):
|
||||
if result.get('mrs_functional_cutting_tool_model_yesterday_list'):
|
||||
for item in result['mrs_functional_cutting_tool_model_yesterday_list']:
|
||||
if item:
|
||||
functional_cutting_tool_model = self.search([("code", '=', item['code'])])
|
||||
functional_cutting_tool_model = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not functional_cutting_tool_model:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1292,7 +1290,8 @@ class SyncFunctionalCuttingToolModel(models.Model):
|
||||
if result.get('mrs_functional_cutting_tool_model_all_list'):
|
||||
for item in result['mrs_functional_cutting_tool_model_all_list']:
|
||||
if item:
|
||||
functional_cutting_tool_model = self.search([("code", '=', item['code'])])
|
||||
functional_cutting_tool_model = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not functional_cutting_tool_model:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1329,7 +1328,7 @@ class SyncFixtureMaterial(models.Model):
|
||||
if result.get('fixture_material_yesterday_list'):
|
||||
for item in result['fixture_material_yesterday_list']:
|
||||
if item:
|
||||
fixture_material = self.search([("code", '=', item['code'])])
|
||||
fixture_material = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not fixture_material:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1361,7 +1360,7 @@ class SyncFixtureMaterial(models.Model):
|
||||
if result.get('fixture_material_all_list'):
|
||||
for item in result['fixture_material_all_list']:
|
||||
if item:
|
||||
fixture_material = self.search([("code", '=', item['code'])])
|
||||
fixture_material = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not fixture_material:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1399,7 +1398,8 @@ class SyncMulti_Mounting_Type(models.Model):
|
||||
if result.get('multi_mounting_type_yesterday_list'):
|
||||
for item in result['multi_mounting_type_yesterday_list']:
|
||||
if item:
|
||||
multi_mounting_type = self.search([("code", '=', item['code'])])
|
||||
multi_mounting_type = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not multi_mounting_type:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1429,7 +1429,8 @@ class SyncMulti_Mounting_Type(models.Model):
|
||||
if result.get('multi_mounting_type_all_list'):
|
||||
for item in result['multi_mounting_type_all_list']:
|
||||
if item:
|
||||
multi_mounting_type = self.search([("code", '=', item['code'])])
|
||||
multi_mounting_type = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not multi_mounting_type:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1674,7 +1675,8 @@ class SyncFunctionalFixtureType(models.Model):
|
||||
if result.get('functional_fixture_type_yesterday_list'):
|
||||
for item in result['functional_fixture_type_yesterday_list']:
|
||||
if item:
|
||||
functional_fixture_type = self.search([("code", '=', item['code'])])
|
||||
functional_fixture_type = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not functional_fixture_type:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1703,7 +1705,8 @@ class SyncFunctionalFixtureType(models.Model):
|
||||
if result.get('functional_fixture_type_all_list'):
|
||||
for item in result['functional_fixture_type_all_list']:
|
||||
if item:
|
||||
functional_fixture_type = self.search([("code", '=', item['code'])])
|
||||
functional_fixture_type = self.search(
|
||||
[("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
if not functional_fixture_type:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1739,7 +1742,7 @@ class SfToolType(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['mrs_cutting_tool_type_yesterday_list']:
|
||||
if item:
|
||||
cutting_tool_type = self.search([("code", '=', item['code'])])
|
||||
cutting_tool_type = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
cutting_tool_material = self.env['sf.cutting.tool.material'].search(
|
||||
[("code", '=', item['cutting_tool_material_code'])])
|
||||
if not cutting_tool_type:
|
||||
@@ -1771,7 +1774,7 @@ class SfToolType(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['mrs_cutting_tool_type_all_list']:
|
||||
if item:
|
||||
cutting_tool_type = self.search([("code", '=', item['code'])])
|
||||
cutting_tool_type = self.search([("code", '=', item['code']), ('active', 'in', [True, False])])
|
||||
cutting_tool_material = self.env['sf.cutting.tool.material'].search(
|
||||
[("code", '=', item['cutting_tool_material_code'])])
|
||||
if not cutting_tool_type:
|
||||
@@ -1811,7 +1814,8 @@ class SfMaintenanceEquipmentImage(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['ability_feature_library_yesterday_list']:
|
||||
if item:
|
||||
ability_feature_library = self.search([("name", '=', item['name'])])
|
||||
ability_feature_library = self.search(
|
||||
[("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not ability_feature_library:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1839,7 +1843,8 @@ class SfMaintenanceEquipmentImage(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['ability_feature_library_all_list']:
|
||||
if item:
|
||||
ability_feature_library = self.search([("name", '=', item['name'])])
|
||||
ability_feature_library = self.search(
|
||||
[("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not ability_feature_library:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1872,7 +1877,7 @@ class MaterialApply(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['material_apply_yesterday_list']:
|
||||
material_apply = self.search([("name", '=', item['name'])])
|
||||
material_apply = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if material_apply:
|
||||
material_apply.name = item['name']
|
||||
material_apply.active = item['active']
|
||||
@@ -1894,7 +1899,7 @@ class MaterialApply(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['material_apply_all_list']:
|
||||
material_apply = self.search([("name", '=', item['name'])])
|
||||
material_apply = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not material_apply:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1922,7 +1927,7 @@ class ModelInternationalStandards(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['mrs_international_standards_yesterday_list']:
|
||||
international_standards = self.search([("name", '=', item['name'])])
|
||||
international_standards = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if international_standards:
|
||||
international_standards.name = item['name']
|
||||
international_standards.active = item['active']
|
||||
@@ -1945,7 +1950,7 @@ class ModelInternationalStandards(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['mrs_international_standards_all_list']:
|
||||
international_standards = self.search([("name", '=', item['name'])])
|
||||
international_standards = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not international_standards:
|
||||
self.create({
|
||||
"name": item['name'],
|
||||
@@ -1973,7 +1978,7 @@ class CuttingSpeed(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_speed_yesterday_list']:
|
||||
cutting_speed = self.search([("name", '=', item['name'])])
|
||||
cutting_speed = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not cutting_speed:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2027,7 +2032,7 @@ class CuttingSpeed(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_speed_all_list']:
|
||||
cutting_speed = self.search([("name", '=', item['name'])])
|
||||
cutting_speed = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not cutting_speed:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2087,7 +2092,7 @@ class CuttingWidthDepth(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_width_depth_yesterday_list']:
|
||||
cutting_width_depth = self.search([("name", '=', item['name'])])
|
||||
cutting_width_depth = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not cutting_width_depth:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2104,7 +2109,7 @@ class CuttingWidthDepth(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_width_depth_all_list']:
|
||||
cutting_width_depth = self.search([("name", '=', item['name'])])
|
||||
cutting_width_depth = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not cutting_width_depth:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2127,7 +2132,7 @@ class CuttingSpeed(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['feed_per_tooth_yesterday_list']:
|
||||
feed_per_tooth = self.search([("name", '=', item['name'])])
|
||||
feed_per_tooth = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not feed_per_tooth:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2165,7 +2170,7 @@ class CuttingSpeed(models.Model):
|
||||
result = json.loads(r['result'])
|
||||
if result['status'] == 1:
|
||||
for item in result['feed_per_tooth_all_list']:
|
||||
feed_per_tooth = self.search([("name", '=', item['name'])])
|
||||
feed_per_tooth = self.search([("name", '=', item['name']), ('active', 'in', [True, False])])
|
||||
if not feed_per_tooth:
|
||||
self.create({
|
||||
'name': item['name'],
|
||||
@@ -2211,7 +2216,8 @@ class Cutting_tool_standard_library(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_tool_standard_library_yesterday_list']:
|
||||
cutting_tool_standard_library = self.search(
|
||||
[("code", '=', item['code'].replace("JKM", result['factory_short_name']))])
|
||||
[("code", '=', item['code'].replace("JKM", result['factory_short_name']),
|
||||
('active', 'in', [True, False]))])
|
||||
cutting_tool_type = self.env['sf.cutting.tool.type'].search(
|
||||
[("code", '=', item['cutting_tool_type_code'])])
|
||||
cutting_tool_material = self.env['sf.cutting.tool.material'].search(
|
||||
@@ -2317,7 +2323,8 @@ class Cutting_tool_standard_library(models.Model):
|
||||
if result['status'] == 1:
|
||||
for item in result['cutting_tool_standard_library_all_list']:
|
||||
cutting_tool_standard_library = self.search(
|
||||
[("code", '=', item['code'].replace("JKM", result['factory_short_name']))])
|
||||
[("code", '=', item['code'].replace("JKM", result['factory_short_name']),
|
||||
('active', 'in', [True, False]))])
|
||||
cutting_tool_type = self.env['sf.cutting.tool.type'].search(
|
||||
[("code", '=', item['cutting_tool_type_code'])])
|
||||
cutting_tool_material = self.env['sf.cutting.tool.material'].search(
|
||||
@@ -2431,7 +2438,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_integral_tool'])
|
||||
if basic_parameters_integral_tool_list:
|
||||
for integral_tool_item in basic_parameters_integral_tool_list:
|
||||
integral_tool = self.search([('code', '=', integral_tool_item['code'])])
|
||||
integral_tool = self.search(
|
||||
[('code', '=', integral_tool_item['code']), ('active', 'in', [True, False])])
|
||||
if not integral_tool:
|
||||
self.create({
|
||||
'name': integral_tool_item['name'],
|
||||
@@ -2483,7 +2491,7 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_blade'])
|
||||
if basic_parameters_blade_list:
|
||||
for blade_item in basic_parameters_blade_list:
|
||||
blade = self.search([('code', '=', blade_item['code'])])
|
||||
blade = self.search([('code', '=', blade_item['code']), ('active', 'in', [True, False])])
|
||||
if not blade:
|
||||
self.create({
|
||||
'name': blade_item['name'],
|
||||
@@ -2547,7 +2555,7 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_chuck'])
|
||||
if basic_parameters_chuck_list:
|
||||
for chuck_item in basic_parameters_chuck_list:
|
||||
chuck = self.search([('code', '=', chuck_item['code'])])
|
||||
chuck = self.search([('code', '=', chuck_item['code']), ('active', 'in', [True, False])])
|
||||
if not chuck:
|
||||
self.create({
|
||||
'name': chuck_item['name'],
|
||||
@@ -2591,7 +2599,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_arbor'])
|
||||
if basic_parameters_cutter_arbor_list:
|
||||
for cutter_arbor_item in basic_parameters_cutter_arbor_list:
|
||||
cutter_arbor = self.search([('code', '=', cutter_arbor_item['code'])])
|
||||
cutter_arbor = self.search(
|
||||
[('code', '=', cutter_arbor_item['code']), ('active', 'in', [True, False])])
|
||||
if not cutter_arbor:
|
||||
self.create({
|
||||
'name': cutter_arbor_item['name'],
|
||||
@@ -2659,7 +2668,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_head'])
|
||||
if basic_parameters_cutter_head_list:
|
||||
for cutter_head_item in basic_parameters_cutter_head_list:
|
||||
cutter_head = self.search([('code', '=', cutter_head_item['code'])])
|
||||
cutter_head = self.search(
|
||||
[('code', '=', cutter_head_item['code']), ('active', 'in', [True, False])])
|
||||
if not cutter_head:
|
||||
self.create({
|
||||
'name': cutter_head_item['name'],
|
||||
@@ -2713,7 +2723,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_knife_handle'])
|
||||
if basic_parameters_knife_handle_list:
|
||||
for knife_handle_item in basic_parameters_knife_handle_list:
|
||||
knife_handle = self.search([('code', '=', knife_handle_item['code'])])
|
||||
knife_handle = self.search(
|
||||
[('code', '=', knife_handle_item['code']), ('active', 'in', [True, False])])
|
||||
if not knife_handle:
|
||||
self.create({
|
||||
'name': knife_handle_item['name'],
|
||||
@@ -2780,7 +2791,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_integral_tool'])
|
||||
if basic_parameters_integral_tool_list:
|
||||
for integral_tool_item in basic_parameters_integral_tool_list:
|
||||
integral_tool = self.search([('code', '=', integral_tool_item['code'])])
|
||||
integral_tool = self.search(
|
||||
[('code', '=', integral_tool_item['code']), ('active', 'in', [True, False])])
|
||||
if not integral_tool:
|
||||
self.create({
|
||||
'name': integral_tool_item['name'],
|
||||
@@ -2835,7 +2847,7 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_blade'])
|
||||
if basic_parameters_blade_list:
|
||||
for blade_item in basic_parameters_blade_list:
|
||||
blade = self.search([('code', '=', blade_item['code'])])
|
||||
blade = self.search([('code', '=', blade_item['code']), ('active', 'in', [True, False])])
|
||||
if not blade:
|
||||
self.create({
|
||||
'name': blade_item['name'],
|
||||
@@ -2901,7 +2913,7 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_chuck'])
|
||||
if basic_parameters_chuck_list:
|
||||
for chuck_item in basic_parameters_chuck_list:
|
||||
chuck = self.search([('code', '=', chuck_item['code'])])
|
||||
chuck = self.search([('code', '=', chuck_item['code']), ('active', 'in', [True, False])])
|
||||
if not chuck:
|
||||
self.create({
|
||||
'name': chuck_item['name'],
|
||||
@@ -2947,7 +2959,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_arbor'])
|
||||
if basic_parameters_cutter_arbor_list:
|
||||
for cutter_arbor_item in basic_parameters_cutter_arbor_list:
|
||||
cutter_arbor = self.search([('code', '=', cutter_arbor_item['code'])])
|
||||
cutter_arbor = self.search(
|
||||
[('code', '=', cutter_arbor_item['code']), ('active', 'in', [True, False])])
|
||||
if not cutter_arbor:
|
||||
self.create({
|
||||
'name': cutter_arbor_item['name'],
|
||||
@@ -3017,7 +3030,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_cutter_head'])
|
||||
if basic_parameters_cutter_head_list:
|
||||
for cutter_head_item in basic_parameters_cutter_head_list:
|
||||
cutter_head = self.search([('code', '=', cutter_head_item['code'])])
|
||||
cutter_head = self.search(
|
||||
[('code', '=', cutter_head_item['code']), ('active', 'in', [True, False])])
|
||||
if not cutter_head:
|
||||
self.create({
|
||||
'name': cutter_head_item['name'],
|
||||
@@ -3073,7 +3087,8 @@ class CuttingToolBasicParameters(models.Model):
|
||||
result['cutting_tool_basic_parameters_all_list']['basic_parameters_knife_handle'])
|
||||
if basic_parameters_knife_handle_list:
|
||||
for knife_handle_item in basic_parameters_knife_handle_list:
|
||||
knife_handle = self.search([('code', '=', knife_handle_item['code'])])
|
||||
knife_handle = self.search(
|
||||
[('code', '=', knife_handle_item['code']), ('active', 'in', [True, False])])
|
||||
if not knife_handle:
|
||||
self.create({
|
||||
'name': knife_handle_item['name'],
|
||||
|
||||
@@ -8,6 +8,7 @@ __author__ = 'jinling.yang'
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
class AutoQuatotion(models.Model):
|
||||
_name = 'sf.auto_quatotion.common'
|
||||
_description = u'自动报价公用类'
|
||||
|
||||
@@ -141,6 +141,8 @@ class RePurchaseOrder(models.Model):
|
||||
if not self.user_id:
|
||||
if self.partner_id:
|
||||
self.user_id = self.partner_id.purchase_user_id.id
|
||||
self.check_status = 'pending'
|
||||
self.state = 'purchase'
|
||||
else:
|
||||
self.user_id = self.env.user.id
|
||||
|
||||
|
||||
@@ -126,6 +126,9 @@ access_stock_lot_group_purchase_director,stock_lot_group_purchase_director,stock
|
||||
access_mrp_workcenter_productivity_group_purchase,mrp_workcenter_productivity_group_purchase,mrp.model_mrp_workcenter_productivity,sf_base.group_purchase,1,0,0,0
|
||||
access_mrp_workcenter_productivity_group_purchase_director,mrp_workcenter_productivity_group_purchase_director,mrp.model_mrp_workcenter_productivity,sf_base.group_purchase_director,1,0,0,0
|
||||
|
||||
access_sf_cutting_speed_group_sf_stock_manager,sf_cutting_speed_group_sf_stock_manager,sf_base.model_sf_cutting_speed,sf_warehouse.group_sf_stock_manager,1,1,1,0
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user