Exemple #1
0
        public bool UpdateInfo(string fields, long id)
        {
            PackageInvnoticeOrderInfo inventoryNoticeOrderInfo = new PackageInvnoticeOrderDAL().GetList("[FID] = N'" + CommonBLL.GetFieldValue(fields, "ORDER_FID") + "'", string.Empty).FirstOrDefault();

            if (inventoryNoticeOrderInfo.Status != (int)InventoryOrderStatusConstants.PUBLISHED)
            {
                throw new Exception("MC:0x00000372");///状态为20.已发布的盘点单只允许修改物料的物料盘点数量以及备注,此时的修改同时计算出两个差异值
            }
            string partQty = CommonBLL.GetFieldValue(fields, "PART_QTY");
            bool   regular = Regex.IsMatch(partQty, @"^(^-?|^\+?|\d)\d+$");

            if (regular == false)
            {
                regular = Regex.IsMatch(partQty, @"^(^-?|^\+?|^\d?)\d*\.\d+$");
                if (regular == false)
                {
                    throw new Exception("MC:0x00000381");///物料盘点数量的数据格式不正确,请输入数字格式
                }
            }
            PCMInventoryOrderPartInfo inventory = dal.GetInfo(id);

            if (inventory == null)
            {
                throw new Exception("MC:0x00000084");///数据错误
            }
            int differenceQty = Convert.ToInt32(partQty) - Convert.ToInt32(inventory.ReferenceQty);

            fields += ",[DIFFERENCE_QTY] = N'" + differenceQty + "'";
            return(dal.UpdateInfo(fields, id) > 0 ? true : false);
        }
Exemple #2
0
        /// <summary>
        /// 执行导入EXCEL数据
        /// </summary>
        /// <param name="dataTable"></param>
        /// <param name="fieldNames"></param>
        /// <returns></returns>
        public bool ImportDataByExcel(DataTable dataTable, Dictionary <string, string> fieldNames, string loginUser, string where)
        {
            List <PCMInventoryOrderPartInfo> inventoryOrderPartInfos = CommonDAL.DatatableConvertToList <PCMInventoryOrderPartInfo>(dataTable).ToList();

            if (inventoryOrderPartInfos.Count == 0)
            {
                throw new Exception("MC:1x00000043");///数据格式不符合导入规范
            }
            StringBuilder stringBuilder = new StringBuilder();
            List <PCMInventoryOrderPartInfo> orderPartInfos = dal.GetList(where, string.Empty);

            foreach (var item in inventoryOrderPartInfos)
            {
                PCMInventoryOrderPartInfo inventory = orderPartInfos.Where(d => d.Dloc == item.Dloc && d.PartNo == item.PartNo && d.SupplierNum == item.SupplierNum && d.PackageModel == item.PackageModel && d.PackageQty == item.PackageQty).FirstOrDefault();
                if (inventory == null)
                {
                    throw new Exception("MC:0x00000255");///数据格式不符合导入规范
                }
                if (item.PartQty == null)
                {
                    throw new Exception("MC:0x00000380");///物料盘点数量为必填项
                }
                bool regular = Regex.IsMatch(item.PartQty.ToString(), @"^(^-?|^\+?|\d)\d+$");
                if (regular == false)
                {
                    regular = Regex.IsMatch(item.PartQty.ToString(), @"^(^-?|^\+?|^\d?)\d*\.\d+$");
                    if (regular == false)
                    {
                        throw new Exception("MC:0x00000381");///物料盘点数量的数据格式不正确,请输入数字格式
                    }
                }
                inventory.DifferenceQty = item.PartQty - (inventory.ReferenceQty == null ? 0 : inventory.ReferenceQty);
                stringBuilder.Append("update [LES].[TT_PCM_INVENTORY_ORDER_PART] set [DIFFERENCE_QTY] = N'" + inventory.DifferenceQty + "',[PART_QTY] = N'" + item.PartQty + "',[COMMENTS] = N'" + item.Comments + "',[MODIFY_USER] = N'" + loginUser + "',[MODIFY_DATE] = GETDATE() where [FID] = N'" + inventory.Fid + "';\n\n");
                orderPartInfos.Remove(inventory);
            }



            if (string.IsNullOrEmpty(stringBuilder.ToString()))
            {
                throw new Exception("MC:0x00000283");///:没有可导入更新的数据
            }
            return(CommonDAL.ExecuteNonQueryBySql(stringBuilder.ToString()));
        }
Exemple #3
0
 public long InsertInfo(PCMInventoryOrderPartInfo info)
 {
     throw new Exception("MC:0x00000371");///不允许手动添加
 }