예제 #1
0
    def conserveButtonEvent(self, Form):
        """
        hsj 新建产品组件界面的保存按钮事件
        :return:
        """
        Num = self.Num.text()
        Title = self.Title.text()
        Source = self.Source.text()
        Publisher = getCurrentUserId()
        Rtime = self.Rtime.text()
        Etime = self.Etime.text()
        Readrange = self.Readrange.text()
        Content = self.Content.toPlainText()

        logger = logToFile()
        UserId = getCurrentUserId()

        # remark = self.remark.toPlainText()

        # 如果必要的信息都不为空
        if Title == "" or Source == "" or Publisher == "" or Readrange == "" or Content == "" or Etime == "":
            logger.info("用户:" + str(UserId) + " 新建知识库数据失败(必要信息为空)")
            print(
                QMessageBox.information(QDialog(), "提示", "有字段为空,添加失败!",
                                        QMessageBox.Yes, QMessageBox.Yes))
            return
        else:
            num = self.checkOn(Num)
            if num == 0:
                logger.info("用户:" + str(UserId) + " 新建知识库数据失败(添加信息未通过检测)")
                revert_sql = "INSERT INTO T_Knowladge_Base_Mangement VALUES (null, '%s', '%s'," \
                                                                             " '%s', '%s', '%s', " \
                                                                             "'%s', '%s')" \
                             % (Title, Source, Publisher, Rtime, Etime, Readrange, Content)
                self.query.exec(revert_sql)
                self.db.commit()
                return
            insert_sql = "INSERT INTO T_Knowladge_Base_Mangement VALUES (null, '%s', '%s'," \
                                                                         " '%s', '%s', '%s', " \
                                                                         "'%s', '%s')" \
                         % (Title, Source, Publisher, Rtime, Etime, Readrange, Content)
            self.query.exec(insert_sql)
            self.db.commit()

            logger.info("用户:" + str(UserId) + " 新建知识库数据成功!数据为:[" + str(Title) +
                        "," + str(Source) + "," + str(Publisher) + "," +
                        str(Rtime) + "," + str(Etime) + "," + str(Readrange) +
                        "," + str(Content) + "]")
            confirm = QMessageBox.information(QDialog(), "提示", "新建成功!",
                                              QMessageBox.Yes, QMessageBox.Yes)
            if confirm == QMessageBox.Yes:
                Form.close()
예제 #2
0
    def updateButtonEvent(self, queryModel):
        """
        更新界面按钮事件
        :param queryModel:
        :return:
        """

        #print(('shank'))
        Num = self.Num.text()
        Title = self.Title.text()
        Source = self.Source.text()
        Publisher = getCurrentUserId()
        Rtime = self.Rtime.text()
        Etime = self.Etime.text()
        Readrange = self.Readrange.text()
        Content = self.Content.toPlainText()
        # remark = self.remark.toPlainText()

        queryModel.delete()

        logger = logToFile()
        UserId = getCurrentUserId()

        # 如果必要的信息都不为空
        if Title == "" or Source == "" or Publisher == "" or Readrange == "" or Content == "" or Etime == "":
            print(
                QMessageBox.information(QDialog(), "提示", "有字段为空,添加失败!",
                                        QMessageBox.Yes, QMessageBox.Yes))

            return
        else:
            num = self.checkOn(Num)
            if num == 0:
                return
            insert_sql = "INSERT INTO T_Knowladge_Base_Mangement VALUES ('%s', '%s', '%s'," \
                                                                        " '%s', '%s', '%s', " \
                                                                        "'%s', '%s')" \
                         % (Num,Title, Source, Publisher, Rtime, Etime, Readrange, Content)
            self.query.exec(insert_sql)
            self.db.commit()
            logger.info("用户:" + str(UserId) + " 修改知识库数据成功!数据为:[" + str(Title) +
                        "," + str(Source) + "," + str(Publisher) + "," +
                        str(Rtime) + "," + str(Etime) + "," + str(Readrange) +
                        "," + str(Content) + "]")
            confirm = QMessageBox.information(QDialog(), "提示", "更改成功!",
                                              QMessageBox.Yes, QMessageBox.Yes)
            if confirm == QMessageBox.Yes:
                self.form.close()
예제 #3
0
    def deleteProduct(self):
        """
        hsj 删除选中的产品,并且关联删除
        :return:
        """
        UserId = getCurrentUserId()
        logger = logToFile()

        db = openDB()
        query = QSqlQuery()
        for i, isSelected in enumerate(self.checkList):
            if isSelected == "Checked":
                sql = "DELETE FROM T_Product_New WHERE ProductID = '%s'" % (
                    self.data_list[i][0])
                logger.info("用户:" + str(UserId) +
                            " 删除了 T_Product_New 表(产品信息表)中的产品ID为:" +
                            str(self.data_list[i][0]) + "的数据项")
                #print(sql)
                query.exec(sql)
                sql = "DELETE FROM T_ProductComponent_New WHERE ProductID = '%s'" % (
                    self.data_list[i][0])
                logger.info("用户:" + str(UserId) +
                            " 删除 T_ProductComponent_New 表(产品组件表)中的产品ID为:" +
                            str(self.data_list[i][0]) + "的数据项")
                print(sql)
                sql = "DELETE FROM MaintenanceWay WHERE ProductID = '%s'" % (
                    self.data_list[i][0])
                logger.info("用户:" + str(UserId) +
                            " 删除 MaintenanceWay 表(维保方式表)中的产品ID为:" +
                            str(self.data_list[i][0]) + "的数据项")
                query.exec(sql)
        db.commit()
        self.refreshPage()
 def updateData(self, list, queryModel):
     """
     修改入库信息
     :param list:
     :return:
     """
     self.productID.addItem(list[1])
     # 获取所有的productID
     AddInStorage.get_product_NO(self)
     self.inStorageNo.setText(list[2])
     self.inTechState.setText(list[4])
     self.isUsed.setItemText(0, list[5])
     self.updateID.setText(getCurrentUserId())
     self.createTime.setDateTime(
         datetime.strptime(list[7], "%Y-%m-%d %H:%M:%S"))
     self.createTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
     self.updateTime.setDateTime(QDateTime.currentDateTime())
     self.updateTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
     self.remark.setText(list[10])
     self.inNO.setText(str(list[11]))
     global in_count
     in_count = int(list[12])
     self.inCount.setRange(0, in_count)
     self.inCount.setValue(in_count)
     db = openDB()
     query = QSqlQuery()
     sql = "SELECT * FROM T_In_Base where InNO='%s'" % self.inNO.text()
     query.exec(sql)
     if query.next():
         self.outNO.setText(query.value(2))
         self.inDate.setDateTime(
             datetime.strptime(query.value(3), "%Y-%m-%d"))
         self.inDate.setDisplayFormat("yyyy-MM-dd")
         self.inRecorderPerson.setText(query.value(4))
         db.close()
 def retranslateUi(self, Dialog):
     _translate = QtCore.QCoreApplication.translate
     Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
     self.titleLabel.setText(_translate("Dialog", "新建产品信息"))
     self.iDLabel.setText(_translate("Dialog", "产品代号:"))
     self.Label_2.setText(_translate("Dialog", "批次编号:"))
     self.Label_4.setText(_translate("Dialog", "接收人:"))
     self.Label_5.setText(_translate("Dialog", "接收日期:"))
     self.Label_7.setText(_translate("Dialog", "接收单位:"))
     self.Label_11.setText(_translate("Dialog", "寿命类型:"))
     self.Label_13.setText(_translate("Dialog", "寿命时间:"))
     self.Label_15.setText(_translate("Dialog", "距寿命到期时间提醒:"))
     self.Label_9.setText(_translate("Dialog", "存放库房:"))
     self.Label.setText(_translate("Dialog", "产品名称:"))
     self.fatherLabel.setText(_translate("Dialog", "数量:"))
     self.Label_3.setText(_translate("Dialog", "交付人:"))
     self.displayOrderLabel.setText(_translate("Dialog", "交付日期:"))
     self.Label_6.setText(_translate("Dialog", "交付单位:"))
     self.Label_8.setText(_translate("Dialog", "技术文档:"))
     self.document.setText(_translate("Dialog", "选择文档"))
     self.Label_10.setText(_translate("Dialog", "初次维保时间:"))
     self.Label_12.setText(_translate("Dialog", "维保间隔:"))
     self.Label_14.setText(_translate("Dialog", "距下次维保时间提醒:"))
     self.conserveButton.setText(_translate("Dialog", "保存"))
     self.cancelButton.setText(_translate("Dialog", "取消"))
     self.receiver.setText(getCurrentUserId())
    def updateButtonEvent(self, Widget):
        """
        hsj 修改产品批次信息
        :param Widget: 要显示的窗体
        :return:
        """

        logger = logToFile()
        UserId = getCurrentUserId()
        tableName = self.queryModel.table
        result = self.queryModel.selectSingleTable()
        logger.info("用户:" + str(UserId) + " 点击了更新按钮,试图更新 " + " 产品入库 " + "表中的原数据:" + str(result))

        # 判断复选框是否只选中一个
        a = self.isCorrect()
        if a == 0:
            return
        result = self.queryModel.selectSingleTable()
        batchDialog = Widget
        form = QDialog()
        batchDialog.setupUi(form)
        batchDialog.updateData(result, self.queryModel)
        form.show()
        a = form.exec()
        # 如果对话框关闭,则对查询数据进行更行
        if a == 0:
            self.queryModel.refreshPage()
            self.queryModel.update()
예제 #7
0
    def deleteCompoment(self):
        """
        hsj 删除选中的组件及关联删除
        :return:
        """
        UserId = getCurrentUserId()
        logger = logToFile()

        self.db = openDB()
        self.query = QSqlQuery()
        for i, isSelected in enumerate(self.checkList):
            if isSelected == "Checked":
                sql = "DELETE FROM %s WHERE %s = '%s'" % (
                    self.table, self.tableKey, self.data_list[i][0])
                self.query.exec(sql)
                logger.info("用户:" + str(UserId) + " 删除了 " + str(self.table) +
                            " 表中的主键 " + str(self.tableKey) + " = " +
                            str(self.data_list[i][0]) + "的组件,及其全部子组件")
                # sql = "DELETE FROM T_Product WHERE ProductNO = '%s'" % (self.data_list[i][2])
                # query.exec(sql)
                # sql = "DELETE FROM %s WHERE FatherID = '%s' AND ProductID = '%s'" % (self.table, self.data_list[i][0], self.data_list[i][1])
                self.deleteComponent_Sub(self.data_list[i][0])
                # print(sql)
                self.query.exec(sql)
                # sql = "DELETE FROM T_Product_Component WHERE ProductID = '%s'" % (self.data_list[i][2])
                # query.exec(sql)
        self.db.commit()

        self.refreshPage()
 def retranslateUi(self, Dialog):
     _translate = QtCore.QCoreApplication.translate
     Dialog.setWindowTitle(_translate("Dialog", "出库信息修改"))
     self.label.setText(_translate("Dialog", "出库信息修改"))
     self.label_2.setText(_translate("Dialog", "出库编号:"))
     self.Label.setText(_translate("Dialog", "产品编号:"))
     self.iDLabel.setText(_translate("Dialog", "使用部门:"))
     self.label_3.setText(_translate("Dialog", "出库日期:"))
     self.Label_2.setText(_translate("Dialog", "出库库房:"))
     self.label_4.setText(_translate("Dialog", "是否归还:"))
     self.Label_3.setText(_translate("Dialog", "登  记  人:"))
     self.Label_4.setText(_translate("Dialog", "技术状态:"))
     self.Label_13.setText(_translate("Dialog", "创建时间:"))
     self.Label_12.setText(_translate("Dialog", "备       注:"))
     self.label_5.setText(_translate("Dialog", "使  用  人:"))
     self.label_6.setText(_translate("Dialog", "出库原因:"))
     self.isReturn.setItemText(0, _translate("Dialog", "是"))
     self.isReturn.setItemText(1, _translate("Dialog", "否"))
     self.label_7.setText(_translate("Dialog", "更新时间:"))
     self.label_8.setText(_translate("Dialog", "更新人ID"))
     self.label_9.setText(_translate("Dialog", "出库数量:"))
     # 提交和取消按钮点击事件
     cancel_button = self.buttonBox.button(QDialogButtonBox.Cancel)
     ok_button = self.buttonBox.button(QDialogButtonBox.Ok)
     cancel_button.setText("取消")
     ok_button.setText("修改")
     # 设置创建时间
     self.updateTime.setDateTime(QDateTime.currentDateTime())
     self.updateTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
     # 设置更新人ID
     self.updateID.setText(str(getCurrentUserId()))
     # 提交槽函数
     ok_button.clicked.connect(self.ok_fun)
     # 取消槽函数
     cancel_button.clicked.connect(self.cancel_fun)
    def deleteButtonEvent(self):
        """
        hsj 删除按钮绑定事件
        :return:
        """
        # print(self.queryModel.checkList.count("Checked"))
        # 如果没有选中数据,则提示无数据

        logger = logToFile()
        UserId = getCurrentUserId()
        data = self.queryModel.getAllCheckedData()
        tableName = self.queryModel.table
        logger.info("用户:" + str(UserId) + " 点击了删除按钮,试图删除 " + str(tableName) +
                    " 表中的数据:" + str(data))

        if self.queryModel.checkList.count("Checked") == 0:
            logger.info("用户:" + str(UserId) + " 删除失败(没有选择要删除的数据)")
            QMessageBox.warning(QDialog(), "警告", "没有数据被选中,请选中后重试!",
                                QMessageBox.Yes, QMessageBox.Yes)
            return
        a = QMessageBox.information(QDialog(), "提示", "是否确认删除?",
                                    QMessageBox.Yes, QMessageBox.No)
        if a == QMessageBox.No:
            logger.info("用户:" + str(UserId) + " 取消了删除")
            return
        self.queryModel.deleteOut()
        self.queryModel.update()
        self.updateBottomWidget()
    def updateButtonEvent(self, queryModel):
        """
        更新界面按钮事件
        :param queryModel:
        :return:
        """

        UserId = getCurrentUserId()
        logger = logToFile()

        # print(self.pre_list)
        ComponentID = self.pre_list[1]
        productID = self.productID.currentText()
        componentNO = self.componentNO.text()
        componentName = self.componentName.text()
        fatherID = self.fatherID.currentText()
        componentType = self.componentType.currentText()
        count = self.count.text()
        liftType = self.lifeType.currentText()
        lifeTime = self.lifeTime.text()
        tolifeDays = self.toLifeDays.text()
        firstMaintainTime = self.firstMaintainTime.text()
        maintainInterval = self.maintainInterval.text()
        toMaintainDays = self.toMaintainDays.text()
        componentID = self.getComponentID()
        if fatherID == "0":
            fatherID = "无父组件"
        # 如果必要的信息都不为空
        if productID == "" or componentNO == "":
            print(
                QMessageBox.information(QDialog(), "提示", "有字段为空,添加失败!",
                                        QMessageBox.Yes, QMessageBox.Yes))
            return
        self.db = openDB()
        self.query = QSqlQuery()
        sql = "UPDATE T_ProductComponent_New SET (productID, componentNO, componentName, fatherID, componentType, count, lifeType,lifeTime, tolifeDays, firstMaintainTime, maintainInterval, toMaintainDays) = ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s') WHERE ComponentID = '%s'"\
              % (productID, componentNO, componentName, fatherID, componentType, count, liftType, lifeTime, tolifeDays, firstMaintainTime, maintainInterval, toMaintainDays, ComponentID)
        # print(sql)
        # update_sql = "UPDATE T_Product_New SET (ProductNO, ProductName, BatchNO, Receiver, ReceiverDate, ReceiverCompany, Registerer, RegisterDate, RegisterCompany, InitCount, Count, StorePlace, LifeType, LifeTime, ToLifeDays, FirstMaintainTime, ToMaintainDays, MaintainInterval, Document) = " \
        #              "('%s', '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s', '%s','%s','%s','%s','%s','%s') WHERE ProductID = '%s'" % \
        #              (productNO, productName, batchNO, receiver, receiverDate, receiverCompany, registerer, registerDate, registerCompany, initCount, count, storePlace, lifeType, lifeTime, toliftDays, firstMaintainTime, toMaintainDays, maintainInterval, document, productID)

        self.query.exec(sql)
        self.db.commit()
        logger.info("用户:" + str(UserId) +
                    " 修改了 T_ProductComponent_New 表的数据,新数据为:[" +
                    str(componentID) + "," + str(productID) + "," +
                    str(componentNO) + "," + str(componentName) + "," +
                    str(fatherID) + "," + str(componentType) + "," +
                    str(count) + "," + str(liftType) + "," + str(lifeTime) +
                    "," + str(tolifeDays) + "," + str(firstMaintainTime) +
                    "," + str(maintainInterval) + "," + str(toMaintainDays) +
                    "]")
        confirm = QMessageBox.information(QDialog(), "提示", "产品更改成功!",
                                          QMessageBox.Yes, QMessageBox.Yes)
        if confirm == QMessageBox.Yes:
            self.dialog.close()
    def updateButtonEvent(self, queryModel):
        """
        更新界面按钮事件
        :param queryModel:
        :return:
        """
        logger = logToFile()
        UserId = getCurrentUserId()

        # print(self.pre_list)
        productID = self.pre_list[1]
        productNO = self.productNO.text()
        productName = self.productName.text()
        batchNO = self.batchNO.text()
        receiver = self.receiver.text()
        receiverDate = self.receiverDate.text()
        receiverCompany = self.receiverCompany.text()
        registerer = self.registerer.text()
        registerDate = self.registerDate.text()
        registerCompany = self.registerCompany.text()
        count = self.count.text()
        initCount = int(self.pre_list[11]) + int(count) - int(
            self.pre_list[12])

        storePlace = self.storePlace.currentText()
        lifeType = self.lifeType.currentText()
        lifeTime = self.lifeTime.text()
        toliftDays = self.toLifeDays.text()
        firstMaintainTime = self.firstMaintainTime.text()
        maintainInterval = self.maintainInterval.text()
        toMaintainDays = self.toMaintainDays.text()
        document = self.document.text()
        self.db = openDB()
        self.query = QSqlQuery()
        update_sql = "UPDATE T_Product_New SET (ProductNO, ProductName, BatchNO, Receiver, ReceiverDate, ReceiverCompany, Registerer, RegisterDate, RegisterCompany, InitCount, Count, StorePlace, LifeType, LifeTime, ToLifeDays, FirstMaintainTime, ToMaintainDays, MaintainInterval, Document) = " \
                     "('%s', '%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s', '%s', '%s','%s','%s','%s','%s','%s') WHERE ProductID = '%s'" % \
                     (productNO, productName, batchNO, receiver, receiverDate, receiverCompany, registerer, registerDate, registerCompany, initCount, count, storePlace, lifeType, lifeTime, toliftDays, firstMaintainTime, toMaintainDays, maintainInterval, document, productID)
        logger.info("用户: " + str(UserId) + " 更新了一条T_Product_New表数据,新数据为:[" +
                    str(productID) + "," + str(productNO) + "," +
                    str(productName) + "," + str(batchNO) + "," +
                    str(receiver) + "," + str(receiverDate) + "," +
                    str(receiverCompany) + "," + str(registerer) + "," +
                    str(receiverDate) + "," + str(receiverCompany) + "," +
                    str(count) + "," + str(count) + "," + str(storePlace) +
                    "," + str(lifeType) + "," + str(lifeTime) + "," +
                    str(toliftDays) + "," + str(firstMaintainTime) + "," +
                    str(toMaintainDays) + "," + str(maintainInterval) + "," +
                    str(document) + "]")

        # print(update_sql)
        self.query.exec(update_sql)
        self.db.commit()
        confirm = QMessageBox.information(QDialog(), "提示", "产品更改成功!",
                                          QMessageBox.Yes, QMessageBox.Yes)
        if confirm == QMessageBox.Yes:
            self.dialog.close()
    def conserveButtonEvent(self, Dialog):
        """
        hsj 新建产品组件界面的保存按钮事件
        :return:
        """
        logger = logToFile()
        UserId = getCurrentUserId()

        productID = self.productID.currentText()
        componentNO = self.componentNO.text()
        componentName = self.componentName.text()
        fatherID = self.fatherID.currentText()
        componentType = self.componentType.currentText()
        count = self.count.text()
        liftType = self.lifeType.currentText()
        lifeTime = self.lifeTime.text()
        tolifeDays = self.toLifeDays.text()
        firstMaintainTime = self.firstMaintainTime.text()
        maintainInterval = self.maintainInterval.text()
        toMaintainDays = self.toMaintainDays.text()
        componentID = self.getComponentID()
        if fatherID == "0":
            fatherID = "无父组件"
        # 如果必要的信息都不为空
        if productID == "" or componentNO == "":
            print(
                QMessageBox.information(QDialog(), "提示", "有字段为空,添加失败!",
                                        QMessageBox.Yes, QMessageBox.Yes))
            return
        else:
            num = self.checkOn(productID, fatherID)
            if num == 0:
                return
            insert_sql = "INSERT INTO T_ProductComponent_New VALUES (null, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')" \
                         % (componentID, productID, componentNO, componentName, fatherID, componentType, count, liftType, lifeTime, tolifeDays, firstMaintainTime, maintainInterval, toMaintainDays)
            self.query.exec(insert_sql)
            self.db.commit()

            logger.info("用户:" + str(UserId) +
                        " 新建了一个 T_ProductComponent_New 表的数据,新数据为:[" +
                        str(componentID) + "," + str(productID) + "," +
                        str(componentNO) + "," + str(componentName) + "," +
                        str(fatherID) + "," + str(componentType) + "," +
                        str(count) + "," + str(liftType) + "," +
                        str(lifeTime) + "," + str(tolifeDays) + "," +
                        str(firstMaintainTime) + "," + str(maintainInterval) +
                        "," + str(toMaintainDays) + "]")

            confirm = QMessageBox.information(QDialog(), "提示", "组件新建成功!",
                                              QMessageBox.Yes, QMessageBox.Yes)
            if confirm == QMessageBox.Yes:
                Dialog.close()
예제 #13
0
    def updateData(self, list, queryModel):
        """
        修改产品批次信息
        :param list:
        :return:
        """
        # print("list",list)
        self.pre_list = list
        self.label.setText("修改维保记录信息")
        self.conserveButton.disconnect()
        self.conserveButton.clicked.connect(
            lambda: self.updateButtonEvent(queryModel))
        # print("AddMWView中的updateData方法正常启动!"

        self.mrID.setText(list[0])
        self.productID.setCurrentText(list[1])
        self.productName.setText(list[2])
        self.productNO.setText(list[3])
        self.mwID.setCurrentText(list[4])
        self.mwName.setText(list[5])
        try:
            self.mrTime.setDateTime(datetime.strptime(list[6], "%Y-%m-%d"))
            self.mrTime.setDisplayFormat("yyyy-MM-dd")
        except Exception as e:
            print(e)
        self.mrPart.setText(list[7])
        self.mrLead.setText(list[8])
        self.mrResult.setText(list[9])
        self.creator.setText(list[10])

        try:
            # print(list[9])
            self.createTime.setDateTime(
                datetime.strptime(list[11], "%Y-%m-%d %H:%M:%S"))
            self.createTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
            # print('list9输出流')
        except Exception as e:
            print(e)
        self.updateName.setText(getCurrentUserId())
        # 设置更新时间

        try:
            self.updateTime.setDateTime(QDateTime.currentDateTime(),
                                        "%Y-%m-%d %H:%M:%S")
            self.updateTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
        except Exception as e:
            print(e)

        self.documentPathButton.setText(list[14])
        self.remark.setText(list[15])
 def addButtonEvent(self, Widget):
     logger = logToFile()
     UserId = getCurrentUserId()
     tableName = self.queryModel.table
     logger.info("用户:" + str(UserId) + " 点击了添加按钮,试图在 " + str(tableName) +
                 " 表中添加数据项")
     form = QDialog()
     w = Widget
     w.setupUi(form)
     form.show()
     a = form.exec_()
     # 如果对话框关闭,则对查询数据进行更行
     if a == 0:
         self.queryModel.refreshPage()
         self.queryModel.update()
         self.updateUI()
예제 #15
0
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "入库信息录入"))
        self.label.setText(_translate("Dialog", "入库信息录入"))
        self.label_2.setText(_translate("Dialog", "入库编号:"))
        self.Label.setText(_translate("Dialog", "产品编号:"))
        self.iDLabel.setText(_translate("Dialog", "出库编号:"))
        self.label_3.setText(_translate("Dialog", "入库日期:"))
        self.Label_2.setText(_translate("Dialog", "入库库房:"))
        self.Label_3.setText(_translate("Dialog", "入  库  人:"))
        self.Label_4.setText(_translate("Dialog", "技术状态:"))
        self.Label_13.setText(_translate("Dialog", "创建时间:"))
        self.Label_12.setText(_translate("Dialog", "备       注:"))
        self.label_4.setText(_translate("Dialog", "是否用过:"))
        self.isUsed.setItemText(0, _translate("Dialog", "是"))
        self.isUsed.setItemText(1, _translate("Dialog", "否"))
        self.label_6.setText(_translate("Dialog", "入库数量:"))
        self.outNO.setDisabled(True)
        self.createTime.setDisabled(True)

        # 设置创建时间
        self.createTime.setDateTime(QDateTime.currentDateTime())
        self.createTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
        # 设置入库日期
        self.inDate.setDateTime(QDateTime.currentDateTime())
        self.inDate.setDisplayFormat("yyyy-MM-dd")
        # 设置入库编号(日期+三位流水号)
        self.inNO.setText(self.getInNO())
        # 设置登记人ID
        self.inRecorderPerson.setText(str(getCurrentUserId()))
        # 提交和取消按钮点击事件
        cancel_button = self.buttonBox.button(QDialogButtonBox.Cancel)
        ok_button = self.buttonBox.button(QDialogButtonBox.Ok)
        cancel_button.setText("取消")
        ok_button.setText("提交")
        # 获取所有的产品编号
        self.get_product_NO()
        # 设置productID的完成编辑信号和获取数据库中出库编号的槽函数
        self.productID.currentTextChanged.connect(self.getOutNO)
        # 获取产品数量并设置校验的槽函数
        self.productID.currentTextChanged.connect(self.get_count)
        # 提交的槽函数
        ok_button.clicked.connect(self.ok_fun)
        # 取消的槽函数
        cancel_button.clicked.connect(self.cancel_fun)
    def conserveButtonEvent(self, Dialog):
        """
        hsj 新建产品界面的保存按钮事件
        :return:
        """
        logger = logToFile()
        UserId = getCurrentUserId()
        faultID = self.faultID.text()
        faultName = self.faultName.text()
        productName = self.productName.text()
        question_str = self.question.toPlainText()
        question = question_str.replace("?", "?").replace(",", ",")
        answer_str = self.answer.text()
        if answer_str.endswith(";") or answer_str.endswith(";"):
            answer_str = answer_str[:-1]
        answer = answer_str.replace(";", ";")
        answers = answer.split(";")
        answerCount = len(answers)
        if self.answerCount.text() != str(answerCount):
            QMessageBox.information(QDialog(), "提示", "输入的问题答案和决策树深度不匹配!", QMessageBox.Yes, QMessageBox.Yes)
            return
        knowledgeID = self.knowledgeID.currentText()


        # 如果必要的信息都不为空
        if productName == "" or faultName == "":
            logger.info("用户:" + str(UserId) + " 新建故障树分支失败(必要信息为空)")
            print(QMessageBox.warning(QDialog(), "警告", "有字段为空,添加失败!", QMessageBox.Yes, QMessageBox.Yes))
            return
        else:
            self.db = openDB()
            self.query = QSqlQuery()
            insert_sql = "INSERT INTO T_Diagnose VALUES (null, '%s', '%s', '%s', '%s', '%s', '%s', '%s')" %\
                         (faultID, faultName, productName, question, answer, answerCount, knowledgeID)
            print(insert_sql)
            self.query.exec_(insert_sql)
            self.db.commit()
            logger.info("用户:" + str(UserId) + " 新建故障树分支成功!数据为:[" +
                        str(faultID) + "," + str(faultName) + "," + str(productName) + "," +
                        str(question) + "," + str(answer) + "," + str(answerCount) + "," + str(knowledgeID) + "]")
            confirm = QMessageBox.information(QDialog(), "提示", "故障树分支新建成功!", QMessageBox.Yes, QMessageBox.Yes)
            if confirm == QMessageBox.Yes:
                Dialog.close()
 def retranslateUi(self, Dialog):
     _translate = QtCore.QCoreApplication.translate
     Dialog.setWindowTitle(_translate("Dialog", "出库信息录入"))
     self.label.setText(_translate("Dialog", "出库信息录入"))
     self.label_2.setText(_translate("Dialog", "出库编号:"))
     self.Label.setText(_translate("Dialog", "产品编号:"))
     self.iDLabel.setText(_translate("Dialog", "使用部门:"))
     self.label_5.setText(_translate("Dialog", "使  用  人:"))
     self.label_3.setText(_translate("Dialog", "出库日期:"))
     self.Label_2.setText(_translate("Dialog", "出库库房:"))
     self.label_9.setText(_translate("Dialog", "出库数量:"))
     self.label_4.setText(_translate("Dialog", "是否归还:"))
     self.isReturn.setItemText(0, _translate("Dialog", "否"))
     self.isReturn.setItemText(1, _translate("Dialog", "是"))
     self.label_10.setText(_translate("Dialog", "登  记  人:"))
     self.Label_4.setText(_translate("Dialog", "技术状态:"))
     self.label_6.setText(_translate("Dialog", "出库原因:"))
     self.Label_13.setText(_translate("Dialog", "创建时间:"))
     self.Label_12.setText(_translate("Dialog", "备       注:"))
     self.createTime.setDateTime(QDateTime.currentDateTime())
     self.createTime.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
     # 设置出库日期
     self.outDate.setDateTime(QDateTime.currentDateTime())
     self.outDate.setDisplayFormat("yyyy-MM-dd")
     # 设置出库编号(日期+三位流水号)
     self.outNO.setText(self.getOutNO())
     # 设置记录人ID
     self.outRecorderPersonNO.setText(str(getCurrentUserId()))
     # 提交和取消按钮点击事件
     cancel_button = self.buttonBox.button(QDialogButtonBox.Cancel)
     ok_button = self.buttonBox.button(QDialogButtonBox.Ok)
     cancel_button.setText("取消")
     ok_button.setText("提交")
     # 获取所有的productID
     self.get_product_NO()
     # 获取产品数量并设置校验的槽函数
     self.productID.currentTextChanged.connect(self.get_count)
     # 提交的槽函数
     ok_button.clicked.connect(self.ok_fun)
     # 取消的槽函数
     cancel_button.clicked.connect(self.cancel_fun)
예제 #18
0
    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "Dialog"))
        self.label.setText(_translate("Dialog", "新增维保方式"))
        self.Label.setText(_translate("Dialog", "维保方式编号:"))
        self.Label_3.setText(_translate("Dialog", "维保方式名称:"))
        self.Label_5.setText(_translate("Dialog", "初次维保时间:"))
        self.Label_7.setText(_translate("Dialog", "最近维保时间:"))
        self.Label_9.setText(_translate("Dialog", "创建人员:"))
        self.Label_11.setText(_translate("Dialog", "修改人员:"))
        self.Label_13.setText(_translate("Dialog", "维保到期提醒:"))
        self.firstTime.setDisplayFormat(_translate("Dialog", "yyyy-MM-dd"))
        self.recentTime.setDisplayFormat(_translate("Dialog", "yyyy-MM-dd"))
        self.Label_2.setText(_translate("Dialog", "产品编号:"))
        self.Label_4.setText(_translate("Dialog", "产品名称:"))
        self.Label_6.setText(_translate("Dialog", "产品代号:"))
        self.Label_8.setText(_translate("Dialog", "维保时间间隔:"))
        self.Label_10.setText(_translate("Dialog", "创建时间:"))
        self.Label_12.setText(_translate("Dialog", "修改时间:"))
        self.Label_14.setText(_translate("Dialog", "备注:"))
        self.createTime.setDisplayFormat(
            _translate("Dialog", "yyyy-MM-dd HH:mm:ss"))
        self.updateTime.setDisplayFormat(
            _translate("Dialog", "yyyy-MM-dd HH:mm:ss"))
        self.Label_15.setText(_translate("Dialog", "维保操作说明:"))
        self.conserveButton.setText(_translate("Dialog", "保存"))
        self.cancelButton.setText(_translate("Dialog", "取消"))

        self.maintenanceWayID.setText(self.getMwID())
        self.creator.setText(getCurrentUserId())
        # 设置创建时间
        # 得到当前时间
        # now = datetime.now()
        # now.strftime('%Y/%m/%d %H/%M/%S')
        # self.createTime.setText(now)
        self.createTime.setDateTime(QDateTime.currentDateTime())
        self.updateTime.setDateTime(QDateTime.currentDateTime())

        # self.createTime.setText("--")
        self.updateName.setText("--")
    def updateButtonEvent(self, queryModel):
        """
        更新界面按钮事件
        :param queryModel:
        :return:
        """
        faultID = self.faultID.text()
        faultName = self.faultName.text()
        productName = self.productName.text()
        question_str = self.question.toPlainText()
        question = question_str.replace("?", "?")
        answer_str = self.answer.text()
        if answer_str.endswith(";") or answer_str.endswith(";"):
            answer_str = answer_str[:-1]
        answer = answer_str.replace(";", ";")
        answers = answer.split(";")
        answerCount = len(answers)

        logger = logToFile()
        UserId = getCurrentUserId()

        if self.answerCount.text() != str(answerCount):
            QMessageBox.information(QDialog(), "提示", "输入的问题答案和决策树深度不匹配!", QMessageBox.Yes, QMessageBox.Yes)
            return
        knowledgeID = self.knowledgeID.currentText()

        self.db = openDB()
        self.query = QSqlQuery()
        update_sql = "UPDATE T_Diagnose SET (FaultName, ProductName, Question, Answer, Answercount, KnowledgeID) = " \
                     "('%s', '%s','%s','%s','%s','%s') WHERE FaultID = '%s'" % \
                     (faultName, productName, question, answer, answerCount, knowledgeID, faultID)
        print(update_sql)
        self.query.exec(update_sql)
        self.db.commit()
        logger.info("用户:" + str(UserId) + " 修改故障树分支成功!数据为:[" +
                    str(faultID) + "," + str(faultName) + "," + str(productName) + "," +
                    str(question) + "," + str(answer) + "," + str(answerCount) + "," + str(knowledgeID) + "]")
        confirm = QMessageBox.information(QDialog(), "提示", "故障分支更改成功!", QMessageBox.Yes, QMessageBox.Yes)
        if confirm == QMessageBox.Yes:
            self.dialog.close()
    def deleteButtonEvent(self):
        """
        hsj 删除批次按钮绑定事件
        :return:
        """
        # print(self.queryModel.checkList.count("Checked"))
        # 如果没有选中数据,则提示无数据
        UserId = getCurrentUserId()
        logger = logToFile()

        logger.info("用户:" + str(UserId) + " 点击了删除按钮,试图删除:" +
                    str(self.queryModel.getData()))

        if self.queryModel.checkList.count("Checked") == 0:
            QMessageBox.warning(QDialog(), "警告", "没有数据被选中,请选中后重试!",
                                QMessageBox.Yes, QMessageBox.Yes)
            return
        a = QMessageBox.information(QDialog(), "提示", "是否确认删除?",
                                    QMessageBox.Yes, QMessageBox.No)
        if a == QMessageBox.No:
            return
        self.queryModel.deleteCompoment()
        self.queryModel.update()
예제 #21
0
 def deleteOut(self):
     """
    许帅 删除选中的出库信息,并且关联删除
     :return:
     """
     logger = logToFile()
     UserId = getCurrentUserId()
     db = openDB()
     query = QSqlQuery()
     for i, isSelected in enumerate(self.checkList):
         if isSelected == "Checked":
             global count
             global no
             sql = "SELECT ProductID,OutCount FROM T_Out_Detail WHERE OutNO = '%s'" % (
                 self.data_list[i][0])
             query.exec(sql)
             if query.next():
                 no = query.value(0)
                 count = query.value(1)
             sql = "UPDATE T_Product_New SET Count=Count+'%s' WHERE ProductID='%s'" % \
                   (int(count), no)
             query.exec(sql)
             sql = "DELETE FROM T_Out_Detail WHERE OutNO = '%s'" % (
                 self.data_list[i][0])
             query.exec(sql)
             logger.info("用户:" + str(UserId) +
                         " 删除了 T_Out_Detail 表中出库编号为 " +
                         self.data_list[i][0] + " 的数据 " +
                         str(self.data_list[i]))
             sql = "DELETE FROM T_Out_Base WHERE OutNO = '%s'" % (
                 self.data_list[i][0])
             query.exec(sql)
             logger.info("用户:" + str(UserId) + " 删除了 T_Out_Base 表中出库编号为 " +
                         self.data_list[i][0] + " 的数据 " +
                         str(self.data_list[i]))
     db.commit()
     self.refreshPage()
    def ok_fun(self):
        logger = logToFile()
        UserId = getCurrentUserId()
        verify_values = [self.outNO.text(),
                         self.outDate.text(),
                         self.usedID.text(),
                         self.usedDepartmentNO.text(),
                         self.outRecorderPersonNO.text(),
                         self.outReason.text(),
                         self.createTime.text(),
                         self.remark.toPlainText(),
                         self.productID.currentText(),
                         self.outStorageNo.text(),
                         self.outTechState.text(),
                         self.isReturn.currentText(),
                         self.createTime.text(),
                         self.remark.toPlainText(),
                         str(self.outCount.value())]
        flag = True
        for value in verify_values:
            if value == ' ' or value == '0' or value == '':
                flag = False
        if flag:
            db = openDB()
            q = QSqlQuery()
            sql = "UPDATE T_Out_Base SET outdate='%s', usedid='%s', useddepartmentid='%s', recorderid='%s', " \
                  "outreason='%s', " \
                  "createid='%s', createtime='%s', updateid='%s', updatetime='%s', remark='%s'  WHERE OutNO='%s'" \
                  % (self.outDate.text(), self.usedID.text(), self.usedDepartmentNO.text(),
                     self.outRecorderPersonNO.text(),
                     self.outReason.text(), 1, self.createTime.text(), self.updateID.text(), self.updateTime.text(),
                     self.remark.toPlainText(),
                     self.outNO.text())
            q.exec(sql)
            db.commit()
            logger.info("用户:" + str(UserId) + " 更新了一条产品出库基础信息" + "更新数据为:[" +
                        self.outNO.text() + " ," + self.outDate.text() + " ," + self.usedID.text() + " ," +
                        self.usedDepartmentNO.text() + " ," + self.outRecorderPersonNO.text() + " ," + self.outReason.text() + " ," +
                        str(UserId) + " ," + self.createTime.text() + " ," + str(UserId) + " ," +
                        self.createTime.text() + " ," + self.remark.toPlainText() + "]")

            sql = "UPDATE T_Out_Detail SET ProductID='%s', OutStorageNO='%s', OutTechState='%s', IsReturn='%s', " \
                  "CreateID='%s', createtime='%s', UpdateID='%s',updatetime='%s', remark='%s',OutCount='%s'  WHERE " \
                  "OutNO='%s'" \
                  % (self.productID.currentText(), self.outStorageNo.text(), self.outTechState.text(),
                     self.isReturn.currentText(), 1, self.createTime.text(), self.updateID.text(),
                     self.updateTime.text(), self.remark.toPlainText(), str(self.outCount.value()), self.outNO.text())
            q.exec(sql)
            db.commit()
            logger.info("用户:" + str(UserId) + " 更新了一条产品出库详细信息" + "更新数据为:["
                        + self.outNO.text() + " ," + self.productID.currentText() + " ," +
                        self.outStorageNo.text() + " ," + self.outTechState.text() + " ," +
                        self.isReturn.currentText() + " ," + str(UserId) + " ," +
                        self.createTime.text() + " ," + str(UserId) + " ," + self.updateTime.text() +
                        " ," + self.remark.toPlainText() + " ," + str(self.outCount.value()) + "]")
            sql = "UPDATE T_Product_New SET Count=Count+'%s' WHERE productID='%s'" % \
                  (out_count - int(self.outCount.value()), self.productID.currentText())
            q.exec(sql)
            db.commit()
            db.close()
            confirm = QMessageBox.information(QDialog(), "提示", "出库信息修改成功!", QMessageBox.Yes, QMessageBox.Yes)
            if confirm == QMessageBox.Yes:
                self.dialog.close()
        else:
            QMessageBox.information(QDialog(), "错误", "输入值不能为0或为空,请重新检查输入!", QMessageBox.Yes, QMessageBox.Yes)
    def conserveButtonEvent(self, Dialog):
        """
        hsj 新建产品界面的保存按钮事件
        :return:
        """
        logger = logToFile()
        UserId = getCurrentUserId()

        productNO = self.productNO.text()
        productName = self.productName.text()
        batchNO = self.batchNO.text()
        receiver = self.receiver.text()
        receiverDate = self.receiverDate.text()
        receiverCompany = self.receiverCompany.text()
        registerer = self.registerer.text()
        registerDate = self.registerDate.text()
        registerCompany = self.registerCompany.text()
        count = self.count.text()
        storePlace = self.storePlace.currentText()
        lifeType = self.lifeType.currentText()
        lifeTime = self.lifeTime.text()
        toliftDays = self.toLifeDays.text()
        firstMaintainTime = self.firstMaintainTime.text()
        maintainInterval = self.maintainInterval.text()
        toMaintainDays = self.toMaintainDays.text()
        document = self.document.text()
        productID = self.getProductID()
        maintenanceWayID = self.getMwID()

        # 如果必要的信息都不为空
        if productNO == "" or productName == "":
            print(
                QMessageBox.warning(QDialog(), "警告", "有字段为空,添加失败!",
                                    QMessageBox.Yes, QMessageBox.Yes))
            return
        else:
            # import time
            # createTime = time.strftime("%Y-%m-%d %H:%M:%S")
            self.db = openDB()
            self.query = QSqlQuery()
            insert_sql = "INSERT INTO T_Product_New VALUES (null, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')" %\
                         (productID, productNO, productName, batchNO, receiver, receiverDate, receiverCompany, registerer, registerDate, registerCompany, count, count, storePlace, lifeType, lifeTime , toliftDays, firstMaintainTime, toMaintainDays, maintainInterval, document)

            # print(insert_sql)
            self.query.exec_(insert_sql)

            maintenanceWayName = "默认维保方式"
            createTime = time.strftime("%Y-%m-%d %H:%M:%S")
            sql = "insert into MaintenanceWay (MaintenanceWayID, MaintenanceWayName, ProductID, ProductName, ProductNO, " \
                  "FirstTime, RecentTime, Interva, AlterRule, Creator, CreateTime," \
                  " UpdateName,UpdateTime,Operation, Remark) " \
                  "values ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '--', '%s','详情见技术文档', '无')" % (maintenanceWayID, maintenanceWayName, productID, productName, productNO,
                                 firstMaintainTime, firstMaintainTime, maintainInterval, toMaintainDays, registerer, createTime, createTime)
            self.query.exec_(sql)
            self.db.commit()
            confirm = QMessageBox.information(QDialog(), "提示", "产品新建成功!",
                                              QMessageBox.Yes, QMessageBox.Yes)
            logger.info("用户: " + str(UserId) +
                        " 新建了一条T_Product_New表数据,新数据为:[" + str(productID) +
                        "," + str(productNO) + "," + str(productName) + "," +
                        str(batchNO) + "," + str(receiver) + "," +
                        str(receiverDate) + "," + str(receiverCompany) + "," +
                        str(registerer) + "," + str(receiverDate) + "," +
                        str(receiverCompany) + "," + str(count) + "," +
                        str(count) + "," + str(storePlace) + "," +
                        str(lifeType) + "," + str(lifeTime) + "," +
                        str(toliftDays) + "," + str(firstMaintainTime) + "," +
                        str(toMaintainDays) + "," + str(maintainInterval) +
                        "," + str(document) + "]")
            if confirm == QMessageBox.Yes:
                Dialog.close()
예제 #24
0
    def ChangePasswordButtonClicked(self):

        currentUserId = getCurrentUserId()
        UserId = self.UserIdEdit.text()
        oldPassword = self.oldPasswordEdit.text()
        password = self.passwordEdit.text()
        confirmPassword = self.confirmPasswordEdit.text()
        logger = logToFile()
        if (UserId == "" or oldPassword == "" or password == ""
                or confirmPassword == ""):
            print(
                QMessageBox.warning(self, "警告", "输入不可为空,请重新输入",
                                    QMessageBox.Yes, QMessageBox.Yes))
            logger.info("用户: " + str(currentUserId) + " 输入为空修改密码失败")
            return
        db = openDB()
        query = QSqlQuery()
        sql = "SELECT * FROM User WHERE UserId='%s'" % UserId
        query.exec_(sql)
        # 如果用户不存在
        if (not query.next()):
            print(
                QMessageBox.warning(self, "警告", "该用户不存在,请重新输入",
                                    QMessageBox.Yes, QMessageBox.Yes))
            self.UserIdEdit.clear()
            logger.info("用户: " + str(currentUserId) + " 试图修改" + UserId +
                        "但用户不存在")
            return
            # 如果密码错误
        hl = hashlib.md5()
        hl.update(oldPassword.encode(encoding='utf-8'))
        md5password = hl.hexdigest()
        sql = "SELECT * FROM User WHERE Password='******' AND UserId='%s'" % (
            md5password, UserId)
        query.exec_(sql)
        if (not query.next()):
            print(
                QMessageBox.warning(self, "警告", "原密码不正确,请重新输入",
                                    QMessageBox.Yes, QMessageBox.Yes))
            logger.info("用户: " + str(currentUserId) + " 原密码错误,修改失败")
            self.oldPasswordEdit.clear()
            return
        # 密码与确认密码不同
        if (password != confirmPassword):
            print(
                QMessageBox.warning(self, "警告", "两次输入密码不同,请确认输入",
                                    QMessageBox.Yes, QMessageBox.Yes))
            logger.info("用户: " + str(currentUserId) + " 两次输入密码不同,修改失败")
            self.passwordEdit.clear()
            self.confirmPasswordEdit.clear()
            return
        # 修改密码
        hl = hashlib.md5()
        hl.update(password.encode(encoding='utf-8'))
        md5password = hl.hexdigest()
        sql = "UPDATE User SET Password='******' WHERE UserId='%s'" % (md5password,
                                                                   UserId)
        query.exec_(sql)
        db.commit()
        logger.info("用户: " + str(currentUserId) + " 对用户:" + UserId +
                    " 的密码修改成功")
        QMessageBox.information(self, "提醒", "修改密码成功,请登录系统!", QMessageBox.Yes,
                                QMessageBox.Yes)
        self.close()
        return
 def ok_fun(self):
     logger = logToFile()
     UserId = getCurrentUserId()
     if all([
             self.outNO.text(),
             self.outDate.text(),
             self.usedID.text(),
             self.usedDepartmentNO.text(),
             self.outRecorderPersonNO.text(),
             self.outReason.text(),
             self.createTime.text(),
             self.remark.toPlainText(),
             self.productID.currentText(),
             self.outStorageNo.text(),
             self.outTechState.text(),
             self.isReturn.currentText(),
             self.createTime.text(),
             self.remark.toPlainText(),
             self.outCount.value()
     ]):
         db = openDB()
         q = QSqlQuery()
         insert_sql = "INSERT INTO T_Out_Base(outno, outdate, usedid, useddepartmentid, recorderid, outreason, " \
                      "createid, createtime, updateid, updatetime, remark) VALUES ('%s','%s','%s','%s','%s','%s'," \
                      "'%s','%s','%s','%s','%s')" % \
                      (self.outNO.text(), self.outDate.text(), self.usedID.text(),
                       self.usedDepartmentNO.text(), self.outRecorderPersonNO.text(), self.outReason.text(),
                       1, self.createTime.text(), 0, self.createTime.text(), self.remark.toPlainText())
         q.exec(insert_sql)
         db.commit()
         insert_sql = "INSERT INTO T_Out_Detail(outno, ProductID, outstorageno, outtechstate, isreturn, createid, " \
                      "createtime, updateid, updatetime, remark,OutCount)VALUES ('%s','%s','%s','%s','%s','%s'," \
                      "'%s','%s','%s','%s','%s')" % \
                      (self.outNO.text(), self.productID.currentText(), self.outStorageNo.text(),
                       self.outTechState.text(), self.isReturn.currentText(), 1, self.createTime.text(),
                       0, self.createTime.text(), self.remark.toPlainText(), str(self.outCount.value()))
         q.exec(insert_sql)
         db.commit()
         logger.info("用户:" + str(UserId) + " 新建了一条产品出库基础信息" + "新数据为:[" +
                     self.outNO.text() + " ," + self.outDate.text() + " ," +
                     self.usedID.text() + " ," +
                     self.usedDepartmentNO.text() + " ," +
                     self.outRecorderPersonNO.text() + " ," +
                     self.outReason.text() + " ," + str(UserId) + " ," +
                     self.createTime.text() + " ," + str(UserId) + " ," +
                     self.createTime.text() + " ," +
                     self.remark.toPlainText() + "]")
         update_sql = "UPDATE T_Product_New SET Count='%s' WHERE productID='%s'" % (
             count - int(self.outCount.value()),
             self.productID.currentText())
         q.exec(update_sql)
         db.commit()
         logger.info("用户:" + str(UserId) + " 新建了一条产品出库详细信息" + "新数据为:[" +
                     self.outNO.text() + " ," +
                     self.productID.currentText() + " ," +
                     self.outStorageNo.text() + " ," +
                     self.outTechState.text() + " ," +
                     self.isReturn.currentText() + " ," + str(UserId) +
                     " ," + self.createTime.text() + " ," + str(UserId) +
                     " ," + self.createTime.text() + " ," +
                     self.remark.toPlainText() + " ," +
                     str(self.outCount.value()) + "]")
         db.close()
         confirm = QMessageBox.information(QDialog(), "提示", "出库信息新建成功!",
                                           QMessageBox.Yes, QMessageBox.Yes)
         if confirm == QMessageBox.Yes:
             self.dialog.close()
     else:
         logger.info("用户:" + str(UserId) + " 出库信息新建失败(重要数据输入值为空)")
         QMessageBox.information(QDialog(), "错误", "输入值不能为0或为空,请重新检查输入!",
                                 QMessageBox.Yes, QMessageBox.Yes)
예제 #26
0
    def conserveButtonEvent(self, Dialog):
        """
        hsj 新建产品界面的保存按钮事件
        :return:
        """
        mrID = self.mrID.text()
        productID = self.productID.currentText()
        productName = self.productName.text()
        productNO = self.productNO.text()
        mwID = self.mwID.currentText()
        mwName = self.mwName.text()
        mrTime = self.mrTime.text()
        mrPart = self.mrPart.text()
        mrLead = self.mrLead.text()
        mrResult = self.mrResult.text()
        creator = getCurrentUserId()
        createTime = self.createTime.text()
        updateName = self.updateName.text()
        updateTime = self.updateTime.text()
        documentPath = self.documentPathButton.text()
        remark = self.remark.toPlainText()

        logger = logToFile()
        UserId = getCurrentUserId()

        # 如果必要的信息都不为空
        if mrID == "" or mwID == "" or mwID == "该产品暂无相应的维保方式":
            print(
                QMessageBox.warning(QDialog(), "警告", "有字段为空,添加失败!",
                                    QMessageBox.Yes, QMessageBox.Yes))
            logger.info("用户:" + str(UserId) + " 新建维保信息失败(必要信息为空)")
            return
        else:
            num = self.checkOn(mrID)
            if num == 0:
                logger.info("用户:" + str(UserId) + " 新建维保记录失败(新建数据未通过检验)")
                return
            createTime = time.strftime("%Y-%m-%d %H:%M:%S")

            conn = sqlite3.connect("./db/ProductManagement_new.db")
            cursor = conn.cursor()

            sql = "insert into MaintenanceRecord (MrID, ProductID, ProductName, ProductNO, MwID, " \
                                  "MwName, MrTime, MrPart, MrLead, MrResult, " \
                                  "Creator, CreateTime, UpdateName,UpdateTime,DocumentPath,Remark) " \
                  "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
            try:
                cursor.execute(
                    sql,
                    (mrID, productID, productName, productNO, mwID, mwName,
                     mrTime, mrPart, mrLead, mrResult, creator, createTime,
                     updateName, updateTime, documentPath, remark))
                conn.commit()
                logger.info("用户:" + str(UserId) + " 新建了一条维保记录,新数据为:[" +
                            str(mrID) + " ," + str(mwID) + " ," + str(mwName) +
                            " ," + str(mrTime) + " ," + str(mrPart) + " ," +
                            str(mrLead) + " ," + str(mrResult) + " ," +
                            str(creator) + " ," + str(createTime) + " ," +
                            str(updateName) + str(updateTime) + " ," +
                            str(documentPath) + " ," + str(remark) + " ]")
                # print("成功!!")
                confirm = QMessageBox.information(QDialog(), "提示", "维保记录创建完成!",
                                                  QMessageBox.Yes,
                                                  QMessageBox.Yes)
                if confirm == QMessageBox.Yes:
                    Dialog.close()
            except Exception as e:
                print(e)
                self.errorMessage.setText("抱歉,您的输入有误:" + str(e))
                conn.rollback()

        # 获取RecentTime
            sql = 'SELECT RecentTime FROM MaintenanceWay where MaintenanceWayID=?'
            try:
                cursor.execute(sql, (mwID, ))
                list = cursor.fetchone()
                if list[0]:
                    ss_recentTime = time.mktime(
                        time.strptime(list[0], "%Y-%m-%d"))
                    ss_mrTime = time.mktime(time.strptime(mrTime, "%Y-%m-%d"))
                    # print(ss_mrTime)
                    # print(ss_recentTime)
                    diff = int(ss_mrTime) - int(ss_recentTime)
                    # print('diff',diff)
                    if diff:
                        sql = 'UPDATE MaintenanceWay set RecentTime=? where MaintenanceWayID=?'
                        cursor.execute(sql, (mrTime, mwID))
                        conn.commit()
                        conn.close()
                        # print('修改成功')
                else:
                    sql = 'UPDATE MaintenanceWay set RecentTime=? where MaintenanceWayID=?'
                    cursor.execute(sql, (mrTime, mwID))
                    conn.commit()
                    # print('修改成功')
                conn.close()
            except Exception as e:
                print(e)
                conn.close()
def deleteImage():
    logger = logToFile()
    UserId = getCurrentUserId()
예제 #28
0
    def updateButtonEvent(self, queryModel):
        """
        更新界面按钮事件
        :param queryModel:
        :return:
        """

        mrID = self.mrID.text()
        productID = self.productID.currentText()
        productName = self.productName.text()
        productNO = self.productNO.text()
        mwID = self.mwID.currentText()
        mwName = self.mwName.text()
        mrTime = self.mrTime.text()
        mrPart = self.mrPart.text()
        mrLead = self.mrLead.text()
        mrResult = self.mrResult.text()
        creator = self.creator.text()
        createTime = self.createTime.text()
        updateName = self.updateName.text()
        updateTime = getCurrentUserId()
        documentPath = self.documentPathButton.text()
        remark = self.remark.toPlainText()

        logger = logToFile()
        UserId = updateName

        if mrID == "" or mwID == "":
            logger.info("用户:" + str(UserId) + " 更新维保记录失败(重要字段信息为空)")
            print(
                QMessageBox.information(QDialog(), "提示", "有字段为空,添加失败!",
                                        QMessageBox.Yes, QMessageBox.Yes))
            return
        else:
            # num = self.checkOn(mrID)
            # if num == 0:
            #     logger.info("用户:" + str(UserId) + " 更新维保记录失败(未通过数据检测)")
            #     return
            updateTime = time.strftime("%Y-%m-%d %H:%M:%S")
            conn = sqlite3.connect("./db/ProductManagement_new.db")
            # print("success")
            cursor = conn.cursor()


            sql = "update MaintenanceRecord set (ProductID, ProductName, ProductNO, MwID, MwName, " \
                  "MrTime, MrPart, MrLead, MrResult, Creator, " \
                  "CreateTime, UpdateName,UpdateTime,DocumentPath,Remark) = " \
                  "('%s', '%s', '%s', '%s', '%s', " \
                  "'%s', '%s', '%s', '%s', '%s', " \
                  "'%s', '%s', '%s', '%s', '%s')" \
                  "where MrID = ('%s')" %(
                    productID, productName, productNO, mwID, mwName,
                    mrTime, mrPart, mrLead, mrResult, creator,
                    createTime, updateName, updateTime, documentPath, remark, mrID
                 )
            try:
                cursor.execute(sql)

                conn.commit()
                logger.info("用户:" + str(UserId) + " 更新维保记录成功,经过更新的部分数据为:[" +
                            str(mrID) + " ," + str(mwID) + " ," + str(mwName) +
                            " ," + str(mrTime) + " ," + str(mrPart) + " ," +
                            str(mrLead) + " ," + str(mrResult) + " ," +
                            str(creator) + " ," + str(createTime) + " ," +
                            str(updateName) + str(updateTime) + " ," +
                            str(documentPath) + " ," + str(remark) + " ]")
                confirm = QMessageBox.information(QDialog(), "提示", "维保记录修改成功!",
                                                  QMessageBox.Yes,
                                                  QMessageBox.Yes)
                if confirm == QMessageBox.Yes:
                    self.dialog.close()
            except Exception as e:
                print(e)
                self.errorMessage.setText("抱歉,您的输入有误:" + str(e))
                conn.rollback()

                # 获取RecentTime
            sql = 'SELECT RecentTime FROM MaintenanceWay where MaintenanceWayID=?'
            try:
                cursor.execute(sql, (mwID, ))
                list = cursor.fetchone()
                if list[0]:
                    ss_recentTime = time.mktime(
                        time.strptime(list[0], "%Y-%m-%d"))
                    ss_mrTime = time.mktime(time.strptime(mrTime, "%Y-%m-%d"))
                    # print(ss_mrTime)
                    # print(ss_recentTime)
                    diff = int(ss_mrTime) - int(ss_recentTime)
                    # print('diff', diff)
                    if diff:
                        sql = 'UPDATE MaintenanceWay set RecentTime=? where MaintenanceWayID=?'
                        cursor.execute(sql, (mrTime, mwID))
                        conn.commit()
                        conn.close()
                        # print('修改成功')
                else:
                    sql = 'UPDATE MaintenanceWay set RecentTime=? where MaintenanceWayID=?'
                    cursor.execute(sql, (mrTime, mwID))
                    conn.commit()
                    conn.close()
                    # print('修改成功')
            except Exception as e:
                print(e)
                conn.close()
 def ok_fun(self):
     logger = logToFile()
     UserId = getCurrentUserId()
     verify_values = [
         self.inNO.text(),
         self.outNO.text(),
         self.inDate.text(),
         self.inRecorderPerson.text(),
         self.remark.toPlainText(),
         self.productID.currentText(),
         self.inStorageNo.text(),
         self.inTechState.text(),
         self.isUsed.currentText(),
         self.createTime.text(),
         self.updateTime.text(),
         self.updateID.text(),
         str(self.inCount.value())
     ]
     flag = True
     for value in verify_values:
         if value == ' ' or value == '0' or value == '':
             flag = False
     if flag:
         db = openDB()
         q = QSqlQuery()
         sql = "UPDATE T_In_Base SET  OutNO='%s', InRecoder='%s', CreateTime='%s', " \
               "UpdateID='%s', UpdateTime='%s', Remark='%s'WHERE OutNO='%s'" \
               % (self.outNO.text(), self.inRecorderPerson.text(), self.createTime.text(),
                  self.updateID.text(), self.updateTime.text(),
                  self.remark.toPlainText(), self.inNO.text())
         q.exec(sql)
         db.commit()
         logger.info("用户:" + str(UserId) + " 更新了产品入库基本信息表的数据,更新的数据为:[" +
                     self.outNO.text() + "," +
                     self.inRecorderPerson.text() + "," +
                     self.createTime.text() + "," + self.updateID.text() +
                     "," + self.updateTime.text() + "," +
                     self.outNO.text() + "]")
         sql = "UPDATE T_In_Detail SET ProductID='%s', InStorageNO='%s', InTechState='%s', " \
               "IsUsed='%s', createtime='%s', UpdateID='%s', updatetime='%s', remark='%s',InCount='%s'" \
               "WHERE InNO='%s'" \
               % (self.productID.currentText(), self.inStorageNo.text(), self.inTechState.text(),
                  self.isUsed.currentText(), self.createTime.text(), self.updateID.text(),
                  self.updateTime.text(), self.remark.toPlainText(), str(self.inCount.value()),
                  self.inNO.text())
         q.exec(sql)
         db.commit()
         logger.info("用户:" + str(UserId) + " 更新了产品入库详细信息表的数据,更新后的数据为:[" +
                     self.productID.currentText() + "," +
                     self.inStorageNo.text() + "," +
                     self.inTechState.text() + "," +
                     self.isUsed.currentText() + "," +
                     self.createTime.text() + "," + self.updateID.text() +
                     "," + self.updateTime.text() + "," +
                     self.remark.toPlainText() + "," +
                     str(self.inCount.value()) + "]")
         sql = "UPDATE T_Product_New SET Count=Count+'%s' WHERE productID='%s'" % \
               (int(self.inCount.value()) - in_count, self.productID.currentText())
         q.exec(sql)
         db.commit()
         db.close()
         confirm = QMessageBox.information(QDialog(), "提示", "入库信息修改成功!",
                                           QMessageBox.Yes, QMessageBox.Yes)
         if confirm == QMessageBox.Yes:
             self.dialog.close()
     else:
         logger.info("用户:" + str(UserId) + " 入库信息更新失败(重要数据输入值不符合规范)")
         QMessageBox.information(QDialog(), "错误", "输入值不能为0或为空,请重新检查输入!",
                                 QMessageBox.Yes, QMessageBox.Yes)
예제 #30
0
    def setupUi(self, Form):
        self.form = Form
        Form.setObjectName("Form")
        Form.resize(600, 700)
        self.verticalLayout = QtWidgets.QVBoxLayout(Form)
        self.verticalLayout.setObjectName("verticalLayout")
        self.label = QtWidgets.QLabel(Form)
        font = QtGui.QFont()
        font.setFamily("Adobe Devanagari")
        font.setPointSize(20)
        self.label.setFont(font)
        self.label.setAlignment(QtCore.Qt.AlignCenter)
        self.label.setObjectName("label")
        self.verticalLayout.addWidget(self.label)
        self.formLayout = QtWidgets.QFormLayout()
        self.formLayout.setLabelAlignment(QtCore.Qt.AlignLeading
                                          | QtCore.Qt.AlignLeft
                                          | QtCore.Qt.AlignVCenter)
        self.formLayout.setContentsMargins(80, 20, 50, -1)
        self.formLayout.setHorizontalSpacing(20)
        self.formLayout.setVerticalSpacing(10)
        self.formLayout.setObjectName("formLayout")
        self.NumLabel = QtWidgets.QLabel(Form)
        self.NumLabel.setObjectName("NumLabel")
        self.NumLabel.hide()
        self.Num = QtWidgets.QLineEdit(Form)
        self.Num.setObjectName("Num")
        self.Num.setMinimumHeight(30)
        self.Num.hide()
        self.TitleLabel = QtWidgets.QLabel(Form)
        self.TitleLabel.setObjectName("TitleLabel")
        self.Title = QtWidgets.QLineEdit(Form)
        self.Title.setObjectName("Title")
        self.Title.setMinimumHeight(30)
        self.SourceLabel = QtWidgets.QLabel(Form)
        self.SourceLabel.setObjectName("SourceLabel")
        self.Source = QtWidgets.QLineEdit(Form)
        self.Source.setMinimumHeight(30)
        self.Source.setObjectName("Source")
        self.PublisherLabel = QtWidgets.QLabel(Form)
        self.PublisherLabel.setObjectName("PublisherLabel")
        self.Publisher = QtWidgets.QLineEdit(Form)
        self.Publisher.setMinimumHeight(30)
        self.Publisher.setObjectName("Publisher")
        self.Publisher.setText(str(getCurrentUserId()))
        self.RtimeLabel = QtWidgets.QLabel(Form)
        self.RtimeLabel.setObjectName("RtimeLabel")
        self.Rtime = QtWidgets.QDateEdit(Form)
        self.Rtime.setMinimumHeight(30)
        self.Rtime.setObjectName("Rtime")
        self.Rtime.setDisplayFormat("yyyy-MM-dd")
        self.Rtime.setMinimumDate(QDate(2015, 1, 1))
        self.Rtime.setDate(QDate.currentDate())
        self.Rtime.setMaximumDate(QDate(2199, 1, 1))
        self.Rtime.setCalendarPopup(True)
        self.ReadrangeLabel = QtWidgets.QLabel(Form)
        self.ReadrangeLabel.setObjectName("ReadrangeLabel")
        self.Readrange = QtWidgets.QLineEdit(Form)
        self.Readrange.setMinimumHeight(30)
        self.Readrange.setObjectName("Readrange")
        self.ContentLabel = QtWidgets.QLabel(Form)
        self.ContentLabel.setObjectName("ContentLabel")
        self.Content = QtWidgets.QTextEdit(Form)
        self.Content.setMinimumHeight(30)
        self.Content.setObjectName("Content")
        self.EtimeLabel = QtWidgets.QLabel(Form)
        self.EtimeLabel.setObjectName("EtimeLabel")
        self.Etime = QtWidgets.QDateEdit(Form)
        self.Etime.setMinimumHeight(30)
        self.Etime.setObjectName("Etime")
        self.Etime.setDisplayFormat("yyyy-MM-dd")
        self.Etime.setMinimumDate(QDate(2015, 1, 1))
        self.Etime.setDate(QDate.currentDate())
        self.Etime.setMaximumDate(QDate(2199, 1, 1))
        self.Etime.setCalendarPopup(True)
        # self.remarkLabel = QtWidgets.QLabel(Form)
        # self.remarkLabel.setObjectName("remarkLabel")
        # self.remark = QtWidgets.QTextEdit(Form)
        # self.remark.setObjectName("remark")

        self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole,
                                  self.NumLabel)
        self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.Num)
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole,
                                  self.TitleLabel)
        self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole,
                                  self.Title)
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole,
                                  self.SourceLabel)
        self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole,
                                  self.Source)
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole,
                                  self.PublisherLabel)
        self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole,
                                  self.Publisher)
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole,
                                  self.RtimeLabel)
        self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole,
                                  self.Rtime)
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole,
                                  self.EtimeLabel)
        self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole,
                                  self.Etime)
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole,
                                  self.ReadrangeLabel)
        self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole,
                                  self.Readrange)
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole,
                                  self.ContentLabel)
        self.formLayout.setWidget(7, QtWidgets.QFormLayout.FieldRole,
                                  self.Content)
        # self.formLayout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.remarkLabel)
        # self.formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.remark)

        self.verticalLayout.addLayout(self.formLayout)
        self.horizontalLayout = QtWidgets.QHBoxLayout()
        self.horizontalLayout.setObjectName("horizontalLayout")
        spacerItem = QtWidgets.QSpacerItem(250, 20,
                                           QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem)
        self.conserveButton = QtWidgets.QPushButton(Form)
        self.conserveButton.setObjectName("conserveButton")
        self.horizontalLayout.addWidget(self.conserveButton)
        spacerItem1 = QtWidgets.QSpacerItem(20, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem1)
        self.cancelButton = QtWidgets.QPushButton(Form)
        self.cancelButton.setObjectName("cancelButton")
        self.horizontalLayout.addWidget(self.cancelButton)
        spacerItem2 = QtWidgets.QSpacerItem(250, 20,
                                            QtWidgets.QSizePolicy.Expanding,
                                            QtWidgets.QSizePolicy.Minimum)
        self.horizontalLayout.addItem(spacerItem2)
        self.verticalLayout.addLayout(self.horizontalLayout)

        self.retranslateUi(Form)
        self.bindButton(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

        self.click = 0