包头bug修改

This commit is contained in:
guoshengxiong 2025-02-25 21:45:11 +08:00
parent 5db74cdaa2
commit 8b3243745f
28 changed files with 276 additions and 178 deletions

View File

@ -260,7 +260,6 @@ public class DataScopeHandler implements DataPermissionHandler {
tables.put("pipeline_welder", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "device_unit_id").build());
tables.put("project_schedule", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "device_unit_id").build());
tables.put("quality_supervise", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "device_id").build());
tables.put("worker_admission_detail", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "work_area").build());
tables.put("danger_environment_evaluate", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "device_id").put(PROJECT_COLUMN, "project_group_id").build());
tables.put("civilize_construction", new MapBuilder<String, Object>().put(DEVICE_COLUMN, "device_id").put(PROJECT_COLUMN, "project_group_id").build());

View File

@ -47,7 +47,7 @@ public class ReturnTrainingDetail implements Serializable {
* 工作区域装置
*/
@ApiModelProperty(value = "工作区域(装置)")
private java.lang.Long workArea;
private java.lang.String workAreaName;
/**
* 岗位工种
*/
@ -94,9 +94,6 @@ public class ReturnTrainingDetail implements Serializable {
@ApiModelProperty(value = "更新时间")
private java.util.Date updateDate;
@TableField(exist = false)
@ApiModelProperty(value = "工作区域(装置)名称")
private java.lang.String workAreaName;
@TableField(exist = false)
@ApiModelProperty(value = "岗位(工种)名称")
private java.lang.String postWorkTypeName;

View File

@ -78,7 +78,7 @@ public class WorkerAdmissionDetail implements Serializable {
*/
@Excel(name = "工作区域(装置)", width = 15)
@ApiModelProperty(value = "工作区域(装置)")
private java.lang.Long workArea;
private java.lang.String workAreaName;
/**
* 岗位工种
*/
@ -191,9 +191,6 @@ public class WorkerAdmissionDetail implements Serializable {
@ApiModelProperty(value = "单位名称")
private java.lang.String enterpriseName;
@TableField(exist = false)
@ApiModelProperty(value = "工作区域(装置)名称")
private java.lang.String workAreaName;
@TableField(exist = false)
@ApiModelProperty(value = "岗位(工种)名称")
private java.lang.String postWorkTypeName;
@TableField(exist = false)

View File

@ -4,7 +4,6 @@
<select id="queryList" resultType="com.zhgd.xmgl.modules.baotou.entity.ReturnTrainingDetail">
select * from (
select t.*
,du.device_unit_name as work_area_name
,if(a.person_type=1,wt.type_name,c.department_name) as post_work_type_name
,etr.score
,etr.id as record_id
@ -12,7 +11,6 @@
from return_training_detail t
join return_training_application rta on rta.id=t.application_id
left join exam_train_record etr on etr.application_id=rta.id and etr.worker_card=t.id_card and etr.submit = 1
left join device_unit du on du.id=t.work_area
LEFT JOIN worker_info a on a.id_card=t.id_card
LEFT JOIN team_info b ON a.team_id = b.id
LEFT JOIN department_info c ON a.department_id = c.id
@ -33,7 +31,6 @@
<select id="queryById" resultType="com.zhgd.xmgl.modules.baotou.entity.ReturnTrainingDetail">
select * from (
select t.*
,du.device_unit_name as work_area_name
,if(a.person_type=1,wt.type_name,c.department_name) as post_work_type_name
,etr.score
,etr.id as record_id
@ -41,7 +38,6 @@
from return_training_detail t
join return_training_application rta on rta.id=t.application_id
left join exam_train_record etr on etr.application_id=rta.id and etr.worker_card=t.id_card and etr.submit = 1
left join device_unit du on du.id=t.work_area
LEFT JOIN worker_info a on a.id_card=t.id_card
LEFT JOIN team_info b ON a.team_id = b.id
LEFT JOIN department_info c ON a.department_id = c.id

View File

@ -18,7 +18,6 @@
from (select t.*,
ei1.enterprise_name as epc_cbs_name,
ei2.enterprise_name as enterprise_name,
du1.device_unit_name as work_area_name,
t2.name as post_work_type_name,
tr.start_exam_time,
tr.is_pass,
@ -31,7 +30,6 @@
left join worker_admission wa on wa.id=t.worker_admission_id
left join enterprise_info ei1 on ei1.id=t.epc_cbs
left join enterprise_info ei2 on ei2.id=t.enterprise_id
left join device_unit du1 on du1.id=t.work_area
<!-- left join ( select etr.* from-->
<!-- exam_train_record etr-->
<!-- join (select etr.worker_card,max(etr.start_exam_time) as start_exam_time-->
@ -76,12 +74,10 @@
from (select t.*,
ei1.enterprise_name as epc_cbs_name,
ei2.enterprise_name as enterprise_name,
du1.device_unit_name as work_area_name,
t2.name as post_work_type_name
from worker_admission_detail t
left join enterprise_info ei1 on ei1.id=t.epc_cbs
left join enterprise_info ei2 on ei2.id=t.enterprise_id
left join device_unit du1 on du1.id=t.work_area
left join (
<include refid="com.zhgd.xmgl.modules.baotou.mapper.WorkerAdmissionDetailMapper.dicMap">
</include>

View File

@ -189,11 +189,11 @@ public class CivilizeConstructionServiceImpl extends ServiceImpl<CivilizeConstru
//标题文明施工检查
//内容XXX单位这里指的是那个责任主体发现文明施工问题请及时整改
//发送时间2025-01-10 16:00:00
List<Long> userIdsByUnit = noticeService.getUserIdsByUnit(new NoticeUnit(record.getProjectSn(), record.getProjectGroupId(), record.getSupervisingUnitId(), record.getEpcContractorId(), record.getConstructionUnitId()));
EnterpriseInfo enterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getId, record.getConstructionUnitId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
noticeService.addUsersNotice(userIdsByUnit, "新增文明施工检查",
StrUtil.format("标题:文明施工检查,内容:{}发现文明施工问题,请及时整改。发送时间:{}",
enterpriseInfo.getEnterpriseName(), DateUtil.now()), "10");
// List<Long> userIdsByUnit = noticeService.getUserIdsByUnit(new NoticeUnit(record.getProjectSn(), record.getProjectGroupId(), record.getSupervisingUnitId(), record.getEpcContractorId(), record.getConstructionUnitId()));
// EnterpriseInfo enterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getId, record.getConstructionUnitId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
// noticeService.addUsersNotice(userIdsByUnit, "新增文明施工检查",
// StrUtil.format("标题:文明施工检查,内容:{}发现文明施工问题,请及时整改。发送时间:{}",
// enterpriseInfo.getEnterpriseName(), DateUtil.now()), "10");
baseMapper.insert(record);
}

View File

@ -157,7 +157,7 @@ public class ConstructionEquipmentToolServiceImpl extends ServiceImpl<Constructi
Date actualOnSiteDate = FlowUtil.getDate(map, "actualOnSiteDate");
Date shipmentDate = FlowUtil.getDate(map, "shipmentDate");
ConstructionEquipmentTool tool = new ConstructionEquipmentTool();
Long constructionEquipmentToolClassificationId = FlowUtil.getPullDownLong(map, "constructionEquipmentToolClassificationId");
Long constructionEquipmentToolClassificationId = FlowUtil.getLong(map, "constructionEquipmentToolClassificationId");
Long equipmentManager = FlowUtil.getPullDownLong(map, "equipmentManager");
Long onSiteHandler = FlowUtil.getPullDownLong(map, "onSiteHandler");
tool.setConstructionEquipmentToolClassificationId(constructionEquipmentToolClassificationId);

View File

@ -174,8 +174,14 @@ public class ContractorMonthlyApproveServiceImpl extends ServiceImpl<ContractorM
toBean.setId(Long.valueOf(approveId));
this.updateById(toBean);
BeanUtil.copyProperties(toBean, approve, CopyOptions.create().ignoreNullValue());
if (!Objects.equals(approve.getStatus1(), 3) || !Objects.equals(approve.getStatus2(), 3)) {
return;
if (approve.getApproveType() == 2) {
if (!Objects.equals(approve.getStatus2(), 3)) {
return;
}
} else {
if (!Objects.equals(approve.getStatus1(), 3) || !Objects.equals(approve.getStatus2(), 3)) {
return;
}
}
List<ContractorMonthlyDetail> detailList = contractorMonthlyDetailService.list(new LambdaQueryWrapper<ContractorMonthlyDetail>()
.eq(ContractorMonthlyDetail::getApproveId, approveId));

View File

@ -131,6 +131,8 @@ public class EngineerControllerCheckServiceImpl extends ServiceImpl<EngineerCont
e.setQualitySupervisionAgency(FlowUtil.getPullDownLong(map, "qualitySupervisionAgency"));
e.setQualitySupervisionAgencyReceiptDate(FlowUtil.getDate(map, "qualitySupervisionAgencyReceiptDate"));
e.setProjectGroup(FlowUtil.getPullDownLong(map, "projectGroup"));
e.setConstructionSupervisorOpinion(FlowUtil.getString(map, "constructionSupervisorOpinion"));
e.setRegionalProjectTeamOpinion(FlowUtil.getString(map, "regionalProjectTeamOpinion"));
baseMapper.insert(e);
}

View File

@ -23,7 +23,7 @@ import com.zhgd.xmgl.modules.baotou.service.IDeviceUnitService;
import com.zhgd.xmgl.modules.baotou.service.IProjectGroupService;
import com.zhgd.xmgl.modules.baotou.service.IUserDevGroupService;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.security.SecurityUtil;
//import com.zhgd.xmgl.security.SecurityUtil;
import com.zhgd.xmgl.security.util.SecurityUtils;
import com.zhgd.xmgl.util.MapBuilder;
import com.zhgd.xmgl.util.PageUtil;

View File

@ -141,7 +141,7 @@ public class ReturnTrainingApplicationServiceImpl extends ServiceImpl<ReturnTrai
ReturnTrainingDetail detail = new ReturnTrainingDetail();
detail.setNum(FlowUtil.getString(jo, "field5594411487931"));
detail.setWorkerName(Optional.ofNullable(workerIdMap.get(FlowUtil.getPullDownLong(jo, "field2408810021828"))).map(m -> m.getWorkerName()).orElse(null));
detail.setWorkArea(FlowUtil.getPullDownLong(jo, "field4239411495267"));
detail.setWorkAreaName(FlowUtil.getString(jo, "field6900388110980"));
detail.setPostWorkType(FlowUtil.getPullDownLong(jo, "field7484411505770"));
detail.setSex(FlowUtil.getPullDownInteger(jo, "field9370711501896"));
detail.setAge(Convert.toStr(FlowUtil.getInteger(jo, "field9087611515056")));
@ -159,7 +159,7 @@ public class ReturnTrainingApplicationServiceImpl extends ServiceImpl<ReturnTrai
ReturnTrainingDetail detail = new ReturnTrainingDetail();
detail.setNum(FlowUtil.getString(jo, "field2189211836936"));
detail.setWorkerName(Optional.ofNullable(workerIdMap.get(FlowUtil.getPullDownLong(jo, "field2010000422001"))).map(m -> m.getWorkerName()).orElse(null));
detail.setWorkArea(FlowUtil.getPullDownLong(jo, "field2982911864361"));
detail.setWorkAreaName(FlowUtil.getString(jo, "field9629988265932"));
detail.setPostWorkType(FlowUtil.getPullDownLong(jo, "field4744811867669"));
detail.setSex(FlowUtil.getPullDownInteger(jo, "field1418511843858"));
detail.setAge(FlowUtil.getString(jo, "field1290511871434"));

View File

@ -450,7 +450,6 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
String idCardDownPhotoUrl = detail.getIdCardDownPhotoUrl();
String idCardUpPhotoUrl = detail.getIdCardUpPhotoUrl();
Long enterpriseId = detail.getEnterpriseId();
Long workArea = detail.getWorkArea();
String team = detail.getTeam();
Integer sex = detail.getSex();
String age = detail.getAge();
@ -470,7 +469,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
workerInfo.setIdCardDownPhotoUrl(StrUtil.isNotBlank(idCardDownPhotoUrl) ? JSONArray.parseArray(idCardDownPhotoUrl).getJSONObject(0).getString("url") : null);
workerInfo.setIdCardUpPhotoUrl(StrUtil.isNotBlank(idCardUpPhotoUrl) ? JSONArray.parseArray(idCardUpPhotoUrl).getJSONObject(0).getString("url") : null);
workerInfo.setEnterpriseId(enterpriseId);
workerInfo.setWorkArea(workArea);
workerInfo.setWorkAreaName(detail.getWorkAreaName());
workerInfo.setDepartmentName(postWorkTypeName);
workerInfo.setTeamName(team);
workerInfo.setSex(sex);
@ -494,7 +493,7 @@ public class WorkerAdmissionDetailServiceImpl extends ServiceImpl<WorkerAdmissio
workerInfo.setNum(detail.getNum());
workerInfo.setWorkerAdmissionDetailId(detail.getWorkerAdmissionId());
workerInfo.setEntryDeadline(detail.getEntryDeadline());
workerInfo.setWorkArea(detail.getWorkArea());
workerInfo.setWorkAreaName(detail.getWorkAreaName());
workerInfo.setEpcCbs(detail.getEpcCbs());
}
workerInfo.setEnterDate(enterDate);

View File

@ -225,7 +225,6 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
String remark = MapUtils.getString(m, "field2698214298986");
Long epcCbs = FlowUtil.getPullDownLong(m, "field4614421102325");
Long enterpriseId = FlowUtil.getPullDownLong(m, "field9875821081899");
Long workArea = FlowUtil.getPullDownLong(m, "field5965220675871");
Map<String, String> idCardMap = IdCardUtils.getBirthdayAgeSex(idCard);
Integer sex = Integer.valueOf(idCardMap.get("sex"));
Integer isCertificateQualified = FlowUtil.getPullDownInteger(m, "field1062926653275");
@ -238,7 +237,7 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
detail.setIdCardUpPhotoUrl(idCardUpPhotoUrl);
detail.setEpcCbs(epcCbs);
detail.setEnterpriseId(enterpriseId);
detail.setWorkArea(workArea);
detail.setWorkAreaName(FlowUtil.getString(m, "field2347982671839"));
detail.setPostWorkType(postWorkType);
Optional<DictionaryItem> op = workerTypeList.stream().filter(p -> Objects.equals(p.getData(), postWorkType + "")).findFirst();
String team = null;
@ -426,7 +425,7 @@ public class WorkerAdmissionServiceImpl extends ServiceImpl<WorkerAdmissionMappe
detail.setNum(importInfo.get("*编号"));
detail.setWorkerName(importInfo.get("*姓名"));
detail.setEnterpriseId(enterpriseInfos.stream().filter(o -> o.getEnterpriseName().equals(importInfo.get("单位"))).findFirst().map(EnterpriseInfo::getId).orElse(null));
detail.setWorkArea(deviceUnits.stream().filter(o -> o.getDeviceUnitName().equals(importInfo.get("*工作区域"))).findFirst().map(o -> o.getId()).orElse(null));
detail.setWorkAreaName(importInfo.get("*工作区域"));
detail.setPostWorkType(workerTypeList.stream().filter(o -> o.getName().equals(importInfo.get("*岗位(工种)"))).findFirst().map(o -> Integer.valueOf(o.getData())).orElse(null));
//detail.setTeam("");
Map<String, String> idCardInfoMap = IdCardUtils.getBirthdayAgeSex(importInfo.get("*身份证号"));

View File

@ -9,7 +9,9 @@ import com.wflow.bean.do_.DeptDo;
import com.wflow.bean.do_.RoleDo;
import com.wflow.bean.do_.UserDeptDo;
import com.wflow.bean.do_.UserDo;
import com.wflow.bean.entity.*;
import com.wflow.bean.entity.WflowModelHistorys;
import com.wflow.bean.entity.WflowModelPerms;
import com.wflow.bean.entity.WflowModels;
import com.wflow.bean.vo.ModelGroupVo;
import com.wflow.bean.vo.OrgTreeVo;
import com.wflow.bean.vo.UserVo;
@ -18,19 +20,26 @@ import com.wflow.mapper.WflowModelsMapper;
import com.wflow.service.OrgRepositoryService;
import com.wflow.workflow.bean.dto.NotifyDto;
import com.wflow.workflow.bean.process.OrgUser;
import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.basicdata.entity.BaseRole;
import com.zhgd.xmgl.modules.basicdata.entity.BaseRoleUser;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.mapper.BaseRoleMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.BaseRoleUserMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.worker.entity.EnterpriseInfo;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.mapper.DepartmentInfoMapper;
import com.zhgd.xmgl.modules.worker.mapper.EnterpriseInfoMapper;
import com.zhgd.xmgl.modules.worker.mapper.TeamInfoMapper;
import com.zhgd.xmgl.modules.worker.service.impl.EnterpriseInfoServiceImpl;
import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
import com.zhgd.xmgl.modules.xz.entity.XzProjectOrg;
import com.zhgd.xmgl.modules.xz.mapper.XzProjectOrgMapper;
import com.zhgd.xmgl.tenant.TenantContextHolder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.context.annotation.Primary;
import org.springframework.stereotype.Service;
@ -41,35 +50,35 @@ import java.util.stream.Collectors;
@Service
public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
@Autowired
@Lazy
EnterpriseInfoServiceImpl enterpriseInfoService;
@Autowired
private SystemUserMapper systemUserMapper;
@Autowired
private BaseRoleUserMapper baseRoleUserMapper;
@Autowired
private BaseRoleMapper systemRoleMapper;
@Autowired
private XzProjectOrgMapper xzProjectOrgMapper;
@Autowired
private WflowModelPermsMapper modelPermsMapper;
@Autowired
private WflowModelsMapper wflowModelsMapper;
@Autowired
private TeamInfoMapper teamInfoMapper;
@Autowired
private DepartmentInfoMapper departmentInfoMapper;
@Autowired
private EnterpriseInfoMapper enterpriseInfoMapper;
@Autowired
private NoticeServiceImpl noticeService;
@Lazy
@Autowired
private ISystemUserService systemUserService;
@Lazy
@Autowired
private WorkerInfoServiceImpl workerInfoService;
@Override
public List<ModelGroupVo.Form> getModelsByPerm(String userId) {
@ -104,7 +113,7 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
return list;
}
private void getList(Long deptId, List<XzProjectOrg> orgList){
private void getList(Long deptId, List<XzProjectOrg> orgList) {
XzProjectOrg parentId = xzProjectOrgMapper.selectOne(Wrappers.<XzProjectOrg>lambdaQuery().eq(XzProjectOrg::getId, deptId));
if (parentId != null) {
getList(parentId.getParentId(), orgList);
@ -318,6 +327,21 @@ public class FlowOrgRepositoryServiceImpl implements OrgRepositoryService {
noticeService.addUserNoticeAndApp(Long.valueOf(notify.getTarget()), notify.getTitle(), notify.getContent(), "10");
}
@Override
public com.alibaba.fastjson2.JSONObject getEnterpriseByUserId(String id) {
SystemUser systemUser = systemUserService.getById(id);
if (systemUser != null) {
List<WorkerInfo> workerInfos = workerInfoService.list(new LambdaQueryWrapper<WorkerInfo>()
.eq(WorkerInfo::getId, systemUser.getWorkerId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
if (CollUtil.isNotEmpty(workerInfos)) {
List<EnterpriseInfo> enterpriseInfos = enterpriseInfoService.list(new LambdaQueryWrapper<EnterpriseInfo>()
.eq(EnterpriseInfo::getId, workerInfos.get(0).getEnterpriseId()).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
return CollUtil.isNotEmpty(enterpriseInfos) ? com.alibaba.fastjson2.JSONObject.parseObject(JSON.toJSONString(enterpriseInfos.get(0))) : new com.alibaba.fastjson2.JSONObject();
}
}
return null;
}
@Override
public List<OrgTreeVo> selectEnterpriseByPy(String py) {
String tenantId = TenantContextHolder.getTenantId();

View File

@ -12,8 +12,7 @@
ei.enterprise_name,
null as epc_cbs,
null as epc_cbs_name,
wi.work_area as work_area,
du.device_unit_name as work_area_name,
wi.work_area_name as work_area_name,
ifnull(wt.type_name,di.department_name) as work_type,
wi.sex as sex,
YEAR(CURDATE())-YEAR(wi.birthday) as age,
@ -31,7 +30,6 @@
left join enterprise_info ei on ei.id=wi.enterprise_id
left join (select worker_id,certificate_number from worker_certificate group by worker_id) wc on ec.worker_id =
wc.worker_id
left join device_unit du on du.id=wi.work_area
where es.type!=1 and ec.submit = 1
) a
${ew.customSqlSegment}
@ -45,8 +43,7 @@
ei.enterprise_name,
wi.epc_cbs as epc_cbs,
ei1.enterprise_name as epc_cbs_name,
wi.work_area as work_area,
du.device_unit_name as work_area_name,
wi.work_area_name as work_area_name,
dt.name as work_type,
wi.sex as sex,
wi.age as age,
@ -62,7 +59,6 @@
left join enterprise_info ei1 on ei1.id=wi.epc_cbs
left join (select worker_admission_detail_id,certificate_number from worker_admission_certificate_detail group
by worker_admission_detail_id) wc on wc.worker_admission_detail_id = wi.id
left join device_unit du on du.id=wi.work_area
left join (
SELECT *
FROM dictionary_item
@ -208,7 +204,7 @@
wi.safe_score,
wi.send_success_status,
wi.exit_safe_score,
wi.work_area,
wi.work_area_name,
wi.num,
wi.worker_admission_detail_id,
wi.entry_deadline,
@ -252,8 +248,7 @@
ei.enterprise_name,
null as epc_cbs,
null as epc_cbs_name,
wi.work_area as work_area,
du.device_unit_name as work_area_name,
wi.work_area_name as work_area_name,
ifnull(wt.type_name,di.department_name) as work_type,
wi.sex as sex,
YEAR(CURDATE())-YEAR(wi.birthday) as age,
@ -270,7 +265,6 @@
left join enterprise_info ei on ei.id=wi.enterprise_id
left join (select worker_id,certificate_number from worker_certificate group by worker_id) wc on ec.worker_id =
wc.worker_id
left join device_unit du on du.id=wi.work_area
where es.type!=1 and ec.submit = 1
) a
where a.id=#{recordId}
@ -284,8 +278,7 @@
ei.enterprise_name,
wi.epc_cbs as epc_cbs,
ei1.enterprise_name as epc_cbs_name,
wi.work_area as work_area,
du.device_unit_name as work_area_name,
wi.work_area_name as work_area_name,
dt.name as work_type,
wi.sex as sex,
wi.age as age,
@ -300,7 +293,6 @@
left join enterprise_info ei1 on ei1.id=wi.epc_cbs
left join (select worker_admission_detail_id,certificate_number from worker_admission_certificate_detail group
by worker_admission_detail_id) wc on wc.worker_admission_detail_id = wi.id
left join device_unit du on du.id=wi.work_area
left join (
SELECT *
FROM dictionary_item

View File

@ -251,7 +251,7 @@ public class ExamTrainRecordVo extends ExamTrainRecord {
*/
@Excel(name = "工作区域(装置)", width = 15)
@ApiModelProperty(value = "工作区域(装置)")
private java.lang.Long workArea;
private java.lang.String workAreaName;
@ApiModelProperty(value = "班组名称")
private String teamName;
@ -277,8 +277,6 @@ public class ExamTrainRecordVo extends ExamTrainRecord {
private java.lang.String certificateNumber;
@ApiModelProperty(value = "EPC承包商名称")
private java.lang.String epcCbsName;
@ApiModelProperty(value = "工作区域(装置)名称")
private java.lang.String workAreaName;
@ApiModelProperty(value = "分类1:入场培训;2:复工培训;3:专项培训")
private Integer subjectType;
@ApiModelProperty(value = "岗位(工种)名称")

View File

@ -5,6 +5,8 @@ import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gexin.fastjson.JSON;
import com.gexin.fastjson.JSONArray;
import com.gexin.fastjson.JSONObject;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.execption.OpenAlertException;
@ -30,6 +32,8 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.simpleframework.xml.core.Validate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.PostMapping;
@ -243,41 +247,64 @@ public class ProjectEnterpriseController {
throw new OpenAlertException("企业资质不能为空");
}
String title = "承包商入场申请";
EnterpriseInfo existEnterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getSocialCode, socialCode).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
if (existEnterpriseInfo != null) {
List<ProjectEnterprise> projectEnterpriseList = projectEnterpriseService.list(new LambdaQueryWrapper<ProjectEnterprise>()
.eq(ProjectEnterprise::getEnterpriseId, existEnterpriseInfo.getId())
.eq(ProjectEnterprise::getProjectSn, projectSn));
if (CollUtil.isNotEmpty(projectEnterpriseList)) {
String msg = sub + "已存在";
noticeService.addProjectLevelNotice(projectSn, title, msg, "10", null);
throw new OpenAlertException(msg);
}
}
HashSet<Integer> haveQualificationTypes = new HashSet<>();
if (Objects.equals(enterpriseTypeId, 6)) {
//专业分包
haveQualificationTypes.add(1);
haveQualificationTypes.add(3);
haveQualificationTypes.add(4);
haveQualificationTypes.add(5);
haveQualificationTypes.add(6);
haveQualificationTypes.add(7);
} else {
haveQualificationTypes.add(1);
haveQualificationTypes.add(2);
}
for (Object qr : enterpriseQualifications) {
Map map1 = (Map) qr;
Integer qualificationType = Optional.ofNullable(map1.get("field6906058457282")).map(o -> Convert.toInt(((List) o).get(0))).orElse(null);
haveQualificationTypes.remove(qualificationType);
// EnterpriseInfo existEnterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getSocialCode, socialCode).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
// if (existEnterpriseInfo != null) {
// List<ProjectEnterprise> projectEnterpriseList = projectEnterpriseService.list(new LambdaQueryWrapper<ProjectEnterprise>()
// .eq(ProjectEnterprise::getEnterpriseId, existEnterpriseInfo.getId())
// .eq(ProjectEnterprise::getProjectSn, projectSn));
// if (CollUtil.isNotEmpty(projectEnterpriseList)) {
// String msg = sub + "已存在";
// noticeService.addProjectLevelNotice(projectSn, title, msg, "10", null);
// throw new OpenAlertException(msg);
// }
// }
// HashSet<Integer> haveQualificationTypes = new HashSet<>();
// if (Objects.equals(enterpriseTypeId, 6)) {
// //专业分包
// haveQualificationTypes.add(1);
// haveQualificationTypes.add(3);
// haveQualificationTypes.add(4);
// haveQualificationTypes.add(5);
// haveQualificationTypes.add(6);
// haveQualificationTypes.add(7);
// } else {
// haveQualificationTypes.add(1);
// haveQualificationTypes.add(2);
// }
// for (Object qr : enterpriseQualifications) {
// Map map1 = (Map) qr;
// Integer qualificationType = Optional.ofNullable(map1.get("field6906058457282")).map(o -> Convert.toInt(((List) o).get(0))).orElse(null);
// haveQualificationTypes.remove(qualificationType);
// }
// if (CollUtil.isNotEmpty(haveQualificationTypes)) {
// if (Objects.equals(enterpriseTypeId, 6L)) {
// throw new OpenAlertException("需要上传营业执照、企业资质、设计资质(设计专业提供)、安全生产许可证、职业健康安全管理体系认证证书、环境管理体系认证证书");
// } else {
// throw new OpenAlertException("需要上传营业执照、资质证书");
// }
// }
HashSet<String> haveQualificationTypes = new HashSet<>();
haveQualificationTypes.add("6");
haveQualificationTypes.add("7");
haveQualificationTypes.add("8");
JSONArray ja = JSON.parseArray(JSON.toJSONString(map.get("field4204582838396")));
for (int i = 0; i < ja.size(); i++) {
JSONObject jo = ja.getJSONObject(i);
String type = FlowUtil.getPullDownString(jo, "field6906058457282");
haveQualificationTypes.remove(type);
}
if (CollUtil.isNotEmpty(haveQualificationTypes)) {
if (Objects.equals(enterpriseTypeId, 6L)) {
throw new OpenAlertException("需要上传营业执照、企业资质、设计资质(设计专业提供)、安全生产许可证、职业健康安全管理体系认证证书、环境管理体系认证证书");
} else {
throw new OpenAlertException("需要上传营业执照、资质证书");
String typeName = "";
if (haveQualificationTypes.contains("6")) {
typeName += "职业健康安全管理体系认证证书、";
}
if (haveQualificationTypes.contains("7")) {
typeName += "环境管理体系认证证书、";
}
if (haveQualificationTypes.contains("8")) {
typeName += "质量管理体系认证证书、";
}
throw new OpenAlertException("需要上传" + StringUtils.removeEnd(typeName, ""));
}
return Result.ok();
}
@ -346,35 +373,35 @@ public class ProjectEnterpriseController {
enterpriseInfo.setProjectDirectorName(projectDirectorName);
enterpriseInfo.setProjectDirectorPhone(projectDirectorPhone);
enterpriseInfo.setProjectSn(projectSn);
String sub = enterpriseName + "(信用代码:" + socialCode + "";
EnterpriseInfo existEnterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getSocialCode, socialCode).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
if (existEnterpriseInfo != null) {
List<ProjectEnterprise> projectEnterpriseList = projectEnterpriseService.list(new LambdaQueryWrapper<ProjectEnterprise>()
.eq(ProjectEnterprise::getEnterpriseId, existEnterpriseInfo.getId())
.eq(ProjectEnterprise::getProjectSn, projectSn));
if (CollUtil.isNotEmpty(projectEnterpriseList)) {
String msg = sub + "已存在";
noticeService.addProjectLevelNotice(projectSn, title, msg, "10", null);
return Result.ok();
}
}
// String sub = enterpriseName + "(信用代码:" + socialCode + "";
// EnterpriseInfo existEnterpriseInfo = enterpriseInfoService.getOne(new LambdaQueryWrapper<EnterpriseInfo>().eq(EnterpriseInfo::getSocialCode, socialCode).last(Cts.IGNORE_DATA_SCOPE_CONDITION));
// if (existEnterpriseInfo != null) {
// List<ProjectEnterprise> projectEnterpriseList = projectEnterpriseService.list(new LambdaQueryWrapper<ProjectEnterprise>()
// .eq(ProjectEnterprise::getEnterpriseId, existEnterpriseInfo.getId())
// .eq(ProjectEnterprise::getProjectSn, projectSn));
// if (CollUtil.isNotEmpty(projectEnterpriseList)) {
// String msg = sub + "已存在";
// noticeService.addProjectLevelNotice(projectSn, title, msg, "10", null);
// return Result.ok();
// }
// }
List enterpriseQualifications = Optional.ofNullable(map.get("enterpriseQualifications")).map(o -> ((List) o)).orElse(null);
if (CollUtil.isEmpty(enterpriseQualifications)) {
throw new OpenAlertException("企业资质不能为空");
}
HashSet<Integer> haveQualificationTypes = new HashSet<>();
if (Objects.equals(enterpriseTypeId, 6)) {
//专业分包
haveQualificationTypes.add(1);
haveQualificationTypes.add(3);
haveQualificationTypes.add(4);
haveQualificationTypes.add(5);
haveQualificationTypes.add(6);
haveQualificationTypes.add(7);
} else {
haveQualificationTypes.add(1);
haveQualificationTypes.add(2);
}
// HashSet<Integer> haveQualificationTypes = new HashSet<>();
// if (Objects.equals(enterpriseTypeId, 6)) {
// //专业分包
// haveQualificationTypes.add(1);
// haveQualificationTypes.add(3);
// haveQualificationTypes.add(4);
// haveQualificationTypes.add(5);
// haveQualificationTypes.add(6);
// haveQualificationTypes.add(7);
// } else {
// haveQualificationTypes.add(1);
// haveQualificationTypes.add(2);
// }
ArrayList<EnterpriseQualification> qualificationList = new ArrayList<>();
for (Object qr : enterpriseQualifications) {
Map map1 = (Map) qr;
@ -386,7 +413,7 @@ public class ProjectEnterpriseController {
Integer qualificationType = Optional.ofNullable(map1.get("field6906058457282")).map(o -> Convert.toInt(((List) o).get(0))).orElse(null);
Date qualificationStartTime = FlowUtil.getStartDate(map1, "field8056482998908");
Date qualificationEndTime = FlowUtil.getEndDate(map1, "field8056482998908");
haveQualificationTypes.remove(qualificationType);
// haveQualificationTypes.remove(qualificationType);
EnterpriseQualification qualification = new EnterpriseQualification();
// qualification.setEnterpriseId(0L);
qualification.setFileName(fileName);
@ -399,14 +426,14 @@ public class ProjectEnterpriseController {
qualification.setQualificationEndTime(qualificationEndTime);
qualificationList.add(qualification);
}
if (CollUtil.isNotEmpty(haveQualificationTypes)) {
if (Objects.equals(enterpriseTypeId, 6L)) {
throw new OpenAlertException("需要上传营业执照、企业资质、设计资质(设计专业提供)、安全生产许可证、职业健康安全管理体系认证证书、环境管理体系认证证书");
} else {
throw new OpenAlertException("需要上传营业执照、资质证书");
}
}
enterpriseInfoService.saveEnterpriseInfo(enterpriseInfo);
// if (CollUtil.isNotEmpty(haveQualificationTypes)) {
// if (Objects.equals(enterpriseTypeId, 6L)) {
// throw new OpenAlertException("需要上传营业执照、企业资质、设计资质(设计专业提供)、安全生产许可证、职业健康安全管理体系认证证书、环境管理体系认证证书");
// } else {
// throw new OpenAlertException("需要上传营业执照、资质证书");
// }
// }
enterpriseInfoService.saveObj(enterpriseInfo);
for (EnterpriseQualification qualification : qualificationList) {
qualification.setEnterpriseId(enterpriseInfo.getId());
}

View File

@ -1,7 +1,18 @@
package com.zhgd.xmgl.modules.worker.controller;
import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelExportEntity;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.gexin.fastjson.TypeReference;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.mybatis.EntityMap;
@ -12,20 +23,29 @@ import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.entity.vo.*;
import com.zhgd.xmgl.modules.worker.service.IWorkerInfoService;
import com.zhgd.xmgl.util.JoBuilder;
import com.zhgd.xmgl.util.MapBuilder;
import com.zhgd.xmgl.util.MinioUtils;
import com.zhgd.xmgl.util.PathUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -40,6 +60,9 @@ import java.util.*;
@Slf4j
@Api(tags = "劳务人员")
public class WorkerInfoController {
@Lazy
@Autowired
MinioUtils minioUtils;
@Autowired
private IWorkerInfoService workerInfoService;
@Autowired
@ -113,7 +136,6 @@ public class WorkerInfoController {
return Result.ok();
}
/**
* 通过id查询
*
@ -128,7 +150,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.queryById(MapUtils.getString(map, "id")));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "分页列表查询劳务人员")
@ApiOperation(value = "分页列表查询劳务人员(常用)", notes = "分页列表查询劳务人员(常用)", httpMethod = "POST")
@ApiImplicitParams({
@ -167,7 +188,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.selectWorkerInfoList(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "人员总览人员类型和教育统计")
@ApiOperation(value = "人员总览人员类型和教育统计(常用)", notes = "人员总览人员类型和教育统计(常用)")
@ApiImplicitParams({
@ -204,7 +224,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.selectWorkerInfoList(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "查询全部人员信息")
@ApiOperation(value = "查询全部人员信息", notes = "查询全部人员信息", httpMethod = "GET")
@ApiImplicitParams({
@ -229,7 +248,6 @@ public class WorkerInfoController {
return Result.success(Collections.singleton(workerInfoService.selectWorkerInfoList(map)));
}
@ApiIdempotent
@OperLog(operModul = "劳务管理", operType = "批量修改劳务人员班组", operDesc = "批量修改劳务人员班组")
@ApiOperation(value = "批量修改劳务人员班组", notes = "批量修改劳务人员班组", httpMethod = "POST")
@ -301,7 +319,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.getLaborManagementInfoList(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "统计企业下项目各人员统计")
@ApiOperation(value = "统计企业下项目各人员统计", notes = "统计企业下项目各人员统计")
@ApiImplicitParams({
@ -356,7 +373,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.selectWorkerManageEnterpriseStatistics(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "项目人员统计")
@ApiOperation(value = "项目人员统计", notes = "项目人员统计")
@ApiImplicitParams({
@ -377,7 +393,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.selectProjectPresentWorkerList(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "查询所有工种出勤、在场人数列表")
@ApiOperation(value = "查询所有工种出勤、在场人数列表", notes = "查询所有工种出勤、在场人数列表")
@ApiImplicitParams({
@ -503,7 +518,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.getPersonnelSituationNum(projectSn));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "指挥中心-人员概况")
@ApiOperation(value = "指挥中心-人员概况", notes = "指挥中心-人员概况")
@ApiImplicitParams({
@ -514,7 +528,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.getPersonnelSituation(projectSn));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "人员管理-通过项目id获取各种人员数量")
@ApiOperation(value = "人员管理-通过项目id获取各种人员数量", notes = "人员管理-通过项目id以及时间区间查询人员增长趋势")
@ApiImplicitParams({
@ -539,7 +552,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.getDeclareAge(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "人员管理-通过项目sn以及时间区间查询人员增长趋势")
@ApiOperation(value = "人员管理-通过项目sn以及时间区间查询人员增长趋势", notes = "人员管理-通过项目id以及时间区间查询人员增长趋势")
@ApiImplicitParams({
@ -577,7 +589,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.selectWorkerTeamAndDepartmentStatistics(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "批量将要向住建局下发的人下发")
@ApiIdempotent
@ApiOperation(value = "批量将要向住建局下发的人下发", notes = "批量将要向住建局下发的人下发")
@ -746,7 +757,6 @@ public class WorkerInfoController {
return Result.success(workerInfoService.statsEnterprise(map));
}
@OperLog(operModul = "劳务管理", operType = "查询", operDesc = "企业安全评分汇总表")
@ApiOperation(value = "企业安全评分汇总表", notes = "企业安全评分汇总表", httpMethod = "POST")
@ApiImplicitParams({
@ -803,10 +813,77 @@ public class WorkerInfoController {
@ApiImplicitParam(name = "enterpriseId", value = "企业id", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/getPostWorkTypeList")
public Result<List<HashMap<String ,Object>>> getPostWorkTypeList(@RequestBody Map<String, Object> map) {
public Result<List<HashMap<String, Object>>> getPostWorkTypeList(@RequestBody Map<String, Object> map) {
return Result.success(workerInfoService.getPostWorkTypeList(map));
}
@OperLog(operModul = "劳务管理", operType = "", operDesc = "人员制卡信息导出")
@ApiOperation(value = "人员制卡信息导出", notes = "人员制卡信息导出", httpMethod = "POST")
@ApiImplicitParam(name = "workerIdList", value = "劳务人员ID列表", paramType = "body", required = true)
@PostMapping(value = "/batchPrintCard")
public Result batchPrintCard(@ApiIgnore @RequestBody HashMap<String, Object> param) throws IOException {
List<String> workerIdList = com.gexin.fastjson.JSON.parseObject(com.gexin.fastjson.JSON.toJSONString(param.get("workerIdList")), new TypeReference<List<String>>() {
});
if (CollUtil.isEmpty(workerIdList)) {
return Result.ok();
}
List<WorkerInfo> workerInfoList = workerInfoService.selectWorkerInfoList(new MapBuilder<String, Object>()
.put("workerIdList", param.get("workerIdList"))
.build()).getRecords();
Map<String, WorkerInfo> idCardMap = workerInfoList.stream().collect(Collectors.toMap(WorkerInfo::getIdCard, Function.identity()));
String foldName = "batchPrintCard/" + IdUtil.simpleUUID();
File foldFile = new File(PathUtil.getBasePath() + "/" + foldName);
File head = new File(foldFile, "头像");
File qrCode = new File(foldFile, "二维码");
foldFile.mkdirs();
head.mkdirs();
qrCode.mkdirs();
List<ExcelExportEntity> entity = new ArrayList<ExcelExportEntity>();
entity.add(new ExcelExportEntity("编号", "num"));
entity.add(new ExcelExportEntity("姓名", "name"));
entity.add(new ExcelExportEntity("岗位/工种", "post"));
entity.add(new ExcelExportEntity("单位", "enterprise"));
entity.add(new ExcelExportEntity("发证日期", "date"));
List<Map<String, String>> excelList = new ArrayList<Map<String, String>>();
Set<String> workerNames = new HashSet<>();
for (WorkerInfo detail : workerInfoList) {
String workerName = detail.getWorkerName();
while (workerNames.contains(workerName)) {
workerName += workerName + "(1)";
}
workerNames.add(workerName);
Map<String, String> map = new HashMap<String, String>();
String num = detail.getNum();
map.put("num", num);
map.put("name", workerName);
map.put("post", detail.getPostWorkTypeName());
map.put("enterprise", detail.getEnterpriseName());
map.put("date", DateUtil.today());
excelList.add(map);
try {
String url = detail.getFieldAcquisitionUrl();
MinioUtils.downloadFile(url);
FileUtil.move(FileUtil.file(PathUtil.getBasePath(), url), FileUtil.file(head, workerName + "." + StrUtil.subAfter(url, ".", true)), true);
} catch (Exception e) {
log.error("批量制卡", e);
}
// 生成指定url对应的二维码到文件宽和高都是300像素
QrCodeUtil.generate("/pages/projectEnd/laborManage/searchTeam/personDetail?id=" + idCardMap.get(detail.getIdCard()).getId(), 300, 300, FileUtil.file(qrCode, num + ".jpg"));
}
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), entity, excelList);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(foldFile + "/人员.xlsx");
workbook.write(fos);
} finally {
if (fos != null) {
fos.close();
}
}
ZipUtil.zip(foldFile.getAbsolutePath());
minioUtils.uploadBySameName(foldName + ".zip", false);
return Result.success(new JoBuilder().put("file", foldName + ".zip").build());
}
}

View File

@ -346,7 +346,7 @@ public class WorkerInfo implements Serializable {
*/
@Excel(name = "工作区域(装置)", width = 15)
@ApiModelProperty(value = "工作区域(装置)")
private java.lang.Long workArea;
private java.lang.String workAreaName;
@ApiModelProperty(value = "编号")
private java.lang.String num;
@ApiModelProperty(value = "人员入场明细ID")
@ -425,9 +425,6 @@ public class WorkerInfo implements Serializable {
@ApiModelProperty(value = "岗位(工种)名称")
private java.lang.String postWorkTypeName;
@TableField(exist = false)
@ApiModelProperty(value = "工作区域(装置)名称")
private java.lang.String workAreaName;
@TableField(exist = false)
@ApiModelProperty(value = "EPC承包商名称")
private java.lang.String epcCbsName;
@TableField(exist = false)
@ -442,7 +439,7 @@ public class WorkerInfo implements Serializable {
", workerName='" + workerName + '\'' +
", idCard='" + idCard + '\'' +
", enterpriseId=" + enterpriseId +
", workArea='" + workArea + '\'' +
", workArea='" + workAreaName + '\'' +
", num='" + num + '\'' +
", entryDeadline='" + entryDeadline + '\'' +
", epcCbs='" + epcCbs + '\'' +

View File

@ -32,7 +32,6 @@
wt.type_name,
if(wap.id is not null,1,2) presence
,if(a.person_type=1,b.team_name,c.department_name) as post_work_type_name
,du.device_unit_name as work_area_name
,wt.id as worker_type_id
,if(a.person_type=1,b.id,c.id) as post_work_type_id
from worker_info a
@ -51,7 +50,6 @@
</if>
and create_time>=current_date group by person_sn ) wa on wa.person_sn = a.person_sn
</if>
LEFT JOIN device_unit du on du.id=a.work_area
WHERE 1 = 1
<if test="param.num != null and param.num != ''">
and a.num like concat('%', #{param.num},'%')
@ -837,7 +835,6 @@
or (TIMESTAMPDIFF(HOUR, a.nad_time, now()) >= 168 and a.worker_classify = 1)) then '核酸已超时'
else '核酸未超时' end) as acid_status_name
,if(a.person_type=1,wt.type_name,c.department_name) as post_work_type_name
,du.device_unit_name as work_area_name
from worker_info a
LEFT JOIN team_info b ON a.team_id = b.id
LEFT JOIN enterprise_info en ON en.id = a.enterprise_id
@ -845,7 +842,6 @@
LEFT JOIN worker_type wt ON b.worker_type_id = wt.id
LEFT JOIN dictionaries_record d ON a.job_type = d.id
LEFT JOIN dictionaries_record e ON a.job_name = e.id
LEFT JOIN device_unit du on du.id=a.work_area
WHERE a.project_sn = #{projectSn}
<if test="enterpriseIds != null and enterpriseIds.size() != 0">
and a.enterprise_id in
@ -1218,7 +1214,6 @@
else 0 end) work_day_num,
ru.rule_name
,if(a.person_type=1,wt.type_name,c.department_name) as post_work_type_name
,du.device_unit_name as work_area_name
,ei1.enterprise_name as epc_cbs_name
from worker_info a
INNER JOIN project p ON a.project_sn = p.project_sn
@ -1229,7 +1224,6 @@
LEFT JOIN dictionaries_record e ON a.job_name = e.id
LEFT JOIN enterprise_info en ON a.enterprise_id = en.id
LEFT JOIN worker_attendance_rule ru ON a.rule_id = ru.id
LEFT JOIN device_unit du on du.id=a.work_area
LEFT JOIN enterprise_info ei1 on ei1.id=a.epc_cbs
WHERE a.id = #{workerId}
</select>
@ -2646,11 +2640,10 @@
</select>
<select id="countDeviceUnit" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
select du.device_unit_name as name ,count(*) as count
select t.device_unit_name as name ,count(*) as count
from worker_info t
join device_unit du on du.id=t.work_area
where t.project_sn = #{projectSn}
group by du.id
group by t.device_unit_name
order by count desc
</select>
</mapper>

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.worker.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
@ -601,6 +602,7 @@ public class EnterpriseInfoServiceImpl extends ServiceImpl<EnterpriseInfoMapper,
map.put("projectSn", enterpriseInfo.getProjectSn());
List<EntityMap> infoList = enterpriseInfoMapper.getEnterpriseInfoList(map);
if (CollUtil.isNotEmpty(infoList)) {
enterpriseInfo.setId(Convert.toLong(infoList.get(0).get("id")));
this.updateEnterpriseInfo(enterpriseInfo);
} else {
this.saveEnterpriseInfo(enterpriseInfo);

View File

@ -1986,7 +1986,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
workerInfo.setBirthday(MapUtils.getString(idCardInfoMap, "birthday"));
workerInfo.setPersonType(MapUtils.getInteger(importInfo, "personType"));
workerInfo.setNation(importInfo.get("民族"));
workerInfo.setPhoneNumber(importInfo.get("*联系电话"));
workerInfo.setPhoneNumber(importInfo.get("联系电话"));
workerInfo.setEmergentPerson(importInfo.get("紧急联系人"));
workerInfo.setEmergentPhone(importInfo.get("紧急联系人电话"));
workerInfo.setIssuingAuthorityForIdcard(importInfo.get("签发机构"));
@ -2056,7 +2056,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
workerInfo.setPayRollBankNumber(importInfo.get("银行卡号"));
workerInfo.setInserviceType(1);
workerInfo.setUfaceDevId(ufaceId);
workerInfo.setWorkArea(Optional.ofNullable(unitMap.get(importInfo.get("工作区域"))).map(m -> m.getId()).orElse(null));
workerInfo.setWorkAreaName(importInfo.get("工作区域"));
workerInfo.setNum(importInfo.get("编号"));
workerInfo.setEntryDeadline(importInfo.get("计划入场截止时间"));
workerInfo.setPersonMail(importInfo.get("邮箱"));
@ -2225,9 +2225,6 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
if (StringUtils.isBlank(importInfo.get("*姓名"))) {
throw new OpenAlertException("有姓名未填写");
}
if (StringUtils.isBlank(importInfo.get("*联系电话"))) {
throw new OpenAlertException("有联系电话未填写");
}
if (StringUtils.isBlank(importInfo.get("*身份证号码"))) {
throw new OpenAlertException("有身份证号码未填写");
}

View File

@ -77,7 +77,7 @@ public class XzWorkerSafeWatchAlarmController {
Page<XzWorkerSafeWatchAlarm> page = PageUtil.getPage(map);
queryWrapper.lambda().orderByDesc(XzWorkerSafeWatchAlarm::getAlarmTime);
IPage<XzWorkerSafeWatchAlarm> pageList = xzWorkerSafeWatchAlarmService.page(page, queryWrapper);
String[] typeName = {"人员日常考勤", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过", "同一企业同一隐患连续检查到(x)次", "一级安全隐患未整改超过(x)分钟", "一级安全隐患未复查超过(x)分钟", "一级安全隐患未核验超过(x)分钟", "二级安全隐患未整改超过(x)分钟", "二级安全隐患未复查超过(x)分钟", "二级安全隐患未核验超过(x)分钟", "三级安全隐患未整改超过(x)分钟", "三级安全隐患未复查超过(x)分钟", "三级安全隐患未核验超过(x)分钟", "四级安全隐患未整改超过(x)分钟", "四级安全隐患未复查超过(x)分钟", "四级安全隐患未核验超过(x)分钟"};
String[] typeName = {"一个月内连续缺勤超过", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过", "同一企业同一隐患连续检查到(x)次", "一级安全隐患未整改超过(x)分钟", "一级安全隐患未复查超过(x)分钟", "一级安全隐患未核验超过(x)分钟", "二级安全隐患未整改超过(x)分钟", "二级安全隐患未复查超过(x)分钟", "二级安全隐患未核验超过(x)分钟", "三级安全隐患未整改超过(x)分钟", "三级安全隐患未复查超过(x)分钟", "三级安全隐患未核验超过(x)分钟", "四级安全隐患未整改超过(x)分钟", "四级安全隐患未复查超过(x)分钟", "四级安全隐患未核验超过(x)分钟"};
for (XzWorkerSafeWatchAlarm record : pageList.getRecords()) {
record.setType(typeName[Integer.parseInt(record.getType()) - 1]);
}
@ -222,7 +222,7 @@ public class XzWorkerSafeWatchAlarmController {
QueryWrapper<XzWorkerSafeWatchAlarm> queryWrapper = QueryGenerator.initPageQueryWrapper(XzWorkerSafeWatchAlarm.class, map);
queryWrapper.lambda().orderByDesc(XzWorkerSafeWatchAlarm::getAlarmTime);
IPage<XzWorkerSafeWatchAlarm> pageList = xzWorkerSafeWatchAlarmService.page(new Page<>(-1, -1), queryWrapper);
String [] typeName = {"人员日常考勤", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过"};
String[] typeName = {"一个月内连续缺勤超过", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过"};
for (XzWorkerSafeWatchAlarm record : pageList.getRecords()) {
record.setType(typeName[Integer.parseInt(record.getType()) - 1]);
}

View File

@ -55,17 +55,17 @@ public class EnterpriseQualificationTask {
* 企业资质提前一个月预警预警一次
*/
@SchedulerLock(name = "warnEnterpriseQualification", lockAtMostFor = 1000 * 60 * 60, lockAtLeastFor = 1000 * 60 * 5)
@Scheduled(cron = "0 5 0 * * ?")
@Scheduled(cron = "0 1 0 * * ?")
@RequestMapping("warnEnterpriseQualification")
public void warnEnterpriseQualification() {
try {
List<EnterpriseQualification> qualifications = enterpriseQualificationService.list(new LambdaQueryWrapper<EnterpriseQualification>()
.ge(EnterpriseQualification::getQualificationEndTime, DateUtil.formatDateTime(DateUtil.offsetMonth(new Date(), -1)))
.le(EnterpriseQualification::getQualificationEndTime, DateUtil.formatDateTime(new Date()))
.ge(EnterpriseQualification::getQualificationEndTime, DateUtil.formatDateTime(new Date()))
.le(EnterpriseQualification::getQualificationEndTime, DateUtil.formatDateTime(DateUtil.offsetMonth(new Date(), 1)))
);
List<EnterpriseQualificationWarn> haveWarns = enterpriseQualificationWarnService.list(new LambdaQueryWrapper<EnterpriseQualificationWarn>()
.ge(EnterpriseQualificationWarn::getQualificationEndTime, DateUtil.formatDateTime(DateUtil.offsetMonth(new Date(), -1)))
.le(EnterpriseQualificationWarn::getQualificationEndTime, DateUtil.formatDateTime(new Date()))
.ge(EnterpriseQualificationWarn::getQualificationEndTime, DateUtil.formatDateTime(new Date()))
.le(EnterpriseQualificationWarn::getQualificationEndTime, DateUtil.formatDateTime(DateUtil.offsetMonth(new Date(), 1)))
);
List<XzEmergencyPush> pushList = xzEmergencyPushService.list(new LambdaQueryWrapper<XzEmergencyPush>().eq(XzEmergencyPush::getType, 3));
Map<String, List<XzEmergencyPush>> projectSnMap = pushList.stream().collect(Collectors.groupingBy(XzEmergencyPush::getProjectSn));

View File

@ -303,7 +303,7 @@ public class WorkerTask {
@RequestMapping("/workerSafeWatchAlarm")
public void workerSafeWatchAlarm() {
log.info("开始执行对人员未履职情况进行监测");
String[] typeName = {"人员日常考勤", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过"};
String[] typeName = {"一个月内连续缺勤超过", "每个项目自检任务", "一个月内缺勤超过", "一个月内迟到超过"};
List<Project> projects = projectMapper.selectList(Wrappers.<Project>lambdaQuery().eq(Project::getStatus, 2));
for (Project project : projects) {
if (project.getEnableWorkerSafeWatch() != null && project.getEnableWorkerSafeWatch() == 1) {

View File

@ -494,16 +494,16 @@ public class ExcelUtils {
}
//工作区域
XSSFSheet sheet3 = workbook.getSheet("工作区域");
if (deviceUnits.size() > 0) {
for (int i = 0; i < deviceUnits.size(); i++) {
XSSFRow row1 = sheet3.createRow(i);
XSSFCell cell1 = row1.createCell(0);
DeviceUnit obj = deviceUnits.get(i);
cell1.setCellType(CellType.STRING);
cell1.setCellValue(obj.getDeviceUnitName());
}
}
// XSSFSheet sheet3 = workbook.getSheet("工作区域");
// if (deviceUnits.size() > 0) {
// for (int i = 0; i < deviceUnits.size(); i++) {
// XSSFRow row1 = sheet3.createRow(i);
// XSSFCell cell1 = row1.createCell(0);
// DeviceUnit obj = deviceUnits.get(i);
// cell1.setCellType(CellType.STRING);
// cell1.setCellValue(obj.getDeviceUnitName());
// }
// }
//岗位工种
XSSFSheet sheet4 = workbook.getSheet("岗位(工种)");