| | |
| | | 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.ApsGasPipingPlan; |
| | | import com.aps.core.domain.ApsGasPipingPlanTemp; |
| | | import com.aps.core.domain.ApsPartPlan; |
| | | import com.aps.core.domain.ApsPartPlanTemp; |
| | | import com.aps.core.service.IApsPartPlanService; |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | /** |
| | | * 零件计划管理Controller |
| | |
| | | @RequiresPermissions("partPlan:list") |
| | | @GetMapping("/list") |
| | | public TableDataInfo list(ApsPartPlan apsPartPlan) { |
| | | startPage(); |
| | | // startPage(); |
| | | List<ApsPartPlan> list = apsPartPlanService.selectApsPartPlanList(apsPartPlan); |
| | | 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); |
| | | } |
| | | |
| | |
| | | @Log(title = "零件计划管理", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | List<ApsPartPlan> planList = apsPartPlanService.selectApsPartPlanList(apsPartPlan); |
| | | |
| | | 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++) { |
| | | ApsPartPlan 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<ApsPartPlan> util = new ExcelUtil<ApsPartPlan>(ApsPartPlan.class); |
| | | util.exportExcel(response, apsPartPlans, "零件计划管理数据"); |
| | | util.exportExcel(response, planList, "零件计划管理数据"); |
| | | } |
| | | |
| | | /** |
| | |
| | | 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"); |
| | | 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 < 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; |
| | | } |
| | | } |
| | | |
| | | ApsPartPlanTemp planTemp = apsPartPlans.get(i); |
| | | String isSuspendedTxt = planTemp.getIsSuspended().trim(); |
| | | String businessType = planTemp.getBusinessType().trim(); |
| | | String documentStatusText = planTemp.getDocumentStatus().trim(); |
| | | String account = planTemp.getAccount().trim(); |
| | | |
| | | Optional<SysDictData> documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictLabel().equals(documentStatusText)).findFirst(); |
| | | documentStatusFirst.ifPresent(sysDictData -> planTemp.setDocumentStatus(sysDictData.getDictValue())); |
| | | |
| | | Optional<SysDictData> accountFirst = accountDic.stream().filter(x -> x.getDictLabel().equals(account)).findFirst(); |
| | | accountFirst.ifPresent(sysDictData -> planTemp.setAccount(sysDictData.getDictValue())); |
| | | |
| | | Optional<SysDictData> businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictLabel().equals(businessType)).findFirst(); |
| | | businessTypeFirst.ifPresent(sysDictData -> planTemp.setBusinessType(sysDictData.getDictValue())); |
| | | |
| | | |
| | | Optional<SysDictData> isSuspendedFirst = suspendedDic.stream().filter(x -> x.getDictLabel().equals(isSuspendedTxt)).findFirst(); |
| | | isSuspendedFirst.ifPresent(sysDictData -> planTemp.setIsSuspended(sysDictData.getDictValue())); |
| | | |
| | | |
| | | planTemp.setId(IdUtils.fastUUID()); |
| | | //插入版本号 |
| | | apsPartPlans.get(i).setBatchNumber(batchNum); |
| | | //插入临时表 |
| | | apsPartPlanTempService.insertApsPartPlanTemp(apsPartPlans.get(i)); |
| | | } |
| | | return AjaxResult.success(batchNum); |
| | | |
| | | return AjaxResult.success("导入成功",batchNum); |
| | | } else { |
| | | return AjaxResult.error("模板内容为空"); |
| | | } |
| | | } |
| | | /*** |
| | | * @Description: 确认上传 |
| | | * @Param: [apsPartPlan] |
| | | * @return: com.aps.common.core.web.domain.AjaxResult |
| | | * @Author: wwj |
| | | * @Date: 2025/4/9 |
| | | */ |
| | | @GetMapping("/confirmPart") |
| | | public AjaxResult confirmPart(ApsPartPlanTemp apsPartPlanTemp) { |
| | | return toAjax(apsPartPlanService.confirmPart(apsPartPlanTemp)); |
| | | } |
| | | |
| | | |
| | | |
| | | } |