コード例 #1
0
 def initSection():
     print("*****************************************")
     print("Start to init Sections...")
     sindex =0
     for i in range(94):
         sindex = sindex + 1
         code = '{code:03d}'.format(code=sindex)
         sec = Section()
         sec.code = code
         sec.name = str(sindex)
         sec.save()
         
     sindex = sindex + 1
     code = '{code:03d}'.format(code=sindex)
     sec = Section()
     sec.code = code
     sec.name = "F"
     sec.save()
     sindex = sindex + 1
     code = '{code:03d}'.format(code=sindex)
     sec = Section()
     sec.code = code
     sec.name = "U"
     sec.save()
     print("Stop to init Section")                    
コード例 #2
0
    def getUpdateSectionWithName(district,area,division):
        disSec = None
        areaSec = None
        divSec = None
        
        if district and len(district) > 0:
            try:
                disSec = Section.objects.get(name__iexact=district,pid_id__isnull=True)
            except:
                pass
            if disSec is None:
                discode = 0
                try:
                    preDisSec = Section.objects.filter(pid_id__isnull=True).latest('code')
                    if preDisSec:
                        discode = int(preDisSec.code) + 1
                    else:
                        discode = int("001")
                except:
                    discode = int("001")
                    pass
                
                if discode > 0:
                    disSec = Section()
                    disSec.code = '{code:03d}'.format(code=discode)
                    disSec.name = district
                    disSec.save()
        else:
            return None

                
        if disSec and area and len(area) > 0:
            areaSec = None
            try:
                areaSec = Section.objects.get(name__iexact=area,pid__id__exact=disSec.id)
            except:
                pass
            if areaSec is None:
                areacode = 0       
                try:
                    preAreaSec = Section.objects.filter(pid__id__exact=disSec.id).latest('code')
                    if preAreaSec:
                        areacode = int(preAreaSec.code) + 1
                    else:
                        areacode = int(disSec.code + "001")
                except:
                    areacode = int(disSec.code + "001")
                    pass

                if areacode > 0:
                    areaSec = Section()
                    areaSec.code = '{code:06d}'.format(code=areacode)
                    areaSec.name = area
                    areaSec.pid = disSec
                    areaSec.save()
        else:
            return disSec
                
                
        if areaSec and division and len(division) > 0:            
            try:
                divSec = Section.objects.get(name__iexact=division,pid__id__exact=areaSec.id)
            except:
                pass
            if divSec is None:
                divcode = 0
                try:
                    preDivSec = Section.objects.filter(pid__id__exact=areaSec.id).latest('code')
                    if preDivSec:
                        divcode = int(preDivSec.code) + 1
                    else:
                        divcode = int(areaSec.code + "001")
                except:
                    divcode = int(areaSec.code + "001")
                    pass

                if divcode > 0:
                    divSec = Section()
                    divSec.code = '{code:09d}'.format(code = divcode)
                    divSec.name = division
                    divSec.pid = areaSec
                    divSec.save()
        else:
            return areaSec
        
        return divSec