diff --git a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java index 34e66a7..43af17c 100644 --- a/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java +++ b/bonus-common-biz/src/main/java/com/bonus/common/biz/constant/MaterialConstants.java @@ -68,4 +68,7 @@ public class MaterialConstants { /** 文件类型:退租检修图片类型 */ public static final Integer LEASE_REPAIR_RECORD_TABLE_NAME = 19; + /** 文件类型:合同照片 */ + public static final Integer APPENDICES_OF_CONTRACT = 20; + } diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/controller/BmContractController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/controller/BmContractController.java new file mode 100644 index 0000000..f6dcc70 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/controller/BmContractController.java @@ -0,0 +1,66 @@ +package com.bonus.material.contract.controller; + +import cn.hutool.core.convert.Convert; +import com.bonus.common.biz.config.ListPagingUtil; +import com.bonus.common.core.web.controller.BaseController; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.contract.domain.BmContract; +import com.bonus.material.contract.service.BmContractService; +import com.bonus.material.device.domain.vo.DevInfoVo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/12/13 - 9:14 + */ +@RestController +@RequestMapping("/contract") +@Api(value = "合同管理", tags = "合同管理") +public class BmContractController extends BaseController { + + @Resource + private BmContractService bmContractService; + + @ApiOperation(value = "合同列表") + @GetMapping("/list") + public AjaxResult list(BmContract bmContract) { + List list = bmContractService.list(bmContract); + return AjaxResult.success(list); + } + @ApiOperation(value = "合同新增") + @PostMapping("/add") + public AjaxResult add(@RequestBody BmContract bmContract) { + Integer i = bmContractService.add(bmContract); + if (i > 0){ + return AjaxResult.success("新增成功"); + }else { + return AjaxResult.error("新增失败"); + } + } + @ApiOperation(value = "合同修改") + @PostMapping("/edit") + public AjaxResult edit(@RequestBody BmContract bmContract) { + Integer i = bmContractService.edit(bmContract); + if (i > 0){ + return AjaxResult.success("修改成功"); + }else { + return AjaxResult.error("修改失败"); + } + } + @ApiOperation(value = "合同修改") + @PostMapping("/del") + public AjaxResult del(@RequestBody BmContract bmContract) { + Integer i = bmContractService.del(bmContract); + if (i > 0){ + return AjaxResult.success("删除成功"); + }else { + return AjaxResult.error("删除失败"); + } + } + +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java new file mode 100644 index 0000000..b84d748 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/domain/BmContract.java @@ -0,0 +1,45 @@ +package com.bonus.material.contract.domain; + +import com.bonus.common.biz.domain.BmFileInfo; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/12/13 - 9:17 + */ +@Data +public class BmContract { + @ApiModelProperty(value = "id") + private Integer id; + + @ApiModelProperty(value = "合同编号") + private String contractCode; + + @ApiModelProperty(value = "合同名称") + private String contractName; + + @ApiModelProperty(value = "状态(0:禁止 1启用)") + private Integer status; + + @ApiModelProperty(value = "创建时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + + @ApiModelProperty(value = "修改时间") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date updateTime; + + @ApiModelProperty(value = "用户id") + private Long ownerId; + + @ApiModelProperty(value = "用户所属公司") + private Long ownerCom; + + @ApiModelProperty(value = "文件附件") + private List bmFileInfoList; +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/mapper/BmContractMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/mapper/BmContractMapper.java new file mode 100644 index 0000000..3d497f0 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/mapper/BmContractMapper.java @@ -0,0 +1,20 @@ +package com.bonus.material.contract.mapper; + +import com.bonus.material.contract.domain.BmContract; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/12/13 - 9:24 + */ +public interface BmContractMapper { + + List list(BmContract bmContract); + + Integer add(BmContract bmContract); + + Integer edit(BmContract bmContract); + + Integer del(BmContract bmContract); +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/BmContractService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/BmContractService.java new file mode 100644 index 0000000..2404d9e --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/BmContractService.java @@ -0,0 +1,21 @@ +package com.bonus.material.contract.service; + +import com.bonus.material.contract.domain.BmContract; +import com.bonus.material.device.domain.vo.DevInfoVo; + +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/12/13 - 9:16 + */ +public interface BmContractService { + + List list(BmContract bmContract); + + Integer add(BmContract bmContract); + + Integer edit(BmContract bmContract); + + Integer del(BmContract bmContract); +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/impl/BmContractServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/impl/BmContractServiceImpl.java new file mode 100644 index 0000000..430408c --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/contract/service/impl/BmContractServiceImpl.java @@ -0,0 +1,86 @@ +package com.bonus.material.contract.service.impl; + +import com.bonus.common.biz.constant.MaterialConstants; +import com.bonus.common.biz.domain.BmFileInfo; +import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.material.contract.domain.BmContract; +import com.bonus.material.contract.mapper.BmContractMapper; +import com.bonus.material.contract.service.BmContractService; +import com.bonus.material.device.mapper.BmFileInfoMapper; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @Author:liang.chao + * @Date:2024/12/13 - 9:16 + */ +@Service +public class BmContractServiceImpl implements BmContractService { + @Resource + private BmContractMapper bmContractMapper; + + @Resource + private BmFileInfoMapper bmFileInfoMapper; + + @Override + public List list(BmContract bmContract) { + return bmContractMapper.list(bmContract); + } + + @Override + public Integer add(BmContract bmContract) { + bmContract.setOwnerId(SecurityUtils.getLoginUser().getUserid()); + bmContract.setOwnerCom(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); + bmContract.setStatus(0); + Integer add = bmContractMapper.add(bmContract); + if (add > 0) { + if (bmContract.getBmFileInfoList().size() > 0) { + for (BmFileInfo bmFileInfo : bmContract.getBmFileInfoList()) { + bmFileInfo.setModelId(Long.valueOf(bmContract.getId())); + bmFileInfo.setTaskType(MaterialConstants.APPENDICES_OF_CONTRACT); + // 合同照片附件 + bmFileInfo.setFileType(0L); + bmFileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); + bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + } + } + } + return add; + } + + @Override + public Integer edit(BmContract bmContract) { + bmContract.setOwnerId(SecurityUtils.getLoginUser().getUserid()); + bmContract.setOwnerCom(SecurityUtils.getLoginUser().getSysUser().getCompanyId()); + Integer edit = bmContractMapper.edit(bmContract); + if (edit > 0) { + if (bmContract.getBmFileInfoList().size() > 0) { + BmFileInfo fileInfo = new BmFileInfo(); + fileInfo.setModelId(Long.valueOf(bmContract.getId())).setTaskType(MaterialConstants.APPENDICES_OF_CONTRACT).setFileType(0L); + bmFileInfoMapper.deleteBmFileInfo(fileInfo); + for (BmFileInfo bmFileInfo : bmContract.getBmFileInfoList()) { + bmFileInfo.setModelId(Long.valueOf(bmContract.getId())); + bmFileInfo.setTaskType(MaterialConstants.APPENDICES_OF_CONTRACT); + // 合同照片附件 + bmFileInfo.setFileType(0L); + bmFileInfo.setCreateBy(SecurityUtils.getLoginUser().getUserid().toString()); + bmFileInfoMapper.insertBmFileInfo(bmFileInfo); + } + } + } + return edit; + } + + @Override + public Integer del(BmContract bmContract) { + Integer del = bmContractMapper.del(bmContract); + if (del > 0) { + BmFileInfo fileInfo = new BmFileInfo(); + fileInfo.setModelId(Long.valueOf(bmContract.getId())).setTaskType(MaterialConstants.APPENDICES_OF_CONTRACT).setFileType(0L); + bmFileInfoMapper.deleteBmFileInfo(fileInfo); + } + return del; + } +} diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/BmFileInfoMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/BmFileInfoMapper.java index 14ac90b..e344c22 100644 --- a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/BmFileInfoMapper.java +++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/device/mapper/BmFileInfoMapper.java @@ -74,4 +74,6 @@ public interface BmFileInfoMapper { TypeInfo getTypeInfo(String deviceName); Integer deleteBmFileInfoByMaId(@Param("maId") Integer maId, @Param("fileType") Integer fileType); + + Integer deleteBmFileInfo(BmFileInfo fileInfo); } diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/contract/BmContractMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/contract/BmContractMapper.xml new file mode 100644 index 0000000..25f4892 --- /dev/null +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/contract/BmContractMapper.xml @@ -0,0 +1,33 @@ + + + + + insert into bm_contract(contract_code, contract_name, status, create_time, owner_id, owner_com) + values(#{contractCode}, #{contractName}, #{status}, now(), #{ownerId}, #{ownerCom}) + + + update bm_contract set + contract_name = #{contractName}, + owner_id = #{ownerId}, + owner_com = #{ownerCom}, + update_time = now() + where id = #{id} + + + delete from bm_contract where id = #{id} + + + + \ No newline at end of file diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/BmFileInfoMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/BmFileInfoMapper.xml index d185eb4..11a6c39 100644 --- a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/BmFileInfoMapper.xml +++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/device/BmFileInfoMapper.xml @@ -121,4 +121,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from bm_file_info where model_id = #{maId} and task_type = 17 and file_type = #{fileType} + + delete from bm_file_info + + and task_type = #{taskType} + and task_id = #{taskId} + and model_id = #{modelId} + and file_type = #{fileType} + + \ No newline at end of file