From 9a1eb07f890b6a69812c6c1d62a305b06b18fb73 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期二, 26 十一月 2024 18:01:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java | 17 ++ business/src/main/java/com/ycl/service/ProjectPlanInfoService.java | 15 ++ business/src/main/java/com/ycl/service/FlowableTypeService.java | 3 business/src/main/java/com/ycl/mapper/ProjectPlanInfoMapper.java | 3 business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoRequest.java | 17 ++ business/src/main/resources/mapper/FlowableTypeMapper.xml | 12 ++ business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java | 15 ++ business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoResponseVO.java | 17 ++ business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java | 57 +++++++++ business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java | 16 ++ business/src/main/resources/mapper/ProjectPlanInfoMapper.xml | 17 ++ business/src/main/java/com/ycl/domain/entity/FlowableType.java | 49 ++++++- business/src/main/java/com/ycl/mapper/FlowableTypeMapper.java | 4 business/src/main/java/com/ycl/service/impl/FlowableTypeServiceImpl.java | 73 +++++++++++ business/src/main/java/com/ycl/controller/FlowableTypeController.java | 27 +++- 15 files changed, 308 insertions(+), 34 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/FlowableTypeController.java b/business/src/main/java/com/ycl/controller/FlowableTypeController.java index 3541bf4..e7f1588 100644 --- a/business/src/main/java/com/ycl/controller/FlowableTypeController.java +++ b/business/src/main/java/com/ycl/controller/FlowableTypeController.java @@ -3,6 +3,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.common.base.Result; +import com.ycl.common.constant.UserConstants; +import com.ycl.common.core.controller.BaseController; +import com.ycl.common.core.domain.AjaxResult; +import com.ycl.common.core.domain.entity.SysMenu; import com.ycl.common.group.Add; import com.ycl.common.group.Update; import com.ycl.domain.entity.FlowableType; @@ -21,6 +25,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotEmpty; +import java.util.Date; import java.util.List; /** @@ -31,7 +36,7 @@ @Api(value = "宸ヤ綔娴佸垎绫�", tags = "宸ヤ綔娴佸垎绫荤鐞�") @RestController @RequestMapping("/flowable_type") -public class FlowableTypeController { +public class FlowableTypeController extends BaseController { private final FlowableTypeService flowableTypeService; @@ -39,6 +44,10 @@ @ApiOperation(value = "娣诲姞", notes = "娣诲姞") // @PreAuthorize("hasAuthority('flowableType:add')") public Result add(@RequestBody @Validated(Add.class) FlowableType form) { + form.setCreateBy(getUsername()); + form.setCreateTime(new Date()); + form.setUpdateBy(getUsername()); + form.setUpdateTime(new Date()); flowableTypeService.save(form); return Result.ok(); } @@ -60,13 +69,15 @@ } - @GetMapping("/page") - @ApiOperation(value = "鍒嗛〉", notes = "鍒嗛〉") + @GetMapping("/list") // @PreAuthorize("hasAuthority('flowableType:page')") - public Result page(AbsQuery query) { - IPage<FlowableType> page = PageUtil.getPage(query, FlowableType.class); - flowableTypeService.page(page); - return Result.ok().data(page.getRecords()).total(page.getTotal()); + public Result list(FlowableType flowableType) { + List<FlowableType> list = flowableTypeService.selectTypeList(flowableType); + return Result.ok().data(list); } - + @GetMapping("/tree_select") + public AjaxResult treeSelect(FlowableType flowableType) { + List<FlowableType> list = flowableTypeService.selectTypeList(flowableType); + return success(flowableTypeService.buildTreeSelect(list)); + } } diff --git a/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java b/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java index e92a71f..84e7722 100644 --- a/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java +++ b/business/src/main/java/com/ycl/controller/ProjectPlanInfoController.java @@ -4,8 +4,10 @@ import com.ycl.common.base.Result; import com.ycl.common.group.Add; import com.ycl.common.group.Update; +import com.ycl.domain.entity.ProjectPlanInfo; import com.ycl.domain.form.ProjectPlanInfoForm; import com.ycl.domain.query.ProjectPlanInfoQuery; +import com.ycl.domain.vo.ProjectPlanInfoRequest; import com.ycl.service.ProjectPlanInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -34,7 +36,7 @@ @PostMapping @ApiOperation(value = "娣诲姞", notes = "娣诲姞") - @PreAuthorize("hasAuthority('projectPlanInfo:add')") +// @PreAuthorize("hasAuthority('projectPlanInfo:add')") public Result add(@RequestBody @Validated(Add.class) ProjectPlanInfoForm form) { return projectPlanInfoService.add(form); } @@ -69,7 +71,7 @@ @GetMapping("/{id}") @ApiOperation(value = "璇︽儏", notes = "璇︽儏") - @PreAuthorize("hasAuthority('projectPlanInfo:detail')") +// @PreAuthorize("hasAuthority('projectPlanInfo:detail')") public Result detail(@PathVariable("id") Integer id) { return projectPlanInfoService.detail(id); } @@ -80,4 +82,15 @@ public Result list() { return projectPlanInfoService.all(); } + + + @PostMapping("/addPlanInfo") + public Result addPlanInfo(@RequestBody ProjectPlanInfoRequest request) { + return projectPlanInfoService.addPlanInfo(request); + } + + @PostMapping("/savePlanInfo") + public Result savePlanInfo(@RequestBody ProjectPlanInfo item) { + return projectPlanInfoService.savePlanInfo(item); + } } diff --git a/business/src/main/java/com/ycl/domain/entity/FlowableType.java b/business/src/main/java/com/ycl/domain/entity/FlowableType.java index fa18704..553b018 100644 --- a/business/src/main/java/com/ycl/domain/entity/FlowableType.java +++ b/business/src/main/java/com/ycl/domain/entity/FlowableType.java @@ -1,21 +1,28 @@ package com.ycl.domain.entity; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.*; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ycl.common.core.domain.BaseEntity; +import com.ycl.common.core.domain.entity.SysMenu; import com.ycl.system.domain.base.AbsEntity; import lombok.Data; +import java.io.Serializable; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * 娴佺▼鍒嗙被 */ @Data @TableName("t_flowable_type") -public class FlowableType extends AbsEntity { +public class FlowableType implements Serializable { private static final long serialVersionUID = 1L; + @TableId(value = "id", type = IdType.ASSIGN_ID) + private Integer id; @TableField(value = "name") private String name; @@ -23,17 +30,43 @@ @TableField(value = "parent_id") private Integer parentId; - @TableField(value = "level") - private Integer level; + @TableField(value = "order_num") + private Integer orderNum; - @TableField(value = "leaf") - private Boolean leaf; +// @TableField(value = "level") +// private Integer level; +// +// @TableField(value = "leaf") +// private Boolean leaf; + /** + * 鑿滃崟鐘舵�侊紙0姝e父 1鍋滅敤锛� + */ + @TableField(value = "status") + private String status; + + /** 鍒涘缓鑰� */ @TableField(value = "create_by") private String createBy; + /** 鍒涘缓鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(value = "create_time") + private Date createTime; + + /** 鏇存柊鑰� */ @TableField(value = "update_by") private String updateBy; + /** 鏇存柊鏃堕棿 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @TableField(value = "update_time") + private Date updateTime; + /** 澶囨敞 */ + @TableField(value = "remark") + private String remark; + + @TableField(exist = false) + private List<FlowableType> children = new ArrayList<FlowableType>(); } diff --git a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java b/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java index 421f60b..a1933c7 100644 --- a/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java +++ b/business/src/main/java/com/ycl/domain/entity/ProjectPlanInfo.java @@ -1,11 +1,13 @@ package com.ycl.domain.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.ycl.system.domain.base.AbsEntity; import lombok.Data; import java.time.LocalDateTime; +import java.util.Date; /** * 椤圭洰璁″垝椤� @@ -33,11 +35,20 @@ @TableField("start_time") /** 璁″垝寮�濮嬫椂闂� */ - private LocalDateTime startTime; + private Date startTime; @TableField("end_time") /** 璁″垝瀹屾垚鏃堕棿 */ - private LocalDateTime endTime; + private Date endTime; + /** 鍒涘缓鏃堕棿 */ + @TableField(exist = false) + private Date gmtCreate; + /** 淇敼鏃堕棿 */ + @TableField(exist = false) + private Date gmtUpdate; + + @TableField(exist = false) + private Integer deleted; } diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java new file mode 100644 index 0000000..9be4fa1 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoItem.java @@ -0,0 +1,16 @@ +package com.ycl.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProjectPlanInfoItem { + private String title; + private Date startTime; + private Date endTime; +} diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoRequest.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoRequest.java new file mode 100644 index 0000000..38745a9 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoRequest.java @@ -0,0 +1,17 @@ +package com.ycl.domain.vo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProjectPlanInfoRequest { + private Integer projectPlanRecordId; + private BigDecimal actualInvest; + private List<ProjectPlanInfoItem> addList; +} diff --git a/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoResponseVO.java b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoResponseVO.java new file mode 100644 index 0000000..1156970 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProjectPlanInfoResponseVO.java @@ -0,0 +1,17 @@ +package com.ycl.domain.vo; + +import com.ycl.domain.entity.ProjectPlanInfo; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class ProjectPlanInfoResponseVO { + private List<ProjectPlanInfo> list; + private BigDecimal actualInvest; +} diff --git a/business/src/main/java/com/ycl/mapper/FlowableTypeMapper.java b/business/src/main/java/com/ycl/mapper/FlowableTypeMapper.java index 428a7ee..d867543 100644 --- a/business/src/main/java/com/ycl/mapper/FlowableTypeMapper.java +++ b/business/src/main/java/com/ycl/mapper/FlowableTypeMapper.java @@ -4,8 +4,10 @@ import com.ycl.domain.entity.FlowableType; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface FlowableTypeMapper extends BaseMapper<FlowableType> { - + List<FlowableType> selectTypeList(FlowableType flowableType); } diff --git a/business/src/main/java/com/ycl/mapper/ProjectPlanInfoMapper.java b/business/src/main/java/com/ycl/mapper/ProjectPlanInfoMapper.java index 36005d1..d0d21cd 100644 --- a/business/src/main/java/com/ycl/mapper/ProjectPlanInfoMapper.java +++ b/business/src/main/java/com/ycl/mapper/ProjectPlanInfoMapper.java @@ -31,4 +31,7 @@ */ IPage getPage(IPage page, @Param("query") ProjectPlanInfoQuery query); + void batchInsert(@Param("list") List<ProjectPlanInfo> list); + + void insertOne(ProjectPlanInfo item); } diff --git a/business/src/main/java/com/ycl/service/FlowableTypeService.java b/business/src/main/java/com/ycl/service/FlowableTypeService.java index 924b6e9..0a8e314 100644 --- a/business/src/main/java/com/ycl/service/FlowableTypeService.java +++ b/business/src/main/java/com/ycl/service/FlowableTypeService.java @@ -9,4 +9,7 @@ public interface FlowableTypeService extends IService<FlowableType> { + List<FlowableType> selectTypeList(FlowableType flowableType); + + List<FlowableType> buildTreeSelect(List<FlowableType> list); } diff --git a/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java b/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java index ef8c612..e8c4e77 100644 --- a/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java +++ b/business/src/main/java/com/ycl/service/ProjectPlanInfoService.java @@ -5,6 +5,7 @@ import com.ycl.domain.entity.ProjectPlanInfo; import com.ycl.domain.form.ProjectPlanInfoForm; import com.ycl.domain.query.ProjectPlanInfoQuery; +import com.ycl.domain.vo.ProjectPlanInfoRequest; import java.util.List; @@ -59,8 +60,20 @@ Result detail(Integer id); /** - * 鍒楄〃 + * 鏂板璁″垝椤� * @return */ Result all(); + + /** + * 鏂板璁″垝椤� + * @return + */ + Result addPlanInfo(ProjectPlanInfoRequest request); + + /** + * 淇濆瓨璁″垝椤� + * @return + */ + Result savePlanInfo(ProjectPlanInfo item); } diff --git a/business/src/main/java/com/ycl/service/impl/FlowableTypeServiceImpl.java b/business/src/main/java/com/ycl/service/impl/FlowableTypeServiceImpl.java index c871d79..63aaca0 100644 --- a/business/src/main/java/com/ycl/service/impl/FlowableTypeServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/FlowableTypeServiceImpl.java @@ -1,17 +1,14 @@ package com.ycl.service.impl; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.common.base.Result; import com.ycl.domain.entity.FlowableType; -import com.ycl.framework.utils.PageUtil; import com.ycl.mapper.FlowableTypeMapper; import com.ycl.service.FlowableTypeService; import lombok.RequiredArgsConstructor; -import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; -import org.springframework.util.Assert; +import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import java.util.stream.Collectors; @@ -20,4 +17,70 @@ @RequiredArgsConstructor public class FlowableTypeServiceImpl extends ServiceImpl<FlowableTypeMapper, FlowableType> implements FlowableTypeService { + @Override + public List<FlowableType> selectTypeList(FlowableType flowableType) { + return baseMapper.selectTypeList(flowableType); + } + + @Override + public List<FlowableType> buildTreeSelect(List<FlowableType> list) { + List<FlowableType> returnList = new ArrayList<FlowableType>(); + List<Integer> tempList = list.stream().map(FlowableType::getId).collect(Collectors.toList()); + for (Iterator<FlowableType> iterator = list.iterator(); iterator.hasNext();) + { + FlowableType type = (FlowableType) iterator.next(); + // 濡傛灉鏄《绾ц妭鐐�, 閬嶅巻璇ョ埗鑺傜偣鐨勬墍鏈夊瓙鑺傜偣 + if (!tempList.contains(type.getParentId())) + { + recursionFn(list, type); + returnList.add(type); + } + } + if (returnList.isEmpty()) + { + returnList = list; + } + return returnList; + } + + private void recursionFn(List<FlowableType> list, FlowableType t) + { + // 寰楀埌瀛愯妭鐐瑰垪琛� + List<FlowableType> childList = getChildList(list, t); + t.setChildren(childList); + for (FlowableType tChild : childList) + { + if (hasChild(list, tChild)) + { + recursionFn(list, tChild); + } + } + } + + /** + * 寰楀埌瀛愯妭鐐瑰垪琛� + */ + private List<FlowableType> getChildList(List<FlowableType> list, FlowableType t) + { + List<FlowableType> tlist = new ArrayList<FlowableType>(); + Iterator<FlowableType> it = list.iterator(); + while (it.hasNext()) + { + FlowableType n = (FlowableType) it.next(); + if (n.getParentId().longValue() == t.getId().longValue()) + { + tlist.add(n); + } + } + return tlist; + } + + /** + * 鍒ゆ柇鏄惁鏈夊瓙鑺傜偣 + */ + private boolean hasChild(List<FlowableType> list, FlowableType t) + { + return getChildList(list, t).size() > 0; + } + } diff --git a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java index 6c533f0..9f58f2e 100644 --- a/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java +++ b/business/src/main/java/com/ycl/service/impl/ProjectPlanInfoServiceImpl.java @@ -1,20 +1,27 @@ package com.ycl.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.base.Result; import com.ycl.domain.entity.ProjectPlanInfo; +import com.ycl.domain.entity.ProjectPlanRecord; import com.ycl.domain.form.ProjectPlanInfoForm; import com.ycl.domain.query.ProjectPlanInfoQuery; +import com.ycl.domain.vo.ProjectPlanInfoRequest; +import com.ycl.domain.vo.ProjectPlanInfoResponseVO; import com.ycl.domain.vo.ProjectPlanInfoVO; import com.ycl.framework.utils.PageUtil; import com.ycl.mapper.ProjectPlanInfoMapper; +import com.ycl.mapper.ProjectPlanRecordMapper; import com.ycl.service.ProjectPlanInfoService; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.util.Assert; +import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -29,6 +36,7 @@ public class ProjectPlanInfoServiceImpl extends ServiceImpl<ProjectPlanInfoMapper, ProjectPlanInfo> implements ProjectPlanInfoService { private final ProjectPlanInfoMapper projectPlanInfoMapper; + private final ProjectPlanRecordMapper projectPlanRecordMapper; /** * 娣诲姞 @@ -99,8 +107,9 @@ */ @Override public Result detail(Integer id) { - ProjectPlanInfoVO vo = baseMapper.getById(id); - Assert.notNull(vo, "璁板綍涓嶅瓨鍦�"); + ProjectPlanInfoResponseVO vo = new ProjectPlanInfoResponseVO(); + vo.setList(new LambdaQueryChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, id).list()); + vo.setActualInvest(new LambdaQueryChainWrapper<>(projectPlanRecordMapper).eq(ProjectPlanRecord::getId, id).one().getActualInvest()); return Result.ok().data(vo); } @@ -116,4 +125,48 @@ .collect(Collectors.toList()); return Result.ok().data(vos); } + + @Override + public Result addPlanInfo(ProjectPlanInfoRequest request) { + if (request.getAddList() == null || request.getAddList().isEmpty()) {{ + return Result.error("璇烽�夋嫨瑕佹坊鍔犵殑璁″垝椤�"); + }} + // 鍒犻櫎鍘熸湁璁板綍 + new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getProjectPlanRecordId, request.getProjectPlanRecordId()).remove(); + // 鎵归噺鎻掑叆鏂拌褰� + List<ProjectPlanInfo> list = new ArrayList<>(); + request.getAddList().forEach(item -> { + ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo(); + projectPlanInfo.setProjectPlanRecordId(request.getProjectPlanRecordId().longValue()); + projectPlanInfo.setTitle(item.getTitle()); + projectPlanInfo.setProgressStatus(0); + projectPlanInfo.setStartTime(item.getStartTime()); + projectPlanInfo.setEndTime(item.getEndTime()); + list.add(projectPlanInfo); + }); + baseMapper.batchInsert(list); + // 鏇存柊璁″垝璁板綍鐨勬姇璧�,浠ュ強涓婃姤鐘舵�� + new LambdaUpdateChainWrapper<>(projectPlanRecordMapper) + .eq(ProjectPlanRecord::getId, request.getProjectPlanRecordId()) + .set(ProjectPlanRecord::getActualInvest, request.getActualInvest()) + .set(ProjectPlanRecord::getReportStatus, 0) + .update(); + return Result.ok("娣诲姞鎴愬姛"); + } + + @Override + public Result savePlanInfo(ProjectPlanInfo item) { + item.setProgressStatus(0); + // 鍒ゆ柇id鏄惁瀛樺湪锛屽瓨鍦ㄥ垯鏇存柊锛屼笉瀛樺湪鍒欐柊澧� + if (item.getId() == null) { + baseMapper.insertOne(item); + } else { + new LambdaUpdateChainWrapper<>(baseMapper).eq(ProjectPlanInfo::getId, item.getId()) + .set(ProjectPlanInfo::getTitle, item.getTitle()) + .set(ProjectPlanInfo::getStartTime, item.getStartTime()) + .set(ProjectPlanInfo::getEndTime, item.getEndTime()) + .update(); + } + return Result.ok("淇濆瓨鎴愬姛"); + } } diff --git a/business/src/main/resources/mapper/FlowableTypeMapper.xml b/business/src/main/resources/mapper/FlowableTypeMapper.xml index 456f26d..5fc2af2 100644 --- a/business/src/main/resources/mapper/FlowableTypeMapper.xml +++ b/business/src/main/resources/mapper/FlowableTypeMapper.xml @@ -53,5 +53,17 @@ WHERE TP.deleted = 0 </select> + <select id="selectTypeList" parameterType="com.ycl.domain.entity.FlowableType" resultType="com.ycl.domain.entity.FlowableType"> + select * from t_flowable_type + <where> + <if test="name != null and name != ''"> + AND name like concat('%', #{name}, '%') + </if> + <if test="status != null and status != ''"> + AND status = #{status} + </if> + </where> + order by parent_id, order_num + </select> </mapper> diff --git a/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml b/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml index 2ea53cc..002a186 100644 --- a/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml +++ b/business/src/main/resources/mapper/ProjectPlanInfoMapper.xml @@ -10,11 +10,18 @@ <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> </resultMap> - - - - - + <insert id="batchInsert"> + insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time) + values + <foreach collection="list" item="item" separator=","> + (#{item.projectPlanRecordId}, #{item.title}, #{item.progressStatus}, #{item.startTime}, #{item.endTime}) + </foreach> + </insert> + <insert id="insertOne"> + insert into t_project_plan_info(project_plan_record_id, title, progress_status, start_time, end_time) + values + (#{projectPlanRecordId}, #{title}, #{progressStatus}, #{startTime}, #{endTime}) + </insert> <select id="getById" resultMap="BaseResultMap"> -- Gitblit v1.8.0