コード例 #1
0
 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
コード例 #2
0
 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
コード例 #3
0
    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