예제 #1
0
파일: plan_manager.py 프로젝트: minjob/HM
def ManualDelete():
    '''批记录模板删除'''
    if request.method == 'POST':
        data = request.values  # 返回请求中的参数和form
        try:
            jsonstr = json.dumps(data.to_dict())
            if len(jsonstr) > 10:
                jsonnumber = re.findall(r"\d+\.?\d*", jsonstr)
                for key in jsonnumber:
                    id = int(key)
                    try:
                        oclass = db_session.query(BatchModel).filter(
                            BatchModel.ID == id).first()
                        if oclass:
                            db_session.delete(oclass)
                            os.remove(oclass.FilePath)
                    except Exception as ee:
                        db_session.rollback()
                        print(ee)
                        logger.error(ee)
                        return json.dumps({
                            "code": "500",
                            "message": "批记录模板删除报错"
                        })
                db_session.commit()
                return json.dumps({"code": "200", "message": "删除成功!"})
            else:
                return json.dumps({"code": "200", "message": "id为空!"})
        except Exception as e:
            print(e)
            logger.error(e)
            insertSyslog("error", "路由:/ManualDelete,说明书删除Error:" + str(e),
                         current_user.Name)
            return json.dumps({"code": "500", "message": "批记录模板删除报错"})
예제 #2
0
def PermissionsSave():
    if request.method == 'POST':
        data = request.values
        try:
            datastr = json.loads(data.get("data"))
            #删除之前的权限
            perss = db_session.query(Permission).filter(
                Permission.WorkNumber == datastr[0].get("WorkNumber")).all()
            for pe in perss:
                db_session.delete(pe)
            db_session.commit()
            for i in datastr:
                per = Permission()
                per.MenuName = i.get("MenuName")
                per.MenuType = i.get("MenuType")
                per.MenuCode = i.get("MenuCode")
                per.Name = i.get("Name")
                per.WorkNumber = i.get("WorkNumber")
                db_session.add(per)
            db_session.commit()
            return 'OK'
        except Exception as e:
            db_session.rollback()
            print(e)
            logger.error(e)
            insertSyslog("error", "添加用户报错Error:" + str(e), current_user.Name)
            return json.dumps([{
                "status": "Error:" + str(e)
            }],
                              cls=AlchemyEncoder,
                              ensure_ascii=False)
예제 #3
0
def delete_role():
    rid = request.headers.get('rid')
    role = db_session.query(Role).filter(Role.ID == rid).first()
    user_query = db_session.query(RoleUser).filter(
        RoleUser.RoleName == role.RoleName).all()
    for item in user_query:
        db_session.delete(item)
    db_session.delete(role)
    db_session.commit()
    return json.dumps({'code': 10004, 'msg': '删除成功'})
예제 #4
0
def delete_department():
    code = request.headers.get('department_code')
    department = db_session.query(DepartmentManager).filter(
        DepartmentManager.DepartCode == code).first()
    role_query = db_session.query(Role).filter(
        Role.ParentNode == department.DepartCode).all()
    for item in role_query:
        item.ParentNode = ''
    db_session.commit()
    user_query = db_session.query(User).filter(
        User.OrganizationName == department.DepartName).all()
    for item in user_query:
        item.OrganizationName = ''
    db_session.commit()
    db_session.delete(department)
    db_session.commit()
    return json.dumps({'code': 10001, 'msg': '删除成功'})
예제 #5
0
파일: plan_manager.py 프로젝트: minjob/HM
def batchmodelinsert():
    '''批记录模板名称路径储存'''
    if request.method == 'POST':
        data = request.values
        try:
            BrandName = data.get("BrandName")
            PUCode = data.get("PUCode")
            BrandCode = data.get("BrandCode")
            PUIDName = data.get("PUIDName")
            FileName = data.get("FileName")
            Parameter = data.get("Parameter")
            #删除之前存的
            oclass = db_session.query(BatchModel).filter(
                BatchModel.PUCode == PUCode).all()
            for oc in oclass:
                db_session.delete(oc)
                os.remove(oc.FilePath)
            db_session.commit()
            #新添加的
            bm = BatchModel()
            bm.BrandName = BrandName
            bm.PUCode = PUCode
            bm.BrandCode = BrandCode
            bm.PUIDName = PUIDName
            bm.FileName = FileName
            bm.FilePath = os.path.join(
                os.path.realpath(r"system_backend\SystemManagement\files"),
                FileName)
            bm.UserName = current_user.Name
            bm.Parameter = Parameter
            db_session.add(bm)
            db_session.commit()
            return json.dumps({"code": "200", "message": "上传成功!"})
        except Exception as e:
            db_session.rollback()
            print(e)
            logger.error(e)
            insertSyslog("error", "批记录模板导入报错Error:" + str(e),
                         current_user.Name)
            return json.dumps({"code": "500", "message": "后端报错"})
예제 #6
0
파일: plan_manager.py 프로젝트: minjob/HM
def taskSaveEqpCheck():
    '''
    设备审核(选择设备)
    :return:
    '''
    if request.method == 'POST':
        data = request.values
        try:
            ocalss = db_session.query(ZYPlan).filter(
                ZYPlan.ID == data.get("ID")).first()
            zytasks = db_session.query(ZYTask).filter(
                ZYTask.BatchID == ocalss.BatchID,
                ZYTask.BrandCode == ocalss.BrandCode,
                ZYTask.PUCode == ocalss.PUCode).all()
            for zy in zytasks:
                db_session.delete(zy)
                db_session.commit()
            iTaskSeq = 0
            if "提取" in ocalss.PUName:
                bms = db_session.query(BatchMaterialInfo).filter(
                    BatchMaterialInfo.BatchID == ocalss.BatchID,
                    BatchMaterialInfo.BrandCode == ocalss.BrandCode).all()
                for bm in bms:
                    iTaskSeq = iTaskSeq + 1
                    bReturn, strTaskNo = getTaskNo()
                    if bReturn == False:
                        return False
                    zytask = ZYTask()
                    zytask.PlanDate = datetime.datetime.now().strftime(
                        "%Y-%m-%d")
                    zytask.TaskID = strTaskNo
                    zytask.BatchID = ocalss.BatchID
                    zytask.PlanSeq = iTaskSeq
                    zytask.PUCode = ocalss.PUCode
                    zytask.PUName = ocalss.PUName
                    zytask.PlanType = Global.PLANTYPE.SCHEDULE.value
                    zytask.BrandCode = ocalss.BrandCode
                    zytask.BrandName = ocalss.BrandName
                    zytask.PlanQuantity = ocalss.PlanQuantity
                    zytask.Unit = ocalss.Unit
                    zytask.EnterTime = ""
                    zytask.EQPCode = bm.EQPCode
                    zytask.EQPName = bm.EQPName
                    zytask.PlanStartTime = ""
                    zytask.PlanEndTime = ""
                    zytask.TaskStatus = Global.TASKSTATUS.NEW.value
                    zytask.LockStatus = Global.TASKLOCKSTATUS.UNLOCK.value
                    db_session.add(zytask)
                    db_session.commit()
                ocalss.ZYPlanStatus = Global.ZYPlanStatus.Produncting.value
                db_session.commit()
            else:
                if data.get("EqpList") != None and data.get("EqpList") != "":
                    EqpList = json.loads(data.get("EqpList"))
                    for j in EqpList:
                        iTaskSeq = iTaskSeq + 1
                        bReturn, strTaskNo = getTaskNo()
                        if bReturn == False:
                            return False
                        zytask = ZYTask()
                        zytask.PlanDate = datetime.datetime.now().strftime(
                            "%Y-%m-%d")
                        zytask.TaskID = strTaskNo
                        zytask.BatchID = ocalss.BatchID
                        zytask.PlanSeq = iTaskSeq
                        zytask.PUCode = ocalss.PUCode
                        zytask.PUName = ocalss.PUName
                        zytask.PlanType = Global.PLANTYPE.SCHEDULE.value
                        zytask.BrandCode = ocalss.BrandCode
                        zytask.BrandName = ocalss.BrandName
                        zytask.PlanQuantity = ocalss.PlanQuantity
                        zytask.Unit = ocalss.Unit
                        zytask.EnterTime = ""
                        zytask.EQPCode = j.get("EQPCode")
                        zytask.EQPName = j.get("EQPName")
                        zytask.PlanStartTime = ""
                        zytask.PlanEndTime = ""
                        zytask.TaskStatus = Global.TASKSTATUS.NEW.value
                        zytask.LockStatus = Global.TASKLOCKSTATUS.UNLOCK.value
                        db_session.add(zytask)
                        db_session.commit()
            insertAuditTrace(
                "设备审核(选择设备)", "品名:" + ocalss.BrandName + " 批次:" +
                ocalss.BatchID + "设备审核(选择设备)", "PlanManager",
                current_user.Name, "")
            return json.dumps({
                "code": "200",
                "message": "任务选择设备成功!",
                "data": "OK"
            })
        except Exception as e:
            db_session.rollback()
            print(e)
            logger.error(e)
            insertSyslog("error", "设备审核(选择设备)报错Error:" + str(e),
                         current_user.Name)
            return json.dumps("设备审核(选择设备)报错",
                              cls=AlchemyEncoder,
                              ensure_ascii=False)
예제 #7
0
def addEquipmentBatchRunTime():
    '''
    生产配置添加设备
    :return:
    '''
    if request.method == 'POST':
        data = request.values
        try:
            ID = data.get('ID')
            processList = json.loads(data.get('processList'))
            oclass = db_session.query(PlanManager).filter(
                PlanManager.ID == ID).first()
            #清空之前保存的数据
            delete_list = db_session.query(EquipmentBatchRunTime).filter(
                EquipmentBatchRunTime.BrandCode == oclass.BrandCode,
                EquipmentBatchRunTime.BatchID == oclass.BatchID).all()
            for i in delete_list:
                db_session.delete(i)
                db_session.commit()
            dir = {}
            if oclass:
                for pl in processList:
                    PUName = pl.get("PUName")
                    PUCode = pl.get("PUCode")
                    eqList = pl.get('eqList')
                    for el in eqList:
                        isSelected = el.get("isSelected")
                        if isSelected == True:  #选中过的设备
                            ert = EquipmentBatchRunTime()
                            ert.BatchID = oclass.BatchID
                            ert.BrandCode = oclass.BrandCode
                            ert.BrandName = oclass.BrandName
                            ert.EQPCode = el.get("EQPCode")
                            ert.EQPName = el.get("EQPName")
                            ert.PUCode = PUCode
                            ert.PUName = PUName
                            ert.StartBC = el.get("StartBC")
                            ert.EndBC = el.get("EndBC")
                            sft = db_session.query(Shifts).filter(
                                Shifts.ShiftsName == ert.StartBC).first()
                            ert.StartTime = str(
                                el.get("StartTime")) + " " + sft.BeginTime
                            eft = db_session.query(Shifts).filter(
                                Shifts.ShiftsName == ert.EndBC).first()
                            if eft.ShiftsName == "中" or eft.ShiftsName == "晚":
                                endt = (datetime.datetime.strptime(
                                    el.get("EndTime"), "%Y-%m-%d") +
                                        datetime.timedelta(hours=24)
                                        ).strftime("%Y-%m-%d")
                            else:
                                endt = el.get("EndTime")
                            ert.EndTime = str(endt) + " " + eft.EndTime
                            db_session.add(ert)
                oclass.PlanStatus = Global.PlanStatus.WaitRealse.value
                db_session.commit()
                insertAuditTrace(
                    "生产配置添加设备",
                    "批次号是:" + oclass.BatchID + "的" + oclass.BrandName + "在" +
                    datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') +
                    "进行生产配置添加设备操作", "PlanManager", current_user.Name, "")
            return json.dumps({
                "code": "200",
                "message": "保存成功!",
                "data": "OK"
            })
        except Exception as e:
            db_session.rollback()
            print(e)
            logger.error(e)
            insertSyslog("error", "生产配置添加设备报错Error:" + str(e),
                         current_user.Name)
            return json.dumps("生产配置添加设备报错",
                              cls=AlchemyEncoder,
                              ensure_ascii=False)