Пример #1
0
        public List <PRS_Process_BOM_Blanking> GetIsSum2(string BomList = "")
        {
            var PRS_BarCreateMateList = new List <dynamic>();
            List <PRS_Process_BOM_Blanking> barDataList = new PRS_Process_BOM_BlankingService().GetModelList(ParamQuery.Instance().AndWhere("ID", BomList, Cp.In));

            return(barDataList);
        }
Пример #2
0
        public dynamic Get(RequestWrapper query)
        {
            string MateTypeListId = string.Join(",", MES_BlankingWorkshopSetMateController.MateTypeListId);

            /*
             * --参考:https://bbs.csdn.net/topics/230028389
             *
             * SELECT * FROM dbo.PRS_Process_BOM ORDER BY PartFigureCode
             *
             * SELECT * FROM dbo.PRS_Process_BOM ORDER BY PartFigureCode COLLATE SQL_Latin1_General_CP437_BIN
             *
             * SELECT * FROM dbo.PRS_Process_BOM ORDER BY replace (PartFigureCode,'-','0')
             */

            query.LoadSettingXmlString(@"
    <settings defaultOrderBy=' temp.PartFigureCode COLLATE SQL_Latin1_General_CP437_BIN '>
        <select>*</select>
        <from>
(SELECT ID,PartFigureCode,PartName,MaterialCode,MateType,SetMateName,ContractCode,ProductID,
New_InventoryCode,New_PartName,New_Model,MateParamValue,InPlanceSize,BlankingSize,BlankingNum,SetMateNum
FROM dbo.PRS_Process_BOM_Blanking a WHERE a.MateType IN({0})) as temp
        </from>
        <where defaultForAll='true' defaultCp='equal' defaultIgnoreEmpty='true'>
                <field name='temp.ContractCode'          cp='like'></field>
                <field name='temp.ProductID'         cp='equal'></field>
        </where>
    </settings>", MateTypeListId);
            var service = new PRS_Process_BOM_BlankingService();
            var pQuery  = query.ToParamQuery();
            var result  = service.GetDynamicListWithPaging(pQuery);

            return(result);
        }
Пример #3
0
        public List <dynamic> GetBomList(string BomList = "")
        {
            var PRS_BarCreateMateList = new List <dynamic>();
            List <PRS_Process_BOM_Blanking> barDataList = new PRS_Process_BOM_BlankingService().GetModelList(ParamQuery.Instance().AndWhere("ID", BomList, Cp.In));

            //.AndWhere(Cp.In("ID", BomList)))
            if (!string.IsNullOrWhiteSpace(BomList))
            {
                #region 原SQL

                /*
                 * select a.ContractCode,a.New_InventoryCode InventoryCode,b.InventoryName,b.Model,b.Spec as Specs,b.FigureCode,sum(a.SetMateNum) TotalNum,0 RealNum,sum(a.SetMateNum) NeedNum
                 * from PRS_Process_BOM a
                 * left join SYS_Part b on a.New_InventoryCode=b.InventoryCode
                 * where a.MateType=2 and a.ID in({0}) AND ContractCode NOT IN (SELECT ContractCode FROM PRS_BarCreateMate WHERE a.IsEnable=1)
                 * group by a.ContractCode,a.New_InventoryCode,b.InventoryName,b.Model,b.Spec,b.FigureCode
                 */
                #endregion

                var query   = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings defaultOrderBy='temp.InventoryCode'>
        <select>*</select>
        <from>(
SELECT a.ContractCode,
       a.New_InventoryCode InventoryCode,
       b.InventoryName,
       b.Model,
       b.Spec AS Specs,
       b.FigureCode,
       SUM(a.SetMateNum) TotalNum,
       0 RealNum,
       SUM(a.SetMateNum) NeedNum
FROM dbo.PRS_Process_BOM_Blanking a
    LEFT JOIN SYS_Part b
        ON a.New_InventoryCode = b.InventoryCode
WHERE a.MateType IN (2,3)
      AND a.ID IN ( {0} )
      AND NOT EXISTS
(
    SELECT 1
    FROM PRS_BarCreateMate
    WHERE a.IsEnable = 1
          AND ContractCode = a.ContractCode
          AND InventoryCode = a.New_InventoryCode
)
GROUP BY a.ContractCode,
         a.New_InventoryCode,
         b.InventoryName,
         b.Model,
         b.Spec,
         b.FigureCode
) temp</from>
    </settings>", BomList);
                var service = new PRS_BarCreateMateService();
                PRS_BarCreateMateList = service.GetDynamicList(query.ToParamQuery()).ToList <dynamic>();
            }
            return(PRS_BarCreateMateList);
        }
        public dynamic PostIsExistBlankingProcessBomData(dynamic data)
        {
            string ParentCode   = data.ParentCode;
            string ContractCode = data.ContractCode;
            int    ProductID    = data.ProductID;
            int    IsExist      = new PRS_Process_BOM_BlankingService().GetModelList(
                ParamQuery.Instance()
                .AndWhere("ParentCode", ParentCode)
                .AndWhere("ContractCode", ContractCode)
                .AndWhere("ProductID", ProductID)).Count;

            return(IsExist > 0 ? true : false);
        }
Пример #5
0
        public void Edit(dynamic data)
        {
            var listWrapper = RequestWrapper.Instance().LoadSettingXmlString(@"
    <settings>
        <table>
            PRS_Process_BOM_Blanking
        </table>
        <where>
            <field name='ID' cp='equal'></field>
        </where>
    </settings>");
            var service     = new PRS_Process_BOM_BlankingService();

            if (data.list.updated.ToString() != "[]")
            {
                foreach (JToken row in data["list"]["updated"].Children())
                {
                    string SetMateName = row["SetMateName"].ToString();

                    string New_PartName = row["New_PartName"].ToString();

                    string New_Model = row["New_Model"].ToString();


                    //处理同上

                    //row["New_PartName"] = row["MaterialInventoryName"];//MaterialInventoryName代替InventoryName
                    //row["New_Model"] = row["MaterialInventoryCode"];//MaterialInventoryCode代替Model
                    //string inventoryCode = row["New_InventoryCode"].ToString();
                    //var inventory = service.GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("ID", row["ID"].ToString()));
                    SYS_Part part    = new SYS_PartService().GetModel(ParamQuery.Instance().Select("*").AndWhere("InventoryCode", SetMateName));
                    bool     mEquals = New_Model.Equals(part.Model == null ? "" : part.Model);
                    bool     nEquals = New_PartName.Equals(part.InventoryName == null ? "" : part.InventoryName);
                    bool     res     = mEquals && nEquals;
                    row["MaterialInventoryName"] = part.InventoryName;
                    row["MaterialInventoryCode"] = part.Model;

                    row["New_InventoryCode"] = "";

                    if (res)
                    {
                        row["New_InventoryCode"] = row["SetMateName"];
                    }

                    /*else
                     * {
                     *  if (row["New_InventoryCode"].ToString().Equals(row["SetMateName"].ToString()))
                     *  {
                     *      row["New_InventoryCode"] = "";
                     *  }
                     *  else
                     *  {
                     *
                     *  }
                     * }*/

                    ////处理同上
                    //row["New_InventoryCode"] = row["SetMateName"];
                    //row["New_PartName"] = row["MaterialInventoryName"];//MaterialInventoryName代替InventoryName
                    //row["New_Model"] = row["MaterialInventoryCode"];//MaterialInventoryCode代替Model
                    //string inventoryCode = row["New_InventoryCode"].ToString();
                    //var inventory = service.GetModel(ParamQuery.Instance().AndWhere("IsEnable", 1).AndWhere("ID", row["ID"].ToString()));
                    //var pQuery = ParamQuery.Instance().Select("*").AndWhere("InventoryCode", inventory.SetMateName);
                    //SYS_Part part = new SYS_PartService().GetModel(pQuery);
                    //bool mEquals = row["MaterialInventoryCode"].ToString().Equals(part.Model == null ? "" : part.Model);
                    //bool nEquals = row["MaterialInventoryName"].ToString().Equals(part.InventoryName == null ? "" : part.InventoryName);
                    //bool res = mEquals && nEquals;
                    //row["MaterialInventoryName"] = part.InventoryName;
                    //row["MaterialInventoryCode"] = part.Model;
                    //if (!res)
                    //{
                    //    row["New_InventoryCode"] = "";
                    //}
                }
            }

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