Example #1
0
    def GetRuleListInput(self):
        SQL = 'select name from general_info where type="S_DFRLIB"'
        res = g_DB.ExecuteAndReturn(SQL)
        if not res: return False

        SQL = 'select distinct inputtype,inputmethod,inputoption from dfr_inputfact,dfr_r_rule_input,('
        IsFirst = True

        for d in res:
            if not IsFirst: SQL += ' UNION '
            SQL += 'select code,RuleContent,product'
            SQL += ' from ' + d.get('name', '')
            IsFirst = False

        SQL += ') as ruleQuery '
        SQL += 'where ((Product="通用") or (Product like "%' + g_Task.ProductType + '%"))'
        SQL += 'and ruleQuery.code=dfr_r_rule_input.ruleID and dfr_r_rule_input.inputID=dfr_inputfact.code '
        SQL += 'order by inputtype'

        res1 = g_DB.ExecuteAndReturn(SQL)
        if not res1: return False

        IsFirst = True
        top = 15
        for d1 in res1:
            SQL = 'select distinct dfr_inputfact.code as code,InputDescription,InputMethod,InputOption,TrigCond'
            SQL += ' from dfr_inputfact,dfr_r_rule_input,('
            for d in res:
                if not IsFirst: SQL += ' UNION '
                SQL += 'select code,RuleContent,product'
                SQL += ' from ' + d.get('name', '')
                IsFirst = False

            SQL += ') as ruleQuery '
            SQL += 'where ((Product="通用") or (Product like "%' + g_Task.ProductType + '%"))'
            SQL += 'and ruleQuery.code=dfr_r_rule_input.ruleID and dfr_r_rule_input.InputID=dfr_inputfact.Code '
            SQL += 'and InputType="' + d1['inputtype'] + '"'

            res2 = g_DB.ExecuteAndReturn(SQL)
            if not res2: return False

            RowCount = math.ceil(len(res1) + 1 / 5)
            height = 30 + RowCount * 22
            size = [5, top, 700, height]
            top += height + 20

            CheckBoXList = self.CreateCheckBoXList(res1[0]['inputtype'], size,
                                                   RowCount)

            Row = 1
            Col = 0
            for d in res2:
                self.AddCheckBox(CheckBoXList, Row, Col, d['InputDescription'])
                Col += 1
                if Col == 5:
                    Row += 1
                    Col = 0
Example #2
0
    def GetDepartMent(self):
        SQL = 'select DISTINCT WorkingDepartMent from u_User'
        data = g_DB.ExecuteAndReturn(SQL)

        res = []
        for d in data:
            res.append(d['WorkingDepartMent'])
        return res
Example #3
0
    def GetRightName(self):
        SQL = 'select DISTINCT RightName from u_right_action'
        data = g_DB.ExecuteAndReturn(SQL)

        res = []
        for d in data:
            res.append(d['RightName'])
        return res
Example #4
0
    def SubmitTask(self):
        data, PCBCode = self.GetDataFromView()
        if not data:
            return False

        if not g_DB.insert('u_task', data):
            return False

        SQL = r'select * from c_taskroledef order by code'

        now = str(time.strftime("%Y/%m/%d", time.localtime()))
        data1 = {}
        data1.setdefault('TaskName', data['TaskName'])
        data1.setdefault('SubTaskStartDate', '"%s"' % now)
        data1.setdefault('SubTaskEndDate', '"%s"' % now)
        data1.setdefault('SubTaskRealDate', '"%s"' % now)
        data1.setdefault('SubTaskOwner', data['TaskOwner'])

        IsFirst = True
        res = g_DB.ExecuteAndReturn(SQL)
        if not res: return False
        for d in res:
            data1['SubTaskID'] = '"%d"' % d.get('Code', '')
            data1['SubTaskName'] = '"%s"' % d.get('Role', '')
            if IsFirst:
                data1['SubTaskStatus'] = '"%s"' % '进行中'
            else:
                data1['SubTaskStatus'] = '"%s"' % '未启动'

            if not g_DB.insert('u_taskdetail', data1):
                return False

            IsFirst = False

        #该需求待定
        # for code in PCBCode.split(','):
        #     data1['PCBCode'] = '"%s"' % code
        #     SQL = 'UPDATE u_r_PCB_Product SET PCBCode = %s WHERE TaskName = %s' % (('"%s"' % code), data['TaskName'])
        #     if not g_DB.Execute(SQL):
        #         return False

        g_Task.Task = data['TaskName'][1:-1]
        g_Task.ProductType = data['ProductType'][1:-1]
        g_Task.ProductEnv = data['Env'][1:-1]

        #数据库执行正确
        return True
Example #5
0
    def Submit(self):
        try:
            result = False
            destPath = g_Data.path + 'Project\\' + g_Task.task + '\\'
            if not os.path.exists(destPath):
                os.mkdir(destPath)

            SQL = 'select * from u_r_pcb_product where TaskName="' + g_Task.Task + '"'

            res = g_DB.ExecuteAndReturn(SQL)
            if not res: return result

            PCBCode = res[0]['PCBCode']
            ExcelFileName = destPath + g_Task.Task + PCBCode + '_Input.xls'
            if not self._SaveDataToExcel(ExcelFileName):
                g_Log.LogError('存储Excel错误')
                return result

            BDMPos, BrdPos = self.GetFileName()
            shutil.copy(BDMPos, destPath + '_' + PCBCode + '_Bom.xls')
            shutil.copy(BrdPos, destPath + '_' + PCBCode + '_Brd.brd')

            data = {}
            data.setdefault('brd_LocalPath', '"%s"' % BrdPos)
            data.setdefault('Bom_LocalPath', '"%s"' % BDMPos)
            data.setdefault('Input_LocalPath', '"%s"' % ExcelFileName)
            data.setdefault('InputFlag', '1')

            if not g_DB.insert('u_r_pcb_product', data,
                               'TaskName="' + g_Task.Task + '"'):
                return result

            result = True
            return result
        finally:
            if result:
                self._ShowMessage((PCBCode + '单板信息提交完成!'))
            else:
                self._ShowMessage(('单板信息提交失败!'))
Example #6
0
 def GetUserInfo(self, UserName):
     SQL = 'select * from u_User WHERE Username="******"'
     return g_DB.ExecuteAndReturn(SQL)[0]
Example #7
0
 def CheckUserName(self, UserName):
     SQL = 'select UserName from u_User WHERE Username="******"'
     return bool(g_DB.ExecuteAndReturn(SQL))