Beispiel #1
0
    def get(self, request):
        user = request.user
        all_organization_tuple = get_all_organization_belong_me(request)
        pcl_sql = f"""
                   select distinct qahf.id                                                                     qahf_id,
                        liaisonf.fodrno,
                        qahf.fslipno2                                                               fslipno,
                        qahf.fnote,
                        qahf.fobjectid,
                        qahf.fsystemcd,
                        qahf.fprojectcd,
                        qahf.ftesttyp,
                        qahf.fstatus,
                        (select ifnull(fimpusr, fentusr) from qadf where qahf_id = qahf.id limit 1) ftestusr,
                        ''                                                                          design_id,
                        ''                                                                          code_id
                    from liaisonf,
                         qahf
                    where liaisonf.fodrno = qahf.fslipno
                      and (liaisonf.fleader like '%{user.name}%' or liaisonf.fassignedto in
                          (select name from users where ammic_organization_id in {all_organization_tuple}))
                      and qahf.ftesttyp = 'PCL'
                      and qahf.fstatus in (1, 2)
                    order by qahf.fstatus, liaisonf.fodrno
                  """

        pcl_dict = db_connection_execute(pcl_sql, 'dict')

        return Response(data=pcl_dict, status=status.HTTP_200_OK)
Beispiel #2
0
    def get(self, request):
        user = request.user

        all_organization_tuple = get_all_organization_belong_me(request)

        confirm_sql = f"""
                       select qahf.id                                   qahf_id,
                               qahf.ftesttyp,
                               liaisonf.fodrno,
                               liaisonf.fslipno,
                               (select fnote from qahf where fslipno = liaisonf.fodrno) fnote,
                               qahf.fobjectid,
                               qahf.fsystemcd,
                               qahf.fprojectcd,
                               qahf.fstatus,
                               qahf.ftestusr,
                               qahf.fobjmodification,
                               (select codereview.id
                                from codereview
                                where codereview.fobjectid = qahf.fobjectid
                                  and codereview.fslipno = qahf.fslipno) code_id,
                               (select codereview.id
                                from codereview
                                where codereview.fobjectid = 'Design Review'
                                  and codereview.fslipno = qahf.fslipno) design_id
                        from liaisonf,
                             qahf
                        where (liaisonf.fslipno = qahf.fslipno or liaisonf.fodrno = qahf.fslipno)
                          and qahf.fcreateusr in (select name from users where ammic_organization_id in {all_organization_tuple})
                          and qahf.fstatus = '3'
                          and qahf.ftesttyp = 'MCL'
                        union all
                        select distinct qahf.id,
                                        qahf.ftesttyp,
                                        qahf.fslipno,
                                        qahf.fslipno2 fslipno,
                                        (select fnote from qahf where fslipno = liaisonf.fodrno) fnote,
                                        qahf.fobjectid,
                                        qahf.fsystemcd,
                                        qahf.fprojectcd,
                                        qahf.fstatus,
                                        qahf.ftestusr,
                                        qahf.fnote,
                                        ''            code_id,
                                        ''            design_id
                        from qahf,
                             liaisonf
                        where qahf.ftesttyp = 'PCL'
                          and qahf.fstatus = '3'
                          and liaisonf.fodrno = qahf.fslipno
                          and (liaisonf.fleader like '%{user.name}%' or liaisonf.fassignedto in
                                   (select name from users where ammic_organization_id in {all_organization_tuple}))
                      """

        confirm_dict = db_connection_execute(confirm_sql, 'dict')

        return Response(data=confirm_dict, status=status.HTTP_200_OK)
Beispiel #3
0
    def get(self, request):
        user = request.user

        all_organization_tuple = get_all_organization_belong_me(request)

        approval_sql = f"""
                       select *
                            from (
                                 select distinct qahf.id  qahf_id,
                                     qahf.ftesttyp,
                                     liaisonf.fodrno,
                                     liaisonf.fslipno,
                                     qahf.fobjectid,
                                     qahf.fstatus,
                                     qahf.fobjmodification,
                                     (select codereview.id
                                      from codereview
                                      where codereview.fobjectid = qahf.fobjectid
                                        and codereview.fslipno = qahf.fslipno) code_id,
                                     (select codereview.id
                                      from codereview
                                      where codereview.fobjectid = 'Design Review'
                                        and codereview.fslipno = qahf.fslipno) design_id
                                 from liaisonf,
                                      qahf,
                                      qadf
                                 where qadf.qahf_id = qahf.id
                                   and (liaisonf.fslipno = qahf.fslipno or liaisonf.fodrno = qahf.fslipno)
                                   and qahf.fcreateusr in (select name from users where ammic_organization_id in {all_organization_tuple})
                                   and qadf.fapproval = 'N'
                                   and qahf.ftesttyp = 'MCL'
                                 union all
                                 select distinct qahf.id,
                                                 qahf.ftesttyp,
                                                 qahf.fslipno,
                                                 qahf.fslipno2 fslipno,
                                                 qahf.fobjectid,
                                                 qahf.fstatus,
                                                 qahf.fnote,
                                                 ''            code_id,
                                                 ''            design_id
                                 from qahf,
                                      qadf,
                                      liaisonf
                                 where ftesttyp = 'PCL'
                                   and qahf.id = qadf.qahf_id
                                   and qadf.fapproval = 'N'
                                   and liaisonf.fodrno = qahf.fslipno
                                   and liaisonf.fleader like '%{user.name}%') a
                            order by ftesttyp, fodrno, fslipno
                      """

        approval_dict = db_connection_execute(approval_sql, 'dict')

        return Response(data=approval_dict, status=status.HTTP_200_OK)
Beispiel #4
0
    def get(self, request):
        user = request.user

        mcl = QaHead.objects.filter(fcreateusr__exact=user.name,
                                    fstatus__exact='2',
                                    ftesttyp__exact='MCL').count()

        pcl = QaHead.objects.filter(
            fslipno__in=Liaisons.objects.values('fodrno').filter(
                fleader__contains=user.name),
            fstatus__in=(1, 2),
            ftesttyp__exact='PCL').count()

        all_organization_tuple = get_all_organization_belong_me(request)

        approval_sql = f"""
                       select count(*)
                       from (
                           select distinct qahf.id
                           from qahf,
                                qadf
                           where qadf.qahf_id = qahf.id
                           and qahf.fcreateusr in (select name from users where ammic_organization_id in {all_organization_tuple})
                           and qadf.fapproval = 'N') a;
                       """

        approval_list = query_single_with_no_parameter(approval_sql, 'list')
        approval = approval_list[0]

        confirm_sql = f"""
                      select count(*)
                          from qahf
                          where fcreateusr in (select name from users where ammic_organization_id in {all_organization_tuple})
                            and fstatus = '3'
                      """
        confirm_list = query_single_with_no_parameter(confirm_sql, 'list')
        confirm = confirm_list[0]

        all_organization_group_tuple = get_all_organization_group_belong_me(
            request)

        dev_count_sql = f"""
                        select count(*)
                            from (
                                 select qahf_c.fslipno, count(*) count
                                 from (
                                      select distinct fslipno, fstatus
                                      from qahf
                                      where fslipno in (
                                          select fslipno
                                          from liaisonf
                                          where fodrno in (
                                              select fslipno
                                              from qahf
                                              where fslipno in (
                                                  select qahf_b.fslipno
                                                  from (select fslipno, count(*) count
                                                        from (select fslipno, fstatus from qahf 
                                                        where ftesttyp = 'PCL') qahf_a
                                                        group by fslipno) qahf_b
                                                  where qahf_b.count = 1)
                                                and fstatus = '4')
                                            and liaisonf.fstatus = '3' and 
                                            liaisonf.forganization in {all_organization_group_tuple})) qahf_c
                                 group by qahf_c.fslipno) a
                            where a.count = 1
                        """

        dev_count_list = query_single_with_no_parameter(dev_count_sql, 'list')
        dev_count = dev_count_list[0]

        non_dev_count_sql = f"""
                            select count(*)
                                from (
                                     select a.fslipno, a.fstatus, count(*) count
                                     from (
                                          select distinct qahf.fslipno, qahf.fstatus
                                          from liaisonf,
                                               qahf
                                          where liaisonf.fslipno = qahf.fslipno
                                            and liaisonf.ftype <> '追加开发'
                                            and liaisonf.fstatus = '3'
                                            and liaisonf.forganization in {all_organization_group_tuple}) a
                                     group by a.fslipno, a.fstatus) b
                                where b.count = 1
                                  and b.fstatus = '4';
                                """

        non_dev_count_list = query_single_with_no_parameter(
            non_dev_count_sql, 'list')
        non_dev_count = non_dev_count_list[0]

        release = dev_count + non_dev_count

        response_data = []
        task_dict = {}

        task_dict['mcl'] = mcl
        task_dict['pcl'] = pcl
        task_dict['approval'] = approval
        task_dict['confirm'] = confirm
        task_dict['release'] = release

        response_data.append(task_dict)

        return Response(data=response_data, status=status.HTTP_200_OK)
Beispiel #5
0
    def get(self, request):
        user = request.user

        all_organization_tuple = get_all_organization_belong_me(request)
        # Organizations.objects.filter(pk_in=all_organization_tuple)
        # all_user = User.objects.filter()
        all_user = User.objects.values('name').filter(
            ammic_organization__in=all_organization_tuple)

        mcl = QaHead.objects.filter(fcreateusr__exact=user.name,
                                    fstatus__exact='2',
                                    ftesttyp__exact='MCL').count()

        pcl = QaHead.objects.filter(
            fslipno__in=Liaisons.objects.values('fodrno').filter(
                Q(fleader__contains=user.name) | Q(fassignedto__in=all_user)),
            fstatus__in=(1, 2),
            ftesttyp__exact='PCL').count()

        all_organization_tuple = get_all_organization_belong_me(request)

        approval_sql = f"""
                       select count(*)
                            from (
                                 select distinct qahf.id  qahf_id,
                                     qahf.ftesttyp,
                                     liaisonf.fodrno,
                                     liaisonf.fslipno,
                                     qahf.fobjectid,
                                     qahf.fstatus,
                                     qahf.fobjmodification,
                                     (select codereview.id
                                      from codereview
                                      where codereview.fobjectid = qahf.fobjectid
                                        and codereview.fslipno = qahf.fslipno) code_id,
                                     (select codereview.id
                                      from codereview
                                      where codereview.fobjectid = 'Design Review'
                                        and codereview.fslipno = qahf.fslipno) design_id
                                 from liaisonf,
                                      qahf,
                                      qadf
                                 where qadf.qahf_id = qahf.id
                                   and (liaisonf.fslipno = qahf.fslipno or liaisonf.fodrno = qahf.fslipno)
                                   and qahf.fcreateusr in (select name from users where ammic_organization_id 
                                   in {all_organization_tuple})
                                   and qadf.fapproval = 'N'
                                   and qahf.ftesttyp = 'MCL'
                                   and qahf.fstatus in ('1', '2')
                                 union all
                                 select distinct qahf.id,
                                                 qahf.ftesttyp,
                                                 qahf.fslipno,
                                                 qahf.fslipno2 fslipno,
                                                 qahf.fobjectid,
                                                 qahf.fstatus,
                                                 qahf.fnote,
                                                 ''            code_id,
                                                 ''            design_id
                                 from qahf,
                                      qadf,
                                      liaisonf
                                 where ftesttyp = 'PCL'
                                   and qahf.id = qadf.qahf_id
                                   and qadf.fapproval = 'N'
                                   and qahf.fstatus in ('1', '2')
                                   and liaisonf.fodrno = qahf.fslipno
                                   and (liaisonf.fleader like '%{user.name}%' or liaisonf.fassignedto in 
                                   (select name from users where ammic_organization_id in {all_organization_tuple}))) a
                            order by ftesttyp, fodrno, fslipno
                      """

        approval_list = query_single_with_no_parameter(approval_sql, 'list')
        approval = approval_list[0]
        all_organization_tuple = get_all_organization_belong_me(request)

        confirm_sql = f"""
                      select count(*)
                        from (
                         select qahf.id                                   qahf_id,
                                qahf.ftesttyp,
                                liaisonf.fodrno,
                                liaisonf.fslipno,
                                qahf.fobjectid,
                                qahf.fstatus,
                                qahf.fobjmodification,
                                (select codereview.id
                                 from codereview
                                 where codereview.fobjectid = qahf.fobjectid
                                   and codereview.fslipno = qahf.fslipno) code_id,
                                (select codereview.id
                                 from codereview
                                 where codereview.fobjectid = 'Design Review'
                                   and codereview.fslipno = qahf.fslipno) design_id
                         from liaisonf,
                              qahf
                         where (liaisonf.fslipno = qahf.fslipno or liaisonf.fodrno = qahf.fslipno)
                           and qahf.fcreateusr in (select name from users where ammic_organization_id in {all_organization_tuple})
                           and qahf.fstatus = '3'
                           and qahf.ftesttyp = 'MCL'
                         union all
                         select distinct qahf.id,
                                         qahf.ftesttyp,
                                         qahf.fslipno,
                                         qahf.fslipno2 fslipno,
                                         qahf.fobjectid,
                                         qahf.fstatus,
                                         qahf.fnote,
                                         ''            code_id,
                                         ''            design_id
                         from qahf,
                              liaisonf
                         where qahf.ftesttyp = 'PCL'
                           and qahf.fstatus = '3'
                           and liaisonf.fodrno = qahf.fslipno
                           and (liaisonf.fleader like '%{user.name}%' or liaisonf.fassignedto in
                            (select name from users where ammic_organization_id in {all_organization_tuple}))) a1
                      """
        confirm_list = query_single_with_no_parameter(confirm_sql, 'list')
        confirm = confirm_list[0]

        all_organization_group_tuple = get_all_organization_group_belong_me(
            request)

        dev_count_sql = f"""
                        select count(*)
                            from (
                                 select qahf_c.fslipno, count(*) count
                                 from (
                                      select distinct fslipno, fstatus
                                      from qahf
                                      where fslipno in (
                                          select fslipno
                                          from liaisonf
                                          where fodrno in (
                                              select fslipno
                                              from qahf
                                              where fslipno in (
                                                  select qahf_b.fslipno
                                                  from (select fslipno, count(*) count
                                                        from (select fslipno, fstatus from qahf 
                                                        where ftesttyp = 'PCL') qahf_a
                                                        group by fslipno) qahf_b
                                                  where qahf_b.count = 1)
                                                and fstatus = '4')
                                            and liaisonf.fstatus = '3' and 
                                            liaisonf.forganization in {all_organization_group_tuple})) qahf_c
                                 group by qahf_c.fslipno) a
                            where a.count = 1
                        """

        dev_count_list = query_single_with_no_parameter(dev_count_sql, 'list')
        dev_count = dev_count_list[0]

        non_dev_count_sql = f"""
                            select count(*)
                                from (
                                     select a.fslipno, a.fstatus, count(*) count
                                     from (
                                          select distinct qahf.fslipno, qahf.fstatus
                                          from liaisonf,
                                               qahf
                                          where liaisonf.fslipno = qahf.fslipno
                                            and liaisonf.ftype <> '追加开发'
                                            and liaisonf.fstatus = '3'
                                            and liaisonf.forganization in {all_organization_group_tuple}) a
                                     group by a.fslipno, a.fstatus) b
                                where b.count = 1
                                  and b.fstatus = '4';
                                """

        non_dev_count_list = query_single_with_no_parameter(
            non_dev_count_sql, 'list')
        non_dev_count = non_dev_count_list[0]

        release = dev_count + non_dev_count

        response_data = []
        task_dict = {}

        task_dict['mcl'] = mcl
        task_dict['pcl'] = pcl
        task_dict['approval'] = approval
        task_dict['confirm'] = confirm
        task_dict['release'] = release

        response_data.append(task_dict)

        return Response(data=response_data, status=status.HTTP_200_OK)