Esempio n. 1
0
        public DisplayObject_MCE_B_ASSETS GetTotalRecord(CauseObject_MCE_B_ASSETS cause)
        {
            if (LocalMode)
            {
                DisplayObject_MCE_B_ASSETS[] list = HelperObject_MCE_B_ASSETS.Query(cause);


                object objORIGINAL_VALUE = list.Sum(l => l.ORIGINAL_VALUE);
                object objNET_VALUE      = list.Sum(l => l.NET_VALUE);


                DisplayObject_MCE_B_ASSETS item = new DisplayObject_MCE_B_ASSETS();
                item.ASSETS_CODE = "总计";
                if (!string.IsNullOrEmpty(objORIGINAL_VALUE.ToString()))
                {
                    item.ORIGINAL_VALUE = decimal.Parse(objORIGINAL_VALUE.ToString());
                }

                if (!string.IsNullOrEmpty(objNET_VALUE.ToString()))
                {
                    item.NET_VALUE = decimal.Parse(objNET_VALUE.ToString());
                }

                //平台自动生成代码
                return(item);
            }
            else
            {
                using (ServiceManager <ServiceContract_MCE_B_ASSETS> smgr = new ServiceManager <ServiceContract_MCE_B_ASSETS>(ServiceUri))
                {
                    return(smgr.Service.GetTotalRecord(cause));
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            //允许跨域
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            JSON_MSG jsonMsg = new JSON_MSG();

            try
            {
                context.Response.ContentType = "text/plain";
                HttpRequest request = context.Request;

                if (string.IsNullOrEmpty(request["id"]))
                {
                    throw new Exception("参数错误.");
                }

                CauseObject_MCE_B_ASSETS p = new CauseObject_MCE_B_ASSETS();
                p.ID = request["id"].ToString();

                DisplayObject_MCE_B_ASSETS[] listHead = BizLogicObject_MCE_B_ASSETS.Proxy.Query(p);


                if (listHead == null || listHead.Length == 0)
                {
                    throw new Exception("获取列表信息失败.");
                }


                listHead[0].COMMENTS = BarCodeHelper.GenerateBarCode(listHead[0].ASSETS_CODE);

                jsonMsg.Succeed = 1;
                jsonMsg.Message = listHead[0];
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm"
                };


                string strMsg = JsonConvert.SerializeObject(jsonMsg, Formatting.Indented, timeConverter);
                strMsg = strMsg.Replace("0001-01-01 00:00", "");
                context.Response.Write(strMsg);

                context.Response.End();
            }
        }
Esempio n. 3
0
        public string GectAssetsCode()
        {
            string strCode = "";


            var year       = DateTime.Now.Year.ToString().Remove(0, 2);
            int code       = 1;
            var cause_year = new CauseObject_MCE_B_ASSETS();

            cause_year.SetCustomCondition(" and MCE_B_ASSETS.ASSETS_CODE like '" + year + "%'");
            var list = BizLogicObject_MCE_B_ASSETS.Proxy.Query(cause_year);

            if (list != null && list.Length > 0)
            {
                var s_code    = list.Max(p => p.ASSETS_CODE);
                var rightCode = s_code.Replace(year + "000026", "").TrimStart('0');
                code = int.Parse(rightCode) + 1;
            }

            strCode = year + "000026" + (code).ToString().PadLeft(4, '0');

            return(strCode);
        }
        public void ProcessRequest(HttpContext context)
        {
            //允许跨域
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            JSON_MSG jsonMsg = new JSON_MSG();

            try
            {
                context.Response.ContentType = "text/plain";
                HttpRequest request = context.Request;

                if (string.IsNullOrEmpty(request["id"]))
                {
                    throw new Exception("参数错误.");
                }

                CauseObject_MCE_B_ASSETS_CONTRACT p = new CauseObject_MCE_B_ASSETS_CONTRACT();
                p.ID = request["id"].ToString();

                DisplayObject_MCE_B_ASSETS_CONTRACT[] listHead = BizLogicObject_MCE_B_ASSETS_CONTRACT.Proxy.Query(p);


                JSON_PAGER_Contract jsonPager = new JSON_PAGER_Contract();

                if (listHead == null)
                {
                    throw new Exception("获取列表信息失败.");
                }

                jsonPager.head = listHead[0];


                OrderByParameter orderBy = new OrderByParameter();
                orderBy.Asc     = true;
                orderBy.OrderBy = "ASSETS_CODE";


                CauseObject_MCE_B_ASSETS pd = new CauseObject_MCE_B_ASSETS();
                pd.SetCustomCondition(" and MCE_B_ASSETS.ID in(select asset_id from MCE_B_ASSETS_CONTRACT_D where base_id='" + request["id"].ToString() + "')");
                DisplayObject_MCE_B_ASSETS[] listDetail = BizLogicObject_MCE_B_ASSETS.Proxy.Query(pd, null, orderBy);

                jsonPager.total = listDetail.Length;
                jsonPager.rows  = listDetail;



                OrderByParameter orderByPay = new OrderByParameter();
                orderByPay.Asc     = true;
                orderByPay.OrderBy = "PERIODS";

                CauseObject_MCE_B_ASSETS_CONTRACT_PAY p_Pay = new CauseObject_MCE_B_ASSETS_CONTRACT_PAY();
                p_Pay.BASE_ID = request["id"];

                DisplayObject_MCE_B_ASSETS_CONTRACT_PAY[] listPay = BizLogicObject_MCE_B_ASSETS_CONTRACT_PAY.Proxy.Query(p_Pay, null, orderByPay);
                jsonPager.payRows = listPay;


                OrderByParameter orderByAttach = new OrderByParameter();
                orderByAttach.Asc     = false;
                orderByAttach.OrderBy = "CREATE_TIME";

                CauseObject_COM_FILE pCOM_FILE = new CauseObject_COM_FILE();
                pCOM_FILE.REF_TAB_ID   = request["id"];
                pCOM_FILE.REF_TAB_NAME = "MCE_B_ASSETS_CONTRACT";

                List <JsonMCEMT_APPLY_MTN_ATTACH> list = new List <JsonMCEMT_APPLY_MTN_ATTACH>();

                DisplayObject_COM_FILE[] listAttach = BizLogicObject_COM_FILE.Proxy.Query(pCOM_FILE, null, orderByAttach);
                if (listAttach != null && listAttach.Length > 0)
                {
                    foreach (DisplayObject_COM_FILE item in listAttach)
                    {
                        JsonMCEMT_APPLY_MTN_ATTACH attach = new JsonMCEMT_APPLY_MTN_ATTACH();
                        attach.ID             = item.ID;
                        attach.CLIENT_NAME    = item.CLIENT_NAME;
                        attach.SERVER_NAME    = item.SERVER_NAME;
                        attach.CREATE_USER_ID = item.CREATE_USER_ID;

                        if (!string.IsNullOrEmpty(attach.CREATE_USER_ID))
                        {
                            EntityObject_COM_USER entity = new EntityObject_COM_USER();

                            entity.ID = attach.CREATE_USER_ID;

                            entity = BizLogicObject_COM_USER.Proxy.Get(entity);

                            if (entity != null)
                            {
                                attach.CREATE_USER_ID_NAME = entity.NAME;
                            }
                        }
                        attach.CREATE_TIME = item.CREATE_TIME;
                        list.Add(attach);
                    }
                }
                jsonPager.attach = list;


                jsonMsg.Succeed = 1;
                jsonMsg.Message = jsonPager;
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm"
                };

                string strMsg = JsonConvert.SerializeObject(jsonMsg, Formatting.Indented, timeConverter);
                strMsg = strMsg.Replace("0001-01-01 00:00", "");
                context.Response.Write(strMsg);


                context.Response.End();
            }
        }
Esempio n. 5
0
        public BizLogicMsg Delete_Ext(List <string> listID)
        {
            if (LocalMode)
            {
                BizLogicMsg msg = new BizLogicMsg();
                using (IDbConnection connection = IDALProvider.IDAL.PopConnection())
                {
                    using (IDbTransaction transaction = connection.BeginTransaction())
                    {
                        try
                        {
                            if (listID != null && listID.Count > 0)
                            {
                                foreach (string strID in listID)
                                {
                                    CauseObject_MCE_D_MCE_TYPE p_Type = new CauseObject_MCE_D_MCE_TYPE();

                                    p_Type.PARENT_ID = strID;

                                    DisplayObject_MCE_D_MCE_TYPE[] listMCE_D_MCE_TYPE = BizLogicObject_MCE_D_MCE_TYPE.Proxy.Query(p_Type);

                                    if (listMCE_D_MCE_TYPE != null && listMCE_D_MCE_TYPE.Length > 0)
                                    {
                                        throw new Exception("该资产分类下存在子分类,不能删除.");
                                    }


                                    CauseObject_MCE_B_ASSETS p = new CauseObject_MCE_B_ASSETS();

                                    p.MACHINE_TYPE_ID = strID;

                                    DisplayObject_MCE_B_ASSETS[] list = BizLogicObject_MCE_B_ASSETS.Proxy.Query(p);

                                    if (list != null && list.Length > 0)
                                    {
                                        throw new Exception("在资产卡片中已经使用的资产分类不能删除.");
                                    }



                                    EntityObject_MCE_D_MCE_TYPE obj = new EntityObject_MCE_D_MCE_TYPE();
                                    obj.ID = strID;

                                    if (obj.STATE == 1)
                                    {
                                        throw new Exception("状态为[正常]的资产分类不能删除.");
                                    }

                                    obj = HelperObject_MCE_D_MCE_TYPE.Get(obj);

                                    if (obj != null)
                                    {
                                        HelperObject_MCE_D_MCE_TYPE.Delete(obj, transaction);
                                    }
                                }
                            }

                            //平台自动生成代码

                            transaction.Commit();
                        }
                        catch (Exception expt)
                        {
                            transaction.Rollback();
                            msg = new BizLogicMsg(false, expt.Message);
                            Error(expt);
                        }
                        finally
                        {
                            IDALProvider.IDAL.PushConnection(connection);
                        }
                    }
                }
                return(msg);
            }
            else
            {
                using (ServiceManager <ServiceContract_MCE_D_MCE_TYPE> smgr = new ServiceManager <ServiceContract_MCE_D_MCE_TYPE>(ServiceUri))
                {
                    return(smgr.Service.Delete_Ext(listID));
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            //允许跨域
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            JSON_MSG jsonMsg = new JSON_MSG();

            try
            {
                context.Response.ContentType = "text/plain";
                HttpRequest request = context.Request;

                if (string.IsNullOrEmpty(request["id"]))
                {
                    throw new Exception("参数错误.");
                }

                CauseObject_MCE_B_ASSETS_WRITE_OFF p = new CauseObject_MCE_B_ASSETS_WRITE_OFF();
                p.ID = request["id"].ToString();

                DisplayObject_MCE_B_ASSETS_WRITE_OFF[] listHead = BizLogicObject_MCE_B_ASSETS_WRITE_OFF.Proxy.Query(p);


                JSON_PAGER_Write_Off jsonPager = new JSON_PAGER_Write_Off();
                if (listHead == null)
                {
                    throw new Exception("获取列表信息失败.");
                }

                jsonPager.head = listHead[0];


                OrderByParameter orderBy = new OrderByParameter();
                orderBy.Asc     = true;
                orderBy.OrderBy = "ASSETS_CODE";


                CauseObject_MCE_B_ASSETS pd = new CauseObject_MCE_B_ASSETS();
                pd.SetCustomCondition(" and MCE_B_ASSETS.ID in(select asset_id from MCE_B_ASSETS_WRITE_OFF_D where base_id='" + request["id"].ToString() + "')");
                DisplayObject_MCE_B_ASSETS[] listDetail = BizLogicObject_MCE_B_ASSETS.Proxy.Query(pd, null, orderBy);



                OrderByParameter orderByAttach = new OrderByParameter();
                orderByAttach.Asc     = false;
                orderByAttach.OrderBy = "CREATE_DATE";


                CauseObject_MCE_B_ASSETS_WRITE_OFF_ATTACH pAttach = new CauseObject_MCE_B_ASSETS_WRITE_OFF_ATTACH();
                pAttach.BASE_ID = request["id"].ToString();


                DisplayObject_MCE_B_ASSETS_WRITE_OFF_ATTACH[] listAttach = BizLogicObject_MCE_B_ASSETS_WRITE_OFF_ATTACH.Proxy.Query(pAttach, null, orderByAttach);


                jsonPager.total  = listDetail.Length;
                jsonPager.rows   = listDetail;
                jsonPager.attach = listAttach;

                jsonMsg.Succeed = 1;
                jsonMsg.Message = jsonPager;
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm"
                };

                string strMsg = JsonConvert.SerializeObject(jsonMsg, Formatting.Indented, timeConverter);
                strMsg = strMsg.Replace("0001-01-01 00:00", "");
                context.Response.Write(strMsg);


                context.Response.End();
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            //允许跨域
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            JSON_MSG jsonMsg = new JSON_MSG();

            try
            {
                context.Response.ContentType = "text/plain";
                HttpRequest request = context.Request;

                OrderByParameter orderBy = new OrderByParameter();
                orderBy.Asc     = true;
                orderBy.OrderBy = "ASSETS_CODE";

                PagingParamter pager = new PagingParamter();
                pager.PageSize  = string.IsNullOrEmpty(request["limit"]) ? 10 : int.Parse(request["limit"].ToString());
                pager.PageIndex = string.IsNullOrEmpty(request["offset"]) ? 0 : (int.Parse(request["offset"].ToString()) <= 0) ? 0 : int.Parse(request["offset"].ToString()) - 1;

                StringBuilder strCondition = new StringBuilder();

                CauseObject_MCE_B_ASSETS p = new CauseObject_MCE_B_ASSETS();

                if (!string.IsNullOrEmpty(request["status"]))
                {
                    p.STATE = int.Parse(request["status"].ToString());
                }

                if (!string.IsNullOrEmpty(request["type_id"]))
                {
                    p.MACHINE_TYPE_ID = request["type_id"].ToString();
                }

                if (!string.IsNullOrEmpty(request["brand"]))  //品牌
                {
                    p.BRAND_NAME = "%" + request["brand"].ToString() + "%";
                }

                if (!string.IsNullOrEmpty(request["use_state"]))//使用状态
                {
                    p.USE_STATE = request["use_state"].ToString();
                }

                if (!string.IsNullOrEmpty(request["ownership_type_id"]))//权属信息
                {
                    p.OWNERSHIP_TYPE_ID = request["ownership_type_id"].ToString();
                }

                if (!string.IsNullOrEmpty(request["assets_state"]))//资产状态
                {
                    p.ASSETS_STATE = request["assets_state"].ToString();
                }

                if (!string.IsNullOrEmpty(request["card_type_id"]))//卡片类型
                {
                    p.CARD_TYPE_ID = request["card_type_id"].ToString();
                }

                if (!string.IsNullOrEmpty(request["is_metering"]))//是否计量
                {
                    p.IS_METERING = int.Parse(request["is_metering"].ToString());
                }

                if (!string.IsNullOrEmpty(request["is_force_sense"]))//是否强检设备
                {
                    p.IS_FORCE_SENSE = int.Parse(request["is_force_sense"].ToString());
                }

                if (!string.IsNullOrEmpty(request["prv"]))//供应商
                {
                    p.PROVIDER_ID = request["prv"];
                }

                if (!string.IsNullOrEmpty(request["prd"]))//生产厂家
                {
                    strCondition.Append(" and MDM_D_DEPT_PRD_ID.NAME like '%" + request["prd"].ToString().Trim() + "%'");
                }

                //if (!string.IsNullOrEmpty(request["prv"]))//供应商
                //{
                //    strCondition.Append(" and MDM_D_DEPT_PROVIDER_ID.NAME like '%" + request["prv"].ToString().Trim() + "%'");
                //}


                if (!string.IsNullOrEmpty(request["usedept"]))//领用科室
                {
                    strCondition.Append(" and COM_DEPART_USING_DEPT_ID.NAME like '%" + request["usedept"].ToString().Trim() + "%'");
                }

                if (!string.IsNullOrEmpty(request["cust_condition"]))//定制条件
                {
                    strCondition.Append(request["cust_condition"]);
                }

                if (!string.IsNullOrEmpty(request["condition"]))//条件
                {
                    strCondition.Append(" and (MCE_B_ASSETS.assets_code like '%" + request["condition"].ToString().Trim() + "%' or MCE_B_ASSETS.assets_name like '%" + request["condition"].ToString().Trim() + "%' or MCE_B_ASSETS.spec like '%" + request["condition"].ToString().Trim() + "%' or COM_DEPART_USING_DEPT_ID.NAME like '%" + request["condition"].ToString().Trim() + "%')");
                }
                else
                {
                    if (!string.IsNullOrEmpty(request["code"]))
                    {
                        p.ASSETS_CODE = "%" + request["code"].ToString() + "%";
                    }

                    if (!string.IsNullOrEmpty(request["name"]))
                    {
                        p.ASSETS_NAME = "%" + request["name"].ToString() + "%";
                    }

                    if (!string.IsNullOrEmpty(request["spec"]))//规格型号
                    {
                        p.SPEC = "%" + request["spec"].ToString() + "%";
                    }
                }

                if (!string.IsNullOrEmpty(strCondition.ToString()))
                {
                    p.SetCustomCondition(strCondition.ToString());
                }

                List <DisplayObject_MCE_B_ASSETS> list  = new List <DisplayObject_MCE_B_ASSETS>();
                DisplayObject_MCE_B_ASSETS[]      list0 = BizLogicObject_MCE_B_ASSETS.Proxy.Query(p, pager, orderBy);

                if (list0 != null && list0.Length > 0)
                {
                    list = list0.ToList();
                }

                string strNeedTotal = "1";
                if (!string.IsNullOrEmpty(request["needTotal"]))//需要合计
                {
                    strNeedTotal = request["needTotal"];
                }

                if (strNeedTotal == "1")
                {
                    object objORIGINAL_VALUE = list.Sum(l => l.ORIGINAL_VALUE);
                    object objNET_VALUE      = list.Sum(l => l.NET_VALUE);

                    DisplayObject_MCE_B_ASSETS pageItem = new DisplayObject_MCE_B_ASSETS();
                    pageItem.ASSETS_CODE = "小计";
                    if (!string.IsNullOrEmpty(objORIGINAL_VALUE.ToString()))
                    {
                        pageItem.ORIGINAL_VALUE = decimal.Parse(objORIGINAL_VALUE.ToString());
                    }

                    if (!string.IsNullOrEmpty(objNET_VALUE.ToString()))
                    {
                        pageItem.NET_VALUE = decimal.Parse(objNET_VALUE.ToString());
                    }
                    list.Add(pageItem);


                    DisplayObject_MCE_B_ASSETS totalItem = BizLogicObject_MCE_B_ASSETS.Proxy.GetTotalRecord(p);
                    list.Add(totalItem);
                }

                JSON_PAGER jsonPager = new JSON_PAGER();

                jsonPager.total = pager.TotalRecords;
                jsonPager.rows  = list;


                string strDropDown = "0";
                if (!string.IsNullOrEmpty(request["dropdown"]))//
                {
                    strDropDown = request["dropdown"];
                }

                if (strDropDown == "1" && list != null && list.Count > 0)
                {
                    foreach (DisplayObject_MCE_B_ASSETS item in list)
                    {
                        item.NAME = item.ASSETS_NAME;
                    }
                }

                jsonMsg.Message = jsonPager;
                jsonMsg.Succeed = 1;
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm"
                };

                string strMsg = JsonConvert.SerializeObject(jsonMsg, Formatting.Indented, timeConverter);
                strMsg = strMsg.Replace("0001-01-01 00:00", "");
                context.Response.Write(strMsg);

                context.Response.End();
            }
        }
Esempio n. 8
0
        public BizLogicMsg Audit_Ext(List <string> listID)
        {
            if (LocalMode)
            {
                BizLogicMsg msg = new BizLogicMsg();
                using (IDbConnection connection = IDALProvider.IDAL.PopConnection())
                {
                    using (IDbTransaction transaction = connection.BeginTransaction())
                    {
                        try
                        {
                            foreach (string strID in listID)
                            {
                                EntityObject_MCE_B_ASSETS_INSTOCK obj = new EntityObject_MCE_B_ASSETS_INSTOCK();
                                obj.ID = strID;

                                obj = HelperObject_MCE_B_ASSETS_INSTOCK.Get(obj);

                                if (obj != null)
                                {
                                    if (obj.STATE == 3 || obj.STATE == 4)
                                    {
                                        throw new Exception("已经审核的数据不能再审核.");
                                    }



                                    obj.STATE         = 3;
                                    obj.AUDIT_TIME    = DateTime.Now;
                                    obj.AUDIT_USER_ID = Ipedf.Web.BizLogic.SystemLogic.Proxy.CurrentUser.ID;
                                    HelperObject_MCE_B_ASSETS_INSTOCK.Update(obj, transaction);



                                    DisplayObject_MCE_B_ASSETS_INSTOCK_D[] disInStock_D = BizLogicObject_MCE_B_ASSETS_INSTOCK_D.Proxy.Query(new CauseObject_MCE_B_ASSETS_INSTOCK_D()
                                    {
                                        BASE_ID = obj.ID
                                    });

                                    if (disInStock_D.Length == 0)
                                    {
                                        throw new Exception("请添加入库设备!");
                                    }
                                    foreach (DisplayObject_MCE_B_ASSETS_INSTOCK_D item in disInStock_D)
                                    {
                                        if (string.IsNullOrEmpty(item.ASSETS_NAME))
                                        {
                                            throw new Exception("请输入设备名称!");
                                        }
                                        if (string.IsNullOrEmpty(item.ASSET_TYPE_ID))
                                        {
                                            throw new Exception("请输入设备分类!");
                                        }
                                        if (string.IsNullOrEmpty(item.USING_DEPT_ID))
                                        {
                                            throw new Exception("请输入领用科室!");
                                        }
                                    }

                                    //按领用科室对入库明细进行分组
                                    Hashtable ht = Hashtable.Synchronized(new Hashtable());
                                    foreach (DisplayObject_MCE_B_ASSETS_INSTOCK_D gd in disInStock_D)
                                    {
                                        if (gd.REF_TAB_NAME == "MCE_B_AOG_D" && !string.IsNullOrEmpty(gd.REF_TAB_ID))
                                        {
                                            EntityObject_MCE_B_AOG_D obj_AOG_D = new EntityObject_MCE_B_AOG_D();
                                            obj_AOG_D.ID = gd.REF_TAB_ID;

                                            obj_AOG_D = HelperObject_MCE_B_AOG_D.Get(obj_AOG_D);
                                            if (obj_AOG_D != null)
                                            {
                                                obj_AOG_D.REF_USED_AMOUNT = obj_AOG_D.REF_USED_AMOUNT + gd.AMOUNT;
                                                HelperObject_MCE_B_AOG_D.Update(obj_AOG_D, transaction);
                                            }
                                        }


                                        List <DisplayObject_MCE_B_ASSETS_INSTOCK_D> glist = (List <DisplayObject_MCE_B_ASSETS_INSTOCK_D>)ht[gd.USING_DEPT_ID];
                                        if (glist == null)
                                        {
                                            glist = new List <DisplayObject_MCE_B_ASSETS_INSTOCK_D>();
                                        }
                                        glist.Add(gd);
                                        ht[gd.USING_DEPT_ID] = glist;
                                    }



                                    #region 出库单
                                    //    EntityObject_MCE_B_ASSETS_INSTOCK entInStock = Get(new EntityObject_MCE_B_ASSETS_INSTOCK() { ID = obj.ID });

                                    //按ht中的分组来生成
                                    foreach (object key in ht.Keys)
                                    {
                                        //生成主表
                                        EntityObject_MCE_B_ASSETS_OUTSTOCK          entOutStock   = new EntityObject_MCE_B_ASSETS_OUTSTOCK();
                                        List <EntityObject_MCE_B_ASSETS_OUTSTOCK_D> entOutStock_D = new List <EntityObject_MCE_B_ASSETS_OUTSTOCK_D>();
                                        entOutStock.CREATE_DATE = DateTime.Now;
                                        entOutStock.STATE       = 1;
                                        entOutStock.CODE        = BizLogicObject_MCE_B_ASSETS.Proxy.Generate_Bill_Code("MceOutstock");
                                        //entOutStock.TOTAL_MONEY = entOutStock.TOTAL_MONEY;
                                        entOutStock.STOCK_ID = obj.WAREHOUSE_ID; //出库仓库
                                        entOutStock.DEPT_ID  = obj.DEPT_ID;      //出库科室
                                        //转出列表
                                        List <DisplayObject_MCE_B_ASSETS_INSTOCK_D> glist = (List <DisplayObject_MCE_B_ASSETS_INSTOCK_D>)ht[key];
                                        entOutStock.USING_DEPT_ID = glist[0].USING_DEPT_ID;//领用科室
                                        BizLogicObject_MCE_B_ASSETS_OUTSTOCK.Proxy.SaveByTrans(entOutStock, transaction);

                                        decimal decTotMoney = 0;
                                        //生成明细
                                        foreach (DisplayObject_MCE_B_ASSETS_INSTOCK_D item in glist)
                                        {
                                            EntityObject_MCE_B_ASSETS_OUTSTOCK_D p = new EntityObject_MCE_B_ASSETS_OUTSTOCK_D();
                                            p.REF_TAB_ID    = item.ID;
                                            p.REF_TAB_NAME  = "MCE_B_ASSETS_INSTOCK_D";
                                            p.BASE_ID       = entOutStock.ID;
                                            p.ASSETS_NAME   = item.ASSETS_NAME;
                                            p.ASSET_TYPE_ID = item.ASSET_TYPE_ID;
                                            p.PRD_ID        = item.PRD_ID;
                                            p.SPEC          = item.SPEC;
                                            p.ASSETS_CODE   = item.ASSETS_CODE;
                                            p.UNIT_ID       = item.UNIT_ID;
                                            p.AMOUNT        = item.AMOUNT;
                                            p.PRICE         = item.PRICE;
                                            p.MONEY         = item.MONEY;
                                            p.COUNTRY       = item.COUNTRY;
                                            decTotMoney     = decTotMoney + item.MONEY;
                                            BizLogicObject_MCE_B_ASSETS_OUTSTOCK_D.Proxy.SaveByTrans(p, transaction);
                                        }

                                        entOutStock.TOTAL_MONEY = decTotMoney;
                                        BizLogicObject_MCE_B_ASSETS_OUTSTOCK.Proxy.UpdateByTrans(entOutStock, transaction);
                                    }
                                    #endregion

                                    #region 资产卡片


                                    var year       = DateTime.Now.Year.ToString().Remove(0, 2);
                                    int code       = 1;
                                    var cause_year = new CauseObject_MCE_B_ASSETS();
                                    cause_year.SetCustomCondition(" and MCE_B_ASSETS.ASSETS_CODE like '" + year + "%'");
                                    var list = BizLogicObject_MCE_B_ASSETS.Proxy.Query(cause_year);
                                    if (list != null && list.Length > 0)
                                    {
                                        var s_code    = list.Max(p => p.ASSETS_CODE);
                                        var rightCode = s_code.Replace(year + "000026", "").TrimStart('0');
                                        code = int.Parse(rightCode) + 1;
                                    }

                                    #endregion
                                    DisplayObject_MCE_B_ASSETS_INSTOCK_D[] disInStock = BizLogicObject_MCE_B_ASSETS_INSTOCK_D.Proxy.Query(new CauseObject_MCE_B_ASSETS_INSTOCK_D()
                                    {
                                        BASE_ID = obj.ID
                                    });
                                    List <EntityObject_MCE_B_ASSETS> assetsList = new List <EntityObject_MCE_B_ASSETS>();
                                    var num = 0;
                                    foreach (DisplayObject_MCE_B_ASSETS_INSTOCK_D InStockitem in disInStock)
                                    {
                                        for (int i = 0; i < InStockitem.AMOUNT; i++)
                                        {
                                            //获取并重新设置最大流水号
                                            EntityObject_MCE_B_ASSETS entAssets = new EntityObject_MCE_B_ASSETS();
                                            entAssets.REF_TAB_ID   = InStockitem.ID;
                                            entAssets.REF_TAB_NAME = "MCE_B_ASSETS_INSTOCK_D";
                                            entAssets.CARD_TYPE_ID = "00680001";
                                            entAssets.ASSETS_STATE = "00530001";
                                            entAssets.IS_ASSETS    = (decimal)Ipedf.Common.是否状态.是;
                                            // entAssets.IS_DEPR = 2;
                                            entAssets.USE_STATE          = "00540002";
                                            entAssets.PURCHASE_DATE      = DateTime.Now;
                                            entAssets.CUSTODY_DEPT_ID    = obj.DEPT_ID;
                                            entAssets.SUBJECTION_DEPT_ID = obj.DEPT_ID;
                                            entAssets.PROVIDER_ID        = obj.PROVIDER_ID;
                                            entAssets.NAME     = InStockitem.NAME;
                                            entAssets.SPEC     = InStockitem.SPEC;
                                            entAssets.PRD_ID   = InStockitem.PRD_ID;
                                            entAssets.PRD_CODE = InStockitem.PRD_CODE;
                                            entAssets.PRD_DATE = InStockitem.PRD_DATE;
                                            entAssets.MAINTENANCE_PERIOD_DATE = InStockitem.MAINTENANCE_PERIOD_DATE;
                                            entAssets.ASSETS_CODE             = year + "000026" + (code + num).ToString().PadLeft(4, '0');
                                            entAssets.ASSETS_NAME             = InStockitem.ASSETS_NAME;
                                            entAssets.UNIT_ID          = InStockitem.UNIT_ID;
                                            entAssets.ORIGINAL_VALUE   = InStockitem.PRICE;
                                            entAssets.NET_VALUE        = InStockitem.PRICE;            //净值=原值
                                            entAssets.MACHINE_TYPE_ID  = InStockitem.ASSET_TYPE_ID;
                                            entAssets.CUSTOM_CODE      = InStockitem.CARD_CODE;        //验收单流水号
                                            entAssets.IS_AFFIX         = (decimal)Ipedf.Common.是否状态.否; //是否附件
                                            entAssets.STATE            = 1;
                                            entAssets.MAINTAIN_CONTACT = obj.INVOICE_CODE;             //发票号
                                            entAssets.DEPR_TYPE_ID     = InStockitem.DEPR_TYPE_ID;     //hsc 2016 1109
                                            entAssets.DEPR_YEAR_AMOUNT = InStockitem.DEPR_YEAR_AMOUNT; //hsc 2016 1109
                                            entAssets.IS_DEPR          = !string.IsNullOrEmpty(InStockitem.DEPR_TYPE_ID) ? (decimal)Ipedf.Common.是否状态.是 : (decimal)Ipedf.Common.是否状态.否;
                                            BizLogicObject_MCE_B_ASSETS.Proxy.SaveByTrans(entAssets, transaction);
                                            //assetsList.Add(entAssets);
                                            num += 1;
                                        }
                                    }
                                }
                            }

                            //平台自动生成代码

                            transaction.Commit();
                        }
                        catch (Exception expt)
                        {
                            transaction.Rollback();
                            msg = new BizLogicMsg(false, expt.Message);
                            Error(expt);
                        }
                        finally
                        {
                            IDALProvider.IDAL.PushConnection(connection);
                        }
                    }
                }
                return(msg);
            }
            else
            {
                using (ServiceManager <ServiceContract_MCE_B_ASSETS_INSTOCK> smgr = new ServiceManager <ServiceContract_MCE_B_ASSETS_INSTOCK>(ServiceUri))
                {
                    return(smgr.Service.Audit_Ext(listID));
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            //允许跨域
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            JSON_MSG jsonMsg = new JSON_MSG();

            try
            {
                context.Response.ContentType = "text/plain";
                HttpRequest request = context.Request;

                if (string.IsNullOrEmpty(request["dept"]))
                {
                    throw new Exception("参数错误.");
                }


                CauseObject_MCE_B_ASSETS pAssets = new CauseObject_MCE_B_ASSETS();
                pAssets.IS_AFFIX     = (decimal)是否状态.否; //是否附件
                pAssets.IS_ASSETS    = (decimal)是否状态.是; //是否固定资产
                pAssets.IS_DEPR      = (decimal)是否状态.是; //是否折旧
                pAssets.ASSETS_STATE = "00530002";      //资产状态
                pAssets.CARD_TYPE_ID = "00680002";      //卡片类型

                pAssets.USING_DEPT_ID = request["dept"];
                EntityObject_MCE_B_ASSETS[] entities = BizLogicObject_MCE_B_ASSETS.Proxy.Query(pAssets);


                List <JsonMceDepr_D> list = new List <JsonMceDepr_D>();
                //创建记录
                foreach (EntityObject_MCE_B_ASSETS entity in entities)
                {
                    JsonMceDepr_D deprDetail = new JsonMceDepr_D();
                    //deprDetail.BASE_ID = obj.ID;//主从关联
                    deprDetail.ASSETS_ID        = entity.ID;
                    deprDetail.ASSETS_NAME      = entity.ASSETS_NAME;
                    deprDetail.ASSETS_CODE      = entity.ASSETS_CODE;
                    deprDetail.CURRENCY_ID      = "00660001"; //人民币
                    deprDetail.CURRENCY_ID_NAME = "人民币";      //
                    //  deprDetail.MONEY = BizLogicObject_MCE_D_DEPR_TYPE.Proxy.GetAssetsMonthDerpMoney(entity);//月折旧额
                    decimal derpMoney = 0;
                    if (entity.DEPR_YEAR_AMOUNT > 0)
                    {
                        derpMoney = entity.ORIGINAL_VALUE * ((1 - entity.PREDICT_NET_RUDIMENTAL_VALUE) / entity.DEPR_YEAR_AMOUNT) / 12;
                    }

                    deprDetail.MONEY = Math.Round(derpMoney, 2);

                    deprDetail.NET_VALUE      = entity.NET_VALUE;                        //净值
                    deprDetail.NEW_NET_VALUE  = deprDetail.NET_VALUE - deprDetail.MONEY; //计提后净值
                    deprDetail.ORIGINAL_VALUE = entity.ORIGINAL_VALUE;                   //原值

                    list.Add(deprDetail);
                }

                jsonMsg.Message = list;
                jsonMsg.Succeed = 1;
            }
            catch (Exception ex)
            {
                jsonMsg.Succeed = 0;
                jsonMsg.Message = ex.Message;
            }
            finally
            {
                IsoDateTimeConverter timeConverter = new IsoDateTimeConverter {
                    DateTimeFormat = "yyyy'-'MM'-'dd HH':'mm"
                };

                string strMsg = JsonConvert.SerializeObject(jsonMsg, Formatting.Indented, timeConverter);
                strMsg = strMsg.Replace("0001-01-01 00:00", "");
                context.Response.Write(strMsg);

                context.Response.End();
            }
        }