aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlatePlanController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateRequireDateController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateRequireDate.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateRequireDateMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlate/ApsPlateRequireDateService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateRequireDateServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateRequireDateMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlatePlanController.java
@@ -238,29 +238,4 @@ } } /** * å¯¼å ¥Excelæ°æ® * @param file * @return * @throws Exception */ @Operation(summary = "å¯¼å ¥å·¥åéæ±æ¥æ", description = "å¯¼å ¥å·¥åéæ±æ¥æ") //@RequiresPermissions("apsPlatePlan:import") @Log(title = "å¯¼å ¥å·¥åéæ±æ¥æ", businessType = BusinessType.IMPORT) @PostMapping("/importRequireDate") public AjaxResult importRequireDate(MultipartFile file) throws Exception { ExcelUtil<ApsPlateRequireDate> util = new ExcelUtil<ApsPlateRequireDate>(ApsPlateRequireDate.class); List<ApsPlateRequireDate> plateRequireDateList = util.importExcel(file.getInputStream()); if (!plateRequireDateList.isEmpty()) { try { apsPlateRequireDateService.batchSave(plateRequireDateList); } catch (Exception e) { throw new RuntimeException(e); } } else { return AjaxResult.error("模æ¿å 容为空"); } return AjaxResult.success("å¯¼å ¥æåï¼"); } } aps-modules/aps-core/src/main/java/com/aps/core/controller/mainPlan/ApsPlate/ApsPlateRequireDateController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,73 @@ package com.aps.core.controller.mainPlan.ApsPlate; import com.aps.common.core.utils.poi.ExcelUtil; import com.aps.common.core.web.domain.AjaxResult; import com.aps.common.log.annotation.Log; import com.aps.common.log.enums.BusinessType; import com.aps.common.security.annotation.RequiresPermissions; import com.aps.core.domain.ApsPlate.ApsPlateRequireDate; import com.aps.core.service.ApsPlate.ApsPlateRequireDateService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.List; @Tag(name = "é£éå·¥åéæ±æ¥æç®¡ç", description = "é£éå·¥åéæ±æ¥æç®¡ç") @RestController @RequestMapping("/plateRequireDate") public class ApsPlateRequireDateController { @Resource private ApsPlateRequireDateService apsPlateRequireDateService; //@RequiresPermissions("plateRequireDate:list") @GetMapping("/list") @Tag(name = "æ¥è¯¢å表") public Page<ApsPlateRequireDate> list(Page<ApsPlateRequireDate> page,ApsPlateRequireDate apsPlateRequireDate){ return apsPlateRequireDateService.pagingList(page, apsPlateRequireDate); } /** * å¯¼å ¥Excelæ°æ® * @param file * @return * @throws Exception */ @Operation(summary = "å¯¼å ¥å·¥åéæ±æ¥æ", description = "å¯¼å ¥å·¥åéæ±æ¥æ") //@RequiresPermissions("plateRequireDate:import") @Log(title = "å¯¼å ¥å·¥åéæ±æ¥æ", businessType = BusinessType.IMPORT) @PostMapping("/importRequireDate") public AjaxResult importRequireDate(MultipartFile file) throws Exception { ExcelUtil<ApsPlateRequireDate> util = new ExcelUtil<ApsPlateRequireDate>(ApsPlateRequireDate.class); List<ApsPlateRequireDate> plateRequireDateList = util.importExcel(file.getInputStream()); if (!plateRequireDateList.isEmpty()) { try { apsPlateRequireDateService.batchSave(plateRequireDateList); } catch (Exception e) { throw new RuntimeException(e); } } else { return AjaxResult.error("模æ¿å 容为空"); } return AjaxResult.success("å¯¼å ¥æåï¼"); } /** * æ ¹æ®idå é¤å·¥åéæ±æ¥æ * */ @Operation(summary = "å é¤éæ±æ¥æ", description = "å é¤éæ±æ¥æ") @Log(title = "å é¤éæ±æ¥æ", businessType = BusinessType.DELETE) @PostMapping("/deleteRequireDate") //@RequiresPermissions("plateRequireDate:delete") public AjaxResult deleteRequireDate(@RequestBody List<Long> idList) { apsPlateRequireDateService.batchDelete(idList); return AjaxResult.success("å 餿åï¼"); } } aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlate/ApsPlateRequireDate.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,82 @@ package com.aps.core.domain.ApsPlate; import com.aps.common.core.annotation.Excel; import com.aps.common.core.web.domain.BaseEntity; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import lombok.EqualsAndHashCode; /** * å·¥å计åéæ±æ¥æè¡¨ * @TableName aps_plate_require_date */ @EqualsAndHashCode(callSuper = true) @TableName(value ="aps_plate_require_date") @Data public class ApsPlateRequireDate extends BaseEntity implements Serializable { /** * 主é®ID */ @TableId(value = "id") private Long id; /** * å·¥åId */ @TableField(value = "plan_id") private Long planId; /** * 订åå· */ @Excel(name = "å·¥åå·") @TableField(value = "doc_no") private String docNo; /** * å·¥åéæ±æ¶é´ */ @Excel(name = "éæ±æ¥æ") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField(value = "require_date") private Date requireDate; /** * æ¯å¦å é¤ 0å¦ 1æ¯ */ @TableField(value = "del_flag") private Integer delFlag; /** * */ @TableField(value = "create_by") private String createBy; /** * */ @TableField(value = "create_time") private Date createTime; /** * */ @TableField(value = "update_by") private String updateBy; /** * */ @TableField(value = "update_time") private Date updateTime; @TableField(exist = false) private static final long serialVersionUID = 1L; } aps-modules/aps-core/src/main/java/com/aps/core/mapper/ApsPlateRequireDateMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.aps.core.mapper; import com.aps.core.domain.ApsPlate.ApsPlateRequireDate; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import java.util.List; /** * @author zhl * @description é对表ãaps_plate_require_date(å·¥å计åéæ±æ¥æè¡¨)ãçæ°æ®åºæä½Mapper * @createDate 2025-05-19 16:51:36 * @Entity com.aps.core.domain.ApsPlate.ApsPlateRequireDate */ public interface ApsPlateRequireDateMapper extends BaseMapper<ApsPlateRequireDate> { int deleteByDocNoList(List<String> list,String updateBy); int batchInsert(List<ApsPlateRequireDate> list); } aps-modules/aps-core/src/main/java/com/aps/core/service/ApsPlate/ApsPlateRequireDateService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,25 @@ package com.aps.core.service.ApsPlate; import com.aps.common.core.web.domain.AjaxResult; import com.aps.core.domain.ApsPlate.ApsPlateRequireDate; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author zhl * @description é对表ãaps_plate_require_date(å·¥å计åéæ±æ¥æè¡¨)ãçæ°æ®åºæä½Service * @createDate 2025-05-19 16:51:36 */ public interface ApsPlateRequireDateService extends IService<ApsPlateRequireDate> { @Transactional void batchSave(List<ApsPlateRequireDate> list); int batchDelete(List<Long> idList); Page<ApsPlateRequireDate> pagingList(Page<ApsPlateRequireDate> page, ApsPlateRequireDate requireDate); } aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateRequireDateServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,72 @@ package com.aps.core.service.impl.ApsPlate; import cn.hutool.core.util.IdUtil; import com.aps.common.security.utils.SecurityUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.aps.core.domain.ApsPlate.ApsPlateRequireDate; import com.aps.core.service.ApsPlate.ApsPlateRequireDateService; import com.aps.core.mapper.ApsPlateRequireDateMapper; import jakarta.annotation.Resource; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author zhl * @description é对表ãaps_plate_require_date(å·¥å计åéæ±æ¥æè¡¨)ãçæ°æ®åºæä½Serviceå®ç° * @createDate 2025-05-19 16:51:36 */ @Service public class ApsPlateRequireDateServiceImpl extends ServiceImpl<ApsPlateRequireDateMapper, ApsPlateRequireDate> implements ApsPlateRequireDateService { @Resource private ApsPlateRequireDateMapper apsPlateRequireDateMapper; @Transactional @Override public void batchSave(List<ApsPlateRequireDate> list) { if (!list.isEmpty()) { list.forEach(apsPlateRequireDate -> { apsPlateRequireDate.setId(IdUtil.getSnowflakeNextId()); apsPlateRequireDate.setCreateBy(SecurityUtils.getUsername()); }); int batchSize = 1000; for (int i = 0; i < list.size(); i += batchSize) { int end = Math.min(i + batchSize, list.size()); List<ApsPlateRequireDate> batch = list.subList(i, end); List<String> docNoList = batch.stream().map(ApsPlateRequireDate::getDocNo).distinct().toList(); apsPlateRequireDateMapper.deleteByDocNoList(docNoList, SecurityUtils.getUsername()); apsPlateRequireDateMapper.batchInsert(batch); } } } @Override public int batchDelete(List<Long> idList){ //TODO: æ ¹æ®idListæ¹éå é¤ LambdaUpdateWrapper<ApsPlateRequireDate> queryWrapper = new LambdaUpdateWrapper<>(); queryWrapper.in(ApsPlateRequireDate::getId, idList); queryWrapper.set(ApsPlateRequireDate::getDelFlag, 0); return apsPlateRequireDateMapper.update(queryWrapper); } @Override public Page<ApsPlateRequireDate> pagingList(Page<ApsPlateRequireDate> page, ApsPlateRequireDate requireDate){ LambdaQueryWrapper<ApsPlateRequireDate> queryWrapper=new LambdaQueryWrapper<>(); queryWrapper.eq(ApsPlateRequireDate::getDelFlag,0); queryWrapper.like( null!=requireDate.getDocNo(), ApsPlateRequireDate::getDocNo,requireDate.getDocNo()); return apsPlateRequireDateMapper.selectPage(page, queryWrapper); } } aps-modules/aps-core/src/main/resources/mapper/core/ApsPlate/ApsPlateRequireDateMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,41 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.aps.core.mapper.ApsPlateRequireDateMapper"> <resultMap id="BaseResultMap" type="com.aps.core.domain.ApsPlate.ApsPlateRequireDate"> <id property="id" column="id" /> <result property="planId" column="plan_id" /> <result property="docNo" column="doc_no" /> <result property="requireDate" column="require_date" /> <result property="delFlag" column="del_flag" /> <result property="createBy" column="create_by" /> <result property="createTime" column="create_time" /> <result property="updateBy" column="update_by" /> <result property="updateTime" column="update_time" /> </resultMap> <sql id="Base_Column_List"> id,plan_id,doc_no,require_date,del_flag,create_by, create_time,update_by,update_time </sql> <update id="deleteByDocNoList" parameterType="String"> update aps_plate_require_date set del_flag = 1, update_time = now(),update_by=#{updateBy} where doc_no in <foreach collection="list" item="item" open="(" separator="," close=")"> #{item} </foreach> </update> <insert id="batchInsert" parameterType="com.aps.core.domain.ApsPlate.ApsPlateRequireDate"> insert into aps_plate_require_date (id,plan_id,doc_no,require_date,del_flag,create_by,create_time) values <foreach item="item" collection="list" separator="," index="index"> (#{item.id},#{item.planId},#{item.docNo},#{item.requireDate},0,#{item.createBy},now()) </foreach> </insert> </mapper>