public ResultModel SaveBlankingPlanData(dynamic data)
        {
            try
            {
                //List<int> productIDs = new List<int>();
                //List<int> pbomIDs = new List<int>();
                //
                //foreach (var item in data)
                //{
                //    productIDs.Add(data[0].product_ID);
                //    pbomIDs.Add(data[0].pbom_ID);
                //}
                //
                //List<PMS_BN_ProjectDetail> listA = db.Sql(string.Format(@"SELECT * FROM dbo.PMS_BN_ProjectDetail WHERE IsEnable = 1 AND ID IN ({0})", string.Join(",", productIDs))).QueryMany<PMS_BN_ProjectDetail>();
                //List<PRS_Process_BOM> listB = db.Sql(string.Format(@"SELECT * FROM dbo.PRS_Process_BOM WHERE IsEnable = 1 AND ID IN ({0})", string.Join(",", pbomIDs))).QueryMany<PRS_Process_BOM>();

                StringBuilder sb = new StringBuilder();

                string   savantCode = MmsHelper.GetOrderNumber("MES_SavantManage", "SavantCode", "ZJJ", "", "");
                DateTime newDT      = DateTime.Now;

                int partTotalNum = 0;
                foreach (var item in data)
                {
                    //PMS_BN_ProjectDetail product = listA.Single(i => i.ID.Equals(item.product_ID));
                    //PRS_Process_BOM pbom = listB.Single(i => i.ID.Equals(item.pbom_ID));

                    //零件总数
                    partTotalNum += ((int?)item.BlankingNum ?? 0);

                    sb.Append(WinFormClientService.GetInsertSQL(new MES_SavantAndPBom()
                    {
                        SavantCode   = savantCode,
                        ProcessBomID = item.pbom_ID,
                        BlankingNum  = item.BlankingNum,
                        CreatePerson = MmsHelper.GetUserName(),
                        CreateTime   = newDT,
                        ModifyPerson = MmsHelper.GetUserName(),
                        ModifyTime   = newDT
                    }));
                }

                string iCode = new SYS_PartService().GetSysPartAutoMaxICode("030502");

                sb.Append(WinFormClientService.GetInsertSQL(new MES_SavantManage()
                {
                    SavantCode    = savantCode,
                    ProcessBomID  = data[0].pbom_ID,
                    SpareMateSize = data[0].BlankingSize,
                    SpareMateNum  = partTotalNum,//备料数量
                    IsEnable      = 1,
                    CreatePerson  = MmsHelper.GetUserName(),
                    CreateTime    = newDT,
                    ModifyPerson  = MmsHelper.GetUserName(),
                    ModifyTime    = newDT,
                    SplitNum      = 1,//切分数量
                    InventoryCode = iCode
                }));

                sb.Append(WinFormClientService.GetInsertSQL(new SYS_Part()
                {
                    InventoryCode = iCode,
                    InventoryName = data[0].SetMateName,
                    Model         = data[0].BlankingSize,
                    IsEnable      = 1,
                    CreatePerson  = MmsHelper.GetUserName(),
                    CreateTime    = newDT,
                    ModifyPerson  = MmsHelper.GetUserName(),
                    ModifyTime    = newDT
                }));

                string sql = sb.ToString();

                db.UseTransaction(true);
                bool result = db.Sql(sql).Execute() > 0;
                if (result)
                {
                    db.Commit();
                }
                else
                {
                    db.Rollback();
                }

                return(new ResultModel()
                {
                    Result = result,
                    Msg = result ? @"操作成功!" : @"操作失败!"
                });
            }
            catch (Exception ex)
            {
                return(new ResultModel()
                {
                    Result = false,
                    Msg = ex.Message
                });
            }
        }
Exemple #2
0
        protected override void OnAfterHandleExcel(ref DataTable dtSheet)
        {
            var service        = new SYS_PartService();
            var prsbomServices = new PRS_Process_BOMService();

            foreach (DataRow item in dtSheet.Rows)
            {
                var PartCode = item["InventoryCode"].ToString();

                List <PRS_Process_BOM> part = prsbomServices.GetModelList(ParamQuery.Instance().AndWhere("InventoryCode", PartCode).AndWhere("IsEnable", 1));
                if (part.Count > 0)
                {
                    item["PartCode"] = part[part.Count - 1].PartCode;
                    item["PartName"] = part[part.Count - 1].PartName;
                    item["Weight"]   = part[part.Count - 1].Weight;

                    var Query = ParamDelete.Instance().AndWhere("InventoryCode", PartCode);
                    service.Delete(Query);
                }


                string dName = item["WarehouseCode"].ToString();
                string sql   = string.Format(@"select WarehouseName from SYS_BN_Warehouse where WarehouseCode='{0}'", dName);
                string hID   = db.Sql(sql).QuerySingle <string>();
                item["WarehouseName"] = hID;

                string isSelfMade = item["IsSelfMade"].ToString();
                if (isSelfMade == "否")
                {
                    item["IsSelfMade"] = 0;
                }
                else
                {
                    item["IsSelfMade"] = 1;
                }


                string isSupplyMade = item["IsSupplyMade"].ToString();
                if (isSupplyMade == "否")
                {
                    item["IsSupplyMade"] = 0;
                }
                else
                {
                    item["IsSupplyMade"] = 1;
                }

                string isCastforgeMatch = item["IsCastforgeMatch"].ToString();
                if (isCastforgeMatch == "否")
                {
                    item["IsCastforgeMatch"] = 0;
                }
                else
                {
                    item["IsCastforgeMatch"] = 1;
                }

                string isOutsouceWeiding = item["IsOutsouceWeiding"].ToString();
                if (isOutsouceWeiding == "否")
                {
                    item["IsOutsouceWeiding"] = 0;
                }
                else
                {
                    item["IsOutsouceWeiding"] = 1;
                }

                string isElectroHydraulicMatch = item["IsElectroHydraulicMatch"].ToString();
                if (isElectroHydraulicMatch == "否")
                {
                    item["IsElectroHydraulicMatch"] = 0;
                }
                else
                {
                    item["IsElectroHydraulicMatch"] = 1;
                }


                string isMarketMatch = item["IsMarketMatch"].ToString();
                if (isMarketMatch == "否")
                {
                    item["IsMarketMatch"] = 0;
                }
                else
                {
                    item["IsMarketMatch"] = 1;
                }

                string isEnable = item["IsEnable"].ToString();
                if (isEnable == "否")
                {
                    item["IsEnable"] = 0;
                }
                else
                {
                    item["IsEnable"] = 1;
                }
                //dName = item["PartTypeCode"].ToString();
                //sql = string.Format(@"select PartTypeCode from SYS_PartType where TypeName='{0}'", dName);
                //hID = db.Sql(sql).QuerySingle<string>();
                //item["PartTypeCode"] = hID;
            }
            base.OnAfterHandleExcel(ref dtSheet);
        }