分包基础信息管理,分包出入场(合同)

This commit is contained in:
马三炮 2025-08-15 15:58:01 +08:00
parent ac378d73f4
commit 62c58c4196
14 changed files with 246 additions and 7 deletions

View File

@ -98,6 +98,22 @@ public class BmSubContractController extends BaseController {
return error("系统异常,请联系管理员");
}
/**
* 分包商合同信息详情
*/
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:contract:list"))
@GetMapping("/getSubContractById")
@SysLog(title = "分包商合同信息详情", businessType = OperaType.QUERY, logType = 0, module = "分包商合同信息->项目部列表")
public AjaxResult getSubContractById(BmSubContract bmSubContract) {
try {
BmSubContractVo bmSubContractVo = bmSubContractService.getSubContractById(bmSubContract);
return success(bmSubContractVo);
} catch (Exception e) {
log.error(e.toString(), e);
}
return error();
}
/**
* 导出分包商合同信息
*/

View File

@ -0,0 +1,51 @@
package com.bonus.bmw.controller;
import com.bonus.bmw.domain.po.PmAttDevice;
import com.bonus.bmw.service.PmAttDeviceService;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.InnerAuth;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @author 马三炮
* @date 2025/8/15
*/
@Slf4j
@RestController
@RequestMapping("/pmAttDevice")
public class PmAttDeviceController extends BaseController {
@Resource
private PmAttDeviceService pmAttDeviceService;
/**
* 考勤机列表
*/
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:contract:list"))
@GetMapping("/list")
@SysLog(title = "考勤机", businessType = OperaType.QUERY, logType = 0, module = "考勤机->考勤机列表")
public TableDataInfo list(PmAttDevice pmAttDevice) {
try {
startPage();
List<PmAttDevice> list = pmAttDeviceService.selectPmAttDeviceList(pmAttDevice);
return getDataTable(list);
} catch (Exception e) {
log.error(e.toString(), e);
}
return getDataTableError(new ArrayList<>());
}
}

View File

@ -5,6 +5,7 @@ import com.bonus.bmw.domain.dto.WebFileDto;
import com.bonus.bmw.domain.po.PmSubTeamContract;
import com.bonus.bmw.service.PmSubTeamContractService;
import com.bonus.common.core.utils.json.FastJsonHelper;
import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo;
@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
@ -51,11 +53,11 @@ public class PmSubTeamContractController extends BaseController {
}
/**
* 班组出场
* 新增和出场班组
*/
/* @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:edit"))*/
@PostMapping("/addOrUpdateSubTeamContract")
@SysLog(title = "分包商合同信息", businessType = OperaType.UPDATE, logType = 0, module = "分包商合同信息->新增和修改分包商合同信息")
@SysLog(title = "分包班组入场信息管理", businessType = OperaType.UPDATE, logType = 0, module = "分包班组入场信息管理->新增和修改分包班组信息")
public AjaxResult addOrUpdateSubTeamContract(@RequestParam(value = "files") MultipartFile[] files, @RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) {
try {
List<WebFileDto> listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class);
@ -74,11 +76,11 @@ public class PmSubTeamContractController extends BaseController {
}
/**
* 分包班组信息入场信息列表
* 分包班组信息入场详情
*/
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:teamContract:list"))
@GetMapping("/getSubTeamContractById")
@SysLog(title = "分包班组入场信息管理", businessType = OperaType.QUERY, logType = 0, module = "分包班组入场信息管理->分包班组入场信息列表")
@SysLog(title = "分包班组入场信息管理", businessType = OperaType.QUERY, logType = 0, module = "分包班组入场信息管理->分包班组信息入场详情")
public AjaxResult getSubTeamContractById(PmSubTeamContract pmSubTeamContract) {
try {
PmSubTeamContract pmSubTeamContractRes = pmSubTeamContractService.getSubTeamContractById(pmSubTeamContract);
@ -89,4 +91,19 @@ public class PmSubTeamContractController extends BaseController {
return error();
}
/**
* 导出分包班组入场信息
*/
@PostMapping("/export")
@SysLog(title = "分包班组入场信息", businessType = OperaType.EXPORT, logType = 0, module = "分包班组信息->导出分包班组入场信息")
public void export(HttpServletResponse response, PmSubTeamContract pmSubTeamContract) {
try {
List<PmSubTeamContract> list = pmSubTeamContractService.selectSubTeamContractList(pmSubTeamContract);
ExcelUtil<PmSubTeamContract> util = new ExcelUtil<PmSubTeamContract>(PmSubTeamContract.class);
util.exportExcel(response, list, "分包班组入场信息");
} catch (Exception e) {
logger.error(e.toString(), e);
}
}
}

View File

@ -0,0 +1,61 @@
package com.bonus.bmw.domain.po;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* @author 马三炮
* @date 2025/8/15
*/
@Data
public class PmAttDevice {
/**
* 设备编码(唯一必填-从硬件上获取查看)
*/
private String deviceCode;
/**
* 设备名
*/
private String deviceName;
/**
* 工程id
*/
private Integer proId;
/**
*创建人
*/
private String createUser;
/**
*修改人
*/
private String updateUser;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**
* 修改时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**
* 设备型号
*/
private String devModel;
/**
* 在线状态
*/
private String onLine;
}

View File

@ -1,5 +1,6 @@
package com.bonus.bmw.domain.po;
import com.bonus.common.core.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
@ -25,6 +26,7 @@ public class PmSubTeamContract {
/**
* 班组名称
*/
@Excel(name = "班组名称",sort = 2)
private String teamName;
/**
@ -33,8 +35,9 @@ public class PmSubTeamContract {
private Integer subId;
/**
* 分包名称
* 分包名称
*/
@Excel(name = "分包商名称",sort = 1)
private String subName;
/**
@ -45,21 +48,25 @@ public class PmSubTeamContract {
/**
* 工程名称
*/
@Excel(name = "班组入场工程名称",sort = 3)
private String proName;
/**
* 班组入场时间
*/
@Excel(name = "班组入场时间",sort = 5)
private String teamEinTime;
/**
* 1 已入场 2 已离场
*/
@Excel(name = "出入场状态",sort = 4,readConverterExp = "1=在场,2=出场")
private Integer teamEinStatus;
/**
* 班组出场时间
*/
@Excel(name = "班组出场时间",sort = 6)
private String teamExitTime;
/**

View File

@ -15,4 +15,6 @@ public interface BmSubContractMapper {
BmSubContract getSubContractBySubContractName(BmSubContract bmSubContract);
int delSubContract(BmSubContract bmSubContract);
BmSubContractVo getSubContractById(BmSubContract bmSubContract);
}

View File

@ -0,0 +1,9 @@
package com.bonus.bmw.mapper;
import com.bonus.bmw.domain.po.PmAttDevice;
import java.util.List;
public interface PmAttDeviceMapper {
List<PmAttDevice> selectPmAttDeviceList(PmAttDevice pmAttDevice);
}

View File

@ -12,4 +12,6 @@ public interface BmSubContractService {
int addOrUpdateSubContract(BmSubContract bmSubContract, FileBasicMsgDto fileBasicMsgDto);
int delSubContract(BmSubContract bmSubContract);
BmSubContractVo getSubContractById(BmSubContract bmSubContract);
}

View File

@ -0,0 +1,9 @@
package com.bonus.bmw.service;
import com.bonus.bmw.domain.po.PmAttDevice;
import java.util.List;
public interface PmAttDeviceService {
List<PmAttDevice> selectPmAttDeviceList(PmAttDevice pmAttDevice);
}

View File

@ -86,4 +86,9 @@ public class BmSubContractServiceImpl implements BmSubContractService {
fileUploadUtils.delFileListById("", bmSubContract.getId().toString(), Constants.BM_SUB_CONTRACT,"");
return i;
}
@Override
public BmSubContractVo getSubContractById(BmSubContract bmSubContract) {
return bmSubContractMapper.getSubContractById(bmSubContract);
}
}

View File

@ -0,0 +1,27 @@
package com.bonus.bmw.service.impl;
import com.bonus.bmw.domain.po.PmAttDevice;
import com.bonus.bmw.mapper.PmAttDeviceMapper;
import com.bonus.bmw.service.PmAttDeviceService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* @author 马三炮
* @date 2025/8/15
*/
@Service
@Slf4j
public class PmAttDeviceServiceImpl implements PmAttDeviceService {
@Resource
private PmAttDeviceMapper pmAttDeviceMapper;
@Override
public List<PmAttDevice> selectPmAttDeviceList(PmAttDevice pmAttDevice) {
return pmAttDeviceMapper.selectPmAttDeviceList(pmAttDevice);
}
}

View File

@ -71,4 +71,20 @@
where bsc.is_active = '1' and
(bsc.sub_contract_code = #{subContractCode} or bsc.sub_contract_name = #{subContractName})
</select>
<select id="getSubContractById" resultType="com.bonus.bmw.domain.vo.BmSubContractVo">
select bsc.id as id,
bsc.sub_contract_code as subContractCode,
bsc.sub_contract_name as subContractName,
bsc.sub_id as subId,
ps.sub_name as subName,
bsc.pro_id as proId,
pp.pro_name as proName,
bsc.sub_ein_time as subEinTime,
bsc.sub_exit_time as subExitTime,
bsc.sub_ein_status as subEinStatus
from bm_sub_contract bsc
left join pm_sub ps on bsc.sub_id = ps.id
left join pm_project pp on bsc.pro_id = pp.id
where bsc.is_active = '1' and bsc.id = #{id}
</select>
</mapper>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.bmw.mapper.PmAttDeviceMapper">
<select id="selectPmAttDeviceList" resultType="com.bonus.bmw.domain.po.PmAttDevice">
</select>
</mapper>

View File

@ -55,8 +55,17 @@
</delete>
<select id="selectSubList" resultType="com.bonus.bmw.domain.po.PmSub">
select id,sub_name,legal_person,legal_person_phone,sub_address,business_license,electronic_seal,
id_card_front,id_card_reverse,corporate_seal,sub_ein_status
select id as id,
sub_name as subName,
legal_person as legalPerson,
legal_person_phone as legalPersonPhone,
sub_address as subAddress,
business_license as businessLicense,
electronic_seal as electronicSeal,
id_card_front as idCardFront,
id_card_reverse as idCardReverse,
corporate_seal as corporateSeal,
sub_ein_status as subEinStatus
from pm_sub where is_active='1'
<if test="keyWord !=null and keyWord!= ''" >
and (