diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupListController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupListController.java index 64312368..d9f02634 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupListController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupListController.java @@ -175,7 +175,7 @@ public class HealthCheckupListController { @ApiOperation("体检名单管理员编辑选择记录") @SLog(type = "healthCheckup", tag = "体检管理", msg = "管理员编辑了一条选择记录") @SaCheckPermission("healthCheckup.list.mange") - public Result doEditHealthCheckupData(String subjectId, String campus, String projectId, String userId) { + public Result doEditHealthCheckupData(String subjectId, String campus, String projectId, String userId, String bz) { //查询用户有没有选择过套餐 HealthCheckupUserSelection userSelection = healthCheckupProjectService.dao().fetch(HealthCheckupUserSelection.class, @@ -184,6 +184,7 @@ public class HealthCheckupListController { if (Lang.isNotEmpty(userSelection)) { userSelection.setSubjectId(subjectId); userSelection.setCampus(campus); + userSelection.setBz(bz); healthCheckupProjectService.update(userSelection); } else { //如果没有选择过套餐添加一条记录 @@ -193,6 +194,7 @@ public class HealthCheckupListController { checkupUserSelection.setSubjectId(subjectId); checkupUserSelection.setCampus(campus); checkupUserSelection.setSelectTime(new Date()); + checkupUserSelection.setBz(bz); healthCheckupProjectService.insert(checkupUserSelection); } return Result.success(); diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupProjectMangeController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupProjectMangeController.java index fc70ea7a..47fa6bab 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupProjectMangeController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupProjectMangeController.java @@ -19,6 +19,7 @@ import org.nutz.dao.util.Daos; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; +import org.nutz.lang.Lang; import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; @@ -88,7 +89,9 @@ public class HealthCheckupProjectMangeController { @Aop(TransAop.READ_COMMITTED) @SaCheckPermission("healthCheckup.projectMange") @SLog(type = "healthCheckup", tag = "体检管理", msg = "提交体检项目") - public Result doAdd(HealthCheckupProject healthCheckupProject, @Param(value = "deleteRowIds") String[] deleteRowIds) { + public Result doAdd(HealthCheckupProject healthCheckupProject, + @Param(value = "deleteRowIds") String[] deleteRowIds, + @Param(value = "deleteSubjectIds") String[] deleteSubjectIds) { String projectId; @@ -96,12 +99,37 @@ public class HealthCheckupProjectMangeController { if (StrUtil.isBlank(healthCheckupProject.getId())) { healthCheckupProject.setYear(DateUtil.thisYear()); HealthCheckupProject checkupProject = healthCheckupProjectService.insertWith(healthCheckupProject, "healthCheckupProjectSubjects"); + healthCheckupProject.getHealthCheckupProjectSubjects().forEach(v -> { + v.getSubjectMoneys().forEach(m -> { + m.setProjectId(checkupProject.getId()); + m.setSubjectId(v.getId()); + }); + if (Lang.isNotEmpty(v.getSubjectMoneys())) { + healthCheckupProjectService.insert(v.getSubjectMoneys()); + } + }); projectId = checkupProject.getId(); } else { projectId = healthCheckupProject.getId(); - healthCheckupProjectService.dao().clear(HealthCheckupProjectSubject.class, Cnd.where("id", "in", deleteRowIds)); + //如果删除了医院 + if (Lang.isNotEmpty(deleteSubjectIds)) { + healthCheckupProjectService.dao().clear(HealthCheckupProjectSubject.class, Cnd.where("id", "in", deleteSubjectIds)); + healthCheckupProjectService.dao().clear(HealthCheckupProjectSubjectMoney.class, Cnd.where("subjectId", "in", deleteSubjectIds)); + } + //如果删除了项目 + if (Lang.isNotEmpty(deleteRowIds)) { + healthCheckupProjectService.dao().clear(HealthCheckupProjectSubjectMoney.class, Cnd.where("id", "in", deleteRowIds)); + } + healthCheckupProjectService.dao().insertOrUpdate(healthCheckupProject.getHealthCheckupProjectSubjects()); healthCheckupProject.getHealthCheckupProjectSubjects().forEach(v -> { - v.setProjectId(healthCheckupProject.getId()); + v.setProjectId(projectId); + v.getSubjectMoneys().forEach(m -> { + m.setProjectId(projectId); + m.setSubjectId(v.getId()); + }); + if (Lang.isNotEmpty(v.getSubjectMoneys())) { + healthCheckupProjectService.insertOrUpdate(v.getSubjectMoneys()); + } }); healthCheckupProjectService.dao().insertOrUpdate(healthCheckupProject.getHealthCheckupProjectSubjects()); healthCheckupProjectService.update(healthCheckupProject); @@ -136,6 +164,7 @@ public class HealthCheckupProjectMangeController { public Result doDelete(String id) { healthCheckupProjectService.delete(id); healthCheckupProjectService.dao().clear(HealthCheckupProjectSubject.class, Cnd.where("projectId", "=", id)); + healthCheckupProjectService.dao().clear(HealthCheckupProjectSubjectMoney.class, Cnd.where("projectId", "=", id)); return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupSingleController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupSingleController.java index 9b042822..9a72960b 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupSingleController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/controller/HealthCheckupSingleController.java @@ -5,14 +5,18 @@ import cn.afterturn.easypoi.excel.entity.ExportParams; import cn.afterturn.easypoi.excel.entity.enmus.ExcelType; import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.date.DateUtil; import com.budwk.app.base.annotation.SLog; import com.budwk.app.base.page.Pagination; import com.budwk.app.base.param.PageForm; import com.budwk.app.base.result.Result; import com.budwk.app.base.utils.CommonDownloadUtil; +import com.budwk.app.base.utils.ConditionGroupUtil; import com.budwk.app.base.utils.ManyAddOrRenewUtil; +import com.budwk.app.sys.views.View_user; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProject; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProjectSubject; +import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProjectSubjectMoney; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUserSelection; import com.budwk.app.zhgh.dayofficework.healthCheckup.service.HealthCheckupSingleService; import io.swagger.annotations.Api; @@ -30,6 +34,7 @@ import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -113,14 +118,14 @@ public class HealthCheckupSingleController { add(new ExcelExportEntity("职工号", "loginName", 20)); add(new ExcelExportEntity("姓名", "userName", 20)); add(new ExcelExportEntity("性别", "sex", 20)); - add(new ExcelExportEntity("出生年月", "birthday", 20)); +// add(new ExcelExportEntity("出生年月", "birthday", 20)); add(new ExcelExportEntity("年龄", "age", 20)); add(new ExcelExportEntity("婚姻状况", "marriage", 20)); - add(new ExcelExportEntity("证件号", "idCard", 20)); + add(new ExcelExportEntity("身份证号", "idCard", 20)); add(new ExcelExportEntity("部门", "unitName", 20)); - add(new ExcelExportEntity("部门编码", "unitCode", 20)); - add(new ExcelExportEntity("自选项目", "subjectName", 20)); - add(new ExcelExportEntity("自选院区", "campusName", 50)); +// add(new ExcelExportEntity("部门编码", "unitCode", 20)); + add(new ExcelExportEntity("医院", "subjectName", 20)); +// add(new ExcelExportEntity("自选院区", "campusName", 50)); }}; List list; @@ -234,7 +239,6 @@ public class HealthCheckupSingleController { public Result doSelectByAdmin(String projectId, String optionId, String campus) { Dao dao = healthCheckupSingleService.dao(); HealthCheckupProject project = dao.fetch(HealthCheckupProject.class, projectId); - HealthCheckupProjectSubject subject = dao.fetch(HealthCheckupProjectSubject.class, optionId); Cnd cnd = Cnd.NEW(); Sql sql = Sqls.create(""" @@ -271,7 +275,92 @@ public class HealthCheckupSingleController { selection.setSelectTime(new Date()); return selection; }).collect(Collectors.toList()); - manyAddOrRenewUtil.asyncExecuteFastInsert(selections,null); + manyAddOrRenewUtil.asyncExecuteFastInsert(selections, null); + return Result.success(); + } + + + @At + @ApiOperation("管理员一键选择去年数据") + @Ok("json:full") + @SaCheckPermission("healthCheckup.statisticsSingle") + @SLog(type = "healthCheckup", tag = "体检管理", msg = "管理员给没选的人统一选择去年的数据") + public Result selectOptionByLastYear(String projectId) { + + Dao dao = healthCheckupSingleService.dao(); + //获取去年项目 + HealthCheckupProject lastYearProject = dao.fetch(HealthCheckupProject.class, Cnd.where("YEAR(year)", "=", DateUtil.thisYear() - 1)); + if (lastYearProject == null) { + return Result.error("请先创建去年的体检项目"); + } + Cnd cnd = Cnd.NEW(); + Sql sql = Sqls.create(""" + SELECT + u.id + FROM + health_checkup_user hcu + LEFT JOIN `vw_user` u ON u.id = hcu.userId + $projectCnd $condition + """); + cnd.and("hcu.projectId", "=", projectId); + sql.setVar("projectCnd", "AND u.id NOT IN ( SELECT selectUserId FROM `health_checkup_user_selection` WHERE projectId = '" + projectId + "' AND selectUserId IS NOT NULL )"); + cnd.groupBy("u.loginname"); + sql.setCondition(cnd); + List mapList = healthCheckupSingleService.listMap(sql); + + List userIds = mapList.stream().map(v -> v.getString("id")).toList(); + + //去年项目的人 + List lastYearSelectionList = dao.query(HealthCheckupUserSelection.class, Cnd.where(HealthCheckupUserSelection::getProjectId, "=", lastYearProject.getId()) + .and(HealthCheckupUserSelection::getSelectUserId, "in", userIds)); + + //去年项目下的医院 + List lastYearSubjectList = dao.query(HealthCheckupProjectSubject.class, + Cnd.where(HealthCheckupProjectSubject::getProjectId, "=", lastYearProject.getId())); + + //今年项目下的医院 + List thisYearSubjectList = dao.query(HealthCheckupProjectSubject.class, + Cnd.where(HealthCheckupProjectSubject::getProjectId, "=", projectId)); + + List selections = new ArrayList<>(); + userIds.forEach(v -> { + //获取去年这个人选择的记录 + HealthCheckupUserSelection userSelection = lastYearSelectionList.stream().filter(item -> item.getSelectUserId().equals(v)).findFirst().orElse(null); + //去年这个人选择的选项是什么 + HealthCheckupProjectSubject lastYearSubject = lastYearSubjectList.stream().filter(last -> last.getId().equals(userSelection.getSubjectId())).findFirst().orElse(null); + //今年项目下的选项 + HealthCheckupProjectSubject thisYearSubject = thisYearSubjectList.stream().filter(thisYear -> thisYear.getOptionName().equals(lastYearSubject.getOptionName())).findFirst().orElse(null); + if (userSelection != null && thisYearSubject != null) { + //获取今年这个选项的收费 + List list = dao.query(HealthCheckupProjectSubjectMoney.class, + Cnd.where(HealthCheckupProjectSubjectMoney::getSubjectId, "=", thisYearSubject.getId())); + BigDecimal money = BigDecimal.valueOf(0.00); + String subjectMoneyId = null; + for (HealthCheckupProjectSubjectMoney subject : list) { + //找出这个人符合哪个项目 + Cnd cndUser = Cnd.where("id", "=", v); + ConditionGroupUtil.applyConditionGroup(cndUser, subject.getMatchCnd()); + int count = dao.count(View_user.class, cndUser); + if (count > 0) { + money = subject.getMoney(); + subjectMoneyId = subject.getId(); + break; + } + } + //如果有符合的就添加 + if (subjectMoneyId != null){ + HealthCheckupUserSelection selection = new HealthCheckupUserSelection(); + selection.setProjectId(projectId); + selection.setSelectUserId(v); + selection.setSubjectId(thisYearSubject.getId()); + selection.setSubjectMoneyId(subjectMoneyId); + selection.setMoney(money); + selection.setSelectTime(new Date()); + selections.add(selection); + } + + } + }); return Result.success(); } } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/h5controller/H5HealthCheckupController.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/h5controller/H5HealthCheckupController.java index 673a971a..bf55e754 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/h5controller/H5HealthCheckupController.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/h5controller/H5HealthCheckupController.java @@ -8,16 +8,21 @@ import com.budwk.app.base.page.Pagination; import com.budwk.app.base.param.PageForm; import com.budwk.app.base.result.Result; import com.budwk.app.base.service.BaseService; +import com.budwk.app.base.utils.ConditionGroupUtil; +import com.budwk.app.sys.views.View_user; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupCampus; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProject; +import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProjectSubjectMoney; import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUserSelection; import com.budwk.app.zhgh.dayofficework.healthCheckup.service.HealthCheckupProjectService; import io.swagger.annotations.ApiOperation; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; +import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; +import org.nutz.dao.util.cri.Static; import org.nutz.ioc.aop.Aop; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; @@ -26,9 +31,11 @@ import org.nutz.lang.util.NutMap; import org.nutz.mvc.annotation.At; import org.nutz.mvc.annotation.Ok; import org.nutz.mvc.annotation.Param; -import org.nutz.trans.Trans; +import java.math.BigDecimal; import java.util.Date; +import java.util.List; +import java.util.Map; /** * @author : hongqiwei @@ -41,6 +48,8 @@ import java.util.Date; @At("/platform/healthCheckup/h5") public class H5HealthCheckupController { + @Inject + private Dao dao; @Inject private BaseService baseService; @@ -84,6 +93,8 @@ public class H5HealthCheckupController { // 已结束的项目:结束时间小于当前时间 cnd.and("p.choiceTimeEnd", "<", DateUtil.now()); } + cnd.and(new Static("(select count(*) from health_checkup_user where projectId=p.id and userId='%s')>0".formatted(SecurityUtil.getUserId()))); + // 只有当name参数不为空时才添加名称查询条件 if (StrUtil.isNotBlank(name)) { @@ -173,6 +184,7 @@ public class H5HealthCheckupController { } else { nutMap.put("isFamily", "否"); } + return Result.success(nutMap); } return Result.success(); @@ -191,5 +203,27 @@ public class H5HealthCheckupController { // } + @At + @SaCheckPermission(value = {"h5.healthCheckup.list", "h5.healthCheckup.mine"}, mode = SaMode.OR) + public Result getSubjectMoney(String id, String marriage) { + List list = healthCheckupProjectService.dao().query(HealthCheckupProjectSubjectMoney.class, Cnd.where(HealthCheckupProjectSubjectMoney::getSubjectId, "=", id)); + BigDecimal money = BigDecimal.valueOf(0.00); + String subjectMoneyId = null; + for (HealthCheckupProjectSubjectMoney subject : list) { + // 是否满足条件 + Cnd cnd = Cnd.where("id", "=", SecurityUtil.getUserId()); + ConditionGroupUtil.applyConditionGroup(cnd, subject.getMatchCnd()); + int count = dao.count(View_user.class, cnd); + if (count > 0) { + money = subject.getMoney(); + subjectMoneyId = subject.getId(); + break; + } + } + + return Result.success().addData(Map.of("money", money,"subjectMoneyId",subjectMoneyId)); + } + + } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubject.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubject.java index b21eb9a8..5cf9bd15 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubject.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubject.java @@ -7,6 +7,7 @@ import org.nutz.dao.entity.annotation.*; import org.nutz.dao.interceptor.annotation.PrevInsert; import java.io.Serializable; +import java.util.List; /** * @ClassName HealthCheckupProjectSubject @@ -51,4 +52,8 @@ public class HealthCheckupProjectSubject extends BaseModel implements Serializab @Comment("说明描述") @ColDefine(type = ColType.TEXT) private String description; + + @Many(field = "subjectId") + private List subjectMoneys; + } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubjectMoney.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubjectMoney.java new file mode 100644 index 00000000..2a1fb1ff --- /dev/null +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupProjectSubjectMoney.java @@ -0,0 +1,60 @@ +package com.budwk.app.zhgh.dayofficework.healthCheckup.model; + +import com.budwk.app.base.model.BaseModel; +import com.budwk.app.base.param.ConditionGroup; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.nutz.dao.entity.annotation.*; +import org.nutz.dao.interceptor.annotation.PrevInsert; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * @author zhf + * @date 2025/10/14 17:12 + * @description 套餐金额表 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@Table("health_checkup_project_subject_money") +@TableMeta("{'mysql-charset':'utf8mb4'}") +@Comment("体检套餐金额表") +public class HealthCheckupProjectSubjectMoney extends BaseModel implements Serializable { + + @Name + @Comment("ID") + @ColDefine(type = ColType.VARCHAR, width = 32) + @PrevInsert(uu32 = true) + private String id; + + @Column + @Comment("所属项目") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String projectId; + + @Column + @Comment("所属项目") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String subjectId; + + @Column + @Comment("金额") + @ColDefine(customType = "decimal(10,2)") + private BigDecimal money; + + @Column + @Comment("名称") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String subjectMoneyName; + + @Column + @Comment("条件") + @ColDefine(type = ColType.MYSQL_JSON) + private ConditionGroup matchCnd; + + @Column + @Comment("选项排序") + @ColDefine(type = ColType.VARCHAR, width = 50) + private String sort; +} diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUser.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUser.java index 3d72bf8a..0905efb2 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUser.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUser.java @@ -73,4 +73,9 @@ public class HealthCheckupUser extends BaseModel implements Serializable { @ColDefine(type = ColType.VARCHAR, width = 50) private String unitId; + @Column + @Comment("在职状态") + @ColDefine(type = ColType.VARCHAR, width = 30) + private String userState; + } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUserSelection.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUserSelection.java index a0a01032..1cbfa310 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUserSelection.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/model/HealthCheckupUserSelection.java @@ -7,6 +7,7 @@ import org.nutz.dao.entity.annotation.*; import org.nutz.dao.interceptor.annotation.PrevInsert; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -39,6 +40,16 @@ public class HealthCheckupUserSelection extends BaseModel implements Serializabl @ColDefine(type = ColType.VARCHAR, width = 32) private String subjectId; + @Column + @Comment("所属选项") + @ColDefine(type = ColType.VARCHAR, width = 32) + private String subjectMoneyId; + + @Column + @Comment("金额") + @ColDefine(customType = "decimal(10,2)") + private BigDecimal money; + @Column @Comment("选择用户") @ColDefine(type = ColType.VARCHAR, width = 32) @@ -54,6 +65,11 @@ public class HealthCheckupUserSelection extends BaseModel implements Serializabl @ColDefine(type = ColType.DATETIME) private Date selectTime; + @Column + @Comment("备注") + @ColDefine(type = ColType.VARCHAR,width = 100) + private String bz; + @Many(field = "userSelectionId") private List companionList; } diff --git a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/service/impl/HealthCheckupProjectServiceImpl.java b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/service/impl/HealthCheckupProjectServiceImpl.java index 68a82fdd..dfc809a2 100644 --- a/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/service/impl/HealthCheckupProjectServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/dayofficework/healthCheckup/service/impl/HealthCheckupProjectServiceImpl.java @@ -4,10 +4,7 @@ import com.budwk.app.base.service.impl.BaseServiceImpl; import com.budwk.app.base.utils.ManyAddOrRenewUtil; import com.budwk.app.sys.views.View_user; import com.budwk.app.zhgh.activity.basic.models.ActivityUserScope; -import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupProject; -import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUser; -import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUserCompanion; -import com.budwk.app.zhgh.dayofficework.healthCheckup.model.HealthCheckupUserSelection; +import com.budwk.app.zhgh.dayofficework.healthCheckup.model.*; import com.budwk.app.zhgh.dayofficework.healthCheckup.service.HealthCheckupProjectService; import org.nutz.aop.interceptor.ioc.TransAop; import org.nutz.dao.Cnd; @@ -49,6 +46,9 @@ public class HealthCheckupProjectServiceImpl extends BaseServiceImpl { + v.setSubjectMoneys(dao().query(HealthCheckupProjectSubjectMoney.class, Cnd.where("subjectId", "=", v.getId()))); + }); return project; } diff --git a/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/common/ConditionStructure.js b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/common/ConditionStructure.js new file mode 100644 index 00000000..f107ab8e --- /dev/null +++ b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/common/ConditionStructure.js @@ -0,0 +1,158 @@ +const CONDITION_STRUCTURE_DIALOG = { + template: /*language=HTML*/ ` + +
过滤条件匹配
+ + + + + + + + + 添加条件 + + + + + + 条件{{idx+1}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 关 闭 + 确 认 + +
+ + `, + data() { + return { + dialogVisible: false, + formData: { + method: "", + conditions: [] + }, + fields: [ + { + "label": "性别", + "value": "sex", + "type": "select", + "options": [{"value": "男", "label": "男"}, {"value": "女", "label": "女"}] + }, + { + "label": "出生日期", + "value": "birthday", + "type": "date", + }, + { + "label": "婚姻状况", + "value": "marriage", + "type": "select", + "options": [{"value": "未婚", "label": "未婚"}, {"value": "已婚", "label": "已婚"}] + } + ], + operationalOption: [ + {"label": "等于(=)", "value": "="}, + {"label": "不等于(!=)", "value": "!="}, + {"label": "小于(<)", "value": "<"}, + {"label": "小于等于(<=)", "value": "<="}, + {"label": "大于(>)", "value": ">"}, + {"label": "大于等于(>=)", "value": ">="}, + ] + } + }, + methods: { + async onOpen(formData) { + console.log(formData) + if (formData) { + this.formData = formData + }else{ + this.formData = { + method: "", + conditions: [] + } + } + this.dialogVisible = true + this.$forceUpdate() + }, + fieldChange(val, cnd) { + this.$set(cnd, "fieldObj", this.fields.find(v => v.value === val)) + this.$set(cnd, "value", null) + this.$forceUpdate() + + }, + doSubmit() { + if (!this.formData.method) { + this.$message.error("请选择匹配方式") + return + } + if (this.formData.conditions.length === 0) { + this.$message.error("请添加条件") + return + } + if (this.formData.conditions.some(v => !v.field || !v.operational || !v.value)) { + this.$message.error("请填写完整条件") + return + } + this.$emit("confirm", this.formData) + this.dialogVisible = false + } + } +} diff --git a/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/listMange/index.html b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/listMange/index.html index 99f68260..f0b5a6ff 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/listMange/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/listMange/index.html @@ -146,14 +146,19 @@ layout("/layouts/platform.html"){ :label="item.optionName"> - - - - + + + 取消 @@ -197,10 +202,10 @@ layout("/layouts/platform.html"){ {prop: 'unionName', label: '所属工会', sortable: true}, {prop: 'unitName', label: '所属单位', sortable: true}, {prop: 'optionName', label: '所选套餐'}, - {prop: 'campusName', label: '所选院区'}, {prop: 'selectTime', label: '选择时间', width: "160px"}, {prop: 'isAudit', label: '是否确认'}, {prop: 'auditTime', label: '确认时间'}, + {prop: 'bz', label: '备注',width: "200px"}, ], exportHealthCheckupDialog: false, editHealthCheckupData: {}, @@ -225,7 +230,7 @@ layout("/layouts/platform.html"){ this.notifyWarning("当前分工会没有名单,暂不需要提交") return } - const confirm = await this.$confirm(flag?'您确定名单都已核实,准确无误?':'您确定取消确认?', '提示', { + const confirm = await this.$confirm(flag ? '您确定名单都已核实,准确无误?' : '您确定取消确认?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' diff --git a/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/projectMange/index.html b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/projectMange/index.html index dfadf545..07e786b0 100644 --- a/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/projectMange/index.html +++ b/src/main/resources/views/platform/zhgh/dayofficework/healthCheckup/projectMange/index.html @@ -131,26 +131,7 @@ layout("/layouts/platform.html"){ -
-
- - - -
-
- 设置 - -
-
+
@@ -163,79 +144,98 @@ layout("/layouts/platform.html"){ - + + + + 医院名称: + + + + 排序: + + + + + 编辑说明: +
+ 编辑说明 + +
+ +
+ + 操作: +
+ 删除 + +
+
+
+
- - + + - + - - - - - - - + + - -
- - 添加项目 - -
+
+ + 添加医院 + +
@@ -303,7 +303,7 @@ layout("/layouts/platform.html"){ :close-on-click-modal="false" width="30%">
- +
关 闭 @@ -330,9 +330,32 @@ layout("/layouts/platform.html"){ + + + + + + + + + + +
+ 取消 + 确定 +
+
+