Kaynağa Gözat

Merge remote-tracking branch 'origin/master'

24282 2 yıl önce
ebeveyn
işleme
ca4026d055
31 değiştirilmiş dosya ile 381 ekleme ve 66 silme
  1. 10 0
      hx-account/src/main/java/com/fjhx/account/controller/account/AccountDeptRunningWaterController.java
  2. 12 0
      hx-account/src/main/java/com/fjhx/account/controller/account/AccountManagementController.java
  3. 26 0
      hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountDeptRunningWaterSelectDto.java
  4. 18 0
      hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountRunningWaterSelectDto.java
  5. 2 0
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountManagement.java
  6. 5 0
      hx-account/src/main/java/com/fjhx/account/entity/account/vo/AccountRunningWaterVo.java
  7. 1 0
      hx-account/src/main/java/com/fjhx/account/flow/AccountRequestFundsFlow.java
  8. 7 0
      hx-account/src/main/java/com/fjhx/account/mapper/account/AccountDeptRunningWaterMapper.java
  9. 7 0
      hx-account/src/main/java/com/fjhx/account/service/account/AccountDeptRunningWaterService.java
  10. 9 0
      hx-account/src/main/java/com/fjhx/account/service/account/AccountManagementService.java
  11. 60 3
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountDeptRunningWaterServiceImpl.java
  12. 62 4
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountManagementServiceImpl.java
  13. 17 3
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java
  14. 13 0
      hx-account/src/main/resources/mapper/account/AccountDeptRunningWaterMapper.xml
  15. 1 1
      hx-customer/src/main/java/com/fjhx/customer/service/customer/impl/CustomerServiceImpl.java
  16. 4 0
      hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionTaskDetailVo.java
  17. 5 0
      hx-mes/src/main/java/com/fjhx/mes/entity/work/vo/WorkOrderVo.java
  18. 6 0
      hx-mes/src/main/java/com/fjhx/mes/mapper/production/ProductionTaskDetailMapper.java
  19. 36 20
      hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskDetailServiceImpl.java
  20. 1 1
      hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskServiceImpl.java
  21. 1 1
      hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderBomServiceImpl.java
  22. 10 0
      hx-mes/src/main/resources/mapper/production/ProductionTaskDetailMapper.xml
  23. 3 1
      hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java
  24. 32 2
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java
  25. 3 2
      hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockWaitController.java
  26. 0 4
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockWaitDto.java
  27. 2 1
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/StockWaitType.java
  28. 10 7
      hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockWaitDetails.java
  29. 2 1
      hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitService.java
  30. 1 1
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java
  31. 15 14
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

+ 10 - 0
hx-account/src/main/java/com/fjhx/account/controller/account/AccountDeptRunningWaterController.java

@@ -60,5 +60,15 @@ public class AccountDeptRunningWaterController {
         return accountDeptRunningWaterService.DeptRunningWaterReport(dto);
     }
 
+    /**
+     * 部门-资金流水统计( 部门-资金流水列表)
+     * @param dto
+     * @return
+     */
+    @PostMapping("/deptRunningWaterStatistics")
+    public  Map<String,Object> deptRunningWaterStatistics(@RequestBody AccountDeptRunningWaterSelectDto dto){
+        return accountDeptRunningWaterService.deptRunningWaterStatistics(dto);
+    }
+
 
 }

+ 12 - 0
hx-account/src/main/java/com/fjhx/account/controller/account/AccountManagementController.java

@@ -4,6 +4,8 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.account.entity.account.dto.AccountManagementDto;
 import com.fjhx.account.entity.account.dto.AccountManagementSelectDto;
+import com.fjhx.account.entity.account.po.AccountManagement;
+import com.fjhx.account.entity.account.po.AccountRemainder;
 import com.fjhx.account.entity.account.vo.AccountManagementVo;
 import com.fjhx.account.service.account.AccountManagementService;
 import com.fjhx.common.constant.SourceConstant;
@@ -14,6 +16,9 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * <p>
@@ -79,4 +84,11 @@ public class AccountManagementController {
 //        accountManagementService.importsAmount(dto);
 //    }
 
+    /**
+     * 账户统计(账户列表)
+     */
+    @PostMapping("/managementStatistics")
+    public  List<Map<String, Object>> managementStatistics(@RequestBody AccountManagementSelectDto dto) {
+        return accountManagementService.managementStatistics(dto);
+    }
 }

+ 26 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountDeptRunningWaterSelectDto.java

@@ -4,6 +4,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 部门-资金流水关联表列表查询入参实体
  *
@@ -38,6 +40,30 @@ public class AccountDeptRunningWaterSelectDto extends BaseSelectDto {
      */
     private Long deptId;
 
+    /**
+     * 归属公司id
+     */
+    private Long corporationId;
+
+    /**
+     * 账户-管理表ID
+     */
+    private Long accountManagementId;
+
+    /**
+     *摘要
+     */
+    private String remarks;
+
+    /**
+     * 起始金额
+     */
+    private BigDecimal beginAmount;
+
+    /**
+     * 结束金额
+     */
+    private BigDecimal endAmount;
 
 
 }

+ 18 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountRunningWaterSelectDto.java

@@ -4,6 +4,8 @@ import com.ruoyi.common.core.domain.BaseSelectDto;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * 账户资金流水表列表查询入参实体
  *
@@ -42,4 +44,20 @@ public class AccountRunningWaterSelectDto extends BaseSelectDto {
      * 是否认领
      */
     private String isClaim;
+
+    /**
+     * 是否合同到账
+     */
+    private String received;
+
+    /**
+     * 交易开始金额
+     */
+    private BigDecimal beginAmount;
+
+    /**
+     * 交易结束金额
+     */
+    private BigDecimal endAmount;
+
 }

+ 2 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountManagement.java

@@ -82,6 +82,8 @@ public class AccountManagement extends BasePo {
 
 
 
+
+
 //    /**
 //     * 云帆ID
 //     */

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/vo/AccountRunningWaterVo.java

@@ -68,4 +68,9 @@ public class AccountRunningWaterVo extends AccountRunningWater {
      * 日期
      */
     private String time;
+
+    /**
+     * 收支类型
+     */
+    private String status;
 }

+ 1 - 0
hx-account/src/main/java/com/fjhx/account/flow/AccountRequestFundsFlow.java

@@ -108,6 +108,7 @@ public class AccountRequestFundsFlow extends FlowDelegate {
 
         accountPayment.setPaymentMethod(accountRequestFundsDto.getPaymentMethod());
         accountPayment.setIncomeAmount(accountRequestFundsDto.getTotal());
+        accountPayment.setAmount(accountRequestFundsDto.getTotal());
         accountPayment.setName(accountRequestFundsDto.getName());
         accountPayment.setBusinessManagementId(accountRequestFundsDto.getAccountManagementId());
         accountPayment.setOpeningBank(accountRequestFundsDto.getOpeningBank());

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/mapper/account/AccountDeptRunningWaterMapper.java

@@ -31,4 +31,11 @@ public interface AccountDeptRunningWaterMapper extends BaseMapper<AccountDeptRun
      * 部门-资金流水统计列表
      */
     List<AccountRunningWaterVo> DeptRunningWaterReport(@Param("ew") QueryWrapper<Object> query);
+
+    /**
+     * 查询部门-资金流水统计信息
+     * @param query
+     * @return
+     */
+    List<AccountRunningWaterVo> deptRunningWaterStatistics(@Param("ew") QueryWrapper<Object> query);
 }

+ 7 - 0
hx-account/src/main/java/com/fjhx/account/service/account/AccountDeptRunningWaterService.java

@@ -53,4 +53,11 @@ public interface AccountDeptRunningWaterService extends BaseService<AccountDeptR
      * @return
      */
     List<Map<String,Object>> DeptRunningWaterReport(AccountDeptRunningWaterSelectDto dto);
+
+    /**
+     * 部门-资金流水统计( 部门-资金流水列表)
+     * @param dto
+     * @return
+     */
+    Map<String, Object> deptRunningWaterStatistics(AccountDeptRunningWaterSelectDto dto);
 }

+ 9 - 0
hx-account/src/main/java/com/fjhx/account/service/account/AccountManagementService.java

@@ -1,6 +1,7 @@
 package com.fjhx.account.service.account;
 
 import com.fjhx.account.entity.account.po.AccountManagement;
+import com.fjhx.account.entity.account.po.AccountRemainder;
 import com.ruoyi.common.core.domain.BaseSelectDto;
 import com.ruoyi.common.core.service.BaseService;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -8,6 +9,9 @@ import com.fjhx.account.entity.account.vo.AccountManagementVo;
 import com.fjhx.account.entity.account.dto.AccountManagementSelectDto;
 import com.fjhx.account.entity.account.dto.AccountManagementDto;
 
+import java.util.List;
+import java.util.Map;
+
 
 /**
  * <p>
@@ -44,6 +48,11 @@ public interface AccountManagementService extends BaseService<AccountManagement>
      */
     void delete(Long id);
 
+    /**
+     * 账户统计(账户列表)
+     */
+    List<Map<String, Object>> managementStatistics(AccountManagementSelectDto dto);
+
 //    /**
 //     * 导入账户表的数据
 //     */

+ 60 - 3
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountDeptRunningWaterServiceImpl.java

@@ -5,6 +5,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.interfaces.Func;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.account.controller.utils.DateUtils;
 import com.fjhx.account.entity.account.po.AccountDeptRunningWater;
@@ -49,12 +50,26 @@ public class AccountDeptRunningWaterServiceImpl extends ServiceImpl<AccountDeptR
     @Override
     public Page<AccountRunningWaterVo> getPage(AccountDeptRunningWaterSelectDto dto) {
         QueryWrapper<Object> wrapper = Wrappers.query();
+        //收支类型
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getStatus()), "arw.status", dto.getStatus());
+        //币种
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getCurrency()), "arw.currency", dto.getCurrency());
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getType()),"adrw.type",dto.getType());
-        if (StringUtils.isNotEmpty(dto.getKeyword())) {
-            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
-        }
+        //归属公司id
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getCorporationId()),"am.corporation_id",dto.getCorporationId());
+        //摘要
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getRemarks()),"arw.remarks",dto.getRemarks());
+        //起始金额
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getBeginAmount()),"arw.amount",dto.getBeginAmount());
+        //结束金额
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getEndAmount()),"arw.amount",dto.getEndAmount());
+        //开始时间
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getBeginTime()),"arw.create_time",dto.getBeginTime());
+        //结束时间
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getEndTime()),"arw.create_time",dto.getEndTime());
+//        if (StringUtils.isNotEmpty(dto.getKeyword())) {
+//            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
+//        }
 
         Page<AccountRunningWaterVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         //切换数据源
@@ -186,4 +201,46 @@ public class AccountDeptRunningWaterServiceImpl extends ServiceImpl<AccountDeptR
         return mapList;
     }
 
+    /**
+     * 部门-资金流水统计( 部门-资金流水列表)
+     * @param dto
+     * @return
+     */
+    @Override
+    public Map<String, Object> deptRunningWaterStatistics(AccountDeptRunningWaterSelectDto dto) {
+        //存放流水统计数据
+        Map<String, Object> map = new HashMap<>();
+
+        QueryWrapper<Object> query = Wrappers.query();
+        query.groupBy("rwd.dept_id");
+        //查询部门-资金流水统计信息
+        List<AccountRunningWaterVo> accountRunningWaterVoList =  baseMapper.deptRunningWaterStatistics(query);
+
+        //计算收入合计数据
+        BigDecimal incomeAmount = accountRunningWaterVoList.stream().map(accountRunningWaterVo ->
+                accountRunningWaterVo.getIncomeAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+        //计算支出合计数据
+        BigDecimal expenditureAmount = accountRunningWaterVoList.stream().map(accountRunningWaterVo ->
+                accountRunningWaterVo.getExpenditureAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
+        map.put("incomeAmount",incomeAmount);
+        map.put("expenditureAmount",expenditureAmount);
+
+        //查询部门信息
+        //切换数据源
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        List<SysDept> sysDeptList = sysDeptService.list();
+        Map<Long, List<SysDept>> sysDeptMap = sysDeptList.stream().collect(Collectors.groupingBy(SysDept::getDeptId));
+
+        //赋值部门信息
+        for (AccountRunningWaterVo accountRunningWaterVo : accountRunningWaterVoList) {
+            List<SysDept> sysDepts = sysDeptMap.get(accountRunningWaterVo.getDeptId());
+            if (CollectionUtils.isNotEmpty(sysDepts)){
+                accountRunningWaterVo.setDeptName(sysDepts.get(0).getDeptName());
+            }
+        }
+        map.put("accountRunningWaterVoList",accountRunningWaterVoList);
+        return map;
+    }
+
 }

+ 62 - 4
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountManagementServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.account.entity.account.po.AccountManagement;
@@ -17,6 +18,9 @@ import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.entity.corporation.po.Corporation;
 import com.fjhx.common.service.corporation.CorporationService;
+import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
+import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
+import com.fjhx.tenant.service.dict.DictTenantDataService;
 import com.obs.services.internal.ServiceException;
 import com.ruoyi.common.annotation.TenantIgnore;
 import com.ruoyi.common.core.domain.BaseSelectDto;
@@ -35,8 +39,11 @@ import com.fjhx.account.entity.account.dto.AccountManagementDto;
 import cn.hutool.core.bean.BeanUtil;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 
@@ -57,10 +64,8 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
     private AccountRunningWaterService accountRunningWaterService;
 
     @Autowired
-    private CorporationService corporationService;
+    private DictTenantDataService dictTenantDataService;
 
-    @Autowired
-    private ISysUserService sysUserService;
 
     /**
      * 账户-管理表分页
@@ -73,7 +78,7 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
             wrapper.and(wrapper1 ->{
                 wrapper1.like(AccountManagement::getName,dto.getKeyword()).or()
                 .like(AccountManagement::getAlias,dto.getKeyword()).or()
-                .like(AccountManagement::getAccountOpening,dto.getOpeningBank()).or()
+                .like(AccountManagement::getAccountOpening,dto.getKeyword()).or()
                         .like(AccountManagement::getOpeningBank,dto.getKeyword());
             } );
         }
@@ -158,6 +163,59 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
                 .eq(AccountRemainder::getAccountManagementId,id));
     }
 
+    /**
+     * 账户统计(账户列表)
+     */
+    @Override
+    public  List<Map<String, Object>> managementStatistics(AccountManagementSelectDto dto) {
+        //存放账户统计数据
+        List<Map<String, Object>> list = new ArrayList<>();
+
+        QueryWrapper<AccountRemainder> query = Wrappers.query();
+        query.groupBy("currency");
+        query.select("currency,sum(remainder) remainder");
+        List<AccountRemainder> accountRemainderList = accountRemainderService.list(query);
+
+        //切换数据源
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        //获取来源的字典数据
+        List<DictTenantDataVo> dictTenantDataVos = getDict("customer_source");
+        DynamicDataSourceContextHolder.poll();
+
+        if (dictTenantDataVos.size()==0){
+            throw new ServiceException("数据有误:没有配置币种字典,请先配置");
+        }
+
+        //赋值
+        for (DictTenantDataVo dictTenantDataVo : dictTenantDataVos) {
+            //赋初始值信息
+            Map<String,Object> map = new HashMap<>();
+            map.put("currencyKey",dictTenantDataVo.getDictKey());
+            map.put("currencyValue",dictTenantDataVo.getDictValue());
+            map.put("remainder",new BigDecimal(0));
+            //赋值余额信息
+            if (accountRemainderList.size()>0){
+                Map<String, List<AccountRemainder>> accountRemainderMap = accountRemainderList.stream()
+                        .collect(Collectors.groupingBy(AccountRemainder::getCurrency));
+                List<AccountRemainder> accountRemainderList1 = accountRemainderMap.get(dictTenantDataVo.getDictKey());
+                if (ObjectUtil.isNotEmpty(accountRemainderList1)){
+                    map.put("remainder",accountRemainderList1.get(0).getRemainder());
+                }
+            }
+            list.add(map);
+        }
+
+        return list;
+    }
+
+    //根据字典编码获取字典的数据
+    private List<DictTenantDataVo> getDict(String code){
+        DictTenantDataSelectDto dto = new DictTenantDataSelectDto();
+        dto.setDictCode(code);
+        return dictTenantDataService.getList(dto);
+    }
+
+
 //    /**
 //     * 导入账户表的数据
 //     */

+ 17 - 3
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -39,13 +39,27 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
     @Override
     public Page<AccountRunningWaterVo> getPage(AccountRunningWaterSelectDto dto) {
         QueryWrapper<Object> wrapper = Wrappers.query();
+        //资金账户
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getAccountManagementId()), "arw.account_management_id", dto.getAccountManagementId());
+        //交易类型
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getStatus()), "arw.status", dto.getStatus());
+        //是否合同到账
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getReceived()), "arw.received", dto.getReceived());
+        //币种
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getCurrency()), "arw.currency", dto.getCurrency());
+        //是否认领
         wrapper.eq(ObjectUtil.isNotEmpty(dto.getIsClaim()), "arw.is_claim", dto.getIsClaim());
-        if (StringUtils.isNotEmpty(dto.getKeyword())) {
-            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
-        }
+        //交易开始金额
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getBeginAmount()),"arw.amount",dto.getBeginAmount());
+        //交易结束金额
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getEndAmount()),"arw.amount",dto.getEndAmount());
+        //交易开始时间
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getBeginTime()),"arw.create_time",dto.getBeginTime());
+        //交易结束金额
+        wrapper.ge(ObjectUtil.isNotEmpty(dto.getEndTime()),"arw.create_time",dto.getEndTime());
+//        if (StringUtils.isNotEmpty(dto.getKeyword())) {
+//            wrapper.and(wrapper1 -> wrapper1.like("arw.remarks", dto.getKeyword()).or().like("arw.name", dto.getKeyword()));
+//        }
         if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==1){//到账认领数据
             wrapper.eq("arw.received",10);
             wrapper.orderByDesc("arw.is_claim","arw.create_time");

+ 13 - 0
hx-account/src/main/resources/mapper/account/AccountDeptRunningWaterMapper.xml

@@ -40,5 +40,18 @@
             LEFT JOIN account_running_water ar ON rw.running_water_id = ar.id
             ${ew.customSqlSegment}
     </select>
+    <select id="deptRunningWaterStatistics" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
+        select
+           arw.status,
+             <!-- 如果没有分配部门,则使用资金流水表的金额来计算无部门收入数据-->
+           IF(arw.`status` = 10,if(rwd.amount is null,ifnull(sum(arw.amount),0),ifnull(sum(rwd.amount),0)),0) incomeAmount,
+           <!-- 如果没有分配部门,则使用资金流水表的金额来计算无部门支出数据-->
+            IF(arw.`status` = 20,if(rwd.amount is null,ifnull(sum(arw.amount),0),ifnull(sum(rwd.amount),0)),0) expenditureAmount,
+           adrw.dept_id
+        from account_running_water arw
+            left join account_dept_running_water adrw on arw.id = adrw.running_water_id
+            left join account_dept_running_water_detail rwd on  adrw.id = rwd.dept_running_water_id
+            ${ew.customSqlSegment}
+    </select>
 
 </mapper>

+ 1 - 1
hx-customer/src/main/java/com/fjhx/customer/service/customer/impl/CustomerServiceImpl.java

@@ -114,7 +114,7 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper, Customer> i
             String join = StringUtils.join(customerIds, ",");
             wrapper.orderByDesc("id IN ( " + join + " )");
         }
-
+        wrapper.orderByDesc(Customer::getUpdateTime);
         wrapper.orderByDesc(Customer::getCreateTime);
 
         Page<CustomerVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);

+ 4 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/production/vo/ProductionTaskDetailVo.java

@@ -23,6 +23,10 @@ public class ProductionTaskDetailVo extends ProductionTaskDetail {
      * 工序名称
      */
     private String productionProcessesName;
+    /**
+     * 下一工序名称
+     */
+    private String nextProductionProcessesName;
 
     /**
      * 累计耗时

+ 5 - 0
hx-mes/src/main/java/com/fjhx/mes/entity/work/vo/WorkOrderVo.java

@@ -48,4 +48,9 @@ public class WorkOrderVo extends WorkOrder {
      */
     private BigDecimal completionRate;
 
+    /**
+     * 生产任务id
+     */
+    private Long productionTaskId;
+
 }

+ 6 - 0
hx-mes/src/main/java/com/fjhx/mes/mapper/production/ProductionTaskDetailMapper.java

@@ -4,9 +4,13 @@ import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
+import com.fjhx.mes.entity.work.po.WorkOrder;
+import com.fjhx.mes.entity.work.vo.WorkOrderVo;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,4 +27,6 @@ public interface ProductionTaskDetailMapper extends BaseMapper<ProductionTaskDet
      */
     Page<ProductionTaskDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ProductionTaskDetail> wrapper);
 
+    List<WorkOrderVo> getWorkOrderByProductionTask(@Param("ew") IWrapper<ProductionTaskDetail> wrapper);
+
 }

+ 36 - 20
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskDetailServiceImpl.java

@@ -7,20 +7,15 @@ import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.mes.entity.applicable.po.ApplicableProducts;
 import com.fjhx.mes.entity.production.dto.ProductionTaskDetailDto;
 import com.fjhx.mes.entity.production.dto.ProductionTaskDetailSelectDto;
-import com.fjhx.mes.entity.production.po.ProductionPlan;
-import com.fjhx.mes.entity.production.po.ProductionTask;
-import com.fjhx.mes.entity.production.po.ProductionTaskDetail;
-import com.fjhx.mes.entity.production.po.ProductionTaskDetailRecord;
+import com.fjhx.mes.entity.production.po.*;
 import com.fjhx.mes.entity.production.vo.ProductionTaskDetailVo;
 import com.fjhx.mes.entity.technology.po.Technology;
 import com.fjhx.mes.entity.work.po.WorkOrder;
 import com.fjhx.mes.entity.work.po.WorkOrderProductionProcesses;
+import com.fjhx.mes.entity.work.vo.WorkOrderVo;
 import com.fjhx.mes.mapper.production.ProductionTaskDetailMapper;
 import com.fjhx.mes.service.applicable.ApplicableProductsService;
-import com.fjhx.mes.service.production.ProductionPlanService;
-import com.fjhx.mes.service.production.ProductionTaskDetailRecordService;
-import com.fjhx.mes.service.production.ProductionTaskDetailService;
-import com.fjhx.mes.service.production.ProductionTaskService;
+import com.fjhx.mes.service.production.*;
 import com.fjhx.mes.service.technology.TechnologyService;
 import com.fjhx.mes.service.work.WorkOrderProductionProcessesService;
 import com.fjhx.mes.service.work.WorkOrderService;
@@ -39,6 +34,7 @@ import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 
@@ -72,6 +68,8 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
     private StockWaitDetailsService stockWaitDetailsService;
     @Autowired
     private ProductInfoService productInfoService;
+    @Autowired
+    private ProductionProcessesService productionProcessesService;
 
     @Override
     public Page<ProductionTaskDetailVo> getPage(ProductionTaskDetailSelectDto dto) {
@@ -87,19 +85,37 @@ public class ProductionTaskDetailServiceImpl extends ServiceImpl<ProductionTaskD
         });
         //赋值当前工序名 目标工序名
         List<Long> productionTaskIds = records.stream().map(ProductionTaskDetail::getProductionTaskId).collect(Collectors.toList());
-        List<Long> productionPlanIds = productionTaskService.listObject(ProductionTask::getProductionPlanId, q -> q.in(ProductionTask::getId, productionTaskIds));
-//        workOrderService.listObject()
+        IWrapper<ProductionTaskDetail> wrapper1 = IWrapper.getWrapper();
+        wrapper1.in("pt",ProductionTaskDetail::getId,productionTaskIds);
+        List<WorkOrderVo> workOrderByProductionTask = baseMapper.getWorkOrderByProductionTask(wrapper1);
+        Map<Long, WorkOrderVo> WorkOrderMap = workOrderByProductionTask.stream().collect(Collectors.toMap(WorkOrderVo::getProductionTaskId, Function.identity()));
+        List<Long> workIds = workOrderByProductionTask.stream().map(WorkOrderVo::getId).collect(Collectors.toList());
+
+        //获取工序id列表
+        List<Long> productionProcessesIds = records.stream().map(ProductionTaskDetail::getProductionProcessesId).collect(Collectors.toList());
+        productionProcessesIds.addAll(records.stream().map(ProductionTaskDetail::getNextProductionProcessesId).collect(Collectors.toList()));
+        //获取基本工序map
+        Map<Long, String> stringMap = productionProcessesService.mapKV(ProductionProcesses::getId, ProductionProcesses::getName,
+                q -> q.in(ProductionProcesses::getId, productionProcessesIds));
+        //获取定制工序map
+        Map<Long, String> workOrderProductionPMap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId,
+                WorkOrderProductionProcesses::getName, q -> q.in(WorkOrderProductionProcesses::getWorkOrderId, workIds));
+
         for (ProductionTaskDetailVo record : records) {
-//            ProductionTask productionTask = productionTaskService.getById(record.getProductionTaskId());
-//            ProductionPlan productionPlan = productionPlanService.getById(productionTask.getId());
-//            WorkOrder workOrder = workOrderService.getById(productionPlan.getWorkOrderId());
-//            //如果是定制工单差定制工序
-//            if("1".equals(workOrder.getIsCustomized())){
-//                Map<Long, String> stringMap = workOrderProductionProcessesService.mapKV(WorkOrderProductionProcesses::getId, WorkOrderProductionProcesses::getName, q -> q
-//                        .eq(WorkOrderProductionProcesses::getWorkOrderId, workOrder.getId())
-//                        .orderByAsc(WorkOrderProductionProcesses::getSort));
-//
-//            }
+            WorkOrderVo workOrderVo = WorkOrderMap.get(record.getProductionTaskId());
+            if("1".equals(workOrderVo.getIsCustomized())){
+                //如果是定制
+                String name = workOrderProductionPMap.get(record.getProductionProcessesId());
+                String nextName = workOrderProductionPMap.get(record.getNextProductionProcessesId());
+                record.setProductionProcessesName(name);
+                record.setNextProductionProcessesName(nextName);
+            }else{
+                //不是定制
+                String name = stringMap.get(record.getProductionProcessesId());
+                String nextName = stringMap.get(record.getNextProductionProcessesId());
+                record.setProductionProcessesName(name);
+                record.setNextProductionProcessesName(nextName);
+            }
         }
         return page;
     }

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/service/production/impl/ProductionTaskServiceImpl.java

@@ -160,7 +160,7 @@ public class ProductionTaskServiceImpl extends ServiceImpl<ProductionTaskMapper,
             bomDetailList = BeanUtil.copyToList(workOrderBomList, BomDetail.class);
         } else {
             //查询BOM信息
-            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()));
+            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion,1));
             if (ObjectUtil.isEmpty(bomInfo)) {
                 throw new ServiceException("查询不到产品的BOM信息");
             }

+ 1 - 1
hx-mes/src/main/java/com/fjhx/mes/service/work/impl/WorkOrderBomServiceImpl.java

@@ -51,7 +51,7 @@ public class WorkOrderBomServiceImpl extends ServiceImpl<WorkOrderBomMapper, Wor
         List<WorkOrderBom> workOrderBomList = list(q -> q.eq(WorkOrderBom::getWorkOrderId, dto.getWorkOrderId()));
         if(ObjectUtil.isEmpty(workOrderBomList)){
             //如果不存在定制BOM就查询基本BOM信息
-            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()));
+            BomInfo bomInfo = bomInfoService.getOne(q -> q.eq(BomInfo::getProductId, workOrder.getProductId()).eq(BomInfo::getCurrentVersion,1));
             if(ObjectUtil.isEmpty(bomInfo)){
                 throw new ServiceException("查询不到产品基本BOM信息");
             }

+ 10 - 0
hx-mes/src/main/resources/mapper/production/ProductionTaskDetailMapper.xml

@@ -21,5 +21,15 @@
         from production_task_detail ptd
             ${ew.customSqlSegment}
     </select>
+    <select id="getWorkOrderByProductionTask" resultType="com.fjhx.mes.entity.work.vo.WorkOrderVo">
+        SELECT
+            wo.*,
+            pt.id productionTaskId
+        FROM
+            work_order wo
+                LEFT JOIN production_plan pp ON pp.work_order_id = wo.id
+                LEFT JOIN production_task pt ON pt.production_plan_id = pp.id
+            ${ew.customSqlSegment}
+    </select>
 
 </mapper>

+ 3 - 1
hx-purchase/src/main/java/com/fjhx/purchase/service/subscribe/impl/SubscribeDetailServiceImpl.java

@@ -80,7 +80,9 @@ public class SubscribeDetailServiceImpl extends ServiceImpl<SubscribeDetailMappe
         wrapper.eq("json_unquote(t2.victoriatourist_json -> '$.receiptWarehouseId')", dto.getReceiptWarehouseId());
         wrapper.eq("json_unquote(pi.victoriatourist_json -> '$.deptId')", dto.getDeptId());
         //待采购过滤掉指定状态 例如不要 99 作废
-        wrapper.notIn("t1", SubscribeDetail::getStatus, dto.getNeStatus().split(","));
+        if (ObjectUtil.isNotEmpty(dto.getNeStatus())) {
+            wrapper.notIn("t1", SubscribeDetail::getStatus, dto.getNeStatus().split(","));
+        }
 
 
         wrapper.orderByDesc("t1", SubscribeDetail::getCreateTime);

+ 32 - 2
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/purchase/impl/PurchaseBackServiceImpl.java

@@ -1,8 +1,10 @@
 package com.fjhx.victoriatourist.service.purchase.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.purchase.entity.sales.po.SalesReturnDetail;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackDto;
 import com.fjhx.victoriatourist.entity.purchase.dto.PurchaseBackSelectDto;
 import com.fjhx.victoriatourist.entity.purchase.po.PurchaseBack;
@@ -12,11 +14,17 @@ import com.fjhx.victoriatourist.entity.purchase.vo.PurchaseBackVo;
 import com.fjhx.victoriatourist.mapper.purchase.PurchaseBackMapper;
 import com.fjhx.victoriatourist.service.purchase.PurchaseBackDetailsService;
 import com.fjhx.victoriatourist.service.purchase.PurchaseBackService;
+import com.fjhx.wms.entity.stock.emums.StockWaitType;
+import com.fjhx.wms.entity.stock.po.StockWait;
+import com.fjhx.wms.entity.stock.po.StockWaitDetails;
+import com.fjhx.wms.service.stock.StockWaitDetailsService;
+import com.fjhx.wms.service.stock.StockWaitService;
 import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 
@@ -31,7 +39,11 @@ import java.util.List;
 @Service
 public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, PurchaseBack> implements PurchaseBackService {
     @Autowired
-    PurchaseBackDetailsService purchaseBackDetailsService;
+    private PurchaseBackDetailsService purchaseBackDetailsService;
+    @Autowired
+    private StockWaitService stockWaitService;
+    @Autowired
+    private StockWaitDetailsService stockWaitDetailsService;
 
     @Override
     public Page<PurchaseBackVo> getPage(PurchaseBackSelectDto dto) {
@@ -51,13 +63,31 @@ public class PurchaseBackServiceImpl extends ServiceImpl<PurchaseBackMapper, Pur
         return result;
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void add(PurchaseBackDto purchaseBackDto) {
         this.save(purchaseBackDto);
         List<PurchaseBackDetails> purchaseBackDetailsList = purchaseBackDto.getPurchaseBackDetailsList();
         purchaseBackDetailsList.forEach(purchaseBackDetails -> purchaseBackDetails.setPurchaseBackId(purchaseBackDto.getId()));
         purchaseBackDetailsService.saveBatch(purchaseBackDetailsList);
+
+        //创建待出库记录
+        StockWait stockWait = new StockWait();
+        stockWait.setBusinessId(purchaseBackDto.getId());
+        stockWait.setType(2);//出库
+        stockWait.setStatus(0);//待出库
+        stockWait.setBusinessType(StockWaitType.WDLY_PURCHASE_BACK_OUT.getDetailType());//已采购退货出库
+        stockWaitService.save(stockWait);
+        List<StockWaitDetails> stockWaitDetailsList = new ArrayList<>();
+        for (PurchaseBackDetails purchaseBackDetails : purchaseBackDetailsList) {
+            StockWaitDetails stockWaitDetails = new StockWaitDetails();
+            stockWaitDetails.setStockWaitId(stockWait.getId());
+            stockWaitDetails.setProductId(purchaseBackDetails.getProductId());
+            stockWaitDetails.setBusinessDetailsId(purchaseBackDetails.getId());//采购退货明细id
+            stockWaitDetails.setQuantity(purchaseBackDetails.getQuantity());
+            stockWaitDetailsList.add(stockWaitDetails);
+        }
+        stockWaitDetailsService.saveBatch(stockWaitDetailsList);
     }
 
 }

+ 3 - 2
hx-wms/src/main/java/com/fjhx/wms/controller/stock/StockWaitController.java

@@ -2,6 +2,7 @@ package com.fjhx.wms.controller.stock;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.wms.entity.stock.vo.StockWaitVo;
@@ -64,8 +65,8 @@ public class StockWaitController {
      * 待出入库新增
      */
     @PostMapping("/add")
-    public void add(@RequestBody StockWaitDto stockWaitDto) {
-        stockWaitService.add(stockWaitDto);
+    public void add(@RequestBody StockWaitDetailsDto stockWaitDetailsDto) {
+        stockWaitService.add(stockWaitDetailsDto);
     }
 
     /**

+ 0 - 4
hx-wms/src/main/java/com/fjhx/wms/entity/stock/dto/StockWaitDto.java

@@ -5,7 +5,6 @@ import com.fjhx.wms.entity.stock.po.StockWaitDetails;
 import lombok.Getter;
 import lombok.Setter;
 
-import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -28,7 +27,4 @@ public class StockWaitDto extends StockWait {
      */
     private List<StockWaitDetails> stockWaitDetailsList;
 
-    /**待入库数量*/
-    private BigDecimal quantity;
-
 }

+ 2 - 1
hx-wms/src/main/java/com/fjhx/wms/entity/stock/emums/StockWaitType.java

@@ -13,7 +13,8 @@ public enum StockWaitType {
     BACK_OUT(InOutType.OUT, 4, "退货出库", ""),
     JD_ORDER_OUT(InOutType.OUT, 5, "京东订单出库", "jd_order"),
     SALE_ORDER_OUT(InOutType.OUT, 6, "销售订单出库", "order_info"),
-    PRODUCTION_TASK_OUT(InOutType.OUT, 7, "生产任务待出库", "production_task");
+    PRODUCTION_TASK_OUT(InOutType.OUT, 7, "生产任务待出库", "production_task"),
+    WDLY_PURCHASE_BACK_OUT(InOutType.OUT, 8, "维多利亚采购退货出库", "purchase_back");
 
 
     /**

+ 10 - 7
hx-wms/src/main/java/com/fjhx/wms/entity/stock/po/StockWaitDetails.java

@@ -1,18 +1,18 @@
 package com.fjhx.wms.entity.stock.po;
 
-import com.ruoyi.common.core.domain.BasePo;
 import com.baomidou.mybatisplus.annotation.TableName;
-import java.math.BigDecimal;
-import java.util.Date;
+import com.ruoyi.common.core.domain.BasePo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.math.BigDecimal;
+
 /**
  * <p>
  * 待出入库明细
  * </p>
  *
- * @author 
+ * @author
  * @since 2023-04-13
  */
 @Getter
@@ -45,11 +45,14 @@ public class StockWaitDetails extends BasePo {
      */
     private String victoriatouristJson;
 
-    /**业务明细id*/
-
+    /**
+     * 业务明细id
+     */
     private Long businessDetailsId;
 
-    /**采购数量*/
+    /**
+     * 采购数量
+     */
     private BigDecimal purchaseQuantity;
 
 }

+ 2 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/StockWaitService.java

@@ -1,6 +1,7 @@
 package com.fjhx.wms.service.stock;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
 import com.fjhx.wms.entity.stock.po.StockWait;
@@ -41,7 +42,7 @@ public interface StockWaitService extends BaseService<StockWait> {
     /**
      * 待出入库新增
      */
-    void add(StockWaitDto stockWaitDto);
+    void add(StockWaitDetailsDto stockWaitDetailsDto);
 
     /**
      * 待出入库新增 维多利亚

+ 1 - 1
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

@@ -339,7 +339,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
      * 操作库存通用方法
      *
      * @param stockJournalId 出入库记录id
-     * @param type           1入库 2出库
+     * @param type           1入库 2出库 3维多利亚冻结库存入库
      */
     @Override
     public List<StockJournalDetails> ModifyInventory(Long stockJournalId, int type, List<Stock> list, Long warehouseId) {

+ 15 - 14
hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockWaitServiceImpl.java

@@ -15,7 +15,6 @@ import com.fjhx.wms.entity.arrival.po.ArrivalStockRecordsDetails;
 import com.fjhx.wms.entity.stock.dto.StockWaitDetailsDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitDto;
 import com.fjhx.wms.entity.stock.dto.StockWaitSelectDto;
-import com.fjhx.wms.entity.stock.emums.JournalType;
 import com.fjhx.wms.entity.stock.emums.StockWaitType;
 import com.fjhx.wms.entity.stock.po.*;
 import com.fjhx.wms.entity.stock.vo.StockWaitDetailsVo;
@@ -32,11 +31,9 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
@@ -141,11 +138,22 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
     public StockWaitVo detail(Long id) {
         StockWait stockWait = this.getById(id);
         StockWaitVo result = BeanUtil.toBean(stockWait, StockWaitVo.class);
+
         StockWaitDetails stockWaitDetails = stockWaitDetailsService.getOne(q -> q.eq(StockWaitDetails::getStockWaitId, id));
         ProductInfo byId = productInfoService.getById(stockWaitDetails.getProductId());
         result.setProductName(byId.getName());
         result.setQuantity(stockWaitDetails.getQuantity());
         result.setStockWaitDetailsId(stockWaitDetails.getId());
+
+        //获取明细列表
+        List<StockWaitDetails> stockWaitDetailsList = stockWaitDetailsService.list(q -> q.eq(StockWaitDetails::getStockWaitId, id));
+        List<StockWaitDetailsVo> stockWaitDetailsVos = BeanUtil.copyToList(stockWaitDetailsList, StockWaitDetailsVo.class);
+        //赋值产品信息
+        productInfoService.attributeAssign(stockWaitDetailsVos, StockWaitDetailsVo::getProductId, (item, productInfo) -> {
+            item.setProductName(productInfo.getName());
+        });
+        result.setStockWaitDetailsList(stockWaitDetailsVos);
+
         return result;
     }
 
@@ -178,8 +186,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
 
     @DSTransactional
     @Override
-    public void add(StockWaitDto stockWaitDto) {
-        StockWaitDetailsDto stockWaitDetailsDto = BeanUtil.copyProperties(stockWaitDto, StockWaitDetailsDto.class);
+    public void add(StockWaitDetailsDto stockWaitDetailsDto) {
         stockWaitDetailsService.add(stockWaitDetailsDto);
     }
 
@@ -208,12 +215,6 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             if (stockWaitDetail.getReceiptQuantity().compareTo(stockWaitDetail.getQuantity()) == 0) {
                 statusFlag++;
             }
-
-            //操作库存
-//            Stock stock = new Stock();
-//            stock.setQuantity(stockWaitDto.getQuantity());
-//            stock.setProductId(stockWaitDetail.getProductId());
-//            stockList.add(stock);
         }
 
         //操作库存
@@ -233,8 +234,8 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
             stockWait.setStatus(1);//部分入库
         }
         String victoriatouristJson = stockWait.getVictoriatouristJson();
-        JSONObject json = ObjectUtil.isNotEmpty(victoriatouristJson)?JSONObject.parseObject(victoriatouristJson):new JSONObject();
-        json.put("receiptWarehouseId",stockWaitDto.getWarehouseId());
+        JSONObject json = ObjectUtil.isNotEmpty(victoriatouristJson) ? JSONObject.parseObject(victoriatouristJson) : new JSONObject();
+        json.put("receiptWarehouseId", stockWaitDto.getWarehouseId());
         stockWait.setVictoriatouristJson(json.toJSONString());
         updateById(stockWait);
 
@@ -253,7 +254,7 @@ public class StockWaitServiceImpl extends ServiceImpl<StockWaitMapper, StockWait
         stockJournalDetailsService.saveBatch(stockJournalDetailsList);
 
         //如果是采购到货 创建待质检记录
-        if(stockWait.getBusinessType() == StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType()){
+        if (stockWait.getBusinessType() == StockWaitType.PURCHASE_ARRIVAL_IN.getDetailType()) {
             //创建采购到货入库记录
             ArrivalStockRecords arrivalStockRecords = new ArrivalStockRecords();
             arrivalStockRecords.setStockWaitId(stockWait.getId());