From 97eac0bb220f686c0d39e536a158d2fbde6ea0ab Mon Sep 17 00:00:00 2001 From: bluejay <253316343@qq.com> Date: 星期三, 09 四月 2025 13:35:34 +0800 Subject: [PATCH] 完成钣金计划上传与确认接口 --- aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java | 68 ++++++++++++---------- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java | 63 +++++++++++++++++++++ aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java | 10 +++ aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java | 13 ++++ 4 files changed, 123 insertions(+), 31 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java index 557fd43..7bb607d 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/ApsPlatePlanController.java @@ -5,6 +5,11 @@ 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; @@ -35,8 +40,7 @@ */ @RestController @RequestMapping("/ApsPlatePlan") -public class ApsPlatePlanController extends BaseController -{ +public class ApsPlatePlanController extends BaseController { @Autowired private IApsPlatePlanService apsPlatePlanService; @@ -45,8 +49,7 @@ */ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:list") @GetMapping("/list") - public TableDataInfo list(ApsPlatePlan apsPlatePlan) - { + public TableDataInfo list(ApsPlatePlan apsPlatePlan) { startPage(); List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan); return getDataTable(list); @@ -58,8 +61,7 @@ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:export") @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan) - { + public void export(HttpServletResponse response, ApsPlatePlan apsPlatePlan) { List<ApsPlatePlan> list = apsPlatePlanService.selectApsPlatePlanList(apsPlatePlan); ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class); util.exportExcel(response, list, "閽i噾璁″垝绠$悊鏁版嵁"); @@ -70,8 +72,7 @@ */ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:query") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") String id) - { + public AjaxResult getInfo(@PathVariable("id") String id) { return success(apsPlatePlanService.selectApsPlatePlanById(id)); } @@ -81,8 +82,7 @@ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:add") @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan) - { + public AjaxResult add(@RequestBody ApsPlatePlan apsPlatePlan) { return toAjax(apsPlatePlanService.insertApsPlatePlan(apsPlatePlan)); } @@ -92,8 +92,7 @@ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:edit") @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan) - { + public AjaxResult edit(@RequestBody ApsPlatePlan apsPlatePlan) { return toAjax(apsPlatePlanService.updateApsPlatePlan(apsPlatePlan)); } @@ -102,27 +101,36 @@ */ @RequiresPermissions("ApsPlatePlan:ApsPlatePlan:remove") @Log(title = "閽i噾璁″垝绠$悊", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable String[] ids) - { + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable String[] ids) { return toAjax(apsPlatePlanService.deleteApsPlatePlanByIds(ids)); } - @PostMapping("/upload") - public AjaxResult upload(MultipartFile file) - { - try - { - // 涓婁紶骞惰繑鍥炶闂湴鍧� - ExcelUtil<ApsPlatePlan> util = new ExcelUtil<ApsPlatePlan>(ApsPlatePlan.class); - List<ApsPlatePlan> userList = util.importExcel(file.getInputStream()); - System.out.println(userList.size()); - + /** + * 瀵煎叆Excel鏁版嵁 + * @param file + * @return + * @throws Exception + */ + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file) throws Exception { + ExcelUtil<ApsPlatePlanTemp> util = new ExcelUtil<ApsPlatePlanTemp>(ApsPlatePlanTemp.class); + List<ApsPlatePlanTemp> platePlanTemps = util.importExcel(file.getInputStream()); + //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖ + if (platePlanTemps.size() > 0) { + String batchNum = apsPlatePlanService.importData(platePlanTemps); + return AjaxResult.success("瀵煎叆鎴愬姛锛�",batchNum); + } else { + return AjaxResult.error("妯℃澘鍐呭涓虹┖"); } - catch (Exception e) - { - - } - return toAjax(true); + } + /** + * 纭閮ㄥ垎璁″垝鎺у埗鍣� + * @param planTemp 鍖呭惈閮ㄥ垎璁″垝淇℃伅鐨勪复鏃跺璞★紝鐢ㄤ簬纭璁″垝 + * @return 杩斿洖鎿嶄綔缁撴灉鐨凙jaxResult瀵硅薄 + */ + @GetMapping("/confirmPart") + public AjaxResult confirmPart(ApsPlatePlanTemp planTemp) { + return toAjax(apsPlatePlanService.confirmPlan(planTemp)); } } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java index c8b2695..ecce3eb 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/domain/ApsPlatePlanTemp.java @@ -120,9 +120,11 @@ private String nextProcessDeparment; /** 鏄惁鎸傝捣 */ - @Excel(name = "鏄惁鎸傝捣") private Integer isSuspended; + /** 鏄惁鎸傝捣 */ + @Excel(name = "鏄惁鎸傝捣") + private String isSuspendedTxt; /** 澶栧崗鏍囪瘑 */ @Excel(name = "澶栧崗鏍囪瘑") private String isOutsourcing; @@ -527,7 +529,13 @@ { return batchNumber; } + public String getIsSuspendedTxt() { + return isSuspendedTxt; + } + public void setIsSuspendedTxt(String isSuspendedTxt) { + this.isSuspendedTxt = isSuspendedTxt; + } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java index 70f6532..9553c71 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/IApsPlatePlanService.java @@ -2,6 +2,7 @@ import java.util.List; import com.aps.core.domain.ApsPlatePlan; +import com.aps.core.domain.ApsPlatePlanTemp; /** * 閽i噾璁″垝绠$悊Service鎺ュ彛 @@ -58,4 +59,16 @@ * @return 缁撴灉 */ public int deleteApsPlatePlanById(String id); + /*** + * 纭璁″垝涓婁紶 + * */ + public int confirmPlan(ApsPlatePlanTemp tempPlan); + + /** + * 瀵煎叆璁″垝鏁版嵁鍒颁复鏃惰〃 + * @param tempList + * @return + * @throws Exception + */ + String importData(List<ApsPlatePlanTemp> tempList) throws Exception; } diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java index 8ef46ca..74f7ae4 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlatePlanServiceImpl.java @@ -1,6 +1,15 @@ package com.aps.core.service.impl; import java.util.List; + +import com.aps.common.core.utils.uuid.IdUtils; +import com.aps.common.security.utils.DictUtils; +import com.aps.core.domain.ApsPlatePlanTemp; +import com.aps.core.mapper.ApsPartPlanTempMapper; +import com.aps.core.mapper.ApsPlatePlanTempMapper; +import com.aps.system.api.domain.SysDictData; +import org.apache.logging.log4j.util.Strings; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.aps.core.mapper.ApsPlatePlanMapper; @@ -18,6 +27,11 @@ { @Autowired private ApsPlatePlanMapper apsPlatePlanMapper; + + @Autowired + private ApsPartPlanTempMapper apsPartPlanTempMapper; + @Autowired + private ApsPlatePlanTempMapper apsPlatePlanTempMapper; /** * 鏌ヨ閽i噾璁″垝绠$悊 @@ -52,6 +66,7 @@ @Override public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan) { + apsPlatePlan.setId(IdUtils.fastUUID()); return apsPlatePlanMapper.insertApsPlatePlan(apsPlatePlan); } @@ -90,4 +105,52 @@ { return apsPlatePlanMapper.deleteApsPlatePlanById(id); } + + @Override + public int confirmPlan(ApsPlatePlanTemp tempPlan) { + //鏌ヨ涓存椂琛ㄦ暟鎹� + List<ApsPlatePlanTemp> apsPartPlanTemps=apsPlatePlanTempMapper.selectApsPlatePlanTempList(tempPlan); + int count=0; + String[] ids=new String[apsPartPlanTemps.size()]; + for (int i = 0; i <apsPartPlanTemps.size() ; i++) { + //璁板綍涓存椂琛╥d + ids[i]=apsPartPlanTemps.get(i).getId(); + ApsPlatePlan platePlan=new ApsPlatePlan(); + BeanUtils.copyProperties(apsPartPlanTemps.get(i), platePlan); + platePlan.setId(IdUtils.fastUUID()); + //鎻掑叆姝e紡琛紝骞惰褰� + apsPlatePlanMapper.insertApsPlatePlan(platePlan); + count++; + } + //鎻掑叆鏁伴噺涓庝复鏃惰〃鏌ヨ涓�鐩村垯鍒犻櫎涓存椂琛ㄦ暟鎹� + if (count==apsPartPlanTemps.size()) { + apsPlatePlanTempMapper.deleteApsPlatePlanTempByIds(ids); + } + return 1; + } + @Override + public String importData(List<ApsPlatePlanTemp> tempList) throws Exception { + + String batchNum= IdUtils.fastUUID(); + //鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖ + if (tempList.size() > 0) { + List<SysDictData> dictDataList = DictUtils.getDictCache("aps_is_suspended"); + for (int i = 0; i < tempList.size(); i++) { + ApsPlatePlanTemp planTemp = tempList.get(i); + for (int j = 0; j < dictDataList.size(); j++) { + if (planTemp.getIsSuspendedTxt().equals(dictDataList.get(j).getDictLabel())) { + planTemp.setIsSuspended(Integer.parseInt(dictDataList.get(j).getDictValue())); + break; + } + } + //鎻掑叆鐗堟湰鍙� + planTemp.setBatchNumber(batchNum); + //鎻掑叆涓存椂琛� + apsPlatePlanTempMapper.insertApsPlatePlanTemp(planTemp); + } + return batchNum ; + } else { + return Strings.EMPTY; + } + } } -- Gitblit v1.9.3