12-05-事故管理-事故上报、事故调查

This commit is contained in:
2025-12-08 18:48:53 +08:00
parent 84d9291763
commit 9f5b3918d0
20 changed files with 200 additions and 15 deletions

View File

@ -109,9 +109,9 @@ public class HseSafetySgdcController extends BaseController {
* 统计数据
*/
@SaCheckPermission("accident:safetySgdc:list")
@GetMapping("/getCountValue")
public R<SgsbCountVo> getCountValue() {
return R.ok(hseSafetySgdcService.getListCount());
@GetMapping("/getCountValue/{projectId}")
public R<SgsbCountVo> getCountValue(@PathVariable Long projectId) {
return R.ok(hseSafetySgdcService.getListCount(projectId));
}
}

View File

@ -227,4 +227,19 @@ public class HseSafetySgdcVo implements Serializable {
*/
private String bczt;
/**
* 整改任务名称
*/
private String zgrwmc;
/**
* 整改状态
*/
private String zgzt;
/**
* 复查结果
*/
private String fcjg;
}

View File

@ -22,4 +22,6 @@ public interface HseSafetySgdcMapper extends BaseMapperPlus<HseSafetySgdc, HseSa
@Select("select * from hse_safety_sgsb")
List<HseSafetySgsb> getSbList();
@Select("select * from hse_safety_sgsb where project_id = #{projectId}")
List<HseSafetySgsb> getSgsbListByProjectId(Long projectId);
}

View File

@ -73,5 +73,5 @@ public interface IHseSafetySgdcService extends IService<HseSafetySgdc>{
* 统计数据
* @return
*/
SgsbCountVo getListCount();
SgsbCountVo getListCount(Long projectId);
}

View File

@ -58,7 +58,24 @@ public class HseSafetySgdcServiceImpl extends ServiceImpl<HseSafetySgdcMapper, H
*/
@Override
public HseSafetySgdcVo queryById(Long id){
return baseMapper.selectVoById(id);
HseSafetySgdcVo hseSafetySgdcVo = baseMapper.selectVoById(id);
if (hseSafetySgdcVo == null) {
return null;
}
List<HseSafetySgdcVo> hseSafetySgdcVo1 = List.of(hseSafetySgdcVo);
setValue(hseSafetySgdcVo1);
//获取整改信息
LambdaQueryWrapper<HseSafetySgzgbh> lqw = Wrappers.lambdaQuery();
lqw.eq(HseSafetySgzgbh::getDcId, id);
HseSafetySgzgbh one = zgbhService.getOne(lqw);
if (one != null){
hseSafetySgdcVo.setZgrwmc(one.getZgbhbh());
hseSafetySgdcVo.setZgzt(one.getZgStatus());
hseSafetySgdcVo.setFcjg(one.getFcStatus());
}
return hseSafetySgdcVo1.getFirst();
}
/**
@ -127,6 +144,13 @@ public class HseSafetySgdcServiceImpl extends ServiceImpl<HseSafetySgdcMapper, H
*/
@Override
public Boolean insertByBo(HseSafetySgdcBo bo) {
//检查是否已有数据
LambdaQueryWrapper<HseSafetySgdc> lqw = new LambdaQueryWrapper<>();
lqw.eq(HseSafetySgdc::getSgId, bo.getSgId());
if (baseMapper.selectCount(lqw) > 0) {
throw new RuntimeException("该事故已提交过事故调查");
}
HseSafetySgdc add = MapstructUtils.convert(bo, HseSafetySgdc.class);
validEntityBeforeSave(add);
//生成调查编号
@ -300,7 +324,7 @@ public class HseSafetySgdcServiceImpl extends ServiceImpl<HseSafetySgdcMapper, H
* 统计数据
*/
@Override
public SgsbCountVo getListCount(){
public SgsbCountVo getListCount(Long projectId){
//初始化
SgsbCountVo countVo = new SgsbCountVo();
long ddcsg = 0;
@ -308,7 +332,7 @@ public class HseSafetySgdcServiceImpl extends ServiceImpl<HseSafetySgdcMapper, H
long ywcdc = 0;
long dzgsg = 0;
List<HseSafetySgsb> sbList = baseMapper.getSbList();
List<HseSafetySgsb> sbList = baseMapper.getSgsbListByProjectId(projectId);
for (HseSafetySgsb sgsb : sbList) {
//待调查事故 上报后 审核后 待调查
if (sgsb.getSgzt().equals(SGStatusEnum.UNDER_INVESTIGATION.getCode())){

View File

@ -14,7 +14,6 @@ import org.dromara.common.utils.JSTUtil;
import org.dromara.contractor.domain.SubConstructionUser;
import org.dromara.contractor.service.impl.SubConstructionUserServiceImpl;
import org.dromara.gps.domain.bo.GpsEquipmentSonBo;
import org.dromara.gps.service.impl.GpsEquipmentSonServiceImpl;
import org.dromara.project.domain.BusProjectPunchrange;
import org.dromara.project.domain.BusProjectTeam;
import org.dromara.project.service.IBusProjectTeamService;
@ -45,8 +44,6 @@ public class RydwWebSocketServer {
private final static SysUserServiceImpl sysUserService = SpringUtils.getBean(SysUserServiceImpl.class);
private final static GpsEquipmentSonServiceImpl gpsEquipmentSonService = SpringUtils.getBean(GpsEquipmentSonServiceImpl.class);
private final IBusProjectTeamService busProjectTeamService = SpringUtils.getBean(IBusProjectTeamService.class);
// 2. 静态会话存储(线程安全,项目启动时即初始化)
@ -488,7 +485,7 @@ public class RydwWebSocketServer {
}
// 测试数据
countMap.put("1000000:测试数据", 8);
// countMap.put("1000000:测试数据", 8);
return new ArrayList<>(countMap.entrySet());
}

View File

@ -235,5 +235,9 @@ public class XzdProject extends BaseEntity {
*/
private String auditStatus;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -129,5 +129,9 @@ public class XzdProjectManagerApproval extends BaseEntity {
*/
private String auditStatus;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -245,5 +245,9 @@ public class XzdSupplierInfo extends BaseEntity {
*/
private String email;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -339,4 +339,9 @@ public class XzdProjectBo extends BaseEntity {
private String selfId;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -129,5 +129,9 @@ public class XzdProjectManagerApprovalBo extends BaseEntity {
*/
private String auditStatus;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -361,4 +361,9 @@ public class XzdSupplierInfoBo extends BaseEntity {
private Integer offset;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -150,5 +150,9 @@ public class XzdProjectManagerApprovalVo implements Serializable {
@ExcelProperty(value = "审核状态")
private String auditStatus;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -5,7 +5,6 @@ import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.translation.annotation.Translation;
import org.dromara.common.translation.annotation.TranslationType;
import org.dromara.common.translation.constant.TransConstant;
import org.dromara.xzd.domain.XzdProject;
@ -395,4 +394,9 @@ public class XzdProjectVo implements Serializable {
*/
private String gd;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -444,4 +444,9 @@ public class XzdSupplierInfoVo implements Serializable {
*/
private List<XzdContractInfo> contracts;
/**
* 所属公司
*/
private Long ssgs;
}

View File

@ -18,7 +18,10 @@ import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import org.dromara.xzd.domain.bo.XzdProjectManagerApprovalBo;
@ -47,6 +50,8 @@ public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProject
@Autowired
private SysOssServiceImpl sysOssService;
@Autowired
private SysDeptServiceImpl iSysDeptService;
/**
* 查询项目经理推荐及审批
@ -68,6 +73,20 @@ public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProject
*/
@Override
public TableDataInfo<XzdProjectManagerApprovalVo> queryPageList(XzdProjectManagerApprovalBo bo, PageQuery pageQuery) {
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
bo.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
bo.setSsgs(deptVo.getDeptId());
}else {
bo.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
LambdaQueryWrapper<XzdProjectManagerApproval> lqw = buildQueryWrapper(bo);
Page<XzdProjectManagerApprovalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
@ -88,6 +107,7 @@ public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProject
private LambdaQueryWrapper<XzdProjectManagerApproval> buildQueryWrapper(XzdProjectManagerApprovalBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdProjectManagerApproval> lqw = Wrappers.lambdaQuery();
lqw.eq(XzdProjectManagerApproval::getSsgs, bo.getSsgs());
lqw.eq(bo.getId() != null, XzdProjectManagerApproval::getId, bo.getId());
lqw.eq(bo.getCityCode() != null, XzdProjectManagerApproval::getCityCode, bo.getCityCode());
lqw.orderByDesc(XzdProjectManagerApproval::getId);
@ -114,6 +134,20 @@ public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProject
validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("XMJLTJSPB-");
add.setDocumentNumber(banBen);
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
add.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
add.setSsgs(deptVo.getDeptId());
}else {
add.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());

View File

@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
import org.dromara.common.core.domain.event.ProcessEvent;
import org.dromara.common.core.domain.event.ProcessTaskEvent;
@ -17,10 +16,11 @@ import org.dromara.common.core.utils.SpringUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.ISysDeptService;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl;
import org.dromara.xzd.domain.*;
@ -76,7 +76,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
@Autowired
private SysUserServiceImpl sysUserService;
@Autowired
private ISysDeptService iSysDeptService;
private SysDeptServiceImpl iSysDeptService;
/**
* 查询项目信息
@ -107,6 +107,20 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
bo.setPageNum(1);
bo.setPageSize(10);
}
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
bo.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
bo.setSsgs(deptVo.getDeptId());
}else {
bo.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
int i = (bo.getPageNum() - 1) * bo.getPageSize();
bo.setOffset(i);
@ -183,6 +197,20 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
validEntityBeforeSave(add);
String banBen = BatchNumberGenerator.generateBatchNumber("XMXX-");
add.setProjectNumber(banBen);
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
add.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
add.setSsgs(deptVo.getDeptId());
}else {
add.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());

View File

@ -17,7 +17,9 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.utils.BatchNumberGenerator;
import org.dromara.system.domain.vo.SysDeptVo;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.impl.SysDeptServiceImpl;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl;
import org.dromara.xzd.domain.*;
@ -91,6 +93,8 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
private SysUserServiceImpl sysUserService;
@Autowired
private SysOssServiceImpl sysOssService;
@Autowired
private SysDeptServiceImpl iSysDeptService;
private final IXzdCustomerSupplierService iXzdCustomerSupplierService;
private final IXzdCustomerSupplierYybService iXzdCustomerSupplierYybService;
@ -131,6 +135,21 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
bo.setPageSize(10);
}
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
bo.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
bo.setSsgs(deptVo.getDeptId());
}else {
bo.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
Integer i = (bo.getPageNum() - 1) * bo.getPageSize();
bo.setOffset(i);
@ -216,6 +235,21 @@ public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMappe
return false;
}
// 获取当前用户部门
Long deptId = LoginHelper.getDeptId();
SysDeptVo deptVo = iSysDeptService.selectDeptById(deptId);
if (LoginHelper.isSuperAdmin()) {
add.setSsgs(deptVo.getDeptId());
}else {
String ancestors = deptVo.getAncestors();
List<Long> ids = StringUtils.splitTo(ancestors, Convert::toLong);
if (ids.size() == 2) {
add.setSsgs(deptVo.getDeptId());
}else {
add.setSsgs(iSysDeptService.selectDeptById(ids.get(2)).getDeptId());
}
}
boolean flag = baseMapper.insert(add) > 0;
if (!flag) {
return false;

View File

@ -58,6 +58,10 @@
<where>
<if test='ssgs != null and projectAttribute != ""'>
AND project.ssgs = #{ssgs}
</if>
<if test='projectNumber != null and projectNumber != ""'>
AND project.project_number LIKE CONCAT('%',#{projectNumber},'%')
</if>

View File

@ -39,6 +39,10 @@
LEFT JOIN xzd_supplier_open_bank as bank ON yhxx.open_bank = bank.open_bank and yhxx.branch_name = bank.branch_name
<where>
<if test='bo.ssgs != null and bo.ssgs != ""'>
AND info.ssgs = #{bo.ssgs}
</if>
<if test='bo.unifiedSocialCreditCode != null and bo.unifiedSocialCreditCode != ""'>
AND info.unified_social_credit_code = #{bo.unifiedSocialCreditCode}
</if>
@ -99,6 +103,10 @@
AND info.district_county = #{bo.districtCounty}
</if>
<if test='bo.createDept != null and bo.createDept != ""'>
AND info.creator_dept = #{bo.createDept}
</if>
</where>
ORDER BY info.create_time DESC
</select>