public TableData UpdateDetailApp(MaterialDistributeTaskDetail materialDistributeTaskDetail)
        {
            using (var tran = _context.Database.BeginTransaction())
            {
                TableData tab = new TableData();
                tab.code = 200;
                try
                {
                    _appd.Update(materialDistributeTaskDetail);

                    MaterialDemand materialDemand = _unitWork.Find <MaterialDemand>(u => u.OrderCode == materialDistributeTaskDetail.OrderCode && u.MaterialCode == materialDistributeTaskDetail.MaterialCode).FirstOrDefault();
                    materialDemand.DistributeQty = materialDistributeTaskDetail.Qty;
                    materialDemand.UpdateBy      = "MaterialConfirm";
                    materialDemand.UpdateTime    = DateTime.Now;
                    _unitWork.Update(materialDemand);
                    tab.msg = "备料信息变更成功!";

                    tran.Commit();
                }
                catch (Exception ex)
                {
                    tran.Rollback();
                    tab.code = 300;
                    tab.msg += ex.Message;
                }
                return(tab);
            }
        }
Example #2
0
        public MaterialDemand CreateHospitalMedicalSupply(string hospitalId, MaterialDemand entity)
        {
            var hospital = GetHospital(hospitalId);

            hospital.MaterialDemands.Add(entity);

            _repoHospital.UpdateHospital(hospital);
            return(entity);
        }
        public IActionResult CreateHospitalMedicalSupplies(
            [FromRoute] string hospitalId,
            [FromBody] MaterialDemand materialDemand
            )
        {
            var data = _hospitalService.CreateHospitalMedicalSupply(hospitalId, materialDemand);

            return(Created($"api/hospitals/{hospitalId}/medical-supplies", data));
        }
Example #4
0
        public TableData Query(MaterialDemand entity)
        {
            var result = new TableData();
            var data   = _app.Find(EntityToExpression <MaterialDemand> .GetExpressions(entity));

            GetData(data, result);
            result.count = data.Count();

            return(result);
        }
        public IActionResult UpdateHospitalMedicalSupplies(
            [FromRoute] string hospitalId,
            [FromRoute] string materialDemandId,
            [FromBody] MaterialDemand materialDemand
            )
        {
            var data = _hospitalService.UpdateHospitalMedicalSupply(hospitalId, materialDemandId, materialDemand);

            return(NoContent());
        }
Example #6
0
        public Response StockConfirmApp(MaterialDemandConfirmModel mdConfirmList)
        {
            Response Response  = new Response();
            string   sErrorMsg = "";

            //if (!CheckLogin())
            //{
            //    Response.Code = 500;
            //    Response.Status = false;
            //    Response.Message = "请先登录!";
            //    return Response;
            //}
            foreach (MaterialDemandConfirm mdConfirm in mdConfirmList.Data)
            {
                try
                {
                    MaterialDemand materialDemand = _unitWork.FindSingle <MaterialDemand>(u => u.Id.Equals(mdConfirm.Id));
                    if (materialDemand != null)
                    {
                        materialDemand.DistributeQty = mdConfirm.DistributeQty;
                        materialDemand.UpdateBy      = "ConfirmAPI";
                        materialDemand.UpdateTime    = DateTime.Now;
                        _unitWork.Update(materialDemand);
                    }
                    MaterialDistributeTaskDetail materialDistributeTaskDetail = _unitWork.FindSingle <MaterialDistributeTaskDetail>(u => u.OrderCode == mdConfirm.OrderCode && u.MaterialCode == mdConfirm.MaterialCode);
                    if (materialDistributeTaskDetail != null)
                    {
                        materialDistributeTaskDetail.Qty           = mdConfirm.DistributeQty;
                        materialDistributeTaskDetail.ContainerCode = mdConfirm.ContainerCode;
                        materialDistributeTaskDetail.UpdateBy      = "ConfirmAPI";
                        materialDistributeTaskDetail.UpdateTime    = DateTime.Now;
                        _unitWork.Update(materialDistributeTaskDetail);

                        MaterialDistributeTaskHeader materialDistributeTaskHeader = _unitWork.FindSingle <MaterialDistributeTaskHeader>(u => u.Id == materialDistributeTaskDetail.MaterialDistributeTaskHeaderId);
                        if (materialDistributeTaskHeader.MaterialConfirm != MaterialConfirm.已确认)
                        {
                            materialDistributeTaskHeader.ContainerCode   = mdConfirm.ContainerCode;
                            materialDistributeTaskHeader.StartPlace      = mdConfirm.ContainerPlace;
                            materialDistributeTaskHeader.MaterialConfirm = MaterialConfirm.已确认;
                            materialDistributeTaskHeader.UpdateBy        = "ConfirmAPI";
                            materialDistributeTaskHeader.UpdateTime      = DateTime.Now;
                            _unitWork.Update(materialDistributeTaskHeader);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Response.Code    = 500;
                    Response.Status  = false;
                    Response.Message = (Response.Message == "操作成功" ? "" : Response.Message) + "\r\n" + "OrderCode:" + mdConfirm.OrderCode + "确认失败!" + ex.Message;
                }
            }
            return(Response);
        }
Example #7
0
 public string Upd(MaterialDemand Table_entity)
 {
     try
     {
         _app.Upd(Table_entity);
     }
     catch (Exception ex)
     {
         Result.Status  = false;
         Result.Message = ex.Message;
     }
     return(JsonHelper.Instance.Serialize(Result));
 }
Example #8
0
        public MaterialDemand UpdateHospitalMedicalSupply(string hospitalId, string materialDemandId, MaterialDemand entity)
        {
            var            hospital       = GetHospital(hospitalId);
            MaterialDemand materialDemand = null;

            for (var i = 0; i < hospital.MaterialDemands.Count; i++)
            {
                materialDemand = hospital.MaterialDemands[i];
                if (materialDemand.Id.ToString() == materialDemandId)
                {
                    hospital.MaterialDemands[i] = entity;
                    break;
                }
            }
            _repoHospital.UpdateHospital(hospital);
            return(materialDemand);
        }
Example #9
0
        public string GetTemplate()
        {
            var result = new TableData();
            List <MaterialDemand> listMaterialDemand = new List <MaterialDemand>();
            MaterialDemand        entity             = _app.FindSingle(u => u.Id > 0);

            if (entity != null)
            {
                listMaterialDemand.Add(entity);
            }
            else
            {
                listMaterialDemand.Add(new MaterialDemand());
            }

            result.data  = listMaterialDemand;
            result.count = listMaterialDemand.Count;

            return(JsonHelper.Instance.Serialize(result));
        }
Example #10
0
        public Response ImportIn(IFormFile excelfile)
        {
            Response result           = new Infrastructure.Response();
            List <MaterialDemand> exp = imp.ConvertToModel <MaterialDemand>(excelfile);
            string sErrorMsg          = "";

            for (int i = 0; i < exp.Count; i++)
            {
                try
                {
                    MaterialDemand e = exp[i];
                    e.Id = null;
                    _app.Add(e);
                }
                catch (Exception ex)
                {
                    sErrorMsg     += "第" + (i + 2) + "行:" + ex.Message + "<br>";
                    result.Message = sErrorMsg;
                    break;
                }
            }
            if (sErrorMsg.Equals(string.Empty))
            {
                if (exp.Count == 0)
                {
                    sErrorMsg     += "没有发现有效数据, 请确定模板是否正确, 或是否有填充数据!";
                    result.Message = sErrorMsg;
                }
                else
                {
                    result.Message = "导入完成";
                }
            }
            else
            {
                result.Status  = false;
                result.Message = result.Message;
            }
            return(result);
        }
Example #11
0
 public void Upd(MaterialDemand entity)
 {
     _app.Update(entity);
 }
Example #12
0
 public void Ins(MaterialDemand entity)
 {
     _app.Add(entity);
 }
Example #13
0
 public TableData Load(PageReq pageRequest, MaterialDemand entity)
 {
     return(_app.Load(pageRequest, entity));
 }
Example #14
0
 public TableData ExportData(MaterialDemand entity)
 {
     return(_app.ExportData(entity));
 }
Example #15
0
        public TableData CreateMaterialListApp(List <OrderHeader> ohlist)
        {
            TableData tab = new TableData
            {
                code = 200
            };
            int    hcount    = 0;
            int    listcount = 0;
            string sErrorMsg = "";

            try
            {
                listcount = ohlist.Count;
                foreach (OrderHeader orderhearder in ohlist)
                {
                    OrderHeader oh = _unitWork.Find <OrderHeader>(u => u.Code == orderhearder.Code).FirstOrDefault();
                    //判断此工单的物料需求数据是否已经建立
                    if (!_unitWork.IsExist <MaterialDemand>(u => u.OrderCode == orderhearder.Code))
                    {
                        if (oh.PartMaterialCode == null)
                        {
                            oh.PartMaterialCode = oh.ProductCode;
                        }
                        //判断此产品的生产MBOM主表数据是否建立
                        if (_unitWork.IsExist <MbomHeader>(n => n.ProductCode == oh.PartMaterialCode))
                        {
                            var mhid = _unitWork.FindSingle <MbomHeader>(n => n.ProductCode == oh.PartMaterialCode).Id;
                            List <MbomDetail> mbomDetails = _unitWork.Find <MbomDetail>(u => u.MbomHeaderId.Equals(mhid)).ToList();
                            //判断此产品的生产MBOM明细数据是否建立
                            if (mbomDetails.Count > 0)
                            {
                                //根据生产工单和生产MBOM信息生成工单物料需求数据
                                foreach (MbomDetail mbomdt in mbomDetails)
                                {
                                    var            abctype = _unitWork.Find <Material>(u => u.Code == mbomdt.MaterialCode).Select(a => a.ClassABC).FirstOrDefault();
                                    MaterialDemand md      = new MaterialDemand();
                                    md.OrderCode        = oh.Code;
                                    md.ProductCode      = oh.ProductCode;
                                    md.PartMaterialCode = oh.PartMaterialCode;
                                    md.ClassABC         = abctype;
                                    md.DamandQty        = oh.PlanQty * mbomdt.BaseQty;
                                    md.DistributeQty    = mbomdt.BaseQty;
                                    md.MaterialCode     = mbomdt.MaterialCode;
                                    md.OnlineQty        = 0;
                                    md.OfflineQty       = 0;
                                    md.Status           = "ready";
                                    _appmd.Add(md);
                                }
                                hcount = hcount + 1;
                            }
                            else
                            {
                                sErrorMsg += "工单号为:" + oh.Code + "的生产MBOM明细资料未建立,请先去创建此工单的生产MBOM明细!<br>";
                                tab.msg    = sErrorMsg;
                            }
                        }
                        else
                        {
                            sErrorMsg += "工单号为:" + oh.Code + "的生产MBOM未建立,请先去创建此工单的生产MBOM!<br>";
                            tab.msg    = sErrorMsg;
                        }
                    }
                    else
                    {
                        sErrorMsg += "工单号为:" + oh.Code + "已经生成过物料需求清单,不可再生成!<br>";
                        tab.msg    = sErrorMsg;
                    }
                }

                if (listcount <= hcount)
                {
                    tab.code = 200;
                    tab.msg  = "已按工单全部成功生成物料需求清单!";
                }
                else
                {
                    tab.code = 200;
                    tab.msg  = "执行完成!部分未成功生成的信息如下:<br>" + tab.msg;
                }
            }
            catch (Exception ex)
            {
                tab.code = 300;
                tab.msg += ex.Message;
            }
            return(tab);
        }
Example #16
0
 public string Load(PageReq pageRequest, MaterialDemand entity)
 {
     return(JsonHelper.Instance.Serialize(_app.Load(pageRequest, entity)));
 }
Example #17
0
 public string Export(MaterialDemand entity)
 {
     return(JsonHelper.Instance.Serialize(_app.ExportData(entity)));
 }