|
|
@@ -2010,19 +2010,59 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
2010
|
2010
|
return Error("无操作权限!");
|
|
2011
|
2011
|
}
|
|
2012
|
2012
|
}
|
|
2013
|
|
- private List <Model .T_Wo_WorkOrderItem_New > ItemList(List<Model.T_Wo_WorkOrderItem_New> list)
|
|
|
2013
|
+ private List <ItemListLog> ItemList(List<Model.T_Wo_WorkOrderItem_New> list)
|
|
2014
|
2014
|
{
|
|
2015
|
|
- List<Model.T_Wo_WorkOrderItem_New> Modellist = new List<T_Wo_WorkOrderItem_New>();
|
|
|
2015
|
+ List< ItemListLog> Modellist = new List<ItemListLog>();
|
|
2016
|
2016
|
|
|
2017
|
2017
|
foreach (var it in list)
|
|
2018
|
2018
|
{
|
|
|
2019
|
+ ItemListLog log = new ItemListLog();
|
|
|
2020
|
+
|
|
|
2021
|
+ log.F_ID = it.F_ID;
|
|
|
2022
|
+ if (it.F_WoID>0)
|
|
|
2023
|
+ {
|
|
|
2024
|
+ if (workOrder.GetModel(it.F_WoID)!=null )
|
|
|
2025
|
+ {
|
|
|
2026
|
+ log.F_WoID = workOrder.GetModel(it.F_WoID).F_WorkOrderCode;
|
|
|
2027
|
+ }
|
|
|
2028
|
+ }
|
|
|
2029
|
+
|
|
|
2030
|
+ log.F_WoState = it.F_WoState;
|
|
|
2031
|
+ log.F_ItemType = it.F_ItemType;
|
|
|
2032
|
+ log.F_OptType = it.F_OptType;
|
|
|
2033
|
+ log.F_OptContent = it.F_OptContent;
|
|
|
2034
|
+ log.F_IsUsed = it.F_IsUsed;
|
|
|
2035
|
+ log.F_LimitTime = it.F_LimitTime;
|
|
|
2036
|
+ log.F_IsSMS = it.F_IsSMS;
|
|
|
2037
|
+ log.F_SMSToUser = it.F_SMSToUser;
|
|
|
2038
|
+ log.F_SMSToPhone = it.F_SMSToPhone;
|
|
|
2039
|
+ log.F_SMSContent = it.F_SMSContent;
|
|
|
2040
|
+ log.F_CreateTime = it.F_CreateTime;
|
|
2019
|
2041
|
string username = "";
|
|
2020
|
2042
|
if (!string.IsNullOrEmpty (it .F_CreateUser ))
|
|
2021
|
2043
|
{
|
|
2022
|
|
- username = sysUserAccountBll.GetModel(it.F_CreateUser).F_UserName;
|
|
2023
|
|
- it.F_CreateUser = it.F_CreateUser + "(" + username + ")";
|
|
|
2044
|
+ if (sysUserAccountBll.GetModel(it.F_CreateUser)!=null )
|
|
|
2045
|
+ {
|
|
|
2046
|
+ username = sysUserAccountBll.GetModel(it.F_CreateUser).F_UserName;
|
|
|
2047
|
+ log.F_CreateUser = it.F_CreateUser + "(" + username + ")";
|
|
|
2048
|
+ }
|
|
2024
|
2049
|
}
|
|
2025
|
|
- Modellist.Add(it);
|
|
|
2050
|
+ if (!string.IsNullOrEmpty(it.F_NextUser ))
|
|
|
2051
|
+ {
|
|
|
2052
|
+ if (sysUserAccountBll.GetModel(it.F_NextUser)!=null )
|
|
|
2053
|
+ {
|
|
|
2054
|
+ log.F_NextUser = it.F_NextUser + "(" + sysUserAccountBll.GetModel(it.F_NextUser).F_UserName + ")";
|
|
|
2055
|
+ }
|
|
|
2056
|
+ }
|
|
|
2057
|
+ if (it.F_NextDept >0)
|
|
|
2058
|
+ {
|
|
|
2059
|
+ if (departmentBLL.GetModel(int.Parse(it.F_NextDept.ToString()))!=null )
|
|
|
2060
|
+ {
|
|
|
2061
|
+ log.F_NextDept = departmentBLL.GetModel(int.Parse(it.F_NextDept.ToString())).F_DeptName;
|
|
|
2062
|
+ }
|
|
|
2063
|
+
|
|
|
2064
|
+ }
|
|
|
2065
|
+ Modellist.Add(log);
|
|
2026
|
2066
|
}
|
|
2027
|
2067
|
return Modellist;
|
|
2028
|
2068
|
}
|
|
|
@@ -2046,7 +2086,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
2046
|
2086
|
{
|
|
2047
|
2087
|
state = "success",
|
|
2048
|
2088
|
message = "成功",
|
|
2049
|
|
- rows = itemlasts,
|
|
|
2089
|
+ rows = ItemList(itemlasts),
|
|
2050
|
2090
|
total = itemlasts.Count,
|
|
2051
|
2091
|
};
|
|
2052
|
2092
|
return Content(obj.ToJson());
|
|
|
@@ -3085,7 +3125,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3085
|
3125
|
return Error("请输入客户姓名!");
|
|
3086
|
3126
|
if (string.IsNullOrEmpty(input.F_CusPhone))
|
|
3087
|
3127
|
return Error("请输入客户电话!");
|
|
3088
|
|
- if (!string.IsNullOrEmpty(input.F_BatchNumber) && !vaBatchNumber(input.F_BatchNumber))
|
|
|
3128
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber) && vaBatchNumber(input.F_BatchNumber))
|
|
3089
|
3129
|
{
|
|
3090
|
3130
|
return Error("请输入正确的生产批次号!");
|
|
3091
|
3131
|
}
|
|
|
@@ -3307,7 +3347,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3307
|
3347
|
return Error("请输入客户姓名!");
|
|
3308
|
3348
|
if (string.IsNullOrEmpty(input.F_CusPhone))
|
|
3309
|
3349
|
return Error("请输入客户电话!");
|
|
3310
|
|
- if (!string.IsNullOrEmpty(input.F_BatchNumber) && !vaBatchNumber(input.F_BatchNumber))
|
|
|
3350
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber) && vaBatchNumber(input.F_BatchNumber))
|
|
3311
|
3351
|
{
|
|
3312
|
3352
|
return Error("请输入正确的生产批次号!");
|
|
3313
|
3353
|
}
|
|
|
@@ -3924,17 +3964,36 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3924
|
3964
|
private bool IsMaterial(WorkOrderNewInput input)
|
|
3925
|
3965
|
{
|
|
3926
|
3966
|
bool n= false;
|
|
3927
|
|
- if (!string .IsNullOrEmpty (input.F_MaterialID)&& !string.IsNullOrEmpty(input.F_MaterialName)
|
|
3928
|
|
- && !string.IsNullOrEmpty(input.F_Model) && !string.IsNullOrEmpty(input.F_Specs)
|
|
3929
|
|
- && !string.IsNullOrEmpty(input.F_Level1) && !string.IsNullOrEmpty(input.F_Level2)
|
|
3930
|
|
- && !string.IsNullOrEmpty(input.F_Level3) && !string.IsNullOrEmpty(input.F_Brand)
|
|
3931
|
|
- && !string.IsNullOrEmpty(input.F_MaterialEffect) && !string.IsNullOrEmpty(input.F_Craft)
|
|
3932
|
|
- && !string.IsNullOrEmpty(input.F_Pipeline))
|
|
|
3967
|
+ if (!string .IsNullOrEmpty (input.F_MaterialID)|| !string.IsNullOrEmpty(input.F_MaterialName)
|
|
|
3968
|
+ || !string.IsNullOrEmpty(input.F_Model) || !string.IsNullOrEmpty(input.F_Specs)
|
|
|
3969
|
+ || !string.IsNullOrEmpty(input.F_Level1) || !string.IsNullOrEmpty(input.F_Level2)
|
|
|
3970
|
+ || !string.IsNullOrEmpty(input.F_Level3) || !string.IsNullOrEmpty(input.F_Brand)
|
|
|
3971
|
+ || !string.IsNullOrEmpty(input.F_MaterialEffect) || !string.IsNullOrEmpty(input.F_Craft)
|
|
|
3972
|
+ || !string.IsNullOrEmpty(input.F_Pipeline))
|
|
3933
|
3973
|
{
|
|
3934
|
3974
|
n = true;
|
|
3935
|
3975
|
}
|
|
3936
|
3976
|
return n;
|
|
3937
|
3977
|
}
|
|
|
3978
|
+ private void AddMait(WorkOrderNewInput input,string usercode)
|
|
|
3979
|
+ {
|
|
|
3980
|
+ Model.T_Wo_MaterialManage dModel = new Model.T_Wo_MaterialManage();
|
|
|
3981
|
+ dModel.F_MaterialCode = input.F_MaterialID.ToString();//物料编号
|
|
|
3982
|
+ dModel.F_MaterialName = input.F_MaterialName;//物料名称
|
|
|
3983
|
+ dModel.F_Model = input.F_Model;//型号
|
|
|
3984
|
+ dModel.F_Specs = input.F_Specs;//规格
|
|
|
3985
|
+ dModel.F_Level1 = input.F_Level1;//一级分类
|
|
|
3986
|
+ dModel.F_Level2 = input.F_Level2;//二级分类
|
|
|
3987
|
+ dModel.F_Level3 = input.F_Level3;//三级分类
|
|
|
3988
|
+ dModel.F_Brand = input.F_Brand;//品牌
|
|
|
3989
|
+ dModel.F_MaterialEffect = input.F_MaterialEffect;//复合肥肥效
|
|
|
3990
|
+ dModel.F_Craft = input.F_Craft;//工艺
|
|
|
3991
|
+ dModel.F_Pipeline = input.F_Pipeline;//产品线
|
|
|
3992
|
+ dModel.F_IsDelete = 0;
|
|
|
3993
|
+ dModel.F_CreateOn = DateTime.Now;
|
|
|
3994
|
+ dModel.F_CreateBy = usercode;
|
|
|
3995
|
+ int f = mmBLL.Add(dModel);
|
|
|
3996
|
+ }
|
|
3938
|
3997
|
/// <summary>
|
|
3939
|
3998
|
/// 根据传入的对象和input的内容返回对象(添加修改使用)
|
|
3940
|
3999
|
/// </summary>
|
|
|
@@ -3960,7 +4019,7 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3960
|
4019
|
else
|
|
3961
|
4020
|
{
|
|
3962
|
4021
|
model.F_WorkOrderCode = model.F_WorkOrderCode;//工单编号
|
|
3963
|
|
- model.F_Source = input.F_Source.ToString();//工单来源
|
|
|
4022
|
+ model.F_Source = model.F_Source.ToString();//工单来源
|
|
3964
|
4023
|
}
|
|
3965
|
4024
|
#region 基本字段
|
|
3966
|
4025
|
if (type == 2)
|
|
|
@@ -3993,32 +4052,27 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
3993
|
4052
|
// #endregion
|
|
3994
|
4053
|
// int b = cusbll.Add(Customer);
|
|
3995
|
4054
|
// }
|
|
3996
|
|
- if (string.IsNullOrEmpty(input.F_MaterialID)&& IsMaterial(input))
|
|
|
4055
|
+ if ( IsMaterial(input))
|
|
3997
|
4056
|
{
|
|
3998
|
|
- while (true)
|
|
|
4057
|
+ if (string.IsNullOrEmpty(input.F_MaterialID))
|
|
3999
|
4058
|
{
|
|
4000
|
|
- if (!gematerque(0, GetIntCode()))
|
|
|
4059
|
+ while (true)
|
|
4001
|
4060
|
{
|
|
4002
|
|
- input.F_MaterialID = GetIntCode();
|
|
4003
|
|
- break;
|
|
|
4061
|
+ if (!gematerque(0, GetIntCode()))
|
|
|
4062
|
+ {
|
|
|
4063
|
+ input.F_MaterialID = GetIntCode();
|
|
|
4064
|
+ AddMait(input, usercode);
|
|
|
4065
|
+ break;
|
|
|
4066
|
+ }
|
|
|
4067
|
+ }
|
|
|
4068
|
+ }
|
|
|
4069
|
+ else
|
|
|
4070
|
+ {
|
|
|
4071
|
+ if (!gematerque(0, input.F_MaterialID))
|
|
|
4072
|
+ {
|
|
|
4073
|
+ AddMait(input, usercode);
|
|
4004
|
4074
|
}
|
|
4005
|
4075
|
}
|
|
4006
|
|
- Model.T_Wo_MaterialManage dModel = new Model.T_Wo_MaterialManage();
|
|
4007
|
|
- dModel.F_MaterialCode = input.F_MaterialID.ToString();//物料编号
|
|
4008
|
|
- dModel.F_MaterialName = input.F_MaterialName;//物料名称
|
|
4009
|
|
- dModel.F_Model = input.F_Model;//型号
|
|
4010
|
|
- dModel.F_Specs = input.F_Specs;//规格
|
|
4011
|
|
- dModel.F_Level1 = input.F_Level1;//一级分类
|
|
4012
|
|
- dModel.F_Level2 = input.F_Level2;//二级分类
|
|
4013
|
|
- dModel.F_Level3 = input.F_Level3;//三级分类
|
|
4014
|
|
- dModel.F_Brand = input.F_Brand;//品牌
|
|
4015
|
|
- dModel.F_MaterialEffect = input.F_MaterialEffect;//复合肥肥效
|
|
4016
|
|
- dModel.F_Craft = input.F_Craft;//工艺
|
|
4017
|
|
- dModel.F_Pipeline = input.F_Pipeline;//产品线
|
|
4018
|
|
- dModel.F_IsDelete = 0;
|
|
4019
|
|
- dModel.F_CreateOn = DateTime.Now;
|
|
4020
|
|
- dModel.F_CreateBy = usercode;
|
|
4021
|
|
- int f = mmBLL.Add(dModel);
|
|
4022
|
4076
|
}
|
|
4023
|
4077
|
}
|
|
4024
|
4078
|
}
|
|
|
@@ -4182,8 +4236,29 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
4182
|
4236
|
#region 添加验证判断
|
|
4183
|
4237
|
if (!(input.F_Type > 0 && input.F_Type < 5))
|
|
4184
|
4238
|
return Error("工单类型错误!");
|
|
4185
|
|
- if (input.F_State == 2 && !vaBatchNumber(input.F_BatchNumber))
|
|
|
4239
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber) && vaBatchNumber(input.F_BatchNumber))
|
|
4186
|
4240
|
return Error("请输入正确的工单批次号!");
|
|
|
4241
|
+ else
|
|
|
4242
|
+ {
|
|
|
4243
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber))
|
|
|
4244
|
+ {
|
|
|
4245
|
+ var prono = input.F_BatchNumber.Substring(0, 6);
|
|
|
4246
|
+ try
|
|
|
4247
|
+ {
|
|
|
4248
|
+ var pronos = DateTime.ParseExact(prono, "yyMMdd", null).ToString("yyyy-MM-dd");
|
|
|
4249
|
+ var protime = Convert.ToDateTime(pronos);
|
|
|
4250
|
+ if (DateTime.Parse(pronos) > DateTime.Now)
|
|
|
4251
|
+ {
|
|
|
4252
|
+ return Error("生产批次号错误,生产日期不能大于当前时间!");
|
|
|
4253
|
+ }
|
|
|
4254
|
+
|
|
|
4255
|
+ }
|
|
|
4256
|
+ catch
|
|
|
4257
|
+ {
|
|
|
4258
|
+ return Error("生产批次号错误,日期格式错误!");
|
|
|
4259
|
+ }
|
|
|
4260
|
+ }
|
|
|
4261
|
+ }
|
|
4187
|
4262
|
if (string.IsNullOrEmpty(input.F_CusName))
|
|
4188
|
4263
|
return Error("请输入客户姓名!");
|
|
4189
|
4264
|
if (string.IsNullOrEmpty(input.F_CusPhone))
|
|
|
@@ -4323,8 +4398,29 @@ namespace CallCenterApi.Interface.Controllers.workorder
|
|
4323
|
4398
|
#region 添加验证判断
|
|
4324
|
4399
|
if (!(input.F_Type > 0 && input.F_Type < 5))
|
|
4325
|
4400
|
return Error("工单类型错误!");
|
|
4326
|
|
- if (input.F_State == 2 && !vaBatchNumber(input.F_BatchNumber))
|
|
|
4401
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber) && vaBatchNumber(input.F_BatchNumber))
|
|
4327
|
4402
|
return Error("请输入正确的工单批次号!");
|
|
|
4403
|
+ else
|
|
|
4404
|
+ {
|
|
|
4405
|
+ if (!string.IsNullOrEmpty(input.F_BatchNumber))
|
|
|
4406
|
+ {
|
|
|
4407
|
+ var prono = input.F_BatchNumber.Substring(0, 6);
|
|
|
4408
|
+ try
|
|
|
4409
|
+ {
|
|
|
4410
|
+ var pronos = DateTime.ParseExact(prono, "yyMMdd", null).ToString("yyyy-MM-dd");
|
|
|
4411
|
+ var protime = Convert.ToDateTime(pronos);
|
|
|
4412
|
+ if (DateTime.Parse(pronos) > DateTime.Now)
|
|
|
4413
|
+ {
|
|
|
4414
|
+ return Error("生产批次号错误,生产日期不能大于当前时间!");
|
|
|
4415
|
+ }
|
|
|
4416
|
+
|
|
|
4417
|
+ }
|
|
|
4418
|
+ catch
|
|
|
4419
|
+ {
|
|
|
4420
|
+ return Error("生产批次号错误,日期格式错误!");
|
|
|
4421
|
+ }
|
|
|
4422
|
+ }
|
|
|
4423
|
+ }
|
|
4328
|
4424
|
if (string.IsNullOrEmpty(input.F_CusName))
|
|
4329
|
4425
|
return Error("请输入客户姓名!");
|
|
4330
|
4426
|
if (string.IsNullOrEmpty(input.F_CusPhone))
|
|
|
@@ -5758,4 +5854,132 @@ public class WorkOrdeDeptment
|
|
5758
|
5854
|
{
|
|
5759
|
5855
|
get; set;
|
|
5760
|
5856
|
}
|
|
|
5857
|
+}
|
|
|
5858
|
+public class ItemListLog
|
|
|
5859
|
+{
|
|
|
5860
|
+ public long F_ID
|
|
|
5861
|
+ {
|
|
|
5862
|
+ set;
|
|
|
5863
|
+ get;
|
|
|
5864
|
+ }
|
|
|
5865
|
+ /// <summary>
|
|
|
5866
|
+ /// 工单ID
|
|
|
5867
|
+ /// </summary>
|
|
|
5868
|
+ public string F_WoID
|
|
|
5869
|
+ {
|
|
|
5870
|
+ set;
|
|
|
5871
|
+ get;
|
|
|
5872
|
+ }
|
|
|
5873
|
+ /// <summary>
|
|
|
5874
|
+ /// 工单状态
|
|
|
5875
|
+ /// </summary>
|
|
|
5876
|
+ public int? F_WoState
|
|
|
5877
|
+ {
|
|
|
5878
|
+ set;
|
|
|
5879
|
+ get;
|
|
|
5880
|
+ }
|
|
|
5881
|
+ /// <summary>
|
|
|
5882
|
+ /// 记录类型 1工单处理,2工单催办
|
|
|
5883
|
+ /// </summary>
|
|
|
5884
|
+ public int? F_ItemType
|
|
|
5885
|
+ {
|
|
|
5886
|
+ set;
|
|
|
5887
|
+ get;
|
|
|
5888
|
+ }
|
|
|
5889
|
+ /// <summary>
|
|
|
5890
|
+ /// 操作类型
|
|
|
5891
|
+ /// </summary>
|
|
|
5892
|
+ public int? F_OptType
|
|
|
5893
|
+ {
|
|
|
5894
|
+ set;
|
|
|
5895
|
+ get;
|
|
|
5896
|
+ }
|
|
|
5897
|
+ /// <summary>
|
|
|
5898
|
+ /// 操作内容
|
|
|
5899
|
+ /// </summary>
|
|
|
5900
|
+ public string F_OptContent
|
|
|
5901
|
+ {
|
|
|
5902
|
+ set;
|
|
|
5903
|
+ get;
|
|
|
5904
|
+ }
|
|
|
5905
|
+ /// <summary>
|
|
|
5906
|
+ /// 下一步操作人
|
|
|
5907
|
+ /// </summary>
|
|
|
5908
|
+ public string F_NextUser
|
|
|
5909
|
+ {
|
|
|
5910
|
+ set;
|
|
|
5911
|
+ get;
|
|
|
5912
|
+ }
|
|
|
5913
|
+ /// <summary>
|
|
|
5914
|
+ /// 下一步操作部门
|
|
|
5915
|
+ /// </summary>
|
|
|
5916
|
+ public string F_NextDept
|
|
|
5917
|
+ {
|
|
|
5918
|
+ set;
|
|
|
5919
|
+ get;
|
|
|
5920
|
+ }
|
|
|
5921
|
+ /// <summary>
|
|
|
5922
|
+ /// 是否在用,0是 1否
|
|
|
5923
|
+ /// </summary>
|
|
|
5924
|
+ public int? F_IsUsed
|
|
|
5925
|
+ {
|
|
|
5926
|
+ set;
|
|
|
5927
|
+ get;
|
|
|
5928
|
+ }
|
|
|
5929
|
+ /// <summary>
|
|
|
5930
|
+ /// 时限
|
|
|
5931
|
+ /// </summary>
|
|
|
5932
|
+ public string F_LimitTime
|
|
|
5933
|
+ {
|
|
|
5934
|
+ set;
|
|
|
5935
|
+ get;
|
|
|
5936
|
+ }
|
|
|
5937
|
+ /// <summary>
|
|
|
5938
|
+ /// 是否短信提醒
|
|
|
5939
|
+ /// </summary>
|
|
|
5940
|
+ public int? F_IsSMS
|
|
|
5941
|
+ {
|
|
|
5942
|
+ set;
|
|
|
5943
|
+ get;
|
|
|
5944
|
+ }
|
|
|
5945
|
+ /// <summary>
|
|
|
5946
|
+ /// 短信提醒人
|
|
|
5947
|
+ /// </summary>
|
|
|
5948
|
+ public string F_SMSToUser
|
|
|
5949
|
+ {
|
|
|
5950
|
+ set;
|
|
|
5951
|
+ get;
|
|
|
5952
|
+ }
|
|
|
5953
|
+ /// <summary>
|
|
|
5954
|
+ /// 短信提醒电话
|
|
|
5955
|
+ /// </summary>
|
|
|
5956
|
+ public string F_SMSToPhone
|
|
|
5957
|
+ {
|
|
|
5958
|
+ set;
|
|
|
5959
|
+ get;
|
|
|
5960
|
+ }
|
|
|
5961
|
+ /// <summary>
|
|
|
5962
|
+ /// 短信提醒内容
|
|
|
5963
|
+ /// </summary>
|
|
|
5964
|
+ public string F_SMSContent
|
|
|
5965
|
+ {
|
|
|
5966
|
+ set;
|
|
|
5967
|
+ get;
|
|
|
5968
|
+ }
|
|
|
5969
|
+ /// <summary>
|
|
|
5970
|
+ /// 创建人
|
|
|
5971
|
+ /// </summary>
|
|
|
5972
|
+ public string F_CreateUser
|
|
|
5973
|
+ {
|
|
|
5974
|
+ set;
|
|
|
5975
|
+ get;
|
|
|
5976
|
+ }
|
|
|
5977
|
+ /// <summary>
|
|
|
5978
|
+ /// 创建时间
|
|
|
5979
|
+ /// </summary>
|
|
|
5980
|
+ public DateTime? F_CreateTime
|
|
|
5981
|
+ {
|
|
|
5982
|
+ set;
|
|
|
5983
|
+ get;
|
|
|
5984
|
+ }
|
|
5761
|
5985
|
}
|