diff --git a/pom.xml b/pom.xml index c554f74..f078503 100644 --- a/pom.xml +++ b/pom.xml @@ -163,6 +163,20 @@ ${yanzhu.version} + + + com.yanzhu + yanzhu-manage + ${yanzhu.version} + + + + + com.yanzhu + yanzhu-mapper + ${yanzhu.version} + + com.yanzhu diff --git a/yanzhu-admin/pom.xml b/yanzhu-admin/pom.xml index 4a1705f..c15a402 100644 --- a/yanzhu-admin/pom.xml +++ b/yanzhu-admin/pom.xml @@ -61,11 +61,19 @@ yanzhu-generator + com.yanzhu yanzhu-flowable + + + com.yanzhu + yanzhu-manage + compile + + diff --git a/yanzhu-manage/pom.xml b/yanzhu-manage/pom.xml index 20ea4c1..bbbbe36 100644 --- a/yanzhu-manage/pom.xml +++ b/yanzhu-manage/pom.xml @@ -11,9 +11,46 @@ yanzhu-manage + + manage管理模块 + + 17 17 + + + + + com.yanzhu + yanzhu-common + + + + + com.yanzhu + yanzhu-system + + + + + com.yanzhu + yanzhu-mapper + + + + org.projectlombok + lombok + true + + + + com.yanzhu + yanzhu-framework + + + + \ No newline at end of file diff --git a/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java new file mode 100644 index 0000000..851ca82 --- /dev/null +++ b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectApplyController.java @@ -0,0 +1,104 @@ +package com.yanzhu.project.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.yanzhu.common.annotation.Log; +import com.yanzhu.common.core.controller.BaseController; +import com.yanzhu.common.core.domain.AjaxResult; +import com.yanzhu.common.enums.BusinessType; +import com.yanzhu.project.domain.ProProjectApply; +import com.yanzhu.project.service.IProProjectApplyService; +import com.yanzhu.common.utils.poi.ExcelUtil; +import com.yanzhu.common.core.page.TableDataInfo; + +/** + * 项目申请Controller + * + * @author yanZhu + * @date 2024-02-23 + */ +@RestController +@RequestMapping("/mapper/project/projectApply") +public class ProProjectApplyController extends BaseController +{ + @Autowired + private IProProjectApplyService proProjectApplyService; + + /** + * 查询项目申请列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:list')") + @GetMapping("/list") + public TableDataInfo list(ProProjectApply proProjectApply) + { + startPage(); + List list = proProjectApplyService.selectProProjectApplyList(proProjectApply); + return getDataTable(list); + } + + /** + * 导出项目申请列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:export')") + @Log(title = "项目申请", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProProjectApply proProjectApply) + { + List list = proProjectApplyService.selectProProjectApplyList(proProjectApply); + ExcelUtil util = new ExcelUtil(ProProjectApply.class); + util.exportExcel(response, list, "项目申请数据"); + } + + /** + * 获取项目申请详细信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(proProjectApplyService.selectProProjectApplyById(id)); + } + + /** + * 新增项目申请 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:add')") + @Log(title = "项目申请", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProProjectApply proProjectApply) + { + return toAjax(proProjectApplyService.insertProProjectApply(proProjectApply)); + } + + /** + * 修改项目申请 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:edit')") + @Log(title = "项目申请", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProProjectApply proProjectApply) + { + return toAjax(proProjectApplyService.updateProProjectApply(proProjectApply)); + } + + /** + * 删除项目申请 + */ + @PreAuthorize("@ss.hasPermi('project:projectApply:remove')") + @Log(title = "项目申请", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(proProjectApplyService.deleteProProjectApplyByIds(ids)); + } +} diff --git a/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectInfoController.java b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectInfoController.java new file mode 100644 index 0000000..5674115 --- /dev/null +++ b/yanzhu-manage/src/main/java/com/yanzhu/project/controller/ProProjectInfoController.java @@ -0,0 +1,104 @@ +package com.yanzhu.project.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.yanzhu.common.annotation.Log; +import com.yanzhu.common.core.controller.BaseController; +import com.yanzhu.common.core.domain.AjaxResult; +import com.yanzhu.common.enums.BusinessType; +import com.yanzhu.project.domain.ProProjectInfo; +import com.yanzhu.project.service.IProProjectInfoService; +import com.yanzhu.common.utils.poi.ExcelUtil; +import com.yanzhu.common.core.page.TableDataInfo; + +/** + * 项目信息Controller + * + * @author yanZhu + * @date 2024-02-23 + */ +@RestController +@RequestMapping("/mapper/project/projectInfo") +public class ProProjectInfoController extends BaseController +{ + @Autowired + private IProProjectInfoService proProjectInfoService; + + /** + * 查询项目信息列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:list')") + @GetMapping("/list") + public TableDataInfo list(ProProjectInfo proProjectInfo) + { + startPage(); + List list = proProjectInfoService.selectProProjectInfoList(proProjectInfo); + return getDataTable(list); + } + + /** + * 导出项目信息列表 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:export')") + @Log(title = "项目信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, ProProjectInfo proProjectInfo) + { + List list = proProjectInfoService.selectProProjectInfoList(proProjectInfo); + ExcelUtil util = new ExcelUtil(ProProjectInfo.class); + util.exportExcel(response, list, "项目信息数据"); + } + + /** + * 获取项目信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(proProjectInfoService.selectProProjectInfoById(id)); + } + + /** + * 新增项目信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:add')") + @Log(title = "项目信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody ProProjectInfo proProjectInfo) + { + return toAjax(proProjectInfoService.insertProProjectInfo(proProjectInfo)); + } + + /** + * 修改项目信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:edit')") + @Log(title = "项目信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody ProProjectInfo proProjectInfo) + { + return toAjax(proProjectInfoService.updateProProjectInfo(proProjectInfo)); + } + + /** + * 删除项目信息 + */ + @PreAuthorize("@ss.hasPermi('project:projectInfo:remove')") + @Log(title = "项目信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(proProjectInfoService.deleteProProjectInfoByIds(ids)); + } +} diff --git a/yanzhu-mapper/pom.xml b/yanzhu-mapper/pom.xml index 3575d57..1d67d62 100644 --- a/yanzhu-mapper/pom.xml +++ b/yanzhu-mapper/pom.xml @@ -11,9 +11,29 @@ yanzhu-mapper + + mapper系统模块 + + 17 17 + + + + + com.yanzhu + yanzhu-common + + + + + com.yanzhu + yanzhu-system + + + + \ No newline at end of file diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApply.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApply.java new file mode 100644 index 0000000..0a2ba93 --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApply.java @@ -0,0 +1,186 @@ +package com.yanzhu.project.domain; + +import java.util.List; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.yanzhu.common.annotation.Excel; +import com.yanzhu.common.core.domain.BaseEntity; + +/** + * 项目申请对象 pro_project_apply + * + * @author yanZhu + * @date 2024-02-23 + */ +public class ProProjectApply extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 部门主键 */ + @Excel(name = "部门主键") + private Long deptId; + + /** 项目主键 */ + @Excel(name = "项目主键") + private Long projId; + + /** 申请类型 */ + @Excel(name = "申请类型") + private String applyType; + + /** 申请状态 */ + @Excel(name = "申请状态") + private String applyStatus; + + /** 申请原因 */ + @Excel(name = "申请原因") + private String applyReason; + + /** 申请附件 */ + @Excel(name = "申请附件") + private String applyFiles; + + /** 申请用户主键 */ + @Excel(name = "申请用户主键") + private Long applyUser; + + /** 使用时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date useTime; + + /** 是否删除 */ + @Excel(name = "是否删除") + private String isDel; + + /** 项目申请明细信息 */ + private List proProjectApplyDetailList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getDeptId() + { + return deptId; + } + public void setProjId(Long projId) + { + this.projId = projId; + } + + public Long getProjId() + { + return projId; + } + public void setApplyType(String applyType) + { + this.applyType = applyType; + } + + public String getApplyType() + { + return applyType; + } + public void setApplyStatus(String applyStatus) + { + this.applyStatus = applyStatus; + } + + public String getApplyStatus() + { + return applyStatus; + } + public void setApplyReason(String applyReason) + { + this.applyReason = applyReason; + } + + public String getApplyReason() + { + return applyReason; + } + public void setApplyFiles(String applyFiles) + { + this.applyFiles = applyFiles; + } + + public String getApplyFiles() + { + return applyFiles; + } + public void setApplyUser(Long applyUser) + { + this.applyUser = applyUser; + } + + public Long getApplyUser() + { + return applyUser; + } + public void setUseTime(Date useTime) + { + this.useTime = useTime; + } + + public Date getUseTime() + { + return useTime; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + public List getProProjectApplyDetailList() + { + return proProjectApplyDetailList; + } + + public void setProProjectApplyDetailList(List proProjectApplyDetailList) + { + this.proProjectApplyDetailList = proProjectApplyDetailList; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deptId", getDeptId()) + .append("projId", getProjId()) + .append("applyType", getApplyType()) + .append("applyStatus", getApplyStatus()) + .append("applyReason", getApplyReason()) + .append("applyFiles", getApplyFiles()) + .append("applyUser", getApplyUser()) + .append("useTime", getUseTime()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("proProjectApplyDetailList", getProProjectApplyDetailList()) + .toString(); + } +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApplyDetail.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApplyDetail.java new file mode 100644 index 0000000..8863c7e --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectApplyDetail.java @@ -0,0 +1,242 @@ +package com.yanzhu.project.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.yanzhu.common.annotation.Excel; +import com.yanzhu.common.core.domain.BaseEntity; + +/** + * 项目申请明细对象 pro_project_apply_detail + * + * @author yanZhu + * @date 2024-02-23 + */ +public class ProProjectApplyDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 申请主键 */ + @Excel(name = "申请主键") + private Long applyId; + + /** 大类主键 */ + @Excel(name = "大类主键") + private Long superTypeId; + + /** 大类名称 */ + @Excel(name = "大类名称") + private String superTypeName; + + /** 类型主键 */ + @Excel(name = "类型主键") + private Long typeId; + + /** 类型名称 */ + @Excel(name = "类型名称") + private String typeName; + + /** 资产主键 */ + @Excel(name = "资产主键") + private Long assetsId; + + /** 资产名称 */ + @Excel(name = "资产名称") + private String assetsName; + + /** 资产单位 */ + @Excel(name = "资产单位") + private String assetsUnit; + + /** 数量 */ + @Excel(name = "数量") + private Long number; + + /** 使用时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "使用时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date useTime; + + /** 使用原因 */ + @Excel(name = "使用原因") + private String useReason; + + /** 单价 */ + @Excel(name = "单价") + private BigDecimal price; + + /** 总价 */ + @Excel(name = "总价") + private BigDecimal totalPrice; + + /** 是否删除 */ + @Excel(name = "是否删除") + private String isDel; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setApplyId(Long applyId) + { + this.applyId = applyId; + } + + public Long getApplyId() + { + return applyId; + } + public void setSuperTypeId(Long superTypeId) + { + this.superTypeId = superTypeId; + } + + public Long getSuperTypeId() + { + return superTypeId; + } + public void setSuperTypeName(String superTypeName) + { + this.superTypeName = superTypeName; + } + + public String getSuperTypeName() + { + return superTypeName; + } + public void setTypeId(Long typeId) + { + this.typeId = typeId; + } + + public Long getTypeId() + { + return typeId; + } + public void setTypeName(String typeName) + { + this.typeName = typeName; + } + + public String getTypeName() + { + return typeName; + } + public void setAssetsId(Long assetsId) + { + this.assetsId = assetsId; + } + + public Long getAssetsId() + { + return assetsId; + } + public void setAssetsName(String assetsName) + { + this.assetsName = assetsName; + } + + public String getAssetsName() + { + return assetsName; + } + public void setAssetsUnit(String assetsUnit) + { + this.assetsUnit = assetsUnit; + } + + public String getAssetsUnit() + { + return assetsUnit; + } + public void setNumber(Long number) + { + this.number = number; + } + + public Long getNumber() + { + return number; + } + public void setUseTime(Date useTime) + { + this.useTime = useTime; + } + + public Date getUseTime() + { + return useTime; + } + public void setUseReason(String useReason) + { + this.useReason = useReason; + } + + public String getUseReason() + { + return useReason; + } + public void setPrice(BigDecimal price) + { + this.price = price; + } + + public BigDecimal getPrice() + { + return price; + } + public void setTotalPrice(BigDecimal totalPrice) + { + this.totalPrice = totalPrice; + } + + public BigDecimal getTotalPrice() + { + return totalPrice; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("applyId", getApplyId()) + .append("superTypeId", getSuperTypeId()) + .append("superTypeName", getSuperTypeName()) + .append("typeId", getTypeId()) + .append("typeName", getTypeName()) + .append("assetsId", getAssetsId()) + .append("assetsName", getAssetsName()) + .append("assetsUnit", getAssetsUnit()) + .append("number", getNumber()) + .append("useTime", getUseTime()) + .append("useReason", getUseReason()) + .append("price", getPrice()) + .append("totalPrice", getTotalPrice()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectInfo.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectInfo.java new file mode 100644 index 0000000..f7c5ea6 --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/domain/ProProjectInfo.java @@ -0,0 +1,196 @@ +package com.yanzhu.project.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.yanzhu.common.annotation.Excel; +import com.yanzhu.common.core.domain.BaseEntity; + +/** + * 项目信息对象 pro_project_info + * + * @author yanZhu + * @date 2024-02-23 + */ +public class ProProjectInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String name; + + /** 部门主键 */ + @Excel(name = "部门主键") + private Long deptId; + + /** 项目地址 */ + @Excel(name = "项目地址") + private String address; + + /** 项目描述 */ + @Excel(name = "项目描述") + private String infos; + + /** 负责人名称 */ + @Excel(name = "负责人名称") + private String personName; + + /** 负责人电话 */ + @Excel(name = "负责人电话") + private String personPhone; + + /** 项目主图 */ + @Excel(name = "项目主图") + private String mainImage; + + /** 图片列表 */ + @Excel(name = "图片列表") + private String images; + + /** 项目状态 */ + @Excel(name = "项目状态") + private String projStatus; + + /** 是否删除 */ + @Excel(name = "是否删除") + private String isDel; + + /** 项目级单位 */ + @Excel(name = "项目级单位") + private String unit; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setName(String name) + { + this.name = name; + } + + public String getName() + { + return name; + } + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getDeptId() + { + return deptId; + } + public void setAddress(String address) + { + this.address = address; + } + + public String getAddress() + { + return address; + } + public void setInfos(String infos) + { + this.infos = infos; + } + + public String getInfos() + { + return infos; + } + public void setPersonName(String personName) + { + this.personName = personName; + } + + public String getPersonName() + { + return personName; + } + public void setPersonPhone(String personPhone) + { + this.personPhone = personPhone; + } + + public String getPersonPhone() + { + return personPhone; + } + public void setMainImage(String mainImage) + { + this.mainImage = mainImage; + } + + public String getMainImage() + { + return mainImage; + } + public void setImages(String images) + { + this.images = images; + } + + public String getImages() + { + return images; + } + public void setProjStatus(String projStatus) + { + this.projStatus = projStatus; + } + + public String getProjStatus() + { + return projStatus; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("name", getName()) + .append("deptId", getDeptId()) + .append("address", getAddress()) + .append("infos", getInfos()) + .append("personName", getPersonName()) + .append("personPhone", getPersonPhone()) + .append("mainImage", getMainImage()) + .append("images", getImages()) + .append("projStatus", getProjStatus()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .append("unit", getUnit()) + .toString(); + } +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectApplyMapper.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectApplyMapper.java new file mode 100644 index 0000000..fb3f458 --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectApplyMapper.java @@ -0,0 +1,87 @@ +package com.yanzhu.project.mapper; + +import java.util.List; +import com.yanzhu.project.domain.ProProjectApply; +import com.yanzhu.project.domain.ProProjectApplyDetail; + +/** + * 项目申请Mapper接口 + * + * @author yanZhu + * @date 2024-02-23 + */ +public interface ProProjectApplyMapper +{ + /** + * 查询项目申请 + * + * @param id 项目申请主键 + * @return 项目申请 + */ + public ProProjectApply selectProProjectApplyById(Long id); + + /** + * 查询项目申请列表 + * + * @param proProjectApply 项目申请 + * @return 项目申请集合 + */ + public List selectProProjectApplyList(ProProjectApply proProjectApply); + + /** + * 新增项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + public int insertProProjectApply(ProProjectApply proProjectApply); + + /** + * 修改项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + public int updateProProjectApply(ProProjectApply proProjectApply); + + /** + * 删除项目申请 + * + * @param id 项目申请主键 + * @return 结果 + */ + public int deleteProProjectApplyById(Long id); + + /** + * 批量删除项目申请 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProProjectApplyByIds(Long[] ids); + + /** + * 批量删除项目申请明细 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProProjectApplyDetailByApplyIds(Long[] ids); + + /** + * 批量新增项目申请明细 + * + * @param proProjectApplyDetailList 项目申请明细列表 + * @return 结果 + */ + public int batchProProjectApplyDetail(List proProjectApplyDetailList); + + + /** + * 通过项目申请主键删除项目申请明细信息 + * + * @param id 项目申请ID + * @return 结果 + */ + public int deleteProProjectApplyDetailByApplyId(Long id); +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectInfoMapper.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectInfoMapper.java new file mode 100644 index 0000000..2d98aab --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/mapper/ProProjectInfoMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.project.mapper; + +import java.util.List; +import com.yanzhu.project.domain.ProProjectInfo; + +/** + * 项目信息Mapper接口 + * + * @author yanZhu + * @date 2024-02-23 + */ +public interface ProProjectInfoMapper +{ + /** + * 查询项目信息 + * + * @param id 项目信息主键 + * @return 项目信息 + */ + public ProProjectInfo selectProProjectInfoById(Long id); + + /** + * 查询项目信息列表 + * + * @param proProjectInfo 项目信息 + * @return 项目信息集合 + */ + public List selectProProjectInfoList(ProProjectInfo proProjectInfo); + + /** + * 新增项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + public int insertProProjectInfo(ProProjectInfo proProjectInfo); + + /** + * 修改项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + public int updateProProjectInfo(ProProjectInfo proProjectInfo); + + /** + * 删除项目信息 + * + * @param id 项目信息主键 + * @return 结果 + */ + public int deleteProProjectInfoById(Long id); + + /** + * 批量删除项目信息 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProProjectInfoByIds(Long[] ids); +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectApplyService.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectApplyService.java new file mode 100644 index 0000000..7331a01 --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectApplyService.java @@ -0,0 +1,61 @@ +package com.yanzhu.project.service; + +import java.util.List; +import com.yanzhu.project.domain.ProProjectApply; + +/** + * 项目申请Service接口 + * + * @author yanZhu + * @date 2024-02-23 + */ +public interface IProProjectApplyService +{ + /** + * 查询项目申请 + * + * @param id 项目申请主键 + * @return 项目申请 + */ + public ProProjectApply selectProProjectApplyById(Long id); + + /** + * 查询项目申请列表 + * + * @param proProjectApply 项目申请 + * @return 项目申请集合 + */ + public List selectProProjectApplyList(ProProjectApply proProjectApply); + + /** + * 新增项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + public int insertProProjectApply(ProProjectApply proProjectApply); + + /** + * 修改项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + public int updateProProjectApply(ProProjectApply proProjectApply); + + /** + * 批量删除项目申请 + * + * @param ids 需要删除的项目申请主键集合 + * @return 结果 + */ + public int deleteProProjectApplyByIds(Long[] ids); + + /** + * 删除项目申请信息 + * + * @param id 项目申请主键 + * @return 结果 + */ + public int deleteProProjectApplyById(Long id); +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectInfoService.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectInfoService.java new file mode 100644 index 0000000..a5ae43a --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/IProProjectInfoService.java @@ -0,0 +1,61 @@ +package com.yanzhu.project.service; + +import java.util.List; +import com.yanzhu.project.domain.ProProjectInfo; + +/** + * 项目信息Service接口 + * + * @author yanZhu + * @date 2024-02-23 + */ +public interface IProProjectInfoService +{ + /** + * 查询项目信息 + * + * @param id 项目信息主键 + * @return 项目信息 + */ + public ProProjectInfo selectProProjectInfoById(Long id); + + /** + * 查询项目信息列表 + * + * @param proProjectInfo 项目信息 + * @return 项目信息集合 + */ + public List selectProProjectInfoList(ProProjectInfo proProjectInfo); + + /** + * 新增项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + public int insertProProjectInfo(ProProjectInfo proProjectInfo); + + /** + * 修改项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + public int updateProProjectInfo(ProProjectInfo proProjectInfo); + + /** + * 批量删除项目信息 + * + * @param ids 需要删除的项目信息主键集合 + * @return 结果 + */ + public int deleteProProjectInfoByIds(Long[] ids); + + /** + * 删除项目信息信息 + * + * @param id 项目信息主键 + * @return 结果 + */ + public int deleteProProjectInfoById(Long id); +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectApplyServiceImpl.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectApplyServiceImpl.java new file mode 100644 index 0000000..f506a3e --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectApplyServiceImpl.java @@ -0,0 +1,134 @@ +package com.yanzhu.project.service.impl; + +import java.util.List; +import com.yanzhu.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.yanzhu.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.yanzhu.project.domain.ProProjectApplyDetail; +import com.yanzhu.project.mapper.ProProjectApplyMapper; +import com.yanzhu.project.domain.ProProjectApply; +import com.yanzhu.project.service.IProProjectApplyService; + +/** + * 项目申请Service业务层处理 + * + * @author yanZhu + * @date 2024-02-23 + */ +@Service +public class ProProjectApplyServiceImpl implements IProProjectApplyService +{ + @Autowired + private ProProjectApplyMapper proProjectApplyMapper; + + /** + * 查询项目申请 + * + * @param id 项目申请主键 + * @return 项目申请 + */ + @Override + public ProProjectApply selectProProjectApplyById(Long id) + { + return proProjectApplyMapper.selectProProjectApplyById(id); + } + + /** + * 查询项目申请列表 + * + * @param proProjectApply 项目申请 + * @return 项目申请 + */ + @Override + public List selectProProjectApplyList(ProProjectApply proProjectApply) + { + return proProjectApplyMapper.selectProProjectApplyList(proProjectApply); + } + + /** + * 新增项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + @Transactional + @Override + public int insertProProjectApply(ProProjectApply proProjectApply) + { + proProjectApply.setCreateTime(DateUtils.getNowDate()); + int rows = proProjectApplyMapper.insertProProjectApply(proProjectApply); + insertProProjectApplyDetail(proProjectApply); + return rows; + } + + /** + * 修改项目申请 + * + * @param proProjectApply 项目申请 + * @return 结果 + */ + @Transactional + @Override + public int updateProProjectApply(ProProjectApply proProjectApply) + { + proProjectApply.setUpdateTime(DateUtils.getNowDate()); + proProjectApplyMapper.deleteProProjectApplyDetailByApplyId(proProjectApply.getId()); + insertProProjectApplyDetail(proProjectApply); + return proProjectApplyMapper.updateProProjectApply(proProjectApply); + } + + /** + * 批量删除项目申请 + * + * @param ids 需要删除的项目申请主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteProProjectApplyByIds(Long[] ids) + { + proProjectApplyMapper.deleteProProjectApplyDetailByApplyIds(ids); + return proProjectApplyMapper.deleteProProjectApplyByIds(ids); + } + + /** + * 删除项目申请信息 + * + * @param id 项目申请主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteProProjectApplyById(Long id) + { + proProjectApplyMapper.deleteProProjectApplyDetailByApplyId(id); + return proProjectApplyMapper.deleteProProjectApplyById(id); + } + + /** + * 新增项目申请明细信息 + * + * @param proProjectApply 项目申请对象 + */ + public void insertProProjectApplyDetail(ProProjectApply proProjectApply) + { + List proProjectApplyDetailList = proProjectApply.getProProjectApplyDetailList(); + Long id = proProjectApply.getId(); + if (StringUtils.isNotNull(proProjectApplyDetailList)) + { + List list = new ArrayList(); + for (ProProjectApplyDetail proProjectApplyDetail : proProjectApplyDetailList) + { + proProjectApplyDetail.setApplyId(id); + list.add(proProjectApplyDetail); + } + if (list.size() > 0) + { + proProjectApplyMapper.batchProProjectApplyDetail(list); + } + } + } +} diff --git a/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectInfoServiceImpl.java b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectInfoServiceImpl.java new file mode 100644 index 0000000..fa667cf --- /dev/null +++ b/yanzhu-mapper/src/main/java/com/yanzhu/project/service/impl/ProProjectInfoServiceImpl.java @@ -0,0 +1,96 @@ +package com.yanzhu.project.service.impl; + +import java.util.List; +import com.yanzhu.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.project.mapper.ProProjectInfoMapper; +import com.yanzhu.project.domain.ProProjectInfo; +import com.yanzhu.project.service.IProProjectInfoService; + +/** + * 项目信息Service业务层处理 + * + * @author yanZhu + * @date 2024-02-23 + */ +@Service +public class ProProjectInfoServiceImpl implements IProProjectInfoService +{ + @Autowired + private ProProjectInfoMapper proProjectInfoMapper; + + /** + * 查询项目信息 + * + * @param id 项目信息主键 + * @return 项目信息 + */ + @Override + public ProProjectInfo selectProProjectInfoById(Long id) + { + return proProjectInfoMapper.selectProProjectInfoById(id); + } + + /** + * 查询项目信息列表 + * + * @param proProjectInfo 项目信息 + * @return 项目信息 + */ + @Override + public List selectProProjectInfoList(ProProjectInfo proProjectInfo) + { + return proProjectInfoMapper.selectProProjectInfoList(proProjectInfo); + } + + /** + * 新增项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + @Override + public int insertProProjectInfo(ProProjectInfo proProjectInfo) + { + proProjectInfo.setCreateTime(DateUtils.getNowDate()); + return proProjectInfoMapper.insertProProjectInfo(proProjectInfo); + } + + /** + * 修改项目信息 + * + * @param proProjectInfo 项目信息 + * @return 结果 + */ + @Override + public int updateProProjectInfo(ProProjectInfo proProjectInfo) + { + proProjectInfo.setUpdateTime(DateUtils.getNowDate()); + return proProjectInfoMapper.updateProProjectInfo(proProjectInfo); + } + + /** + * 批量删除项目信息 + * + * @param ids 需要删除的项目信息主键 + * @return 结果 + */ + @Override + public int deleteProProjectInfoByIds(Long[] ids) + { + return proProjectInfoMapper.deleteProProjectInfoByIds(ids); + } + + /** + * 删除项目信息信息 + * + * @param id 项目信息主键 + * @return 结果 + */ + @Override + public int deleteProProjectInfoById(Long id) + { + return proProjectInfoMapper.deleteProProjectInfoById(id); + } +} diff --git a/yanzhu-mapper/src/main/resources/mapper/project/ProProjectApplyMapper.xml b/yanzhu-mapper/src/main/resources/mapper/project/ProProjectApplyMapper.xml new file mode 100644 index 0000000..652bb0e --- /dev/null +++ b/yanzhu-mapper/src/main/resources/mapper/project/ProProjectApplyMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, dept_id, proj_id, apply_type, apply_status, apply_reason, apply_files, apply_user, use_time, is_del, create_by, create_time, update_by, update_time, remark from pro_project_apply + + + + + + + + insert into pro_project_apply + + id, + dept_id, + proj_id, + apply_type, + apply_status, + apply_reason, + apply_files, + apply_user, + use_time, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{id}, + #{deptId}, + #{projId}, + #{applyType}, + #{applyStatus}, + #{applyReason}, + #{applyFiles}, + #{applyUser}, + #{useTime}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update pro_project_apply + + dept_id = #{deptId}, + proj_id = #{projId}, + apply_type = #{applyType}, + apply_status = #{applyStatus}, + apply_reason = #{applyReason}, + apply_files = #{applyFiles}, + apply_user = #{applyUser}, + use_time = #{useTime}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from pro_project_apply where id = #{id} + + + + delete from pro_project_apply where id in + + #{id} + + + + + delete from pro_project_apply_detail where apply_id in + + #{applyId} + + + + + delete from pro_project_apply_detail where apply_id = #{applyId} + + + + insert into pro_project_apply_detail( id, apply_id, super_type_id, super_type_name, type_id, type_name, assets_id, assets_name, assets_unit, number, use_time, use_reason, price, total_price, is_del, create_by, create_time, update_by, update_time, remark) values + + ( #{item.id}, #{item.applyId}, #{item.superTypeId}, #{item.superTypeName}, #{item.typeId}, #{item.typeName}, #{item.assetsId}, #{item.assetsName}, #{item.assetsUnit}, #{item.number}, #{item.useTime}, #{item.useReason}, #{item.price}, #{item.totalPrice}, #{item.isDel}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.remark}) + + + \ No newline at end of file diff --git a/yanzhu-mapper/src/main/resources/mapper/project/ProProjectInfoMapper.xml b/yanzhu-mapper/src/main/resources/mapper/project/ProProjectInfoMapper.xml new file mode 100644 index 0000000..91fbda9 --- /dev/null +++ b/yanzhu-mapper/src/main/resources/mapper/project/ProProjectInfoMapper.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + select id, name, dept_id, address, infos, person_name, person_phone, main_image, images, proj_status, is_del, create_by, create_time, update_by, update_time, remark, unit from pro_project_info + + + + + + + + insert into pro_project_info + + id, + name, + dept_id, + address, + infos, + person_name, + person_phone, + main_image, + images, + proj_status, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + unit, + + + #{id}, + #{name}, + #{deptId}, + #{address}, + #{infos}, + #{personName}, + #{personPhone}, + #{mainImage}, + #{images}, + #{projStatus}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + #{unit}, + + + + + update pro_project_info + + name = #{name}, + dept_id = #{deptId}, + address = #{address}, + infos = #{infos}, + person_name = #{personName}, + person_phone = #{personPhone}, + main_image = #{mainImage}, + images = #{images}, + proj_status = #{projStatus}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + unit = #{unit}, + + where id = #{id} + + + + delete from pro_project_info where id = #{id} + + + + delete from pro_project_info where id in + + #{id} + + + \ No newline at end of file diff --git a/yanzhu-ui/.npmrc b/yanzhu-ui/.npmrc new file mode 100644 index 0000000..b294168 --- /dev/null +++ b/yanzhu-ui/.npmrc @@ -0,0 +1,2 @@ +engine-strict=true +engine-override.npm=8.19.2 \ No newline at end of file diff --git a/yanzhu-ui/src/api/project/projectApply.js b/yanzhu-ui/src/api/project/projectApply.js new file mode 100644 index 0000000..b403866 --- /dev/null +++ b/yanzhu-ui/src/api/project/projectApply.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目申请列表 +export function listProjectApply(query) { + return request({ + url: '/project/projectApply/list', + method: 'get', + params: query + }) +} + +// 查询项目申请详细 +export function getProjectApply(id) { + return request({ + url: '/project/projectApply/' + id, + method: 'get' + }) +} + +// 新增项目申请 +export function addProjectApply(data) { + return request({ + url: '/project/projectApply', + method: 'post', + data: data + }) +} + +// 修改项目申请 +export function updateProjectApply(data) { + return request({ + url: '/project/projectApply', + method: 'put', + data: data + }) +} + +// 删除项目申请 +export function delProjectApply(id) { + return request({ + url: '/project/projectApply/' + id, + method: 'delete' + }) +} diff --git a/yanzhu-ui/src/api/project/projectInfo.js b/yanzhu-ui/src/api/project/projectInfo.js new file mode 100644 index 0000000..4aa9417 --- /dev/null +++ b/yanzhu-ui/src/api/project/projectInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目信息列表 +export function listProjectInfo(query) { + return request({ + url: '/project/projectInfo/list', + method: 'get', + params: query + }) +} + +// 查询项目信息详细 +export function getProjectInfo(id) { + return request({ + url: '/project/projectInfo/' + id, + method: 'get' + }) +} + +// 新增项目信息 +export function addProjectInfo(data) { + return request({ + url: '/project/projectInfo', + method: 'post', + data: data + }) +} + +// 修改项目信息 +export function updateProjectInfo(data) { + return request({ + url: '/project/projectInfo', + method: 'put', + data: data + }) +} + +// 删除项目信息 +export function delProjectInfo(id) { + return request({ + url: '/project/projectInfo/' + id, + method: 'delete' + }) +} diff --git a/yanzhu-ui/src/views/project/projectApply/index.vue b/yanzhu-ui/src/views/project/projectApply/index.vue new file mode 100644 index 0000000..4a186a8 --- /dev/null +++ b/yanzhu-ui/src/views/project/projectApply/index.vue @@ -0,0 +1,528 @@ + + + diff --git a/yanzhu-ui/src/views/project/projectInfo/index.vue b/yanzhu-ui/src/views/project/projectInfo/index.vue new file mode 100644 index 0000000..4b68402 --- /dev/null +++ b/yanzhu-ui/src/views/project/projectInfo/index.vue @@ -0,0 +1,357 @@ + + +