Эх сурвалжийг харах

Merge remote-tracking branch 'origin/master'

24282 2 жил өмнө
parent
commit
b99bb1c235
87 өөрчлөгдсөн 2444 нэмэгдсэн , 142 устгасан
  1. 10 0
      hx-account/src/main/java/com/fjhx/account/entity/account/dto/AccountRunningWaterSelectDto.java
  2. 4 0
      hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRunningWater.java
  3. 8 4
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountManagementServiceImpl.java
  4. 5 0
      hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java
  5. 1 16
      hx-account/src/main/resources/mapper/account/AccountRunningWaterMapper.xml
  6. 4 2
      hx-oa/src/main/java/com/fjhx/oa/service/schedule/impl/ScheduleInfoServiceImpl.java
  7. 6 0
      hx-sale/pom.xml
  8. 0 0
      hx-sale/src/main/java/com/fjhx/sale/a-json/QuotationPayApi.json
  9. 0 0
      hx-sale/src/main/java/com/fjhx/sale/a-json/QuotationProductApi.json
  10. 0 0
      hx-sale/src/main/java/com/fjhx/sale/a-json/SaleQuotationApi.json
  11. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimContractController.java
  12. 69 0
      hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimController.java
  13. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackController.java
  14. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailController.java
  15. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailGoodsController.java
  16. 68 0
      hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailProductController.java
  17. 0 32
      hx-sale/src/main/java/com/fjhx/sale/controller/quotation/QuotationPayController.java
  18. 0 39
      hx-sale/src/main/java/com/fjhx/sale/controller/quotation/QuotationProductController.java
  19. 4 20
      hx-sale/src/main/java/com/fjhx/sale/controller/sale/SaleQuotationController.java
  20. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimContractDto.java
  21. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimContractSelectDto.java
  22. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimDto.java
  23. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimSelectDto.java
  24. 79 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/Claim.java
  25. 42 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/ClaimContract.java
  26. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimContractVo.java
  27. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimVo.java
  28. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailDto.java
  29. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailGoodsDto.java
  30. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailGoodsSelectDto.java
  31. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailProductDto.java
  32. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailProductSelectDto.java
  33. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailSelectDto.java
  34. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDto.java
  35. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackSelectDto.java
  36. 56 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/Pack.java
  37. 118 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetail.java
  38. 43 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetailGoods.java
  39. 68 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetailProduct.java
  40. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailGoodsVo.java
  41. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailProductVo.java
  42. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailVo.java
  43. 17 0
      hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackVo.java
  44. 5 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quotation/dto/QuotationPaySelectDto.java
  45. 5 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quotation/po/QuotationPay.java
  46. 5 0
      hx-sale/src/main/java/com/fjhx/sale/entity/quotation/po/QuotationProduct.java
  47. 9 0
      hx-sale/src/main/java/com/fjhx/sale/entity/sale/dto/SaleQuotationSelectDto.java
  48. 13 0
      hx-sale/src/main/java/com/fjhx/sale/entity/sale/po/SaleQuotation.java
  49. 18 0
      hx-sale/src/main/java/com/fjhx/sale/entity/sale/vo/SaleQuotationVo.java
  50. 46 0
      hx-sale/src/main/java/com/fjhx/sale/enums/SaleQuotationEnum.java
  51. 2 0
      hx-sale/src/main/java/com/fjhx/sale/flow/ContractFlow.java
  52. 95 0
      hx-sale/src/main/java/com/fjhx/sale/flow/SaleQuotationFlow.java
  53. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/claim/ClaimContractMapper.java
  54. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/claim/ClaimMapper.java
  55. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailGoodsMapper.java
  56. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailMapper.java
  57. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailProductMapper.java
  58. 26 0
      hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackMapper.java
  59. 2 1
      hx-sale/src/main/java/com/fjhx/sale/mapper/quotation/QuotationPayMapper.java
  60. 2 1
      hx-sale/src/main/java/com/fjhx/sale/mapper/sale/SaleQuotationMapper.java
  61. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimContractService.java
  62. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimService.java
  63. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimContractServiceImpl.java
  64. 114 0
      hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimServiceImpl.java
  65. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailGoodsService.java
  66. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailProductService.java
  67. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailService.java
  68. 46 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/PackService.java
  69. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailGoodsServiceImpl.java
  70. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailProductServiceImpl.java
  71. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailServiceImpl.java
  72. 57 0
      hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackServiceImpl.java
  73. 6 2
      hx-sale/src/main/java/com/fjhx/sale/service/quotation/impl/QuotationPayServiceImpl.java
  74. 4 0
      hx-sale/src/main/java/com/fjhx/sale/service/sale/SaleQuotationService.java
  75. 85 2
      hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java
  76. 1 0
      hx-sale/src/main/java/com/fjhx/sale/util/code/CodeEnum.java
  77. 18 0
      hx-sale/src/main/resources/claim/ClaimContractMapper.xml
  78. 22 0
      hx-sale/src/main/resources/claim/ClaimMapper.xml
  79. 19 0
      hx-sale/src/main/resources/mapper/pack/PackDetailGoodsMapper.xml
  80. 31 0
      hx-sale/src/main/resources/mapper/pack/PackDetailMapper.xml
  81. 20 0
      hx-sale/src/main/resources/mapper/pack/PackMapper.xml
  82. 1 0
      hx-sale/src/main/resources/mapper/quotation/QuotationPayMapper.xml
  83. 1 0
      hx-sale/src/main/resources/mapper/quotation/QuotationProductMapper.xml
  84. 2 0
      hx-sale/src/main/resources/mapper/sale/SaleQuotationMapper.xml
  85. 1 1
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/stock/StockTransferController.java
  86. 36 21
      hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/stock/impl/StockTransferServiceImpl.java
  87. 1 1
      hx-wms/src/main/java/com/fjhx/wms/service/stock/impl/StockServiceImpl.java

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

@@ -32,4 +32,14 @@ public class AccountRunningWaterSelectDto extends BaseSelectDto {
      * 模糊查询时使用
      */
     private String keyword;
+
+    /**
+     * 数据类型 1:到账认领
+     */
+    private Integer dataType;
+
+    /**
+     * 是否认领
+     */
+    private String isClaim;
 }

+ 4 - 0
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountRunningWater.java

@@ -75,4 +75,8 @@ public class AccountRunningWater extends BasePo {
      */
     private String remarks;
 
+    /**
+     * 是否认领
+     */
+    private Integer isClaim;
 }

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

@@ -26,6 +26,7 @@ import cn.hutool.core.bean.BeanUtil;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -102,17 +103,20 @@ public class AccountManagementServiceImpl extends ServiceImpl<AccountManagementM
     @Override
     @Transactional(rollbackFor = {Exception.class})
     public void edit(AccountManagementDto accountManagementDto) {
+        this.updateById(accountManagementDto);
         //判断账户的别名是否已存在
         List<AccountManagement> accountManagements = this.list(Wrappers.<AccountManagement>lambdaQuery()
                 .eq(AccountManagement::getAlias, accountManagementDto.getAlias()));
-        if (accountManagements.size()>0){
+        if (accountManagements.size()>1){
             throw new ServiceException("数据错误:账户别名已存在请重新创建");
         }
-
-        this.updateById(accountManagementDto);
         //删除账户-余额表的信息
+        List<AccountRemainder> accountRemainderList = accountManagementDto.getAccountRemainderList();
+        List<Long> ids = accountRemainderList.stream().map(accountRemainder -> accountRemainder.getId()).collect(Collectors.toList());
         accountRemainderService.remove(Wrappers.<AccountRemainder>lambdaQuery()
-                .eq(AccountRemainder::getAccountManagementId,accountManagementDto.getId()));
+                .eq(AccountRemainder::getAccountManagementId,accountManagementDto.getId())
+                .notIn(AccountRemainder::getId,ids)
+        );
         //添加账户余额表的信息
         saveAccountRemainder(accountManagementDto);
     }

+ 5 - 0
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -34,9 +34,14 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
         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.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()));
         }
+        if(ObjectUtil.isNotEmpty(dto.getDataType())&&dto.getDataType()==1){//到账认领数据
+            wrapper.eq("arw.received",10);
+            wrapper.orderByDesc("arw.is_claim","arw.create_time");
+        }
         Page<AccountRunningWaterVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }

+ 1 - 16
hx-account/src/main/resources/mapper/account/AccountRunningWaterMapper.xml

@@ -3,22 +3,7 @@
 <mapper namespace="com.fjhx.account.mapper.account.AccountRunningWaterMapper">
     <select id="getPage" resultType="com.fjhx.account.entity.account.vo.AccountRunningWaterVo">
         select
-            arw.id,
-            arw.account_management_id,
-            arw.status,
-            arw.business_id,
-            arw.amount,
-            arw.currency,
-            arw.name,
-            arw.received,
-            arw.opening_bank,
-            arw.account_opening,
-            arw.transaction_time,
-            arw.remarks,
-            arw.create_user,
-            arw.create_time,
-            arw.update_user,
-            arw.update_time,
+            arw.*,
             am.alias accountManagementName
         from account_running_water arw
                  left join  account_management am on arw.account_management_id = am.id

+ 4 - 2
hx-oa/src/main/java/com/fjhx/oa/service/schedule/impl/ScheduleInfoServiceImpl.java

@@ -47,14 +47,16 @@ public class ScheduleInfoServiceImpl extends ServiceImpl<ScheduleInfoMapper, Sch
     @Override
     public Page<ScheduleInfoVo> getPage(ScheduleInfoSelectDto dto) {
         IWrapper<ScheduleInfo> wrapper = getWrapper();
-        wrapper.orderByDesc("si", ScheduleInfo::getCreateTime);
+        wrapper.orderByAsc("si", ScheduleInfo::getCreateTime);
         if (ObjectUtil.isNotEmpty(dto.getDate())) {
             wrapper.apply("date_format(si.start_date,'%Y-%m') = date_format('" + sdf.format(dto.getDate()) + "','%Y-%m')");
         }
         wrapper.eq("si", ScheduleInfoVo::getCreateUser, dto.getCreateUser());
         wrapper.eq("sd", ScheduleInfoVo::getParticipantId, dto.getParticipantId());
         if (ObjectUtil.isNotEmpty(dto.getStartDate())) {
-            wrapper.apply("date_format(si.start_date,'%Y-%m-%d') BETWEEN date_format('" + sdf.format(dto.getStartDate()) + "','%Y-%m-%d') AND date_format('" + sdf.format(dto.getEndDate()) + "','%Y-%m-%d')");
+//            wrapper.apply("date_format(si.start_date,'%Y-%m-%d') BETWEEN date_format('" + sdf.format(dto.getStartDate()) + "','%Y-%m-%d') AND date_format('" + sdf.format(dto.getEndDate()) + "','%Y-%m-%d')");
+            wrapper.and(q -> q.apply("date_format( '" + sdf.format(dto.getStartDate()) + "', '%y-%m-%d' ) BETWEEN date_format( si.start_date, '%y-%m-%d' ) AND date_format( si.end_date, '%y-%m-%d' )").or()
+                    .apply("date_format( '" + sdf.format(dto.getStartDate()) + "', '%y-%m-%d' ) BETWEEN date_format( si.start_date, '%y-%m-%d' ) AND date_format( si.end_date, '%y-%m-%d' )"));
         }
         wrapper.groupBy("si.id");
         Page<ScheduleInfoVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);

+ 6 - 0
hx-sale/pom.xml

@@ -27,6 +27,12 @@
             <groupId>com.fjhx</groupId>
             <artifactId>hx-customer</artifactId>
         </dependency>
+
+
+        <dependency>
+            <groupId>com.fjhx</groupId>
+            <artifactId>hx-account</artifactId>
+        </dependency>
     </dependencies>
 
 </project>

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
hx-sale/src/main/java/com/fjhx/sale/a-json/QuotationPayApi.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
hx-sale/src/main/java/com/fjhx/sale/a-json/QuotationProductApi.json


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
hx-sale/src/main/java/com/fjhx/sale/a-json/SaleQuotationApi.json


+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimContractController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.claim;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimContractVo;
+import com.fjhx.sale.entity.claim.dto.ClaimContractSelectDto;
+import com.fjhx.sale.entity.claim.dto.ClaimContractDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.claim.ClaimContractService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 到账认领-合同关联表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/claimContract")
+public class ClaimContractController {
+
+    @Autowired
+    private ClaimContractService claimContractService;
+
+    /**
+     * 到账认领-合同关联表分页
+     */
+    @PostMapping("/page")
+    public Page<ClaimContractVo> page(@RequestBody ClaimContractSelectDto dto) {
+        return claimContractService.getPage(dto);
+    }
+
+    /**
+     * 到账认领-合同关联表明细
+     */
+    @PostMapping("/detail")
+    public ClaimContractVo detail(@RequestBody BaseSelectDto dto) {
+        return claimContractService.detail(dto.getId());
+    }
+
+    /**
+     * 到账认领-合同关联表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody ClaimContractDto claimContractDto) {
+        claimContractService.add(claimContractDto);
+    }
+
+    /**
+     * 到账认领-合同关联表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ClaimContractDto claimContractDto) {
+        claimContractService.edit(claimContractDto);
+    }
+
+    /**
+     * 到账认领-合同关联表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        claimContractService.delete(dto.getId());
+    }
+
+}

+ 69 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/claim/ClaimController.java

@@ -0,0 +1,69 @@
+package com.fjhx.sale.controller.claim;
+
+import com.fjhx.sale.entity.claim.po.Claim;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimVo;
+import com.fjhx.sale.entity.claim.dto.ClaimSelectDto;
+import com.fjhx.sale.entity.claim.dto.ClaimDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.claim.ClaimService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 到账认领 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/claim")
+public class ClaimController {
+
+    @Autowired
+    private ClaimService claimService;
+
+    /**
+     * 到账认领分页
+     */
+    @PostMapping("/page")
+    public Page<ClaimVo> page(@RequestBody ClaimSelectDto dto) {
+        return claimService.getPage(dto);
+    }
+
+    /**
+     * 到账认领明细
+     */
+    @PostMapping("/detail")
+    public ClaimVo detail(@RequestBody BaseSelectDto dto) {
+        return claimService.detail(dto.getId());
+    }
+
+    /**
+     * 到账认领新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody Claim claim) {
+        claimService.add(claim);
+    }
+
+    /**
+     * 到账认领编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody ClaimDto claimDto) {
+        claimService.edit(claimDto);
+    }
+
+    /**
+     * 到账认领删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        claimService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.pack;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackVo;
+import com.fjhx.sale.entity.pack.dto.PackSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.pack.PackService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 装箱出货表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/pack")
+public class PackController {
+
+    @Autowired
+    private PackService packService;
+
+    /**
+     * 装箱出货表分页
+     */
+    @PostMapping("/page")
+    public Page<PackVo> page(@RequestBody PackSelectDto dto) {
+        return packService.getPage(dto);
+    }
+
+    /**
+     * 装箱出货表明细
+     */
+    @PostMapping("/detail")
+    public PackVo detail(@RequestBody BaseSelectDto dto) {
+        return packService.detail(dto.getId());
+    }
+
+    /**
+     * 装箱出货表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PackDto packDto) {
+        packService.add(packDto);
+    }
+
+    /**
+     * 装箱出货表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PackDto packDto) {
+        packService.edit(packDto);
+    }
+
+    /**
+     * 装箱出货表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        packService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.pack;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.pack.PackDetailService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 装箱出货明细表	 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/packDetail")
+public class PackDetailController {
+
+    @Autowired
+    private PackDetailService packDetailService;
+
+    /**
+     * 装箱出货明细表	分页
+     */
+    @PostMapping("/page")
+    public Page<PackDetailVo> page(@RequestBody PackDetailSelectDto dto) {
+        return packDetailService.getPage(dto);
+    }
+
+    /**
+     * 装箱出货明细表	明细
+     */
+    @PostMapping("/detail")
+    public PackDetailVo detail(@RequestBody BaseSelectDto dto) {
+        return packDetailService.detail(dto.getId());
+    }
+
+    /**
+     * 装箱出货明细表	新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PackDetailDto packDetailDto) {
+        packDetailService.add(packDetailDto);
+    }
+
+    /**
+     * 装箱出货明细表	编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PackDetailDto packDetailDto) {
+        packDetailService.edit(packDetailDto);
+    }
+
+    /**
+     * 装箱出货明细表	删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        packDetailService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailGoodsController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.pack;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailGoodsVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.pack.PackDetailGoodsService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 自定义装箱货物表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/packDetailGoods")
+public class PackDetailGoodsController {
+
+    @Autowired
+    private PackDetailGoodsService packDetailGoodsService;
+
+    /**
+     * 自定义装箱货物表分页
+     */
+    @PostMapping("/page")
+    public Page<PackDetailGoodsVo> page(@RequestBody PackDetailGoodsSelectDto dto) {
+        return packDetailGoodsService.getPage(dto);
+    }
+
+    /**
+     * 自定义装箱货物表明细
+     */
+    @PostMapping("/detail")
+    public PackDetailGoodsVo detail(@RequestBody BaseSelectDto dto) {
+        return packDetailGoodsService.detail(dto.getId());
+    }
+
+    /**
+     * 自定义装箱货物表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PackDetailGoodsDto packDetailGoodsDto) {
+        packDetailGoodsService.add(packDetailGoodsDto);
+    }
+
+    /**
+     * 自定义装箱货物表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PackDetailGoodsDto packDetailGoodsDto) {
+        packDetailGoodsService.edit(packDetailGoodsDto);
+    }
+
+    /**
+     * 自定义装箱货物表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        packDetailGoodsService.delete(dto.getId());
+    }
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/pack/PackDetailProductController.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.controller.pack;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.sale.service.pack.PackDetailProductService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 装箱出货产品明细表 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@RestController
+@RequestMapping("/packDetailProduct")
+public class PackDetailProductController {
+
+    @Autowired
+    private PackDetailProductService packDetailProductService;
+
+    /**
+     * 装箱出货产品明细表分页
+     */
+    @PostMapping("/page")
+    public Page<PackDetailProductVo> page(@RequestBody PackDetailProductSelectDto dto) {
+        return packDetailProductService.getPage(dto);
+    }
+
+    /**
+     * 装箱出货产品明细表明细
+     */
+    @PostMapping("/detail")
+    public PackDetailProductVo detail(@RequestBody BaseSelectDto dto) {
+        return packDetailProductService.detail(dto.getId());
+    }
+
+    /**
+     * 装箱出货产品明细表新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody PackDetailProductDto packDetailProductDto) {
+        packDetailProductService.add(packDetailProductDto);
+    }
+
+    /**
+     * 装箱出货产品明细表编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody PackDetailProductDto packDetailProductDto) {
+        packDetailProductService.edit(packDetailProductDto);
+    }
+
+    /**
+     * 装箱出货产品明细表删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        packDetailProductService.delete(dto.getId());
+    }
+
+}

+ 0 - 32
hx-sale/src/main/java/com/fjhx/sale/controller/quotation/QuotationPayController.java

@@ -33,36 +33,4 @@ public class QuotationPayController {
         return quotationPayService.getPage(dto);
     }
 
-    /**
-     * 报价 -收费项目表明细
-     */
-    @PostMapping("/detail")
-    public QuotationPayVo detail(@RequestBody BaseSelectDto dto) {
-        return quotationPayService.detail(dto.getId());
-    }
-
-    /**
-     * 报价 -收费项目表新增
-     */
-    @PostMapping("/add")
-    public void add(@RequestBody QuotationPayDto quotationPayDto) {
-        quotationPayService.add(quotationPayDto);
-    }
-
-    /**
-     * 报价 -收费项目表编辑
-     */
-    @PostMapping("/edit")
-    public void edit(@RequestBody QuotationPayDto quotationPayDto) {
-        quotationPayService.edit(quotationPayDto);
-    }
-
-    /**
-     * 报价 -收费项目表删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        quotationPayService.delete(dto.getId());
-    }
-
 }

+ 0 - 39
hx-sale/src/main/java/com/fjhx/sale/controller/quotation/QuotationProductController.java

@@ -25,44 +25,5 @@ public class QuotationProductController {
     @Autowired
     private QuotationProductService quotationProductService;
 
-    /**
-     * 商品-报价单关联表分页
-     */
-    @PostMapping("/page")
-    public Page<QuotationProductVo> page(@RequestBody QuotationProductSelectDto dto) {
-        return quotationProductService.getPage(dto);
-    }
-
-    /**
-     * 商品-报价单关联表明细
-     */
-    @PostMapping("/detail")
-    public QuotationProductVo detail(@RequestBody BaseSelectDto dto) {
-        return quotationProductService.detail(dto.getId());
-    }
-
-    /**
-     * 商品-报价单关联表新增
-     */
-    @PostMapping("/add")
-    public void add(@RequestBody QuotationProductDto quotationProductDto) {
-        quotationProductService.add(quotationProductDto);
-    }
-
-    /**
-     * 商品-报价单关联表编辑
-     */
-    @PostMapping("/edit")
-    public void edit(@RequestBody QuotationProductDto quotationProductDto) {
-        quotationProductService.edit(quotationProductDto);
-    }
-
-    /**
-     * 商品-报价单关联表删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        quotationProductService.delete(dto.getId());
-    }
 
 }

+ 4 - 20
hx-sale/src/main/java/com/fjhx/sale/controller/sale/SaleQuotationController.java

@@ -42,27 +42,11 @@ public class SaleQuotationController {
     }
 
     /**
-     * 报价表新增
+     * 报价单的复制功能
      */
-    @PostMapping("/add")
-    public void add(@RequestBody SaleQuotationDto saleQuotationDto) {
-        saleQuotationService.add(saleQuotationDto);
-    }
-
-    /**
-     * 报价表编辑
-     */
-    @PostMapping("/edit")
-    public void edit(@RequestBody SaleQuotationDto saleQuotationDto) {
-        saleQuotationService.edit(saleQuotationDto);
-    }
-
-    /**
-     * 报价表删除
-     */
-    @PostMapping("/delete")
-    public void delete(@RequestBody BaseSelectDto dto) {
-        saleQuotationService.delete(dto.getId());
+    @PostMapping("/copy")
+    public void copy(SaleQuotationDto saleQuotationDto){
+        saleQuotationService.copy(saleQuotationDto);
     }
 
 }

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimContractDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.dto;
+
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领-合同关联表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimContractDto extends ClaimContract {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimContractSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领-合同关联表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimContractSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.dto;
+
+import com.fjhx.sale.entity.claim.po.Claim;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimDto extends Claim {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/dto/ClaimSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimSelectDto extends BaseSelectDto {
+
+}

+ 79 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/Claim.java

@@ -0,0 +1,79 @@
+package com.fjhx.sale.entity.claim.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fjhx.file.entity.FileInfo;
+import com.fjhx.file.entity.ObsFile;
+import com.ruoyi.common.core.domain.BasePo;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 到账认领
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("claim")
+public class Claim extends BasePo {
+
+    /**
+     * 金额
+     */
+    private BigDecimal amount;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 账户ID
+     */
+    private Long accountManagementId;
+
+    /**
+     * 币种(字典account_currency)
+     */
+    private String currency;
+
+    /**
+     * 业务ID
+     */
+    private Long businessId;
+
+    /**
+     * 认领人ID
+     */
+    private Long claimUserId;
+
+    /**
+     * 认领人名称
+     */
+    private String claimUserName;
+
+    /**
+     * 认领时间
+     */
+    private Date claimTime;
+
+    /**
+     * 到账认领合同列表
+     */
+    @TableField(exist = false)
+    private List<ClaimContract> claimContractList;
+
+    /**
+     * 附件列表
+     */
+    @TableField(exist = false)
+    private List<ObsFile> fileList;
+}

+ 42 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/po/ClaimContract.java

@@ -0,0 +1,42 @@
+package com.fjhx.sale.entity.claim.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 到账认领-合同关联表
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("claim_contract")
+public class ClaimContract extends BasePo {
+
+    /**
+     * 合同ID
+     */
+    private Long contractId;
+
+    /**
+     * 到账认领ID
+     */
+    private Long claimId;
+    /**
+     * 关联金额
+     */
+    private BigDecimal money;
+
+    /**
+     * 合同编码
+     */
+    private String contractCode;
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimContractVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.vo;
+
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领-合同关联表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimContractVo extends ClaimContract {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/claim/vo/ClaimVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.claim.vo;
+
+import com.fjhx.sale.entity.claim.po.Claim;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 到账认领列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class ClaimVo extends Claim {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货明细表	新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailDto extends PackDetail {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailGoodsDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 自定义装箱货物表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailGoodsDto extends PackDetailGoods {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailGoodsSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 自定义装箱货物表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailGoodsSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailProductDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货产品明细表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailProductDto extends PackDetailProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailProductSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货产品明细表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailProductSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDetailSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货明细表	列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailSelectDto extends BaseSelectDto {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.fjhx.sale.entity.pack.po.Pack;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货表新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDto extends Pack {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/dto/PackSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货表列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackSelectDto extends BaseSelectDto {
+
+}

+ 56 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/Pack.java

@@ -0,0 +1,56 @@
+package com.fjhx.sale.entity.pack.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ruoyi.common.core.domain.BasePo;
+
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 装箱出货表
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("mapper/pack")
+public class Pack extends BasePo {
+
+    /**
+     * 装箱单号
+     */
+    private String code;
+
+    /**
+     * 客户ID
+     */
+    private Long customerId;
+
+    /**
+     * 合同ID
+     */
+    private Long contractIds;
+
+    /**
+     * 合同编码
+     */
+    private String contractCode;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 装箱明细列表
+     */
+    @TableField(exist = false)
+    private List<PackDetail> packDetailList;
+
+}

+ 118 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetail.java

@@ -0,0 +1,118 @@
+package com.fjhx.sale.entity.pack.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 装箱出货明细表	
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("pack_detail")
+public class PackDetail extends BasePo {
+
+    /**
+     * 装箱单ID
+     */
+    private Long packId;
+
+    /**
+     * 客户ID
+     */
+    private Long customerId;
+
+    /**
+     * 合同ID
+     */
+    private Long contractId;
+
+    /**
+     * 合同编码
+     */
+    private String contractCode;
+
+    /**
+     * 箱数
+     */
+    private BigDecimal packQuantity;
+
+    /**
+     * 净重 KG
+     */
+    private BigDecimal netWeight;
+
+    /**
+     * 毛重 KG
+     */
+    private BigDecimal roughWeight;
+
+    /**
+     * 长 cm
+     */
+    private BigDecimal boxLong;
+
+    /**
+     * 宽 cm
+     */
+    private BigDecimal boxWide;
+
+    /**
+     * 高 cm
+     */
+    private BigDecimal boxHigh;
+
+    /**
+     * 体积
+     */
+    private BigDecimal bomVolume;
+
+    /**
+     * 出货时间
+     */
+    private Date shipmentTime;
+
+    /**
+     * 出货状态 0未出货 1出货
+     */
+    private Integer shipmentStatus;
+
+    /**
+     * 运单号
+     */
+    private String waybillCode;
+
+    /**
+     * 快递ID
+     */
+    private Long expressId;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 装箱明细自定义货物列表
+     */
+    @TableField(exist = false)
+    private List<PackDetailGoods> packDetailGoodsList;
+
+    /**
+     * 装箱明细合同产品列表
+     */
+    @TableField(exist = false)
+    private List<PackDetailProduct> packDetailProductList;
+
+}

+ 43 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetailGoods.java

@@ -0,0 +1,43 @@
+package com.fjhx.sale.entity.pack.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 自定义装箱货物表
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("pack_detail_goods")
+public class PackDetailGoods extends BasePo {
+
+    /**
+     * 装箱单ID
+     */
+    private Long packDetailId;
+
+    /**
+     * 装箱数量
+     */
+    private BigDecimal quantity;
+
+    /**
+     * 单位
+     */
+    private String unit;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 68 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/po/PackDetailProduct.java

@@ -0,0 +1,68 @@
+package com.fjhx.sale.entity.pack.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 装箱出货产品明细表
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+@TableName("pack_detail_product")
+public class PackDetailProduct extends BasePo {
+
+    /**
+     * 装箱单编码
+     */
+    private String code;
+
+    /**
+     * 装箱明细ID
+     */
+    private Long packDetailId;
+
+    /**
+     * 合同ID
+     */
+    private Long contractId;
+
+    /**
+     * 合同产品ID
+     */
+    private String contractProductId;
+
+    /**
+     * 装箱数量
+     */
+    private BigDecimal quantity;
+
+    /**
+     * 产品ID
+     */
+    private Long productId;
+
+    /**
+     * 产品名称
+     */
+    private String productName;
+
+    /**
+     * 产品规格型号
+     */
+    private String productModel;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailGoodsVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.vo;
+
+import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 自定义装箱货物表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailGoodsVo extends PackDetailGoods {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailProductVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.vo;
+
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货产品明细表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailProductVo extends PackDetailProduct {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackDetailVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.vo;
+
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货明细表	列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackDetailVo extends PackDetail {
+
+}

+ 17 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/pack/vo/PackVo.java

@@ -0,0 +1,17 @@
+package com.fjhx.sale.entity.pack.vo;
+
+import com.fjhx.sale.entity.pack.po.Pack;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 装箱出货表列表查询返回值实体
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Getter
+@Setter
+public class PackVo extends Pack {
+
+}

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quotation/dto/QuotationPaySelectDto.java

@@ -14,4 +14,9 @@ import lombok.Setter;
 @Setter
 public class QuotationPaySelectDto extends BaseSelectDto {
 
+    /**
+     * 收费项目
+
+     */
+    private String payName;
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quotation/po/QuotationPay.java

@@ -36,4 +36,9 @@ public class QuotationPay extends BasePo {
      */
     private String remark;
 
+    /**
+     * 报价表ID
+     */
+    private Long saleQuotationId;
+
 }

+ 5 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/quotation/po/QuotationProduct.java

@@ -21,6 +21,11 @@ import lombok.Setter;
 public class QuotationProduct extends BasePo {
 
     /**
+     * 报价表ID
+     */
+    private Long saleQuotationId;
+
+    /**
      * 商品ID
      */
     private Long productId;

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sale/dto/SaleQuotationSelectDto.java

@@ -13,5 +13,14 @@ import lombok.Setter;
 @Getter
 @Setter
 public class SaleQuotationSelectDto extends BaseSelectDto {
+    /**
+     * 审批状态。10:发起。20 驳回。30通过
+     */
+    private String status;
 
+
+    /**
+     * 卖方公司ID
+     */
+    private Long sellCorporationId;
 }

+ 13 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sale/po/SaleQuotation.java

@@ -33,6 +33,16 @@ public class SaleQuotation extends BasePo {
     /**
      * 卖方联系人名称
      */
+    private String code;
+
+    /**
+     * 审批状态。10:发起。20 驳回。30通过
+     */
+    private String status;
+
+    /**
+     * 卖方联系人名称
+     */
     private String sellContactName;
 
     /**
@@ -140,6 +150,9 @@ public class SaleQuotation extends BasePo {
      */
     private Integer effective;
 
+    /**
+     * 质保期
+     */
     private Integer warranty;
 
     /**

+ 18 - 0
hx-sale/src/main/java/com/fjhx/sale/entity/sale/vo/SaleQuotationVo.java

@@ -1,9 +1,13 @@
 package com.fjhx.sale.entity.sale.vo;
 
+import com.fjhx.sale.entity.quotation.po.QuotationPay;
+import com.fjhx.sale.entity.quotation.po.QuotationProduct;
 import com.fjhx.sale.entity.sale.po.SaleQuotation;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * 报价表列表查询返回值实体
  *
@@ -14,4 +18,18 @@ import lombok.Setter;
 @Setter
 public class SaleQuotationVo extends SaleQuotation {
 
+    /**
+     *  业务员名称
+     */
+    private  String userName;
+
+    /**
+     * 商品-报价单关联表信息
+     */
+    private List<QuotationProduct> quotationProductList;
+
+    /**
+     *报价 -收费项目表
+     */
+    private List<QuotationPay> quotationPayList;
 }

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/enums/SaleQuotationEnum.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.enums;
+
+import org.apache.commons.collections4.MapUtils;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+public enum SaleQuotationEnum {
+    UNDER_REVIEW("10", "审批中"),
+    REJECT("20", "驳回"),
+    PASS("30","通过"),
+    ;
+    private String key;
+
+    private String value;
+
+    private static Map<String, String> map = new LinkedHashMap<>();
+
+    SaleQuotationEnum(String key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    /**
+     * 获取枚举map
+     *
+     * @return
+     */
+    public static Map<String, String> getMap() {
+        if (MapUtils.isNotEmpty(map)) {
+            return map;
+        }
+        for (SaleQuotationEnum ms : values()) {
+            map.put(ms.key, ms.value);
+        }
+        return map;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+}

+ 2 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/ContractFlow.java

@@ -38,6 +38,8 @@ public class ContractFlow extends FlowDelegate {
         return "contract_flow";
     }
 
+
+
     /**
      * 发起流程
      * @param flowId 流程ID

+ 95 - 0
hx-sale/src/main/java/com/fjhx/sale/flow/SaleQuotationFlow.java

@@ -0,0 +1,95 @@
+package com.fjhx.sale.flow;
+
+import cn.hutool.extra.spring.SpringUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.flow.core.FlowDelegate;
+import com.fjhx.sale.entity.contract.po.Contract;
+import com.fjhx.sale.entity.contract.po.ContractProduct;
+import com.fjhx.sale.entity.contract.po.ContractProject;
+import com.fjhx.sale.entity.contract.po.ContractShipment;
+import com.fjhx.sale.entity.quotation.po.QuotationPay;
+import com.fjhx.sale.entity.quotation.po.QuotationProduct;
+import com.fjhx.sale.entity.sale.dto.SaleQuotationDto;
+import com.fjhx.sale.entity.sale.po.SaleQuotation;
+import com.fjhx.sale.enums.FlowStatusEnum;
+import com.fjhx.sale.enums.SaleQuotationEnum;
+import com.fjhx.sale.service.contract.ContractProductService;
+import com.fjhx.sale.service.contract.ContractProjectService;
+import com.fjhx.sale.service.contract.ContractService;
+import com.fjhx.sale.service.contract.ContractShipmentService;
+import com.fjhx.sale.service.quotation.QuotationPayService;
+import com.fjhx.sale.service.quotation.QuotationProductService;
+import com.fjhx.sale.service.sale.SaleQuotationService;
+import com.fjhx.sale.util.code.CodeEnum;
+import com.obs.services.internal.ServiceException;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 报价单流程
+ */
+@DS(SourceConstant.SALE)
+@Component
+public class SaleQuotationFlow extends FlowDelegate {
+    @Override
+    public String getFlowKey() {
+        return "sale_quotation_flow";
+    }
+
+    /**
+     * 发起流程
+     * @param flowId 流程ID
+     * @param submitData 采购付款数据
+     * @return
+     */
+    @Override
+    public Long start(Long flowId, JSONObject submitData) {
+        SaleQuotationService saleQuotationService = SpringUtil.getBean(SaleQuotationService.class);
+        QuotationPayService quotationPayService = SpringUtil.getBean(QuotationPayService.class);
+        QuotationProductService quotationProductService = SpringUtil.getBean(QuotationProductService.class);
+        SaleQuotationDto saleQuotation = submitData.toJavaObject(SaleQuotationDto.class);
+        //添加报价编码
+        saleQuotation.setCode(CodeEnum.SALE_QUOTATION.getCode());
+        //添加报价状态
+        saleQuotation.setStatus(SaleQuotationEnum.UNDER_REVIEW.getKey());
+        //添加报价单信息
+        saleQuotationService.save(saleQuotation);
+        List<QuotationProduct> quotationProductList = saleQuotation.getQuotationProductList();
+        if(CollectionUtils.isNotEmpty(quotationProductList)){//保存报价产品信息
+            quotationProductList.forEach(quotationProduct -> quotationProduct.setSaleQuotationId(saleQuotation.getId()));
+            quotationProductService.saveBatch(quotationProductList);
+        }
+        List<QuotationPay> quotationPayList = saleQuotation.getQuotationPayList();
+        if(CollectionUtils.isNotEmpty(quotationPayList)){//保存报价项目信息
+           quotationPayList.forEach(quotationPay -> quotationPay.setSaleQuotationId(saleQuotation.getId()));
+            quotationPayService.saveBatch(quotationPayList);
+        }
+
+        return saleQuotation.getId();
+    }
+
+    /**
+     * 结束流程
+     * @param flowId 流程ID
+     * @param businessId 业务ID
+     * @param submitData 数据
+     */
+    @Override
+    public void end(Long flowId, Long businessId, JSONObject submitData) {
+        SaleQuotationService saleQuotationService = SpringUtil.getBean(SaleQuotationService.class);
+        //通过业务ID查询合同数据
+        SaleQuotation contract = saleQuotationService.getById(businessId);
+        if(ObjectUtils.isEmpty(contract)){
+            throw new ServiceException("报价单不存在");
+        }
+        //修改采购状态为审批通过
+        contract.setStatus(SaleQuotationEnum.PASS.getKey());
+        saleQuotationService.updateById(contract);
+    }
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/claim/ClaimContractMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.claim;
+
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimContractVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 到账认领-合同关联表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface ClaimContractMapper extends BaseMapper<ClaimContract> {
+
+    /**
+     * 到账认领-合同关联表分页
+     */
+    Page<ClaimContractVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<ClaimContract> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/claim/ClaimMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.claim;
+
+import com.fjhx.sale.entity.claim.po.Claim;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 到账认领 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface ClaimMapper extends BaseMapper<Claim> {
+
+    /**
+     * 到账认领分页
+     */
+    Page<ClaimVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Claim> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailGoodsMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailGoodsVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 自定义装箱货物表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailGoodsMapper extends BaseMapper<PackDetailGoods> {
+
+    /**
+     * 自定义装箱货物表分页
+     */
+    Page<PackDetailGoodsVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PackDetailGoods> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 装箱出货明细表	 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailMapper extends BaseMapper<PackDetail> {
+
+    /**
+     * 装箱出货明细表	分页
+     */
+    Page<PackDetailVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PackDetail> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackDetailProductMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 装箱出货产品明细表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailProductMapper extends BaseMapper<PackDetailProduct> {
+
+    /**
+     * 装箱出货产品明细表分页
+     */
+    Page<PackDetailProductVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<PackDetailProduct> wrapper);
+
+}

+ 26 - 0
hx-sale/src/main/java/com/fjhx/sale/mapper/pack/PackMapper.java

@@ -0,0 +1,26 @@
+package com.fjhx.sale.mapper.pack;
+
+import com.fjhx.sale.entity.pack.po.Pack;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ * 装箱出货表 Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackMapper extends BaseMapper<Pack> {
+
+    /**
+     * 装箱出货表分页
+     */
+    Page<PackVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<Pack> wrapper);
+
+}

+ 2 - 1
hx-sale/src/main/java/com/fjhx/sale/mapper/quotation/QuotationPayMapper.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.mapper.quotation;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fjhx.sale.entity.quotation.po.QuotationPay;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,6 +22,6 @@ public interface QuotationPayMapper extends BaseMapper<QuotationPay> {
     /**
      * 报价 -收费项目表分页
      */
-    Page<QuotationPayVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<QuotationPay> wrapper);
+    Page<QuotationPayVo> getPage(@Param("page") Page<Object> page, @Param("ew") LambdaQueryWrapper<QuotationPay> wrapper);
 
 }

+ 2 - 1
hx-sale/src/main/java/com/fjhx/sale/mapper/sale/SaleQuotationMapper.java

@@ -1,5 +1,6 @@
 package com.fjhx.sale.mapper.sale;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.fjhx.sale.entity.sale.po.SaleQuotation;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -21,6 +22,6 @@ public interface SaleQuotationMapper extends BaseMapper<SaleQuotation> {
     /**
      * 报价表分页
      */
-    Page<SaleQuotationVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<SaleQuotation> wrapper);
+    Page<SaleQuotationVo> getPage(@Param("page") Page<Object> page, @Param("ew") LambdaQueryWrapper<SaleQuotation> wrapper);
 
 }

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimContractService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.claim;
+
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimContractVo;
+import com.fjhx.sale.entity.claim.dto.ClaimContractSelectDto;
+import com.fjhx.sale.entity.claim.dto.ClaimContractDto;
+
+
+/**
+ * <p>
+ * 到账认领-合同关联表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface ClaimContractService extends BaseService<ClaimContract> {
+
+    /**
+     * 到账认领-合同关联表分页
+     */
+    Page<ClaimContractVo> getPage(ClaimContractSelectDto dto);
+
+    /**
+     * 到账认领-合同关联表明细
+     */
+    ClaimContractVo detail(Long id);
+
+    /**
+     * 到账认领-合同关联表新增
+     */
+    void add(ClaimContractDto claimContractDto);
+
+    /**
+     * 到账认领-合同关联表编辑
+     */
+    void edit(ClaimContractDto claimContractDto);
+
+    /**
+     * 到账认领-合同关联表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/ClaimService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.claim;
+
+import com.fjhx.sale.entity.claim.po.Claim;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimVo;
+import com.fjhx.sale.entity.claim.dto.ClaimSelectDto;
+import com.fjhx.sale.entity.claim.dto.ClaimDto;
+
+
+/**
+ * <p>
+ * 到账认领 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface ClaimService extends BaseService<Claim> {
+
+    /**
+     * 到账认领分页
+     */
+    Page<ClaimVo> getPage(ClaimSelectDto dto);
+
+    /**
+     * 到账认领明细
+     */
+    ClaimVo detail(Long id);
+
+    /**
+     * 到账认领新增
+     */
+    void add(Claim claim);
+
+    /**
+     * 到账认领编辑
+     */
+    void edit(ClaimDto claimDto);
+
+    /**
+     * 到账认领删除
+     */
+    void delete(Long id);
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimContractServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.claim.impl;
+
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.fjhx.sale.mapper.claim.ClaimContractMapper;
+import com.fjhx.sale.service.claim.ClaimContractService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimContractVo;
+import com.fjhx.sale.entity.claim.dto.ClaimContractSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.claim.dto.ClaimContractDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 到账认领-合同关联表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class ClaimContractServiceImpl extends ServiceImpl<ClaimContractMapper, ClaimContract> implements ClaimContractService {
+
+    @Override
+    public Page<ClaimContractVo> getPage(ClaimContractSelectDto dto) {
+        IWrapper<ClaimContract> wrapper = getWrapper();
+        wrapper.orderByDesc("cc", ClaimContract::getId);
+        Page<ClaimContractVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ClaimContractVo detail(Long id) {
+        ClaimContract ClaimContract = this.getById(id);
+        ClaimContractVo result = BeanUtil.toBean(ClaimContract, ClaimContractVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(ClaimContractDto claimContractDto) {
+        this.save(claimContractDto);
+    }
+
+    @Override
+    public void edit(ClaimContractDto claimContractDto) {
+        this.updateById(claimContractDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 114 - 0
hx-sale/src/main/java/com/fjhx/sale/service/claim/impl/ClaimServiceImpl.java

@@ -0,0 +1,114 @@
+package com.fjhx.sale.service.claim.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.account.entity.account.po.AccountRunningWater;
+import com.fjhx.account.service.account.AccountRunningWaterService;
+import com.fjhx.file.utils.ObsFileUtil;
+import com.fjhx.sale.entity.claim.po.Claim;
+import com.fjhx.sale.entity.claim.po.ClaimContract;
+import com.fjhx.sale.mapper.claim.ClaimMapper;
+import com.fjhx.sale.service.claim.ClaimContractService;
+import com.fjhx.sale.service.claim.ClaimService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.obs.services.internal.ServiceException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.claim.vo.ClaimVo;
+import com.fjhx.sale.entity.claim.dto.ClaimSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.claim.dto.ClaimDto;
+import cn.hutool.core.bean.BeanUtil;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 到账认领 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements ClaimService {
+
+    @Autowired
+    private ClaimContractService claimContractService;
+
+
+    @Autowired
+    private AccountRunningWaterService accountRunningWaterService;
+
+    @Override
+    public Page<ClaimVo> getPage(ClaimSelectDto dto) {
+        IWrapper<Claim> wrapper = getWrapper();
+        wrapper.orderByDesc("c", Claim::getId);
+        Page<ClaimVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public ClaimVo detail(Long id) {
+        Claim Claim = this.getById(id);
+        ClaimVo result = BeanUtil.toBean(Claim, ClaimVo.class);
+        return result;
+    }
+
+    /**
+     * 添加
+     * @param claim
+     */
+    @Override
+    @DSTransactional
+    public void add(Claim claim) {
+        Claim data = this.getOne(Wrappers.<Claim>query().lambda().eq(Claim::getBusinessId,claim.getBusinessId()));
+        if(ObjectUtils.isNotEmpty(data)){
+            throw new ServiceException("当前这笔资金已被认领");
+        }
+        this.save(claim);
+        List<ClaimContract> claimContractList = claim.getClaimContractList();
+        if(CollectionUtils.isNotEmpty(claim.getClaimContractList())){
+            for(ClaimContract c:claimContractList){
+                c.setClaimId(claim.getId());
+            }
+            claimContractService.saveBatch(claimContractList);
+        }
+        //更新流水数据为认领状态
+        AccountRunningWater water = new AccountRunningWater();
+        water.setId(claim.getBusinessId());
+        water.setIsClaim(1);//已认领状态
+        accountRunningWaterService.updateById(water);
+        ObsFileUtil.saveFile(claim.getFileList(),claim.getId());
+    }
+
+    @Override
+    public void edit(ClaimDto claimDto) {
+        this.updateById(claimDto);
+    }
+
+    /**
+     * 删除
+     * @param id 流水ID
+     */
+    @Override
+    @DSTransactional
+    public void delete(Long id) {
+        Claim claim = this.getOne(Wrappers.<Claim>query().lambda().eq(Claim::getBusinessId,id));
+        if(ObjectUtils.isNotEmpty(claim.getBusinessId())){
+            //更新流水数据为认领状态
+            AccountRunningWater water = new AccountRunningWater();
+            water.setId(claim.getBusinessId());
+            water.setIsClaim(0);//未认领状态
+            accountRunningWaterService.updateById(water);
+        }
+        this.removeById(Wrappers.<Claim>query().lambda().eq(Claim::getBusinessId,id));
+        claimContractService.remove(Wrappers.<ClaimContract>query().lambda().eq(ClaimContract::getClaimId,claim.getId()));
+    }
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailGoodsService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailGoodsVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsDto;
+
+
+/**
+ * <p>
+ * 自定义装箱货物表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailGoodsService extends BaseService<PackDetailGoods> {
+
+    /**
+     * 自定义装箱货物表分页
+     */
+    Page<PackDetailGoodsVo> getPage(PackDetailGoodsSelectDto dto);
+
+    /**
+     * 自定义装箱货物表明细
+     */
+    PackDetailGoodsVo detail(Long id);
+
+    /**
+     * 自定义装箱货物表新增
+     */
+    void add(PackDetailGoodsDto packDetailGoodsDto);
+
+    /**
+     * 自定义装箱货物表编辑
+     */
+    void edit(PackDetailGoodsDto packDetailGoodsDto);
+
+    /**
+     * 自定义装箱货物表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailProductService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductDto;
+
+
+/**
+ * <p>
+ * 装箱出货产品明细表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailProductService extends BaseService<PackDetailProduct> {
+
+    /**
+     * 装箱出货产品明细表分页
+     */
+    Page<PackDetailProductVo> getPage(PackDetailProductSelectDto dto);
+
+    /**
+     * 装箱出货产品明细表明细
+     */
+    PackDetailProductVo detail(Long id);
+
+    /**
+     * 装箱出货产品明细表新增
+     */
+    void add(PackDetailProductDto packDetailProductDto);
+
+    /**
+     * 装箱出货产品明细表编辑
+     */
+    void edit(PackDetailProductDto packDetailProductDto);
+
+    /**
+     * 装箱出货产品明细表删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/PackDetailService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.pack;
+
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDetailDto;
+
+
+/**
+ * <p>
+ * 装箱出货明细表	 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackDetailService extends BaseService<PackDetail> {
+
+    /**
+     * 装箱出货明细表	分页
+     */
+    Page<PackDetailVo> getPage(PackDetailSelectDto dto);
+
+    /**
+     * 装箱出货明细表	明细
+     */
+    PackDetailVo detail(Long id);
+
+    /**
+     * 装箱出货明细表	新增
+     */
+    void add(PackDetailDto packDetailDto);
+
+    /**
+     * 装箱出货明细表	编辑
+     */
+    void edit(PackDetailDto packDetailDto);
+
+    /**
+     * 装箱出货明细表	删除
+     */
+    void delete(Long id);
+
+}

+ 46 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/PackService.java

@@ -0,0 +1,46 @@
+package com.fjhx.sale.service.pack;
+
+import com.fjhx.sale.entity.pack.po.Pack;
+import com.ruoyi.common.core.service.BaseService;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackVo;
+import com.fjhx.sale.entity.pack.dto.PackSelectDto;
+import com.fjhx.sale.entity.pack.dto.PackDto;
+
+
+/**
+ * <p>
+ * 装箱出货表 服务类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+public interface PackService extends BaseService<Pack> {
+
+    /**
+     * 装箱出货表分页
+     */
+    Page<PackVo> getPage(PackSelectDto dto);
+
+    /**
+     * 装箱出货表明细
+     */
+    PackVo detail(Long id);
+
+    /**
+     * 装箱出货表新增
+     */
+    void add(PackDto packDto);
+
+    /**
+     * 装箱出货表编辑
+     */
+    void edit(PackDto packDto);
+
+    /**
+     * 装箱出货表删除
+     */
+    void delete(Long id);
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailGoodsServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.pack.impl;
+
+import com.fjhx.sale.entity.pack.po.PackDetailGoods;
+import com.fjhx.sale.mapper.pack.PackDetailGoodsMapper;
+import com.fjhx.sale.service.pack.PackDetailGoodsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailGoodsVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.pack.dto.PackDetailGoodsDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 自定义装箱货物表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class PackDetailGoodsServiceImpl extends ServiceImpl<PackDetailGoodsMapper, PackDetailGoods> implements PackDetailGoodsService {
+
+    @Override
+    public Page<PackDetailGoodsVo> getPage(PackDetailGoodsSelectDto dto) {
+        IWrapper<PackDetailGoods> wrapper = getWrapper();
+        wrapper.orderByDesc("pdg", PackDetailGoods::getId);
+        Page<PackDetailGoodsVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public PackDetailGoodsVo detail(Long id) {
+        PackDetailGoods PackDetailGoods = this.getById(id);
+        PackDetailGoodsVo result = BeanUtil.toBean(PackDetailGoods, PackDetailGoodsVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(PackDetailGoodsDto packDetailGoodsDto) {
+        this.save(packDetailGoodsDto);
+    }
+
+    @Override
+    public void edit(PackDetailGoodsDto packDetailGoodsDto) {
+        this.updateById(packDetailGoodsDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailProductServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.pack.impl;
+
+import com.fjhx.sale.entity.pack.po.PackDetailProduct;
+import com.fjhx.sale.mapper.pack.PackDetailProductMapper;
+import com.fjhx.sale.service.pack.PackDetailProductService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailProductVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.pack.dto.PackDetailProductDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 装箱出货产品明细表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class PackDetailProductServiceImpl extends ServiceImpl<PackDetailProductMapper, PackDetailProduct> implements PackDetailProductService {
+
+    @Override
+    public Page<PackDetailProductVo> getPage(PackDetailProductSelectDto dto) {
+        IWrapper<PackDetailProduct> wrapper = getWrapper();
+        wrapper.orderByDesc("pdp", PackDetailProduct::getId);
+        Page<PackDetailProductVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public PackDetailProductVo detail(Long id) {
+        PackDetailProduct PackDetailProduct = this.getById(id);
+        PackDetailProductVo result = BeanUtil.toBean(PackDetailProduct, PackDetailProductVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(PackDetailProductDto packDetailProductDto) {
+        this.save(packDetailProductDto);
+    }
+
+    @Override
+    public void edit(PackDetailProductDto packDetailProductDto) {
+        this.updateById(packDetailProductDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackDetailServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.pack.impl;
+
+import com.fjhx.sale.entity.pack.po.PackDetail;
+import com.fjhx.sale.mapper.pack.PackDetailMapper;
+import com.fjhx.sale.service.pack.PackDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackDetailVo;
+import com.fjhx.sale.entity.pack.dto.PackDetailSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.pack.dto.PackDetailDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 装箱出货明细表	 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class PackDetailServiceImpl extends ServiceImpl<PackDetailMapper, PackDetail> implements PackDetailService {
+
+    @Override
+    public Page<PackDetailVo> getPage(PackDetailSelectDto dto) {
+        IWrapper<PackDetail> wrapper = getWrapper();
+        wrapper.orderByDesc("pd", PackDetail::getId);
+        Page<PackDetailVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public PackDetailVo detail(Long id) {
+        PackDetail PackDetail = this.getById(id);
+        PackDetailVo result = BeanUtil.toBean(PackDetail, PackDetailVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(PackDetailDto packDetailDto) {
+        this.save(packDetailDto);
+    }
+
+    @Override
+    public void edit(PackDetailDto packDetailDto) {
+        this.updateById(packDetailDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 57 - 0
hx-sale/src/main/java/com/fjhx/sale/service/pack/impl/PackServiceImpl.java

@@ -0,0 +1,57 @@
+package com.fjhx.sale.service.pack.impl;
+
+import com.fjhx.sale.entity.pack.po.Pack;
+import com.fjhx.sale.mapper.pack.PackMapper;
+import com.fjhx.sale.service.pack.PackService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.sale.entity.pack.vo.PackVo;
+import com.fjhx.sale.entity.pack.dto.PackSelectDto;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.fjhx.sale.entity.pack.dto.PackDto;
+import cn.hutool.core.bean.BeanUtil;
+
+
+/**
+ * <p>
+ * 装箱出货表 服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-18
+ */
+@Service
+public class PackServiceImpl extends ServiceImpl<PackMapper, Pack> implements PackService {
+
+    @Override
+    public Page<PackVo> getPage(PackSelectDto dto) {
+        IWrapper<Pack> wrapper = getWrapper();
+        wrapper.orderByDesc("p", Pack::getId);
+        Page<PackVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public PackVo detail(Long id) {
+        Pack Pack = this.getById(id);
+        PackVo result = BeanUtil.toBean(Pack, PackVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(PackDto packDto) {
+        this.save(packDto);
+    }
+
+    @Override
+    public void edit(PackDto packDto) {
+        this.updateById(packDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+}

+ 6 - 2
hx-sale/src/main/java/com/fjhx/sale/service/quotation/impl/QuotationPayServiceImpl.java

@@ -1,5 +1,8 @@
 package com.fjhx.sale.service.quotation.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fjhx.sale.entity.quotation.po.QuotationPay;
 import com.fjhx.sale.mapper.quotation.QuotationPayMapper;
 import com.fjhx.sale.service.quotation.QuotationPayService;
@@ -26,8 +29,9 @@ public class QuotationPayServiceImpl extends ServiceImpl<QuotationPayMapper, Quo
 
     @Override
     public Page<QuotationPayVo> getPage(QuotationPaySelectDto dto) {
-        IWrapper<QuotationPay> wrapper = getWrapper();
-        wrapper.orderByDesc("qp", QuotationPay::getId);
+        LambdaQueryWrapper<QuotationPay> wrapper = Wrappers.<QuotationPay>lambdaQuery();
+        wrapper.orderByDesc(QuotationPay::getCreateTime);
+        wrapper.like(ObjectUtil.isNotEmpty(dto.getPayName()),QuotationPay::getPayName,dto.getPayName());
         Page<QuotationPayVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
         return page;
     }

+ 4 - 0
hx-sale/src/main/java/com/fjhx/sale/service/sale/SaleQuotationService.java

@@ -43,4 +43,8 @@ public interface SaleQuotationService extends BaseService<SaleQuotation> {
      */
     void delete(Long id);
 
+    /**
+     * 报价单的复制功能
+     */
+    void copy(SaleQuotationDto saleQuotationDto);
 }

+ 85 - 2
hx-sale/src/main/java/com/fjhx/sale/service/sale/impl/SaleQuotationServiceImpl.java

@@ -1,9 +1,21 @@
 package com.fjhx.sale.service.sale.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.fjhx.sale.entity.quotation.po.QuotationPay;
+import com.fjhx.sale.entity.quotation.po.QuotationProduct;
 import com.fjhx.sale.entity.sale.po.SaleQuotation;
 import com.fjhx.sale.mapper.sale.SaleQuotationMapper;
+import com.fjhx.sale.service.quotation.QuotationPayService;
+import com.fjhx.sale.service.quotation.QuotationProductService;
 import com.fjhx.sale.service.sale.SaleQuotationService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.sale.util.code.CodeEnum;
+import com.obs.services.internal.ServiceException;
+import com.ruoyi.common.core.domain.BasePo;
+import com.ruoyi.system.utils.UserUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fjhx.sale.entity.sale.vo.SaleQuotationVo;
@@ -12,6 +24,8 @@ import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.fjhx.sale.entity.sale.dto.SaleQuotationDto;
 import cn.hutool.core.bean.BeanUtil;
 
+import java.util.List;
+
 
 /**
  * <p>
@@ -23,19 +37,50 @@ import cn.hutool.core.bean.BeanUtil;
  */
 @Service
 public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, SaleQuotation> implements SaleQuotationService {
+    @Autowired
+    private QuotationProductService quotationProductService;
+
+    @Autowired
+    private QuotationPayService quotationPayService;
 
+    /**
+     * 报价表分页
+     */
     @Override
     public Page<SaleQuotationVo> getPage(SaleQuotationSelectDto dto) {
-        IWrapper<SaleQuotation> wrapper = getWrapper();
-        wrapper.orderByDesc("sq", SaleQuotation::getId);
+        LambdaQueryWrapper<SaleQuotation> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getSellCorporationId()),
+                SaleQuotation::getSellCorporationId, dto.getSellCorporationId());
+        wrapper.eq(ObjectUtil.isNotEmpty(dto.getStatus()), SaleQuotation::getStatus, dto.getStatus());
+        wrapper.orderByDesc(SaleQuotation::getCreateTime);
         Page<SaleQuotationVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        List<SaleQuotationVo> saleQuotationVoList = page.getRecords();
+
+        //赋值用户名称
+        UserUtil.assignmentNickName(saleQuotationVoList, BasePo::getCreateUser, SaleQuotationVo::setUserName);
         return page;
     }
 
+    /**
+     * 报价表明细
+     */
     @Override
     public SaleQuotationVo detail(Long id) {
+        //查询报价表详情
         SaleQuotation SaleQuotation = this.getById(id);
         SaleQuotationVo result = BeanUtil.toBean(SaleQuotation, SaleQuotationVo.class);
+        if (ObjectUtil.isNotEmpty(result)) {
+            //查询报价-商品表的详情
+            List<QuotationProduct> quotationProductList = quotationProductService.list(Wrappers.<QuotationProduct>lambdaQuery()
+                    .eq(QuotationProduct::getSaleQuotationId, result.getId()));
+            result.setQuotationProductList(quotationProductList);
+
+            //查询报价-收费项目表的详情
+            List<QuotationPay> quotationPayList = quotationPayService.list(Wrappers.<QuotationPay>lambdaQuery()
+                    .eq(QuotationPay::getSaleQuotationId, result.getId()));
+            result.setQuotationPayList(quotationPayList);
+        }
+
         return result;
     }
 
@@ -54,4 +99,42 @@ public class SaleQuotationServiceImpl extends ServiceImpl<SaleQuotationMapper, S
         this.removeById(id);
     }
 
+    /**
+     * 报价单的复制功能(报价单,报价-商品表的 ,报价-收费项目表,根据报价表的ID相关数据复制一份)
+     */
+    @Override
+    public void copy(SaleQuotationDto saleQuotationDto) {
+        if (ObjectUtil.isEmpty(saleQuotationDto.getId())) {
+            throw new ServiceException("参数缺失:报价单ID不能为null");
+        }
+        //查询商品-报价表的数据
+        SaleQuotation saleQuotation = this.getById(saleQuotationDto.getId());
+        if (ObjectUtil.isNotEmpty(saleQuotation)){
+            throw new ServiceException("报价表的数据不存在");
+        }
+
+        //查询报价-商品表的数据
+        List<QuotationProduct> quotationProductList = quotationProductService.list(Wrappers.<QuotationProduct>lambdaQuery()
+                .eq(QuotationProduct::getSaleQuotationId, saleQuotationDto.getId()));
+
+        //查询报价-收费项目表
+        List<QuotationPay> quotationPays = quotationPayService.list(Wrappers.<QuotationPay>lambdaQuery()
+                .eq(QuotationPay::getSaleQuotationId, saleQuotationDto.getId()));
+
+        //添加商品-报价表
+        quotationProductList.forEach(quotationProduct -> quotationProduct.setId(null));
+        quotationProductService.saveBatch(quotationProductList);
+
+        //添加报价-收费项目表
+        quotationPays.forEach(quotationPay -> quotationPay.setId(null));
+        quotationPayService.saveBatch(quotationPays);
+
+
+        //添加报价表的信息
+        saleQuotation.setId(null);
+        saleQuotation.setCode(CodeEnum.SALE_QUOTATION.getCode());
+        baseMapper.insert(saleQuotation);
+
+    }
+
 }

+ 1 - 0
hx-sale/src/main/java/com/fjhx/sale/util/code/CodeEnum.java

@@ -18,6 +18,7 @@ public enum CodeEnum {
 
     //外销合同
     CONTRACT("SC-", "yyMM-", "code", 3, ContractService.class),
+    SALE_QUOTATION("GSQT-", "yyMM-", "code", 3, ContractService.class),
     ;
 
     CodeEnum(String prefix, String dateFormat, String codeFieldName, Integer length, Class<? extends IService<?>> serviceCls) {

+ 18 - 0
hx-sale/src/main/resources/claim/ClaimContractMapper.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.sale.mapper.claim.ClaimContractMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.claim.vo.ClaimContractVo">
+        select
+            cc.id,
+            cc.contract_id,
+            cc.money,
+            cc.contract_code,
+            cc.create_user,
+            cc.create_time,
+            cc.update_user,
+            cc.update_time
+        from claim_contract cc
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 22 - 0
hx-sale/src/main/resources/claim/ClaimMapper.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.sale.mapper.claim.ClaimMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.claim.vo.ClaimVo">
+        select
+            c.id,
+            c.amount,
+            c.remark,
+            c.account_management_id,
+            c.currency,
+            c.claim_user_id,
+            c.claim_user_name,
+            c.claim_time,
+            c.create_user,
+            c.create_time,
+            c.update_user,
+            c.update_time
+        from claim c
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 19 - 0
hx-sale/src/main/resources/mapper/pack/PackDetailGoodsMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.sale.mapper.pack.PackDetailGoodsMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.pack.vo.PackDetailGoodsVo">
+        select
+            pdg.id,
+            pdg.pack_detail_id,
+            pdg.quantity,
+            pdg.unit,
+            pdg.remark,
+            pdg.create_user,
+            pdg.create_time,
+            pdg.update_user,
+            pdg.update_time
+        from pack_detail_goods pdg
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 31 - 0
hx-sale/src/main/resources/mapper/pack/PackDetailMapper.xml

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.sale.mapper.pack.PackDetailMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.pack.vo.PackDetailVo">
+        select
+            pd.id,
+            pd.pack_id,
+            pd.customer_id,
+            pd.contract_id,
+            pd.contract_code,
+            pd.pack_quantity,
+            pd.net_weight,
+            pd.rough_weight,
+            pd.box_long,
+            pd.box_wide,
+            pd.box_high,
+            pd.bom_volume,
+            pd.shipment_time,
+            pd.shipment_status,
+            pd.waybill_code,
+            pd.express_id,
+            pd.remark,
+            pd.update_time,
+            pd.update_user,
+            pd.create_user,
+            pd.create_time
+        from pack_detail pd
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 20 - 0
hx-sale/src/main/resources/mapper/pack/PackMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.sale.mapper.pack.PackMapper">
+    <select id="getPage" resultType="com.fjhx.sale.entity.pack.vo.PackVo">
+        select
+            p.id,
+            p.code,
+            p.customer_id,
+            p.contract_id,
+            p.contract_code,
+            p.remark,
+            p.update_time,
+            p.update_user,
+            p.create_user,
+            p.create_time
+        from pack p
+            ${ew.customSqlSegment}
+    </select>
+
+</mapper>

+ 1 - 0
hx-sale/src/main/resources/mapper/quotation/QuotationPayMapper.xml

@@ -4,6 +4,7 @@
     <select id="getPage" resultType="com.fjhx.sale.entity.quotation.vo.QuotationPayVo">
         select
             qp.id,
+            qp.sale_quotation_id,
             qp.pay_name,
             qp.amount,
             qp.remark,

+ 1 - 0
hx-sale/src/main/resources/mapper/quotation/QuotationProductMapper.xml

@@ -4,6 +4,7 @@
     <select id="getPage" resultType="com.fjhx.sale.entity.quotation.vo.QuotationProductVo">
         select
             qp.id,
+            qp.sale_quotation_id,
             qp.product_id,
             qp.product_name,
             qp.product_model,

+ 2 - 0
hx-sale/src/main/resources/mapper/sale/SaleQuotationMapper.xml

@@ -5,6 +5,8 @@
         select
             sq.id,
             sq.contract_template_id,
+            sq.code,
+            sq.status,
             sq.sell_corporation_id,
             sq.sell_contact_name,
             sq.sell_contact_number,

+ 1 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/controller/stock/StockTransferController.java

@@ -66,7 +66,7 @@ public class StockTransferController {
     }
 
     @PostMapping("/receive")
-    public void receive(StockTransferDto stockTransferDto){
+    public void receive(@RequestBody StockTransferDto stockTransferDto){
         stockTransferService.receive(stockTransferDto);
     }
 

+ 36 - 21
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/stock/impl/StockTransferServiceImpl.java

@@ -2,9 +2,12 @@ package com.fjhx.victoriatourist.service.stock.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.item.service.product.ProductInfoService;
 import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalInfo;
 import com.fjhx.victoriatourist.entity.stock.dto.StockTransferDto;
@@ -126,27 +129,36 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         this.removeById(id);
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void receive(StockTransferDto stockTransferDto) {
-        StockTransfer stockTransfer = getById(stockTransferDto);
-        stockTransfer.setInStatus(1);//修改为已接收
-        updateById(stockTransfer);
+        StockTransfer stockTransfer = getById(stockTransferDto.getId());
+        stockTransfer.setInStatus(2);//修改为已接收
         //明细
         List<Stock> stockList = new ArrayList<>();
         List<StockTransferDetails> stockTransferDetailsList = stockTransferDto.getStockTransferDetailsList();
-        stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
-        //获取数据库中的数据
-        List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(stockTransferDetailsList);
-        Map<Long, StockTransferDetails> oldstockTransferDetailsMap = oldstockTransferDetailsList.stream().collect(Collectors.toMap(StockTransferDetails::getId, Function.identity()));
-        for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
-            Stock stock = new Stock();
-            stock.setProductId(stockTransferDetails.getProductId());
-            stock.setQuantity(stockTransferDetails.getInQuantity());
+        if(ObjectUtil.isNotEmpty(stockTransferDetailsList)) {
+            stockTransferDetailsService.updateBatchById(stockTransferDetailsList);
+            //获取数据库中的数据
+            List<Long> ids = stockTransferDetailsList.stream().map(StockTransferDetails::getId).collect(Collectors.toList());
+            List<StockTransferDetails> oldstockTransferDetailsList = stockTransferDetailsService.listByIds(ids);
+            Map<Long, StockTransferDetails> oldstockTransferDetailsMap = oldstockTransferDetailsList.stream().collect(Collectors.toMap(StockTransferDetails::getId, Function.identity()));
+
+            Integer abnormalFlag = 0;
+            for (StockTransferDetails stockTransferDetails : stockTransferDetailsList) {
+                Stock stock = new Stock();
+                stock.setProductId(stockTransferDetails.getProductId());
+                stock.setQuantity(stockTransferDetails.getInQuantity());
+                stockList.add(stock);
 
-            //调仓接收数量与发出数量不一致
-            StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
-            if (stockTransferDetails.getInQuantity()!=oldstockTransferDetails.getOutQuantity()) {
+                //调仓接收数量与发出数量不一致
+                StockTransferDetails oldstockTransferDetails = oldstockTransferDetailsMap.get(stockTransferDetails.getId());
+                if (stockTransferDetails.getInQuantity() != oldstockTransferDetails.getOutQuantity()) {
+                    abnormalFlag =1;
+                    stockTransfer.setInStatus(1);//设置为部分接收
+                }
+            }
+            if(abnormalFlag ==1){
                 AbnormalInfo abnormalInfo = new AbnormalInfo();
                 abnormalInfo.setId(IdWorker.getId());
                 abnormalInfo.setType(30);
@@ -155,6 +167,7 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
                 abnormalInfoService.save(abnormalInfo);
             }
         }
+        updateById(stockTransfer);
         //创建出入库记录
         StockJournal stockJournal = new StockJournal();
         stockJournal.setType(3);
@@ -163,12 +176,14 @@ public class StockTransferServiceImpl extends ServiceImpl<StockTransferMapper, S
         stockJournal.setBusinessId(stockTransfer.getId());
         //保存出入库记录
         stockJournalService.save(stockJournal);
-        //出库
-        stockService.ModifyInventory(stockJournal.getId(), 2, stockList, stockTransfer.getOutWarehouseId());
-        //入库
-        List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 1, stockList, stockTransfer.getInWarehouseId());
-        //保存出入库记录明细
-        stockJournalDetailsService.saveBatch(stockJournalDetailsList);
+        if(ObjectUtil.isNotEmpty(stockList)) {
+            //出库
+            stockService.ModifyInventory(stockJournal.getId(), 2, stockList, stockTransfer.getOutWarehouseId());
+            //入库
+            List<StockJournalDetails> stockJournalDetailsList = stockService.ModifyInventory(stockJournal.getId(), 1, stockList, stockTransfer.getInWarehouseId());
+            //保存出入库记录明细
+            stockJournalDetailsService.saveBatch(stockJournalDetailsList);
+        }
     }
 
 }

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

@@ -271,7 +271,7 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
                 newStocks.setId(oldStocks.getId());
                 newStocks.setQuantity(quantity);
             } else if (type == 2) {
-                throw new ServiceException("以下商品库存不存在,无法出库:" + stock.getProductId());
+                throw new ServiceException("以下商品库存不,无法出库:" + stock.getProductId());
             }
 
             data.add(newStocks);

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно