|
|
@@ -11,6 +11,7 @@ import api.entity.database.system.*;
|
|
11
|
11
|
import api.entity.input.PageInput;
|
|
12
|
12
|
import api.entity.input.order.TimeOutReportInput;
|
|
13
|
13
|
import api.entity.input.order.TransOrderInput;
|
|
|
14
|
+import api.entity.view.order.ExportWorkOrderBaseView;
|
|
14
|
15
|
import api.entity.view.order.TimeOutReportView;
|
|
15
|
16
|
import api.entity.view.order.WorkOrderBaseView;
|
|
16
|
17
|
import api.entity.view.system.DeptView;
|
|
|
@@ -96,9 +97,12 @@ public class WorkOrderBaseController extends BaseController {
|
|
96
|
97
|
private IPatientService patientService;
|
|
97
|
98
|
@Autowired
|
|
98
|
99
|
private IUserService userService;
|
|
|
100
|
+ @Autowired
|
|
|
101
|
+ private IWorkOrderVisitLogService workordervisitlogService;
|
|
|
102
|
+
|
|
99
|
103
|
//待交办1 ; 待接单(没有处理人的时候)2; 待处理3; 待审核 4 ;待回访5 ;已完结6;7 超期列表
|
|
100
|
104
|
@ApiOperation("列表 listType 0 综合查询列表 1(处理人)我的待处理;2 待交办;3 已办待审核;4 已办待回访;" +
|
|
101
|
|
- "5 我的回复列表;6 组内工单7 超期列表 8 延期审核 9 我的待评价")
|
|
|
105
|
+ "5 我的回复列表;6 组内工单7 超期列表 8 延期审核 9 我的待评价,10 已回访")
|
|
102
|
106
|
@Log(title = "查询wo_workorderbase列表", businessType = BusinessType.QUERY)
|
|
103
|
107
|
@GetMapping
|
|
104
|
108
|
|
|
|
@@ -194,6 +198,9 @@ public class WorkOrderBaseController extends BaseController {
|
|
194
|
198
|
qw.eq(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dpj.getValue());
|
|
195
|
199
|
qw.eq(WorkOrderBase::getCallcode, CurrentUser().getUserName());
|
|
196
|
200
|
break;
|
|
|
201
|
+ case 10:
|
|
|
202
|
+ //已回访列表就是待评价列表
|
|
|
203
|
+ qw.gt(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dhf.getValue());
|
|
197
|
204
|
|
|
198
|
205
|
}
|
|
199
|
206
|
|
|
|
@@ -492,6 +499,16 @@ public class WorkOrderBaseController extends BaseController {
|
|
492
|
499
|
public WorkOrderBaseView trans(WorkOrderBase orderBase) {
|
|
493
|
500
|
|
|
494
|
501
|
WorkOrderBaseView ov = JSON.parseObject(JSON.toJSONString(orderBase), WorkOrderBaseView.class);
|
|
|
502
|
+ if(orderBase.getWorkorderstate()>EnumOrderStatus.dhf.getValue()){
|
|
|
503
|
+ LambdaQueryWrapper<WorkOrderVisitLog> la=new LambdaQueryWrapper<>();
|
|
|
504
|
+ la.eq(WorkOrderVisitLog::getWorkordercode,orderBase.getWorkordercode());
|
|
|
505
|
+ WorkOrderVisitLog log= workordervisitlogService.getEntity(la);
|
|
|
506
|
+ ov.setVisitName(log!=null?log.getOperatorname():"");
|
|
|
507
|
+ ov.setVisitTime(log!=null?log.getCreatetime():null);
|
|
|
508
|
+
|
|
|
509
|
+ }
|
|
|
510
|
+
|
|
|
511
|
+
|
|
495
|
512
|
if(orderBase.getComplaintdept()!=null && orderBase.getComplaintdept()>0){
|
|
496
|
513
|
DeptView ordertype = deptService.selectDeptNameById(orderBase.getComplaintdept() );
|
|
497
|
514
|
if(ordertype!=null){
|
|
|
@@ -519,66 +536,13 @@ public class WorkOrderBaseController extends BaseController {
|
|
519
|
536
|
}
|
|
520
|
537
|
|
|
521
|
538
|
}
|
|
522
|
|
-// switch(orderBase.getFirsttype().toString()) {
|
|
523
|
|
-// case "1000":
|
|
524
|
|
-// ov.setFirsttypename("咨询");
|
|
525
|
|
-// break;
|
|
526
|
|
-// case "2000":
|
|
527
|
|
-// ov.setFirsttypename("建议");
|
|
528
|
|
-// break;
|
|
529
|
|
-// case "3000":
|
|
530
|
|
-// ov.setFirsttypename("投诉");
|
|
531
|
|
-// break;
|
|
532
|
|
-//
|
|
533
|
|
-// case "4000":
|
|
534
|
|
-// ov.setFirsttypename("患者转运");
|
|
535
|
|
-// break;
|
|
536
|
|
-// default:
|
|
537
|
|
-// ov.setFirsttypename("");
|
|
538
|
|
-// break;
|
|
539
|
|
-// }
|
|
540
|
|
-
|
|
541
|
|
-
|
|
542
|
|
-
|
|
543
|
|
-
|
|
544
|
|
-
|
|
545
|
|
- //待交办1 ; 待接单(没有处理人的时候)2; 待处理3; 待审核 4 ;待回访5 ;已完结6;
|
|
546
|
|
-
|
|
547
|
|
- switch(orderBase.getWorkorderstate().toString()){
|
|
548
|
|
- case "1000":
|
|
549
|
|
- ov.setWorkorderstatename("待交办");
|
|
550
|
|
- break;
|
|
551
|
|
- case "2000":
|
|
552
|
|
- ov.setWorkorderstatename("待接单");
|
|
553
|
|
- break;
|
|
554
|
|
- case "3000":
|
|
555
|
|
- ov.setWorkorderstatename("待处理");
|
|
556
|
|
- break;
|
|
557
|
|
-
|
|
558
|
|
- case "3100":
|
|
559
|
|
- ov.setWorkorderstatename("待发车");
|
|
560
|
|
- break;
|
|
561
|
|
- case "3200":
|
|
562
|
|
- ov.setWorkorderstatename("已发车");
|
|
563
|
|
- break;
|
|
564
|
|
- case "4000":
|
|
565
|
|
- ov.setWorkorderstatename("待审核");
|
|
566
|
|
- break;
|
|
567
|
|
- case "5000":
|
|
568
|
|
- ov.setWorkorderstatename("待回访");
|
|
569
|
|
- break;
|
|
570
|
|
- case "5100":
|
|
571
|
|
- ov.setWorkorderstatename("待评价");
|
|
572
|
|
- break;
|
|
573
|
|
- case "6000":
|
|
574
|
|
- ov.setWorkorderstatename("已完结");
|
|
575
|
|
- break;
|
|
576
|
|
- default:
|
|
577
|
|
-
|
|
578
|
|
- ov.setWorkorderstatename("");
|
|
579
|
|
- break;
|
|
|
539
|
+ if(orderBase.getWorkorderstate()>0)
|
|
|
540
|
+ {
|
|
|
541
|
+ ov.setWorkorderstatename(EnumOrderStatus.getNameByValue(orderBase.getWorkorderstate()));
|
|
|
542
|
+ }
|
|
|
543
|
+ else {
|
|
|
544
|
+ ov.setWorkorderstatename("");
|
|
580
|
545
|
}
|
|
581
|
|
-
|
|
582
|
546
|
if (!StringHelper.isEmpty(orderBase.getFile())) {
|
|
583
|
547
|
String captchaEnabled = configService.getConfigValue("FileUrl");
|
|
584
|
548
|
LambdaQueryWrapper<SysAccessories> qw = new LambdaQueryWrapper<>();
|
|
|
@@ -599,17 +563,17 @@ public class WorkOrderBaseController extends BaseController {
|
|
599
|
563
|
}
|
|
600
|
564
|
if(orderBase.getMyd()!=null)
|
|
601
|
565
|
{
|
|
602
|
|
- if (orderBase.getMyd()==0)
|
|
603
|
|
- {
|
|
604
|
|
- ov.setMydname("不满意");
|
|
605
|
|
- }
|
|
606
|
|
- else if (orderBase.getMyd()==1)
|
|
|
566
|
+ if (orderBase.getMyd()==1)
|
|
607
|
567
|
{
|
|
608
|
568
|
ov.setMydname("满意");
|
|
609
|
569
|
}
|
|
610
|
570
|
else if (orderBase.getMyd()==2)
|
|
611
|
571
|
{
|
|
612
|
|
- ov.setMydname("非常满意");
|
|
|
572
|
+ ov.setMydname("基本满意");
|
|
|
573
|
+ }
|
|
|
574
|
+ else if (orderBase.getMyd()==3)
|
|
|
575
|
+ {
|
|
|
576
|
+ ov.setMydname("不满意");
|
|
613
|
577
|
}
|
|
614
|
578
|
|
|
615
|
579
|
}
|
|
|
@@ -1078,6 +1042,140 @@ public class WorkOrderBaseController extends BaseController {
|
|
1078
|
1042
|
}
|
|
1079
|
1043
|
|
|
1080
|
1044
|
|
|
|
1045
|
+ @ApiOperation("导出Excel")
|
|
|
1046
|
+ @Log(title = "导出Excel", businessType = BusinessType.EXPORT)
|
|
|
1047
|
+ @PostMapping("/exportExcel")
|
|
|
1048
|
+ @Anonymous
|
|
|
1049
|
+ public void exportExcel( WorkOrderBase input,Integer listType) {
|
|
|
1050
|
+ LambdaQueryWrapper<WorkOrderBase> qw = new LambdaQueryWrapper<>();
|
|
|
1051
|
+
|
|
|
1052
|
+ qw.eq(input.getFirsttype()!=null && input.getFirsttype()>0,WorkOrderBase::getFirsttype, input.getFirsttype());
|
|
|
1053
|
+ qw.like(!StringHelper.isEmpty(input.getCallnum()), WorkOrderBase::getCallnum, input.getCallnum());
|
|
|
1054
|
+ qw.like(!StringHelper.isEmpty(input.getCaller()), WorkOrderBase::getCaller, input.getCaller());
|
|
|
1055
|
+
|
|
|
1056
|
+
|
|
|
1057
|
+ qw.like(!StringHelper.isEmpty(input.getWorkordercode()), WorkOrderBase::getWorkordercode, input.getWorkordercode());
|
|
|
1058
|
+
|
|
|
1059
|
+ qw.eq(input.getRestartsnum() != null && input.getRestartsnum() >= 0, WorkOrderBase::getRestartsnum, input.getRestartsnum());
|
|
|
1060
|
+
|
|
|
1061
|
+ qw.eq(input.getWorkordercate() != null && input.getWorkordercate() > 0, WorkOrderBase::getWorkordercate, input.getWorkordercate());
|
|
|
1062
|
+ qw.eq(input.getWorkorderstate() != null && input.getWorkorderstate() >= 0, WorkOrderBase::getWorkorderstate, input.getWorkorderstate());
|
|
|
1063
|
+ qw.like(!StringHelper.isEmpty(input.getDealuser()), WorkOrderBase::getDealuser, input.getDealuser());
|
|
|
1064
|
+ qw.like(!StringHelper.isEmpty(input.getSource()), WorkOrderBase::getSource, input.getSource());
|
|
|
1065
|
+
|
|
|
1066
|
+ qw.eq(!StringHelper.isEmpty(input.getCustomerno()), WorkOrderBase::getCustomerno, input.getCustomerno());
|
|
|
1067
|
+
|
|
|
1068
|
+
|
|
|
1069
|
+ qw.eq(WorkOrderBase::getIsdelete, 0);
|
|
|
1070
|
+
|
|
|
1071
|
+ //ge("age", 18)表示查询年龄大于等于18的记录。
|
|
|
1072
|
+ qw.ge(input.getCreatetime() != null , WorkOrderBase::getCreatetime, input.getCreatetime());
|
|
|
1073
|
+ qw.le(input.getEndtime() != null , WorkOrderBase::getCreatetime, input.getEndtime());
|
|
|
1074
|
+
|
|
|
1075
|
+
|
|
|
1076
|
+ switch (listType) {
|
|
|
1077
|
+ //综合查询列表 kfyy 和admin可以看全部工单,其他人只能看见自己创建的或者自己处理的工单
|
|
|
1078
|
+ case 0:
|
|
|
1079
|
+
|
|
|
1080
|
+ break;
|
|
|
1081
|
+ //(处理人)我的待处理
|
|
|
1082
|
+ case 1:
|
|
|
1083
|
+ qw.eq(WorkOrderBase::getDealuser, CurrentUser().getUserName());
|
|
|
1084
|
+ Set<String> keys = roleService.selectRolePermissionByUserId(CurrentUser().getUserId());
|
|
|
1085
|
+ if (keys.contains("bmzg"))
|
|
|
1086
|
+ {
|
|
|
1087
|
+ qw.and(wq->{
|
|
|
1088
|
+ wq.inSql(WorkOrderBase::getDealuser, " select user_name from sys_user where (dept_id in(select dept_id from sys_dept where " +
|
|
|
1089
|
+ " ancestors REGEXP CONCAT((select ancestors from sys_dept where dept_id="+CurrentUser().getDeptId()+"),',',"+CurrentUser().getDeptId()+"))" +
|
|
|
1090
|
+ " or dept_id="+CurrentUser().getDeptId()+")") ;
|
|
|
1091
|
+ });
|
|
|
1092
|
+ }
|
|
|
1093
|
+ else
|
|
|
1094
|
+ {
|
|
|
1095
|
+ qw.eq(WorkOrderBase::getDealuser, CurrentUser().getUserName());
|
|
|
1096
|
+ }
|
|
|
1097
|
+ qw.lt(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dsh.getValue());
|
|
|
1098
|
+ qw.gt(WorkOrderBase::getWorkorderstate, EnumOrderStatus.djd.getValue());
|
|
|
1099
|
+ break;
|
|
|
1100
|
+ case 2:
|
|
|
1101
|
+ qw.eq(WorkOrderBase::getWorkorderstate, EnumOrderStatus.xgd.getValue());
|
|
|
1102
|
+ break;
|
|
|
1103
|
+ case 3:
|
|
|
1104
|
+ qw.eq(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dsh.getValue());
|
|
|
1105
|
+ break;
|
|
|
1106
|
+ case 4:
|
|
|
1107
|
+ qw.eq(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dhf.getValue());
|
|
|
1108
|
+ break;
|
|
|
1109
|
+ //我的回复列表
|
|
|
1110
|
+ case 5:
|
|
|
1111
|
+ // qw.gt(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dcl.getValue());
|
|
|
1112
|
+ qw.eq(WorkOrderBase::getDealuser, CurrentUser().getUserName());
|
|
|
1113
|
+ break;
|
|
|
1114
|
+ //组内工单
|
|
|
1115
|
+ //(办理人员)
|
|
|
1116
|
+ case 6:
|
|
|
1117
|
+
|
|
|
1118
|
+ qw.eq(WorkOrderBase::getDealdept, CurrentUser().getDeptId());
|
|
|
1119
|
+ break;
|
|
|
1120
|
+ case 7:
|
|
|
1121
|
+ qw.apply("IFNULL(UNIX_TIMESTAMP(dealtime),UNIX_TIMESTAMP(NOW()))>UNIX_TIMESTAMP(deadline)");
|
|
|
1122
|
+ break;
|
|
|
1123
|
+ case 8:
|
|
|
1124
|
+ qw.gt(WorkOrderBase::getDelayaudit,0);
|
|
|
1125
|
+ break;
|
|
|
1126
|
+
|
|
|
1127
|
+ case 9:
|
|
|
1128
|
+ qw.eq(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dpj.getValue());
|
|
|
1129
|
+ qw.eq(WorkOrderBase::getCallcode, CurrentUser().getUserName());
|
|
|
1130
|
+ break;
|
|
|
1131
|
+ case 10:
|
|
|
1132
|
+ //已回访列表就是待评价列表
|
|
|
1133
|
+ qw.gt(WorkOrderBase::getWorkorderstate, EnumOrderStatus.dhf.getValue());
|
|
|
1134
|
+
|
|
|
1135
|
+ }
|
|
|
1136
|
+
|
|
|
1137
|
+ var table = workorderbaseService.getList(qw);
|
|
|
1138
|
+ List<DictData> dictDatas= dictDataService.getList();
|
|
|
1139
|
+ List<WorkOrderBaseView> View= JSON.parseArray(JSON.toJSONString(table),WorkOrderBaseView.class);
|
|
|
1140
|
+ List<WorkOrderType> typelist=workrodertypeService.getList();
|
|
|
1141
|
+
|
|
|
1142
|
+ for (WorkOrderBaseView orderBase:View){
|
|
|
1143
|
+
|
|
|
1144
|
+ if (orderBase.getWorkordercate() !=null && orderBase.getWorkordercate() > 0) {
|
|
|
1145
|
+ orderBase.setWorkordercatename(typelist.stream().filter(x-> Objects.equals(x.getId(), orderBase.getWorkordercate()))
|
|
|
1146
|
+ .findFirst()
|
|
|
1147
|
+ .map(WorkOrderType::getAllTypeName)
|
|
|
1148
|
+ .orElse(null));
|
|
|
1149
|
+
|
|
|
1150
|
+ }
|
|
|
1151
|
+ if(orderBase.getArea()!=null && orderBase.getArea()>0){
|
|
|
1152
|
+ Area area= areaService.getEntity(orderBase.getArea());
|
|
|
1153
|
+ orderBase.setAreaName(area.getAncestorsName());
|
|
|
1154
|
+
|
|
|
1155
|
+ }
|
|
|
1156
|
+ if(orderBase.getCreatetime().equals( orderBase.getEndtime() )){
|
|
|
1157
|
+ orderBase.setDealmethod("立即完结");
|
|
|
1158
|
+ }else {
|
|
|
1159
|
+ orderBase.setDealmethod("转办");
|
|
|
1160
|
+ }
|
|
|
1161
|
+ if (orderBase.getWorkordercate() !=null && orderBase.getWorkordercate() > 0) {
|
|
|
1162
|
+ WorkOrderTypeView ordertype = workrodertypeService.selectWorkroderTypeById(orderBase.getWorkordercate() );
|
|
|
1163
|
+ if(ordertype!=null){
|
|
|
1164
|
+ orderBase.setWorkordercatename(ordertype.getAncestorsName());
|
|
|
1165
|
+ }
|
|
|
1166
|
+
|
|
|
1167
|
+ }
|
|
|
1168
|
+ }
|
|
|
1169
|
+
|
|
|
1170
|
+
|
|
|
1171
|
+
|
|
|
1172
|
+ List<ExportWorkOrderBaseView> baseView= JSON.parseArray(JSON.toJSONString(View),ExportWorkOrderBaseView.class);
|
|
|
1173
|
+
|
|
|
1174
|
+
|
|
|
1175
|
+
|
|
|
1176
|
+ ExcelHelper<ExportWorkOrderBaseView> excel = new ExcelHelper<>(ExportWorkOrderBaseView.class);
|
|
|
1177
|
+ excel.exportExcel("xlsx", baseView);
|
|
|
1178
|
+ }
|
|
1081
|
1179
|
|
|
1082
|
1180
|
|
|
1083
|
1181
|
@ApiOperation("逾期数据导出Excel")
|