Beispiel #1
0
        /// <summary>
        /// 根据任务ID获取任务数据
        /// </summary>
        /// <param name="TaskNo"></param>
        /// <returns></returns>
        public BaseMessage_Model <T_InStockTaskDetailsInfo> GetInTaskDetailListByHeaderID(string TaskNo, UserModel user, List <T_InStockDetailInfo> lstModel)
        {
            int    HeadID    = 0;
            bool   bSucc     = false;
            string strErrMsg = string.Empty;
            BaseMessage_Model <T_InStockTaskDetailsInfo> baseMessage = new BaseMessage_Model <T_InStockTaskDetailsInfo>();
            T_InTaskDetails_DB   tdb       = new T_InTaskDetails_DB();
            T_InTaskDetails_Func tfunc     = new T_InTaskDetails_Func();
            T_AreaInfo           areaModel = new T_AreaInfo();
            T_Area_Func          areaFunc  = new T_Area_Func();

            HeadID = tdb.GetIDByTaskNo(TaskNo);
            List <T_InStockTaskDetailsInfo> lstTaskDetail = new List <T_InStockTaskDetailsInfo>();

            bSucc = tfunc.GetModelListByHeaderID(ref lstTaskDetail, HeadID, ref strErrMsg);
            if (bSucc == false)
            {
                baseMessage.HeaderStatus = "E";
                baseMessage.Message      = strErrMsg;
                return(baseMessage);
            }



            //任务表体数据
            foreach (var item in lstTaskDetail)
            {
                item.lstStockInfo = new List <T_StockInfo>();
                //根据任务表体数据查找收货数据,存在多行
                var lstInDetail = lstModel.FindAll(t => t.MaterialNo == item.MaterialNo);

                foreach (var itemInDetail in lstInDetail)
                {
                    areaFunc.GetAreaModelBySql(0, itemInDetail.lstSerialNo.FirstOrDefault().AreaNo, ref areaModel, ref strErrMsg);
                    foreach (var itemSerialNo in itemInDetail.lstSerialNo)
                    {
                        T_StockInfo stock = new T_StockInfo();
                        stock.SerialNo = itemSerialNo.SerialNo;
                        item.lstStockInfo.Add(stock);
                    }
                }
                item.AreaID      = areaModel.ID;
                item.WarehouseID = areaModel.WarehouseID;
                item.HouseID     = areaModel.HouseID;
                item.ScanQty     = item.lstStockInfo.Count;
            }

            string Result = tfunc.SaveModelListSqlToDBADF(JSONHelper.ObjectToJson <UserModel>(user), JSONHelper.ObjectToJson <List <T_InStockTaskDetailsInfo> >(lstTaskDetail));

            return(JSONHelper.JsonToObject <BaseMessage_Model <T_InStockTaskDetailsInfo> >(Result));
        }
Beispiel #2
0
        protected override List <string> GetSaveModelListSql(UserModel user, List <T_InStockTaskDetailsInfo> modelList)
        {
            string strSql1 = string.Empty;
            string strSql2 = string.Empty;
            string strSql3 = string.Empty;
            string strSql4 = string.Empty;
            string strSql5 = string.Empty;

            List <string> lstSql  = new List <string>();
            T_Stock_DB    stockDB = new T_Stock_DB();

            Area.T_Area_DB areaDB  = new Area.T_Area_DB();
            int            transID = 0;

            foreach (var item in modelList)
            {
                strSql1 = string.Format("update t_taskdetails  set  remainqty =  remainqty-{0}, shelveqty = isnull( shelveqty,0)+{1}," +
                                        " toareano = '{2}', operatoruserno = '{3}', operatordatetime = getdate() where  id = '{4}'", item.ScanQty, item.ScanQty, item.AreaID, user.UserNo, item.ID);
                lstSql.Add(strSql1);
                //strSql2 = string.Format("update t_taskdetails  set  linestatus =(case when isnull( remainqty,0)< isnull( taskqty,0) and isnull( remainqty,0)<>0 then 2 when isnull( remainqty,0)  = 0  then 3 end )," +
                strSql2 = string.Format("update t_taskdetails  set  linestatus =(case when isnull( remainqty,0)>0 and isnull( shelveqty,0)>0 then 2 when isnull( remainqty,0)  = 0  then 3 end )," +
                                        " Toerpareano ='{1}',Toerpwarehouse='{2}' where id = '{0}'", item.ID, item.AreaNo, item.ToErpWarehouse);
                lstSql.Add(strSql2);

                if (item.lstStockInfo != null && item.lstStockInfo.Count > 0)
                {
                    foreach (var itemStock in item.lstStockInfo)
                    {
                        Area.T_AreaInfo areaInfo    = new T_AreaInfo();
                        string          NewSerialNo = "";
                        areaInfo.AreaNo      = item.AreaNo;
                        areaInfo.WarehouseID = item.WarehouseID;
                        areaInfo             = areaDB.GetModelBySql(areaInfo);
                        if (itemStock.BarCodeType != 5)
                        {
                            itemStock.AmountQty = itemStock.Qty;
                        }
                        itemStock.Status        = 3;
                        itemStock.ReceiveStatus = 2;//是否已上架
                        itemStock.IsLimitStock  = 2;
                        itemStock.IsQuality     = 3;
                        lstSql.AddRange(stockDB.saveSplitBarCode(user, itemStock, areaInfo, out NewSerialNo));

                        //itemStock.AmountQty = itemStock.Qty;
                        //if (item.ScanQty != itemStock.Qty)
                        //{
                        //    itemStock.AmountQty = item.ScanQty;
                        //    string NewSerialNo = "";
                        //    var value = base.GetScalarBySql("select serialno  from t_stock where Areaid =" + item.AreaID + " and materialno ='" + itemStock.MaterialNo + "' and edate=to_date('" + itemStock.EDate.ToString("yyyy-MM-dd") + "','yyyy-mm-dd') and batchno ='" + itemStock.BatchNo + "' and  strongholdcode='" + itemStock.StrongHoldCode + "' ");
                        //    if (value == null || value.ToString() == "")
                        //    {
                        //        lstSql.Add(GetAmountQtySql(itemStock, ref NewSerialNo));
                        //        itemStock.AreaID = item.AreaID;
                        //        itemStock.HouseID = item.HouseID;
                        //        itemStock.WareHouseID = item.WarehouseID;
                        //        itemStock.Status = 3;
                        //        itemStock.ReceiveStatus = 2;
                        //        itemStock.IsLimitStock = 2;
                        //        itemStock.IsQuality = 3;
                        //        lstSql.Add(GetAmountQtyInsertStockSql(itemStock, user, NewSerialNo));
                        //        lstSql.Add("update t_stock a set  Qty =  Qty - '" + itemStock.AmountQty + "'  where serialno = '" + itemStock.SerialNo + "'");
                        //    }
                        //    else
                        //    {
                        //        lstSql.Add("update t_stock a set  Qty =  Qty - '" + itemStock.AmountQty + "'  where serialno = '" + itemStock.SerialNo + "'");
                        //        lstSql.Add("update t_stock a set  Qty =  Qty + '" + itemStock.AmountQty + "'  where serialno = '" + value + "'");
                        //    }

                        //}
                        //else
                        //{
                        //    strSql3 = string.Format("update t_Stock a set  Receivestatus = '2' ,  islimitstock = '2', Warehouseid = '{0}', Houseid = '{1}', Areaid = '{2}' where    serialno = '{3}'", item.WarehouseID, item.HouseID, item.AreaID, itemStock.SerialNo);
                        //    lstSql.Add(strSql3);
                        //}

                        //transID = base.GetTableID("seq_tasktrans_id");
                        transID = base.GetTableIDBySqlServerTaskTrans("t_tasktrans");
                        strSql5 = "SET IDENTITY_INSERT t_tasktrans on ;insert into t_tasktrans(id, Serialno, Materialno, Materialdesc, Supcuscode, " +
                                  "Supcusname, Qty, Tasktype, Vouchertype, Creater, Createtime,TaskdetailsId, Unit, Unitname,partno,materialnoid,erpvoucherno,voucherno," +
                                  "Strongholdcode,Strongholdname,Companycode,Supprdbatch,Edate,taskno,Batchno,Barcode,FromWarehouseNo,FromWarehouseName,FromHouseNo,FromAreaNo,ToWarehouseNo,ToWarehouseName,ToHouseNo,ToAreaNo,PalletNo,IsPalletOrBox)" +
                                  " values ('" + transID + "','" + itemStock.SerialNo + "'," +
                                  " '" + item.MaterialNo + "','" + item.MaterialDesc + "','" + item.SupCusCode + "','" + item.SupCusName + "','" + itemStock.AmountQty + "','1'," +
                                  " (select vouchertype from t_task where id = '" + item.HeaderID + "') ,'" + user.UserName + "',getdate(),'" + item.ID + "', " +
                                  "'" + item.Unit + "','" + item.UnitName + "','" + item.PartNo + "','" + item.MaterialNoID + "','" + item.ErpVoucherNo + "'," +
                                  "  '" + item.VoucherNo + "','" + itemStock.StrongHoldCode + "','" + itemStock.StrongHoldName + "','" + itemStock.CompanyCode + "'," +
                                  "  '" + itemStock.SupPrdBatch + "','" + itemStock.EDate + "' ,'" + item.TaskNo + "','" + itemStock.BatchNo + "','" + itemStock.Barcode + "'," +
                                  " (select WAREHOUSENO from T_WAREHOUSE where id = (select WAREHOUSEID from T_STOCK where SERIALNO = '" + itemStock.SerialNo + "'))," +
                                  " (select WAREHOUSENAME from T_WAREHOUSE where id = (select WAREHOUSEID from T_STOCK where SERIALNO = '" + itemStock.SerialNo + "'))," +
                                  " (select HOUSENO from T_HOUSE where id = (select HOUSEID from T_STOCK where SERIALNO = '" + itemStock.SerialNo + "'))," +
                                  " (select AREANO from T_AREA where id = (select AREAID from T_STOCK where SERIALNO = '" + itemStock.SerialNo + "'))," +
                                  " '" + item.WareHouseNo + "',(select WAREHOUSENAME from T_WAREHOUSE where warehouseno = '" + item.WareHouseNo + "'),(SELECT HOUSENO from v_area where WAREHOUSENO = '" + item.WareHouseNo + "' AND AREANO = '" + item.AreaNo + "'),'" + item.AreaNo + "','" + itemStock.PalletNo + "','" + itemStock.IsPalletOrBox + "') SET IDENTITY_INSERT t_tasktrans off ";

                        lstSql.Add(strSql5);
                    }
                }
            }

            strSql3 = "update t_task  set  Status = 2 where id = '" + modelList[0].HeaderID + "'";
            lstSql.Add(strSql3);

            strSql4 = string.Format(" update t_task set status = 3 where id in(select HeaderID from t_taskdetails group by HeaderID having(max(isnull(linestatus,1)) = 3 and min(isnull(linestatus,1))=3) and HeaderID = '{0}')" +
                                    "and id = '{1}'", modelList[0].HeaderID, modelList[0].HeaderID);

            lstSql.Add(strSql4);

            return(lstSql);
        }
Beispiel #3
0
        public string UserLoginADF(string UserJson)
        {
            BaseMessage_Model <UserInfo> messageModel = new BaseMessage_Model <UserInfo>();

            try
            {
                UserInfo model;
                User_DB  _db = new User_DB();
                DateTime CurrentTime;

                LogNet.LogInfo("UserLoginADF---" + UserJson);
                UserInfo user = BILBasic.JSONUtil.JSONHelper.JsonToObject <UserInfo>(UserJson);
                //UserInfo user = JsonConvert.DeserializeObject<UserInfo>(UserJson);

                model = _db.GetModelBySql(user);

                if (model == null)
                {
                    int iSucc = _db.GetScalarBySql(user);
                    if (iSucc <= 0)
                    {
                        messageModel.Message      = "该用户不存在,请检查大小写是否输入正确!";
                        messageModel.HeaderStatus = "E";
                        return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
                    }
                    else
                    {
                        messageModel.Message      = "密码输入错误,忘记密码请联系管理员重置!";
                        messageModel.HeaderStatus = "E";
                        return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
                    }
                }

                CurrentTime = model.CurrentTime;

                if (user.WarehouseID != -100)
                {
                    if (!model.WarehouseCode.Contains(user.WarehouseID.ToString()))
                    {
                        messageModel.Message      = "登录账户与所选仓库不一致!";
                        messageModel.HeaderStatus = "E";
                        return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
                    }
                }


                if (model.UserStatus == 2)
                {
                    messageModel.Message      = string.Format("用户【{0}】已停用", model.UserName);
                    messageModel.HeaderStatus = "E";
                    return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
                }

                if (model.IsDel == 2)
                {
                    messageModel.Message      = string.Format("用户【{0}】已删除", model.UserName);
                    messageModel.HeaderStatus = "E";
                    return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
                }

                model.WarehouseID = user.WarehouseID;
                user = model;

                T_UserGroup_Func       ugf      = new T_UserGroup_Func();
                List <T_UserGroupInfo> lstGroup = new List <T_UserGroupInfo>();

                if (ugf.GetModelListBySql(user, ref lstGroup))
                {
                    user.lstUserGroup = lstGroup;
                }

                //暂时屏蔽
                T_MENU_Func       tmfun   = new T_MENU_Func();
                List <T_MenuInfo> lstMenu = new List <T_MenuInfo>();

                if (tmfun.GetModelListBySql(user, ref lstMenu, false))
                {
                    user.lstMenu = lstMenu.Where(t => t.MenuType == 4).ToList();
                }

                //根据用户配置的仓库ID,获取对应的收货,发货库位
                T_Area_Func       tafun   = new T_Area_Func();
                List <T_AreaInfo> lstArea = new List <T_AreaInfo>();

                if (tafun.GetModelListBySql(user.WarehouseID, ref lstArea))
                {
                    T_AreaInfo areaInfo = new T_AreaInfo();
                    //查找收货待检库位
                    areaInfo = lstArea.Find(t => t.AreaType == 2);
                    if (areaInfo != null)
                    {
                        user.ReceiveHouseID       = areaInfo.HouseID;
                        user.ReceiveAreaID        = areaInfo.ID;
                        user.ReceiveAreaNo        = areaInfo.AreaNo;
                        user.ReceiveWareHouseNo   = areaInfo.WarehouseNo;
                        user.ReceiveHouseNo       = areaInfo.HouseNo;
                        user.ReceiveWareHouseName = areaInfo.WarehouseName;
                        user.QuanUserNo           = areaInfo.QuanUserNo;
                        user.QuanUserName         = areaInfo.QuanUserName;
                        //user.lstQuanUser = _db.GetQuanUser(user.QuanUserNo);
                    }

                    //查找拣货临时库位
                    areaInfo = lstArea.Find(t => t.AreaType == 3);
                    if (areaInfo != null)
                    {
                        user.PickHouseID       = areaInfo.HouseID;
                        user.PickAreaID        = areaInfo.ID;
                        user.PickWareHouseID   = areaInfo.WarehouseID;
                        user.PickAreaNo        = areaInfo.AreaNo;
                        user.PickWareHouseNo   = areaInfo.WarehouseNo;
                        user.PickHouseNo       = areaInfo.HouseNo;
                        user.PickWareHouseName = areaInfo.WarehouseName;
                    }

                    areaInfo = lstArea.Find(t => t.AreaType == 4);
                    if (areaInfo != null)
                    {
                        user.ToSampWareHouseNo = areaInfo.WarehouseNo;
                        user.ToSampAreaNo      = areaInfo.AreaNo;
                    }
                }

                //T_WareHouse_Func twfun = new T_WareHouse_Func();
                //List<T_WareHouseInfo> lstWarehouse = new List<T_WareHouseInfo>();
                //if (twfun.GetModelListBySql(user, ref lstWarehouse))
                //{
                //    user.lstWarehouse = lstWarehouse;
                //}

                messageModel.Message      = "登录成功!";
                messageModel.HeaderStatus = "S";
                messageModel.ModelJson    = user;
                return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));


                //return JsonConvert.SerializeObject(messageModel);
            }
            catch (Exception ex)
            {
                messageModel.Message      = ex.Message;
                messageModel.HeaderStatus = "E";
                return(BILBasic.JSONUtil.JSONHelper.ObjectToJson <BaseMessage_Model <UserInfo> >(messageModel));
            }
        }
Beispiel #4
0
        public bool UpdateT_AreaStatus(UserInfo user, ref T_AreaInfo t_area, int NewStatus, ref string strError)
        {
            T_Area_Func tfunc = new T_Area_Func();

            return(tfunc.UpdateModelStatus(user, ref t_area, NewStatus, ref strError));
        }
Beispiel #5
0
        public bool GetT_AreaListByPage(ref List <T_AreaInfo> modelList, UserInfo user, T_AreaInfo t_area, ref DividPage page, ref string strError)
        {
            T_Area_Func tfunc = new T_Area_Func();

            return(tfunc.GetModelListByPage(ref modelList, user, t_area, ref page, ref strError));
        }
Beispiel #6
0
        public bool GetT_AreaByID(ref T_AreaInfo model, ref string strError)
        {
            T_Area_Func tfunc = new T_Area_Func();

            return(tfunc.GetModelByID(ref model, ref strError));
        }
Beispiel #7
0
        public bool DeleteT_AreaByModel(UserInfo user, T_AreaInfo model, ref string strError)
        {
            T_Area_Func tfunc = new T_Area_Func();

            return(tfunc.DeleteModelByModel(user, model, ref strError));
        }
Beispiel #8
0
        public bool SaveT_Area(UserInfo user, ref T_AreaInfo t_area, ref string strError)
        {
            T_Area_Func tfunc = new T_Area_Func();

            return(tfunc.SaveModelToDB(user, ref t_area, ref strError));
        }