Jelajahi Sumber

fix: 精细化管理-保存医院detail问题2

lixuesong 1 tahun lalu
induk
melakukan
76ffedc6d4

+ 11 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/ApiController.java

@@ -1748,14 +1748,15 @@ public class ApiController {
 	/**
 	 * 新增用户签到表
 	 *
-	 * @param wmUserSign 用户签到表
+	 * @param paramsStr 用户签到表
 	 * @return R
 	 */
 	@SysLog("新增用户签到表")
 	@PostMapping("/saveSignInfo")
-	public R<?> saveSignInfo(@RequestBody WmUserSign wmUserSign) {
-		log.info("精细化拜访(医院/药店/商业公司打卡)参数:{}", wmUserSign);
+	public R<?> saveSignInfo(@RequestBody String paramsStr) {
+		log.info("精细化拜访(医院/药店/商业公司打卡)参数:{}", paramsStr);
 
+		WmUserSign wmUserSign = JSONUtil.toBean(paramsStr, WmUserSign.class);
 		// 重置打卡时间,以系统为准,规避端设备时间不准的问题
 		LocalDateTime now = LocalDateTime.now().plusMinutes(5L);
 		if (wmUserSign.getSignDate().isAfter(now)) {
@@ -1766,6 +1767,13 @@ public class ApiController {
 			return R.failed("签到经纬度不能为空");
 		}
 
+		if (StrUtil.equals(wmUserSign.getSignEntType(), "1")) {
+			// 医院拜访额外校验
+			if (wmUserSign.getUserSignDetail() != null && CollUtil.isEmpty(wmUserSign.getUserSignDetail().getDetail())) {
+				return R.failed("拜访科室不能为空");
+			}
+		}
+
 		return wmUserSignService.saveWmUserSign(wmUserSign);
 	}