Forráskód Böngészése

修复基点挑管入库异常

luchm 4 éve
szülő
commit
fbead1e572

+ 1 - 0
src/dashoo.cn/genepoint_srv/business/converseService/converse.go

@@ -290,6 +290,7 @@ type Equipment struct {
 }
 // 盒子规格信息
 type Box struct {
+	Id  int    // 盒子id
 	RowNum int          //盒子行数
 	ColumnNum int		// 盒子列数
 }

+ 5 - 5
src/dashoo.cn/genepoint_srv/business/converseService/converseService.go

@@ -209,7 +209,7 @@ func (this *ConverseService) GenerateRequestEntity(taskType int, task_id ,user s
 		data.Task_id = task_id
 		data.Type = "begin"
 		data.Operation_user = user
-		data.Operation_mode = "manua"
+
 	}
 	entity := this.GetRequestEntity(requestName, utc, data)
 	return entity
@@ -615,7 +615,7 @@ func (this *ConverseService) ModifySampleStatusByApplyMainInfo(entryNo string, r
 
 		for _,value :=range  entity.Data.Actual_data{
 			//获取报文中的 盒子信息
-			var Rack_id string = value.Rack_id
+			var Rack_id string = value.Target.Rack_id
 			fmt.Println("冻存盒盒子编号:", Rack_id)
 			// 获取报文中的 位置信息和 样本编码
 			var tubes = value.Tubes
@@ -753,7 +753,7 @@ func (this *ConverseService) UpdateDetail(BarCode string, entity ResponseEntity,
 
 
 		//当  检测到数据 与当前操作盒子的数据一直时,更新  detail   和sample 信息
-		if entity.Data.Actual_data[i].Rack_id  == rack_id{
+		if entity.Data.Actual_data[i].Target.Rack_id  == rack_id{
 			sql := "select b.id EquipmentId,a.id,a.XStation,a.YStation from bank_shelf a left join bank_equipment b  on a.EquipmentId = b.id  where  b.cu = '" + utils.ToStr(Cu) + "' " +
 				"and  a.Ltu = '" + utils.ToStr(Ltu) + "' and a.Unit ='" + utils.ToStr(Unit) + "' and a.Group ='" + utils.ToStr(Group) + "'"
 			this.DBE.SQL(sql).Get(&shelf)
@@ -776,7 +776,7 @@ func (this *ConverseService) UpdateDetail(BarCode string, entity ResponseEntity,
  */
 func (this *ConverseService) UpdatePosition(rack_id string, tubes []Tube, entity ResponseEntity, parentId int) {
 	// 根据返回的报文中的盒子标识,获取盒子类型
-	sql := "select RowNum,ColumnNum from bank_box where Barcode ='" + rack_id + "'"
+	sql := "select Id,RowNum,ColumnNum from bank_box where Barcode ='" + rack_id + "'"
 	var box Box
 	this.DBE.SQL(sql).Get(&box)
 	RowNum := box.RowNum
@@ -799,7 +799,7 @@ func (this *ConverseService) UpdatePosition(rack_id string, tubes []Tube, entity
 
 		glog.Info("管子在盒子中的位置坐标为:", box_y, ";", box_x)
 		var position = utils.NumberToLetter(box_x) + utils.ToStr(box_y)
-		sql = "update bank_sample set Position = '" + utils.ToStr(box_y) + ";" + utils.ToStr(box_x) + "' ,PositionInfo  = concat( REVERSE(SUBSTR(REVERSE(PositionInfo) FROM INSTR(REVERSE(PositionInfo),'-')+1)),'-" + position + "' ) where barcode ='" + id + "' "
+		sql = "update bank_sample set BoxId = '"+utils.ToStr(box.Id)+"',Position = '" + utils.ToStr(box_y) + ";" + utils.ToStr(box_x) + "' ,PositionInfo  = concat( REVERSE(SUBSTR(REVERSE(PositionInfo) FROM INSTR(REVERSE(PositionInfo),'-')+1)),'-" + position + "' ) where barcode ='" + id + "' "
 		//执行sql 更新位置和坐标信息
 		this.DBE.Exec(sql)
 		this.UpdateDetail(id, entity, parentId,rack_id)

+ 9 - 1
src/dashoo.cn/genepoint_srv/main.go

@@ -148,6 +148,12 @@ func main() {
 func connectWebSocket() bool {
 	log.Printf("connecting to %s", gpServiceUrl)
 
+	if lockReconnect{
+		return false
+	}
+
+	lockReconnect = true
+
 	//尝试连接计时器
 	connectTimer := time.NewTicker(5 * time.Second)
 	stopChan := make(chan bool)
@@ -169,6 +175,7 @@ func connectWebSocket() bool {
 
 					wsConn = conn
 
+
 					// 设置心跳处理事件
 					wsConn.SetPingHandler(func(message string) error {
 						log.Println("ping received", message)
@@ -191,6 +198,7 @@ func connectWebSocket() bool {
 
 					//重连后更新心跳时间,避免因心跳超时再重连
 					heartTime = time.Now()
+					lockReconnect = false
 					// 监听基点接口返回的消息
 					go ListenToReadMsg()
 					return
@@ -214,7 +222,7 @@ func ListenToReadMsg() (pid int) {
 	pid = Goid()
 	for {
 		if checkNeedConnect() {
-			//connectWebSocket()
+			connectWebSocket()
 			//break
 			return
 		}