tijian_tieying/web/dccdc/Controllers/RegistrationController.cs
2025-02-20 12:14:39 +08:00

1414 lines
66 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Entity.Infrastructure;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Web.Mvc;
using System.Web.Services.Description;
using CYQ.Data.Table;
using CYQ.Data;
using dccdc.BLL;
using dccdc.DAL;
using dccdc.Models;
using dccdc.Models.DTO;
using Newtonsoft.Json;
using Transformer.NET;
using ZWL.Common;
using System.Security.Cryptography;
using dccdc.Common;
using Ext.Net;
using Microsoft.Owin;
namespace dccdc.Controllers
{
/// <summary>
/// 登记业务
/// </summary>
public class RegistrationController : Controller
{
// GET: Registration
#region
public ActionResult ksbz(string tm, string tjzt)
{
List<ERPBuMenModel> listBuMen = new ERPBuMenBll().GetListdir();
ViewData["jgs"] = new SelectList(listBuMen, "id", "BuMenName");
//ViewData["users"] = new SelectList(new ERPUserBll().GetAllList("德城区疾病预防控制中心"), "truename", "truename");
//修改前提listBuMen只有一条记录/listBuMen的第一条记录是当前体检中心
ViewData["users"] = new SelectList(new ERPUserBll().GetAllList(listBuMen[0].BuMenName), "truename", "truename");
if (tm != null && (tjzt == "1" || tjzt == "2"))
{
ViewBag.disabled = "disabled";
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
var dtomodel = tjzt == "1" ? bll.GetfjModel(tm) : bll.getModel(tm);
AutoMapper.Mapper.Initialize(x => x.CreateMap<ProfessionalExamRegisterModel, RegisterCydjViewModel2>());
var vm = AutoMapper.Mapper.Map<RegisterCydjViewModel2>(dtomodel);
ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
ViewBag.tjzt = tjzt;
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme", vm.medical_scheme_maintain_id);
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name", vm.trade_type_maintain_id);
//ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "area_name", "area_name", vm.area);
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives", vm.native_info_maintain_id);
//ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "work_type_name", "work_type_name", vm.work_category);
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name", vm.person_type_maintain_id);
vm.tjzt = tjzt;
vm.tjxm = dtomodel.check_item_ids;
vm.special_health_certificate1 = dtomodel.special_health_certificate == "快速办证";
vm.ys1 = dtomodel.main_user_name;
List<ProfessionalExamProjectResultModel> listDoctors = new ProfessionalExamRegisterBll().getDoctors(dtomodel.id);
//project_name是根据ksbz2方法中更新的体检结果抄过来的但是在此人的体检项目中不一定存在以下的项目
var pro2 = listDoctors.Where(i => i.project_name.Equals("皮肤病"));
if (pro2.Count() != 0)
{
vm.ys2 = pro2.First().presenter;
}
var pro3 = listDoctors.Where(i => i.project_name.Equals("皮肤"));
if (pro3.Count() != 0)
{
vm.ys3 = pro3.First().presenter;
}
var pro4 = listDoctors.Where(i => i.project_name.Equals("x光透视"));
if (pro4.Count() != 0)
{
vm.ys4 = pro4.First().presenter;
}
var pro5 = listDoctors.Where(i => i.project_name.Equals("肺"));
if (pro5.Count() != 0)
{
vm.ys5 = pro5.First().presenter;
}
var pro6 = listDoctors.Where(i => i.project_name.Equals("痢疾杆菌(志贺氏)"));
if (pro6.Count() != 0)
{
vm.ys6 = pro6.First().presenter;
}
var pro7 = listDoctors.Where(i => i.project_name.Equals("谷丙转氨酶(ALT)"));
if (pro7.Count() != 0)
{
vm.ys7 = pro7.First().presenter;
}
var pro8 = listDoctors.Where(i => i.project_name.Equals("伤寒或副伤寒(沙门氏)"));
if (pro8.Count() != 0)
{
vm.ys8 = pro8.First().presenter;
}
var pro9 = listDoctors.Where(i => i.project_name.Equals("霍乱"));
if (pro9.Count() != 0)
{
vm.ys9 = pro9.First().presenter;
}
var pro10 = listDoctors.Where(i => i.project_name.Equals("抗HAV-IgM"));
if (pro10.Count() != 0)
{
vm.ys10 = pro10.First().presenter;
}
var pro11 = listDoctors.Where(i => i.project_name.Equals("抗HEV-IgM"));
if (pro11.Count() != 0)
{
vm.ys11 = pro11.First().presenter;
}
var pro12 = listDoctors.Where(i => i.project_name.Equals("辨色力"));
if (pro12.Count() != 0)
{
vm.ys12 = pro12.First().presenter;
}
var pro13 = listDoctors.Where(i => i.project_name.Equals("心电图"));
if (pro13.Count() != 0)
{
vm.ys13 = pro13.First().presenter;
}
var pro14 = listDoctors.Where(i => i.project_name.Equals("乙型肝炎表面抗原"));
if (pro14.Count() != 0)
{
vm.ys14 = pro14.First().presenter;
}
var pro15 = listDoctors.Where(i => i.project_name.Equals("乙型肝炎E抗原"));
if (pro15.Count() != 0)
{
vm.ys15 = pro15.First().presenter;
}
return View(vm);
}
else
{
ViewBag.disabled = "Enabled";
ViewBag.tjzt = 0;
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme");
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name");
ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives");
ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "id", "work_type_name");
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name");
return View();
}
}
public string getBumenUser(string name)
{
var list = new SelectList(new ERPUserBll().GetAllList(name), "truename", "truename");
return JsonConvert.SerializeObject(list);
}
/// <summary>
/// 快速办证
/// </summary>
/// <param name="vm"></param>
/// <param name="mid"></param>
/// <returns></returns>
[HttpPost]
public ActionResult RegisteResult2(RegisterCydjViewModel2 vm, string mid)
{
//return Json(new { State = 0, Message = "测试!"});
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme");
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name");
ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives");
ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "id", "work_type_name");
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name");
ModelState.Remove("id");
ModelState.Remove("native_info_maintain_id");
if (!ModelState.IsValid)
{
return View(vm);
}
//vm.phone_path = vm.phone_path.Replace("data:image/jpeg;base64,", "");
vm.phone_path = ZWL.Common.ImgUtil.ConvertImg(vm.phone_path);
var erpUser = Session["loginUser"] as Models.ERPUser;
if (erpUser != null)
vm.register_person = erpUser.TrueName;
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterCydjViewModel2, ProfessionalExamRegisterModel>());
var dtocydj = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
List<ExamProjectMaintainModel> tjxmal = new List<ExamProjectMaintainModel>();
dtocydj.special_health_certificate = "快速办证";
//dtocydj.jgid = Common.Global.jgid;
if (!string.IsNullOrEmpty(vm.tjxm))
{
tjxmal = new ExamProjectMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','));
// tjxmal = new MedicalSchemeChargeMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','),vm.);
}
string f = "";
switch (vm.tjzt)
{
case "1":
List<ChargeProjectMaintainModel> fjsfxmal = new List<ChargeProjectMaintainModel>();
ChargeProjectMaintainModel fjsfxmmodel = new ChargeProjectMaintainModel();
fjsfxmmodel.charge_project_name = "复查费";
fjsfxmmodel.fee = "50";
fjsfxmal.Add(fjsfxmmodel);
f = bll.Fjdj(dtocydj, fjsfxmal);
break;
case "2":
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterCydjViewModel2, ProfessionalExamRegisterModel>());
var dtocydj1 = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
dtocydj1.special_health_certificate = vm.special_health_certificate1 ? "快速办证" : "";
//dtocydj1.jgid = Common.Global.jgid;
bll.Update(dtocydj1);
f = dtocydj1.physical_num;
break;
case "0":
int imid = 0;
int.TryParse(mid, out imid);
List<ChargeProjectMaintainModel> sfxmal = new MedicalSchemeChargeMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','), vm.medical_scheme_maintain_id);
f = bll.Cydj(dtocydj, sfxmal, tjxmal, imid);
break;
}
//2:登记后修改 1:复检 0正常
var txm = vm.txm ? "1" : "0";
var zyd = vm.zyd ? "1" : "0";
var or = new ProfessionalExamRegisterBll().ksbz2(f, vm.ys1, vm.ys2, vm.ys3, vm.ys4, vm.ys5, vm.ys6, vm.ys7, vm.jgid, vm.ys8, vm.ys9, vm.ys10
, vm.ys11, vm.ys12, vm.ys13, vm.ys14, vm.ys15);
return Json(new { State = 1, Message = "操作成功!", dy = "0", txm = txm, zyd = zyd, tm = f });
}
#endregion
#region
/// <summary>
///
/// </summary>
/// <param name="tm"></param>
/// <param name="tjzt">2:登记后修改 1:复检 0正常</param>
/// <returns></returns>
[HttpGet]
public ActionResult RegisteResult(string tm, string tjzt)
{
if (tm != null && (tjzt == "1" || tjzt == "2"))
{
ViewBag.disabled = "disabled";
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
var dtomodel = tjzt == "1" ? bll.GetfjModel(tm) : bll.getModel(tm);
AutoMapper.Mapper.Initialize(x => x.CreateMap<ProfessionalExamRegisterModel, RegisterCydjViewModel>());
var vm = AutoMapper.Mapper.Map<RegisterCydjViewModel>(dtomodel);
//ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
vm.phone_path = vm.phone_path;
ViewBag.tjzt = tjzt;
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme", vm.medical_scheme_maintain_id);
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name", vm.trade_type_maintain_id);
//ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "area_name", "area_name", vm.area);
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives", vm.native_info_maintain_id);
//ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "work_type_name", "work_type_name", vm.work_category);
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name", vm.person_type_maintain_id);
vm.tjzt = tjzt;
vm.tjxm = dtomodel.check_item_ids;
vm.special_health_certificate1 = dtomodel.special_health_certificate == "快速办证";
return View(vm);
}
else
{
ViewBag.disabled = "Enabled";
ViewBag.tjzt = 0;
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme");
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name");
ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives");
ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "id", "work_type_name");
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name");
return View();
}
}
public string GettrandeModel(string name)
{
TradeTypeMaintainBll bll = new TradeTypeMaintainBll();
TradeTypeMaintainModel model = bll.GetModelBytradename(name);
return JsonConvert.SerializeObject(model);
}
public string MedicalModel(string name)
{
MedicalSchemeMaintainBll bll = new MedicalSchemeMaintainBll();
MedicalSchemeMaintainModel model = bll.GetmodelByName(name);
return JsonConvert.SerializeObject(model);
}
/// <summary>
/// 判断当天有没有登记
/// </summary>
/// <param name="cardnumber">身份证号</param>
/// <param name="tradeTypeMaintainId">体检类型ID</param>
/// <param name="examType">体检类型名称</param>
/// <returns>返回false表示已登记</returns>
public string CheckDay(string cardnumber, string tradeTypeMaintainId = "", string examType = "从业人员体检")
{
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
string f = bll.CheckDay(cardnumber, tradeTypeMaintainId, examType);
return (f == "true") ? "true" : "false";
}
/// <summary>
/// 根据体检方案ID查询收费项目
/// </summary>
/// <param name="tjfnid"></param>
/// <returns></returns>
public string GetsfxmBytjfnid(string tjfnid)
{
MedicalSchemeChargeMaintainBll bll = new MedicalSchemeChargeMaintainBll();
List<MedicalSchemeChargeMaintainModel> al = bll.GetListBymedicalschememaintainid(tjfnid);
string modelslistjson = JsonConvert.SerializeObject(al); ;
return "{\"Rows\":" + modelslistjson + "}";
}
/// <summary>
/// 根据体检方案ID查询体检项目
/// </summary>
/// <param name="tjfnid"></param>
/// <returns></returns>
public string GettjxmByfnid(string tjfnid)
{
medical_scheme_project_maintainBll bll = new medical_scheme_project_maintainBll();
List<medical_scheme_project_maintainModel> al = bll.GetListBymedicalschememaintainid(tjfnid);
List<f> f = new List<f>();
foreach (var medicalSchemeProjectMaintainModel in al)
{
f ff = new f
{
exam_group = medicalSchemeProjectMaintainModel.team_name,
project_id = medicalSchemeProjectMaintainModel.exam_project_maintain_project_id,
project_name = medicalSchemeProjectMaintainModel.project_name
};
f.Add(ff);
}
string modelslistjson = JsonConvert.SerializeObject(f);
return "{\"Rows\":" + modelslistjson + "}";
}
public class f
{
public string project_id { get; set; }
public string project_name { get; set; }
public string exam_group { get; set; }
}
/// <summary>
/// 从业登记提交
/// </summary>
/// <param name="vm"></param>
/// <param name="mid"></param>
/// <returns></returns>
[HttpPost]
public ActionResult RegisteResult(RegisterCydjViewModel vm, string mid)
{
#region
ViewData["zgzt"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["tjfn"] = new SelectList(new MedicalSchemeMaintainBll().GetAllList(), "id", "medical_scheme");
ViewData["hylb"] = new SelectList(new TradeTypeMaintainBll().GetAllTreeList(), "id", "trade_name");
ViewData["dq"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
ViewData["hj"] = new SelectList(new NativeInfoMaintainBll().GetAllList(), "id", "natives");
ViewData["gz"] = new SelectList(new WorkTypeMaintainBll().GetAllTreeList(), "id", "work_type_name");
ViewData["rylx"] = new SelectList(new PersonTypeMaintainBll().GetAllList("", "是"), "id", "type_name");
ModelState.Remove("id");
ModelState.Remove("native_info_maintain_id");
if (!ModelState.IsValid)
{
return View(vm);
}
#endregion
//照片
//vm.phone_path = vm.phone_path.Replace("data:image/jpeg;base64,", "");
vm.phone_path = ZWL.Common.ImgUtil.ConvertImg(vm.phone_path);
//vm.phone_path = @"C:\Users\admin\Desktop\测试.jpg";
//登录姓名
var erpUser = Session["loginUser"] as Models.ERPUser;
if (erpUser != null)
{
vm.register_person = erpUser.TrueName;
}
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterCydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
List<ExamProjectMaintainModel> tjxmal = new List<ExamProjectMaintainModel>();
dtocydj.special_health_certificate = vm.special_health_certificate1 ? "快速办证" : "";
//vm.phone_path = vm.phone_path.Replace("data:image/jpeg;base64,", "");
//最上级的部门ID
dtocydj.jgid = Common.Global.jgid;
//dtocydj.phone_path = dtocydj.phone_path.Replace("data:image/jpeg;base64,", "");
if (!string.IsNullOrEmpty(vm.tjxm))
{
tjxmal = new ExamProjectMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','));
// tjxmal = new MedicalSchemeChargeMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','),vm.);
}
string f = "";
switch (vm.tjzt)
{
//复检
case "1":
ZWL.Common.SaveLog.Logs("C:\\AppExe\\从业\\复检", "复检登记", " 姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
List<ChargeProjectMaintainModel> fjsfxmal = new List<ChargeProjectMaintainModel>();
ChargeProjectMaintainModel fjsfxmmodel = new ChargeProjectMaintainModel();
fjsfxmmodel.charge_project_name = "复查费";
fjsfxmmodel.fee = "50";
fjsfxmal.Add(fjsfxmmodel);
f = bll.Fjdj(dtocydj, fjsfxmal);
break;
//登记后修改
case "2":
ZWL.Common.SaveLog.Logs("C:\\AppExe\\从业\\修改", "修改登记", " 姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterCydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj1 = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
dtocydj1.special_health_certificate = vm.special_health_certificate1 ? "快速办证" : "";
dtocydj1.jgid = Common.Global.jgid;
bll.Update(dtocydj1);
f = dtocydj1.physical_num;
break;
//正常登记
case "0":
ZWL.Common.SaveLog.Logs("C:\\AppExe\\从业\\正常", "正常登记", " 姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
int imid = 0;
int.TryParse(mid, out imid);
List<ChargeProjectMaintainModel> sfxmal = new MedicalSchemeChargeMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','), vm.medical_scheme_maintain_id);
f = bll.Cydj(dtocydj, sfxmal, tjxmal, imid);
break;
}
//2:登记后修改 1:复检 0正常
var txm = vm.txm ? "1" : "0";
var zyd = vm.zyd ? "1" : "0";
return Json(new { State = 1, Message = "操作成功!", dy = "0", txm = txm, zyd = zyd, tm = f });
}
[AllowAnonymous]
public string GetRegisteModel(string tm)
{
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
ProfessionalExamRegisterModel model = bll.getModel(tm);
List<ProfessionalExamRegisterModel> mls = new List<ProfessionalExamRegisterModel> { model };
return JsonConvert.SerializeObject(mls);
}
#region
public ActionResult RegisteList(string lx, string ksbz)
{
ViewBag.lx = lx;
ViewBag.ksbz = (ksbz == null ? 0 : 1);
return View();
}
public JsonResult GetRegisteList(int page, int pagesize, string name, string sitename, string startdate, string endtime, string lx)
{
var bll = new ProfessionalExamRegisterBll();
int count = bll.getCount(name, sitename, startdate, endtime, lx);
List<Models.ProfessionalExamRegisterModel> ctList = bll.getList(page, pagesize, name, sitename, startdate, endtime, lx);
return Json(new { Total = count, Rows = ctList });
}
/// <summary>
/// 根据姓名/身份证/体检号/登记日期/企业体检方案/通用体检方案/体检状态查询人员信息
/// 2023-10-27 xulu 修改
/// </summary>
/// <param name="page"></param>
/// <param name="pagesize"></param>
/// <param name="name"></param>
/// <param name="idcard"></param>
/// <param name="startdate"></param>
/// <param name="physicalnum"></param>
/// <returns></returns>
public JsonResult GetRegistersList(int page, int pagesize, string name, string idcard, string startdate, string enddate, string physicalnum, string tjfn, string tytjfn, string tjState, string utilName, string tjxz, string tjzt)
{
//2023-11-23 xulu 增加enddate
//2023-11-16 xulu 增加体检方案为-1判断
tjfn = tjfn == "-1" ? "" : tjfn;
tytjfn = tytjfn == "-1" ? "" : tytjfn;
if (tjState != "已导入")
{
var bll = new ProfessionalExamRegisterBll();
//2023-12-06 xulu 添加体检小组、完成状态查询
List<Models.ProfessionalExamRegisterModel> ctList = bll.getRegistersList(page, pagesize, name, idcard, startdate, enddate, physicalnum, tjfn, tytjfn, tjState, utilName, tjxz, tjzt);
int count = bll.getRegistersListCount(name, idcard, startdate, enddate, physicalnum, tjfn, tytjfn, tjState, utilName, tjxz, tjzt);
return Json(new { Total = count, Rows = ctList });
}
else
{
OccupationDataImportObjectBll bll = new OccupationDataImportObjectBll();
List<Models.OccupationDataImportObjectModel> importList = bll.getList(page, pagesize, name, idcard, tjfn, tytjfn, utilName, startdate, enddate);
List<Models.ProfessionalExamRegisterModel> ctList = new List<ProfessionalExamRegisterModel>();
for (int i = 0; i < importList.Count; i++)
{
ProfessionalExamRegisterModel reg = new ProfessionalExamRegisterModel();
reg.person_name = importList[i].name;
reg.card_number = importList[i].identity_card;
reg.check_item_ids = importList[i].check_item_ids;
reg.physical_type = "职业体检";
reg.procedure_status = "已导入";
reg.id = importList[i].id.ToString();
//2023-11-16 xulu 增加单位展示
reg.util_name = importList[i].enterprise;
ctList.Add(reg);
}
int count = bll.getListCount(name, idcard, tjfn, tytjfn, utilName,startdate,enddate);
return Json(new { Total = count, Rows = ctList });
}
}
/// <summary>
/// 根据姓名/身份证/体检号/登记日期/企业体检方案/通用体检方案/体检状态查询人员信息,导出功能
/// 2023-11-07 xulu
/// </summary>
/// <param name="name"></param>
/// <param name="idcard"></param>
/// <param name="startdate"></param>
/// <param name="physicalnum"></param>
/// <param name="tjfn"></param>
/// <param name="tytjfn"></param>
/// <param name="tjState"></param>
/// <param name="utilName"></param>
/// <returns></returns>
public JsonResult GetRegistersListToExcel(string name, string idcard, string startdate, string enddate, string physicalnum, string tjfn, string tytjfn, string tjState, string utilName, string tjxz, string tjzt)
{
//2023-11-23 xulu 增加enddate
//2023-11-16 xulu 增加体检方案为-1判断
tjfn = tjfn == "-1" ? "" : tjfn;
tytjfn = tytjfn == "-1" ? "" : tytjfn;
//2023-11-16 xulu 服务器端生成导出名单文件
string filename = DateTime.Now.ToString("yyyyMMdd")+"导出名单.xls";
string FilePath = System.Web.HttpContext.Current.Server.MapPath("../") + "ReportFile\\";
Hashtable MyTable = new Hashtable();
MyTable.Add("physical_num", "体检编号");
MyTable.Add("person_name", "姓名");
MyTable.Add("sex", "性别");
MyTable.Add("person_age", "年龄");
MyTable.Add("card_number", "身份证号");
MyTable.Add("phone", "手机号");
MyTable.Add("util_name", "单位");
MyTable.Add("procedure_status", "体检状态");
DataTable dt = new DataTable();
if (tjState != "已导入")
{
var bll = new ProfessionalExamRegisterBll();
//2023-12-06 xulu 添加体检小组、完成状态查询
dt = bll.getRegistersList(name, idcard, startdate, enddate, physicalnum, tjfn, tytjfn, tjState, utilName, tjxz, tjzt);
}
else
{
OccupationDataImportObjectBll bll = new OccupationDataImportObjectBll();
dt = bll.getList(name, idcard, tjfn, tytjfn, utilName,startdate,enddate);
}
//2023-11-23 xulu 修改导出excel方法
//DataToExcel dte = new DataToExcel();
//filename = dte.DataExcel(dt, "导出名单", FilePath, MyTable);
DataToExcel.DataTableToExcel(dt, FilePath + filename, MyTable);
return Json(new { filename = filename });
}
#endregion
#region
public ActionResult FjResult()
{
ViewData["ssqy"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
return View();
}
public string GetFjList(string sitename, string tm, string name, string starttime, string endtime, string ssqy)
{
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetfjList(sitename, tm, name, starttime, endtime, ssqy));
return "{\"Rows\":" + modelslistjson + "}";
}
#endregion
#endregion
#region
/// <summary>
/// 职业登记界面
/// </summary>
/// <param name="zt">zt=0,null正常 zt=1复检 zt=2导入数据 zt=3修改职业数据</param>
/// <returns></returns>
[HttpGet]
public ActionResult OccupationRegisteResult(string tjzt, string importId, string tm, string fjid)
{
ViewBag.tjzt = tjzt ?? "0";
var al = new List<Marry> { new Marry("已婚", "是"), new Marry("未婚", "否"), new Marry("离异", "离异") };
var tzzylb = new List<string> { "电工作业", "金属焊接,切割作业", "起重机械", "企业内机动车驾驶", "锅炉作业", "锅炉作业", "登高架设作业", "制冷作业", "电梯", "天车", "航吊", "其他" };
ViewData["tzzylb"] = new SelectList(tzzylb);
ViewData["hf"] = new SelectList(al, "value", "title");
ViewData["tjfn"] = GetSelectListtjfn(null);
ViewData["tjlx"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
ViewData["zgzt"] = new SelectList(new JobsStateMaintainBll().GetAllList("", "是"), "id", "jobs_state");
ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name");
//导入数据填充
if (tjzt == "2")
{
ViewBag.tjzt = "2";
OccupationDataImportObjectBll bll1 = new OccupationDataImportObjectBll();
OccupationDataImportObjectModel model = bll1.GetModel(importId);
RegisterZydjViewModel vm = new RegisterZydjViewModel
{
card_number = model.identity_card,
person_name = model.name,
sex = model.sex,
nation = model.nation,
marry_status = model.is_merry,
department = model.dept,
work_category = model.work_type,
util_name = model.enterprise,
enterprise_info_maintain_id = model.enterprise_id.ToString(),
exam_type = model.exam_type,
exam_type_id = model.exam_type_maintain_id,
job_status_id = "2",
status = "在岗期间",
hazards = model.hazard_names,
hazard_ids = model.hazard_ids,
hazard_type_ids = model.hazards_type_codes,
hazard_type_names = model.hazards_type,
physical_way = model.physical_way,
work_years = model.work_age_year,
work_months = model.work_age_month,
touch_years = model.factor_age_year,
touch_months = Convert.ToDouble(model.factor_age_month).ToString(CultureInfo.InvariantCulture),
tjxm = model.check_item_ids,
importid = model.id.ToString(),
job_num = model.job_num,
phone = model.phone
};
if (vm.card_number.Length == 18)
{
vm.birth = vm.card_number.Substring(6, 4) + "-" + vm.card_number.Substring(10, 2) + "-" + vm.card_number.Substring(12, 2);
vm.person_age = Convert.ToInt32(DateTime.Now.Subtract(Convert.ToDateTime(vm.birth)).TotalDays / 365).ToString(CultureInfo.InvariantCulture);
}
if (vm.card_number.Length == 15)
{
vm.birth = "19" + vm.card_number.Substring(6, 2) + "-" + vm.card_number.Substring(8, 2) + "-" + vm.card_number.Substring(10, 2);
vm.person_age = Convert.ToInt32(DateTime.Now.Subtract(Convert.ToDateTime(vm.birth)).TotalDays / 365).ToString(CultureInfo.InvariantCulture);
}
vm.txm = false;
vm.zyd = false;
return View(vm);
}
//职业数据修改
if (tjzt == "3")
{
ProfessionalExamRegisterBll bll1 = new ProfessionalExamRegisterBll();
//zyk 20230607 修改为下一行,应该为修改
//var dtomodel = bll1.GetfjModel(tm);
var dtomodel = bll1.GetModel(tm);
AutoMapper.Mapper.Initialize(x => x.CreateMap<ProfessionalExamRegisterModel, RegisterZydjViewModel>());
var vm = AutoMapper.Mapper.Map<RegisterZydjViewModel>(dtomodel);
ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
ViewBag.tjzt = tjzt;
vm.tjxm = dtomodel.check_item_ids;
vm.txm = false;
vm.zyd = false;
ViewData["tzzylb"] = new SelectList(tzzylb, vm.unnomel_type);
ViewData["hf"] = new SelectList(al, "value", "title", vm.marry_status);
ViewData["tjfn"] = GetSelectListtjfn(null);
ViewData["tjlx"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type", vm.exam_type_id);
ViewData["zgzt"] = new SelectList(new JobsStateMaintainBll().GetAllList("", "是"), "id", "jobs_state", vm.job_status_id);
ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name", vm.common_scheme_id);
vm.tjzt = tjzt;
//2023-10-27 xulu 防止修改时企业方案id清空
vm.physical_category = vm.medical_scheme_maintain_id.ToString();
return View(vm);
}
//复检数据填充
if (tjzt == "1")
{
ProfessionalExamRegisterBll bll1 = new ProfessionalExamRegisterBll();
var fjm = bll1.getModelByid(fjid);
var dtomodel = fjm;
AutoMapper.Mapper.Initialize(x => x.CreateMap<ProfessionalExamRegisterModel, RegisterZydjViewModel>());
var vm = AutoMapper.Mapper.Map<RegisterZydjViewModel>(dtomodel);
vm.txm = false;
vm.zyd = false;
vm.tjxm = fjm.check_item_ids;
ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
ViewBag.tjzt = tjzt;
vm.tjxm = dtomodel.check_item_ids;
ViewData["tzzylb"] = new SelectList(tzzylb, vm.unnomel_type);
ViewData["hf"] = new SelectList(al, "value", "title", vm.marry_status);
ViewData["tjfn"] = GetSelectListtjfn(null);
ViewData["tjlx"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type", vm.exam_type_id);
ViewData["zgzt"] = new SelectList(new JobsStateMaintainBll().GetAllList("", "是"), "id", "jobs_state", vm.job_status_id);
ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name", vm.common_scheme_id);
vm.tjzt = tjzt;
return View(vm);
}
return View();
}
/// <summary>
/// 婚否Class
/// </summary>
public class Marry
{
public Marry(string a, string b)
{
Title = a;
Value = b;
}
public string Title { get; set; }
public string Value { get; set; }
}
/// <summary>
/// 职业体检登记提交
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
[HttpPost]
public ActionResult OccupationRegisteResult(RegisterZydjViewModel vm)
{
try
{
//暂时注释
//ModelState.Remove("Id");
//if (!ModelState.IsValid)
//{
// //2:登记后修改 1:复检 0正常
// //ViewBag.tjzt = "0";
// var al = new List<string> { "已婚", "未婚", "离异" };
// ViewData["hf"] = new SelectList(al);
// ViewData["tjfn"] = GetSelectListtjfn(null);
// ViewData["tjlx"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type");
// ViewData["zgzt"] = new SelectList(new JobsStateMaintainBll().GetAllList("", "是"), "jobs_state", "jobs_state");
// ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name");
// var tzzylb = new List<string> { "电工作业", "金属焊接,切割作业", "起重机械", "企业内机动车驾驶", "锅炉作业", "锅炉作业", "登高架设作业", "制冷作业", "电梯", "天车", "航吊", "其他" };
// ViewData["tzzylb"] = new SelectList(tzzylb);
// return View();
//}
//vm.phone_path = vm.phone_path.Replace("data:image/jpeg;base64,", "");
vm.phone_path = ZWL.Common.ImgUtil.ConvertImg(vm.phone_path);
//vm.phone_path = @"C:\Users\admin\Desktop\测试.jpg";
//判断是否存在已经未完成的职业登记 如果存在的话给出提示
if (!new ProfessionalExamRegisterBll().IsHaveIncompleteCheck(vm.card_number))
{
return Json(new { State = 0, Message = "存在进行中的体检记录,不可重复登记!" });
}
var erpUser = Session["loginUser"] as Models.ERPUser;
if (erpUser != null)
vm.register_person = erpUser.TrueName;
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterZydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
//2023-11-22 xulu 根据方案id获取打印项目ids并赋值
string iSchemeId="";
if(vm.medical_scheme_maintain_id !=-1)
{
iSchemeId = vm.medical_scheme_maintain_id.ToString();
}
else if(!string.IsNullOrEmpty(vm.common_scheme_id))
{
iSchemeId = vm.common_scheme_id;
}
if(iSchemeId!="" && iSchemeId!="0")
{
dtocydj.print_item_ids = new OccupationExamSchemeMaintainDal().GetModel(iSchemeId).print_item_ids;
}
//dtocydj.phone_path = img64.Replace("data:image/jpeg;base64,", "");
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
List<ExamProjectMaintainModel> tjxmal = new List<ExamProjectMaintainModel>();
if (!string.IsNullOrEmpty(vm.tjxm))
{
tjxmal = new ExamProjectMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','));
}
ProfessionalChargeProjectDal dal = new ProfessionalChargeProjectDal();
string f = "";
switch (vm.tjzt)
{
case "1"://复检登记
ZWL.Common.SaveLog.Logs("C:\\AppExe\\职业\\复检", "复检登记", " 姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
List<ChargeProjectMaintainModel> fjsfxmal = new List<ChargeProjectMaintainModel>();
ChargeProjectMaintainModel fjsfxmmodel = new ChargeProjectMaintainModel();//复检收费项目model
fjsfxmmodel.charge_project_name = "复查费";
fjsfxmmodel.fee = "50";
fjsfxmal.Add(fjsfxmmodel);
//遍历体检项目ID存入登记表
string tjxmids = "";
foreach (var examProjectMaintainModel in tjxmal)
{
tjxmids += examProjectMaintainModel.id + ",";
}
dtocydj.check_item_ids = tjxmids;
f = bll.Fjdj(dtocydj, fjsfxmal, "职业");
break;
case "2"://导入数据
List<ChargeProjectMaintainModel> sfxmal1 = new ChargeProjectMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','));
dtocydj.hazard_ids = new HarmfulFactorsMaintainBll().GetIdByNames(dtocydj.hazards);
dtocydj.hazards_alias = dtocydj.hazards;
dtocydj.hazards_text = dtocydj.hazards_text;
f = bll.Zydj(dtocydj, sfxmal1, tjxmal);
//如果是导入数据填充则修改状态
OccupationDataImportObjectBll bll1 = new OccupationDataImportObjectBll();
bll1.Updateprocess(vm.importid);
break;
case "3"://登记后修改
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterZydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj1 = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
//2023-10-27 xulu 防止企业方案id清空
dtocydj1.medical_scheme_maintain_id = Convert.ToInt32(dtocydj1.physical_category);
bll.Update(dtocydj1);
f = dtocydj1.physical_num;
break;
case "0"://职业登记
ZWL.Common.SaveLog.Logs("C:\\AppExe\\职业\\正常", "正常登记", " 姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
List<ChargeProjectMaintainModel> sfxmal = new List<ChargeProjectMaintainModel>();
if (vm.sfxm != null)
{
sfxmal = new ChargeProjectMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','));
}
f = bll.Zydj(dtocydj, sfxmal, tjxmal);
break;
}
//3:登记后修改 2:导入数据 1:复检 0正常
var txm = vm.txm ? "1" : "0";
var zyd = vm.zyd ? "1" : "0";
return Json(new { State = 1, Message = "操作成功!", dy = "0", txm = "0", zyd = "0", tm = f });
}
catch (Exception e)
{
ZWL.Common.SaveLog.Logs("C:\\AppExe", "职业登记", "catch:" + e);
throw e;
}
}
[HttpPost]
public ActionResult OccupationRegisteResult111(RegisterZydjViewModel vm, string img64)
{
var erpUser = Session["loginUser"] as Models.ERPUser;
if (erpUser != null)
vm.register_person = erpUser.TrueName;
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterZydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
//dtocydj.phone_path = img64.Replace("data:image/jpeg;base64,", "");
dtocydj.phone_path = ZWL.Common.ImgUtil.ConvertImg(img64);
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
List<ExamProjectMaintainModel> tjxmal = new List<ExamProjectMaintainModel>();
if (!string.IsNullOrEmpty(vm.tjxm))
{
tjxmal = new ExamProjectMaintainBll().GetAllListByprojectids(vm.tjxm.TrimEnd(','));
}
ProfessionalChargeProjectDal dal = new ProfessionalChargeProjectDal();
string f = "";
switch (vm.tjzt)
{
case "1":
List<ChargeProjectMaintainModel> fjsfxmal = new List<ChargeProjectMaintainModel>();
ChargeProjectMaintainModel fjsfxmmodel = new ChargeProjectMaintainModel();
fjsfxmmodel.charge_project_name = "复查费";
fjsfxmmodel.fee = "50";
fjsfxmal.Add(fjsfxmmodel);
//遍历体检项目ID存入登记表
string tjxmids = "";
foreach (var examProjectMaintainModel in tjxmal)
{
tjxmids += examProjectMaintainModel.id + ",";
}
dtocydj.check_item_ids = tjxmids;
f = bll.Fjdj(dtocydj, fjsfxmal, "职业");
break;
case "2":
List<ChargeProjectMaintainModel> sfxmal1 = new ChargeProjectMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','));
dtocydj.hazard_ids = new HarmfulFactorsMaintainBll().GetIdByNames(dtocydj.hazards);
dtocydj.hazards_alias = dtocydj.hazards;
f = bll.Zydj(dtocydj, sfxmal1, tjxmal);
//如果是导入数据填充则修改状态
OccupationDataImportObjectBll bll1 = new OccupationDataImportObjectBll();
bll1.Updateprocess(vm.importid);
break;
case "3":
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterZydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj1 = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
bll.Update(dtocydj1);
f = dtocydj1.physical_num;
break;
case "0":
ZWL.Common.SaveLog.Logs("C:\\AppExe\\职业\\正常", "正常登记", "姓名:" + vm.person_name + " 身份证号:" + vm.card_number);
List<ChargeProjectMaintainModel> sfxmal = new ChargeProjectMaintainBll().GetAllListBysfxmId(vm.sfxm.TrimEnd(','));
f = bll.Zydj(dtocydj, sfxmal, tjxmal);
break;
}
//3:登记后修改 2:导入数据 1:复检 0正常
var txm = vm.txm ? "1" : "0";
var zyd = vm.zyd ? "1" : "0";
return Json(new { State = 1, Message = "操作成功!", dy = "0", txm = "0", zyd = "0", tm = f });
}
/// <summary>
/// 企业体检方案根据体检方案ID查询该方案下的所有体检项目
/// </summary>
/// <param name="tjfnid"></param>
/// <returns></returns>
public string GetTjxmBytjfn(string tjfnid)
{
if (tjfnid == "")
{
return "";
}
OccupationExamSchemeMaintainBll bll = new OccupationExamSchemeMaintainBll();
string tjxmids = bll.GetModel(tjfnid).check_item_ids;
ExamProjectMaintainBll tjxmbll = new ExamProjectMaintainBll();
string modelslistjson = JsonConvert.SerializeObject(tjxmbll.GetTjfnmxByIDs(tjxmids.TrimStart(',').TrimEnd(',')));
return "{\"Rows\":" + modelslistjson + "}";
}
/// <summary>
/// 企业体检方案根据体检方案ID查询体检项目下的收费项目
/// </summary>
/// <param name="tjfnid"></param>
/// <returns></returns>
public string GetSfxmBytjfn(string tjfnid)
{
if (tjfnid == "")
{
return "";
}
OccupationExamSchemeMaintainBll bll = new OccupationExamSchemeMaintainBll();
string tjxmids = bll.GetModel(tjfnid).check_item_ids;
ChargeProjectMaintainBll bll1 = new ChargeProjectMaintainBll();
string modelslistjson = JsonConvert.SerializeObject(bll1.GetAllListBytjxm(tjxmids));
return "{\"Rows\":" + modelslistjson + "}";
}
/// <summary>
/// 根据企业ID查询企业体检方案
/// </summary>
/// <param name="siteid"></param>
/// <returns></returns>
public string GetTjfnBySiteId(string siteid)
{
OccupationExamSchemeMaintainBll bll = new OccupationExamSchemeMaintainBll();
return JsonConvert.SerializeObject(bll.GetSiteList(siteid));
}
/// <summary>
/// 查询体检方案根据ID
/// </summary>
/// <param name="tjfnId"></param>
/// <returns></returns>
public string GetTjfnModel(string tjfnId)
{
if (tjfnId == "")
{
return "{}";
}
OccupationExamSchemeMaintainBll bll = new OccupationExamSchemeMaintainBll();
return JsonConvert.SerializeObject(bll.GetModel(tjfnId));
}
/// <summary>
/// 根据体检项目查询该体检项目的检查科室
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[AllowAnonymous]
public string GetTjxmRoom(string ids)
{
ExamProjectMaintainBll bll = new ExamProjectMaintainBll();
List<DtoRoom> al = bll.GetRooms(ids);
return JsonConvert.SerializeObject(al);
}
/// <summary>
/// 临时库页面
/// </summary>
/// <returns></returns>
public ActionResult LskryResult()
{
return View();
}
public string GetLskryList(string name, string sitename, string idno)
{
OccupationDataImportObjectBll bll = new OccupationDataImportObjectBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetList(name, sitename, idno));
return "{\"Rows\":" + modelslistjson + "}";
}
public string getLsrkry(string idno)
{
OccupationDataImportObjectBll bll = new OccupationDataImportObjectBll();
return Newtonsoft.Json.JsonConvert.SerializeObject(bll.getLsrkry(idno));
}
/// <summary>
/// 根据体检项目ID查询体检项目列表
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
public string GettjxmByIDs(string ids)
{
ExamProjectMaintainBll bll = new ExamProjectMaintainBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetTjfnmxByIDs(ids));
return "{\"Rows\":" + modelslistjson + "}";
}
/// <summary>
/// 根据体检项目ID查询体检项目列表
/// </summary>
/// <param name="ids"></param>
/// <returns></returns>
[AllowAnonymous]
public string GettjxmByIDsReport(string ids)
{
ExamProjectMaintainBll bll = new ExamProjectMaintainBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetTjfnmxByIDs(ids));
return modelslistjson;
}
/// <summary>
/// 根据体检项目查询收费项目列表
/// </summary>
/// <returns></returns>
public string Getsfxm(string ids)
{
ChargeProjectMaintainBll bll = new ChargeProjectMaintainBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetAllListBytjxm(ids));
return "{\"Rows\":" + modelslistjson + "}";
}
#region
public ActionResult ZyFjResult()
{
ViewData["ssqy"] = new SelectList(new AreaInfoMaintainBll().GetAllList(), "id", "area_name");
return View();
}
public string GetZyFjList(string sitename, string tm, string name, string starttime, string endtime, string ssqy)
{
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
string modelslistjson = JsonConvert.SerializeObject(bll.GetZyfjList(sitename, tm, name, starttime, endtime, ssqy));
return "{\"Rows\":" + modelslistjson + "}";
}
#endregion
#endregion
#region SelectList
/// <summary>
/// 初始化 SelectList体检方案
/// </summary>
/// <param name="list"></param>
/// <param name="selected">默认选中</param>
/// <returns></returns>
public SelectList GetSelectListtjfn(IEnumerable<OccupationExamSchemeMaintainModel> list, string selected = "请选择")
{
var items = new List<SelectListItem> { new SelectListItem { Text = "----请选择----", Value = "-1" } };
if (list == null)
{
return new SelectList(items, "Value", "Text");
}
items.AddRange(list.Select(item => new SelectListItem { Text = item.scheme_name, Value = item.id.ToString() }));
var selectList = new SelectList(items, "Value", "Text", selected);
return selectList;
}
#endregion
/// <summary>
/// 重复打印指引单
/// </summary>
/// <param name="physical_num"></param>
/// <returns></returns>
public ActionResult repeatPrint(string physical_num)
{
bool flag = new ProfessionalExamRegisterBll().repeatPrint(physical_num);
return Json(new { State = flag });
}
/// <summary>
/// 体检进度页面数据绑定
/// 2023-10-27 xulu
/// </summary>
/// <returns></returns>
public ActionResult ProjectProcess()
{
ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name");
ViewData["tjxz"] = new SelectList(new ExamGroupMaintainBll().GetAllListTrueOrderByCount(), "id",
"team_name");
return View();
}
/// <summary>
/// 体检项目进度页面数据绑定
/// 2023-10-27 xulu
/// </summary>
/// <param name="physical_num"></param>
/// <param name="name"></param>
/// <returns></returns>
public ActionResult ExamProcess(string physical_num, string name)
{
ViewBag.physical_num = physical_num;
ViewBag.name = name;
return View();
}
/// <summary>
/// 登记基本信息展示
/// 2023-11-2 xulu
/// </summary>
/// <param name="tm"></param>
/// <returns></returns>
public ActionResult RegisteInfo(string tm)
{
var al = new List<Marry> { new Marry("已婚", "是"), new Marry("未婚", "否"), new Marry("离异", "离异") };
ProfessionalExamRegisterBll bll1 = new ProfessionalExamRegisterBll();
var dtomodel = bll1.GetModel(tm);
AutoMapper.Mapper.Initialize(x => x.CreateMap<ProfessionalExamRegisterModel, RegisterZydjViewModel>());
var vm = AutoMapper.Mapper.Map<RegisterZydjViewModel>(dtomodel);
ViewBag.src = "data:image/jpeg;base64," + vm.phone_path;
//ViewBag.tjzt = tjzt;
/* vm.tjxm = dtomodel.check_item_ids;
vm.txm = false;
vm.zyd = false;*/
//ViewData["tzzylb"] = new SelectList(tzzylb, vm.unnomel_type);
ViewData["hf"] = new SelectList(al, "value", "title", vm.marry_status);
ViewData["tjfn"] = GetSelectListtjfn(null);
ViewData["tjlx"] = new SelectList(new checktypemaintainBll().GetListBybelong("职业"), "id", "check_type", vm.exam_type_id);
ViewData["zgzt"] = new SelectList(new JobsStateMaintainBll().GetAllList("", "是"), "id", "jobs_state", vm.job_status_id);
ViewData["tytjfn"] = new SelectList(new OccupationExamSchemeMaintainBll().GetListByType("通用"), "id", "scheme_name", vm.common_scheme_id);
//vm.tjzt = tjzt;
//2023-10-27 xulu 防止修改时企业方案id清空
vm.physical_category = vm.medical_scheme_maintain_id.ToString();
return View(vm);
}
/// <summary>
/// 修改登记信息
/// 2023-11-3 xulu
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
[HttpPost]
public ActionResult RegisteInfo(RegisterZydjViewModel vm)
{
vm.phone_path = ZWL.Common.ImgUtil.ConvertImg(vm.phone_path);
ProfessionalExamRegisterBll bll = new ProfessionalExamRegisterBll();
AutoMapper.Mapper.Initialize(x => x.CreateMap<RegisterZydjViewModel, ProfessionalExamRegisterModel>());
var dtocydj1 = AutoMapper.Mapper.Map<ProfessionalExamRegisterModel>(vm);
//2023-10-27 xulu 防止企业方案id清空
dtocydj1.medical_scheme_maintain_id = Convert.ToInt32(dtocydj1.physical_category);
//2023-12-09 xulu 添加在岗状态改变
JobsStateMaintainModel job = new JobsStateMaintainBll().GetAllList(dtocydj1.job_status_id.ToString(), "").FirstOrDefault();
if(job!=null)
{
dtocydj1.status = job.jobs_state;
}
bll.Update3(dtocydj1);
return Json(new { State = 1, Message = "操作成功!" });
}
/// <summary>
/// 体检项目页面数据绑定
/// 2023-10-27 xulu
/// </summary>
/// <param name="ids"></param>
/// <param name="person_id"></param>
/// <param name="name"></param>
/// <param name="physical_num"></param>
/// <returns></returns>
public ActionResult ExamItems(string ids, string person_id, string name, string physical_num, string sex)
{
ViewBag.ids = ids;
ViewBag.person_id = person_id;
ViewBag.physical_num = physical_num;
ViewBag.name = name;
//2023-11-15 xulu 增加性别参数
ViewBag.sex = sex;
return View();
}
/// <summary>
/// 根据physical_num获取体检小组检查进度
/// </summary>
/// <param name="physical_num"></param>
/// <returns></returns>
public JsonResult getProcessList(string physical_num)
{
List<Models.ExaminationProcessModel> ctList = new examination_processDal().getProcessList(physical_num);
foreach (ExaminationProcessModel model in ctList)
{
if (model.group_name == "采血")
{
model.commit_doctor = model.collect_doctor;
}
}
return Json(new { Rows = ctList });
}
/// <summary>
/// 更新导入的体检项目
/// 2023-10-30 xulu
/// </summary>
/// <param name="ids"></param>
/// <param name="id"></param>
/// <returns></returns>
public JsonResult updateImportItems(string ids, string id)
{
bool flag = new OccupationDataImportObjectDal().updateItems(id, ids);
return Json(new { code = flag });
}
/// <summary>
/// 更新登记后的体检项目
/// 2023-10-30 xulu
/// </summary>
/// <param name="ids"></param>
/// <param name="id"></param>
/// <param name="del"></param>
/// <param name="add"></param>
/// <param name="physical_num"></param>
/// <returns></returns>
public JsonResult updateRegItems(string ids, string id, List<ExamProjectMaintainModel> del, List<ExamProjectMaintainModel> add, string physical_num)
{
try
{
bool flag = new ProfessionalExamRegisterDal().UpdateRegItems(ids, id, del, add, physical_num);
return Json(new { code = flag });
}
catch
{
return Json(new { code = false });
}
}
/// <summary>
/// 批量更新项目
/// 2023-11-28 xulu
/// </summary>
/// <param name="persons"></param>
/// <param name="items"></param>
/// <param name="type"></param>
/// <returns></returns>
public JsonResult batchUpdateItems(List<ProfessionalExamRegisterModel> persons, List<ExamProjectMaintainModel> items, string type)
{
try
{
bool flag=true;
string physical_nums = "";
for (int i = 0; i < persons.Count; i++)
{
List<ExamProjectMaintainModel> del=new List<ExamProjectMaintainModel>();
List<ExamProjectMaintainModel> add=new List<ExamProjectMaintainModel>();
//判断此人是否包含items
string check_item_ids = persons[i].check_item_ids;
string[] arr = check_item_ids.Split(',');
string add_ids = "";
physical_nums += persons[i].physical_num + ",";
//增加项目
if (type=="add")
{
for (int j = 0; j < items.Count; j++)
{
bool hasTarget = arr.Any((id) =>
{
return items[j].id.Equals(id, StringComparison.OrdinalIgnoreCase);
});
if (!hasTarget)
{
add_ids += items[j].id + ",";
add.Add(items[j]);
}
}
persons[i].check_item_ids += add_ids;
flag = new ProfessionalExamRegisterDal().UpdateRegItems(persons[i].check_item_ids, persons[i].id, null, add, persons[i].physical_num);
}
//删除项目
else if(type=="delete")
{
for (int j = 0; j < items.Count; j++)
{
bool hasTarget = arr.Any((id) =>
{
return items[j].id.Equals(id, StringComparison.OrdinalIgnoreCase);
});
if (hasTarget)
{
arr = arr.Where(val => val != items[j].id).ToArray();
del.Add(items[j]);
}
}
arr = arr.Where(val => val != "").ToArray();
persons[i].check_item_ids = String.Join(",", arr)+",";
flag=new ProfessionalExamRegisterDal().UpdateRegItems(persons[i].check_item_ids, persons[i].id, del, null, persons[i].physical_num);
}
}
//撤回项目结果
if (type == "withdraw")
{
physical_nums= physical_nums.Substring(0, physical_nums.Length-1);
string group_ids = "";
for(int i=0;i< items.Count;i++)
{
group_ids += items[i].exam_group_maintain_id+",";
}
group_ids = group_ids.Substring(0, group_ids.Length-1);
string[] arr_physical_nums = physical_nums.Split(',');
string[] arr_group_ids = group_ids.Split(',');
flag = new ProfessionalExamRegisterDal().WithdrawResult(arr_physical_nums, arr_group_ids);
}
return Json(new { code = flag });
}
catch
{
return Json(new { code = false });
}
}
//已经登记未体检 添加删除功能
[HttpPost]
public JsonResult DeleteItem(string physical_num, string card_number, string Adate, string physical_type)
{
ProfessionalExamRegisterBll professionalExamRegisterBll = new ProfessionalExamRegisterBll();
bool flag = professionalExamRegisterBll.DeleteItem(physical_num, card_number, Adate, physical_type);
return Json(new { code = flag });
}
}
}