From b49a2d8bd64fe0a39fe438b95dd3adce1fd0c6bb Mon Sep 17 00:00:00 2001 From: songguoqiang <765017469@qq.com> Date: Wed, 8 May 2024 21:32:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E4=BB=B6=E5=BD=92=E8=BF=98=20?= =?UTF-8?q?=E5=A4=87=E4=BB=B6=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itemaccounts/ItemAccountsController.java | 16 ++++++++++ .../ItemInLocationController.java | 26 ++++++++++++++++- .../vo/ItemInLocationBaseVO.java | 11 +++++-- .../vo/ItemInLocationRespVO.java | 2 ++ .../ItemOutLocationController.java | 27 ++++++++++++++++- .../vo/ItemOutLocationBaseVO.java | 8 ++++- .../vo/ItemOutLocationRespVO.java | 3 +- .../iteminlocation/ItemInLocationDO.java | 6 ++++ .../itemoutlocation/ItemOutLocationDO.java | 5 ++++ .../itemaccounts/ItemAccountsService.java | 15 ++++++++++ .../itemaccounts/ItemAccountsServiceImpl.java | 29 +++++++++++++++++++ 11 files changed, 142 insertions(+), 6 deletions(-) diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java index 2b39ca7..fd8c90e 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemaccounts/ItemAccountsController.java @@ -219,6 +219,8 @@ public class ItemAccountsController { vo.setLocationName(locationDO.getName()); LocationAreaDO locationAreaDO = locationAreaService.getByNumber(vo.getAreaNumber()); vo.setAreaName(locationAreaDO.getName()); + Boolean b = itemAccountsService.qtyZore(vo.getItemNumber()); + vo.setDisplay(b); } return success(result); } @@ -232,4 +234,18 @@ public class ItemAccountsController { return success(ItemAccountsConvert.INSTANCE.convertList(pageResult)); } + @GetMapping("/getByLocationNumber") + @Operation(summary = "根据库位获取备件台账") + @Parameter(name = "id", description = "编号", required = true, example = "1024") +// @PreAuthorize("@ss.hasPermission('eam:item-accounts:query')") + public CommonResult getByLocationNumber(@RequestParam("locationNumber") String locationNumber) { + ItemAccountsDO itemAccounts = itemAccountsService.getByLocationNumber(locationNumber); + ItemAccountsRespVO convert = ItemAccountsConvert.INSTANCE.convert(itemAccounts); + if(convert!=null){ + ItemDO itemDO = itemService.getByNumber(itemAccounts.getItemNumber()); + convert.setItemName(itemDO==null?"":itemDO.getName()); + } + return success(convert); + } + } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/ItemInLocationController.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/ItemInLocationController.java index be7e59c..cc8d641 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/ItemInLocationController.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/ItemInLocationController.java @@ -6,9 +6,14 @@ import com.win.framework.common.pojo.PageResult; import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.module.eam.controller.iteminlocation.vo.*; +import com.win.module.eam.controller.itemoutlocation.vo.ItemOutLocationRespVO; import com.win.module.eam.convert.iteminlocation.ItemInLocationConvert; +import com.win.module.eam.dal.dataobject.item.ItemDO; import com.win.module.eam.dal.dataobject.iteminlocation.ItemInLocationDO; +import com.win.module.eam.dal.dataobject.location.LocationDO; +import com.win.module.eam.service.item.ItemService; import com.win.module.eam.service.iteminlocation.ItemInLocationService; +import com.win.module.eam.service.location.LocationService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -36,6 +41,12 @@ public class ItemInLocationController { @Resource private ItemInLocationService itemInLocationService; + @Resource + private ItemService itemService; + + @Resource + private LocationService locationService; + @PostMapping("/create") @Operation(summary = "创建备件入库记录") @PreAuthorize("@ss.hasPermission('item:itemInLocation:create')") @@ -83,7 +94,14 @@ public class ItemInLocationController { //@PreAuthorize("@ss.hasPermission('record:item-in-location:query')") public CommonResult> getItemInLocationPage(@Valid ItemInLocationPageReqVO pageVO) { PageResult pageResult = itemInLocationService.getItemInLocationPage(pageVO); - return success(ItemInLocationConvert.INSTANCE.convertPage(pageResult)); + PageResult result = ItemInLocationConvert.INSTANCE.convertPage(pageResult); + for(ItemInLocationRespVO vo:result.getList()){ +// ItemDO itemDO = itemService.getByNumber(vo.getItemNumber()); +// vo.setItemName(itemDO.getName()); + LocationDO locationDO = locationService.getByNumber(vo.getLocationNumber()); + vo.setLocationName(locationDO.getName()); + } + return success(result); } @GetMapping("/export-excel") @@ -112,6 +130,12 @@ public class ItemInLocationController { public CommonResult> getLocationSenior(@Valid @RequestBody CustomConditions conditions) { PageResult pageResult = itemInLocationService.getItemInLocationSenior(conditions); PageResult result = ItemInLocationConvert.INSTANCE.convertPage(pageResult); + for(ItemInLocationRespVO vo:result.getList()){ +// ItemDO itemDO = itemService.getByNumber(vo.getItemNumber()); +// vo.setItemName(itemDO.getName()); + LocationDO locationDO = locationService.getByNumber(vo.getLocationNumber()); + vo.setLocationName(locationDO.getName()); + } return success(result); } } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationBaseVO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationBaseVO.java index a4a22ff..8c9dee7 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationBaseVO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationBaseVO.java @@ -16,11 +16,11 @@ public class ItemInLocationBaseVO { private Long id; @Schema(description = "入库编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "入库编号不能为空") + //@NotNull(message = "入库编号不能为空") private String number; @Schema(description = "备件编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "备件编号不能为空") + //@NotNull(message = "备件编号不能为空") private String itemNumber; @Schema(description = "库位编号", requiredMode = Schema.RequiredMode.REQUIRED) @@ -33,4 +33,11 @@ public class ItemInLocationBaseVO { @Schema(description = "数量") private BigDecimal qty; + + @Schema(description = "归还人id") + private String returner; + + @Schema(description = "归还人名称") + private String returnName; + } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationRespVO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationRespVO.java index d68972f..37c61e8 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationRespVO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/iteminlocation/vo/ItemInLocationRespVO.java @@ -9,5 +9,7 @@ import java.time.LocalDateTime; @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class ItemInLocationRespVO extends ItemInLocationBaseVO { + private String itemName; + private String locationName; } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/ItemOutLocationController.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/ItemOutLocationController.java index af27a47..5205499 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/ItemOutLocationController.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/ItemOutLocationController.java @@ -5,10 +5,16 @@ import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.PageResult; import com.win.framework.excel.core.util.ExcelUtils; import com.win.framework.operatelog.core.annotations.OperateLog; +import com.win.module.eam.controller.itemaccounts.vo.ItemAccountsRespVO; import com.win.module.eam.controller.itemoutlocation.vo.*; import com.win.module.eam.convert.itemoutlocation.ItemOutLocationConvert; +import com.win.module.eam.dal.dataobject.item.ItemDO; import com.win.module.eam.dal.dataobject.itemoutlocation.ItemOutLocationDO; +import com.win.module.eam.dal.dataobject.location.LocationDO; +import com.win.module.eam.dal.dataobject.locationarea.LocationAreaDO; +import com.win.module.eam.service.item.ItemService; import com.win.module.eam.service.itemoutlocation.ItemOutLocationService; +import com.win.module.eam.service.location.LocationService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -36,6 +42,12 @@ public class ItemOutLocationController { @Resource private ItemOutLocationService itemOutLocationService; + @Resource + private ItemService itemService; + + @Resource + private LocationService locationService; + @PostMapping("/create") @Operation(summary = "创建备件出库记录") @PreAuthorize("@ss.hasPermission('item:itemOutLocation:create')") @@ -83,7 +95,14 @@ public class ItemOutLocationController { // @PreAuthorize("@ss.hasPermission('record:item-out-location:query')") public CommonResult> getItemOutLocationPage(@Valid ItemOutLocationPageReqVO pageVO) { PageResult pageResult = itemOutLocationService.getItemOutLocationPage(pageVO); - return success(ItemOutLocationConvert.INSTANCE.convertPage(pageResult)); + PageResult result = ItemOutLocationConvert.INSTANCE.convertPage(pageResult); + for(ItemOutLocationRespVO vo:result.getList()){ + ItemDO itemDO = itemService.getByNumber(vo.getItemNumber()); + vo.setItemName(itemDO.getName()); + LocationDO locationDO = locationService.getByNumber(vo.getLocationNumber()); + vo.setLocationName(locationDO.getName()); + } + return success(result); } @GetMapping("/export-excel") @@ -112,6 +131,12 @@ public class ItemOutLocationController { public CommonResult> getLocationSenior(@Valid @RequestBody CustomConditions conditions) { PageResult pageResult = itemOutLocationService.getItemOutLocationSenior(conditions); PageResult result = ItemOutLocationConvert.INSTANCE.convertPage(pageResult); + for(ItemOutLocationRespVO vo:result.getList()){ + ItemDO itemDO = itemService.getByNumber(vo.getItemNumber()); + vo.setItemName(itemDO.getName()); + LocationDO locationDO = locationService.getByNumber(vo.getLocationNumber()); + vo.setLocationName(locationDO.getName()); + } return success(result); } } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationBaseVO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationBaseVO.java index 460f794..0e0b20f 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationBaseVO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationBaseVO.java @@ -16,7 +16,7 @@ public class ItemOutLocationBaseVO { private Long id; @Schema(description = "出库编号", requiredMode = Schema.RequiredMode.REQUIRED) - @NotNull(message = "出库编号不能为空") + //@NotNull(message = "出库编号不能为空") private String number; @Schema(description = "备件编号", requiredMode = Schema.RequiredMode.REQUIRED) @@ -33,4 +33,10 @@ public class ItemOutLocationBaseVO { @Schema(description = "数量") private BigDecimal qty; + @Schema(description = "领用人id") + private String receiver; + + @Schema(description = "领用人名称") + private String receiveName; + } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationRespVO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationRespVO.java index a12b8c3..c1b6c57 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationRespVO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/controller/itemoutlocation/vo/ItemOutLocationRespVO.java @@ -9,5 +9,6 @@ import java.time.LocalDateTime; @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class ItemOutLocationRespVO extends ItemOutLocationBaseVO { - + private String itemName; + private String locationName; } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/iteminlocation/ItemInLocationDO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/iteminlocation/ItemInLocationDO.java index 0484225..f5eb867 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/iteminlocation/ItemInLocationDO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/iteminlocation/ItemInLocationDO.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.Version; import com.win.framework.mybatis.core.dataobject.BaseDO; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.math.BigDecimal; @@ -35,10 +36,15 @@ public class ItemInLocationDO extends BaseDO { * 备件编号 */ private String itemNumber; + /** * 库位编号 */ private String locationNumber; + /** + * 归还人 + */ + private String returner; /** * 入库类型 */ diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/itemoutlocation/ItemOutLocationDO.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/itemoutlocation/ItemOutLocationDO.java index 91f7473..ce8d67b 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/itemoutlocation/ItemOutLocationDO.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/dal/dataobject/itemoutlocation/ItemOutLocationDO.java @@ -35,6 +35,7 @@ public class ItemOutLocationDO extends BaseDO { * 备件编号 */ private String itemNumber; + /** * 库位编号 */ @@ -47,6 +48,10 @@ public class ItemOutLocationDO extends BaseDO { * 数量 */ private BigDecimal qty; + /** + * 领用人id + */ + private String receiver; /** * 地点ID */ diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java index e1f3978..520f52d 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsService.java @@ -6,6 +6,7 @@ import com.win.module.eam.controller.itemaccounts.vo.*; import com.win.module.eam.dal.dataobject.itemaccounts.ItemAccountsDO; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.Collection; import java.util.List; import java.util.Map; @@ -61,6 +62,13 @@ public interface ItemAccountsService { */ ItemAccountsDO getItemAccounts(Long id); + /** + * 根据库位编码查询备件信息 + * @param locationNumber + * @return + */ + ItemAccountsDO getByLocationNumber(String locationNumber); + /** * 获得备件台账列表 * @@ -139,4 +147,11 @@ public interface ItemAccountsService { * @return */ Boolean qtyZore(String number); + + /** + * 根据库位编码查询备件所有库存 + * @param locationNumber + * @return + */ + BigDecimal getAllByLocation(String locationNumber); } diff --git a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java index b2e8240..0f5bd36 100644 --- a/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java +++ b/win-module-eam/win-module-eam-biz/src/main/java/com/win/module/eam/service/itemaccounts/ItemAccountsServiceImpl.java @@ -198,6 +198,22 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { return itemAccountsMapper.selectById(id); } + @Override + public ItemAccountsDO getByLocationNumber(String locationNumber) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("location_number",locationNumber); + queryWrapper.eq("available","TRUE"); + List itemAccountsDOS = itemAccountsMapper.selectList(queryWrapper); + if(itemAccountsDOS.isEmpty()){ + return new ItemAccountsDO(); + }else{//有数据查询所有的库存 + ItemAccountsDO itemAccountsDO = itemAccountsDOS.get(0); + BigDecimal allByLocation = getAllByLocation(locationNumber); + itemAccountsDO.setQty(allByLocation); + return itemAccountsDO; + } + } + @Override public List getItemAccountsList(Collection ids) { return itemAccountsMapper.selectBatchIds(ids); @@ -354,6 +370,19 @@ public class ItemAccountsServiceImpl implements ItemAccountsService { } } + @Override + public BigDecimal getAllByLocation(String locationNumber) { + BigDecimal qty = BigDecimal.ZERO; + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("location_number",locationNumber); + queryWrapper.eq("available","TRUE"); + List itemDOS = itemAccountsMapper.selectList(queryWrapper); + for(ItemAccountsDO en:itemDOS){ + qty = qty.add(en.getQty()); + } + return qty; + } + /** * 新增校验备件编号+类型+库位编码唯一 */