| | |
| | | package com.aps.core.controller; |
| | | |
| | | import java.util.List; |
| | | import java.io.IOException; |
| | | |
| | | import com.aps.common.core.domain.R; |
| | | import com.aps.common.core.utils.file.FileUtils; |
| | | import com.aps.common.core.utils.uuid.IdUtils; |
| | | import com.aps.common.security.utils.DictUtils; |
| | | import com.aps.core.domain.ApsPartPlanTemp; |
| | | import com.aps.core.domain.ApsPlatePlanTemp; |
| | | import com.aps.system.api.domain.SysDictData; |
| | | import com.aps.system.api.domain.SysFile; |
| | | 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.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.core.domain.ApsPlatePlan; |
| | | import com.aps.core.service.IApsPlatePlanService; |
| | | 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.common.security.utils.DictUtils; |
| | | import com.aps.core.domain.ApsPlatePlan; |
| | | import com.aps.core.domain.ApsPlatePlanTemp; |
| | | import com.aps.core.domain.export.ApsPlatePlanExport; |
| | | import com.aps.core.service.IApsPlatePlanService; |
| | | import com.aps.core.service.IApsPlatePlanTempService; |
| | | import com.aps.system.api.domain.SysDictData; |
| | | import jakarta.servlet.http.HttpServletResponse; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * 钣金计划管理Controller |
| | |
| | | * @date 2025-04-08 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/ApsPlatePlan") |
| | | @RequestMapping("/apsPlatePlan") |
| | | public class ApsPlatePlanController extends BaseController { |
| | | @Autowired |
| | | private IApsPlatePlanService apsPlatePlanService; |
| | | |
| | | @Autowired |
| | | private IApsPlatePlanTempService apsPlatePlanTempService; |
| | | /** |
| | | * 查询钣金计划管理列表 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:list") |
| | | @RequiresPermissions("apsPlatePlan:list") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(ApsPlatePlan apsPlatePlan) { |
| | | startPage(); |
| | | //startPage(); |
| | | List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan); |
| | | List<SysDictData> suspendedDic = DictUtils.getDictCache("aps_is_suspended"); |
| | | List<SysDictData> businessTypeDic = DictUtils.getDictCache("aps_business_type"); |
| | | List<SysDictData> documentStatusDic = DictUtils.getDictCache("aps_document_status"); |
| | | List<SysDictData> accountDic = DictUtils.getDictCache("aps_account"); |
| | | list.parallelStream().forEach(plan->{ |
| | | documentStatusDic.stream().filter(x -> x.getDictValue().equals( plan.getDocumentStatus().trim())) |
| | | .findFirst().ifPresent(sysDictData -> plan.setDocumentStatus(sysDictData.getDictLabel())); |
| | | accountDic.stream().filter(x -> x.getDictValue().equals( plan.getAccount().trim())) |
| | | .findFirst().ifPresent(sysDictData -> plan.setAccount(sysDictData.getDictLabel())); |
| | | businessTypeDic.stream().filter(x -> x.getDictValue().equals(plan.getBusinessType().trim())) |
| | | .findFirst().ifPresent(sysDictData -> plan.setBusinessType(sysDictData.getDictLabel())); |
| | | suspendedDic.stream().filter(x -> x.getDictValue().equals( plan.getIsSuspended())) |
| | | .findFirst().ifPresent(sysDictData -> plan.setIsSuspended(sysDictData.getDictLabel())); |
| | | }); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 导出钣金计划管理列表 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export") |
| | | @RequiresPermissions("apsPlatePlan:export") |
| | | @Log(title = "钣金计划管理", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan) { |
| | | List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan); |
| | | List<ApsPlatePlan> planList = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan); |
| | | |
| | | List<SysDictData> suspendedDic = DictUtils.getDictCache("aps_is_suspended"); |
| | | List<SysDictData> businessTypeDic = DictUtils.getDictCache("aps_business_type"); |
| | | List<SysDictData> documentStatusDic = DictUtils.getDictCache("aps_document_status"); |
| | | List<SysDictData> accountDic = DictUtils.getDictCache("aps_account"); |
| | | |
| | | for (int i = 0; i < planList.size(); i++) { |
| | | ApsPlatePlan plan=planList.get(i); |
| | | String isSuspendedTxt = plan.getIsSuspended().trim(); |
| | | String businessType = plan.getBusinessType().trim(); |
| | | String documentStatusText = plan.getDocumentStatus().trim(); |
| | | String account = plan.getAccount().trim(); |
| | | |
| | | Optional<SysDictData> documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictValue().equals(documentStatusText)).findFirst(); |
| | | documentStatusFirst.ifPresent(sysDictData -> plan.setDocumentStatus(sysDictData.getDictLabel())); |
| | | |
| | | Optional<SysDictData> accountFirst = accountDic.stream().filter(x -> x.getDictValue().equals(account)).findFirst(); |
| | | accountFirst.ifPresent(sysDictData -> plan.setAccount(sysDictData.getDictLabel())); |
| | | |
| | | Optional<SysDictData> businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictValue().equals(businessType)).findFirst(); |
| | | businessTypeFirst.ifPresent(sysDictData -> plan.setBusinessType(sysDictData.getDictLabel())); |
| | | |
| | | |
| | | Optional<SysDictData> isSuspendedFirst = suspendedDic.stream().filter(x -> x.getDictValue().equals(isSuspendedTxt)).findFirst(); |
| | | isSuspendedFirst.ifPresent(sysDictData -> plan.setIsSuspended(sysDictData.getDictLabel())); |
| | | |
| | | |
| | | } |
| | | |
| | | ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class); |
| | | util.exportExcel(response, list, "钣金计划管理数据"); |
| | | util.exportExcel(response, planList, "钣金计划管理数据"); |
| | | } |
| | | |
| | | /** |
| | | * 获取钣金计划管理详细信息 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query") |
| | | // @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query") |
| | | @GetMapping(value = "/{id}") |
| | | public AjaxResult getInfo(@PathVariable("id") String id) { |
| | | return success(apsPlatePlanService.selectApsPlatePlanById(id)); |
| | |
| | | /** |
| | | * 新增钣金计划管理 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add") |
| | | // @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add") |
| | | @Log(title = "钣金计划管理", businessType = BusinessType.INSERT) |
| | | @PostMapping |
| | | public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan) { |
| | |
| | | /** |
| | | * 修改钣金计划管理 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit") |
| | | @RequiresPermissions("apsPlatePlan:edit") |
| | | @Log(title = "钣金计划管理", businessType = BusinessType.UPDATE) |
| | | @PutMapping |
| | | public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan) { |
| | |
| | | /** |
| | | * 删除钣金计划管理 |
| | | */ |
| | | @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove") |
| | | // @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove") |
| | | @Log(title = "钣金计划管理", businessType = BusinessType.DELETE) |
| | | @DeleteMapping("/{ids}") |
| | | public AjaxResult remove(@PathVariable String[] ids) { |
| | |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | | @RequiresPermissions("apsPlatePlan:import") |
| | | @PostMapping("/importData") |
| | | public AjaxResult importData(MultipartFile file) throws Exception { |
| | | ExcelUtil<ApsPlatePlanTemp> util = new ExcelUtil<ApsPlatePlanTemp>(ApsPlatePlanTemp.class); |
| | |
| | | * @param planTemp 包含部分计划信息的临时对象,用于确认计划 |
| | | * @return 返回操作结果的AjaxResult对象 |
| | | */ |
| | | @GetMapping("/confirmPart") |
| | | public AjaxResult confirmPart(ApsPlatePlanTemp planTemp) { |
| | | @RequiresPermissions("apsPlatePlan:confirm") |
| | | @PostMapping("/confirmPart") |
| | | public AjaxResult confirmPart(@RequestBody ApsPlatePlanTemp planTemp) { |
| | | return toAjax(apsPlatePlanService.confirmPlan(planTemp)); |
| | | } |
| | | /** |
| | | * 查询钣金计划临时表列表 |
| | | */ |
| | | @GetMapping("/queryTempPlan") |
| | | public TableDataInfo list(ApsPlatePlanTemp apsPlatePlanTemp) |
| | | { |
| | | List<ApsPlatePlanTemp> list = apsPlatePlanTempService.selectApsPlatePlanTempList(apsPlatePlanTemp); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 钣金冗余工单报表 |
| | | * @param apsPlatePlan |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("Aps:apsPlatePlan:redundantOrderList") |
| | | @GetMapping("/redundantOrderList") |
| | | public TableDataInfo redundantOrderList(ApsPlatePlan apsPlatePlan) { |
| | | startPage(); |
| | | List<ApsPlatePlan> list = apsPlatePlanService.selectPlateRedundantOrderList(apsPlatePlan); |
| | | return getDataTable(list); |
| | | } |
| | | |
| | | /** |
| | | * 钣金冗余工单报表导出 |
| | | * @param apsPlatePlan |
| | | * @return |
| | | */ |
| | | @RequiresPermissions("Aps:apsPlatePlan:redundantOrderListExport") |
| | | @Log(title = "钣金冗余工单报表", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/redundantOrderListExport") |
| | | public void redundantOrderListExport(HttpServletResponse response, ApsPlatePlan apsPlatePlan) { |
| | | List<ApsPlatePlan> planList = apsPlatePlanService.selectPlateRedundantOrderList(apsPlatePlan); |
| | | List<ApsPlatePlanExport> planListExport = new ArrayList<>(); |
| | | for (ApsPlatePlan plan : planList) { |
| | | ApsPlatePlanExport planExport = new ApsPlatePlanExport(); |
| | | BeanUtils.copyProperties(plan, planExport); |
| | | planListExport.add(planExport); |
| | | } |
| | | ExcelUtil<ApsPlatePlanExport> util = new ExcelUtil<ApsPlatePlanExport>(ApsPlatePlanExport.class); |
| | | util.exportExcel(response, planListExport, "钣金冗余工单报表数据"); |
| | | } |
| | | |
| | | /** |
| | | * 将钣金子单数据存到redis中 |
| | | * @return |
| | | */ |
| | | @PostMapping("/setPlateSubPlansToRedis") |
| | | public AjaxResult setPlateSubPlansToRedis() { |
| | | try { |
| | | apsPlatePlanService.setSubPlansToRedis(); |
| | | return success(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return error(); |
| | | } |
| | | } |
| | | |
| | | } |