Exemple #1
0
        public async void MaterialDelete()
        {
            // Arrange
            this.QuarryDbContext.Materials.AddRange(
                new MaterialEntity()
            {
                MaterialId = 1, BlockNumber = "1111", QuarryId = 1, YardId = 1, MaterialColourId = 1, ProductTypeId = 1, ProcessTypeId = 1, Length = 0.5m, Width = 0.5m, Height = 0.5m, Weight = 0.5m, MaterialDate = DateTime.Now
            },
                new MaterialEntity()
            {
                MaterialId = 2, BlockNumber = "2222", QuarryId = 1, YardId = 1, MaterialColourId = 1, ProductTypeId = 1, ProcessTypeId = 1, Length = 0.5m, Width = 0.5m, Height = 0.5m, Weight = 0.5m, MaterialDate = DateTime.Now
            });

            await this.SaveChangesAsync(this.QuarryDbContext);

            await this.StockGetArrange();

            // Act
            AjaxModel <List <StockModel> > ajaxModel = await this.Controller.MaterialDelete(2, 1);

            // Assert
            MaterialEntity material = this.QuarryDbContext.Materials.Where(m => m.MaterialId == 2).Single();

            Assert.Equal(ajaxModel.Message, QuarryMessages.MaterialDeleteSuccess);
            Assert.Equal(material.BlockNumber, "2222");
            Assert.Equal(material.DeletedInd, true);

            this.StockGetAssert(ajaxModel.Model);
        }
Exemple #2
0
        private void OnAddItemClick(object sender, EventArgs e)
        {
            string item = ConvertUtil.ToString(lookUpEdit1.EditValue);

            if (string.IsNullOrEmpty(item))
            {
                MsgBox.Warn("请选中要添加的行。");
                return;
            }

            MaterialEntity m = materialDal.FindMaterialByCode(item);

            if (m != null)
            {
                if (m.MaterialCode == material.MaterialCode)
                {
                    MsgBox.Warn("不能添加自己为子物料。");
                    return;
                }

                List <MaterialEntity> materials = bindingSource1.DataSource as List <MaterialEntity>;
                if (materials.Exists(i => i.MaterialCode == m.MaterialCode))
                {
                    MsgBox.Warn("物料已存在于列表中。");
                    return;
                }

                //先写入数据库关联表,更新物料类别为组分料
                combMaterialDal.AddItemToComb(material.MaterialCode, item);

                materials.Add(m);
                bindingSource1.ResetBindings(false);
            }
        }
        public MaterialEntity GetMaterial(Barcode barcode)
        {
            string         sql  = @"
select MaterialManagementCode,
    MaterialCode,
    MaterialName,
    MaterialUnitName,
    MaterialQuantity,
    MaterialExpirationDate
from MaterialTable
where MaterialManagementCode = @MMC
";
            MaterialEntity user = null;

            SqlServerHelper.Query(
                sql,
                new List <SqlParameter> {
                new SqlParameter("@MMC", barcode.Value)
            }.ToArray(),
                reader =>
            {
                user = new MaterialEntity(Convert.ToString(reader["MaterialManagementCode"]),
                                          Convert.ToString(reader["MaterialCode"]),
                                          Convert.ToString(reader["MaterialName"]),
                                          Convert.ToSingle(reader["MaterialQuantity"]),
                                          Convert.ToString(reader["MaterialUnitName"]),
                                          Convert.ToDateTime(reader["MaterialExpirationDate"]));
            });

            if (user == null)
            {
                throw new DataNotExistsException();
            }
            return(user);
        }
Exemple #4
0
        public MaterialEntity PrepareSave()
        {
            MaterialEntity editEntity = materialEntity;

            if (editEntity == null)
            {
                editEntity = new MaterialEntity();
            }

            editEntity.MaterialCode   = txtCode.Text.Trim();
            editEntity.MaterialName   = txtName.Text.Trim();
            editEntity.Brand          = txtBrand.Text.Trim();
            editEntity.MaterialNamePY = "";
            editEntity.PackQty        = null;
            editEntity.ProductLine    = "";
            editEntity.Barcode        = "";
            editEntity.Price          = spinEditPrice.Value;
            editEntity.MaxStockQty    = null;
            editEntity.MinStockQty    = null;
            editEntity.MaterialType   = SysCodeConstant.MATERIAL_TYPE_PACK;
            editEntity.SubType        = null;
            editEntity.Unit           = null;
            editEntity.IsActive       = 1 - cbIsActive.SelectedIndex;
            editEntity.SortOrder      = (int)spinSortOrder.Value;
            editEntity.SnOrBatch      = SysCodeConstant.MATERIAL_ADMIN_TYPE_BATCH;
            editEntity.Temperature    = 0;
            editEntity.Owner          = 0;

            return(editEntity);
        }
Exemple #5
0
        public PartModel UpdateAttachedMaterials(int partId, IEnumerable <MaterialModel> materials)
        {
            PartEntity entity = Context.parts.FirstOrDefault(part => part.id == partId);

            if (materials == null)
            {
                return(Mapper.Map <PartEntity, PartModel>(entity));
            }

            entity.materials.Clear();

            foreach (MaterialModel material in materials)
            {
                MaterialEntity materialEntity = Context.materials.FirstOrDefault(mat => mat.id == material.Id);
                if (materialEntity != null)
                {
                    entity.materials.Add(materialEntity);
                }
            }

            return(ProtectedExecute(part =>
            {
                Context.SaveChanges();
                return Mapper.Map <PartEntity, PartModel>(part);
            }, entity));
        }
Exemple #6
0
 /// <summary>
 /// Adds an entity to the tile
 /// </summary>
 /// <param name="entity"></param>
 public void AddEntityToTile(MaterialEntity entity)
 {
     if (!entityList.Contains(entity))
     {
         entityList.Add(entity);
     }
 }
Exemple #7
0
        private bool Save()
        {
            if (!IsFieldValueValid())
            {
                return(false);
            }
            bool success = false;

            try
            {
                MaterialEntity editEntity = PrepareSave();
                int            ret        = materialDal.MaterialAddAndUpdate(editEntity, isNew);
                if (ret == -1)
                {
                    MsgBox.Warn("包材编号已存在,请改为其他的包材编号。");
                }
                else if (ret == -2)
                {
                    MsgBox.Warn("更新失败,该行已经被其他人删除。");
                }
                else
                {
                    success = true;
                    if (DataSourceChanged != null)
                    {
                        DataSourceChanged(editEntity, null);
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }
            return(success);
        }
Exemple #8
0
        private void OnCreateChanage(object sender, EventArgs e)
        {
            MaterialEntity newEntity = (MaterialEntity)sender;

            bindingSource1.Add(newEntity);
            bindingSource1.ResetBindings(false);
        }
Exemple #9
0
        // Material
        public async Task MaterialSave(List <MaterialModel> models)
        {
            int yardId;

            // getting all the yards
            List <YardModel> yards = await this.YardsGet();

            foreach (var model in models)
            {
                yardId       = yards.Where(y => y.QuarryId == model.QuarryId).Select(y => y.YardId).Single();
                model.YardId = yardId;

                MaterialEntity material = Mapper.Map <MaterialModel, MaterialEntity>(model);
                this.DbContext.Materials.Add(material);

                // adding to the Yard
                MaterialMovementEntity movement = new MaterialMovementEntity()
                {
                    Material     = material,
                    FromYardId   = yardId,
                    ToYardId     = yardId,
                    MovementDate = model.MaterialDate,
                    CurrentInd   = true
                };

                this.DbContext.MaterialMovements.Add(movement);
            }

            await this.DbContext.SaveChangesAsync();
        }
Exemple #10
0
        /// <summary>
        /// 显示要编辑的物料信息
        /// </summary>
        private void ShowEditInfo(MaterialEntity material)
        {
            txtCode.Text = material.MaterialCode;    //物料编码
            txtName.Text = material.MaterialName;    //物料名称
            txtSpec.Text = material.Spec;            //物料规格

            if (material.SecurityQty.HasValue)       //单货位安全库存
            {
                spinEditSecurityQty.Value = material.SecurityQty.Value;
            }

            lookUpEditTemperature.EditValue = material.TemperatureCode; //存储条件

            if (material.MinStockQty.HasValue)                          //低储
            {
                spinEditMin.Value = material.MinStockQty.Value;
            }

            if (material.MaxStockQty.HasValue)        //高储
            {
                spinEditMax.Value = material.MaxStockQty.Value;
            }

            lookUpEdit1.Text = material.SkuTypeDesc;
        }
Exemple #11
0
        void ChangeToMaterial()
        {
            MaterialEntity editEntity = SelectedRow;

            if (editEntity == null)
            {
                MsgBox.Warn("请选中要修改的行。");
                return;
            }

            if (MsgBox.AskOK("确定要重置为普通物料吗?") != DialogResult.OK)
            {
                return;
            }

            try
            {
                int result = new CombMaterialDal().UpdateComToMaterialType(editEntity.MaterialCode);
                bindingSource1.RemoveCurrent();
                ShowFocusedHeaderDetails();
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }
        }
Exemple #12
0
        /// <summary>
        /// 检查物料编码是否已存在
        /// </summary>
        /// <param name="dept"></param>
        /// <returns></returns>
        private bool IsMaterialCodeExists(MaterialEntity Material)
        {
            IMapper map = DatabaseInstance.Instance();
            string  id  = map.ExecuteScalar <string>("SELECT MTL_CODE FROM WM_MATERIALS WHERE MTL_CODE = @COD",
                                                     new { COD = Material.MaterialCode });

            return(!string.IsNullOrEmpty(id));
        }
        public void MaterialSearch()
        {
            var readBarcode = new Barcode(Guard.IsStringEmpty(BarcodeReadText, "材料バーコード空白エラー"));

            _materialEntity      = _materialRepository.GetMaterial(readBarcode);
            MaterialCodeText     = _materialEntity.MaterialCode.DisplayValue;
            MaterialNameText     = _materialEntity.MaterialName.DisplayValue;
            MaterialQuantityText = _materialEntity.MaterialQuantity.DisplayValue;
        }
Exemple #14
0
 private void AddItem(MaterialEntity material, decimal qty)
 {
     //把选中的物料克隆,修改为用户选中的计量单位,作为新的单据行
     if (OnInsertItem != null)
     {
         OnInsertItem(material, qty);
         lblInfo.Show(true);
     }
 }
        public async Task <TData <string> > SaveForm(MaterialEntity entity)
        {
            TData <string> obj = new TData <string>();
            await materialService.SaveForm(entity);

            obj.Data = entity.Id.ParseToString();
            obj.Tag  = 1;
            return(obj);
        }
Exemple #16
0
        private void simpleButton4_Click(object sender, EventArgs e)
        {
            MaterialEntity m = gridView1.GetFocusedRow() as MaterialEntity;

            if (m != null)
            {
                combMaterialDal.RemoveItem(material.MaterialCode, m.MaterialCode);
                gridView1.DeleteSelectedRows();
            }
        }
Exemple #17
0
        private void OnGridRowDoubleClick()
        {
            MaterialEntity material = gridMaterial.FocusedHeader;

            if (material != null)
            {
                MaterialEntity m = material.Clone() as MaterialEntity;
                m.Remark = string.Empty;
                AddItem(material, 1m);
            }
        }
Exemple #18
0
        public override void AfterButtonClick(AfterButtonClickEventArgs e)
        {
            base.AfterButtonClick(e);
            MaterialEntity material = new MaterialEntity();

            material.UserName = "******";
            material.UseOrgId = "111934";
            string sJon = JsonConvert.SerializeObject(material);

            WebReference.MESWebService request = new WebReference.MESWebService();
            request.GetMaterialDataList(sJon);
        }
Exemple #19
0
        public void シナリオ()
        {
            var entity = new MaterialEntity(
                "AAAA2",
                "05005050505044",
                "1775B2",
                1.5f,
                "EA",
                Convert.ToDateTime("2012/12/12 12:34:56")
                );

            var readBarcode         = new Barcode("AAAA");
            var MaterialMock        = new Mock <IMaterialRepository>();
            var MaterialReceiptMock = new Mock <IMaterialReceiptRepository>();

            MaterialMock.Setup(x => x.GetMaterial(readBarcode)).Returns(entity);

            var viewModelMock = new Mock <MaterialStoringViewModel>(MaterialMock.Object, MaterialReceiptMock.Object);

            var viewModel = viewModelMock.Object;

            viewModel.BarcodeReadText = "";

            var ex = AssertEx.Throws <InputException>(() => viewModel.MaterialSearch());

            ex.Message.Is("材料バーコード空白エラー");
            viewModel.BarcodeReadText = "AAAA";

            ex = AssertEx.Throws <InputException>(() => viewModel.DeliveryRecordSave());
            ex.Message.Is("配送先バーコード空白エラー"); //材料データが見つかりません。

            viewModel.DeliveryRecordText = "BOX-12345";

            ex = AssertEx.Throws <InputException>(() => viewModel.DeliveryRecordSave());
            ex.Message.Is("材料データが見つかりません。");

            viewModel.MaterialSearch();
            viewModel.BarcodeReadText.Is("AAAA");
            viewModel.MaterialCodeText.Is("MC:[05005050505044]");
            viewModel.MaterialNameText.Is("名称:[1775B2]");

            MaterialReceiptMock.Setup(x => x.DeliveryRecordSave(It.IsAny <MaterialReceiptEntity>())).
            Callback <MaterialReceiptEntity>(saveValue =>
            {
                saveValue.MaterialManagementCode.Value.Is("AAAA2");
                //saveValue.MaterialReceiptDate.Is(Convert.ToDateTime("2018/01/01 12:34:56"));
                saveValue.MaterialDeliveryPlace.Value.Is("BOX-12345");
            });

            viewModel.DeliveryRecordSave();

            MaterialMock.VerifyAll();
        }
Exemple #20
0
        public async Task MaterialUpdate(MaterialModel model)
        {
            MaterialEntity entity = await this.SingleAsync <MaterialEntity>(model.MaterialId);

            if (entity.QuarryId != model.QuarryId)
            {
                // getting the YardId
                List <YardModel> yards = await this.YardsGet();

                int oldYardId = yards.Single(y => y.QuarryId == entity.QuarryId).YardId;
                int newYardId = yards.Single(y => y.QuarryId == model.QuarryId).YardId;

                // updating the movement records
                List <MaterialMovementEntity> movementEntites = await(from me in this.DbContext.MaterialMovements where me.MaterialId == model.MaterialId && me.FromYardId == oldYardId orderby me.MaterialMovementId select me).Take(2).ToListAsync();

                // updating the first record
                bool intiallyMoved = false;
                for (int counter = 0; counter < movementEntites.Count; counter++)
                {
                    if (counter == 0)
                    {
                        movementEntites[counter].FromYardId = newYardId;
                        if (movementEntites[counter].ToYardId == oldYardId)
                        {
                            movementEntites[counter].ToYardId = newYardId;
                        }
                        else
                        {
                            intiallyMoved = true;
                        }
                    }
                    else
                    {
                        if (intiallyMoved)
                        {
                            break;
                        }

                        movementEntites[counter].FromYardId = newYardId;
                    }

                    movementEntites[counter].UpdateAuditFields();
                    this.DbContext.MaterialMovements.Update(movementEntites[counter]);
                }

                model.YardId = newYardId;
            }

            Mapper.Map <MaterialModel, MaterialEntity>(model, entity);
            this.DbContext.Materials.Update(entity);
            await this.DbContext.SaveChangesAsync();
        }
Exemple #21
0
 public void SubmitForm(MaterialEntity materialEntity, string keyValue)
 {
     if (!string.IsNullOrEmpty(keyValue))
     {
         materialEntity.Modify(keyValue);
         service.Update(materialEntity);
     }
     else
     {
         materialEntity.Create();
         service.Insert(materialEntity);
     }
 }
 public static DalMaterial ToDalMaterial(this MaterialEntity material)
 {
     if (material != null)
     {
         return(new DalMaterial()
         {
             Content = material.Content,
             Description = material.Description,
             FileName = material.FileName,
             Id = material.Id
         });
     }
     return(null);
 }
Exemple #23
0
        /// <summary>
        /// 添加或编辑物料
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="isNew">添加或编辑</param>
        /// <returns>1:成功;-1:物料编号已存在;-2:已关联其它供应商,无法置为空;-3:该关联已存在</returns>
        public bool UpdateSkuInfo(MaterialEntity entity, bool isNew)
        {
            try
            {
                #region 请求数据
                System.Text.StringBuilder loStr = new System.Text.StringBuilder();
                #region
                loStr.Append("securityQty=").Append(entity.SecurityQty).Append("&");
                loStr.Append("tempCode=").Append(entity.TemperatureCode).Append("&");
                loStr.Append("minStockQty=").Append(entity.MinStockQty).Append("&");
                loStr.Append("maxStockQty=").Append(entity.MaxStockQty).Append("&");
                loStr.Append("updateTy=").Append(entity.LastUpdateBy).Append("&");
                loStr.Append("updateDate=").Append(entity.LastUpdateDate).Append("&");
                loStr.Append("skuType=").Append(entity.SkuType).Append("&");
                loStr.Append("skuCode=").Append(entity.MaterialCode);
                #endregion
                string jsonQuery = WebWork.SendRequest(loStr.ToString(), WebWork.URL_UpdateSkuInfo);
                if (string.IsNullOrEmpty(jsonQuery))
                {
                    MsgBox.Warn(WebWork.RESULT_NULL);
                    //LogHelper.InfoLog(WebWork.RESULT_NULL);
                    return(false);
                }
                #endregion

                #region 正常错误处理

                Sucess bill = JsonConvert.DeserializeObject <Sucess>(jsonQuery);
                if (bill == null)
                {
                    MsgBox.Warn(WebWork.JSON_DATA_NULL);
                    return(false);
                }
                if (bill.flag != 0)
                {
                    MsgBox.Warn(bill.error);
                    return(false);
                }
                #endregion

                return(true);
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }

            return(false);
        }
Exemple #24
0
        /// <summary>
        /// 编辑
        /// </summary>
        private void ShowEditMaterial()
        {
            MaterialEntity editEntity = SelectedMaterialRow;

            if (editEntity == null)
            {
                MsgBox.Warn("没有要修改的数据。");
                return;
            }

            FrmMaterialEdit frmMaterialEdit = new FrmMaterialEdit(editEntity, false);

            frmMaterialEdit.DataSourceChanged += OnEditChanage;
            frmMaterialEdit.ShowDialog();
        }
Exemple #25
0
        //复制新增
        private void DoCopyNewMaterial()
        {
            MaterialEntity editEntity = SelectedMaterialRow;

            if (editEntity == null)
            {
                MsgBox.Warn("请选中一行作为样本数据。");
                return;
            }

            FrmMaterialEdit frmMaterialEdit = new FrmMaterialEdit(editEntity, true);

            frmMaterialEdit.DataSourceChanged += OnEditChanage;
            frmMaterialEdit.ShowDialog();
        }
        public async Task SaveForm(MaterialEntity entity)
        {
            if (entity.Id.IsNullOrZero())
            {
                await entity.Create();

                await this.BaseRepository().Insert(entity);
            }
            else
            {
                await entity.Modify();

                await this.BaseRepository().Update(entity);
            }
        }
        /// <summary>
        /// 获取物料列表信息
        /// </summary>
        /// <param name="parameterJson"></param>
        /// <returns></returns>
        public string GetMaterialDataList(string parameterJson)
        {
            MaterialEntity        material = KDObjectConverter.DeserializeObject <MaterialEntity>(parameterJson);
            ICommonService        instance = KeeperServiceFactory.GetService <ICommonService>(Ctx);
            string                message  = "查询成功";
            List <MaterialEntity> result   = instance.GetMateriaDatalList(Ctx, material);
            ReturnInfo <List <MaterialEntity> > returnInfo = new ReturnInfo <List <MaterialEntity> >()
            {
                IsSuccess   = true,
                Message     = message,
                ReturnValue = result
            };

            return(JsonConvert.SerializeObject(returnInfo));
        }
Exemple #28
0
        /// <summary>
        /// 编辑
        /// </summary>
        private void ShowEditDlg()
        {
            MaterialEntity editEntity = SelectedRow;

            if (editEntity == null)
            {
                MsgBox.Warn("请选中要修改的行。");
                return;
            }

            FrmCombItemEdit frmLocationEdit = new FrmCombItemEdit(editEntity);

            frmLocationEdit.ShowDialog();
            ShowFocusedHeaderDetails();
        }
Exemple #29
0
        bool IsFieldValid()
        {
            MaterialEntity material = gridMaterial.FocusedHeader;

            if (material == null)
            {
                MsgBox.Warn("请选中一行物料。");
                return(false);
            }

            if (txtQty.Text.Trim().Length == 0)
            {
                MsgBox.Warn("请输入数量。");
                return(false);
            }

            decimal qty = ConvertUtil.ToDecimal(txtQty.Text.Trim());

            if (qty <= decimal.Zero)
            {
                MsgBox.Warn("数量必须为大于0的数值。");
                return(false);
            }

            //若物料设置了基本计量单位,并且用户选择的单位与基本单位不一样,转换为基本包装单位
            string unitCode = ConvertUtil.ToString(listUnits.EditValue);

            if (!string.IsNullOrEmpty(material.UnitCode) && !material.UnitCode.Equals(unitCode))
            {
                List <UnitGroupItemEntity> unitGroups = listUnits.Properties.DataSource as List <UnitGroupItemEntity>;
                UnitGroupItemEntity        ug         = unitGroups.Find(u => u.UnitCode == material.UnitCode);
                if (ug != null)
                {
                    decimal basePackQty         = unitGroups.Find(u => u.UnitCode == material.UnitCode).PackQty;
                    decimal selectedUnitPackQty = unitGroups.Find(u => u.UnitCode == unitCode).PackQty;

                    //按比例折算
                    qty = qty * selectedUnitPackQty / basePackQty;
                }
            }

            MaterialEntity m = material.Clone() as MaterialEntity;

            m.Remark = txtRemark.Text.Trim();
            AddItem(m, qty);
            return(true);
        }
Exemple #30
0
        private bool Save()
        {
            if (!IsFieldValueValid())
            {
                return(false);
            }
            bool success = false;

            try
            {
                MaterialEntity editEntity = PrepareSave();
                //int ret = materialDal.Save(editEntity,lookUpUmName.EditValue.ToString(),Convert.ToInt32(spinEditSecurityQty.Text), isNew);
                //if (ret == -1)
                //    MsgBox.Warn("物料编号已存在,请改为其他的物料编号。");
                //else if (ret == -2)
                //    MsgBox.Warn("供应商不允许置为空,因为该物料已关联了其它供应商。");
                //else if (ret == -3)
                //    MsgBox.Warn(string.Format("该物料已经与供应商“{0}”存在关联,请重新选择默认供应商。", editEntity.SupplierName));
                //else
                //{
                //    success = true;
                //    if (DataSourceChanged != null)
                //    {
                //        DataSourceChanged(editEntity, null);
                //    }
                //}
                bool ret;
                if (!isNew)
                {
                    ret = UpdateSkuInfo(editEntity, isNew);
                }
                {
                    success = true;
                    if (DataSourceChanged != null)
                    {
                        DataSourceChanged(editEntity, null);
                    }
                }
            }
            catch (Exception ex)
            {
                MsgBox.Err(ex.Message);
            }

            return(success);
        }