Browse Source

feat: 药店拜访-适配连锁药店任务类型

lixuesong 1 year ago
parent
commit
0bb9c8baab

+ 32 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -133,6 +133,7 @@ import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.CommonFlag;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.LoginTypeEnum;
 import com.qunzhixinxi.hnqz.common.core.constant.enums.UpmsState;
+import com.qunzhixinxi.hnqz.common.core.exception.BizException;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
 import com.qunzhixinxi.hnqz.common.security.annotation.Inner;
@@ -2457,6 +2458,10 @@ public class ApiController {
 
 			}
 
+			if ("33".equals(wmTask.getTaskTypeId()) || "73".equals(wmTask.getTaskTypeId())) {
+				map.put("taskType", "33");
+			}
+
 			if (null != wmTaskType) {
 				wmTask.setTaskTypeId(wmTaskType.getTaskTypeName());
 			}
@@ -2483,7 +2488,7 @@ public class ApiController {
 						List<WmUserSign> wmUserSignList = new ArrayList<>();
 						WmUserSign userSign = wmUserSignService.getById(wmTaskContent.getTemp3());
 						// 如果配置了医院拜访的任务类型模板,则关联查询签到详情
-						if (wmDeptTaskTypeTemplateService.checkDeptIdHospitalTemplate(Integer.valueOf(wmTask.getDeptId()), wmTask.getTaskTypeId())) {
+//						if (wmDeptTaskTypeTemplateService.checkDeptIdHospitalTemplate(Integer.valueOf(wmTask.getDeptId()), wmTask.getTaskTypeId())) {
 							WmUserSignDetail userSignDetail = wmUserSignDetailService.getOne(Wrappers.<WmUserSignDetail>lambdaQuery()
 									.eq(WmUserSignDetail::getSignId, userSign.getId()));
 							if (userSignDetail != null) {
@@ -2537,7 +2542,33 @@ public class ApiController {
 
 								userSign.setUserSignDetail(userSignDetail);
 							}
+//						}
+
+						// 查询适配, 普通药店和连锁药房统一返回33
+						if ("3".equals(userSign.getSignEntType())) {
+							// 根据药店类型 区分任务类型33-普通药店/73-连锁药房
+							WmDaPharmacy daPharmacy = wmDaPharmacyService.getOne(Wrappers.<WmDaPharmacy>lambdaQuery()
+									.eq(WmDaPharmacy::getPharmacyName, userSign.getSignEntName())
+									.eq(WmDaPharmacy::getDelFlag, DelEnum.NOT_DEL.val())
+									.eq(WmDaPharmacy::getEnableFlag, EnableEnum.ENABLE.val()));
+							if (daPharmacy == null) {
+								throw new BizException("药店不存在或已停用");
+							}
+
+							String taskTypeId;
+							switch (daPharmacy.getPharmacyType()) {
+								case ORDINARY:
+									taskTypeId = "33";
+									break;
+								case CHAIN:
+									taskTypeId = "73";
+									break;
+								default:
+									taskTypeId = "33";
+							}
+							wmTask.setTaskTypeId(taskTypeId);
 						}
+
 						wmUserSignList.add(userSign);
 						return R.ok(wmUserSignList);
 					}