Пример #1
0
 /// <summary>
 /// 手持端盘点功能
 /// </summary>
 /// <param name="strSn"></param>
 public string  ContainerCheck(string strSn, string status, string userName)
 {
     //如果没有盘点任务开启
     if (YnDaoHelper.GetInstance().nHibernateHelper.GetCount("select count(*) from AscmCheck as ck where ck.count is null") == 0)
     {
         return("没有开启的盘点任务");
     }
     Dal.SupplierPreparation.Entities.AscmContainer ascmContainer = MideaAscm.Services.SupplierPreparation.AscmContainerService.GetInstance().Get(strSn);
     using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction())
     {
         try
         {
             if (!string.IsNullOrEmpty(status))
             {
                 //如果状态是丢失
                 if (status == "LOST")
                 {
                     ascmContainer.status = Dal.SupplierPreparation.Entities.AscmContainer.StatusDefine.losted;
                 }
                 else
                 {
                     ascmContainer.status = Dal.SupplierPreparation.Entities.AscmContainer.StatusDefine.unuse;
                 }
                 //盘点ID
                 int intcheckId = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmCheck)");
                 //如果没有重复就新建
                 if (YnDaoHelper.GetInstance().nHibernateHelper.GetCount("select count(*) from AscmCheckContainerInfo where containerId='" + strSn + "' and checkId=" + intcheckId + "") == 0)
                 {
                     Dal.ContainerManage.Entities.AscmCheckContainerInfo CheckInfo = new Dal.ContainerManage.Entities.AscmCheckContainerInfo();
                     CheckInfo.id          = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmCheckContainerInfo)") + 1;
                     CheckInfo.checkId     = intcheckId;
                     CheckInfo.containerId = ascmContainer.sn;
                     CheckInfo.status      = status;
                     CheckInfo.supplierId  = ascmContainer.supplierId;
                     CheckInfo.createTime  = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                     CheckInfo.createUser  = userName;
                     YnDaoHelper.GetInstance().nHibernateHelper.Save <Dal.ContainerManage.Entities.AscmCheckContainerInfo>(CheckInfo);
                 }
                 else    //重复就更新
                 {
                     Dal.ContainerManage.Entities.AscmCheckContainerInfo ascmCheckContainerInfo = YnDaoHelper.GetInstance().nHibernateHelper.Get <Dal.ContainerManage.Entities.AscmCheckContainerInfo>(Convert.ToInt32(YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select id from AscmCheckContainerInfo where containerId='" + strSn + "' and checkId=" + intcheckId + "")));
                     ascmCheckContainerInfo.status = status;
                     YnDaoHelper.GetInstance().nHibernateHelper.Update <Dal.ContainerManage.Entities.AscmCheckContainerInfo>(ascmCheckContainerInfo);
                     tx.Commit();//正确执行提交
                     return("系统已更新该容器的盘点信息");
                 }
             }
             ascmContainer.isCheck = 1;
             YnDaoHelper.GetInstance().nHibernateHelper.Update <Dal.SupplierPreparation.Entities.AscmContainer>(ascmContainer);
             tx.Commit();//正确执行提交
             return("");
         }
         catch (Exception ex)
         {
             tx.Rollback();//回滚
             YnBaseClass2.Helper.LogHelper.GetLog().Error("保存失败(Save AscmCheckContainerInfo)", ex);
             throw ex;
         }
     }
 }
Пример #2
0
 /// <summary>
 /// 手持端盘点功能
 /// </summary>
 /// <param name="strSn"></param>
 public string ContainerCheck(string strSn, string status, string userName)
 {
     //如果没有盘点任务开启
     if (YnDaoHelper.GetInstance().nHibernateHelper.GetCount("select count(*) from AscmCheck as ck where ck.count is null") == 0)
     {
         return "没有开启的盘点任务";
     }
     Dal.SupplierPreparation.Entities.AscmContainer ascmContainer = MideaAscm.Services.SupplierPreparation.AscmContainerService.GetInstance().Get(strSn);
     using (ITransaction tx = YnDaoHelper.GetInstance().nHibernateHelper.GetCurrentSession().BeginTransaction())
     {
         try
         {
             if (!string.IsNullOrEmpty(status))
             {
                 //如果状态是丢失
                 if (status == "LOST")
                 {
                     ascmContainer.status = Dal.SupplierPreparation.Entities.AscmContainer.StatusDefine.losted;
                 }
                 else
                 {
                     ascmContainer.status = Dal.SupplierPreparation.Entities.AscmContainer.StatusDefine.unuse;
                 }
                 //盘点ID
                 int intcheckId = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmCheck)");
                 //如果没有重复就新建
                 if (YnDaoHelper.GetInstance().nHibernateHelper.GetCount("select count(*) from AscmCheckContainerInfo where containerId='" + strSn + "' and checkId=" + intcheckId + "") == 0)
                 {
                     Dal.ContainerManage.Entities.AscmCheckContainerInfo CheckInfo = new Dal.ContainerManage.Entities.AscmCheckContainerInfo();
                     CheckInfo.id = YnDaoHelper.GetInstance().nHibernateHelper.GetMaxId("select max(id) from AscmCheckContainerInfo)") + 1;
                     CheckInfo.checkId = intcheckId;
                     CheckInfo.containerId = ascmContainer.sn;
                     CheckInfo.status = status;
                     CheckInfo.supplierId = ascmContainer.supplierId;
                     CheckInfo.createTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                     CheckInfo.createUser = userName;
                     YnDaoHelper.GetInstance().nHibernateHelper.Save<Dal.ContainerManage.Entities.AscmCheckContainerInfo>(CheckInfo);
                 }
                 else    //重复就更新
                 {
                     Dal.ContainerManage.Entities.AscmCheckContainerInfo ascmCheckContainerInfo = YnDaoHelper.GetInstance().nHibernateHelper.Get<Dal.ContainerManage.Entities.AscmCheckContainerInfo>(Convert.ToInt32(YnDaoHelper.GetInstance().nHibernateHelper.GetObject("select id from AscmCheckContainerInfo where containerId='" + strSn + "' and checkId=" + intcheckId + "")));
                     ascmCheckContainerInfo.status = status;
                     YnDaoHelper.GetInstance().nHibernateHelper.Update<Dal.ContainerManage.Entities.AscmCheckContainerInfo>(ascmCheckContainerInfo);
                     tx.Commit();//正确执行提交
                     return "系统已更新该容器的盘点信息";
                 }
             }
             ascmContainer.isCheck = 1;
             YnDaoHelper.GetInstance().nHibernateHelper.Update<Dal.SupplierPreparation.Entities.AscmContainer>(ascmContainer);
             tx.Commit();//正确执行提交
             return "";
         }
         catch (Exception ex)
         {
             tx.Rollback();//回滚
             YnBaseClass2.Helper.LogHelper.GetLog().Error("保存失败(Save AscmCheckContainerInfo)", ex);
             throw ex;
         }
     }
 }