Procházet zdrojové kódy

feat:列表是否可划转

wangshan před 2 roky
rodič
revize
0c0f443d17

+ 1 - 1
jyBXCore/rpc/bxcore.proto

@@ -428,7 +428,7 @@ message  ParticipateList{
   int64 bidOpenTime = 8;//投标截止日期
   int64 updateStatusTime = 9;//更新状态时间
   string updateStatusCon = 10;//投标状态更新
-  string state = 11;//当前项目 针对 当前企业是否是终止参标状态;默认0:正在参标;-1:终止参标
+  bool beTransferred = 11;//当前项目是否能划转 默认false
 }
 message  ParticipateData{
   int64 nowTime = 1;//当前系统时间

+ 1 - 1
jyBXCore/rpc/etc/db.yaml

@@ -18,7 +18,7 @@ redis:
         - other=192.168.3.149:1712
         - newother=192.168.3.149:1712
 es:
-    addr: http://192.168.3.206:9800
+    addr: http://192.168.3.242:9100
     size: 50
     version: v7
     userName: ""

+ 36 - 18
jyBXCore/rpc/model/mysql/participateBid.go

@@ -373,9 +373,7 @@ func GetParticipateSetInfo(in *bxcore.ParticipateSetUpInfoReq) (*bxcore.Particip
 			} else {
 				isRequired = "bidType"
 			}
-			if (*setInfo)["i_isallow"] != nil {
-				isAllow = MC.Int64All((*setInfo)["i_isallow"])
-			}
+			isAllow = MC.Int64All((*setInfo)["i_isallow"])
 			if (*setInfo)["o_bidtype"] != nil {
 				if sbb, err := json.Marshal((*setInfo)["o_bidtype"]); err == nil {
 					if err := json.Unmarshal(sbb, &bidType); err != nil {
@@ -657,21 +655,31 @@ func SingleParticipateList(in *bxcore.ParticipateListReq, conditionSql string) (
 				bidEndTimeStr := MC.ObjToString(v["bid_end_time"])
 				bidOpenTimeStr := MC.ObjToString(v["bid_open_time"])
 				updateStatusTimeStr := MC.ObjToString(v["create_date"])
-				stateInt64 := MC.Int64All(v["state"])
+				beTransferred := true
+				//已终止参标
+				if stateInt64 := MC.Int64All(v["state"]); stateInt64 < 0 {
+					beTransferred = false
+				}
 				var bidTime, bidEndTime, bidOpenTime, updateStatusTime int64
 				if bidTimeStr != "" {
 					bidTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidTimeStr, time.Local)
 					bidTime = bidTime_.Unix()
 				}
-
 				if bidEndTimeStr != "" {
 					bidEndTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidEndTimeStr, time.Local)
 					bidEndTime = bidEndTime_.Unix()
+					//招标结束时间小于当前时间
+					if beTransferred && bidEndTime > 0 && bidEndTime < time.Now().Unix() {
+						beTransferred = false
+					}
 				}
-
 				if bidOpenTimeStr != "" {
 					bidOpenTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidOpenTimeStr, time.Local)
 					bidOpenTime = bidOpenTime_.Unix()
+					//招标开始时间小于当前时间
+					if beTransferred && bidOpenTime > 0 && bidOpenTime < time.Now().Unix() {
+						beTransferred = false
+					}
 				}
 				if updateStatusTimeStr != "" {
 					updateStatusTime_, _ := time.ParseInLocation(date.Date_Full_Layout, updateStatusTimeStr, time.Local)
@@ -686,7 +694,7 @@ func SingleParticipateList(in *bxcore.ParticipateListReq, conditionSql string) (
 					BidEndTime:       bidEndTime,
 					BidOpenTime:      bidOpenTime,
 					UpdateStatusTime: updateStatusTime,
-					State:            strconv.FormatInt(stateInt64, 10),
+					BeTransferred:    beTransferred, //是否能划转
 					//UpdateStatusCon:  GetParticipateContent("s", in.PositionId, MC.ObjToString(v["id"])), //查询最后一次 投标状态更新,
 				})
 			}
@@ -706,14 +714,14 @@ func AdminParticipateList(in *bxcore.ParticipateListReq, conditionSql string) (d
 		Count:   0,
 		List:    []*bxcore.ParticipateList{},
 	}
-	adminSql := `SELECT %s FROM (SELECT pu.ent_id, pu.project_id, GROUP_CONCAT(pu.ent_user_id SEPARATOR ',') ent_user_id,MAX(pu.state) state FROM ` + ParticipateUserTable + ` pu WHERE pu.ent_id = ? %s GROUP BY pu.project_id ) pug LEFT JOIN project pt ON pug.project_id = pt.id LEFT JOIN (SELECT project_id,ent_id,MAX(create_date) AS create_date FROM participate_bid_records GROUP BY project_id,ent_id) pbr ON pbr.project_id = pug.project_id AND pbr.ent_id = pug.ent_id  WHERE 1=1 `
+	adminSql := `SELECT %s FROM (SELECT pu.ent_id, pu.project_id, GROUP_CONCAT(pu.ent_user_id SEPARATOR ',') ent_user_id,MAX(pu.state) state FROM ` + ParticipateUserTable + ` pu WHERE pu.ent_id = ? AND NOT EXISTS ( SELECT 1 FROM ` + ParticipateUserTable + ` ppu WHERE ppu.project_id = pu.project_id AND ppu.ent_id = pu.ent_id AND ppu.state > pu.state ) GROUP BY pu.project_id ) pug LEFT JOIN project pt ON pug.project_id = pt.id LEFT JOIN (SELECT project_id,ent_id,MAX(create_date) AS create_date FROM participate_bid_records GROUP BY project_id,ent_id) pbr ON pbr.project_id = pug.project_id AND pbr.ent_id = pug.ent_id  WHERE 1=1 `
 	//maxStateSql := ``
-	stateSql := ``
-	if in.EntUserIds == "" {
-		//maxStateSql = `,MAX(pu.state) state`
-		stateSql = `AND NOT EXISTS ( SELECT 1 FROM ` + ParticipateUserTable + ` ppu WHERE ppu.project_id = pu.project_id AND ppu.ent_id = pu.ent_id AND ppu.state > pu.state )`
-	}
-	adminSql = fmt.Sprintf(adminSql, "%s", stateSql)
+	//stateSql := ``
+	//if in.EntUserIds == "" {
+	//	//maxStateSql = `,MAX(pu.state) state`
+	//	stateSql = ``
+	//}
+	//adminSql = fmt.Sprintf(adminSql, "%s", stateSql)
 	adminCountSql := fmt.Sprintf(adminSql, "COUNT(pt.id)") + conditionSql
 	log.Println(adminCountSql)
 	count := IC.BaseMysql.CountBySql(adminCountSql, in.EntId)
@@ -727,21 +735,31 @@ func AdminParticipateList(in *bxcore.ParticipateListReq, conditionSql string) (d
 				bidEndTimeStr := MC.ObjToString(v["bid_end_time"])
 				bidOpenTimeStr := MC.ObjToString(v["bid_open_time"])
 				updateStatusTimeStr := MC.ObjToString(v["create_date"])
-				stateInt64 := MC.Int64All(v["state"])
+				beTransferred := true
+				//已终止参标
+				if stateInt64 := MC.Int64All(v["state"]); stateInt64 < 0 {
+					beTransferred = false
+				}
 				var bidTime, bidEndTime, bidOpenTime, updateStatusTime int64
 				if bidTimeStr != "" {
 					bidTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidTimeStr, time.Local)
 					bidTime = bidTime_.Unix()
 				}
-
 				if bidEndTimeStr != "" {
 					bidEndTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidEndTimeStr, time.Local)
 					bidEndTime = bidEndTime_.Unix()
+					//招标结束时间小于当前时间
+					if beTransferred && bidEndTime > 0 && bidEndTime < time.Now().Unix() {
+						beTransferred = false
+					}
 				}
-
 				if bidOpenTimeStr != "" {
 					bidOpenTime_, _ := time.ParseInLocation(date.Date_Full_Layout, bidOpenTimeStr, time.Local)
 					bidOpenTime = bidOpenTime_.Unix()
+					//招标开始时间小于当前时间
+					if beTransferred && bidOpenTime > 0 && bidOpenTime < time.Now().Unix() {
+						beTransferred = false
+					}
 				}
 				if updateStatusTimeStr != "" {
 					updateStatusTime_, _ := time.ParseInLocation(date.Date_Full_Layout, updateStatusTimeStr, time.Local)
@@ -757,7 +775,7 @@ func AdminParticipateList(in *bxcore.ParticipateListReq, conditionSql string) (d
 					BidEndTime:       bidEndTime,
 					BidOpenTime:      bidOpenTime,
 					UpdateStatusTime: updateStatusTime,
-					State:            strconv.FormatInt(stateInt64, 10),
+					BeTransferred:    beTransferred, //是否能划转
 					//UpdateStatusCon:  GetParticipateContent("e", in.EntId, MC.ObjToString(v["id"])), //查询最后一次 投标状态更新
 					Participants: GetParticipateUserName(MC.ObjToString(v["id"]), MC.ObjToString(v["ent_user_id"]), in.EntUserIds != ""), //参标人信息
 				})

+ 8 - 7
jyBXCore/rpc/type/bxcore/bxcore.pb.go

@@ -3831,7 +3831,7 @@ type ParticipateList struct {
 	BidOpenTime      int64  `protobuf:"varint,8,opt,name=bidOpenTime,proto3" json:"bidOpenTime,omitempty"`           //投标截止日期
 	UpdateStatusTime int64  `protobuf:"varint,9,opt,name=updateStatusTime,proto3" json:"updateStatusTime,omitempty"` //更新状态时间
 	UpdateStatusCon  string `protobuf:"bytes,10,opt,name=updateStatusCon,proto3" json:"updateStatusCon,omitempty"`   //投标状态更新
-	State            string `protobuf:"bytes,11,opt,name=state,proto3" json:"state,omitempty"`                       //当前项目 针对 当前企业是否是终止参标状态;默认0:正在参标;-1:终止参标
+	BeTransferred    bool   `protobuf:"varint,11,opt,name=beTransferred,proto3" json:"beTransferred,omitempty"`      //当前项目是否能划转 默认false
 }
 
 func (x *ParticipateList) Reset() {
@@ -3936,11 +3936,11 @@ func (x *ParticipateList) GetUpdateStatusCon() string {
 	return ""
 }
 
-func (x *ParticipateList) GetState() string {
+func (x *ParticipateList) GetBeTransferred() bool {
 	if x != nil {
-		return x.State
+		return x.BeTransferred
 	}
-	return ""
+	return false
 }
 
 type ParticipateData struct {
@@ -4691,7 +4691,7 @@ var file_bxcore_proto_rawDesc = []byte{
 	0x75, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
 	0x49, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x65, 0x6e, 0x74, 0x41, 0x63, 0x63,
 	0x6f, 0x75, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x18,
-	0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0xdd, 0x02, 0x0a,
+	0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x22, 0xed, 0x02, 0x0a,
 	0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74,
 	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
 	0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18,
@@ -4712,8 +4712,9 @@ var file_bxcore_proto_rawDesc = []byte{
 	0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f,
 	0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x18,
 	0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61,
-	0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18,
-	0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x88, 0x01, 0x0a,
+	0x74, 0x75, 0x73, 0x43, 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x0d, 0x62, 0x65, 0x54, 0x72, 0x61, 0x6e,
+	0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x62,
+	0x65, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x22, 0x88, 0x01, 0x0a,
 	0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x63, 0x69, 0x70, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61,
 	0x12, 0x18, 0x0a, 0x07, 0x6e, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
 	0x03, 0x52, 0x07, 0x6e, 0x6f, 0x77, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73,