Browse Source

物资-库存详情里添加报损记录

huangguoce 4 weeks ago
parent
commit
cfcbcd7f55

+ 8 - 0
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/loss/controller/PsiLossController.java

@@ -8,6 +8,7 @@ import com.jeeplus.common.excel.annotation.ExportMode;
 import com.jeeplus.common.utils.ResponseUtil;
 import com.jeeplus.logging.annotation.ApiLog;
 import com.jeeplus.logging.constant.enums.LogTypeEnum;
+import com.jeeplus.psimanage.loss.domain.PsiLossDetailed;
 import com.jeeplus.psimanage.loss.service.PsiLossService;
 import com.jeeplus.psimanage.loss.service.dto.PsiLossDto;
 import com.jeeplus.psimanage.loss.service.dto.PsiLossExportDto;
@@ -85,4 +86,11 @@ public class PsiLossController {
         }
         EasyExcelUtils.newInstance().exportExcel(result, sheetName, PsiLossExportDto.class, fileName, null, response);
     }
+
+
+    @ApiOperation(value = "根据物品名称查询所有报损数据")
+    @GetMapping("/getLossByTradeName")
+    public ResponseEntity<IPage<PsiLossDetailed>> getLossByTradeName(Page<PsiLossDetailed> page, PsiLossDetailed dto) throws Exception {
+        return ResponseEntity.ok(psiLossService.getLossByTradeName(page, dto));
+    }
 }

+ 13 - 0
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/loss/domain/PsiLossDetailed.java

@@ -51,4 +51,17 @@ public class PsiLossDetailed extends BaseEntity {
 
     @TableField(exist = false)
     private List<WorkAttachmentDto> fileInfoLost;
+
+    @TableField(exist = false)
+    private String handledByOfficeName;
+
+    @TableField(exist = false)
+    private String handledByName;
+
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private String[] lossDates;
+
+    @TableField(exist = false)
+    private String lossNo;
 }

+ 25 - 0
jeeplus-modules/jeeplus-psi-management/src/main/java/com/jeeplus/psimanage/loss/service/PsiLossService.java

@@ -243,6 +243,31 @@ public class PsiLossService {
         return pageData;
     }
 
+    /**
+     * 根据库存名称查询报损数据
+     * @param page
+     * @param dto
+     * @return
+     * @throws Exception
+     */
+    public IPage<PsiLossDetailed> getLossByTradeName(Page<PsiLossDetailed> page, PsiLossDetailed dto) throws Exception {
+        QueryWrapper<PsiLossDetailed> queryWrapper = QueryWrapperGenerator.buildQueryCondition(dto, PsiLossDetailed.class);
+        queryWrapper.eq("a.del_flag", "0");
+        queryWrapper.eq("b.status", "5");
+        if (StringUtils.isNotBlank(dto.getLossNo())) {
+            queryWrapper.like("b.collect_no", dto.getLossNo());
+        }
+        if (StringUtils.isNotBlank(dto.getGoodsName())) {
+            queryWrapper.eq("a.goods_name", dto.getGoodsName());
+        }
+        if (dto.getLossDates() != null && dto.getLossDates().length == 2) {
+            queryWrapper.between("b.collect_date", dto.getLossDates()[0], dto.getLossDates()[1]);
+        }
+
+        IPage<PsiLossDetailed> pageData = basicMapper.getLossByTradeName(page, queryWrapper);
+        return pageData;
+    }
+
     private void validateDetailInfos(List<PsiLossDetailed> detailInfos) {
         if (CollectionUtils.isEmpty(detailInfos)) {
             throw new RuntimeException("报损明细不能为空");