1414 lines
66 KiB
C#
1414 lines
66 KiB
C#
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 });
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
} |