def getGoods_data(self, idapp, serialnumber): cur = connection.cursor() if self.dataExist(serialnumber=serialnumber): return (Data.Exists, Message.get_exists_info(self.get_createddate(serialnumber)['createddate'])) else: Query = """SELECT g.idapp,g.itemcode,g.goodsname,g.brandname,grt.typeapp, grt.serialnumber,grt.minusdesc, IF(NOW() <= grd.endofwarranty, 'True','False') AS still_guarantee FROM n_a_goods_return grt INNER JOIN n_a_goods g ON grt.fk_goods = g.idapp INNER JOIN n_a_goods_receive gr ON g.idapp = gr.fk_goods INNER JOIN n_a_goods_receive_detail grd ON gr.idapp = grd.fk_app AND grd.serialnumber = grt.serialnumber WHERE g.idapp = %s""" cur.execute(Query, [idapp]) result = query.dictfetchall(cur) connection.close() if len(result) == 0: return (Data.Empty,) return (Data.Success, result[0])
def SaveData(self, statusForm=StatusForm.Input, **data): cur = connection.cursor() Params = { "TypeApp": data["typeApp"], "SerialNumber": data["serialNum"], "RequestDate": data["requestdate"], "StartDate": data["startdate"], "IsStillGuarantee": data["isstillguarantee"], "Expense": data["expense"], "MaintenanceBy": data["maintenanceby"], "PersonalName": data["personalname"], "EndDate": data["enddate"], "FK_Goods": data["fk_goods"], "IsSucced": data["issucced"], "Descriptions": data["descriptions"] } if statusForm == StatusForm.Input: if self.dataExist(serialnumber=data['serialNum']): return (Data.Exists, Message.get_exists_info( self.get_createddate( data['serialNum'])['createddate'])) else: Params['CreatedDate'] = data["createddate"] Params["CreatedBy"] = data["createdby"] Query = """INSERT INTO n_a_maintenance(typeapp,serialnumber,requestdate,startdate,isstillguarantee,expense,maintenanceby,personalname,enddate, fk_goods,issucced,descriptions,createddate,createdby) VALUES(%(TypeApp)s,%(SerialNumber)s,%(RequestDate)s,%(StartDate)s,%(IsStillGuarantee)s,%(Expense)s, %(MaintenanceBy)s,%(PersonalName)s,%(EndDate)s,%(FK_Goods)s,%(IsSucced)s,%(Descriptions)s,%(CreatedDate)s,%(CreatedBy)s)""" elif statusForm == StatusForm.Edit: Params['IDApp'] = data['idapp'] Params['ModifiedDate'] = data['modifieddate'] Params['ModifiedBy'] = data['modifiedby'] Query = """UPDATE n_a_maintenance SET requestdate=%(RequestDate)s, startdate=%(StartDate)s, isstillguarantee=%(IsStillGuarantee)s, expense=%(Expense)s,maintenanceby=%(MaintenanceBy)s, personalname=%(PersonalName)s,enddate=%(EndDate)s,issucced=%(IsSucced)s, descriptions=%(Descriptions)s,modifieddate=%(ModifiedDate)s,modifiedby=%(ModifiedBy)s WHERE idapp=%(IDApp)s""" cur.execute(Query, Params) row = cur.lastrowid connection.close() return (Data.Success, Message.Success.value)
def SaveData(self, statusForm=StatusForm.Input, **data): try: cur = connection.cursor() with transaction.atomic(): Params = {"TypeApp": data["typeApp"], "SerialNumber": data["serialNum"], "RequestDate": data["requestdate"], "StartDate": data["startdate"], "IsStillGuarantee": data["isstillguarantee"], "Expense": data["expense"], "MaintenanceBy": data["maintenanceby"], "PersonalName": data["personalname"], "EndDate": data["enddate"], "FK_Goods": data["fk_goods"], "IsSucced": data["issucced"], "isFinished": data['isfinished'], "Descriptions": data["descriptions"]} if statusForm == StatusForm.Input: if self.dataExist(serialnumber=data['serialNum'], fk_goods=data['fk_goods'], startdate=data['startdate'], enddate=data['enddate']): return (Data.Exists, Message.get_exists_info(self.get_createddate(data['serialNum'])['createddate'])) else: Params['CreatedDate'] = data["createddate"] Params["CreatedBy"] = data["createdby"] Query = """INSERT INTO n_a_maintenance(typeapp,serialnumber,requestdate,startdate,isstillguarantee,expense,maintenanceby,personalname,enddate, fk_goods,isfinished,issucced,descriptions,createddate,createdby) VALUES(%(TypeApp)s,%(SerialNumber)s,%(RequestDate)s,%(StartDate)s,%(IsStillGuarantee)s,%(Expense)s, %(MaintenanceBy)s,%(PersonalName)s,%(EndDate)s,%(FK_Goods)s,%(isFinished)s,%(IsSucced)s,%(Descriptions)s,%(CreatedDate)s,%(CreatedBy)s)""" # insert GA_History cur.execute(Query, Params) FKApp = cur.lastrowid Query = """INSERT INTO n_a_goods_history(FK_Goods, TypeApp, SerialNumber, FK_Lending, FK_Outwards, FK_RETURN, FK_Maintenance, FK_Disposal, FK_LOST, CreatedDate, CreatedBy) \ VALUES (%(FK_Goods)s,%(TypeApp)s, %(SerialNumber)s, NULL,NULL, NULL, %(FK_Maintenance)s, NULL, NULL, NOW(), %(CreatedBy)s )""" Params = {'FK_Goods': data['fk_goods'], 'TypeApp': data['typeApp'], 'SerialNumber': data['serialNum'], 'FK_Maintenance': FKApp, 'CreatedBy': data['createdby']} elif statusForm == StatusForm.Edit: Params['IDApp'] = data['idapp'] Params['ModifiedDate'] = data['modifieddate'] Params['ModifiedBy'] = data['modifiedby'] Query = """UPDATE n_a_maintenance SET requestdate=%(RequestDate)s, startdate=%(StartDate)s, isstillguarantee=%(IsStillGuarantee)s, expense=%(Expense)s,maintenanceby=%(MaintenanceBy)s, personalname=%(PersonalName)s,enddate=%(EndDate)s,issucced=%(IsSucced)s,isfinished=%(isFinished)s, descriptions=%(Descriptions)s,modifieddate=%(ModifiedDate)s,modifiedby=%(ModifiedBy)s WHERE idapp=%(IDApp)s""" cur.execute(Query, Params) cur.close() except Exception as e: cur.close() return (Data.Empty, e.message) return (Data.Success, Message.Success.value)