Răsfoiți Sursa

修改根据返回报文信息,自动更位置信息

luchm 5 ani în urmă
părinte
comite
7f344d3498

+ 17 - 19
src/dashoo.cn/genepoint_srv/business/converseService/converseService.go

@@ -572,44 +572,42 @@ func (this *ConverseService) ModifySampleStatusByApplyMainInfo(entryNo string, r
 	}
 }
 
-
 //  20201026 卢传敏新增根据返回报文,更新位置信息
 /**
  * rack_id 盒子编号
  * tubes 报文中返回的 位置和样本条码
  */
-func (this *ConverseService) UpdatePosition(rack_id string ,tubes []Tube){
+func (this *ConverseService) UpdatePosition(rack_id string, tubes []Tube) {
 	// 根据返回的报文中的盒子标识,获取盒子类型
-	sql := "select RowNum,ColumnNum from bank_box where Barcode ='"+rack_id+"'"
+	sql := "select RowNum,ColumnNum from bank_box where Barcode ='" + rack_id + "'"
 	var box Box
 	this.DBE.SQL(sql).Get(&box)
-	RowNum    := box.RowNum
+	RowNum := box.RowNum
 	ColumnNum := box.ColumnNum
-	glog.Info("冻存盒的行数:",RowNum,";冻存盒的列数:",ColumnNum)
-	for i:=0;i<len(tubes);i++ {
+	glog.Info("冻存盒的行数:", RowNum, ";冻存盒的列数:", ColumnNum)
+	for i := 0; i < len(tubes); i++ {
 		no := tubes[i].No
 		id := tubes[i].Id
-		glog.Info("样本在盒子中的位置:",no,";样本条码: ",id)
+		glog.Info("样本在盒子中的位置:", no, ";样本条码: ", id)
 		//计算管子在盒子中的坐标
-		var box_x,box_y int
-
-		if no%RowNum ==0{// 如果 取余数为0 则 证明该数是能被  10 整除的数  为该行 最后一个孔位
-			box_y =10
-			box_x = no/RowNum
-		}else{
-			box_y =no%RowNum
-			box_x = (no/RowNum)+1
+		var box_x, box_y int
+
+		if no%ColumnNum == 0 { // 如果 取余数为0 则 证明该数是能被  10 整除的数  为该行 最后一个孔位
+			box_y = ColumnNum
+			box_x = no / ColumnNum
+		} else {
+			box_y = no % ColumnNum
+			box_x = (no / ColumnNum) + 1
 		}
 
-		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+"' "
+		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 更新位置和坐标信息
 		this.DBE.Exec(sql)
 	}
 }
 
-
 //获取当前操作样本的id, 正常和异常的
 func (this *ConverseService) getOperaSampleIdsStr(applyType, parentId int, resp string, entity ResponseEntity) (actualIds string, abnormalIds string,) {