Browse Source

update:增加冷藏柜sn验证

zoie 10 months ago
parent
commit
47c80030d5

+ 1 - 1
app/admin/controller/ice_locker.go

@@ -116,7 +116,7 @@ func (e IceLockerController) Insert(c *gin.Context) {
 	// 设置创建人
 	req.SetCreateBy(user.GetUserId(c))
 	req.SetDeptId(p.DeptId)
-	err = s.Insert(&req)
+	err = s.Insert(&req, p)
 	if err != nil {
 		e.Error(500, err, err.Error())
 		return

+ 19 - 0
app/admin/service/cooler_box.go

@@ -216,6 +216,25 @@ func (e *CoolerBox) Update(c *dto.CoolerBoxUpdateReq, p *actions.DataPermission)
 			return err
 		}
 
+		var device nats_server.Device
+		var company model.SysDept
+		device, err = nats_server.Cold_ReadDeviceByT_sn(c.Sn)
+		if err != nil {
+			err = errors.New("获取SN信息失败,请检查SN是否正确!")
+			e.Log.Errorf("db error: %s", err)
+			return err
+		}
+		company, err = model.GetCompanyById(p.DeptId)
+		if err != nil {
+			e.Log.Errorf("db error: %s", err)
+			return err
+		}
+		if device.T_pid != company.Id {
+			err = errors.New("获取SN信息失败,请检查SN是否正确!")
+			e.Log.Errorf("获取SN信息失败,device.T_pid != company.Id")
+			return err
+		}
+
 		CoolerBoxModel.HistorySn = append(CoolerBoxModel.HistorySn, c.Sn)
 	}
 

+ 39 - 1
app/admin/service/ice_locker.go

@@ -84,7 +84,7 @@ func (e *IceLocker) Get(d *dto.IceLockerGetReq, iceLockerModel *model.IceLocker,
 }
 
 // Insert 创建IceLocker对象
-func (e *IceLocker) Insert(c *dto.IceLockerInsertReq) error {
+func (e *IceLocker) Insert(c *dto.IceLockerInsertReq, p *actions.DataPermission) error {
 	var err error
 	var data model.IceLocker
 
@@ -109,6 +109,25 @@ func (e *IceLocker) Insert(c *dto.IceLockerInsertReq) error {
 		return err
 	}
 
+	var device nats_server.Device
+	var company model.SysDept
+	device, err = nats_server.Cold_ReadDeviceByT_sn(c.Sn)
+	if err != nil {
+		err = errors.New("获取SN信息失败,请检查SN是否正确!")
+		e.Log.Errorf("db error: %s", err)
+		return err
+	}
+	company, err = model.GetCompanyById(p.DeptId)
+	if err != nil {
+		e.Log.Errorf("db error: %s", err)
+		return err
+	}
+	if device.T_pid != company.Id {
+		err = errors.New("获取SN信息失败,请检查SN是否正确!")
+		e.Log.Errorf("获取SN信息失败,device.T_pid != company.Id")
+		return err
+	}
+
 	// 添加冷冻柜
 	c.Generate(&data)
 	err = tx.Create(&data).Error
@@ -176,6 +195,25 @@ func (e *IceLocker) Update(c *dto.IceLockerUpdateReq, p *actions.DataPermission)
 			return err
 		}
 
+		var device nats_server.Device
+		var company model.SysDept
+		device, err = nats_server.Cold_ReadDeviceByT_sn(c.Sn)
+		if err != nil {
+			err = errors.New("获取SN信息失败,请检查SN是否正确!")
+			e.Log.Errorf("db error: %s", err)
+			return err
+		}
+		company, err = model.GetCompanyById(p.DeptId)
+		if err != nil {
+			e.Log.Errorf("db error: %s", err)
+			return err
+		}
+		if device.T_pid != company.Id {
+			err = errors.New("获取SN信息失败,请检查SN是否正确!")
+			e.Log.Errorf("获取SN信息失败,device.T_pid != company.Id")
+			return err
+		}
+
 		iceLockerModel.HistorySn = append(iceLockerModel.HistorySn, c.Sn)
 	}