From 0b343113e2fc93ae6679adadc075d92dbcf7f5c8 Mon Sep 17 00:00:00 2001 From: zhanghl <253316343@qq.com> Date: 星期四, 22 五月 2025 14:56:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java | 92 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 71 insertions(+), 21 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java index f175d09..49a8da2 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java @@ -5,56 +5,59 @@ import com.aps.core.domain.ApsGasPipelineCapacityPlan; import com.aps.core.mapper.ApsGasPipelineCapacityPlanMapper; import com.aps.core.service.IApsGasPipelineCapacityPlanService; +import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.time.LocalDateTime; +import java.util.Calendar; +import java.util.Date; import java.util.List; /** * 姘斾綋绠¤矾浜ц兘瑙勫垝Service涓氬姟灞傚鐞� - * + * * @author hjy * @date 2025-04-24 */ @Service -public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService -{ +public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService { @Autowired private ApsGasPipelineCapacityPlanMapper apsGasPipelineCapacityPlanMapper; /** * 鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝 - * + * * @param id 姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭 * @return 姘斾綋绠¤矾浜ц兘瑙勫垝 */ @Override - public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id) - { + public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id) { return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanById(id); } /** * 鏌ヨ姘斾綋绠¤矾浜ц兘瑙勫垝鍒楄〃 - * + * * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝 * @return 姘斾綋绠¤矾浜ц兘瑙勫垝 */ @Override - public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) - { + public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan); } /** * 鏂板姘斾綋绠¤矾浜ц兘瑙勫垝 - * + * * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝 * @return 缁撴灉 */ @Override - public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) - { + public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { apsGasPipelineCapacityPlan.setCreateTime(DateUtils.getNowDate()); apsGasPipelineCapacityPlan.setCreateBy(SecurityUtils.getUsername()); return apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan); @@ -62,13 +65,12 @@ /** * 淇敼姘斾綋绠¤矾浜ц兘瑙勫垝 - * + * * @param apsGasPipelineCapacityPlan 姘斾綋绠¤矾浜ц兘瑙勫垝 * @return 缁撴灉 */ @Override - public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) - { + public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) { apsGasPipelineCapacityPlan.setUpdateTime(DateUtils.getNowDate()); apsGasPipelineCapacityPlan.setUpdateBy(SecurityUtils.getUsername()); return apsGasPipelineCapacityPlanMapper.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan); @@ -76,25 +78,73 @@ /** * 鎵归噺鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝 - * + * * @param ids 闇�瑕佸垹闄ょ殑姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭 * @return 缁撴灉 */ @Override - public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids) - { + public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids) { return apsGasPipelineCapacityPlanMapper.deleteApsGasPipelineCapacityPlanByIds(ids); } /** * 鍒犻櫎姘斾綋绠¤矾浜ц兘瑙勫垝淇℃伅 - * + * * @param id 姘斾綋绠¤矾浜ц兘瑙勫垝涓婚敭 * @return 缁撴灉 */ @Override - public int deleteApsGasPipelineCapacityPlanById(Long id) - { + public int deleteApsGasPipelineCapacityPlanById(Long id) { return apsGasPipelineCapacityPlanMapper.deleteApsGasPipelineCapacityPlanById(id); } + + @SneakyThrows + @Override + @Transactional(rollbackFor = Exception.class) + public void copyPlan(String date, String factory, String major, String toStart, String toEnd) { + + String[] dtSrc = date.split("-"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); + Calendar dtStart = Calendar.getInstance(); + dtStart.setTime(sdf.parse(toStart)); + dtStart.set(Calendar.DAY_OF_MONTH, 1); + Calendar dtEnd = Calendar.getInstance(); + dtEnd.setTime(sdf.parse(toEnd)); + dtEnd.set(Calendar.DAY_OF_MONTH, 2); + + ApsGasPipelineCapacityPlan plan = new ApsGasPipelineCapacityPlan(); + plan.setYear(Integer.valueOf(dtSrc[0]).toString()); + plan.setMonth(Integer.valueOf(dtSrc[1]).toString()); + plan.setOrgCode(factory); + plan.setMajor(major); + List<ApsGasPipelineCapacityPlan> templatePlans = apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(plan); + templatePlans.forEach(p -> { + p.setCreateBy(SecurityUtils.getUsername()); + p.setCreateTime(new Date()); + p.setUpdateBy(null); + p.setUpdateTime(null); +// apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(p); + }); + + while (dtStart.before(dtEnd)) { + String year = dtStart.get(Calendar.YEAR) + ""; + String month = (dtStart.get(Calendar.MONTH) + 1) + ""; + apsGasPipelineCapacityPlanMapper.deleteByDateAndFactory( + year, + month, + factory, + major + ); + templatePlans.forEach(p -> { + p.setId(null); + p.setYear(year); + p.setMonth(month); +// apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(p); + }); + apsGasPipelineCapacityPlanMapper.insert(templatePlans); + + dtStart.add(Calendar.MONTH, 1); + } + + } } -- Gitblit v1.9.3