using System; using System.Linq; using System.Web.Mvc; using DSWeb.Areas.TruckMng.DAL.MsWlDriver; using DSWeb.Areas.TruckMng.Models; using DSWeb.TruckMng.Comm.Cookie; using DSWeb.TruckMng.Helper; using HcUtility.Comm; using HcUtility.Core; using System.IO; using System.Collections.Generic; using DSWeb.TruckMng.Helper.Repository; namespace DSWeb.Areas.TruckMng.Controllers { [JsonRequestBehavior] public class MsWlDriverController : Controller { // // GET: /TruckMng/MsWlDriver public ActionResult Index() { return View(); } // // GET: /TruckMng/MsWlDriver/Edit public ActionResult Edit() { return View(); } public ActionResult Salary ( ) { return View(); } // // GET:/TruckMng/MsWlDriver/GetDataList #region 司机信息 public ContentResult GetDataList(int start, int limit, string sort, string condition) { var dataList = MsWlDriverDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request),sort); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } // // GET:/TruckMng/MsWlDriver/GetData/ public ContentResult GetData(string handle, string condition) { MsWlDriver head = null; if (handle == "edit") { var list = MsWlDriverDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)); if (list.Count > 0) head = list[0]; } if (head == null) { head = new MsWlDriver(); } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } // // GET:/TruckMng/MsWlDriver/Save public ContentResult Save(string opstatus, string data) { MsWlDriver head = JsonConvert.Deserialize(data); if (opstatus == "add") { head.DbOperationType = DbOperationType.DbotIns; head.GID = Guid.NewGuid().ToString(); if (head.OrgCode==null||head.OrgCode=="") { head.OrgCode = CookieConfig.GetCookie_OrgCode(Request); } } else if (opstatus == "edit") { head.DbOperationType = DbOperationType.DbotUpd; } else { head.DbOperationType = DbOperationType.DbotDel; } var modb = new ModelObjectDB(); DBResult result = modb.Save(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, Data = MsWlDriverDAL.GetData("GID='" + head.GID + "'", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult Delete(string data) { var head = JsonConvert.Deserialize(data); var modb = new ModelObjectDB(); DBResult result = modb.Delete(head); var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion #region 司机模块附件 public ContentResult GetFileList(string PID) { var dataList = MsWlDriverDAL.GetUpLoadFileList("PID='"+PID+"'"); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = dataList.ToList() }); return new ContentResult() { Content = json }; } public ContentResult SaveFile(string bsno, string body) { int iResult = 0; var bodyList = JsonConvert.Deserialize>(body); var result = new DBResult(); if (bodyList != null) { iResult = MsWlDriverDAL.SaveFileList(bodyList, bsno); } if (iResult == 1) { result.Success = true; result.Message = "更新成功!"; } else if (iResult == 0) { result.Success = false; result.Message = "出现错误,未更新!"; } else if (iResult == -1) { result.Success = false; result.Message = "有异常,插入失败!"; } else if (iResult == -2) { result.Success = false; result.Message = "插入异常,事务已回滚成功!"; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } [HttpPost] public ContentResult UploadFile() { var jsonRespose = new JsonResponse { Success = false, Message = "" }; if (Request.Files.Count != 1) { jsonRespose.Success = false; jsonRespose.Message = "请选择上传的文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var file = Request.Files["LoadImage"]; var fileGID = Request.Form["fileGid"]; if (file == null) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } if (Convert.ToString(Session["COMPANYID"]).ToString().Trim() == "" || Convert.ToString(Session["USERID"]).ToString().Trim() == "" || Convert.ToString(Session["CODENAME"]).ToString().Trim() == "" || Convert.ToString(Session["SHOWNAME"]).ToString().Trim() == "" || Convert.ToString(Session["DEPTNAME"]).ToString().Trim() == "") { var jsonRespose2 = new JsonResponse { Success = false, Message = "登录超时,请退出系统重新登录!" }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose2) }; } string ext = Path.GetExtension(file.FileName).ToLower(); if (ext == ".asp" || ext == ".aspx") { jsonRespose.Success = false; jsonRespose.Message = "不允许上传ASP或ASPX文件"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var path = Server.MapPath("../../UploadFiles/MsDriver"); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var size = file.ContentLength; var name = Path.GetFileName(file.FileName); var usercode = CookieConfig.GetCookie_UserCode(Request); string filename = path + "\\" + usercode + DateTime.Now.ToString("yyyyMMddHHmmssfff") + name; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); } file.SaveAs(filename); if (!System.IO.File.Exists(filename)) { jsonRespose.Success = false; jsonRespose.Message = "上传文件发生未知错误,请重新上传"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } try { var message = string.Empty; var isSucess = MsWlDriverDAL.UpdateFileData(Request, filename,fileGID,out message); if (!isSucess) { jsonRespose.Success = false; jsonRespose.Message = message; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } var json = JsonConvert.Serialize(new { success = true, Message = "上传成功!", data = filename }); return new ContentResult() { Content = json }; } catch (Exception) { jsonRespose.Success = false; jsonRespose.Message = "上传文件出错,请确认文件正确性"; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } } public ContentResult DeleteUploadFile(string data) { int iResult = 0; var bodyList = data; var result = new DBResult(); if (bodyList != "" || bodyList != null) { iResult = MsWlDriverDAL.DeleteUploadFile(bodyList); } if (iResult == 1) { result.Success = true; result.Message = "删除成功!"; } else if (iResult == 0) { result.Success = false; result.Message = "出现错误,未删除!"; } else if (iResult == -1) { result.Success = false; result.Message = "有异常,删除失败!"; } else if (iResult == -2) { result.Success = false; result.Message = "删除异常,事务已回滚成功!"; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion #region 司机工资提成 public ContentResult GetDataList_Salary ( int start, int limit, string sort, string condition ) { var dataList = MsWlDriver_SalaryDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request), sort); var list = dataList.Skip(start).Take(limit); var json = JsonConvert.Serialize(new { Success = true, Message = "查询成功", totalCount = dataList.Count, data = list.ToList() }); return new ContentResult() { Content = json }; } // // GET:/TruckMng/MsWlDriver/GetData/ public ContentResult GetData_Salary ( string handle, string condition ) { MsWlDriver head = null; if (handle == "edit") { var list = MsWlDriverDAL.GetDataList(condition, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)); if (list.Count > 0) head = list[0]; } if (head == null) { head = new MsWlDriver(); } var json = JsonConvert.Serialize( new { Success = true, Message = "查询成功", data = head }); return new ContentResult() { Content = json }; } // // GET:/TruckMng/MsWlDriver/Save public ContentResult SaveList_Salary ( string data ) { var dataList = JsonConvert.Deserialize>(data); foreach (var _d in dataList){ if (_d.ACCDATE.Length > 7) { _d.ACCDATE = _d.ACCDATE.Substring(0, 7); } if (_d.GID == "" || _d.GID == "*") { _d.DbOperationType = DbOperationType.DbotIns; _d.ModelUIStatus = "I"; _d.GID = System.Guid.NewGuid().ToString(); } else { _d.DbOperationType = DbOperationType.DbotUpd; _d.ModelUIStatus = "E"; } } var result = new DBResult(); var _L = ModelObjectConvert.ToModelObjectList(dataList); //var _DL = ModelObjectConvert.ToModelObjectList(DeldataList); var modb = new ModelObjectRepository(); result = modb.SaveHead(_L); //刷新父窗口上的父节点 var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, //Data = XXHDAL.GetData("M.ContractNo='" + head.ContractNo + "'") }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult DeleteSalary ( string data ) { int iResult = 0; var bodyList = data; var result = new DBResult(); if (bodyList != "" || bodyList != null) { iResult = MsWlDriver_SalaryDAL.Delete(bodyList); } if (iResult == 1) { result.Success = true; result.Message = "删除成功!"; } else if (iResult == 0) { result.Success = false; result.Message = "出现错误,未删除!"; } else if (iResult == -1) { result.Success = false; result.Message = "有异常,删除失败!"; } else if (iResult == -2) { result.Success = false; result.Message = "删除异常,事务已回滚成功!"; } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult MakeSalary ( string ACCDATE,string EXPDATEBGN,string EXPDATEEND ) { var result = new DBResult(); var DrvList = MsWlDriverDAL.GetDataList(" DrvClass<>'3' ", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request), ""); //根据每个司机的devcode和expdatebgn,expdateend 合计 var DrvCodeList = ""; foreach (var _d in DrvList) { if (DrvCodeList == "") { DrvCodeList = "'" + _d.DrvCode + "'"; } else { DrvCodeList += ",'" + _d.DrvCode + "'"; } } var SalaryList = MsWlDriver_SalaryDAL.GetSalary(DrvCodeList, EXPDATEBGN, EXPDATEEND); var InsertSalaryList = new List(); foreach (var _d in DrvList) { var Salaryhead = new MsWlDriver_Salary(); var Salary = SalaryList.Find(( sd ) => { return sd.DRVCODE == _d.DrvCode; }); if (Salary != null) { Salaryhead.GID = System.Guid.NewGuid().ToString(); Salaryhead.DRVCODE = Salary.DRVCODE; Salaryhead.ACCDATE = ACCDATE; Salaryhead.EXPDATEBGN = EXPDATEBGN; Salaryhead.EXPDATEEND = EXPDATEEND; Salaryhead.AMOUNT_0 = Salary.AMOUNT_0; Salaryhead.BASESALARY = Salary.BASESALARY; if (Salaryhead.BASESALARY == "") { Salaryhead.BASESALARY = "0"; } Salaryhead.DbOperationType = DbOperationType.DbotIns; Salaryhead.ModelUIStatus = "I"; InsertSalaryList.Add(Salaryhead); } else { Salaryhead.GID = System.Guid.NewGuid().ToString(); Salaryhead.DRVCODE = _d.DrvCode; Salaryhead.ACCDATE = ACCDATE; Salaryhead.EXPDATEBGN = EXPDATEBGN; Salaryhead.EXPDATEEND = EXPDATEEND; Salaryhead.AMOUNT_0 = "0"; Salaryhead.BASESALARY = _d.BASESALARY; if (Salaryhead.BASESALARY == "") { Salaryhead.BASESALARY = "0"; } Salaryhead.DbOperationType = DbOperationType.DbotIns; Salaryhead.ModelUIStatus = "I"; InsertSalaryList.Add(Salaryhead); } } if (InsertSalaryList.Count > 0) { var _L = ModelObjectConvert.ToModelObjectList(InsertSalaryList); var modb = new ModelObjectRepository(); result = modb.SaveHead(_L); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult MakeSalary_List ( string data ) { var dataList = JsonConvert.Deserialize>(data); var result = new DBResult(); /* var DrvCodeList = ""; foreach (var _d in dataList) { if (DrvCodeList == "") { DrvCodeList = "'" + _d.DRVCODE + "'"; } else { DrvCodeList += ",'" + _d.DRVCODE + "'"; } } */ foreach (var _d in dataList) { if (_d.GID == "") { _d.GID = System.Guid.NewGuid().ToString(); _d.DbOperationType = DbOperationType.DbotIns; _d.ModelUIStatus = "I"; } else { _d.DbOperationType = DbOperationType.DbotUpd; _d.ModelUIStatus = "E"; } if (_d.ACCDATE.Length > 7) { _d.ACCDATE = _d.ACCDATE.Substring(0, 7); } if (_d.ISLOCK == "1") { continue; } var DrvList = MsWlDriverDAL.GetDataList(" DrvCode ='"+_d.DRVCODE+"' ", Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request), ""); var SalaryList = MsWlDriver_SalaryDAL.GetSalary("'"+_d.DRVCODE+"'", _d.EXPDATEBGN, _d.EXPDATEEND); var InsertSalaryList = new List(); var Salary = SalaryList.Find(( sd ) => { return sd.DRVCODE == _d.DRVCODE; }); var _Drv = DrvList.Find(( Drv ) => { return Drv.DrvCode == _d.DRVCODE; }); if (Salary != null) { //_d.DRVCODE = Salary.DRVCODE; //Salaryhead.ACCDATE = ACCDATE; //Salaryhead.EXPDATEBGN = EXPDATEBGN; //Salaryhead.EXPDATEEND = EXPDATEEND; _d.BASESALARY = Salary.BASESALARY; _d.AMOUNT_0 = Salary.AMOUNT_0; _d.BONUS = Convert.ToString((Convert.ToDecimal(_d.AMOUNT_0) - Convert.ToDecimal(_d.RKF)) * 0.1M); _d.AMOUNT = Convert.ToString(Convert.ToDecimal(_d.BASESALARY) + Convert.ToDecimal(_d.BONUS)); _d.SETTLEMENT = _d.AMOUNT; } else { _d.BASESALARY = "0"; if (_Drv != null) { if (_Drv.BASESALARY != "") { _d.BASESALARY = _Drv.BASESALARY; } } _d.AMOUNT_0 = "0"; _d.BONUS = Convert.ToString((Convert.ToDecimal(_d.AMOUNT_0) - Convert.ToDecimal(_d.RKF)) * 0.1M); _d.AMOUNT = Convert.ToString(Convert.ToDecimal(_d.BASESALARY) + Convert.ToDecimal(_d.BONUS)); _d.SETTLEMENT = _d.AMOUNT; } } if (dataList.Count > 0) { var _L = ModelObjectConvert.ToModelObjectList(dataList); var modb = new ModelObjectRepository(); result = modb.SaveHead(_L); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } public ContentResult PayandLock (string PAYTYPE, string data ) { var dataList = JsonConvert.Deserialize>(data); var result = new DBResult(); foreach (var _d in dataList) { if (_d.GID == "") { _d.GID = System.Guid.NewGuid().ToString(); _d.DbOperationType = DbOperationType.DbotIns; _d.ModelUIStatus = "I"; } else { _d.DbOperationType = DbOperationType.DbotUpd; _d.ModelUIStatus = "E"; } if (_d.ACCDATE.Length > 7) { _d.ACCDATE = _d.ACCDATE.Substring(0, 7); } if (PAYTYPE == "1") { //_d.SETTLEMENT = _d.AMOUNT; _d.ISLOCK = "1"; } else { //_d.SETTLEMENT = "0"; _d.ISLOCK = "0"; } } if (dataList.Count > 0) { var _L = ModelObjectConvert.ToModelObjectList(dataList); var modb = new ModelObjectRepository(); result = modb.SaveHead(_L); } var jsonRespose = new JsonResponse { Success = result.Success, Message = result.Message, // Data = MsChFeeDAL.GetDataList(headData.BillNo, Convert.ToString(Session["USERID"]), CookieConfig.GetCookie_UserCode(Request), CookieConfig.GetCookie_OrgCode(Request)) }; return new ContentResult() { Content = JsonConvert.Serialize(jsonRespose) }; } #endregion #region 参照部分 #endregion } }