From 77eb915a611c8e7ed297b749b5dd92dfa79432ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Tue, 3 Sep 2024 14:35:37 +0800 Subject: [PATCH] =?UTF-8?q?[fix]=20=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=8A=A5=E6=8D=9F=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=8A=A5=E6=8D=9Fservice=E5=8F=8A=E5=85=B6?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8C=89=E7=94=9F=E4=BA=A7=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E6=9F=A5=E6=89=BE=E6=8A=A5=E6=8D=9F=E7=89=A9=E6=96=99=E6=96=B9?= =?UTF-8?q?=E6=B3=95=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=8A=A5=E6=8D=9FVO=E7=B1=BB=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=89=A9=E6=96=99=E6=95=B0=E5=90=88=E8=AE=A1=E5=92=8C=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=90=88=E8=AE=A1=E5=AD=97=E6=AE=B5=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=EF=BC=9B=20=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E7=99=BB=E5=BD=95=E9=83=A8=E9=97=A8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?controller=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=9F=E4=BA=A7=E5=8D=95=E5=85=B3=E8=81=94?= =?UTF-8?q?=E4=BB=93=E5=BA=93=E5=BA=93=E5=AD=98=E6=8A=A5=E6=8D=9F=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=EF=BC=9B=20?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=A5=E8=AF=A2=E5=BA=93=E5=AD=98=E6=8A=A5?= =?UTF-8?q?=E6=8D=9F=E5=88=97=E8=A1=A8service=E6=8E=A5=E5=8F=A3=EF=BC=8C?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E6=9F=A5=E8=AF=A2=E5=AD=90=E8=A1=A8=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=B5=8B=E5=80=BC=E7=BB=99=E5=88=97=E8=A1=A8=EF=BC=9B?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E6=96=B0=E5=A2=9E=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=8A=A5=E6=8D=9Fservice=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=E5=AD=97=E6=AE=B5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ehouseInventoryReportDamageController.java | 45 ++++++++++++++++--- .../WarehouseInventoryReportDamage.java | 13 +++--- ...WarehouseInventoryReportDamageService.java | 4 ++ ...houseInventoryReportDamageServiceImpl.java | 40 ++++++++++++++++- 4 files changed, 89 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryReportDamageController.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryReportDamageController.java index 36c73ddc..9635fdaa 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryReportDamageController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/controller/WarehouseInventoryReportDamageController.java @@ -1,15 +1,22 @@ package com.ruoyi.warehouse.controller; import java.util.List; + +import com.ruoyi.ck.utils.Result; +import com.ruoyi.common.core.domain.entity.SysDept; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.system.domain.SysMakeorderBom; +import com.ruoyi.system.domain.SysPost; +import com.ruoyi.system.mapper.SysDeptMapper; +import com.ruoyi.system.mapper.SysMakeorderBomMapper; +import com.ruoyi.system.service.ISysDeptService; +import com.ruoyi.warehouse.domain.VO.WarehouseMaterialVO; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamage; @@ -19,6 +26,8 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import javax.servlet.http.HttpServletRequest; + /** * 仓库库存报损Controller * @@ -34,6 +43,12 @@ public class WarehouseInventoryReportDamageController extends BaseController @Autowired private IWarehouseInventoryReportDamageService warehouseInventoryReportDamageService; + @Autowired + private SysDeptMapper sysDeptMapper; + + @Autowired + private SysMakeorderBomMapper sysMakeorderBomMapper; + @RequiresPermissions("warehouse:inventoryReportDamage:view") @GetMapping() public String inventoryReportDamage() @@ -84,7 +99,7 @@ public class WarehouseInventoryReportDamageController extends BaseController @Log(title = "仓库库存报损", businessType = BusinessType.INSERT) @PostMapping("/add") @ResponseBody - public AjaxResult addSave(WarehouseInventoryReportDamage warehouseInventoryReportDamage) + public AjaxResult addSave(@RequestBody WarehouseInventoryReportDamage warehouseInventoryReportDamage) { return toAjax(warehouseInventoryReportDamageService.insertWarehouseInventoryReportDamage(warehouseInventoryReportDamage)); } @@ -136,5 +151,23 @@ public class WarehouseInventoryReportDamageController extends BaseController return toAjax(warehouseInventoryReportDamageService.updateWarehouseInventoryReportDamage(warehouseInventoryReportDamage)); } + @GetMapping("/getUserDeptName") + @ResponseBody + public Result getUserDeptName(HttpServletRequest request) throws Exception { + SysUser curUser = ShiroUtils.getSysUser(); + SysDept dept = sysDeptMapper.selectDeptById(curUser.getDeptId()); + return Result.getSuccessResult(dept.getDeptName()); + } + + /** + * 仓库库存报损物料列表(生产单关联) + */ + @GetMapping("/materialInMakeOrderSelect/{makeNo}") + public String materialInMakeOrderSelect(@PathVariable("makeNo") String makeNo, ModelMap mmap) + { + List warehouseMaterialVOS = warehouseInventoryReportDamageService.getMaterialListByMakeNo(makeNo); + mmap.put("materialList", warehouseMaterialVOS); + return "/warehouse/inventoryCheck/materialSelect"; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryReportDamage.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryReportDamage.java index 11e92b94..1de04c8e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryReportDamage.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/domain/WarehouseInventoryReportDamage.java @@ -1,5 +1,6 @@ package com.ruoyi.warehouse.domain; +import java.math.BigDecimal; import java.util.Date; import java.util.List; @@ -57,11 +58,11 @@ public class WarehouseInventoryReportDamage extends BaseEntity /** 物料数合计 */ @Excel(name = "物料数合计") - private String materialTotal; + private int materialTotal; /** 数量合计 */ @Excel(name = "数量合计") - private String numTotal; + private BigDecimal numTotal; /** 仓库ID */ @Excel(name = "仓库ID") @@ -186,21 +187,21 @@ public class WarehouseInventoryReportDamage extends BaseEntity { return materialName; } - public void setMaterialTotal(String materialTotal) + public void setMaterialTotal(int materialTotal) { this.materialTotal = materialTotal; } - public String getMaterialTotal() + public int getMaterialTotal() { return materialTotal; } - public void setNumTotal(String numTotal) + public void setNumTotal(BigDecimal numTotal) { this.numTotal = numTotal; } - public String getNumTotal() + public BigDecimal getNumTotal() { return numTotal; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryReportDamageService.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryReportDamageService.java index 5bcafd23..121b980f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryReportDamageService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseInventoryReportDamageService.java @@ -1,6 +1,8 @@ package com.ruoyi.warehouse.service; import java.util.List; + +import com.ruoyi.warehouse.domain.VO.WarehouseMaterialVO; import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamage; /** @@ -72,4 +74,6 @@ public interface IWarehouseInventoryReportDamageService * @return */ int restoreWarehouseInventoryReportDamageById(Long reportDamageId); + + public List getMaterialListByMakeNo(String makeNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryReportDamageServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryReportDamageServiceImpl.java index 739d01de..1929e646 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryReportDamageServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseInventoryReportDamageServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.warehouse.service.impl; +import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -10,7 +11,12 @@ import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.erp.domain.ErpMaterialVo; +import com.ruoyi.system.domain.SysMakeorderBom; +import com.ruoyi.system.mapper.SysMakeorderBomMapper; +import com.ruoyi.warehouse.domain.VO.WarehouseMaterialVO; import com.ruoyi.warehouse.domain.WarehouseInventoryReportDamageChild; +import com.ruoyi.warehouse.mapper.WarehouseInventoryReportDamageChildMapper; import com.ruoyi.warehouse.service.IWarehouseInventoryReportDamageChildService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,6 +41,11 @@ public class WarehouseInventoryReportDamageServiceImpl implements IWarehouseInve @Autowired private IWarehouseInventoryReportDamageChildService warehouseInventoryReportDamageChildService; + @Autowired + private WarehouseInventoryReportDamageChildMapper damageChildMapper; + + @Autowired + private SysMakeorderBomMapper sysMakeorderBomMapper; /** * 查询仓库库存报损 * @@ -44,7 +55,12 @@ public class WarehouseInventoryReportDamageServiceImpl implements IWarehouseInve @Override public WarehouseInventoryReportDamage selectWarehouseInventoryReportDamageById(Long reportDamageId) { - return warehouseInventoryReportDamageMapper.selectWarehouseInventoryReportDamageById(reportDamageId); + WarehouseInventoryReportDamage warehouseInventoryReportDamage = warehouseInventoryReportDamageMapper.selectWarehouseInventoryReportDamageById(reportDamageId); + List reportDamageChildList = damageChildMapper.selectWarehouseInventoryReportDamageChildByCode(warehouseInventoryReportDamage.getReportDamageCode()); + if(StringUtils.isNotEmpty(reportDamageChildList)){ + warehouseInventoryReportDamage.setWarehouseInventoryReportDamageChildList(reportDamageChildList); + } + return warehouseInventoryReportDamage; } /** @@ -79,11 +95,14 @@ public class WarehouseInventoryReportDamageServiceImpl implements IWarehouseInve warehouseInventoryReportDamage.setCreateTime(DateUtils.getNowDate()); String loginName = ShiroUtils.getLoginName(); warehouseInventoryReportDamage.setCreateBy(loginName); + warehouseInventoryReportDamage.setCreateTime(DateUtils.getNowDate()); + BigDecimal sumTotal = BigDecimal.ZERO; //报损子表数据 //判断子表数据是否为空 if(StringUtils.isNotEmpty(warehouseInventoryReportDamage.getWarehouseInventoryReportDamageChildList())){ for(WarehouseInventoryReportDamageChild warehouseInventoryReportDamageChild:warehouseInventoryReportDamage.getWarehouseInventoryReportDamageChildList()) { //子表数据不为空,则插入子表数据 + sumTotal = sumTotal.add(warehouseInventoryReportDamageChild.getActualScrapQuantity()); warehouseInventoryReportDamageChild.setMakeNo(warehouseInventoryReportDamage.getMakeNo()); warehouseInventoryReportDamageChild.setReportDamageCode(newCode); warehouseInventoryReportDamageChild.setCreateTime(DateUtils.getNowDate()); @@ -99,6 +118,7 @@ public class WarehouseInventoryReportDamageServiceImpl implements IWarehouseInve //子表数据为空,则抛出异常 throw new BusinessException("报损子表数据为空"); } + warehouseInventoryReportDamage.setNumTotal(sumTotal); return warehouseInventoryReportDamageMapper.insertWarehouseInventoryReportDamage(warehouseInventoryReportDamage); } @@ -195,6 +215,24 @@ public class WarehouseInventoryReportDamageServiceImpl implements IWarehouseInve return warehouseInventoryReportDamageMapper.restoreWarehouseInventoryReportDamageById(reportDamageId); } + public List getMaterialListByMakeNo(String makeNo) { + List warehouseMaterialVOS = new ArrayList<>(); + List makeorderBoms = sysMakeorderBomMapper.selectSysMakeorderBomByMakeNo(makeNo); + for (SysMakeorderBom makeorderBom : makeorderBoms) { + WarehouseMaterialVO warehouseMaterialVO = new WarehouseMaterialVO(); + warehouseMaterialVO.setMaterialNo(makeorderBom.getMaterialNo()); + warehouseMaterialVO.setMaterialName(makeorderBom.getMaterialName()); + warehouseMaterialVO.setMaterialDescribe(makeorderBom.getDescribe()); + warehouseMaterialVO.setMaterialUnit(makeorderBom.getUnit()); + warehouseMaterialVO.setMaterialType(makeorderBom.getMaterialType()); + warehouseMaterialVO.setProcessMethod(makeorderBom.getProcessMethod()); + warehouseMaterialVO.setMaterialBrand(makeorderBom.getBrand()); + warehouseMaterialVO.setMaterialphotoUrl(makeorderBom.getPhotoUrl()); + warehouseMaterialVOS.add(warehouseMaterialVO); + } + return warehouseMaterialVOS; + } + /** *报损单号生产规则