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); }
/// <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())); }
public long InsertInfo(PCMInventoryOrderPartInfo info) { throw new Exception("MC:0x00000371");///不允许手动添加 }