hongjli
2025-05-22 e4efff6637f4d598a7efdfca8b62fbb4c3286b02
aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsGasPipelineCapacityPlanServiceImpl.java
@@ -5,9 +5,16 @@
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;
/**
@@ -17,8 +24,7 @@
 * @date 2025-04-24
 */
@Service
public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService
{
public class ApsGasPipelineCapacityPlanServiceImpl implements IApsGasPipelineCapacityPlanService {
    @Autowired
    private ApsGasPipelineCapacityPlanMapper apsGasPipelineCapacityPlanMapper;
@@ -29,8 +35,7 @@
     * @return 气体管路产能规划
     */
    @Override
    public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id)
    {
    public ApsGasPipelineCapacityPlan selectApsGasPipelineCapacityPlanById(Long id) {
        return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanById(id);
    }
@@ -41,8 +46,7 @@
     * @return 气体管路产能规划
     */
    @Override
    public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
    {
    public List<ApsGasPipelineCapacityPlan> selectApsGasPipelineCapacityPlanList(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
        return apsGasPipelineCapacityPlanMapper.selectApsGasPipelineCapacityPlanList(apsGasPipelineCapacityPlan);
    }
@@ -53,8 +57,7 @@
     * @return 结果
     */
    @Override
    public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
    {
    public int insertApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
        apsGasPipelineCapacityPlan.setCreateTime(DateUtils.getNowDate());
        apsGasPipelineCapacityPlan.setCreateBy(SecurityUtils.getUsername());
        return apsGasPipelineCapacityPlanMapper.insertApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan);
@@ -67,8 +70,7 @@
     * @return 结果
     */
    @Override
    public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan)
    {
    public int updateApsGasPipelineCapacityPlan(ApsGasPipelineCapacityPlan apsGasPipelineCapacityPlan) {
        apsGasPipelineCapacityPlan.setUpdateTime(DateUtils.getNowDate());
        apsGasPipelineCapacityPlan.setUpdateBy(SecurityUtils.getUsername());
        return apsGasPipelineCapacityPlanMapper.updateApsGasPipelineCapacityPlan(apsGasPipelineCapacityPlan);
@@ -81,8 +83,7 @@
     * @return 结果
     */
    @Override
    public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids)
    {
    public int deleteApsGasPipelineCapacityPlanByIds(Long[] ids) {
        return apsGasPipelineCapacityPlanMapper.deleteApsGasPipelineCapacityPlanByIds(ids);
    }
@@ -93,8 +94,57 @@
     * @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);
        }
    }
}