diff --git a/conf/app.go b/conf/app.go index 56d5818..e0ea36f 100644 --- a/conf/app.go +++ b/conf/app.go @@ -34,8 +34,8 @@ var AppConfig AppConf = AppConf{ IgnoreURLs: []string{"/", "/user/login", "/user/plants","/admin/tabnames/download","/user/getimg"},//免token验证路径 JWTTimeout: 72000, LogLevel: "debug", - Secret: "LAPP_SJA_ONLINE_101146458", - //Secret: "LAPP_SJA_TEST_101146419", + //Secret: "LAPP_SJA_ONLINE_101146458", + Secret: "LAPP_SJA_TEST_101146419", }, PublicRute: []string{"/sysMenu","/user/getuserinfo","/user/pwd","/user/avatar","/user/profile","/user/getimg","/admin/tabnames/list","/admin/me_project/selectall","/admin/pln_forecast_landing/selectall"},//免权限检查路径 } diff --git a/engine/engine.go b/engine/engine.go index f3258f0..4aa2ba1 100644 --- a/engine/engine.go +++ b/engine/engine.go @@ -12,7 +12,7 @@ import ( // 启动打印引擎 func RunEngine(conf *conf.EnvConfig){ //删除七天前的数据 - go DelPrinterInfo() + //go DelPrinterInfo() fmt.Println("printer is landing.....!") // 初始化任务读取和保存通道 var( diff --git a/task/func.go b/task/func.go index 9d9dc05..50ebc22 100644 --- a/task/func.go +++ b/task/func.go @@ -17,7 +17,7 @@ import ( *情况1: 如果生产订单号是40状态:那么生产订单号和客户订单号直接更新为40状态 *情况2: 如果生产订单号是80状态:如果客户订单号对应的生产订单有小于80的状态;那么客户订单不更新,只需要更新生产订单 */ -func UpdatePlnWorkorder(finr int, workordernr string, status int) error { +func UpdatePlnWorkorder(finr int, workordernr string, status int, optime string) error { /* 获取锁 */ LOOP: @@ -65,7 +65,7 @@ LOOP: } case 80: //更新生产订单表 - _, err := session.Table("pln_workorder").Cols("status").Where("finr = ? and workordernr = ? and status <= ?", finr, workordernr, status).Update(&map[string]interface{}{"status": 80}) + _, err := session.Table("pln_workorder").Cols("status", "schedbegtime").Where("finr = ? and workordernr = ? and status <= ?", finr, workordernr, status).Update(&map[string]interface{}{"status": 80, "schedbegtime": optime}) if err != nil { session.Rollback() session.Close() @@ -132,15 +132,15 @@ func UpdatePlnBatchorder(finr int, batchordernr string, status int, actqty int, //清空接口缓存表里,三天前并且releaseflag为1的数据 func DelCacheData() { tick := time.Tick(24 * time.Hour) - for { + for { select { case <-tick: //获取三天前的字符串 - ThreeDay := time.Now().AddDate(0,0,-3) - ThreeDayStr := utils.TimeFormat(ThreeDay,"yyyyMMddHHmmss") + ThreeDay := time.Now().AddDate(0, 0, -3) + ThreeDayStr := utils.TimeFormat(ThreeDay, "yyyyMMddHHmmss") engine := db.Eloquent.Master() //删除pln_workorder_intstatus - _, err := engine.Table("pln_workorder_intstatus").Where("finr = ? and credatuz <= ? and releaseflag = 1", utils.Finr,ThreeDayStr).Delete(&models.Pln_workorder_intstatus{}) + _, err := engine.Table("pln_workorder_intstatus").Where("finr = ? and credatuz <= ? and releaseflag = 1", utils.Finr, ThreeDayStr).Delete(&models.Pln_workorder_intstatus{}) if err != nil { return } diff --git a/task/task.go b/task/task.go index 8d969b2..431dc38 100644 --- a/task/task.go +++ b/task/task.go @@ -266,7 +266,7 @@ func ToLeadDataBase() { me := new(models.Buffer) data := me.FindData() if len(data) == 0 { - time.Sleep(10 * time.Second) + time.Sleep(1 * time.Second) continue } //第二步:导入从库, @@ -288,7 +288,10 @@ func ToLeadDataBase() { finr := v.Finr workordernr := utils.ValueToString(tems["ordernr"], "") status := utils.ValueToInt(tems["status"], 0) - err = UpdatePlnWorkorder(finr, workordernr, status) + tem := utils.ValueToString(tems["optime"], "") + temtime, _ := time.Parse("2006-01-02T15:04:05Z07:00", tem) + optime := temtime.Format("20060102150405") + err = UpdatePlnWorkorder(finr, workordernr, status, optime) if err != nil { glog.InfoExtln("etl导入从库", "UpdatePlnWorkorder err is :", err) glog.InfoExtln("etl导入从库", "ordernr is :", workordernr) @@ -296,9 +299,14 @@ func ToLeadDataBase() { continue } //更新mongdb数据flag - err = v.UpdateData() + //err = v.UpdateData() + //if err != nil { + // glog.Info("更新flag错误日志:%v", err) + // continue + //} + err = v.DeleteoneRecord() if err != nil { - glog.Info("更新flag错误日志:%v", err) + glog.InfoExtln("etl导入从库", "err is :", err) continue } case "UpdatePlnBatchorder": @@ -315,9 +323,15 @@ func ToLeadDataBase() { continue } //更新mongdb数据flag - err = v.UpdateData() + //err = v.UpdateData() + //if err != nil { + // glog.Info("更新flag错误日志:%v", err) + // continue + //} + + err = v.DeleteoneRecord() if err != nil { - glog.Info("更新flag错误日志:%v", err) + glog.InfoExtln("etl导入从库", "err is :", err) continue } } @@ -474,16 +488,18 @@ func ToLeadDataBase() { to.Todrivername = v.Todrivername err = to.ToLeadSlave(sql) if err != nil { - v.Status = "error" - //更新mongdb数据flag - v.Message = err.Error() - v.UpdateData() + glog.InfoExtln("etl导入从库", "UpdatePlnBatchorder err is :", err) continue } //更新mongdb数据flag - err = v.UpdateData() + //err = v.UpdateData() + //if err != nil { + // glog.Info("更新flag错误日志:%v", err) + //} + err = v.DeleteoneRecord() if err != nil { - glog.Info("更新flag错误日志:%v", err) + glog.InfoExtln("etl导入从库", "err is :", err) + continue } } else { //更新内容 @@ -534,16 +550,20 @@ func ToLeadDataBase() { to := new(models.Etltab) err = to.ToLeadSlave(sql) if err != nil { - v.Status = "error" - v.Message = err.Error() - //更新mongdb数据flag - v.UpdateData() + glog.InfoExtln("etl导入从库", "err is :", err) continue } //更新mongdb数据flag - err = v.UpdateData() + //err = v.UpdateData() + //if err != nil { + // glog.Info("更新flag错误日志:%v", err) + // continue + //} + //删除mongdb + err = v.DeleteoneRecord() if err != nil { - glog.Info("更新flag错误日志:%v", err) + glog.InfoExtln("etl导入从库", "err is :", err) + continue } } @@ -551,7 +571,7 @@ func ToLeadDataBase() { } } - time.Sleep(10 * time.Second) + time.Sleep(1 * time.Second) } } diff --git a/web/models/buffer_model.go b/web/models/buffer_model.go index 6abefa6..758d185 100644 --- a/web/models/buffer_model.go +++ b/web/models/buffer_model.go @@ -179,25 +179,8 @@ func (t *Buffer) UpdateDataTimes() error { //2.选择数据库,数据表 collect := client.Database(conf.MongDbConfig.DbName).Collection("buffer") if t.Times > 5 { - // 修改一条数据,如果不存在则插入 - new := &Buffer{ - Orderid: t.Orderid, - Eid: t.Eid, - Finr: t.Finr, - Data: t.Data, - TimeStamp: t.TimeStamp, - Todrivername: t.Todrivername, - Totable: t.Totable, - Todb: t.Todb, - Status: t.Status, - Message: t.Message, - Funcspec: t.Funcspec, - Dbtype: t.Dbtype, - Times: t.Times + 1, - Flag: 1, - } - update := bson.M{"$set": new} - _, err := collect.UpdateOne(context.Background(), bson.M{"orderid": new.Orderid}, update) + // 删除 + _, err := collect.DeleteOne(context.Background(), bson.M{"orderid": t.Orderid}) if err != nil { return err } @@ -229,3 +212,15 @@ func (t *Buffer) UpdateDataTimes() error { } + +func (t *Buffer) DeleteoneRecord() error { + //1.初始化链接 + client := db.MgoDb() + //2.选择数据库,数据表 + collect := client.Database(conf.MongDbConfig.DbName).Collection("buffer") + _, err := collect.DeleteOne(context.Background(), bson.M{"orderid": t.Orderid}) + if err != nil { + return err + } + return nil +} \ No newline at end of file diff --git a/web/models/roletab_model.go b/web/models/roletab_model.go index 4a02f85..f2e27b7 100644 --- a/web/models/roletab_model.go +++ b/web/models/roletab_model.go @@ -127,7 +127,7 @@ func (t *Roletab) GetRoleMeunId() ([]int, error) { menuIds := make([]int, 0) menuList := make([]MenuIdList, 0) e := db.Eloquent.Master() - if err := e.Table("role_menu").Select("role_menu.menu_id").Join("LEFT", "menu", "menu.menu_id = role_menu.menu_id").Where("role_menu.role_id = ? ", t.RoleId).Find(&menuList); err != nil { + if err := e.Table("role_menu").Select("role_menu.menu_id").Join("LEFT", "menu", "menu.menu_id = role_menu.menu_id").Where("role_menu.role_id = ? ", t.RoleId).And(" role_menu.menu_id not in(select menu.parent_id from role_menu LEFT JOIN menu on menu.menu_id=role_menu.menu_id where role_menu.role_id =? )", t.RoleId).Find(&menuList); err != nil { return nil, err } for i := 0; i < len(menuList); i++ {