From 73e00247164939388fe6e88654a5f182dcd08d1b Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期五, 06 一月 2023 09:33:54 +0800
Subject: [PATCH] 订单撤单增加填写扯单原因
---
zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs | 273 +++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 259 insertions(+), 14 deletions(-)
diff --git a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
index 0f9bb7f..31d2961 100644
--- a/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
+++ b/zhengcaioa/zhengcaioa/Controllers/admin/TongjiBaoBiaoController.cs
@@ -57,7 +57,10 @@
private readonly ILiaotianService _liaotianService;
private readonly IConfiguration _configuration;
private readonly IHttpClientFactory _clientFactory;
-
+ private readonly IHrPositionService _hrPositionService;
+ private readonly IHrDeptService _hrDeptService;
+ private readonly IAdmSigninService _admSigninService;
+ private readonly IExpertService _expertService;
public TongjiBaoBiaoController(ILogger<TongjiBaoBiaoController> logger
, IAdmAttendanceRuleService attendanceRuleService
@@ -82,9 +85,14 @@
, IDtChannelArticleNewsService dtChannelArticleNewsService
, IProjectService projectService
, ICusFangwenjiluService cusFangwenjiluService
- ,ILiaotianService liaotianService
- , IConfiguration configuration
- , IHttpClientFactory clientFactory)
+ , ILiaotianService liaotianService
+ , IConfiguration configuration
+ , IHttpClientFactory clientFactory
+ , IHrPositionService hrPositionService
+ , IHrDeptService hrDeptService
+ , IAdmSigninService admSigninService
+ , IExpertService expertService
+ )
{
_logger = logger;
_attendanceRuleService = attendanceRuleService;
@@ -112,6 +120,10 @@
_liaotianService = liaotianService;
_configuration = configuration;
_clientFactory = clientFactory;
+ _hrPositionService = hrPositionService;
+ _hrDeptService = hrDeptService;
+ _admSigninService = admSigninService;
+ _expertService = expertService;
}
public async Task<IActionResult> IndexAsync(string Tongjitime="")
@@ -236,6 +248,59 @@
tuiguangDTOs.Add(xiangmuDTO);
#endregion
+
+
+ #region 閲囪喘鍏憡褰曞叆
+ TongjiBaoBiaoDTO caigougonggaoDTO = new TongjiBaoBiaoDTO();
+ caigougonggaoDTO.gongzuo = "閲囪喘鍏憡褰曞叆";
+ //鏈湀鏁伴噺
+ var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin);
+ caigougonggaoDTO.benyueshuliang = caigougonggaoDTOsyue.Count.ToString();
+ //鏈棩鏁伴噺
+ var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ caigougonggaoDTO.benrishuliang = caigougonggaoDTOsri.Count.ToString();
+
+ var jijianicaigougonggao = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘鍏憡褰曞叆").FirstOrDefault();
+
+ if (jijianicaigougonggao != null)
+ {
+ var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianicaigougonggao.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+ if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+ {
+ if (jixiaotichengfangan.Renwustandard == "01")
+ {
+ //鏈湀瑙勫畾
+ caigougonggaoDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+ //鏈棩瑙勫畾
+ caigougonggaoDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+ if (jixiaotichengfangan.Tichengstandard == "01")
+ {
+ decimal youxiaojijian = caigougonggaoDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+ if (youxiaojijian > 0)
+ {
+ caigougonggaoDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+ }
+ }
+ }
+ else if (jixiaotichengfangan.Renwustandard == "02")
+ {
+ //鏈湀瑙勫畾
+ caigougonggaoDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+ //if (jixiaotichengfangan.Tichengstandard == "01")
+ //{
+ // decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
+ // if (youxiaojijian > 0)
+ // {
+ // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+ // }
+
+ //}
+ }
+ }
+ }
+ if (caigougonggaoDTOsyue.Count > 0 || caigougonggaoDTOsri.Count > 0)
+ tuiguangDTOs.Add(caigougonggaoDTO);
+ #endregion
#region 瀹㈡埛璧勬枡褰曞叆
TongjiBaoBiaoDTO kehuluruDTO = new TongjiBaoBiaoDTO();
@@ -935,8 +1000,8 @@
if (jijianizhucehuiyuan != null)
{
- //鏈湀鏁伴噺
- List<YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
+ //鏈湀鏁伴噺
+ List <YaoQingYongHuDTO> zhucehuiyuansyue = new List<YaoQingYongHuDTO>();
try
{
//var pltUserDTO = _userService.GetPltUserEntity(curentuser.Id);
@@ -978,7 +1043,7 @@
}
catch (Exception ex)
{
-
+ zhucehuiyuanDTO.benyueshuliang = "0";
}
//var zhucehuiyuansyue = _admPieceCheckService.GetList(curentuser.Id, dateminkaoqin, datemaxkaoqin).Where(x => x.WorkPro == jijianizhucehuiyuan.Id).ToList();
@@ -1082,6 +1147,59 @@
}
if (decimal.Parse(qianyueDTO.benyueshuliang) > 0 || decimal.Parse(qianyueDTO.benrishuliang) > 0)
tuiguangDTOs.Add(qianyueDTO);
+ #endregion
+
+
+ #region 涓撳褰曞叆
+ TongjiBaoBiaoDTO zhuanjialuruDTO = new TongjiBaoBiaoDTO();
+ zhuanjialuruDTO.gongzuo = "涓撳褰曞叆";
+ //鏈湀鏁伴噺
+ var zhuanjialuruDTOsyue = _expertService.GetListsalary(curentuser.Id, dateminkaoqin, datemaxkaoqin);
+ zhuanjialuruDTO.benyueshuliang = zhuanjialuruDTOsyue.Count.ToString();
+ //鏈棩鏁伴噺
+ var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ zhuanjialuruDTO.benrishuliang = zhuanjialuruDTOsri.Count.ToString();
+
+ var jijianizhuanjialuru = fiPiecerateDTOs.Where(x => x.Project == "涓撳褰曞叆").FirstOrDefault();
+
+ if (jijianizhuanjialuru != null)
+ {
+ var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhuanjialuru.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+ if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+ {
+ if (jixiaotichengfangan.Renwustandard == "01")
+ {
+
+ zhuanjialuruDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+ zhuanjialuruDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+ if (jixiaotichengfangan.Tichengstandard == "01")
+ {
+ decimal youxiaojijian = zhuanjialuruDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+ if (youxiaojijian > 0)
+ {
+ zhuanjialuruDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+ }
+
+ }
+
+ }
+ else if (jixiaotichengfangan.Renwustandard == "02")
+ {
+ zhuanjialuruDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+ //if (jixiaotichengfangan.Tichengstandard == "01")
+ //{
+ // decimal youxiaojijian = intentionCustomerDTOs.Count - renwujishu;
+ // if (youxiaojijian > 0)
+ // {
+ // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+ // }
+
+ //}
+ }
+ }
+ }
+ if (zhuanjialuruDTOsyue.Count > 0 || zhuanjialuruDTOsri.Count > 0)
+ tuiguangDTOs.Add(zhuanjialuruDTO);
#endregion
@@ -1205,7 +1323,7 @@
var benyuezonge = dingdanDTOsyue.Sum(x => x.Money) ?? 0;
//鏈棩鏁伴噺
- var dingdanDTOsri = dingdanDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ var dingdanDTOsri = dingdanDTOsyue.Where(x =>( x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)) || (x.Wangongtime >= chauxnshijian.Date && x.Wangongtime < chauxnshijian.Date.AddDays(1)) ).ToList();
foreach (var cooperOrderDTO in dingdanDTOsri)
{
TongjiDingDanDTO dingdanDTO = new TongjiDingDanDTO();
@@ -1802,7 +1920,7 @@
var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User"));
ViewData["curentuser"] = curentuser;
- DateTime chauxnshijian = DateTime.Now;
+ DateTime chauxnshijian = DateTime.Now.Date;
if (!string.IsNullOrEmpty(Tongjitime))
{
DateTime.TryParse(Tongjitime, out chauxnshijian);
@@ -1812,12 +1930,12 @@
string[] Userids = null;
if (!string.IsNullOrEmpty(userid) && userid!= "null")
{
- Userids = userid.Split(','); ;
+ Userids = userDTOs.Where(x=> userid.Split(',').Contains(x.Id)).OrderBy(x => x.DeptId).ThenBy(x => x.HrPosition).Select(x => x.Id).ToArray();
}
else
{
- Userids = userDTOs.OrderBy(x => x.UserSn).Select(x => x.Id).ToArray();
+ Userids = userDTOs.OrderBy(x => x.DeptId).ThenBy(x=>x.HrPosition).Select(x => x.Id).ToArray();
}
List<TongjibaobiaobaobiaoDTO> tongjibaobiaobaobiaoDTOs = new List<TongjibaobiaobaobiaoDTO>();
@@ -1882,6 +2000,11 @@
var userDTO = userDTOs.Where(x=>x.Id == Userid).FirstOrDefault();
string position = userDTO.HrPosition;
+ var hrPositionDTO = _hrPositionService.Get(userDTO.HrPosition);
+
+ var deptDTO = _hrDeptService.Get(userDTO.DeptId);
+ var admSignInDTO = _admSigninService.GetByUserAndDate(Userid, chauxnshijian);
+
var hrJixiaotichengThis = hrJixiaotichengDTOs.Where(x => x.PostId == position).ToList();
@@ -1939,6 +2062,58 @@
tuiguangDTOs.Add(xiangmuDTO);
#endregion
+
+ #region 閲囪喘鍏憡褰曞叆
+ TongjiBaoBiaoDTO caigougonggaoDTO = new TongjiBaoBiaoDTO();
+ caigougonggaoDTO.gongzuo = "閲囪喘鍏憡褰曞叆";
+ //鏈湀鏁伴噺
+ var caigougonggaoDTOsyue = _projectService.GetcaigougonggaoListsalary(Userid, dateminkaoqin, datemaxkaoqin);
+ caigougonggaoDTO.benyueshuliang = caigougonggaoDTOsyue.Count.ToString();
+ //鏈棩鏁伴噺
+ var caigougonggaoDTOsri = caigougonggaoDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ caigougonggaoDTO.benrishuliang = caigougonggaoDTOsri.Count.ToString();
+
+ var jijianicaigougonggao = fiPiecerateDTOs.Where(x => x.Project == "閲囪喘鍏憡褰曞叆").FirstOrDefault();
+
+ if (jijianicaigougonggao != null)
+ {
+ var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianicaigougonggao.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+ if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+ {
+ if (jixiaotichengfangan.Renwustandard == "01")
+ {
+ //鏈湀瑙勫畾
+ caigougonggaoDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+ //鏈棩瑙勫畾
+ caigougonggaoDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+ if (jixiaotichengfangan.Tichengstandard == "01")
+ {
+ decimal youxiaojijian = caigougonggaoDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+ if (youxiaojijian > 0)
+ {
+ caigougonggaoDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+ }
+ }
+ }
+ else if (jixiaotichengfangan.Renwustandard == "02")
+ {
+ //鏈湀瑙勫畾
+ caigougonggaoDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+ //if (jixiaotichengfangan.Tichengstandard == "01")
+ //{
+ // decimal youxiaojijian = _intentionCustomerDTOs.Count + cooperatecustomCustomerDTOs.Count - renwujishu;
+ // if (youxiaojijian > 0)
+ // {
+ // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+ // }
+
+ //}
+ }
+ }
+ }
+ if (caigougonggaoDTOsyue.Count > 0 || caigougonggaoDTOsri.Count > 0)
+ tuiguangDTOs.Add(caigougonggaoDTO);
+ #endregion
#region 瀹㈡埛璧勬枡褰曞叆
TongjiBaoBiaoDTO kehuluruDTO = new TongjiBaoBiaoDTO();
@@ -2681,7 +2856,7 @@
}
catch (Exception ex)
{
-
+ zhucehuiyuanDTO.benyueshuliang = "0";
}
@@ -2780,6 +2955,59 @@
}
if (decimal.Parse(qianyueDTO.benyueshuliang) > 0 || decimal.Parse(qianyueDTO.benrishuliang) > 0)
tuiguangDTOs.Add(qianyueDTO);
+ #endregion
+
+
+ #region 涓撳褰曞叆
+ TongjiBaoBiaoDTO zhuanjialuruDTO = new TongjiBaoBiaoDTO();
+ zhuanjialuruDTO.gongzuo = "涓撳褰曞叆";
+ //鏈湀鏁伴噺
+ var zhuanjialuruDTOsyue = _expertService.GetListsalary(Userid, dateminkaoqin, datemaxkaoqin);
+ zhuanjialuruDTO.benyueshuliang = zhuanjialuruDTOsyue.Count.ToString();
+ //鏈棩鏁伴噺
+ var zhuanjialuruDTOsri = zhuanjialuruDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ zhuanjialuruDTO.benrishuliang = zhuanjialuruDTOsri.Count.ToString();
+
+ var jijianizhuanjialuru = fiPiecerateDTOs.Where(x => x.Project == "涓撳褰曞叆").FirstOrDefault();
+
+ if (jijianizhuanjialuru != null)
+ {
+ var jixiaotichengfangan = hrJixiaotichengThis.Where(x => x.PiecerateId == jijianizhuanjialuru.Id).OrderByDescending(x => x.Effecttime).FirstOrDefault();
+ if (jixiaotichengfangan != null && jixiaotichengfangan.Ticheng.HasValue && jixiaotichengfangan.Renwu.HasValue)
+ {
+ if (jixiaotichengfangan.Renwustandard == "01")
+ {
+
+ zhuanjialuruDTO.benyueqingkuang = (Yingchuqin * jixiaotichengfangan.Renwu.Value).ToString("0.##");
+ zhuanjialuruDTO.benriqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##");
+ if (jixiaotichengfangan.Tichengstandard == "01")
+ {
+ decimal youxiaojijian = zhuanjialuruDTOsri.Count - jixiaotichengfangan.Renwu.Value;
+ if (youxiaojijian > 0)
+ {
+ zhuanjialuruDTO.dangrijixiao = Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2).ToString("0.##");
+ }
+
+ }
+
+ }
+ else if (jixiaotichengfangan.Renwustandard == "02")
+ {
+ zhuanjialuruDTO.benyueqingkuang = jixiaotichengfangan.Renwu.Value.ToString("0.##"); ;
+ //if (jixiaotichengfangan.Tichengstandard == "01")
+ //{
+ // decimal youxiaojijian = intentionCustomerDTOs.Count - renwujishu;
+ // if (youxiaojijian > 0)
+ // {
+ // hrSalaryDTO.Jixiaoticheng += Math.Round(jixiaotichengfangan.Ticheng.Value * youxiaojijian, 2);
+ // }
+
+ //}
+ }
+ }
+ }
+ if (zhuanjialuruDTOsyue.Count > 0 || zhuanjialuruDTOsri.Count > 0)
+ tuiguangDTOs.Add(zhuanjialuruDTO);
#endregion
@@ -2903,7 +3131,7 @@
var benyuezonge = dingdanDTOsyue.Sum(x => x.Money) ?? 0;
//鏈棩鏁伴噺
- var dingdanDTOsri = dingdanDTOsyue.Where(x => x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)).ToList();
+ var dingdanDTOsri = dingdanDTOsyue.Where(x => (x.Createtime >= chauxnshijian.Date && x.Createtime < chauxnshijian.Date.AddDays(1)) || (x.Wangongtime >= chauxnshijian.Date && x.Wangongtime < chauxnshijian.Date.AddDays(1))).ToList();
foreach (var cooperOrderDTO in dingdanDTOsri)
{
TongjiDingDanDTO dingdanDTO = new TongjiDingDanDTO();
@@ -3488,7 +3716,24 @@
tongjibaobiaobaobiaoDTO.ziliaoweihuDTOs = ziliaoweihuDTOs;
tongjibaobiaobaobiaoDTO.xiangmushishiDTOs = xiangmushishiDTOs;
tongjibaobiaobaobiaoDTO.dingdanDTOsCount = dingdanDTOsCount;
- tongjibaobiaobaobiaoDTO.UserName = userDTO.UserName;
+ tongjibaobiaobaobiaoDTO.UserName = "";
+ if (deptDTO != null)
+ {
+ tongjibaobiaobaobiaoDTO.UserName += "閮ㄩ棬锛�" + deptDTO.DeptName + "    ";
+ }
+ tongjibaobiaobaobiaoDTO.UserName += "濮撳悕锛�" + userDTO.UserName + "    ";
+
+ tongjibaobiaobaobiaoDTO.UserDaka = "";
+ if (hrPositionDTO != null)
+ {
+ tongjibaobiaobaobiaoDTO.UserDaka += "鑱屽姟锛�" + hrPositionDTO.PostName + "    ";
+ }
+ if (admSignInDTO != null)
+ {
+ tongjibaobiaobaobiaoDTO.UserDaka += " 鎵撳崱鏃堕棿锛氫笂鍗� " + (admSignInDTO.MorningIn.HasValue? admSignInDTO.MorningIn.Value.ToString("HH:mm:ss"):"") + "-" + (admSignInDTO.MorningOut.HasValue ? admSignInDTO.MorningOut.Value.ToString("HH:mm:ss") : "")
+ + "    涓嬪崍 " + (admSignInDTO.AfternoonIn.HasValue ? admSignInDTO.AfternoonIn.Value.ToString("HH:mm:ss") : "") + "-" + (admSignInDTO.AfternoonOut.HasValue ? admSignInDTO.AfternoonOut.Value.ToString("HH:mm:ss") : "")
+ + (admSignInDTO.OvertimeIn.HasValue ? " 鍔犵彮 " + admSignInDTO.OvertimeIn.Value.ToString("HH:mm:ss") + "-" : "") + (admSignInDTO.OvertimeOut.HasValue ? admSignInDTO.OvertimeOut.Value.ToString("HH:mm:ss") : "");
+ }
tongjibaobiaobaobiaoDTOs.Add(tongjibaobiaobaobiaoDTO);
--
Gitblit v1.9.1