public void Edit(dynamic data)
        {
            dynamic insert_list = data.list.inserted;

            if (data.list.inserted.ToString() != "[]")
            {
                var    PlanCode    = MmsHelper.GetOrderNumber("SYS_DrawingApplication", "RequestCode", "TZSQ", "", "");
                string PreCode     = PlanCode.Substring(0, PlanCode.Length - 3);
                int    StartNumber = Convert.ToInt32(PlanCode.Substring(PlanCode.Length - 3));
                foreach (dynamic item in data.list.inserted)
                {
                    item["RequestCode"] = PreCode + StartNumber.ToString().PadLeft(3, '0');
                    StartNumber++;
                }
            }
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            SYS_DrawingApplication
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new SYS_DrawingApplicationService();
            var result      = service.Edit(null, listWrapper, data);
        }
        public void Edit(dynamic data)
        {
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        MES_MaterialReturnMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>MES_MaterialReturnDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));
            if (data.form["BillCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("MES_MaterialReturnMain", "BillCode", "CJTL", "", "");
                data.form["BillCode"] = documentNo;
            }
            var service = new MES_MaterialReturnMainService();
            var result  = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #3
0
        public dynamic PostProductionTaskDetailOnSave(List <PMS_ProductPlanDetail> model)
        {
            int result = 0;

            if (model.Count > 0)
            {
                if (model[0].ID <= 0)
                {
                    model[0].ProductPlanCode = MmsHelper.GetOrderNumber("PMS_ProductPlanDetail", "ProductPlanCode", "PCSC", "", "");
                    model[0].CreateTime      = DateTime.Now;
                    model[0].ModifyTime      = model[0].CreateTime;
                    model[0].CreatePerson    = MmsHelper.GetUserCode();
                    model[0].ModifyPerson    = model[0].CreatePerson;
                    result = new PMS_ProductPlanDetailService().Insert(model[0]);
                }
                else
                {
                    result = new PMS_ProductPlanDetailService().Update(model[0]);
                }
            }

            return(new
            {
                result = result > 0
            });
        }
예제 #4
0
        public void Edit(dynamic data)
        {
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            APS_ProjectProduceDetial
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new APS_ProjectProduceDetialService();

            if (data.list.inserted.ToString() != "[]")
            {
                //APS明细表新增
                var    PlanCode    = MmsHelper.GetOrderNumber("APS_ProjectProduceDetial", "ApsCode", "SCJH", "", "");
                string PreCode     = PlanCode.Substring(0, PlanCode.Length - 3);
                int    StartNumber = Convert.ToInt32(PlanCode.Substring(PlanCode.Length - 3));
                foreach (dynamic row in data.list.inserted)
                {
                    var ApsCode = PreCode + StartNumber.ToString().PadLeft(3, '0');
                    row["ApsCode"] = ApsCode;
                    StartNumber++;
                }
            }
            var result = service.Edit(null, listWrapper, data);
        }
예제 #5
0
        public void Edit(dynamic data)
        {
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        APS_ProductPurchaseMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>APS_ProductPurchaseDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));
            if (data.form["PurchaseDocumentCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("APS_ProductPurchaseMain", "PurchaseDocumentCode", "SCQG", "", "");
                data.form["PurchaseDocumentCode"] = documentNo;
            }
            var service = new APS_ProductPurchaseMainService();
            var result  = service.EditPage(data, formWrapper, tabsWrapper);
        }
        /// <summary>
        /// 物料转序入库
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public dynamic PostMaterialTurnInputStorage(dynamic data)
        {
            try
            {
                DateTime newDT      = DateTime.Now;
                string   documentNo = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", "ZXRK", "", "");

                WMS_BN_BillMain bMainModel = new WMS_BN_BillMain()
                {
                    ID            = Convert.ToInt32(new WMS_BN_BillMainService().GetNewKey("ID", "Maxplus")),
                    BillCode      = documentNo,
                    BillType      = 8,
                    IsEnable      = 1,
                    ContractCode  = data["mainData"]["ContractCode"],
                    ProjectName   = data["mainData"]["ProjectName"],
                    WarehouseCode = data["mainData"]["WarehouseCode"],
                    WarehouseName = data["mainData"]["WarehouseName"],
                    ApproveState  = data["mainData"]["ApproveState"],
                    ApprovePerson = data["mainData"]["UserName"],
                    ApproveDate   = newDT,
                    CreatePerson  = data["mainData"]["UserName"],
                    CreateTime    = newDT,
                    ModifyPerson  = data["mainData"]["UserName"],
                    ModifyTime    = newDT
                };

                List <WMS_BN_BillDetail> bDetailModels = new List <WMS_BN_BillDetail>();
                bDetailModels.Add(new WMS_BN_BillDetail()
                {
                    BillCode      = documentNo,
                    IsEnable      = 1,
                    InventoryCode = data["detailData"]["InventoryCode"],
                    InventoryName = data["detailData"]["InventoryName"],
                    Specs         = data["detailData"]["Specs"],
                    Unit          = data["detailData"]["Unit"],
                    MateNum       = data["detailData"]["MateNum"] == null ? null : Convert.ToDouble(data["detailData"]["MateNum"]),
                    ConfirmNum    = data["detailData"]["ConfirmNum"] == null ? null : Convert.ToDouble(data["detailData"]["ConfirmNum"]),
                    CreatePerson  = data["detailData"]["UserName"],
                    CreateTime    = newDT,
                    ModifyPerson  = data["detailData"]["UserName"],
                    ModifyTime    = newDT,
                    BatchCode     = data["detailData"]["BatchCode"],
                    PBillCode     = data["detailData"]["PBillCode"]
                });

                return(new WinFormClientService().MaterialInventory(bMainModel, bDetailModels, 1));
            }
            catch (Exception ex)
            {
                return(new ResultModel()
                {
                    Result = false,
                    Msg = ex.Message
                });
            }
        }
예제 #7
0
        public void Edit(dynamic data)
        {
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            PRS_DesignChangeRequest
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new PRS_DesignChangeRequestService();
            List <PMS_DesignTaskDetail> dlist = new List <PMS_DesignTaskDetail>();

            if (data.list.inserted.ToString() != "[]")
            {
                var dno = MmsHelper.GetOrderNumber("PRS_DesignChangeRequest", "RequestCode", "GGSQ", "", "");
                var fno = dno.Substring(0, 10);
                var con = dno.Substring(10, 3);

                foreach (JToken row in data["list"]["inserted"].Children())
                {
                    row["RequestCode"] = fno + con;
                    int intCon = Convert.ToInt32(con);
                    intCon++;
                    var zeros = 3 - intCon.ToString().Length;
                    con = "";
                    for (int i = 1; i <= zeros; i++)
                    {
                        con += "0";
                    }
                    con += intCon.ToString();

                    //var d = GetMainID(row["ContractCode"].ToString(), row["ProductID"].ToString());
                    //PMS_DesignTaskDetail dt = new PMS_DesignTaskDetail();
                    //dt.ID = -1;
                    //dt.MainID = d;
                    //dt.ContractCode = row["ContractCode"].ToString();
                    //dt.ProductID = row["ProductID"].ToString();
                    //dt.TaskDescription =row["ChangeContent"].ToString() ;
                    //dt.TaskType = Convert.ToInt32(row["TypeID"]);
                    //dt.IsEnable = 1;
                    //dt.BillState = 0;
                    //dt.BillCode = row["RequestCode"].ToString();
                    //dt.DesignType = 2;
                    //dlist.Add(dt);
                }
            }

            var result = service.Edit(null, listWrapper, data);
            //if (dlist.Count>0)
            //{
            //    new PMS_ContractInfoApiController().PostDesignDetailOnSave(dlist);
            //}
        }
예제 #8
0
        public void PostCreateBoard(out bool result, dynamic data)
        {
            try
            {
                string SavantCode = data.SavantCode;
                var    Item       = new PRS_BlankingResultService().GetModelList(ParamQuery.Instance().AndWhere("SavantCode", SavantCode));
                var    ItemDetail = new PRS_BlankingPlateDetailService().GetModelList(ParamQuery.Instance().AndWhere("MainID", string.Join(",", Item.Select(a => a.ID)), Cp.In));
                var    list       = from master in Item
                                    join detail in ItemDetail on master.ID equals detail.MainID
                                    select new
                {
                    MasterID            = master.ID,
                    PartBlankingQuntity = master.PartBlankingQuntity,
                    DetailID            = detail.ID,
                    PlateSize           = detail.PlateSize
                };
                new Mes_BlankingResultService()
                .Delete(ParamDelete
                        .Instance()
                        .AndWhere("BlankingResultID", string.Join(",", Item.Select(a => a.ID)), Cp.In));

                var    BoardCode   = MmsHelper.GetOrderNumber("Mes_BlankingResult", "BoardCode", "XJB", "", "");
                string PreCode     = BoardCode.Substring(0, BoardCode.Length - 3);
                int    StartNumber = Convert.ToInt32(BoardCode.Substring(BoardCode.Length - 3));

                foreach (var item in list)
                {
                    int count = item.PartBlankingQuntity;
                    for (int i = 0; i < count; i++)
                    {
                        BoardCode = PreCode + StartNumber.ToString().PadLeft(3, '0');
                        StartNumber++;
                        db.UseTransaction(true);
                        db.Insert("Mes_BlankingResult")
                        .Column("BlankingResultID", item.MasterID)
                        .Column("IsEnable", 1)
                        .Column("CreateTime", DateTime.Now)
                        .Column("CreatePerson", MmsHelper.GetUserCode())
                        .Column("BiankingSize", item.PlateSize.ToString())
                        .Column("IsBlanking", 0)
                        .Column("BlankingDetailID", item.DetailID)
                        //.Column("BlankingType",1)
                        .Column("BoardCode", BoardCode).Execute();
                    }
                }
                db.Commit();
                result = true;
            }
            catch
            {
                db.Rollback();
                result = false;
            }
        }
예제 #9
0
        //   public int Update(PMS_ProductTask model)
        //   {
        //       var rowsAffected = db.Update<PMS_ProductTask>("PMS_ProductTask", model)
        //.AutoMap(x => x.ID)
        //.Where(x => x.ID)
        //.Execute();
        //       return rowsAffected;
        //   }
        public int SaveData(List <PMS_ProductTask> model)
        {
            int result = 0;

            if (model.Count > 0)
            {
                using (db.UseTransaction(true))
                {
                    foreach (var item in model)
                    {
                        if (item.ID <= 0)
                        {
                            //result = new PMS_ProductTaskService().Insert(item);
                            item.ProductTaskCode = MmsHelper.GetOrderNumber("PMS_ProductTask", "ProductTaskCode", "JYRW", "", "");
                            item.CreateTime      = DateTime.Now;
                            item.CreatePerson    = MmsHelper.GetUserCode();
                            item.ModifyTime      = DateTime.Now;
                            item.ModifyPerson    = MmsHelper.GetUserCode();
                            var rowsAffected = item.ID = db.Insert <PMS_ProductTask>("PMS_ProductTask", item)
                                                         .AutoMap(x => x.ID)
                                                         .ExecuteReturnLastId <int>();
                            if (rowsAffected <= 0)
                            {
                                result++;
                                db.Rollback();
                            }
                        }
                        else
                        {
                            string sql    = String.Format(@"select * from PMS_ProductTask where ID='{0}' ", item.ID);
                            var    single = db.Sql(sql).QuerySingle <PMS_ProductTask>();
                            item.CreatePerson = single.CreatePerson;
                            item.CreateTime   = single.CreateTime;
                            item.ModifyPerson = MmsHelper.GetUserCode();
                            item.ModifyTime   = DateTime.Now;
                            var rowsAffected = item.ID = db.Update <PMS_ProductTask>("PMS_ProductTask", item)
                                                         .AutoMap(x => x.ID)
                                                         .Where(x => x.ID)
                                                         .Execute();
                            if (rowsAffected <= 0)
                            {
                                result++;
                                db.Rollback();
                            }
                        }
                    }
                    if (result <= 0)
                    {
                        db.Commit();
                    }
                }
            }
            return(result);
        }
        public void Edit(dynamic data)
        {
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        WMS_BN_BillMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>WMS_BN_BillDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));

            var service = new WMS_BN_BillMainService();

            if (data.form["BillCode"] == "系统生成")
            {
                if (string.IsNullOrEmpty(WMS_BN_BillMainController.uc.Value))
                {
                    return;
                }
                string documentNo = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", WMS_BN_BillMainController.uc.Description, "", "");
                data.form["BillCode"] = documentNo;
                foreach (JToken tab in data["tabs"].Children())
                {
                    foreach (JProperty item in tab.Children())
                    {
                        if (item.Name == "inserted")
                        {
                            foreach (var row in item.Value.Children())
                            {
                                row["BillCode"] = documentNo;
                            }
                        }
                    }
                }
            }

            var result = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #11
0
        public void Edit(dynamic data)
        {
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        QMS_ProcessInspection
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>QMS_ProcessInspectionItem</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));

            if (data.form["BillCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("QMS_ProcessInspection", "BillCode", "GCJY", "", "");
                data.form["BillCode"] = documentNo;
                //foreach (JToken tab in data["tabs"].Children())
                //{
                //    foreach (JProperty item in tab.Children())
                //    {
                //        if (item.Name == "inserted")
                //        {
                //            foreach (var row in item.Value.Children())
                //            {
                //                row["BillCode"] = documentNo;
                //            }
                //        }
                //    }
                //}
            }

            var service = new QMS_ProcessInspectionService();
            var result  = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #12
0
        public void Edit(dynamic data)
        {
            var service = new MES_WorkshopPurchaseMainService();

            if (data.form["WorkshopPurchaseCode"] != "系统生成")
            {
                var pQuery = ParamQuery.Instance().Select("*").AndWhere("ID", data.form["ID"]);
                MES_WorkshopPurchaseMain model = service.GetModel(pQuery);
                if (model.ApproveState != null && model.ApproveState == "2")
                {
                    MmsHelper.ThrowHttpExceptionWhen(true, "已发布的不能修改!");
                    return;
                }
            }


            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        MES_WorkshopPurchaseMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>MES_WorkshopPurchaseDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));
            if (data.form["WorkshopPurchaseCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("MES_WorkshopPurchaseMain", "WorkshopPurchaseCode", "CJQG", "", "");
                data.form["WorkshopPurchaseCode"] = documentNo;
            }
            var result = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #13
0
        public void Edit(dynamic data)
        {
            string  TurnTargetCode = "", TurnTargetName = "";
            var     ApsList     = new APS_ProjectProduceDetialService().GetModelList();
            dynamic insert_list = data.list.inserted;

            if (data.list.inserted.ToString() != "[]")
            {
                var    PlanCode    = MmsHelper.GetOrderNumber("MES_WorkingTicket", "WorkTicketCode", "ZYGP", "", "");
                string PreCode     = PlanCode.Substring(0, PlanCode.Length - 3);
                int    StartNumber = Convert.ToInt32(PlanCode.Substring(PlanCode.Length - 3));
                foreach (dynamic item in data.list.inserted)
                {
                    item["ApproveState"]   = 1;
                    item["WorkTicketCode"] = PreCode + StartNumber.ToString().PadLeft(3, '0');
                    string ApsCode         = item["ApsCode"];
                    var    ApsItem         = ApsList.Where(a => a.ApsCode == ApsCode).FirstOrDefault();
                    var    TurnTargetModel = new WinFormClientService().GetTurnTarget(ApsItem.ID);
                    bool   Result          = TurnTargetModel.Result;
                    if (Result)
                    {
                        TurnTargetCode = TurnTargetModel.Data.ID;
                        TurnTargetName = TurnTargetModel.Data.Name;
                    }
                    item["TurnTargetCode"] = TurnTargetCode;
                    item["TurnTargetName"] = TurnTargetName;
                    StartNumber++;
                }
            }

            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            MES_WorkingTicket
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new MES_WorkingTicketService();
            var result      = service.Edit(null, listWrapper, data);
        }
예제 #14
0
        public void Edit(dynamic data)
        {
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            APS_ProjectProduceDetial
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new APS_ProjectProduceDetialService();

            if (data.list.inserted.ToString() != "[]")
            {
                //APS明细表新增
                var    PlanCode    = MmsHelper.GetOrderNumber("APS_ProjectProduceDetial", "ApsCode", "SCJH", "", "");
                string PreCode     = PlanCode.Substring(0, PlanCode.Length - 3);
                int    StartNumber = Convert.ToInt32(PlanCode.Substring(PlanCode.Length - 3));
                foreach (dynamic row in data.list.inserted)
                {
                    var ApsCode = PreCode + StartNumber.ToString().PadLeft(3, '0');
                    row["ApsCode"] = ApsCode;
                    string MonthPlanStr  = row.MonthPlanCode;
                    var    MonthPlanList = MonthPlanStr.Split(',');
                    for (int i = 0; i < MonthPlanList.Length; i++)
                    {
                        new APS_ProduceAndMonthPlanService().Insert(
                            ParamInsert.Instance()
                            .Insert("APS_ProduceAndMonthPlan")
                            .Column("ProducePlanCode", ApsCode)
                            .Column("MonthPlanCode", MonthPlanList[i])
                            .Column("CreateTime", DateTime.Now)
                            .Column("CreatePerson", MmsHelper.GetUserCode()));
                    }
                    StartNumber++;
                }
            }
            var result = service.Edit(null, listWrapper, data);
        }
        public void Edit(dynamic data)
        {
            var id     = data.form["ID"].ToString();
            var pQuery = ParamQuery.Instance().Select("*").AndWhere("ID", id);
            var re     = new PRS_RectificationMainService().GetModelList(pQuery);

            if (re.Count > 0 && re[0].BillState == 1)
            {
                MmsHelper.ThrowHttpExceptionWhen(true, "已审核数据不能修改!");
                return;
            }
            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        PRS_RectificationMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>PRS_RectificationDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));
            if (data.form["BillCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("PRS_RectificationMain", "BillCode", "SCZG", "", "");
                data.form["BillCode"] = documentNo;
            }
            var service = new PRS_RectificationMainService();
            var result  = service.EditPage(data, formWrapper, tabsWrapper);
        }
        public void Edit(dynamic data)
        {
            var BatchingCode = MmsHelper.GetOrderNumber("MES_WorkshopBatching", "BatchingCode", "PLD", "", "");

            data.form.BatchingCode = BatchingCode;
            dynamic InsertList = data.tabs[0].inserted;

            foreach (dynamic item in InsertList)
            {
                item.BatchingCode = BatchingCode;
            }

            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        MES_WorkshopBatching
    </table>
    <where>
        <field name='BatchingCode' cp='equal'></field>
    </where>
</settings>
");

            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>MES_WorkshopBatchingDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));

            var service = new MES_WorkshopBatchingService();
            var result  = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #17
0
        public int AuditBillCode(string BillCode, out string msg)
        {
            msg = string.Empty;

            var     rowsAffected = 0;
            string  sql          = String.Format(@"SELECT t1.*,
       t2.InventoryCode,
       t2.InventoryName,
       t2.RequiredQuantity,
       t2.Model,
       t2.Unit,
       t2.Material
      
FROM dbo.MES_MaterialPickMain t1
    INNER JOIN dbo.MES_MaterialPickDetail t2
        ON t1.ID = t2.MainID
           AND t1.IsEnable = 1
           AND t2.IsEnable = 1
 where t1.BillCode='{0}'", BillCode);
            string  insertSql    = "";
            dynamic MaterialPick = db.Sql(sql).QueryMany <dynamic>();

            if (MaterialPick.Count == 0)
            {
                msg = "请保存数据后审核";
                return(0);
            }
            if (MaterialPick[0].BillState == 2)
            {
                msg = "单据已审核";
                return(0);
            }
            else
            {
                using (var trans = db.UseTransaction(true))
                {
                    sql          = string.Format(@"update MES_MaterialPickMain set BillState=2 where BillCode='{0}'", BillCode);
                    rowsAffected = db.Sql(sql).Execute();
                    var dno = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", "LLCK", "", "");
                    insertSql = string.Format(@" INSERT dbo.WMS_BN_BillMain
	(
	    ID,
	    BillCode,
	    BillType,
	    ContractCode,
	    ProjectName,
	    DepartmentID,
	    DepartmentName,
	    WarehouseCode,
	    WarehouseName,
	    ApproveState,
	    Remark,
	    CreatePerson,
	    CreateTime,
	    ModifyPerson,
	    ModifyTime,
	    IsEnable,
        PickPerson,
        PickPersonCode
	)
	VALUES
	(   (select MAX(id)+1 from WMS_BN_BillMain),         -- ID - int                                         ID,
	    '{0}',        -- BillCode - varchar(50)                                                             BillCode,
	    ( SELECT Value FROM HBHC_Sys.dbo.sys_code WHERE Text='领料出库' ),                                  --BillType,
	   '{1}','{2}','{3}','{4}','{5}','{6}',1,'','{7}','{8}','{9}','{10}',1,'{11}','{12}'           
	    )"    , dno, MaterialPick[0].ContractCode, MaterialPick[0].ProjectName, MaterialPick[0].DepartmentID, MaterialPick[0].DepartmentName,
                                              MaterialPick[0].WarehouseCode, MaterialPick[0].WarehouseName, MmsHelper.GetUserName(), DateTime.Now, MmsHelper.GetUserName(), DateTime.Now, MmsHelper.GetUserName(), MmsHelper.GetUserCode());
                    foreach (var item in MaterialPick)
                    {
                        insertSql += string.Format(@"INSERT INTO dbo.WMS_BN_BillDetail
(
    BillCode,
    InventoryCode,
    InventoryName,
    Specs,
    Unit,
    MateNum,
    ConfirmNum,
    PBillCode,
    Remark,
    CreatePerson,
    CreateTime,
    ModifyPerson,
    ModifyTime,
    IsEnable
)
VALUES
(   '{0}',        -- BillCode - varchar(50)
    N'{1}',       -- InventoryCode - nvarchar(50)
    N'{2}',       -- InventoryName - nvarchar(50)
    '{3}',        -- Specs - varchar(50)
    N'{4}',       -- Unit - nvarchar(10)
    '{5}',       -- MateNum - float
    '{6}',       -- ConfirmNum - float
    '{7}',        -- PBillCode - varchar(50)
    N'',       -- Remark - nvarchar(500)
    N'{8}',       -- CreatePerson - nvarchar(50)
    GETDATE(), -- CreateTime - datetime
    N'{9}',       -- ModifyPerson - nvarchar(50)
    GETDATE(), -- ModifyTime - datetime
    1          -- IsEnable - int
    )", dno, item.InventoryCode, item.InventoryName, item.Model, item.Unit, item.RequiredQuantity,
                                                   item.RequiredQuantity, item.BillCode, MmsHelper.GetUserName(), MmsHelper.GetUserName());
                    }

                    var res = db.Sql(insertSql).Execute();
                    if (rowsAffected > 0 && res == MaterialPick.Count + 1)
                    {
                        msg = "检验记录审核成功";
                        trans.Commit();
                        return(rowsAffected);
                    }
                    else
                    {
                        trans.Rollback();
                        msg = "检验记录审核失败";
                        return(0);
                    }
                }
            }
        }
예제 #18
0
        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
                });
            }
        }
예제 #19
0
        public string GetFailureReportCode( )
        {
            string documentNo = MmsHelper.GetOrderNumber("EQP_FailureReport", "FailureReportCode", "GZBG", "", "");

            return(documentNo);
        }
        public string GetCode()
        {
            string documentNo = MmsHelper.GetOrderNumber("SYS_BN_Supplier", "SupplierCode", "GYBH", "", "");

            return(documentNo);
        }
        public string GetCode()
        {
            string documentNo = MmsHelper.GetOrderNumber("SYS_BN_User", "UserCode", "YGBH", "", "");

            return(documentNo);
        }
        public void Edit(dynamic data)
        {
            var service = new MES_MaterialPickMainService();

            if (data.form["BillCode"] != "系统生成")
            {
                var pQuery = ParamQuery.Instance().Select("*").AndWhere("ID", data.form["ID"]);
                MES_MaterialPickMain model = service.GetModel(pQuery);
                if (model.BillState != null && model.BillState == 2)
                {
                    MmsHelper.ThrowHttpExceptionWhen(true, "已发布的不能修改!");
                    return;
                }
            }
            var ids = "(";

            foreach (JToken tab in data["tabs"].Children())
            {
                foreach (JProperty item in tab.Children())
                {
                    if (item.Name == "deleted")
                    {
                        foreach (var row in item.Value.Children())
                        {
                            ids += "'" + row["ID"] + "',";
                        }
                        item.Value = "[]";
                    }
                }
            }
            if (ids != "(")
            {
                ids  = ids.Remove(ids.Length - 1, 1);
                ids += ")";
                using (var db = Db.Context("Mms"))
                {
                    string sql1 = string.Format("update MES_MaterialPickDetail set IsEnable=0 where ID in {0} ", ids);
                    db.Sql(sql1).Execute();
                }
            }

            var formWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>
        MES_MaterialPickMain
    </table>
    <where>
        <field name='ID' cp='equal'></field>
    </where>
</settings>
");



            var tabsWrapper = new List <RequestWrapper>();

            tabsWrapper.Add(RequestWrapper.Instance().LoadSettingXmlString(@"
<settings>
    <table>MES_MaterialPickDetail</table>
    <where>
        <field name='ID' cp='equal'></field>      
    </where>
</settings>"));

            if (data.form["BillCode"] == "系统生成")
            {
                string documentNo = MmsHelper.GetOrderNumber("MES_MaterialPickMain", "BillCode", "CJLL", "", "");
                data.form["BillCode"] = documentNo;
            }
            var result = service.EditPage(data, formWrapper, tabsWrapper);
        }
예제 #23
0
        public int AuditBillCode(string mainID, out string msg)
        {
            msg = string.Empty;
            var    rowsAffected = 0;
            string insertSql    = string.Empty;
            string sql          = String.Format(@"  SELECT t1.*,
       t2.MainID,
       t2.InventoryCode,
       t2.InventoryName,
	   t2.ArrivalQuatity,
       t2.Model,
       t2.Unit,
       t2.Material
FROM MES_GoodsInspection t1
    LEFT JOIN MES_GoodsInspectionDetail t2
        ON t1.ID = t2.MainID
           AND t1.IsEnable = 1
           AND t2.IsEnable = 1 where t1.ID='{0}'", mainID);
            var    resList      = db.Sql(sql).QueryMany <dynamic>();

            if (resList.Count == 0)
            {
                msg = "请先保存单据后再审核";
                return(0);
            }
            if (resList[0].BillState == 2)
            {
                msg = "单据已审核";
                return(0);
            }
            else
            {
                db.UseTransaction(true);
                sql          = string.Format(@"update MES_GoodsInspection set BillState=2 where ID='{0}'", mainID);
                rowsAffected = db.Sql(sql).Execute();
                if (rowsAffected > 0)
                {
                    sql = string.Format(@"select ID from MES_PurchaseOrderMain where BillCode='{0}'", resList[0].PurchaseOrderCode);
                    int mID = db.Sql(sql).QuerySingle <int>();
                    sql = string.Empty;
                    var           dno = MmsHelper.GetOrderNumber("QMS_GoodsCheck", "BillCode", "LLJY", "", "");
                    var           fno = dno.Substring(0, 10);
                    var           con = dno.Substring(10, 3);
                    StringBuilder sb  = new StringBuilder();
                    foreach (var item in resList)
                    {
                        dno = fno + con;
                        int intCon = Convert.ToInt32(con);
                        intCon++;
                        var zeros = 3 - intCon.ToString().Length;
                        con = "";
                        for (int i = 1; i <= zeros; i++)
                        {
                            con += "0";
                        }
                        con += intCon.ToString();
                        sql  = sql + string.Format(@" update MES_PurchaseOrderDetail set GoodsQuantity=ISNULL(GoodsQuantity,0)+ abs({0}) where MainID='{1}' and InventoryCode='{2}' ", item.ArrivalQuatity, mID, item.InventoryCode);
                        sb.Append(string.Format(@"INSERT INTO dbo.QMS_GoodsCheck
(
    ID,
    PBillCode,
    BillCode,
    ContractCode,
    ProjectName,
    SupplierCode,
    SupplierName,
    DepartmentID,
    DepartmentName,
    WarehouseID,
    WarehouseName,
    ProductionUnits,
    InventoryCode,
    InventoryName,
    Model,
    ArrivalDate,
    CheckQuantity,
    QualifiedQuantity,
    Unit,
    SalesmanCode,
    Salesman,
    BatchCode,
    BillState,
    IsEnable,
    CreatePerson,
    CreateTime,
    ModifyPerson,
    ModifyTime,
    Material,
    InspectionQuantity
)
VALUES
(   (select MAX(id)+1 from QMS_GoodsCheck),         -- ID - int
    '{0}',        -- PBillCode - varchar(50)
    '{1}',        -- BillCode - varchar(50)
    '{2}',        -- ContractCode - varchar(50)
    '{3}',        -- ProjectName - varchar(50)
    '{4}',        -- SupplierCode - varchar(50)
    '{5}',        -- SupplierName - varchar(50)
    '{6}',        -- DepartmentID - varchar(50)
    '{7}',        -- DepartmentName - varchar(50)
    '{8}',        -- WarehouseID - varchar(50)
    '{9}',        -- WarehouseName - varchar(50)
    '{10}',        -- ProductionUnits - varchar(50)
    '{11}',        -- InventoryCode - varchar(50)
    '{12}',        -- InventoryName - varchar(50)
    '{13}',        -- Model - varchar(50)
    '{14}', -- ArrivalDate - datetime
    '{15}',         -- CheckQuantity - int
    '{16}',         -- QualifiedQuantity - int
    '{17}',        -- Unit - varchar(50)
    '{18}',        -- SalesmanCode - varchar(50)
    '{19}',        -- Salesman - varchar(50)
    '',        -- BatchCode - varchar(50)
    1,         -- BillState - int
    1,         -- IsEnable - int
    '{20}',        -- CreatePerson - varchar(50)
    GETDATE(), -- CreateTime - datetime
    '{21}',        -- ModifyPerson - varchar(50)
    GETDATE(), -- ModifyTime - datetime
    '{22}',        -- Material - varchar(50)
    '{23}'          -- InspectionQuantity - int
    )", item.BillCode, dno, item.ContractCode, item.ProjectName, item.SupplierCode, item.SupplierName, item.DepartmentID, item.DepartmentName,
                                                item.WarehouseID, item.WarehouseName, "", item.InventoryCode, item.InventoryName, item.Model, item.ArrivalDate, item.ArrivalQuatity, item.ArrivalQuatity,
                                                item.Unit, item.SaleMan, item.UserCode, MmsHelper.GetUserName(), MmsHelper.GetUserName(), item.Material, item.ArrivalQuatity));
                    }
                    int res = db.Sql(sb.ToString()).Execute();
                    rowsAffected = db.Sql(sql).Execute();
                    if (rowsAffected > 0 && res == resList.Count)
                    {
                        msg = "操作成功";
                        db.Commit();
                        return(rowsAffected);
                    }
                    else
                    {
                        msg = "操作失败";
                        db.Rollback();
                        return(0);
                    }
                    //return rowsAffected;
                }
                else
                {
                    msg = "采购订单审核失败";
                    db.Rollback();
                    return(0);
                }

                //sql = string.Format(@"update APS_ProductPurchaseMain set BillState=2 where PurchaseDocumentCode='{0}'", res.ProductPurchaseCode);
            }
        }
        public int AuditBillCode(string BillCode, out string msg)
        {
            msg = string.Empty;

            var     rowsAffected = 0;
            string  sql          = String.Format(@"SELECT t1.*,
       t3.ProductPurchaseCode,
       t4.Model,
       t4.Unit,
       t4.UnitPrice,
       t4.TotalPrice
FROM dbo.QMS_GoodsCheck t1
    INNER JOIN dbo.MES_GoodsInspection t2
        ON t1.PBillCode = t2.BillCode
           AND t2.IsEnable = 1
    INNER JOIN dbo.MES_PurchaseOrderMain t3
        ON t2.PurchaseOrderCode = t3.BillCode
           AND t3.IsEnable = 1
           AND t3.BillState = 2
    INNER JOIN dbo.MES_PurchaseOrderDetail t4
        ON t4.MainID = t3.ID
           AND t4.IsEnable = 1 where t1.BillCode='{0}'", BillCode);
            string  insertSql    = "";
            dynamic GoodsCheck   = db.Sql(sql).QueryMany <dynamic>();

            if (GoodsCheck.Count == 0)
            {
                msg = "请保存数据后审核";
                return(0);
            }
            if (GoodsCheck[0].BillState == 2)
            {
                msg = "单据已审核";
                return(0);
            }
            else
            {
                using (var trans = db.UseTransaction(true))
                {
                    #region

                    /*
                     * sql = string.Format(@"update QMS_GoodsCheck set BillState=2 where BillCode='{0}'", BillCode);
                     * rowsAffected = db.Sql(sql).Execute();
                     * var dno = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", "CGRK", "", "");
                     * insertSql = string.Format(@" INSERT dbo.WMS_BN_BillMain
                     * (
                     * ID,
                     * BillCode,
                     * BillType,
                     * ContractCode,
                     * ProjectName,
                     * SalesmanCode,
                     * Salesman,
                     * DepartmentID,
                     * DepartmentName,
                     * SupplierCode,
                     * SupplierName,
                     * WarehouseCode,
                     * WarehouseName,
                     * ApproveState,
                     * OrderBillCode,
                     * Remark,
                     * CreatePerson,
                     * CreateTime,
                     * ModifyPerson,
                     * ModifyTime,
                     * IsEnable
                     * )
                     * VALUES
                     * (   (select MAX(id)+1 from WMS_BN_BillMain),         -- ID - int                                         ID,
                     * '{0}',        -- BillCode - varchar(50)                                                             BillCode,
                     * ( SELECT Value FROM HBHC_Sys.dbo.sys_code WHERE Text='采购入库' ),                                  --BillType,
                     * '{1}',        -- ContractCode - varchar(50)                                                         ContractCode,
                     * '{2}',        -- ProjectName - varchar(50)                                                          ProjectName,
                     * '{3}',        -- SalesmanCode - varchar(50)                                                         SalesmanCode,
                     * '{4}',        -- Salesman - varchar(50)                                                             Salesman,
                     * '{5}',        -- DepartmentID - varchar(50)                                                         DepartmentID,
                     * '{6}',        -- DepartmentName - varchar(50)                                                       DepartmentName,
                     * '{7}',        -- SupplierCode - varchar(50)                                                         SupplierCode,
                     * '{8}',        -- SupplierName - varchar(50)                                                         SupplierName,
                     * '{9}',        -- WarehouseCode - varchar(50)                                                        WarehouseCode,
                     * '{10}',        -- WarehouseName - varchar(50)                                                       WarehouseName,
                     * '1',                                                                                            -- ApproveState,
                     * '{11}',        --OrderBillCode,
                     * '{12}',        --Remark,
                     * '{13}',        --CreatePerson,)
                     * GETDATE(), -- CreateTime,
                     * '{14}',           --ModifyPerson,
                     * GETDATE(),        -- ModifyTime,
                     * 1        -- IsEnable
                     * )", dno, GoodsCheck[0].ContractCode, GoodsCheck[0].ProjectName, GoodsCheck[0].SalesmanCode, GoodsCheck[0].Salesman, GoodsCheck[0].DepartmentID, GoodsCheck[0].DepartmentName, GoodsCheck[0].SupplierCode,
                     * GoodsCheck[0].SupplierName, GoodsCheck[0].WarehouseID, GoodsCheck[0].WarehouseName, GoodsCheck[0].ProductPurchaseCode, "", MmsHelper.GetUserName(), MmsHelper.GetUserName());
                     * insertSql += string.Format(@"INSERT INTO dbo.WMS_BN_BillDetail
                     * (
                     * BillCode,
                     * OrderBillCode,
                     * InventoryCode,
                     * InventoryName,
                     * Specs,
                     * Unit,
                     * MateNum,
                     * ConfirmNum,
                     * UnitPrice,
                     * TotalPrice,
                     * BatchCode,
                     * PBillCode,
                     * Remark,
                     * CreatePerson,
                     * CreateTime,
                     * ModifyPerson,
                     * ModifyTime,
                     * IsEnable
                     * )
                     * VALUES
                     * (   '{0}',        -- BillCode - varchar(50)
                     * '{1}',        -- OrderBillCode - varchar(50)
                     * N'{2}',       -- InventoryCode - nvarchar(50)
                     * N'{3}',       -- InventoryName - nvarchar(50)
                     * '{4}',        -- Specs - varchar(50)
                     * N'{5}',       -- Unit - nvarchar(10)
                     * '{6}',       -- MateNum - float
                     * '{7}',       -- ConfirmNum - float
                     * '{8}',       -- UnitPrice - float
                     * '{9}',       -- TotalPrice - float
                     * '{10}',        -- BatchCode - varchar(50)
                     * '{11}',        -- PBillCode - varchar(50)
                     * N'',       -- Remark - nvarchar(500)
                     * N'{12}',       -- CreatePerson - nvarchar(50)
                     * GETDATE(), -- CreateTime - datetime
                     * N'{13}',       -- ModifyPerson - nvarchar(50)
                     * GETDATE(), -- ModifyTime - datetime
                     * 1          -- IsEnable - int
                     * )", dno, GoodsCheck[0].ProductPurchaseCode, GoodsCheck[0].InventoryCode, GoodsCheck[0].InventoryName, GoodsCheck[0].Model, GoodsCheck[0].Unit, GoodsCheck[0].QualifiedQuantity,
                     * GoodsCheck[0].QualifiedQuantity, GoodsCheck[0].UnitPrice, GoodsCheck[0].TotalPrice, GoodsCheck[0].BatchCode, GoodsCheck[0].BillCode, MmsHelper.GetUserName(), MmsHelper.GetUserName());
                     *
                     * var res = db.Sql(insertSql).Execute();
                     * if (rowsAffected > 0 && res == 2)
                     * {
                     *  msg = "检验记录审核成功";
                     *  trans.Commit();
                     *  return rowsAffected;
                     * }
                     * else
                     * {
                     *  trans.Rollback();
                     *  msg = "检验记录审核失败";
                     *  return 0;
                     * }
                     */
                    #endregion

                    string   sqlA  = string.Format(@"update QMS_GoodsCheck set BillState=2 where BillCode='{0}'", BillCode);
                    string   bCode = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", "CGRK", "", "");
                    DateTime newDT = DateTime.Now;
                    string   sqlB  = WinFormClientService.GetInsertSQL(new WMS_BN_BillMain()
                    {
                        ID             = db.Sql("select MAX(id)+1 from WMS_BN_BillMain").QuerySingle <int>(),
                        BillCode       = bCode,
                        BillType       = db.Sql("SELECT Value FROM HBHC_Sys.dbo.sys_code WHERE Text='采购入库'").QuerySingle <int>(),
                        ContractCode   = GoodsCheck[0].ContractCode,
                        ProjectName    = GoodsCheck[0].ProjectName,
                        SalesmanCode   = GoodsCheck[0].SalesmanCode,
                        Salesman       = GoodsCheck[0].Salesman,
                        DepartmentID   = GoodsCheck[0].DepartmentID,
                        DepartmentName = GoodsCheck[0].DepartmentName,
                        SupplierCode   = GoodsCheck[0].SupplierCode,
                        SupplierName   = GoodsCheck[0].SupplierName,
                        WarehouseCode  = GoodsCheck[0].WarehouseID,
                        WarehouseName  = GoodsCheck[0].WarehouseName,
                        ApproveState   = "1",
                        OrderBillCode  = GoodsCheck[0].ProductPurchaseCode,
                        Remark         = string.Empty,
                        CreatePerson   = MmsHelper.GetUserName(),
                        CreateTime     = newDT,
                        ModifyPerson   = MmsHelper.GetUserName(),
                        ModifyTime     = newDT,
                        IsEnable       = 1
                    });
                    string sqlC = WinFormClientService.GetInsertSQL(new WMS_BN_BillDetail()
                    {
                        BillCode      = bCode,
                        OrderBillCode = GoodsCheck[0].ProductPurchaseCode,
                        InventoryCode = GoodsCheck[0].InventoryCode,
                        InventoryName = GoodsCheck[0].InventoryName,
                        Specs         = GoodsCheck[0].Model,
                        Unit          = GoodsCheck[0].Unit,
                        MateNum       = GoodsCheck[0].QualifiedQuantity,
                        ConfirmNum    = GoodsCheck[0].QualifiedQuantity,
                        UnitPrice     = GoodsCheck[0].UnitPrice,
                        TotalPrice    = GoodsCheck[0].TotalPrice,
                        BatchCode     = GoodsCheck[0].BatchCode,
                        PBillCode     = GoodsCheck[0].BillCode,
                        Remark        = string.Empty,
                        CreatePerson  = MmsHelper.GetUserName(),
                        CreateTime    = newDT,
                        ModifyPerson  = MmsHelper.GetUserName(),
                        ModifyTime    = newDT,
                        IsEnable      = 1
                    });

                    string sqlTemp = string.Format(@"
SELECT tbB.* FROM MES_PurchaseOrderMain tbA LEFT JOIN MES_PurchaseOrderDetail tbB ON tbA.ID = tbB.MainID AND tbB.IsEnable = 1 WHERE tbA.IsEnable = 1
AND tbB.InventoryCode = '{0}'
AND tbA.BillCode IN (
SELECT PurchaseOrderCode FROM dbo.MES_GoodsInspection WHERE IsEnable = 1 AND BillCode = '{1}'
)
", GoodsCheck[0].InventoryCode, GoodsCheck[0].PBillCode);
                    MES_PurchaseOrderDetail mES_PurchaseOrderDetail = db.Sql(sqlTemp).QuerySingle <MES_PurchaseOrderDetail>();

                    if (mES_PurchaseOrderDetail != null)
                    {
                        string sqlD = WinFormClientService.GetUpdateSQL(mES_PurchaseOrderDetail, new
                        {
                            ModifyPerson    = MmsHelper.GetUserName(),
                            ModifyTime      = newDT,
                            CheckedQuantity = (mES_PurchaseOrderDetail.CheckedQuantity ?? 0) + (GoodsCheck[0].QualifiedQuantity ?? 0)
                        });

                        bool tempA = db.Sql(sqlA).Execute() > 0;
                        bool tempB = db.Sql(sqlB).Execute() > 0;
                        bool tempC = db.Sql(sqlC).Execute() > 0;
                        bool tempD = db.Sql(sqlD).Execute() > 0;

                        bool result = tempA && tempB && tempC && tempD;
                        if (result)
                        {
                            trans.Commit();
                            msg = "检验记录审核成功";
                            return(1);
                        }
                        else
                        {
                            trans.Rollback();
                            msg = "检验记录审核失败";
                            return(0);
                        }
                    }
                    else
                    {
                        trans.Rollback();
                        msg = "检验记录审核失败";
                        return(0);
                    }
                }
            }
        }
예제 #25
0
        public void PostCreateProductRequest(dynamic data)
        {
            var list = data.list;

            foreach (dynamic item in list)
            {
                string ContractCode   = item["ContractCode"];
                string CreateType     = item["CreateType"];
                var    BoardOrBarData = new List <dynamic>();
                switch (CreateType)
                {
                case "板材":
                    BoardOrBarData = new PRS_BoardCreateMateService().GetDynamicList(ParamQuery.Instance().AndWhere("ContractCode", ContractCode));
                    break;

                case "棒材":
                    BoardOrBarData = new PRS_BarCreateMateService().GetDynamicList(ParamQuery.Instance().AndWhere("ContractCode", ContractCode));
                    break;

                case "车间":
                    int MainID = item["ID"];
                    BoardOrBarData = new MES_WorkshopPurchaseDetailService().GetDynamicList
                                     (
                        ParamQuery
                        .Instance()
                        .Select("InventoryCode,PurchaseQuantity as InventoryNum,Remark")
                        .From("MES_WorkshopPurchaseDetail")
                        .AndWhere("MainID", MainID)
                                     );
                    break;

                default:
                    break;
                }
                using (var db = Db.Context("Mms"))
                {
                    db.UseTransaction(true);
                    try
                    {
                        int MainID = new APS_ProductPurchaseMainService().GetModelList().Count > 0 ?
                                     new APS_ProductPurchaseMainService().GetModelList().Max(a => a.ID) + 1 : 1;
                        db.Insert("APS_ProductPurchaseMain")
                        .Column("ID", MainID)
                        .Column("PurchaseDocumentCode", MmsHelper.GetOrderNumber("APS_ProductPurchaseMain", "PurchaseDocumentCode", "SCQG", "", ""))
                        .Column("ContractCode", ContractCode)
                        .Column("DepartmentCode", "0202")
                        .Column("PurchaseDate", DateTime.Now)
                        .Column("IsEnable", 1)
                        .Column("BillState", 1)
                        .Column("PurchaseType", CreateType.Equals("板材") ? 2 : CreateType.Equals("棒材") ? 3 : CreateType.Equals("车间") ? 4 : 1)
                        .Column("CreateTime", DateTime.Now)
                        .Column("CreatePerson", MmsHelper.GetUserName()).Execute();
                        foreach (var item_board in BoardOrBarData)
                        {
                            double PurchaseQuantity = Convert.ToDouble(item_board.InventoryNum);
                            string InventoryCode    = item_board.New_InventoryCode;
                            string Remark           = item_board.Remark;
                            string unit             = "";
                            if (CreateType != "车间")
                            {
                                unit = item_board.Unit;
                            }

                            db.Insert("APS_ProductPurchaseDetail")
                            .Column("MainID", MainID)
                            //.Column("InventoryCode", InventoryCode)
                            .Column("InventoryCode", InventoryCode)
                            .Column("TotalRequestQuantity", Convert.ToInt32(PurchaseQuantity))
                            .Column("PurchaseQuantity", PurchaseQuantity)
                            .Column("StockQuantity", 0)
                            .Column("PurchaseState", 0)
                            .Column("DepartmentCode", "0202")
                            .Column("DepartmentName", "供应")
                            .Column("IsEnable", 1)
                            .Column("CreateTime", DateTime.Now)
                            .Column("Remark", Remark)
                            .Column("Unit", unit)
                            .Column("CreatePerson", MmsHelper.GetUserName()).ExecuteReturnLastId <int>();
                        }
                        db.Commit();
                    }
                    catch (Exception ex)
                    {
                        db.Rollback();
                        break;
                    }
                }
            }
        }
        public string GetCode()
        {
            string billcode = MmsHelper.GetOrderNumber("WMS_BN_TakeStockMain", "BillCode", "PDDH", "", "");

            return(billcode);
        }
        public int AuditBillCode(string BillCode, out string msg)
        {
            msg = string.Empty;
            //var rowsAffected = 0;
            string  sql       = String.Format(@" 
SELECT t1.*,
t1.QualifiedQuntity,
       t3.WarehouseID,
       t3.WarehouseName,
       t2.CheckQuantity
       ,t4.QuantityUnit
	   ,t4.Model
	   , t4.InventoryCode
	   ,t4.InventoryName
	   ,t3.WorkshopID
	   ,t3.WorkshopName
FROM dbo.QMS_ProcessInspection t1
    LEFT JOIN MES_ProcessInspectionRequest t2
        ON t1.PBillCode = t2.BillCode
           AND t1.IsEnable = 1
           AND t2.IsEnable = 1
           AND t2.BillState = 2
    LEFT JOIN dbo.MES_BN_ProductProcessRoute t3
        ON t2.ProductProcessRouteID = t3.ID
           AND t3.IsEnable = 1
		   inner JOIN dbo.SYS_Part t4 ON t1.PartCode=t4.PartCode
		   AND t4.IsEnable=1  where t1.BillCode='{0}'"        , BillCode);
            dynamic stateList = db.Sql(sql).QueryMany <dynamic>();

            if (stateList[0].BillState == 2)
            {
                msg = "单据已审核";
                return(0);
            }
            else
            {
                sql = string.Format(@"update QMS_ProcessInspection set BillState=2 where BillCode='{0}'", BillCode);
                //string insertSql=string.Format(@"")

                using (db.UseTransaction(true))
                {
                    int    countMain  = db.Sql(sql).Execute();
                    string documentNo = "";
                    documentNo = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", "ZXRK", "", "");
                    //billstate = 2;
                    #region WMS_BN_BillMain表
                    string sqlA = string.Format(@"
INSERT INTO dbo.WMS_BN_BillMain
(
    ID,
    BillCode,
    BillType,
    ContractCode,
    ProjectName,
    SalesmanCode,
    Salesman,
    DepartmentID,
    DepartmentName,
    SupplierCode,
    SupplierName,
    WarehouseCode,
    WarehouseName,
    PickPersonCode,
    PickPerson,
    ApproveState,
    ApprovePerson,
    ApproveDate,
    ApproveRemark,
    Remark,
    CreatePerson,
    CreateTime,
    ModifyPerson,
    ModifyTime,
    IsEnable
)
VALUES
(   {0},         -- ID - int
    '{1}',        -- BillCode - varchar(50)
    {2},         -- BillType - int
    '{3}',        -- ContractCode - varchar(50)
    '{4}',        -- ProjectName - varchar(50)
    '',        -- SalesmanCode - varchar(50)
    '',        -- Salesman - varchar(50)
    '',        -- DepartmentID - varchar(50)
    '',        -- DepartmentName - varchar(50)
    '',        -- SupplierCode - varchar(50)
    '',        -- SupplierName - varchar(50)
    '{5}',        -- WarehouseCode - varchar(50)
    '{6}',        -- WarehouseName - varchar(50)
    '',        -- PickPersonCode - varchar(50)
    '',        -- PickPerson - varchar(50)
    '1',        -- ApproveState - varchar(50)
    '',        -- ApprovePerson - varchar(50)
    GETDATE(), -- ApproveDate - datetime
    '',        -- ApproveRemark - varchar(500)
    '',        -- Remark - varchar(500)
    '{7}',        -- CreatePerson - varchar(50)
    GETDATE(), -- CreateTime - datetime
    '{7}',        -- ModifyPerson - varchar(50)
    GETDATE(), -- ModifyTime - datetime
    1          -- IsEnable - int
)
", Convert.ToInt32(new WMS_BN_BillMainService().GetNewKey("ID", "Maxplus")), documentNo, 8, stateList[0].ContractCode,
                                                stateList[0].ProjectName, stateList[0].WarehouseID, stateList[0].WarehouseName, MmsHelper.GetUserName());
                    #endregion

                    int countA = db.Sql(sqlA).Execute();

                    #region WMS_BN_BillDetail表
                    string sqlB = string.Format(@"
INSERT INTO dbo.WMS_BN_BillDetail
(
    BillCode,
    OrderBillCode,
    InventoryCode,
    InventoryName,
    Specs,
    Unit,
    MateNum,
    ConfirmNum,
    UnitPrice,
    TotalPrice,
    PackageCode,
    BatchCode,
    PBillCode,
    AccountabilityCode,
    Remark,
    CreatePerson,
    CreateTime,
    ModifyPerson,
    ModifyTime,
    IsEnable
)
VALUES
(   '{0}',        -- BillCode - varchar(50)
    '',        -- OrderBillCode - varchar(50)
    N'{1}',       -- InventoryCode - nvarchar(50)
    N'{2}',       -- InventoryName - nvarchar(50)
    '{3}',        -- Specs - varchar(50)
    N'{4}',       -- Unit - nvarchar(10)
    {5},       -- MateNum - float
    {6},       -- ConfirmNum - float
    0.0,       -- UnitPrice - float
    0.0,       -- TotalPrice - float
    '',        -- PackageCode - varchar(50)
    '',        -- BatchCode - varchar(50)
    '',        -- PBillCode - varchar(50)
    '',        -- AccountabilityCode - varchar(50)
    N'',       -- Remark - nvarchar(500)
    N'{7}',       -- CreatePerson - nvarchar(50)
    GETDATE(), -- CreateTime - datetime
    N'{7}',       -- ModifyPerson - nvarchar(50)
    GETDATE(), -- ModifyTime - datetime
    1          -- IsEnable - int
)
", documentNo, stateList[0].InventoryCode, stateList[0].InventoryName, stateList[0].Model,
                                                stateList[0].Unit, stateList[0].QualifiedQuntity, stateList[0].QualifiedQuntity, MmsHelper.GetUserName());
                    #endregion

                    int  countB = db.Sql(sqlB).Execute();
                    int  countC = 0;
                    bool aaa    = true;
                    bool ccc    = true;
                    //更新库存表

                    //库存表
                    List <WMS_BN_RealStock> realStockData = db.Sql("SELECT * FROM WMS_BN_RealStock WHERE IsEnable = 1").QueryMany <WMS_BN_RealStock>();

                    var realStocks = realStockData.Where(s =>
                    {
                        bool a = s.WarehouseCode == null ? false : s.WarehouseCode.Equals(stateList[0].WarehouseID);
                        bool b = s.InventoryCode == null ? false : s.InventoryCode.Equals(stateList[0].InventoryCode);
                        bool c = s.BatchCode == null ? false : s.BatchCode.Equals(stateList[0].BatchCode);
                        return(a && b && c);
                    }).ToList();
                    string updateStockSal = "";

                    if (stateList[0].WarehouseName == stateList[0].WorkshopName)
                    {
                        #region
                        //没有库存则新增
                        if (realStocks.Count <= 0)
                        {
                            WMS_BN_RealStock realStockModel = new WMS_BN_RealStock()
                            {
                                InventoryCode = stateList[0].InventoryCode,
                                InventoryName = stateList[0].InventoryName,
                                Model         = stateList[0].Model,
                                RealStock     = (double)stateList[0].QualifiedQuntity,
                                TotalStock    = (double)stateList[0].QualifiedQuntity,
                                WarehouseCode = stateList[0].WarehouseID,
                                WarehouseName = stateList[0].WarehouseName,
                                BatchCode     = stateList[0].BatchCode,
                                Unit          = stateList[0].Unit,
                                CreatePerson  = MmsHelper.GetUserName(),
                                CreateTime    = DateTime.Now,
                                ModifyPerson  = MmsHelper.GetUserName(),
                                ModifyTime    = DateTime.Now,
                                IsEnable      = 1
                            };
                            countC          = db.Insert("WMS_BN_RealStock", realStockModel).AutoMap(x => x.ID).Execute();
                            updateStockSal += String.Format(@" update WMS_BN_BillMain set ApproveState=2 where BillCode = '{0}'", documentNo);
                        }
                        //有则更新数量
                        else if (realStocks.Count.Equals(1))
                        {
                            updateStockSal = string.Format("UPDATE WMS_BN_RealStock SET RealStock = {0},TotalStock = {1},ModifyPerson = '{2}',ModifyTime = '{3}' WHERE ID = {4} ;\r\n",
                                                           realStocks[0].RealStock + stateList[0].QualifiedQuntity, realStocks[0].TotalStock + stateList[0].QualifiedQuntity, MmsHelper.GetUserName(), DateTime.Now, realStocks[0].ID);
                            updateStockSal += String.Format(@" update WMS_BN_BillMain set ApproveState=2 where BillCode = '{0}'", documentNo);
                        }
                        else
                        {
                            return(0);

                            msg = @"仓库物料种类繁多,可惜不知取哪一种!";
                        }

                        #endregion
                        ccc = db.Sql(updateStockSal).Execute() > 0;
                    }
                    if (aaa && countMain > 0 && countA > 0 && countB > 0 && ccc && countC > 0)
                    {
                        db.Commit();
                        msg = "审核单据成功";
                        return(1);
                    }
                    else
                    {
                        db.Rollback();
                        msg = "审核单据失败,请确认数据";
                        return(1);
                    }
                }
            }
        }
        //自动生成盘点单
        public int PostBuildPD(int year, int month, int tackStockType, out string msg)
        {
            msg = string.Empty;
            var    rowsAffected = 0;
            string sql          = String.Format(@"select * from WMS_BN_TakeStockMain where TakeStockYear='{0}' and TakeStockMonth='{1}'", year, month);
            var    isExit       = db.Sql(sql).QuerySingle <int>();

            if (isExit > 0)
            {
                msg = "一个月只能生成一次盘点!";
                return(0);
            }
            var list = db.Sql(@"select t1.InventoryCode,MAX( t1.InventoryName) InventoryName,t2.WarehouseCode,MAX( t2.WarehouseName) WarehouseName,isnull( SUM( t2.RealStock),0) TakeStockNum from SYS_Part as t1
  inner join  WMS_BN_RealStock as t2 on t1.InventoryCode=t2.InventoryCode
  group by t1.InventoryCode,t2.WarehouseCode
  ").QueryMany <dynamic>();

            if (list.Count <= 0)
            {
                msg = "没有数据!";
                return(0);
            }

            db.UseTransaction(true);
            WMS_BN_TakeStockMain master = new WMS_BN_TakeStockMain();

            master.BillCode       = MmsHelper.GetOrderNumber("WMS_BN_TakeStockMain", "BillCode", "PDDH", "", "");
            master.TakeStockYear  = year;
            master.TakeStockMonth = month;
            master.BillState      = 1;
            master.TakeStockType  = tackStockType;
            master.CreateTime     = DateTime.Now;
            master.CreatePerson   = MmsHelper.GetUserName();

            rowsAffected = db.Sql(@"insert into WMS_BN_TakeStockMain (BillCode,TakeStockYear,TakeStockMonth,TakeStockType,BillState,CreateTime,CreatePerson) 
values(@0,@1,@2,@3,@4,@5,@6)", master.BillCode, master.TakeStockYear,
                                  master.TakeStockMonth, master.TakeStockType, master.BillState, master.CreateTime, master.CreatePerson).Execute();

            if (rowsAffected < 0)
            {
                db.Rollback();
                return(rowsAffected);
            }
            sql = String.Format(@"select * from WMS_BN_TakeStockMain where BillCode = '{0}'", master.BillCode);
            dynamic next = db.Sql(sql).QuerySingle <dynamic>();//

            foreach (var item in list)
            {
                WMS_BN_TakeStockDetail detail = new WMS_BN_TakeStockDetail();
                detail.BillCode      = next.BillCode;
                detail.InventoryCode = item.InventoryCode;
                detail.InventoryName = item.InventoryName;
                detail.WarehouseCode = item.WarehouseCode;
                detail.WarehouseName = item.WarehouseName;
                detail.TakeStockNum  = item.TakeStockNum;


                rowsAffected = db.Insert <WMS_BN_TakeStockDetail>("WMS_BN_TakeStockDetail", detail)
                               .AutoMap(x => x.ID)
                               .Execute();
                if (rowsAffected < 0)
                {
                    db.Rollback();
                    return(rowsAffected);
                }
            }

            msg = "操作成功!";
            db.Commit();
            return(rowsAffected);
        }
예제 #29
0
        public string GetCode()
        {
            string billCode = MmsHelper.GetOrderNumber("QMS_UnQualifiedPartHandling", "BillCode", "BHGPCL", "", "");

            return(billCode);
        }
        //自动生成出入库单
        public int PostBuild(string billCode, out string msg)
        {
            msg = string.Empty;
            var    rowsAffected = 0;
            string sql          = String.Format(@"    select MAX(t1.BillState) as BillState,t2.WarehouseCode,max(t2.WarehouseName) as WarehouseName,t2.InventoryCode,max(t2.InventoryName) as InventoryName,sum(t2.DValue) as DValue from WMS_BN_TakeStockMain as t1
inner join WMS_BN_TakeStockDetail as t2 on t1.BillCode=t2.BillCode where t1.BillCode='{0}' 
group by t2.WarehouseCode,t2.Inventorycode", billCode);
            var    list         = db.Sql(sql).QueryMany <dynamic>();
            var    res          = list[1].DValue;

            if (list[0].BillState == 2)
            {
                msg = "已锁定的数据不能重复提交!";
                return(0);
            }
            db.UseTransaction(true);
            foreach (var item in list)
            {
                res = item.DValue;
                WMS_BN_BillMain master = new WMS_BN_BillMain();
                if (item.DValue > 0)
                {
                    master.BillType      = 6;
                    master.WarehouseCode = item.WarehouseCode;
                    master.WarehouseName = item.WarehouseName;
                    master.Remark        = "盘盈入库";
                }
                else if (item.DValue < 0)
                {
                    master.BillType      = 7;
                    master.WarehouseCode = item.WarehouseCode;
                    master.WarehouseName = item.WarehouseName;
                    master.Remark        = "盘亏出库";
                }
                else
                {
                    continue;
                }
                var sc = new sys_codeService().Getsys_codeByTypeAndID("BillType", Convert.ToInt16(master.BillType));
                master.BillCode     = MmsHelper.GetOrderNumber("WMS_BN_BillMain", "BillCode", sc.Description, "", "");
                master.CreateTime   = DateTime.Now;
                master.CreatePerson = MmsHelper.GetUserName();

                rowsAffected = db.Sql(@"insert into WMS_BN_BillMain (BillCode,BillType,WarehouseCode,WarehouseName,Remark,
CreatePerson,CreateTime) values(@0,@1,@2,@3,@4,@5,@6)", master.BillCode, master.BillType,
                                      master.WarehouseCode, master.WarehouseName, master.Remark, master.CreatePerson, master.CreateTime).Execute();
                if (rowsAffected < 0)
                {
                    db.Rollback();
                    return(rowsAffected);
                }

                var detailList = (from p in list where p.WarehouseCode == item.WarehouseCode select p).ToList();
                foreach (var it in detailList)
                {
                    WMS_BN_BillDetail detail = new WMS_BN_BillDetail();
                    detail.PBillCode     = billCode;
                    detail.BillCode      = master.BillCode;
                    detail.InventoryCode = it.InventoryCode;
                    detail.InventoryName = it.InventoryName;

                    detail.MateNum    = Math.Abs(item.DValue);
                    detail.ConfirmNum = Math.Abs(item.DValue);

                    rowsAffected = db.Insert <WMS_BN_BillDetail>("WMS_BN_BillDetail", detail)
                                   .AutoMap(x => x.ID)
                                   .Execute();
                    if (rowsAffected < 0)
                    {
                        db.Rollback();
                        return(rowsAffected);
                    }
                }
            }
            sql          = string.Format(@"update WMS_BN_TakeStockMain set BillState='2' where BillCode='{0}'", billCode);
            rowsAffected = db.Sql(sql).Execute();

            if (rowsAffected < 0)
            {
                db.Rollback();
                return(rowsAffected);
            }
            msg = "操作成功!";
            db.Commit();

            return(rowsAffected);
        }