瀏覽代碼

增加
1、增加入库单整单出库功能

liangwenxuan 2 月之前
父節點
當前提交
d8b01f8282
共有 41 個文件被更改,包括 192 次插入81 次删除
  1. 17 13
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/MaterialIoController.java
  2. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietyPageReqVO.java
  3. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietyRespVO.java
  4. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietySaveReqVO.java
  5. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsPageReqVO.java
  6. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsRespVO.java
  7. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsSaveReqVO.java
  8. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionPageReqVO.java
  9. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionRespVO.java
  10. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionSaveReqVO.java
  11. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationPageReqVO.java
  12. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationRespVO.java
  13. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationSaveReqVO.java
  14. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialPageReqVO.java
  15. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialRespVO.java
  16. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialSaveReqVO.java
  17. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStatePageReqVO.java
  18. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateRespVO.java
  19. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateSaveReqVO.java
  20. 1 1
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskPageReqVO.java
  21. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskRespVO.java
  22. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskSaveReqVO.java
  23. 43 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/materialio/outbound/MaterialOutboundByInboundReqVO.java
  24. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAnxietyDO.java
  25. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAttackRiskFactorsDO.java
  26. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessDepressionDO.java
  27. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPerceptionCommunicationDO.java
  28. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPsychologySocialDO.java
  29. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSimpleMentalStateDO.java
  30. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSuicideRiskDO.java
  31. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessAnxietyMapper.java
  32. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessAttackRiskFactorsMapper.java
  33. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessDepressionMapper.java
  34. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessPerceptionCommunicationMapper.java
  35. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessPsychologySocialMapper.java
  36. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSimpleMentalStateMapper.java
  37. 2 2
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSuicideRiskMapper.java
  38. 1 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyBuildFloorActivityImageMapper.java
  39. 2 5
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/DailyExpensesServiceImpl.java
  40. 2 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/MaterialIoService.java
  41. 64 0
      yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/MaterialIoServiceImpl.java

+ 17 - 13
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/MaterialIoController.java

@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
 import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ImportResultVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.common.TenantIdsReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.*;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inbound.MaterialInboundOrderExportExcelVO;
@@ -12,39 +13,36 @@ import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inbound
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inboundreturn.MaterialInboundReturnOrderPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inboundreturn.MaterialInboundReturnOrderPageRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inboundreturn.MaterialInboundReturnOrderRespVO;
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundOrderExportExcelVO;
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundOrderRespVO;
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderPageReqVO;
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderPageRespVO;
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inventory.MaterialInventoryFlowReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inventory.MaterialInventoryFlowRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inventory.MaterialInventoryReportExcelVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inventory.MaterialInventoryReportPageReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.inventory.MaterialInventoryReportRespVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundByInboundReqVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundOrderExportExcelVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundOrderRespVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderPageReqVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderPageRespVO;
+import cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outboundreturn.MaterialOutboundReturnOrderRespVO;
 import cn.iocoder.yudao.module.system.dal.dataobject.biz.MaterialInboundOrderDO;
 import cn.iocoder.yudao.module.system.dal.dataobject.biz.MaterialOutboundOrderDO;
 import cn.iocoder.yudao.module.system.service.biz.MaterialIoService;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
-
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
-
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ImportResultVO;
-import org.springframework.web.multipart.MultipartFile;
-
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 
 /**
@@ -73,6 +71,13 @@ public class MaterialIoController {
         return success(materialIoService.outbound(reqVO));
     }
 
+    @PostMapping("/outbound-by-inbound")
+    @Operation(summary = "根据入库单生成出库单")
+    @TenantIgnore
+    public CommonResult<Long> outboundByInbound(@Valid @RequestBody MaterialOutboundByInboundReqVO reqVO) {
+        return success(materialIoService.outboundByInbound(reqVO));
+    }
+
     @PostMapping("/outbound-return")
     @Operation(summary = "出库退回")
     @TenantIgnore
@@ -135,7 +140,6 @@ public class MaterialIoController {
         return success(materialIoService.outboundList(tenantIdsReqVO.getTenantIds()));
     }
 
-
     @GetMapping("/inbound/get")
     @Operation(summary = "获得入库单详情")
     @Parameter(name = "id", description = "编号", required = true, example = "1")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietyPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessAnxietyPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietyRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessAnxietyRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessanxiety/ElderlyAssessAnxietySaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessAnxietySaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessAttackRiskFactorsPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessAttackRiskFactorsRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessattackriskfactors/ElderlyAssessAttackRiskFactorsSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessAttackRiskFactorsSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessDepressionPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessDepressionRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessdepression/ElderlyAssessDepressionSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessDepressionSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessPerceptionCommunicationPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessPerceptionCommunicationRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassessperceptioncommunication/ElderlyAssessPerceptionCommunicationSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessPerceptionCommunicationSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessPsychologySocialPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessPsychologySocialRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesspsychologysocial/ElderlyAssessPsychologySocialSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessPsychologySocialSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStatePageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessSimpleMentalStatePageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessSimpleMentalStateRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssimplementalstate/ElderlyAssessSimpleMentalStateSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessSimpleMentalStateSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskPageReqVO.java

@@ -25,7 +25,7 @@ public class ElderlyAssessSuicideRiskPageReqVO extends PageParam {
 
     @Schema(description = "评估日期范围")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
-    private LocalDate[] assessorDate;
+    private LocalDate[] assessDate;
 
     @Schema(description = "机构id数组")
     private Long[] tenantIds;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskRespVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessSuicideRiskRespVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "档案号")
     private String fileNumber;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/elderlyassesssuiciderisk/ElderlyAssessSuicideRiskSaveReqVO.java

@@ -32,10 +32,10 @@ public class ElderlyAssessSuicideRiskSaveReqVO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
     @NotNull(message = "机构id不能为空")

+ 43 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/biz/vo/materialio/outbound/MaterialOutboundByInboundReqVO.java

@@ -0,0 +1,43 @@
+package cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDate;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
+
+@Schema(description = "管理后台 - 物资根据入库单生成出库单 Request VO")
+@Data
+public class MaterialOutboundByInboundReqVO {
+
+    @Schema(description = "入库单ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "inboundOrderId不能为空")
+    private Long inboundOrderId;
+
+    @Schema(description = "出库日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
+    @NotNull(message = "orderDate不能为空")
+    private LocalDate orderDate;
+
+    @Schema(description = "领用部门ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
+    @NotNull(message = "outDeptId不能为空")
+    private Long outDeptId;
+
+    @Schema(description = "领用人", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "outUser不能为空")
+    private String outUser;
+
+    @Schema(description = "出库原因", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "outReason不能为空")
+    private String outReason;
+
+    @Schema(description = "备注")
+    private String remark;
+
+    @Schema(description = "租户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
+    @NotNull(message = "tenantId不能为空")
+    private Long tenantId;
+}

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAnxietyDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessAnxietyDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessAttackRiskFactorsDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessAttackRiskFactorsDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessDepressionDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessDepressionDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPerceptionCommunicationDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessPerceptionCommunicationDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessPsychologySocialDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessPsychologySocialDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSimpleMentalStateDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessSimpleMentalStateDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/biz/ElderlyAssessSuicideRiskDO.java

@@ -45,10 +45,10 @@ public class ElderlyAssessSuicideRiskDO extends BaseNoDeleteDO {
     @Schema(description = "评估日期")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
     @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
-    private LocalDate assessorDate;
+    private LocalDate assessDate;
 
     @Schema(description = "评估数据")
-    private String assessorData;
+    private String assessData;
 
     @Schema(description = "机构id")
     private Long tenantId;

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessAnxietyMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessAnxietyMapper extends BaseMapperX<ElderlyAssessAnx
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessAnxietyDO>()
                 .likeIfPresent(ElderlyAssessAnxietyDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessAnxietyDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessAnxietyDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessAnxietyDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessAnxietyDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessAnxietyDO::getAssessorDate, ElderlyAssessAnxietyDO::getId));
+                .orderByDesc(ElderlyAssessAnxietyDO::getAssessDate, ElderlyAssessAnxietyDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessAttackRiskFactorsMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessAttackRiskFactorsMapper extends BaseMapperX<Elderl
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessAttackRiskFactorsDO>()
                 .likeIfPresent(ElderlyAssessAttackRiskFactorsDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessAttackRiskFactorsDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessAttackRiskFactorsDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessAttackRiskFactorsDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessAttackRiskFactorsDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessAttackRiskFactorsDO::getAssessorDate, ElderlyAssessAttackRiskFactorsDO::getId));
+                .orderByDesc(ElderlyAssessAttackRiskFactorsDO::getAssessDate, ElderlyAssessAttackRiskFactorsDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessDepressionMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessDepressionMapper extends BaseMapperX<ElderlyAssess
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessDepressionDO>()
                 .likeIfPresent(ElderlyAssessDepressionDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessDepressionDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessDepressionDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessDepressionDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessDepressionDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessDepressionDO::getAssessorDate, ElderlyAssessDepressionDO::getId));
+                .orderByDesc(ElderlyAssessDepressionDO::getAssessDate, ElderlyAssessDepressionDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessPerceptionCommunicationMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessPerceptionCommunicationMapper extends BaseMapperX<
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessPerceptionCommunicationDO>()
                 .likeIfPresent(ElderlyAssessPerceptionCommunicationDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessPerceptionCommunicationDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessPerceptionCommunicationDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessPerceptionCommunicationDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessPerceptionCommunicationDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessPerceptionCommunicationDO::getAssessorDate, ElderlyAssessPerceptionCommunicationDO::getId));
+                .orderByDesc(ElderlyAssessPerceptionCommunicationDO::getAssessDate, ElderlyAssessPerceptionCommunicationDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessPsychologySocialMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessPsychologySocialMapper extends BaseMapperX<Elderly
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessPsychologySocialDO>()
                 .likeIfPresent(ElderlyAssessPsychologySocialDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessPsychologySocialDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessPsychologySocialDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessPsychologySocialDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessPsychologySocialDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessPsychologySocialDO::getAssessorDate, ElderlyAssessPsychologySocialDO::getId));
+                .orderByDesc(ElderlyAssessPsychologySocialDO::getAssessDate, ElderlyAssessPsychologySocialDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSimpleMentalStateMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessSimpleMentalStateMapper extends BaseMapperX<Elderl
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessSimpleMentalStateDO>()
                 .likeIfPresent(ElderlyAssessSimpleMentalStateDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessSimpleMentalStateDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessSimpleMentalStateDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessSimpleMentalStateDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessSimpleMentalStateDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessSimpleMentalStateDO::getAssessorDate, ElderlyAssessSimpleMentalStateDO::getId));
+                .orderByDesc(ElderlyAssessSimpleMentalStateDO::getAssessDate, ElderlyAssessSimpleMentalStateDO::getId));
     }
 }

+ 2 - 2
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyAssessSuicideRiskMapper.java

@@ -14,8 +14,8 @@ public interface ElderlyAssessSuicideRiskMapper extends BaseMapperX<ElderlyAsses
         return selectPage(reqVO, new LambdaQueryWrapperX<ElderlyAssessSuicideRiskDO>()
                 .likeIfPresent(ElderlyAssessSuicideRiskDO::getElderName, reqVO.getElderName())
                 .likeIfPresent(ElderlyAssessSuicideRiskDO::getAssessor, reqVO.getAssessor())
-                .betweenIfPresent(ElderlyAssessSuicideRiskDO::getAssessorDate, reqVO.getAssessorDate())
+                .betweenIfPresent(ElderlyAssessSuicideRiskDO::getAssessDate, reqVO.getAssessDate())
                 .inIfPresent(ElderlyAssessSuicideRiskDO::getTenantId, reqVO.getTenantIds())
-                .orderByDesc(ElderlyAssessSuicideRiskDO::getAssessorDate, ElderlyAssessSuicideRiskDO::getId));
+                .orderByDesc(ElderlyAssessSuicideRiskDO::getAssessDate, ElderlyAssessSuicideRiskDO::getId));
     }
 }

+ 1 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/biz/ElderlyBuildFloorActivityImageMapper.java

@@ -36,3 +36,4 @@ public interface ElderlyBuildFloorActivityImageMapper extends BaseMapperX<Elderl
 
 
 
+

+ 2 - 5
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/DailyExpensesServiceImpl.java

@@ -430,12 +430,9 @@ public class DailyExpensesServiceImpl implements DailyExpensesService {
             }
             // 如果账单存在,添加费用项到现有账单
             addExpenseItemToExistingOrder(expenseOrder, dailyExpenses);
-        } else {
-            // 如果账单不存在,创建新账单
-            createNewExpenseOrder(dailyExpenses, elderlyInfo);
+            dailyExpenses.setIsGenerateBill(BooleanEnum.TRUE.getValue());
+            dailyExpensesMapper.updateById(dailyExpenses);
         }
-        dailyExpenses.setIsGenerateBill(BooleanEnum.TRUE.getValue());
-        dailyExpensesMapper.updateById(dailyExpenses);
         return true;
     }
 

+ 2 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/MaterialIoService.java

@@ -38,6 +38,8 @@ public interface MaterialIoService {
 
     Long outbound(@Valid MaterialIoOrderSaveReqVO reqVO);
 
+    Long outboundByInbound(@Valid cn.iocoder.yudao.module.system.controller.admin.biz.vo.materialio.outbound.MaterialOutboundByInboundReqVO reqVO);
+
     Long outboundReturn(@Valid MaterialIoOrderSaveReqVO reqVO);
 
     Long inboundReturn(@Valid MaterialIoOrderSaveReqVO reqVO);

+ 64 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/biz/MaterialIoServiceImpl.java

@@ -119,6 +119,70 @@ public class MaterialIoServiceImpl implements MaterialIoService {
         return createOutboundOrderWithPrefix(reqVO, "OUT");
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public Long outboundByInbound(MaterialOutboundByInboundReqVO reqVO) {
+        MaterialInboundOrderDO inboundOrder = inboundOrderMapper.selectById(reqVO.getInboundOrderId());
+        if (inboundOrder == null) {
+            throw exceptionCustomMsg(COMMON_NOT_FOUND, "入库单不存在");
+        }
+
+        List<MaterialInboundOrderItemDO> inboundItems = inboundOrderItemMapper.selectList(
+                new LambdaQueryWrapper<MaterialInboundOrderItemDO>()
+                        .eq(MaterialInboundOrderItemDO::getInboundOrderId, reqVO.getInboundOrderId()));
+        if (inboundItems == null || inboundItems.isEmpty()) {
+            throw exceptionCustomMsg(COMMON_NOT_FOUND, "入库单明细不存在");
+        }
+
+        for (MaterialInboundOrderItemDO inboundItem : inboundItems) {
+            BigDecimal outQty = inboundItem.getOutQty() == null ? BigDecimal.ZERO : inboundItem.getOutQty();
+            BigDecimal inQty = inboundItem.getInQty() == null ? BigDecimal.ZERO : inboundItem.getInQty();
+            if (outQty.compareTo(BigDecimal.ZERO) > 0) {
+                throw exceptionCustomMsg(COMMON_NOT_FOUND, "入库单已发生出库,无法整单出库");
+            }
+            if (inQty.compareTo(BigDecimal.ZERO) <= 0) {
+                throw exceptionCustomMsg(COMMON_NOT_FOUND, "入库单明细出库数量必须大于0");
+            }
+        }
+
+        MaterialOutboundOrderDO order = MaterialOutboundOrderDO.builder()
+                .orderNo(orderNoGenerator.generate("OUT", reqVO.getOrderDate()))
+                .orderDate(reqVO.getOrderDate())
+                .outDeptId(reqVO.getOutDeptId())
+                .outUser(reqVO.getOutUser())
+                .outReason(reqVO.getOutReason())
+                .status(1)
+                .remark(reqVO.getRemark())
+                .tenantId(reqVO.getTenantId())
+                .build();
+        outboundOrderMapper.insert(order);
+
+        List<MaterialIoOrderItemSaveReqVO> items = new ArrayList<>();
+        for (MaterialInboundOrderItemDO inboundItem : inboundItems) {
+            BigDecimal quantity = inboundItem.getInQty();
+            MaterialOutboundOrderItemDO outboundItem = new MaterialOutboundOrderItemDO();
+            outboundItem.setOutboundOrderId(order.getId());
+            outboundItem.setRefInboundItemId(inboundItem.getId());
+            outboundItem.setMaterialId(inboundItem.getMaterialId());
+            outboundItem.setQuantity(quantity);
+            outboundItem.setTenantId(reqVO.getTenantId());
+            outboundOrderItemMapper.insert(outboundItem);
+
+            inboundItem.setOutQty(inboundItem.getOutQty().add(quantity));
+            inboundItem.setAvailableQty(inboundItem.getAvailableQty().subtract(quantity));
+            inboundOrderItemMapper.updateById(inboundItem);
+
+            MaterialIoOrderItemSaveReqVO itemReq = new MaterialIoOrderItemSaveReqVO();
+            itemReq.setInboundItemId(inboundItem.getId());
+            itemReq.setMaterialId(inboundItem.getMaterialId());
+            itemReq.setQuantity(quantity);
+            items.add(itemReq);
+        }
+
+        updateMaterialStockForOutbound(items, reqVO.getTenantId());
+        return order.getId();
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Long outboundReturn(MaterialIoOrderSaveReqVO reqVO) {