def import_data(self): try: eco_implementation_list=[] eco_number_list=[] plate_list=[] added_part_list=[] for eco_obj in self.data_source: if eco_obj['change_date'] == "0000-00-00" or not eco_obj['change_date']: change_date=None else: change_date=datetime.strptime(eco_obj['change_date'], "%Y-%m-%d") eco_implementation_list.append(get_model('ECOImplementation')(change_no=eco_obj['change_no'],change_date=change_date, change_time=eco_obj['change_time'],plant=eco_obj['plant'], action=eco_obj['action'],parent_part=eco_obj['parent_part'], added_part=eco_obj['added_part'],added_part_qty=eco_obj['added_part_qty'], deleted_part=eco_obj['deleted_part'],deleted_part_qty=eco_obj['deleted_part_qty'], chassis_number=eco_obj['chassis_number'],engine_number=eco_obj['engine_number'], eco_number=eco_obj['eco_number'],reason_code=eco_obj['reason_code'], remarks=eco_obj['remarks'] )) eco_number_list.append(eco_obj['eco_number']) plate_list.append(eco_obj['parent_part']) added_part_list.append(eco_obj['added_part']) eco_implementation_obj = get_model('ECOImplementation').objects.bulk_create(eco_implementation_list) feed_remark = self.modify_sbom_data(eco_implementation_obj, set(eco_number_list), set(plate_list), set(added_part_list), self.feed_remark) mail.send_epc_feed_received_mail(brand=settings.BRAND, template_name='ECO_RELEASE_FEED') self.feed_remark=feed_remark except Exception as ex: ex="[Exception: ]: ECOImplementationFeed {0}".format(ex) logger.error(ex) self.feed_remark.fail_remarks(ex) return self.feed_remark
def import_data(self): try: eco_release_obj_list=[] for eco_obj in self.data_source: if eco_obj['eco_release_date'] == "0000-00-00" or not eco_obj['eco_release_date']: eco_release_date=None else: eco_release_date=datetime.strptime(eco_obj['eco_release_date'], "%Y-%m-%d") eco_release_obj_list.append(get_model('ECORelease')(eco_number=eco_obj['eco_number'], eco_release_date=eco_release_date, eco_description=eco_obj['eco_description'], action=eco_obj['action'], parent_part=eco_obj['parent_part'], add_part=eco_obj['add_part'], add_part_qty=eco_obj['add_part_qty'], add_part_rev=eco_obj['add_part_rev'], add_part_loc_code=eco_obj['add_part_loc_code'], del_part=eco_obj['del_part'], del_part_qty=eco_obj['del_part_qty'], del_part_rev=eco_obj['del_part_rev'], del_part_loc_code=eco_obj['del_part_loc_code'], models_applicable=eco_obj['models_applicable'], serviceability=eco_obj['serviceability'], interchangebility=eco_obj['interchangebility'], reason_for_change=eco_obj['reason_for_change'])) get_model('ECORelease').objects.bulk_create(eco_release_obj_list) mail.send_epc_feed_received_mail(brand=settings.BRAND, template_name='ECO_RELEASE_FEED') except Exception as ex: ex="[Exception: ]: ECOReleaseFeed {0}".format(ex) logger.error(ex) self.feed_remark.fail_remarks(ex) return self.feed_remark
def import_data(self): bom_header_obj = 0 for bom in self.data_source[1]: try: bom_header_obj = get_model('BOMHeader').objects.filter(sku_code=bom['sku_code'], bom_number=bom['bom_number_header']) if not bom_header_obj: bom_header_obj = get_model('BOMHeader')(sku_code=bom['sku_code'], plant=bom['plant'], bom_type=bom['bom_type'], bom_number=bom['bom_number_header'], created_on=bom['created_on'], valid_from=bom['valid_from_header'], valid_to=bom['valid_to_header']) bom_header_obj.save(using=settings.BRAND) else: bom_header_obj=bom_header_obj[0] except Exception as ex: ex="[Exception: ]: SBOMMainFeed {0}".format(ex) logger.error(ex) self.feed_remark[1].fail_remarks(ex) for bom in self.data_source[0]: try: bom_plate_obj = get_model('BOMPlate').objects.filter(plate_id=bom['plate_id']) if not bom_plate_obj: bom_plate_obj = get_model('BOMPlate')(plate_id=bom['plate_id'], plate_txt=bom['plate_txt']) bom_plate_obj.save(using=settings.BRAND) else: bom_plate_obj = bom_plate_obj[0] bom_part_obj = get_model('BOMPart').objects.filter(part_number=bom['part_number'], revision_number=bom['revision_number']) if not bom_part_obj: bom_part_obj = get_model('BOMPart')(part_number=bom['part_number'], revision_number=bom['revision_number']) bom_part_obj.save(using=settings.BRAND) else: bom_part_obj=bom_part_obj[0] bomplatepart_obj = get_model('BOMPlatePart').objects.filter(bom = bom_header_obj, part = bom_part_obj, plate = bom_plate_obj) if not bomplatepart_obj: bomplatepart_obj = get_model('BOMPlatePart')(quantity=bom['quantity'], uom=bom['uom'], change_number_to=bom['change_number_to'], change_number=bom['change_number'], valid_from=bom['valid_from'], valid_to=bom['valid_to'], serial_number=bom['serial_number'], item=bom['item'], item_id=bom['item_id']) bomplatepart_obj.bom = bom_header_obj bomplatepart_obj.part = bom_part_obj bomplatepart_obj.plate = bom_plate_obj bomplatepart_obj.save(using=settings.BRAND) except Exception as ex: ex="[Exception: ]: SBOMMainFeed {0}".format(ex) logger.error(ex) self.feed_remark[0].fail_remarks(ex) mail.send_epc_feed_received_mail(brand=settings.BRAND, template_name='SBOM_FEED') return self.feed_remark