From ac378d73f4b9a0507db3f4c81f4d27294586e62e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Fri, 15 Aug 2025 14:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=8C=85=E5=9F=BA=E7=A1=80=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=AE=A1=E7=90=86=EF=BC=8C=E5=88=86=E5=8C=85=E5=87=BA?= =?UTF-8?q?=E5=85=A5=E5=9C=BA=EF=BC=88=E5=90=88=E5=90=8C=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bonus/common/core/constant/Constants.java | 11 ++ .../controller/BmSubContractController.java | 71 +++++++++++- .../bonus/bmw/controller/PmSubController.java | 20 +++- .../PmSubTeamContractController.java | 92 +++++++++++++++ .../bmw/controller/PmSubTeamController.java | 108 ++++++++++++++++++ .../bonus/bmw/domain/po/BmSubContract.java | 18 +++ .../com/bonus/bmw/domain/po/PmSubTeam.java | 87 ++++++++++++++ .../bmw/domain/po/PmSubTeamContract.java | 91 +++++++++++++++ .../bonus/bmw/mapper/BmSubContractMapper.java | 8 ++ .../bmw/mapper/PmSubTeamContractMapper.java | 15 +++ .../com/bonus/bmw/mapper/PmSubTeamMapper.java | 28 +++++ .../bmw/service/BmSubContractService.java | 5 + .../bmw/service/PmSubTeamContractService.java | 14 +++ .../bonus/bmw/service/PmSubTeamService.java | 22 ++++ .../impl/BmSubContractServiceImpl.java | 60 ++++++++++ .../bmw/service/impl/PmSubServiceImpl.java | 8 +- .../impl/PmSubTeamContractServiceImpl.java | 71 ++++++++++++ .../service/impl/PmSubTeamServiceImpl.java | 61 ++++++++++ .../mapper/bmw/BmSubContractMapper.xml | 53 +++++++++ .../main/resources/mapper/bmw/PmSubMapper.xml | 2 +- .../mapper/bmw/PmSubTeamContractMapper.xml | 49 ++++++++ .../resources/mapper/bmw/PmSubTeamMapper.xml | 56 +++++++++ 22 files changed, 943 insertions(+), 7 deletions(-) create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamContractController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamController.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeam.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamContractMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamMapper.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamContractService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamService.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamContractServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamServiceImpl.java create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamContractMapper.xml create mode 100644 bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamMapper.xml diff --git a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java index be182c2..2304b16 100644 --- a/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java +++ b/bonus-common/bonus-common-core/src/main/java/com/bonus/common/core/constant/Constants.java @@ -164,4 +164,15 @@ public class Constants * 分包商信息表 */ public static final String PM_SUB = "pm_sub"; + + + /** + * 分包商合同信息 + */ + public static final String BM_SUB_CONTRACT = "bm_sub_contract"; + + /** + * 分包班组入场信息 + */ + public static final String PM_SUB_TEAM_CONTRACT = "pm_sub_team_contract"; } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmSubContractController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmSubContractController.java index cc2b1a5..53af5ea 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmSubContractController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmSubContractController.java @@ -1,9 +1,14 @@ package com.bonus.bmw.controller; +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.dto.WebFileDto; import com.bonus.bmw.domain.po.BmSubContract; import com.bonus.bmw.domain.vo.BmSubContractVo; import com.bonus.bmw.service.BmSubContractService; +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; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; @@ -11,11 +16,12 @@ 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 org.springframework.validation.annotation.Validated; +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; @@ -47,4 +53,63 @@ public class BmSubContractController extends BaseController { } return getDataTableError(new ArrayList<>()); } + + /** + * 新增和修改分包商合同信息 + */ + /* @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:edit"))*/ + @PostMapping("/addOrUpdateSubContract") + @SysLog(title = "分包商合同信息", businessType = OperaType.UPDATE, logType = 0, module = "分包商合同信息->新增和修改分包商合同信息") + public AjaxResult addOrUpdateSubContract(@RequestParam(value = "files") MultipartFile[] files, @RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { + try { + List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); + BmSubContract bmSubContract = FastJsonHelper.jsonStrToBean(params, BmSubContract.class); + int res = bmSubContractService.addOrUpdateSubContract(bmSubContract,new FileBasicMsgDto(listFile, files)); + if (res>0){ + return toAjax(res); + }else { + return error("分包商合同信息已存在"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 删除分包商合同信息 + */ + /*@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:del"))*/ + @PostMapping("/delSubContract") + @SysLog(title = "分包商合同信息", businessType = OperaType.UPDATE, logType = 0, module = "分包商合同信息->删除分包商合同信息") + public AjaxResult delSubContract(@Validated @RequestBody BmSubContract bmSubContract) { + try { + int res = bmSubContractService.delSubContract(bmSubContract); + if (res>0){ + return toAjax(res); + }else { + return error("公司下面存在未删除的分公司"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 导出分包商合同信息 + */ + @PostMapping("/export") + @SysLog(title = "包商合同信息", businessType = OperaType.EXPORT, logType = 0, module = "包商合同信息->导出包商合同信息") + public void export(HttpServletResponse response, BmSubContract bmSubContract) { + try { + List list = bmSubContractService.selectSubContractList(bmSubContract); + ExcelUtil util = new ExcelUtil(BmSubContractVo.class); + util.exportExcel(response, list, "包商出入场"); + } catch (Exception e) { + logger.error(e.toString(), e); + } + } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubController.java index c56643d..7d36c14 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubController.java @@ -57,7 +57,7 @@ public class PmSubController extends BaseController { * 新增和修改分包商 */ /* @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:edit"))*/ - @PostMapping("/addOrUpdateSubCompany") + @PostMapping("/addOrUpdateSub") @SysLog(title = "分包商管理", businessType = OperaType.UPDATE, logType = 0, module = "分包商管理->新增和修改分包商") public AjaxResult addOrUpdateSub(@RequestParam(value = "files") MultipartFile[] files, @RequestParam(value = "fileMsg") String fileMsg, @RequestParam(value = "params")String params) { try { @@ -81,7 +81,7 @@ public class PmSubController extends BaseController { /*@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:del"))*/ @PostMapping("/delSub") @SysLog(title = "分包商管理", businessType = OperaType.UPDATE, logType = 0, module = "分包商管理->删除分包商") - public AjaxResult delSubCompany(@Validated @RequestBody PmSub pmSub) { + public AjaxResult delSub(@Validated @RequestBody PmSub pmSub) { try { int res = pmSubService.delSub(pmSub); if (res>0){ @@ -96,6 +96,22 @@ public class PmSubController extends BaseController { return error("系统异常,请联系管理员"); } + /** + * 分包商列表 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:sub:list")) + @GetMapping("/listAll") + @SysLog(title = "分包商管理", businessType = OperaType.QUERY, logType = 0, module = "分包商管理->分包商列表") + public TableDataInfo listAll(PmSub pmSub) { + try { + List list = pmSubService.selectSubList(pmSub); + return getDataTable(list); + } catch (Exception e) { + log.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + /** * 导出分包商 */ diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamContractController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamContractController.java new file mode 100644 index 0000000..0828f8c --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamContractController.java @@ -0,0 +1,92 @@ +package com.bonus.bmw.controller; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +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.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +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.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 马三炮 + * @date 2025/8/15 + */ +@Slf4j +@RestController +@RequestMapping("/subTeamContract") +public class PmSubTeamContractController extends BaseController { + + @Resource + private PmSubTeamContractService pmSubTeamContractService; + + /** + * 分包班组信息入场信息列表 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:teamContract:list")) + @GetMapping("/list") + @SysLog(title = "分包班组入场信息管理", businessType = OperaType.QUERY, logType = 0, module = "分包班组入场信息管理->分包班组入场信息列表") + public TableDataInfo list(PmSubTeamContract pmSubTeamContract) { + try { + startPage(); + List list = pmSubTeamContractService.selectSubTeamContractList(pmSubTeamContract); + return getDataTable(list); + } catch (Exception e) { + log.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + /** + * 班组出场 + */ + /* @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:edit"))*/ + @PostMapping("/addOrUpdateSubTeamContract") + @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 listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); + PmSubTeamContract pmSubTeamContract = FastJsonHelper.jsonStrToBean(params, PmSubTeamContract.class); + int res = pmSubTeamContractService.addOrUpdateSubTeamContract(pmSubTeamContract,new FileBasicMsgDto(listFile, files)); + if (res>0){ + return toAjax(res); + }else { + return error("分包商合同信息已存在"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 分包班组信息入场信息列表 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:teamContract:list")) + @GetMapping("/getSubTeamContractById") + @SysLog(title = "分包班组入场信息管理", businessType = OperaType.QUERY, logType = 0, module = "分包班组入场信息管理->分包班组入场信息列表") + public AjaxResult getSubTeamContractById(PmSubTeamContract pmSubTeamContract) { + try { + PmSubTeamContract pmSubTeamContractRes = pmSubTeamContractService.getSubTeamContractById(pmSubTeamContract); + return success(pmSubTeamContractRes); + } catch (Exception e) { + log.error(e.toString(), e); + } + return error(); + } + +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamController.java new file mode 100644 index 0000000..3262488 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/PmSubTeamController.java @@ -0,0 +1,108 @@ +package com.bonus.bmw.controller; + +import com.bonus.bmw.domain.po.PmSubTeam; +import com.bonus.bmw.service.PmSubTeamService; +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; +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.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.ArrayList; +import java.util.List; + +/** + * @author 马三炮 + * @date 2025/8/15 + */ +@Slf4j +@RestController +@RequestMapping("/pmSubTeam") +public class PmSubTeamController extends BaseController { + + @Resource + private PmSubTeamService pmSubTeamService; + + /** + * 分包班组信息列表 + */ + @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("sub:team:list")) + @GetMapping("/list") + @SysLog(title = "分包班组信息管理", businessType = OperaType.QUERY, logType = 0, module = "分包班组信息管理->分包班组信息列表") + public TableDataInfo list(PmSubTeam pmSubTeam) { + try { + startPage(); + List list = pmSubTeamService.selectSubTeamList(pmSubTeam); + return getDataTable(list); + } catch (Exception e) { + log.error(e.toString(), e); + } + return getDataTableError(new ArrayList<>()); + } + + /** + * 新增和修改分包班组信息 + */ + /* @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:edit"))*/ + @PostMapping("/addOrUpdateSubTeam") + @SysLog(title = "分包班组信息", businessType = OperaType.UPDATE, logType = 0, module = "分包班组信息->新增和修改分包班组信息") + public AjaxResult addOrUpdateSubTeam(@Validated @RequestBody PmSubTeam pmSubTeam) { + try { + int res = pmSubTeamService.addOrUpdateSubTeam(pmSubTeam); + if (res>0){ + return toAjax(res); + }else { + return error("分包班组名称重复"); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 删除分包班组信息 + */ + /*@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("pm:company:del"))*/ + @PostMapping("/delSubTeam") + @SysLog(title = "分包班组信息", businessType = OperaType.UPDATE, logType = 0, module = "分包班组信息->删除分包班组信息") + public AjaxResult delSubTeam(@Validated @RequestBody PmSubTeam pmSubTeam) { + try { + int res = pmSubTeamService.delSubTeam(pmSubTeam); + if (res>0){ + return toAjax(res); + }else { + return error(); + } + + } catch (Exception e) { + logger.error(e.toString(), e); + } + return error("系统异常,请联系管理员"); + } + + /** + * 导出分包班组信息 + */ + @PostMapping("/export") + @SysLog(title = "分包班组信息", businessType = OperaType.EXPORT, logType = 0, module = "分包班组信息->导出分包班组信息") + public void export(HttpServletResponse response, PmSubTeam pmSubTeam) { + try { + List list = pmSubTeamService.selectSubTeamList(pmSubTeam); + ExcelUtil util = new ExcelUtil(PmSubTeam.class); + util.exportExcel(response, list, "分包班组信息"); + } catch (Exception e) { + logger.error(e.toString(), e); + } + } +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java index 4481b24..4516631 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/BmSubContract.java @@ -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; @@ -20,11 +21,13 @@ public class BmSubContract { /** * 分包合同编码 */ + @Excel(name = "分包合同编码",sort = 1) private String subContractCode; /** * 分包合同名称 */ + @Excel(name = "分包合同名称",sort = 2) private String subContractName; /** @@ -32,19 +35,33 @@ public class BmSubContract { */ private String subId; + /** + * 分包商名称 + */ + @Excel(name = "分包商名称",sort = 3) + private String subName; + /** * 工程id */ private String proId; + /** + * 工程名称 + */ + @Excel(name = "工程名称",sort = 4) + private String proName; + /** * 分包入场日期 */ + @Excel(name = "分包入场时间",sort = 6) private String subEinTime; /** * 分包出场时间 */ + @Excel(name = "分包入场时间",sort = 7) private String subExitTime; /** @@ -77,6 +94,7 @@ public class BmSubContract { /** *1 已入场 2 已离场 */ + @Excel(name = "出入场状态",sort = 5,readConverterExp = "1=在场,2=出场") private String subEinStatus; } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeam.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeam.java new file mode 100644 index 0000000..5f5c7ac --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeam.java @@ -0,0 +1,87 @@ +package com.bonus.bmw.domain.po; + +import com.bonus.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.util.Date; + +/** + * @author 马三炮 + * @date 2025/8/15 + */ +@Data +public class PmSubTeam { + + + /** + * 编号 + */ + private Integer id; + + /** + * 班组名称 + */ + @Excel(name = "班组名称",sort = 2) + private String teamName; + + /** + * 分包id + */ + private Integer subId; + + /** + * 分包商名称 + */ + @Excel(name = "分包商名称",sort = 1) + private String subName; + + /** + * 班组长 + */ + @Excel(name = "班组长",sort = 3) + private String teamLeader; + + /** + * 联系方式 + */ + @Excel(name = "联系方式",sort = 4) + private String phone; + + /** + * 0未入场 1 已入场 2 已离场 + */ + private String teamEinStatus; + + /** + *创建人 + */ + 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 Integer isActive; + + /** + * 关键字 + */ + private String keyWord; +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java new file mode 100644 index 0000000..eab8b61 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/po/PmSubTeamContract.java @@ -0,0 +1,91 @@ +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 PmSubTeamContract { + + /** + * 编号 + */ + private Integer id; + + /** + * 班组id + */ + private Integer teamId; + + /** + * 班组名称 + */ + private String teamName; + + /** + * 班组id + */ + private Integer subId; + + /** + * 分包名称 + */ + private String subName; + + /** + * 工程id + */ + private Integer proId; + + /** + * 工程名称 + */ + private String proName; + + /** + * 班组入场时间 + */ + private String teamEinTime; + + /** + * 1 已入场 2 已离场 + */ + private Integer teamEinStatus; + + /** + * 班组出场时间 + */ + private String teamExitTime; + + /** + *创建人 + */ + 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 Integer isActive; +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmSubContractMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmSubContractMapper.java index 2dbed80..d6e1897 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmSubContractMapper.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/BmSubContractMapper.java @@ -7,4 +7,12 @@ import java.util.List; public interface BmSubContractMapper { List selectSubContractList(BmSubContract bmSubContract); + + int updateSubContract(BmSubContract bmSubContract); + + int addSubContract(BmSubContract bmSubContract); + + BmSubContract getSubContractBySubContractName(BmSubContract bmSubContract); + + int delSubContract(BmSubContract bmSubContract); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamContractMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamContractMapper.java new file mode 100644 index 0000000..6c13bbd --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamContractMapper.java @@ -0,0 +1,15 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.po.PmSubTeamContract; + +import java.util.List; + +public interface PmSubTeamContractMapper { + List selectSubTeamContractList(PmSubTeamContract pmSubTeamContract); + + int updateSubTeamContract(PmSubTeamContract pmSubTeamContract); + + PmSubTeamContract getSubTeamContractById(PmSubTeamContract pmSubTeamContract); + + int addSubTeamContract(PmSubTeamContract pmSubTeamContract); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamMapper.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamMapper.java new file mode 100644 index 0000000..74e8826 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/mapper/PmSubTeamMapper.java @@ -0,0 +1,28 @@ +package com.bonus.bmw.mapper; + +import com.bonus.bmw.domain.po.PmSubTeam; + +import java.util.List; + +public interface PmSubTeamMapper { + + /** + * 分包班组信息列表 + */ + List selectSubTeamList(PmSubTeam pmSubTeam); + + /** + * 修改分包班组信息 + */ + int updateSubTeam(PmSubTeam pmSubTeam); + + /** + * 新增分包班组信息 + */ + int addSubTeam(PmSubTeam pmSubTeam); + + /** + * 删除分包班组信息 + */ + int delSubTeam(PmSubTeam pmSubTeam); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmSubContractService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmSubContractService.java index 5a70037..dd4311b 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmSubContractService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmSubContractService.java @@ -1,5 +1,6 @@ package com.bonus.bmw.service; +import com.bonus.bmw.domain.dto.FileBasicMsgDto; import com.bonus.bmw.domain.po.BmSubContract; import com.bonus.bmw.domain.vo.BmSubContractVo; @@ -7,4 +8,8 @@ import java.util.List; public interface BmSubContractService { List selectSubContractList(BmSubContract bmSubContract); + + int addOrUpdateSubContract(BmSubContract bmSubContract, FileBasicMsgDto fileBasicMsgDto); + + int delSubContract(BmSubContract bmSubContract); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamContractService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamContractService.java new file mode 100644 index 0000000..f3c32ad --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamContractService.java @@ -0,0 +1,14 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.po.PmSubTeamContract; + +import java.util.List; + +public interface PmSubTeamContractService { + List selectSubTeamContractList(PmSubTeamContract pmSubTeamContract); + + int addOrUpdateSubTeamContract(PmSubTeamContract pmSubTeamContract, FileBasicMsgDto fileBasicMsgDto); + + PmSubTeamContract getSubTeamContractById(PmSubTeamContract pmSubTeamContract); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamService.java new file mode 100644 index 0000000..6d65d52 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/PmSubTeamService.java @@ -0,0 +1,22 @@ +package com.bonus.bmw.service; + +import com.bonus.bmw.domain.po.PmSubTeam; + +import java.util.List; + +public interface PmSubTeamService { + /** + * 分包班组信息列表 + */ + List selectSubTeamList(PmSubTeam pmSubTeam); + + /** + * 新增和修改分包班组信息 + */ + int addOrUpdateSubTeam(PmSubTeam pmSubTeam); + + /** + * 删除分包班组信息 + */ + int delSubTeam(PmSubTeam pmSubTeam); +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmSubContractServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmSubContractServiceImpl.java index 327a61d..fbd3d42 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmSubContractServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmSubContractServiceImpl.java @@ -1,13 +1,21 @@ package com.bonus.bmw.service.impl; +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.dto.WebFileDto; import com.bonus.bmw.domain.po.BmSubContract; import com.bonus.bmw.domain.vo.BmSubContractVo; import com.bonus.bmw.mapper.BmSubContractMapper; import com.bonus.bmw.service.BmSubContractService; +import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.model.UploadFileVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Date; import java.util.List; /** @@ -21,9 +29,61 @@ public class BmSubContractServiceImpl implements BmSubContractService { @Resource private BmSubContractMapper bmSubContractMapper; + @Resource + private FileUploadUtils fileUploadUtils; + @Override public List selectSubContractList(BmSubContract bmSubContract) { return bmSubContractMapper.selectSubContractList(bmSubContract); } + + @Override + public int addOrUpdateSubContract(BmSubContract bmSubContract, FileBasicMsgDto fileBasicMsgDto) { + //BmSubContract bmSubContractOld = bmSubContractMapper.getSubContractBySubContractName(bmSubContract); + int res =0; + //存在则删除后新增,不存在则新增 + if(StringUtils.isNotNull(bmSubContract.getId())){ + /*if (StringUtils.isNotNull(bmSubContractOld) && !bmSubContractOld.getId().equals(bmSubContract.getId())){ + return res; + }*/ + bmSubContract.setUpdateUser(SecurityUtils.getUsername()); + bmSubContract.setUpdateTime(new Date()); + //出场时获取当前时间 + if ("2".equals(bmSubContract.getSubEinStatus())){ + bmSubContract.setSubExitTime(DateUtils.getDate()); + } + res = bmSubContractMapper.updateSubContract(bmSubContract); + }else { + /*if (StringUtils.isNotNull(bmSubContractOld)){ + return res; + }*/ + bmSubContract.setSubEinTime(DateUtils.getDate()); + bmSubContract.setCreateUser(SecurityUtils.getUsername()); + bmSubContract.setCreateTime(new Date()); + bmSubContract.setUpdateUser(SecurityUtils.getUsername()); + bmSubContract.setUpdateTime(new Date()); + res = bmSubContractMapper.addSubContract(bmSubContract); + } + //添加到文件库和minio上 + if(res > 0){ + //存文件 + List fileMsg = fileBasicMsgDto.getFileMsg(); + String[] type = new String[fileMsg.size()]; + for (int i = 0; i < fileMsg.size(); i++) { + type[i] = fileMsg.get(i).getType(); + } + List uploadFileVos = fileUploadUtils.uploadFile(fileBasicMsgDto.getFiles(), Constants.BM_SUB_CONTRACT, bmSubContract.getId().toString(), type,"", ""); + } + return res; + } + + @Override + public int delSubContract(BmSubContract bmSubContract) { + //删除数据和合同图片 + int i = bmSubContractMapper.delSubContract(bmSubContract); + //删除合同图片 删除minio文件 + fileUploadUtils.delFileListById("", bmSubContract.getId().toString(), Constants.BM_SUB_CONTRACT,""); + return i; + } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubServiceImpl.java index 1d4c0fa..974e026 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubServiceImpl.java @@ -11,6 +11,7 @@ import com.bonus.common.security.utils.SecurityUtils; import com.bonus.system.api.model.UploadFileVo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.Date; @@ -36,6 +37,7 @@ public class PmSubServiceImpl implements PmSubService { } @Override + @Transactional public int addOrUpdateSub(PmSub pmSub, FileBasicMsgDto fileBasicMsgDto) { PmSub pmSubOld = pmSubMapper.getSubBySubName(pmSub); int res =0; @@ -79,6 +81,10 @@ public class PmSubServiceImpl implements PmSubService { if (pmOrgList.size()>0){ return 0; }*/ - return pmSubMapper.delSub(pmSub); + int res = pmSubMapper.delSub(pmSub); + //删除合同图片 删除minio文件 + fileUploadUtils.delFileListById("", pmSub.getId().toString(), Constants.PM_SUB,""); + return res; + } } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamContractServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamContractServiceImpl.java new file mode 100644 index 0000000..3147a74 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamContractServiceImpl.java @@ -0,0 +1,71 @@ +package com.bonus.bmw.service.impl; + +import com.bonus.bmw.domain.dto.FileBasicMsgDto; +import com.bonus.bmw.domain.dto.WebFileDto; +import com.bonus.bmw.domain.po.PmSubTeamContract; +import com.bonus.bmw.mapper.PmSubTeamContractMapper; +import com.bonus.bmw.service.PmSubTeamContractService; +import com.bonus.common.core.constant.Constants; +import com.bonus.common.core.utils.DateUtils; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.model.UploadFileVo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + *@author 马三炮 + *@date 2025/8/15 + */ +@Service +@Slf4j +public class PmSubTeamContractServiceImpl implements PmSubTeamContractService { + + @Resource + private PmSubTeamContractMapper pmSubTeamContractMapper; + @Resource + private FileUploadUtils fileUploadUtils; + + + @Override + public List selectSubTeamContractList(PmSubTeamContract pmSubTeamContract) { + return pmSubTeamContractMapper.selectSubTeamContractList(pmSubTeamContract); + } + + @Override + public int addOrUpdateSubTeamContract(PmSubTeamContract pmSubTeamContract, FileBasicMsgDto fileBasicMsgDto) { + int res =0; + if (StringUtils.isNotNull(pmSubTeamContract.getId())){ + pmSubTeamContract.setUpdateUser(SecurityUtils.getUsername()); + pmSubTeamContract.setUpdateTime(new Date()); + pmSubTeamContract.setTeamExitTime(DateUtils.getDate()); + res = pmSubTeamContractMapper.updateSubTeamContract(pmSubTeamContract); + }else { + pmSubTeamContract.setCreateUser(SecurityUtils.getUsername()); + pmSubTeamContract.setCreateTime(new Date()); + pmSubTeamContract.setUpdateUser(SecurityUtils.getUsername()); + pmSubTeamContract.setUpdateTime(new Date()); + res = pmSubTeamContractMapper.addSubTeamContract(pmSubTeamContract); + } + //添加到文件库和minio上 + if(res > 0){ + //存文件 + List fileMsg = fileBasicMsgDto.getFileMsg(); + String[] type = new String[fileMsg.size()]; + for (int i = 0; i < fileMsg.size(); i++) { + type[i] = fileMsg.get(i).getType(); + } + List uploadFileVos = fileUploadUtils.uploadFile(fileBasicMsgDto.getFiles(), Constants.PM_SUB_TEAM_CONTRACT, pmSubTeamContract.getId().toString(), type,"", ""); + } + return res; + } + + @Override + public PmSubTeamContract getSubTeamContractById(PmSubTeamContract pmSubTeamContract) { + return pmSubTeamContractMapper.getSubTeamContractById(pmSubTeamContract); + } +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamServiceImpl.java new file mode 100644 index 0000000..e5869f4 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/PmSubTeamServiceImpl.java @@ -0,0 +1,61 @@ +package com.bonus.bmw.service.impl; + +import com.bonus.bmw.domain.po.PmSubTeam; +import com.bonus.bmw.mapper.PmSubTeamMapper; +import com.bonus.bmw.service.PmSubTeamService; +import com.bonus.common.core.utils.StringUtils; +import com.bonus.common.security.utils.SecurityUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * @author 马三炮 + * @date 2025/8/15 + */ +@Service +@Slf4j +public class PmSubTeamServiceImpl implements PmSubTeamService { + + @Resource + private PmSubTeamMapper pmSubTeamMapper; + + /** + * 分包班组信息列表 + */ + @Override + public List selectSubTeamList(PmSubTeam pmSubTeam) { + return pmSubTeamMapper.selectSubTeamList(pmSubTeam); + } + + /** + * 新增和修改分包班组信息 + */ + @Override + public int addOrUpdateSubTeam(PmSubTeam pmSubTeam) { + + //存在则删除后新增,不存在则新增 + if(StringUtils.isNotNull(pmSubTeam.getId())){ + pmSubTeam.setUpdateUser(SecurityUtils.getUsername()); + pmSubTeam.setUpdateTime(new Date()); + return pmSubTeamMapper.updateSubTeam(pmSubTeam); + }else { + pmSubTeam.setCreateUser(SecurityUtils.getUsername()); + pmSubTeam.setCreateTime(new Date()); + pmSubTeam.setUpdateUser(SecurityUtils.getUsername()); + pmSubTeam.setUpdateTime(new Date()); + return pmSubTeamMapper.addSubTeam(pmSubTeam); + } + } + + /** + * 删除分包班组信息 + */ + @Override + public int delSubTeam(PmSubTeam pmSubTeam) { + return pmSubTeamMapper.delSubTeam(pmSubTeam); + } +} diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmSubContractMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmSubContractMapper.xml index ef86317..fe58248 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmSubContractMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmSubContractMapper.xml @@ -1,6 +1,27 @@ + + insert into bm_sub_contract (sub_contract_code, sub_contract_name, sub_id,pro_id,sub_ein_time,sub_exit_time, + create_user, update_user, create_time, update_time,sub_ein_status) + values (#{subContractCode}, #{subContractName},#{subId},#{proId},#{subEinTime},#{subExitTime}, + #{createUser}, #{updateUser}, #{createTime}, #{updateTime},#{subEinStatus}) + + + update bm_sub_contract + + + sub_ein_status=#{subEinStatus}, + + + sub_exit_time=#{subExitTime}, + + + where id = #{id} + + + update bm_sub_contract set is_active = '0' where id =#{id} + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml index 3f51642..02cccf0 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml @@ -63,7 +63,7 @@ sub_name like concat('%', #{keyWord}, '%') or legal_person like concat('%', #{keyWord}, '%') or legal_person_phone like concat('%', #{keyWord}, '%') - or legsub_addressal_person_phone like concat('%', #{keyWord}, '%') + or sub_address like concat('%', #{keyWord}, '%') ) diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamContractMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamContractMapper.xml new file mode 100644 index 0000000..6db46a3 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamContractMapper.xml @@ -0,0 +1,49 @@ + + + + + insert into pm_sub_team_contract (team_id,team_name, sub_id,sub_name,pro_id,pro_name,team_ein_time,team_ein_status, + team_exit_time,create_user, update_user, create_time, update_time) + values (#{teamId},#{teamName}, #{subId},#{subName},#{proId},#{proName},#{teamEinTime},#{teamEinStatus}, + #{teamExitTime},#{createUser}, #{updateUser}, #{createTime}, #{updateTime}) + + + update pm_sub_team_contract + + + team_ein_status=#{teamEinStatus}, + + + team_exit_time=#{teamExitTime}, + + + update_user=#{updateUser}, + + + update_time=#{updateTime}, + + + where id = #{id} + + + + + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamMapper.xml new file mode 100644 index 0000000..a9581a4 --- /dev/null +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubTeamMapper.xml @@ -0,0 +1,56 @@ + + + + + insert into pm_sub_team (team_name,sub_id, team_leader,phone,team_ein_status, create_user, update_user, create_time, update_time) + values (#{teamName},#{subId}, #{teamLeader},#{phone},#{teamEinStatus}, #{createUser}, #{updateUser}, #{createTime}, #{updateTime}) + + + update pm_sub_team + + + team_name=#{teamName}, + + + team_leader=#{teamLeader}, + + + phone=#{phone}, + + + team_ein_status=#{teamEinStatus}, + + + update_user=#{updateUser}, + + + update_time=#{updateTime}, + + + where id = #{id} + + + update pm_sub_team set is_active = '0' where id =#{id} + + + +