|
|
@@ -1407,7 +1407,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
1407
|
1407
|
public string judgmentDept(int deptid)
|
|
1408
|
1408
|
{
|
|
1409
|
1409
|
string deptcode = "";
|
|
1410
|
|
- string sql = " ";
|
|
|
1410
|
+ string sql = "";
|
|
1411
|
1411
|
|
|
1412
|
1412
|
if (CirculMarket(deptid, 11))
|
|
1413
|
1413
|
{
|
|
|
@@ -1444,6 +1444,49 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
1444
|
1444
|
}
|
|
1445
|
1445
|
|
|
1446
|
1446
|
/// <summary>
|
|
|
1447
|
+ /// 找到事业部中的高层
|
|
|
1448
|
+ /// </summary>
|
|
|
1449
|
+ /// <param name="deptid"></param>
|
|
|
1450
|
+ /// <returns></returns>
|
|
|
1451
|
+ public int GetGCDept(int deptid)
|
|
|
1452
|
+ {
|
|
|
1453
|
+ string deptcode = "";
|
|
|
1454
|
+ int gcdeptid = 0;
|
|
|
1455
|
+
|
|
|
1456
|
+ if (CirculMarket(deptid, 11))
|
|
|
1457
|
+ {
|
|
|
1458
|
+ deptcode = "|0|1|11|";
|
|
|
1459
|
+ }
|
|
|
1460
|
+ else if (CirculMarket(deptid, 14))
|
|
|
1461
|
+ {
|
|
|
1462
|
+ deptcode = "|0|1|14|";
|
|
|
1463
|
+ }
|
|
|
1464
|
+ else if (CirculMarket(deptid, 15))
|
|
|
1465
|
+ {
|
|
|
1466
|
+ deptcode = "|0|1|15|";
|
|
|
1467
|
+ }
|
|
|
1468
|
+ else if (CirculMarket(deptid, 16))
|
|
|
1469
|
+ {
|
|
|
1470
|
+ deptcode = "|0|1|16|";
|
|
|
1471
|
+ }
|
|
|
1472
|
+ else if (CirculMarket(deptid, 18))
|
|
|
1473
|
+ {
|
|
|
1474
|
+ deptcode = "|0|1|18|";
|
|
|
1475
|
+
|
|
|
1476
|
+ }
|
|
|
1477
|
+ else if (CirculMarket(deptid, 20))
|
|
|
1478
|
+ {
|
|
|
1479
|
+ deptcode = "|0|1|20|";
|
|
|
1480
|
+ }
|
|
|
1481
|
+ if (!string.IsNullOrEmpty(deptcode))
|
|
|
1482
|
+ {
|
|
|
1483
|
+ var dept = departmentBLL.GetModelList($" F_DeptCode LIKE '" + deptcode + "%' and F_DeptName like '%总经理%'").FirstOrDefault();
|
|
|
1484
|
+ if (dept != null)
|
|
|
1485
|
+ gcdeptid = dept.F_DeptId;
|
|
|
1486
|
+ }
|
|
|
1487
|
+ return gcdeptid;
|
|
|
1488
|
+ }
|
|
|
1489
|
+ /// <summary>
|
|
1447
|
1490
|
///综合查询列表
|
|
1448
|
1491
|
/// </summary>
|
|
1449
|
1492
|
public ActionResult GetComprehensive(string description,string OpenId, string code, string createby, string createtel, string cusname, string keywords, string cusphone, string companyname, string province, string city,
|
|
|
@@ -1566,6 +1609,10 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
1566
|
1609
|
{
|
|
1567
|
1610
|
sql += $" and T_Wo_WorkOrder.F_ID in ( " + strsq + ") ";
|
|
1568
|
1611
|
}
|
|
|
1612
|
+ else
|
|
|
1613
|
+ {
|
|
|
1614
|
+ sql += $" and 1!=1";
|
|
|
1615
|
+ }
|
|
1569
|
1616
|
}
|
|
1570
|
1617
|
#endregion
|
|
1571
|
1618
|
else
|
|
|
@@ -2115,6 +2162,10 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
2115
|
2162
|
{
|
|
2116
|
2163
|
sql += $" and T_Wo_WorkOrder.F_ID in ( " + strsq + ") ";
|
|
2117
|
2164
|
}
|
|
|
2165
|
+ else
|
|
|
2166
|
+ {
|
|
|
2167
|
+ sql += $" and 1!=1";
|
|
|
2168
|
+ }
|
|
2118
|
2169
|
}
|
|
2119
|
2170
|
#endregion
|
|
2120
|
2171
|
else
|
|
|
@@ -6169,39 +6220,73 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
6169
|
6220
|
/// <returns></returns>
|
|
6170
|
6221
|
|
|
6171
|
6222
|
[WechatActionFilter]
|
|
6172
|
|
- public ActionResult HigApprovalOrder(string OpenId, long orderid, string cont)
|
|
|
6223
|
+ public ActionResult HigApprovalOrder(string OpenId, long orderid, string cont, int isApproval = 0)
|
|
6173
|
6224
|
{
|
|
6174
|
6225
|
if (!string.IsNullOrEmpty(OpenId))
|
|
6175
|
6226
|
{
|
|
6176
|
6227
|
var ua = userAccountBLL.GetModelList(" F_WxOpenId='" + OpenId + "'").FirstOrDefault();
|
|
6177
|
6228
|
if (ua != null)
|
|
6178
|
6229
|
{
|
|
|
6230
|
+ string isagreestr = "";
|
|
|
6231
|
+ string touser = "";
|
|
6179
|
6232
|
Model.T_Wo_WorkOrder model = woBLL.GetModel(orderid);
|
|
6180
|
6233
|
//验证信息
|
|
6181
|
6234
|
if (model != null)
|
|
6182
|
6235
|
{
|
|
6183
|
6236
|
var itemlast = itembll.GetModelList(" F_ItemType=" + (int)EnumItemType.audit + " and F_OptType=" + (int)EnumItemOpt.audit + "and F_NextUser= '" + ua.F_UserCode + "'" + "and F_IsUsed=2 and F_WoID = " + orderid);
|
|
6184
|
|
- int overtime = 0, sms = 0;
|
|
|
6237
|
+ var itemlist1 = itembll.GetModelList(" F_WoState=" + (int)EnumWorkOrderState.audit + " and F_OptType=" + (int)EnumItemOpt.deal + "" + " and F_WoID = " + orderid).Where(p => p.F_Type == 1 || p.F_Type == 3).OrderByDescending(t => t.F_CreateTime).FirstOrDefault();
|
|
|
6238
|
+ var itemlist2 = itembll.GetModelList(" F_WoState=" + (int)EnumWorkOrderState.audit + " and F_OptType=" + (int)EnumItemOpt.deal + "" + " and F_WoID = " + orderid).Where(p => p.F_Type == 2).OrderByDescending(t => t.F_CreateTime).FirstOrDefault();
|
|
6185
|
6239
|
if (itemlast.Count > 0)
|
|
6186
|
6240
|
{
|
|
6187
|
6241
|
foreach (var it in itemlast)
|
|
6188
|
6242
|
{
|
|
6189
|
|
- if (!string .IsNullOrEmpty (it.F_LimitTime))
|
|
6190
|
|
- overtime = int.Parse(it.F_LimitTime);
|
|
6191
|
|
- sms = int .Parse (it.F_IsSMS.ToString ());
|
|
6192
|
|
-
|
|
6193
|
6243
|
it.F_IsUsed = 1;
|
|
6194
|
6244
|
itembll.Update(it);
|
|
6195
|
6245
|
}
|
|
6196
|
6246
|
}
|
|
6197
|
6247
|
model.F_Highopinions = cont;
|
|
|
6248
|
+ if (isApproval == 1)
|
|
|
6249
|
+ isagreestr = " 通过 " + cont;
|
|
|
6250
|
+ else
|
|
|
6251
|
+ isagreestr = " 未通过 " + cont;
|
|
6198
|
6252
|
string deptname = "";
|
|
6199
|
6253
|
var deptmodel = departmentBLL.GetModel(ua.F_DeptId);
|
|
6200
|
6254
|
if (deptmodel != null)
|
|
6201
|
6255
|
{
|
|
6202
|
6256
|
deptname = deptmodel.F_DeptName + "-";
|
|
6203
|
6257
|
}
|
|
6204
|
|
- AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批", (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, "", 0, ua, overtime, sms, "", 1);
|
|
|
6258
|
+ if (itemlist1 != null)
|
|
|
6259
|
+ {
|
|
|
6260
|
+ int type = Convert.ToInt32(itemlist1.F_Type);
|
|
|
6261
|
+ if (isApproval == 1)
|
|
|
6262
|
+ {
|
|
|
6263
|
+ model.F_State = (int)EnumWorkOrderState.finish;
|
|
|
6264
|
+ AddLog(model.F_ID, (int)EnumWorkOrderState.finish, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, "", 0, ua, 0, 0, "", 1, type);
|
|
|
6265
|
+ }
|
|
|
6266
|
+ else
|
|
|
6267
|
+ {
|
|
|
6268
|
+ touser = itemlist1.F_CreateUser;
|
|
|
6269
|
+ model.F_State = (int)EnumWorkOrderState.receive;
|
|
|
6270
|
+ AddLog(model.F_ID, (int)EnumWorkOrderState.receive, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.deal, (int)EnumItemOpt.reaudit, touser, 0, ua, 0, 0, "", 0, type);
|
|
|
6271
|
+ }
|
|
|
6272
|
+ }
|
|
|
6273
|
+ if (itemlist2 != null)
|
|
|
6274
|
+ {
|
|
|
6275
|
+ int type = Convert.ToInt32(itemlist2.F_Type);
|
|
|
6276
|
+ if (isApproval == 1)
|
|
|
6277
|
+ {
|
|
|
6278
|
+ model.F_State2 = (int)EnumWorkOrderState.finish;
|
|
|
6279
|
+ AddLog(model.F_ID, (int)EnumWorkOrderState.finish, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, "", 0, ua, 0, 0, "", 1, type);
|
|
|
6280
|
+ }
|
|
|
6281
|
+ else
|
|
|
6282
|
+ {
|
|
|
6283
|
+ touser = itemlist1.F_CreateUser;
|
|
|
6284
|
+ model.F_State2 = (int)EnumWorkOrderState.receive;
|
|
|
6285
|
+ AddLog(model.F_ID, (int)EnumWorkOrderState.receive, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批" + isagreestr, (int)EnumItemType.deal, (int)EnumItemOpt.reaudit, touser, 0, ua, 0, 0, "", 0, type);
|
|
|
6286
|
+ }
|
|
|
6287
|
+ }
|
|
|
6288
|
+
|
|
|
6289
|
+ //AddLog(model.F_ID, model.F_State.Value, deptname + ua.F_UserName + "(" + ua.F_WorkNumber + ")" + "高层已审批"+ isagreestr, (int)EnumItemType.audit, (int)EnumItemOpt.reaudit, touser, 0, ua, 0, 0, "", 1);
|
|
6205
|
6290
|
bool n = woBLL.Update(model);
|
|
6206
|
6291
|
if (n)
|
|
6207
|
6292
|
return Success("审批成功");
|
|
|
@@ -6301,7 +6386,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
6301
|
6386
|
[WechatActionFilter]
|
|
6302
|
6387
|
public ActionResult DealWorkOrder(string OpenId, long orderid, string F_Files, string cont, WorkOrdeDeptment deptment,
|
|
6303
|
6388
|
string uncont = "",
|
|
6304
|
|
- int isvisit = 1, int isover = 0, int inoutflag = 0)
|
|
|
6389
|
+ int isvisit = 1, int isover = 0, int inoutflag = 0, int isApprovalp = 0)
|
|
6305
|
6390
|
{
|
|
6306
|
6391
|
string markdepts = "37,57,74,88,268,295,339,422,213,427,433";
|
|
6307
|
6392
|
string qualdepts = "12,36,295,245";
|
|
|
@@ -6388,7 +6473,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
6388
|
6473
|
return Error("工单已处理请勿重复操作!");
|
|
6389
|
6474
|
else
|
|
6390
|
6475
|
{
|
|
6391
|
|
- var res = DealWO(ua, model, F_Files, input, cont, isover, uncont, Convert.ToInt32(zflag));
|
|
|
6476
|
+ var res = DealWO(ua, model, F_Files, input, cont, isover, uncont, Convert.ToInt32(zflag),"", 0, isApprovalp);
|
|
6392
|
6477
|
if (res)
|
|
6393
|
6478
|
return Success("处理成功");
|
|
6394
|
6479
|
else
|
|
|
@@ -7008,7 +7093,7 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
7008
|
7093
|
/// <summary>
|
|
7009
|
7094
|
/// 处理工单
|
|
7010
|
7095
|
/// </summary>
|
|
7011
|
|
- public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, string F_Files, WorkOrderNewInput input, string cont, int isover = 0, string uncont = "",int flag=1, string eventreason = "", int flagstate = 0)
|
|
|
7096
|
+ public bool DealWO(Model.T_Sys_UserAccount nowUser, Model.T_Wo_WorkOrder model, string F_Files, WorkOrderNewInput input, string cont, int isover = 0, string uncont = "",int flag=1, string eventreason = "", int flagstate = 0, int isApprovalp = 0)
|
|
7012
|
7097
|
{
|
|
7013
|
7098
|
#region 工单处理
|
|
7014
|
7099
|
int sms = 0;
|
|
|
@@ -7047,6 +7132,31 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
7047
|
7132
|
nextuser = nowUser.F_UserCode;
|
|
7048
|
7133
|
nextdept = nowUser.F_DeptId;
|
|
7049
|
7134
|
}
|
|
|
7135
|
+ #region 高层审批
|
|
|
7136
|
+ string htouser = "", htousername = ""; int hclbm = 0;
|
|
|
7137
|
+ if (isApprovalp != 0)
|
|
|
7138
|
+ {
|
|
|
7139
|
+ hclbm = GetGCDept(nowUser.F_DeptId);
|
|
|
7140
|
+ if (hclbm != 0)
|
|
|
7141
|
+ {
|
|
|
7142
|
+ var cluslist = userAccountBLL.GetModelList($"F_DeptId = {hclbm}");
|
|
|
7143
|
+ if (cluslist.Count > 0)
|
|
|
7144
|
+ {
|
|
|
7145
|
+ foreach (var l in cluslist)
|
|
|
7146
|
+ {
|
|
|
7147
|
+ if (string.IsNullOrEmpty(htouser))
|
|
|
7148
|
+ {
|
|
|
7149
|
+ htouser = string.IsNullOrEmpty(htouser) ? l.F_UserCode : htouser + "," + l.F_UserCode;
|
|
|
7150
|
+ htousername = string.IsNullOrEmpty(htousername) ? l.F_UserName + "(" + l.F_WorkNumber + ")" : htousername + "," + l.F_UserName + "(" + l.F_WorkNumber + ")";
|
|
|
7151
|
+ }
|
|
|
7152
|
+ }
|
|
|
7153
|
+ }
|
|
|
7154
|
+ wostate = (int)EnumWorkOrderState.audit;
|
|
|
7155
|
+ }
|
|
|
7156
|
+
|
|
|
7157
|
+ }
|
|
|
7158
|
+
|
|
|
7159
|
+ #endregion
|
|
7050
|
7160
|
#region 读取当前登录人部门
|
|
7051
|
7161
|
string deptname = "";
|
|
7052
|
7162
|
var deptmodel = departmentBLL.GetModel(nowUser.F_DeptId);
|
|
|
@@ -7060,6 +7170,8 @@ namespace CallCenterApi.Interface.Controllers.weixin
|
|
7060
|
7170
|
optcont = ",处理内容:" + cont;
|
|
7061
|
7171
|
var content = deptname + nowUser.F_UserName + "(" + nowUser.F_WorkNumber + ")" + opt + "工单" + optcont;
|
|
7062
|
7172
|
var itemid = AddLog(model.F_ID, wostate, content, (int)EnumItemType.deal, optbut, nextuser, nextdept, nowUser, model.F_limit, sms, "", 0, flag, flagstate);
|
|
|
7173
|
+ if (hclbm>0)
|
|
|
7174
|
+ AddLog(model.F_ID, (int)EnumWorkOrderState.audit, htousername + "高层待审批", (int)EnumItemType.audit, (int)EnumItemOpt.audit, htouser, hclbm, nowUser, model.F_limit, sms, "", 2, flag);
|
|
7063
|
7175
|
if (itemid > 0)
|
|
7064
|
7176
|
{
|
|
7065
|
7177
|
#region 处理工单
|