Ejemplo n.º 1
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;
            }
        }
        public dynamic Get(RequestWrapper query)
        {
            query.LoadSettingXmlString(@"
    <settings defaultOrderBy='ID'>
        <select>*</select>
        <from>PRS_BlankingPlateDetail</from>
        <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true'>
                <field name='PlateSize'          cp='equal'></field>
        </where>
    </settings>");
            var service = new PRS_BlankingPlateDetailService();
            var pQuery  = query.ToParamQuery();
            var result  = service.GetDynamicList(pQuery.AndWhere("MainID", PRS_BlankingPlateDetailController.MainID));

            return(result);
        }
Ejemplo n.º 3
0
        public int AuditBillCode(string mainID, out string msg)
        {
            msg = string.Empty;
            var    rowsAffected = 0;
            string sql          = String.Format(@"  select BillState FROM PRS_BlankingRecord  where ID='{0}'", mainID);
            var    state        = db.Sql(sql).QuerySingle <int>();

            if (state == 2)
            {
                msg = "单据已审核";
                return(0);
            }
            else
            {
                try
                {
                    using (db.UseTransaction(true))
                    {
                        int isFalse = 0;
                        sql          = string.Format(@"update PRS_BlankingRecord set BillState=2 where ID='{0}'", mainID);
                        rowsAffected = db.Sql(sql).Execute();
                        if (rowsAffected > 0)
                        {
                            msg = "生产请购单据审核成功";
                            var pQuery = ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("MainID", mainID);
                            List <PRS_BlankingResult> resList = new PRS_BlankingResultService().GetModelList(pQuery);
                            foreach (var result in resList)
                            {
                                for (int i = 0; i < result.PartBlankingQuntity; i++)
                                {
                                    pQuery = ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("MainID", result.ID);
                                    List <PRS_BlankingPlateDetail> plateList = new PRS_BlankingPlateDetailService().GetModelList(pQuery);
                                    foreach (var plate in plateList)
                                    {
                                        int res = db.Insert("Mes_BlankingResult")
                                                  .Column("BlankingResultID", plate.MainID)
                                                  .Column("BlankingQuantity", 1)
                                                  .Column("IsEnable", 1)
                                                  .Column("Ispicking", 0)
                                                  .Column("BiankingSize", plate.PlateSize)
                                                  .Column("CreateTime", DateTime.Now)
                                                  .Column("CreatePerson", MmsHelper.GetUserName())
                                                  .Column("ModifyTime", DateTime.Now)
                                                  .Column("ModifyPerson", MmsHelper.GetUserName()).Execute();
                                        if (res <= 0)
                                        {
                                            isFalse++;
                                        }
                                    }
                                }
                            }
                            //return rowsAffected;
                        }
                        else
                        {
                            msg = "生产请购单据审核失败,请先保存数据后审核";
                            db.Rollback();
                            return(0);
                        }
                        if (isFalse > 0)
                        {
                            db.Rollback();
                            return(0);
                        }
                        else
                        {
                            db.Commit();
                            msg = "生产请购单据审核成功";
                            return(1);
                        }
                    }
                }
                catch
                {
                    msg = "生产请购单据审核失败";
                    return(0);
                }
            }
        }
        public void Edit(dynamic data)
        {
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            PRS_BlankingPlateDetail
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");

            //data.list.inserted[0].MainID

            StringBuilder sb       = new StringBuilder();
            long          maxICode = new SYS_PartService().GetSysPartMaxICode("050203");
            string        newPName = PRS_BlankingPlateDetailController.NewPName;
            DateTime      newDT    = DateTime.Now;

            for (var i = 0; i < data.list.inserted.Count; i++)
            {
                string iCode = "050203" + (++maxICode).ToString().PadLeft(12, '0');

                data.list.inserted[i].InventoryCode = iCode;

                sb.Append(WinFormClientService.GetInsertSQL(new SYS_Part()
                {
                    InventoryCode = iCode,
                    InventoryName = newPName,
                    Model         = $"尺寸={data.list.inserted[i].PlateSize},重量={data.list.inserted[i].Weight},线长={data.list.inserted[i].LineLength}",
                    IsEnable      = 1,
                    CreatePerson  = MmsHelper.GetUserName(),
                    CreateTime    = newDT,
                    ModifyPerson  = MmsHelper.GetUserName(),
                    ModifyTime    = newDT
                }));
            }

            for (var i = 0; i < data.list.updated.Count; i++)
            {
                sb.Append(WinFormClientService.GetUpdateSQL(nameof(SYS_Part), new KeyValuePair <string, object>("InventoryCode", data.list.updated[i].InventoryCode), new
                {
                    Model = $"尺寸={data.list.updated[i].PlateSize},重量={data.list.updated[i].Weight},线长={data.list.updated[i].LineLength}"
                }));
            }

            string sql = sb.ToString();

            using (var db = Db.Context("Mms"))
            {
                db.Sql(sql).Execute();
            }

            //dynamic inserted_list= data.list.inserted;
            //dynamic deleted_list = data.list.deleted;
            //dynamic updated_list = data.list.updated;
            //var PRS_BlankingPlateDetail_IDList = new List<int>();
            //foreach (dynamic item in inserted_list)
            //{
            //    int ID = item.ID;
            //    PRS_BlankingPlateDetail_IDList.Add(ID);
            //}
            //foreach (dynamic item in deleted_list)
            //{
            //    int ID = item.ID;
            //    PRS_BlankingPlateDetail_IDList.Add(ID);
            //}
            //foreach (dynamic item in updated_list)
            //{
            //    int ID = item.ID;
            //    PRS_BlankingPlateDetail_IDList.Add(ID);
            //}
            //bool flag = true;
            //new Mes_BlankingResultService().PostCreateBoard(out flag, PRS_BlankingPlateDetail_IDList);

            var service = new PRS_BlankingPlateDetailService();
            var result  = service.Edit(null, listWrapper, data);
        }