示例#1
0
        private void sendCiOrdersToEmr(CiOrderDO[] ciOrderDOs, Boolean diag)
        {
            //lxy
            //OrderMrDto[] mrDtos = ciservice.GetOrderMrDtoFlushList(ent4BannerDTO.Id_ent, ent4BannerDTO.Code_entp, ciOrderDOs);
            //EmrEditorCiViewModel ciViewModel = new EmrEditorCiViewModel();
            //if (mrDtos == null)
            //    return;
            //string ciOrderXmlStr = ciViewModel.convertCZToXmlStr(mrDtos, CI_ORDER_XML_CFG_PATH);
            //Dictionary<string, object> cidiDic = new Dictionary<string, object>();
            //cidiDic.Add(CI_ORDER_ITEM, ciOrderXmlStr);

            if (ciOrderDOs == null)
            {
                return;
            }

            //判断手动/自动
            string idDep = this.Context.Dept.Id_dep;

            string idPsndoc    = this.Context.PsnInfo.Id_psndoc;
            string refreshMode = this.Context.GetParam <string>(idDep, ICiOrdNSysParamConst.SYS_PARAM_OpOrSysncro2MrHandleMode);
            Dictionary <string, object> cidiDic = new Dictionary <string, object>();
            List <String> lstIdors = new List <string>();

            ciOrderDOs.ToList <CiOrderDO>().ForEach(order => { lstIdors.Add(order.Id_or); });
            if (diag)
            {
                string cidiDOXmlStr = emrCiViewModel.convertZdToXmlStr(emrViewModel.GetDIDTO(ent4BannerDTO.Id_ent), CIDI_XML_CFG_PATH);

                cidiDic.Add(CIDI_ITEM, cidiDOXmlStr);
                if (refreshMode == "0")
                {
                    //new 2017-05-09  by yzh
                    FMap2 mrDtos = ciservice.GetOrderMrDtoFlushList2(ent4BannerDTO.Id_ent, ent4BannerDTO.Code_entp, lstIdors.ToArray(), idPsndoc, refreshMode);

                    if (mrDtos == null)
                    {
                        cidiDic.Add(CI_ORDER_ITEM, "");
                    }
                    else
                    {
                        Dictionary <string, object> cidiDicTemp = new Dictionary <string, object>();
                        foreach (string key in mrDtos.Keys)
                        {
                            string val = mrDtos[key] as string;
                            if (val == null)
                            {
                                cidiDicTemp.Add(key, "");
                            }
                            else
                            {
                                cidiDicTemp.Add(key, val);
                            }
                        }

                        cidiDic.Add(CI_ORDER_ITEM, cidiDicTemp);
                    }
                }
            }
            else
            {
                //new 2017-05-09  by yzh
                FMap2 mrDtos = ciservice.GetOrderMrDtoFlushList2(ent4BannerDTO.Id_ent, ent4BannerDTO.Code_entp, lstIdors.ToArray(), idPsndoc, refreshMode);

                if (mrDtos == null)
                {
                    cidiDic.Add(CI_ORDER_ITEM, "");
                }
                else
                {
                    Dictionary <string, object> cidiDicTemp = new Dictionary <string, object>();
                    foreach (string key in mrDtos.Keys)
                    {
                        string val = mrDtos[key] as string;
                        if (val == null)
                        {
                            cidiDicTemp.Add(key, "");
                        }
                        else
                        {
                            cidiDicTemp.Add(key, val);
                        }
                    }

                    cidiDic.Add(CI_ORDER_ITEM, cidiDicTemp);
                }
            }



            this.fireCiEmrSaveEvent(cidiDic);
        }