wenwj
2025-04-08 10f1993e30e1ff0f4a75d3da6c75edf7a0337198
aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPartPlanController.java
@@ -1,27 +1,25 @@
package com.aps.core.controller;
import java.util.List;
import java.io.IOException;
import jakarta.servlet.http.HttpServletResponse;
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.aps.common.core.utils.poi.ExcelUtil;
import com.aps.common.core.utils.uuid.IdUtils;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.domain.AjaxResult;
import com.aps.common.core.web.page.TableDataInfo;
import com.aps.common.log.annotation.Log;
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
import com.aps.common.security.utils.DictUtils;
import com.aps.core.domain.ApsPartPlan;
import com.aps.core.domain.ApsPartPlanTemp;
import com.aps.core.service.IApsPartPlanService;
import com.aps.common.core.web.controller.BaseController;
import com.aps.common.core.web.domain.AjaxResult;
import com.aps.common.core.utils.poi.ExcelUtil;
import com.aps.common.core.web.page.TableDataInfo;
import com.aps.core.service.IApsPartPlanTempService;
import com.aps.system.api.domain.SysDictData;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * 零件计划管理Controller
@@ -31,18 +29,17 @@
 */
@RestController
@RequestMapping("/partPlan")
public class ApsPartPlanController extends BaseController
{
public class ApsPartPlanController extends BaseController {
    @Autowired
    private IApsPartPlanService apsPartPlanService;
    @Autowired
    private IApsPartPlanTempService apsPartPlanTempService;
    /**
     * 查询零件计划管理列表
     */
    @RequiresPermissions("partPlan:list")
    @GetMapping("/list")
    public TableDataInfo list(ApsPartPlan apsPartPlan)
    {
    public TableDataInfo list(ApsPartPlan apsPartPlan) {
        startPage();
        List<ApsPartPlan> list = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
        return getDataTable(list);
@@ -54,11 +51,19 @@
    @RequiresPermissions("partPlan:export")
    @Log(title = "零件计划管理", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, ApsPartPlan apsPartPlan)
    {
        List<ApsPartPlan> list = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
    public void export(HttpServletResponse response, ApsPartPlan apsPartPlan) {
        List<ApsPartPlan> apsPartPlans = apsPartPlanService.selectApsPartPlanList(apsPartPlan);
        List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended");
        for (int i = 0; i < apsPartPlans.size(); i++) {
            for (int j = 0; j < list.size(); j++) {
                if (apsPartPlans.get(i).getIsSuspended().equals(Integer.parseInt(list.get(j).getDictValue()))) {
                    apsPartPlans.get(i).setIsSuspendedTxt(list.get(j).getDictLabel());
                    break;
                }
            }
            }
        ExcelUtil<ApsPartPlan> util = new ExcelUtil<ApsPartPlan>(ApsPartPlan.class);
        util.exportExcel(response, list, "零件计划管理数据");
        util.exportExcel(response, apsPartPlans, "零件计划管理数据");
    }
    /**
@@ -66,8 +71,7 @@
     */
    @RequiresPermissions("partPlan:query")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") String id)
    {
    public AjaxResult getInfo(@PathVariable("id") String id) {
        return success(apsPartPlanService.selectApsPartPlanById(id));
    }
@@ -77,8 +81,7 @@
    @RequiresPermissions("partPlan:add")
    @Log(title = "零件计划管理", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody ApsPartPlan apsPartPlan)
    {
    public AjaxResult add(@RequestBody ApsPartPlan apsPartPlan) {
        return toAjax(apsPartPlanService.insertApsPartPlan(apsPartPlan));
    }
@@ -88,8 +91,7 @@
    @RequiresPermissions("partPlan:edit")
    @Log(title = "零件计划管理", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody ApsPartPlan apsPartPlan)
    {
    public AjaxResult edit(@RequestBody ApsPartPlan apsPartPlan) {
        return toAjax(apsPartPlanService.updateApsPartPlan(apsPartPlan));
    }
@@ -99,8 +101,34 @@
    @RequiresPermissions("partPlan:remove")
    @Log(title = "零件计划管理", businessType = BusinessType.DELETE)
   @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable String[] ids)
    {
    public AjaxResult remove(@PathVariable String[] ids) {
        return toAjax(apsPartPlanService.deleteApsPartPlanByIds(ids));
    }
    /**
     * 零件计划导入
     */
    @PostMapping("/importData")
    public AjaxResult importData(MultipartFile file) throws Exception {
        ExcelUtil<ApsPartPlanTemp> util = new ExcelUtil<ApsPartPlanTemp>(ApsPartPlanTemp.class);
        List<ApsPartPlanTemp> apsPartPlans = util.importExcel(file.getInputStream());
        if (apsPartPlans.size() > 0) {
            String batchNum= IdUtils.fastUUID();
            List<SysDictData> list = DictUtils.getDictCache("aps_is_suspended");
            for (int i = 0; i < apsPartPlans.size(); i++) {
                for (int j = 0; j < list.size(); j++) {
                    if (apsPartPlans.get(i).getIsSuspendedTxt().equals(list.get(j).getDictLabel())) {
                        apsPartPlans.get(i).setIsSuspended(Integer.parseInt(list.get(j).getDictValue()));
                        break;
                    }
                }
                apsPartPlans.get(i).setBatchNumber(batchNum);
                apsPartPlanTempService.insertApsPartPlanTemp(apsPartPlans.get(i));
            }
            return AjaxResult.success(batchNum);
        } else {
            return AjaxResult.error("模板内容为空");
        }
    }
}