Bläddra i källkod

任务执行成功后 空盒菜单无法查询到?? 任务执行完成后需要修改 盒的状态为解锁, 任务执行失败需要更新盒状态为 解锁, 重新执行需要更新盒状态为 锁定

xuchl 4 år sedan
förälder
incheckning
cb040b0a37

+ 20 - 2
src/dashoo.cn/genepoint_srv/business/converseService/converseService.go

@@ -689,7 +689,7 @@ func (this *ConverseService) UpdateBoxInfo(entity ResponseEntity) (err error) {
 
 		//  更新盒所在的冻存架的信息  计算位置信息,并更新
 		// 临时处理逻辑,默认 pos 为 盒子的  XStation
-		_, err = this.DBE.Exec("update bank_box set XStation ='" + utils.ToStr(Pos) + "',YStation =1 ,EquipmentId ='" + com.ToStr(shelf.EquipmentId) + "',shelfId =" + utils.ToStr(shelf.Id) + " where Barcode ='" + boxBarcode + "' ")
+		_, err = this.DBE.Exec("update bank_box set XStation ='" + utils.ToStr(Pos) + "',YStation =1 ,EquipmentId ='" + com.ToStr(shelf.EquipmentId) + "',shelfId =" + utils.ToStr(shelf.Id) + ",IsLocked = 0  where Barcode ='" + boxBarcode + "' ")
 		// 更新 当前冰箱冻存盒容量 信息
 		_, err = this.DBE.Exec(" update bank_currboxcapacity  set  `A" + utils.ToStr(Pos) + "`= -1 where shelfId =" + utils.ToStr(shelf.Id) + "")
 
@@ -726,7 +726,7 @@ func (this *ConverseService) UpdateBoxInfoCK(entity ResponseEntity) (err error)
 
 		//  更新盒所在的冻存架的信息  计算位置信息,并更新
 		// 临时处理逻辑,默认 pos 为 盒子的  XStation
-		_, err = this.DBE.Exec("update bank_box set EquipmentId=null,shelfId=null,XStation =null,YStation =null    where Barcode ='" + boxBarcode + "' ")
+		_, err = this.DBE.Exec("update bank_box set EquipmentId=null,shelfId=null,XStation =null,YStation =null,IsLocked = 0  where Barcode ='" + boxBarcode + "' ")
 		// 更新 当前冰箱冻存盒容量 信息
 		_, err = this.DBE.Exec(" update bank_currboxcapacity  set  `A" + utils.ToStr(Pos) + "`= -2 where shelfId =" + utils.ToStr(shelf.Id) + "")
 
@@ -735,6 +735,24 @@ func (this *ConverseService) UpdateBoxInfoCK(entity ResponseEntity) (err error)
 
 }
 
+/**
+ * @Author 徐春林
+ * @Description // 盒任务执行失败 , 更新 盒锁定状态为 解锁
+ * @Date 19:17 2021/3/22
+ * @Param
+ * @return
+ **/
+func (this *ConverseService) UpdateBoxIsLocked(taskId string) (err error) {
+	var task Sample_Storage_Task
+
+	 sql := "SELECT id FROM " + TABLE_TAST + " WHERE taskId = '" + taskId + "'"
+
+	 err = this.DBE.SQL(sql).Find(&task)
+
+	_, err = this.DBE.Exec("update bank_box set IsLocked = 0  where BoxBarcode ='" + task.BoxId + "' ")
+	return err
+}
+
 /**
 修改detail 信息
 */

+ 12 - 0
src/dashoo.cn/genepoint_srv/controllers/converse/converse.go

@@ -203,12 +203,24 @@ func (this *ConverseController) HandleMessage(n int, message []byte) {
 		//保存异常信息
 		this.SaveExcepMsg(res, taskId)
 		err = this.StatusModify(REJECT, taskId)
+		// 判断如果为盒操作, 需要将 盒解锁, 重新执行时再上锁
+		if resp == "rack_storing" || resp == "rack_retrieving" {
+			err = this.UpdateBoxIsLocked(taskId)
+		}
 	}
 
 	if err != nil {
 		log.Println(err)
 	}
 }
+func (this *ConverseController) UpdateBoxIsLocked(taskId string) error{
+	svc := GetConverseService(utils.DBE)
+	err := svc.UpdateBoxIsLocked(taskId)
+	if err != nil {
+		return err
+	}
+	return nil
+}
 
 //保存异常信息
 func (this *ConverseController) SaveExcepMsg(res ResponseEntity, taskId string) {