1
This commit is contained in:
+35
-12
@@ -89,7 +89,7 @@ public class HealthCheckupListController {
|
||||
@ApiOperation("分页查询")
|
||||
@SaCheckPermission("healthCheckup.list.mange")
|
||||
public Result pageData(PageForm pageForm, String projectId, String subjectId,
|
||||
String unionId, String unitId,String physicalExaminationStatus) {
|
||||
String unionId, String unitId, String isEmployed, String physicalExaminationStatus) {
|
||||
List<HealthCheckupUnionConfirm> confirms = dao.query(HealthCheckupUnionConfirm.class, Cnd.where("projectId", "=", projectId));
|
||||
|
||||
HealthCheckupProject project = healthCheckupProjectService.findOne(projectId);
|
||||
@@ -107,9 +107,10 @@ public class HealthCheckupListController {
|
||||
hcus.selectTime,
|
||||
hcus.campus,
|
||||
hcus.subjectId,
|
||||
hcus.bz,
|
||||
hcu.bz,
|
||||
hcus.receiveAddress,
|
||||
ca.campusName
|
||||
ca.campusName,
|
||||
hcu.isEmployed
|
||||
FROM
|
||||
health_checkup_user hcu
|
||||
LEFT JOIN health_checkup_user_selection hcus ON hcu.userId = hcus.selectUserId
|
||||
@@ -122,6 +123,8 @@ public class HealthCheckupListController {
|
||||
cnd.andEX("hcu.unionId", "=", unionId);
|
||||
cnd.andEX("hcu.unitId", "=", unitId);
|
||||
cnd.andEX("hcus.subjectId", "=", subjectId);
|
||||
cnd.andEX("hcu.isEmployed", "=", isEmployed);
|
||||
|
||||
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())) {
|
||||
cnd.andEX("hcu.unionId", "=", SecurityUtil.getUnionId());
|
||||
@@ -193,7 +196,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, String bz) {
|
||||
public Result doEditHealthCheckupData(String subjectId, String campus, String projectId, String userId, String isEmployed, String bz) {
|
||||
if(!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(),RoleConstant.HEALTH_ADMIN.name())) {
|
||||
return Result.error("您没有操作此按钮的权限");
|
||||
}
|
||||
@@ -214,6 +217,12 @@ public class HealthCheckupListController {
|
||||
}
|
||||
}
|
||||
|
||||
healthCheckupProjectService.dao().update(
|
||||
HealthCheckupUser.class,
|
||||
Chain.make("isEmployed", isEmployed),
|
||||
Cnd.NEW().and("projectId", "=", projectId).and("userId", "=", userId)
|
||||
);
|
||||
|
||||
//查询用户有没有选择过套餐
|
||||
HealthCheckupUserSelection userSelection = healthCheckupProjectService.dao().fetch(HealthCheckupUserSelection.class,
|
||||
Cnd.where("projectId", "=", projectId)
|
||||
@@ -282,9 +291,13 @@ public class HealthCheckupListController {
|
||||
excel.setErrInfo("重复数据", i + 1);
|
||||
}
|
||||
|
||||
if(StringUtils.isNotBlank(excel.getIsEmployed()) && !(excel.getIsEmployed().contains("是") || excel.getIsEmployed().contains("否"))){
|
||||
excel.setErrInfo("是否自聘:值只能为 \'是\' 或 \'否\'", i + 1);
|
||||
}
|
||||
|
||||
View_user user = userList.stream().filter(s -> s.getLoginname().equals(excel.getLoginName())).findFirst().orElse(null);
|
||||
if (user == null) {
|
||||
excel.setErrInfo("无此用户", i + 1);
|
||||
excel.setErrInfo("无此用户:" + excel.getLoginName(), i + 1);
|
||||
continue;
|
||||
}
|
||||
String projectName = checkupProject.getName();
|
||||
@@ -295,10 +308,16 @@ public class HealthCheckupListController {
|
||||
projectName = "校聘高知";
|
||||
}
|
||||
if (healthCheckupUserList.stream().anyMatch(s -> s.getUserId().equals(user.getId()))) {
|
||||
Chain chain = Chain.make("personType", projectName);
|
||||
if(StringUtils.isNotBlank(excel.getPhone())){
|
||||
chain.add("phone", excel.getPhone());
|
||||
}
|
||||
if(StringUtils.isNotBlank(excel.getIsEmployed())) {
|
||||
chain.add("isEmployed", excel.getIsEmployed());
|
||||
}
|
||||
dao.update(
|
||||
HealthCheckupUser.class,
|
||||
Chain.make("phone",excel.getPhone()).add("personType",projectName),
|
||||
Cnd.NEW().and(HealthCheckupUser::getUserId,"=",user.getId())
|
||||
HealthCheckupUser.class,chain,
|
||||
Cnd.NEW().and(HealthCheckupUser::getUserId, "=", user.getId())
|
||||
.and(HealthCheckupUser::getProjectId, "=", healthProjectId)
|
||||
);
|
||||
} else {
|
||||
@@ -322,6 +341,7 @@ public class HealthCheckupListController {
|
||||
newHealthUser.setPhone(excel.getPhone());
|
||||
newHealthUser.setMarriage(user.getMarriage());
|
||||
newHealthUser.setPersonType(projectName);
|
||||
newHealthUser.setIsEmployed(excel.getIsEmployed());
|
||||
healthCheckupUsersToAdd.add(newHealthUser);
|
||||
successCount++;
|
||||
}
|
||||
@@ -351,6 +371,7 @@ public class HealthCheckupListController {
|
||||
entities.add(new ExcelExportEntity("工号", "loginName", 20));
|
||||
entities.add(new ExcelExportEntity("姓名", "userName", 20));
|
||||
entities.add(new ExcelExportEntity("手机号", "phone", 20));
|
||||
entities.add(new ExcelExportEntity("是否自聘", "isEmployed", 20));
|
||||
ExportParams exportParams = new ExportParams();
|
||||
Workbook workbook = ExcelExportUtil.exportExcel(exportParams, entities, Collections.emptyList());
|
||||
CommonDownloadUtil.download("参加人员导入模版.xlsx", workbook, response);
|
||||
@@ -455,9 +476,9 @@ public class HealthCheckupListController {
|
||||
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.BRANCH_UNION_ADMIN.name(), RoleConstant.BRANCH_UNION_CHAIRMAN.name())) {
|
||||
return Result.error("您没有操作此按钮的权限");
|
||||
}
|
||||
dao.update(HealthCheckupUserSelection.class,
|
||||
dao.update(HealthCheckupUser.class,
|
||||
Chain.make("bz", remarks),
|
||||
Cnd.where("selectUserId", "=", userId)
|
||||
Cnd.where("userId", "=", userId)
|
||||
.and("projectId", "=", projectId));
|
||||
return Result.success();
|
||||
}
|
||||
@@ -491,9 +512,10 @@ public class HealthCheckupListController {
|
||||
hcus.selectTime,
|
||||
hcus.campus,
|
||||
hcus.subjectId,
|
||||
hcus.bz,
|
||||
hcu.bz,
|
||||
hcus.receiveAddress,
|
||||
ca.campusName
|
||||
ca.campusName,
|
||||
hcu.isEmployed
|
||||
FROM health_checkup_user hcu
|
||||
LEFT JOIN health_checkup_user_selection hcus ON hcu.userId = hcus.selectUserId
|
||||
AND hcus.projectId=@projectId
|
||||
@@ -559,6 +581,7 @@ public class HealthCheckupListController {
|
||||
add(new ExcelExportEntity("选择时间", "selectTime", 50));
|
||||
add(new ExcelExportEntity("是否确认", "isAudit", 50));
|
||||
add(new ExcelExportEntity("确认时间", "auditTime", 50));
|
||||
add(new ExcelExportEntity("是否自聘", "isEmployed", 50));
|
||||
add(new ExcelExportEntity("备注", "bz", 50));
|
||||
}};
|
||||
|
||||
|
||||
+4
-2
@@ -78,8 +78,9 @@ public class HealthCheckupSingleController {
|
||||
@ApiOperation("首页查询")
|
||||
@SaCheckPermission("healthCheckup.statisticsSingle")
|
||||
public Result pageData(String projectId,
|
||||
String unionId) {
|
||||
NutMap nutMap = healthCheckupSingleService.pageData(projectId, unionId);
|
||||
String unionId,
|
||||
String isEmployed) {
|
||||
NutMap nutMap = healthCheckupSingleService.pageData(projectId, unionId, isEmployed);
|
||||
return Result.success(nutMap);
|
||||
}
|
||||
|
||||
@@ -137,6 +138,7 @@ public class HealthCheckupSingleController {
|
||||
add(new ExcelExportEntity("部门", "unitName", 20));
|
||||
add(new ExcelExportEntity("分工会", "unionName", 20));
|
||||
add(new ExcelExportEntity("邮寄地址", "receiveAddress", 50));
|
||||
add(new ExcelExportEntity("是否自聘", "isEmployed", 50));
|
||||
}};
|
||||
|
||||
List<NutMap> list;
|
||||
|
||||
+13
@@ -110,4 +110,17 @@ public class HealthCheckupUser extends BaseModel implements Serializable {
|
||||
@Comment("体检报告")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String medicalExamination;
|
||||
|
||||
@Column
|
||||
@Comment("是否自聘")
|
||||
@ColDefine(type = ColType.VARCHAR, width = 10)
|
||||
@Default("否")
|
||||
private String isEmployed;
|
||||
|
||||
@Column
|
||||
@Comment("备注")
|
||||
@ColDefine(type = ColType.TEXT)
|
||||
private String bz;
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ public interface HealthCheckupSingleService extends BaseService<HealthCheckupPro
|
||||
* @param projectId 福利id
|
||||
* @return
|
||||
*/
|
||||
NutMap pageData(String projectId,String unionId);
|
||||
NutMap pageData(String projectId,String unionId, String isEmployed);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
+16
-8
@@ -32,17 +32,17 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
private HealthCheckupProjectService healthCheckupProjectService;
|
||||
|
||||
@Override
|
||||
public NutMap pageData(String projectId, String unionId) {
|
||||
public NutMap pageData(String projectId, String unionId, String isEmployed) {
|
||||
HealthCheckupProject project = healthCheckupProjectService.findOne(projectId);
|
||||
Sql sql = Sqls.create("""
|
||||
SELECT
|
||||
su.id,
|
||||
su.name unionName,
|
||||
(SELECT count( 1 ) FROM `health_checkup_user` hcu WHERE hcu.projectId=@projectId and hcu.unionId = su.id ) sumCount
|
||||
(SELECT count( 1 ) FROM `health_checkup_user` hcu WHERE hcu.projectId=@projectId and hcu.unionId = su.id and isEmployed = @isEmployed ) sumCount
|
||||
FROM
|
||||
sys_union su
|
||||
$condition
|
||||
""").setParam("projectId", projectId);
|
||||
""").setParam("projectId", projectId).setParam("isEmployed",isEmployed);
|
||||
Cnd cnd = Cnd.NEW();
|
||||
cnd.andEX("su.id", "=", unionId);
|
||||
cnd.asc("su.unionCode");
|
||||
@@ -57,9 +57,13 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
List<NutMap> userSelectList = this.getUserSelectionByProjectId(projectId);
|
||||
|
||||
for (NutMap healthCheckup : healthCheckupList) {
|
||||
List<NutMap> thisUnionSelectList = userSelectList.stream().filter(x ->
|
||||
x.getString("unionId").equals(healthCheckup.getString("id")) &&
|
||||
x.getString("projectId").equals(projectId)).collect(Collectors.toList());
|
||||
List<NutMap> thisUnionSelectList = userSelectList.stream()
|
||||
.filter(x ->
|
||||
x.getString("unionId").equals(healthCheckup.getString("id"))
|
||||
&& x.getString("projectId").equals(projectId)
|
||||
&& x.getString("isEmployed").equals(isEmployed)
|
||||
)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
subjectList.forEach(o -> {
|
||||
//每一项选择的人数
|
||||
@@ -76,6 +80,7 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
optionCountCnd.andEX("hcu.unionId", "=", healthCheckup.getString("id"));
|
||||
optionCountCnd.andEX("hs.projectId", "=", projectId);
|
||||
optionCountCnd.andEX("hs.subjectId", "=", o.getId());
|
||||
optionCountCnd.andEX("hcu.isEmployed", "=", isEmployed);
|
||||
optionCountSql.setCondition(optionCountCnd);
|
||||
int count = count(optionCountSql);
|
||||
healthCheckup.put(o.getOptionName(), count);
|
||||
@@ -114,7 +119,8 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
hu.selectTime,
|
||||
hu.projectId,
|
||||
hu.selectUserId,
|
||||
hcu.unionId
|
||||
hcu.unionId,
|
||||
hcu.isEmployed
|
||||
FROM
|
||||
`health_checkup_user_selection` hu
|
||||
LEFT JOIN `health_checkup_user` hcu ON hcu.userId = hu.selectUserId and hcu.projectId=@projectId
|
||||
@@ -220,6 +226,7 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
hcu.unionName,
|
||||
hcu.phone as mobile,
|
||||
hcu.card as idCard,
|
||||
hcu.isEmployed as isEmployed,
|
||||
hcps.optionName subjectName,
|
||||
hcc.campusName,
|
||||
hcpsm.money,
|
||||
@@ -261,7 +268,8 @@ public class HealthCheckupSingleServiceImpl extends BaseServiceImpl<HealthChecku
|
||||
hcu.unitName,
|
||||
hcu.unionName,
|
||||
u.idcard idCard,
|
||||
u.mobile
|
||||
u.mobile,
|
||||
hcu.isEmployed as isEmployed
|
||||
FROM
|
||||
`health_checkup_user` hcu
|
||||
LEFT JOIN `vw_user` u ON u.id = hcu.userId
|
||||
|
||||
+3
@@ -28,4 +28,7 @@ public class HealthCheckupImportTemp extends ExcelImportError {
|
||||
@ExcelProperty("体检报告")
|
||||
private String medicalExamination;
|
||||
|
||||
@ExcelProperty("是否自聘")
|
||||
private String isEmployed;
|
||||
|
||||
}
|
||||
|
||||
+35
-4
@@ -65,7 +65,16 @@ layout("/layouts/platform.html"){
|
||||
:key="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
|
||||
<search-item label="是否自聘">
|
||||
<el-select v-model="pageForm.isEmployed" placeholder="请选择" clearable>
|
||||
<el-option
|
||||
v-for="item in isEmployedOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
</search>
|
||||
</el-card>
|
||||
|
||||
@@ -167,10 +176,10 @@ layout("/layouts/platform.html"){
|
||||
:close-on-click-modal="false">
|
||||
<el-form :model="editHealthCheckupData" label-width="120px" ref="editHealthCheckupForm">
|
||||
<el-form-item label="姓名">
|
||||
<el-input :value="editHealthCheckupData.userName"></el-input>
|
||||
<el-input :value="editHealthCheckupData.userName" readonly></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="工号">
|
||||
<el-input :value="editHealthCheckupData.loginName"></el-input>
|
||||
<el-input :value="editHealthCheckupData.loginName" readonly></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="套餐"
|
||||
prop="subjectId"
|
||||
@@ -180,6 +189,16 @@ layout("/layouts/platform.html"){
|
||||
:label="item.optionName"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否自聘">
|
||||
<el-select v-model="editHealthCheckupData.isEmployed" placeholder="请选择" style="width: 100%" clearable>
|
||||
<el-option
|
||||
v-for="item in isEmployedOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注"
|
||||
prop="bz">
|
||||
<el-input v-model="editHealthCheckupData.bz" type="textarea" rows="5"
|
||||
@@ -263,6 +282,7 @@ layout("/layouts/platform.html"){
|
||||
{prop: 'selectTime', label: '选择时间', width: "160px"},
|
||||
{prop: 'isAudit', label: '是否确认'},
|
||||
{prop: 'auditTime', label: '确认时间'},
|
||||
{prop: 'isEmployed', label: '是否自聘'},
|
||||
{prop: 'bz', label: '备注',width: "200px"},
|
||||
],
|
||||
exportHealthCheckupDialog: false,
|
||||
@@ -278,6 +298,10 @@ layout("/layouts/platform.html"){
|
||||
remarks: "",
|
||||
},
|
||||
campusOptions: [],
|
||||
isEmployedOptions: [
|
||||
{value: '是', label: '是'},
|
||||
{value: '否', label: '否'},
|
||||
],
|
||||
}
|
||||
},
|
||||
components: {
|
||||
@@ -336,7 +360,8 @@ layout("/layouts/platform.html"){
|
||||
subjectId: row.subjectId,
|
||||
campus: row.campus,
|
||||
projectId: this.pageForm.projectId,
|
||||
userId: row.id
|
||||
userId: row.id,
|
||||
isEmployed: row.isEmployed
|
||||
}
|
||||
this.exportHealthCheckupDialog = true
|
||||
|
||||
@@ -447,6 +472,7 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
openEditRemarks(row){
|
||||
this.doEditRemarks.userId = row.id;
|
||||
this.doEditRemarks.remarks = row.bz;
|
||||
this.doEditRemarks.projectId = this.pageForm.projectId;
|
||||
this.doEditRemarksDialog = true;
|
||||
},
|
||||
@@ -459,6 +485,11 @@ layout("/layouts/platform.html"){
|
||||
if (resp.code === 0) {
|
||||
this.notifySuccess(resp.msg)
|
||||
this.doSearch()
|
||||
this.doEditRemarks = {
|
||||
userId: '',
|
||||
projectId: '',
|
||||
remarks: ''
|
||||
}
|
||||
} else {
|
||||
this.notifyWarning(resp.msg)
|
||||
}
|
||||
|
||||
+15
-1
@@ -37,6 +37,16 @@ layout("/layouts/platform.html"){
|
||||
:value="item.id" :key="item.id"></el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<search-item label="是否自聘" clearable>
|
||||
<el-select v-model="pageForm.isEmployed" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in isEmployedOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</search-item>
|
||||
<!-- <search-item label="所属单位">
|
||||
<el-select placeholder="请选择所属单位" v-model="pageForm.unitId"
|
||||
style="width: 100%;"
|
||||
@@ -286,7 +296,11 @@ layout("/layouts/platform.html"){
|
||||
loading: false,
|
||||
selectLastYearProject: false,
|
||||
lastYearProjectId: null,
|
||||
lastYearProjectSubjectOptions: []
|
||||
lastYearProjectSubjectOptions: [],
|
||||
isEmployedOptions: [
|
||||
{value: '是', label: '是'},
|
||||
{value: '否', label: '否'},
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
Reference in New Issue
Block a user