예제 #1
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);
        }
예제 #2
0
        public dynamic GetPageData(string id)
        {
            var    masterService = new APS_ProductPurchaseMainService();
            var    pQuery        = ParamQuery.Instance().AndWhere("ID", id);
            var    pQuery2       = ParamQuery.Instance().AndWhere("MainID", id);
            string sql           = string.Format(@"SELECT DISTINCT t1.*,
       t3.InventoryName,
       t3.QuantityUnit,
       t3.Spec,
       t3.Model
FROM APS_ProductPurchaseDetail t1
    LEFT JOIN PRS_Process_BOM t2
        ON t1.InventoryCode = t2.InventoryCode
           AND t2.IsEnable = 1
    LEFT JOIN dbo.SYS_Part t3
        ON t3.InventoryCode = t1.InventoryCode
           AND t3.IsEnable = 1
WHERE t1.mainid={0}", id);

            var data = Db.Context("Mms").Sql(sql).QueryMany <dynamic>();

            var result = new
            {
                //主表数据
                form       = masterService.GetModel(pQuery),
                scrollKeys = masterService.ScrollKeys("ID", id),

                //明细数据
                tab0 = data
            };

            return(result);
        }
예제 #3
0
        public string GetInsertPurchase(string code, string deID, int?pType)
        {
            string msg    = "";
            var    result = new APS_ProductPurchaseMainService().InsertPurchase(code, deID, pType, out msg);

            return(msg);
        }
예제 #4
0
        public void Audit(string id, JObject data)
        {
            var pUpdate = ParamUpdate.Instance()
                          .Update("APS_ProductPurchaseMain")
                          .Column("ApproveState", data["status"])
                          .Column("ApproveRemark", data["comment"])
                          .Column("ApprovePerson", FormsAuth.GetUserData().UserName)
                          .Column("ApproveDate", DateTime.Now)
                          .AndWhere("ID", id);

            var service      = new APS_ProductPurchaseMainService();
            var rowsAffected = service.Update(pUpdate);

            MmsHelper.ThrowHttpExceptionWhen(rowsAffected < 0, "单据审核失败[BillNo={0}],请重试或联系管理员!", id);
        }
예제 #5
0
        public dynamic Get(RequestWrapper query)
        {
            query.LoadSettingXmlString(@"
<settings defaultOrderBy='ID'>
    <select>*</select>
    <from>v_APS_ProductPurchaseMain</from>
    <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true' >
        <field name='PurchaseDocumentCode'		cp='equal'></field>   
        <field name='ContractCode'		cp='equal'></field>   
        <field name='PurchaseDate'		cp='daterange'></field>   
        <field name='WarehouseID'		cp='equal'></field>   
    </where>
</settings>");
            var service = new APS_ProductPurchaseMainService();
            var pQuery  = query.ToParamQuery();
            var result  = service.GetDynamicListWithPaging(pQuery.AndWhere("PurchaseType", APS_ProductPurchaseMainController.PurchaseType));

            return(result);
        }
예제 #6
0
        public string GetDelete(string id)
        {
            string msg    = "删除成功!";
            var    pQuery = ParamQuery.Instance().Select("*").AndWhere("ID", id);
            var    re     = new APS_ProductPurchaseMainService().GetModel(pQuery);

            if (re == null || re.BillState == 2)
            {
                msg = "已审核不能删除!";
            }
            else
            {
                var result   = new APS_ProductPurchaseMainService().GetDelete(id);
                var pQuery2  = ParamQuery.Instance().Select("*").AndWhere("MainID", id);
                var services = new APS_ProductPurchaseDetailService();
                var list     = services.GetModelList(pQuery2);
                foreach (var item in list)
                {
                    services.GetDelete(item.ID.ToString());
                }
            }

            return(msg);
        }
예제 #7
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;
                    }
                }
            }
        }