Răsfoiți Sursa

Merge remote-tracking branch 'origin/dev' into dev

xucaiqin 2 ani în urmă
părinte
comite
08c2d22886
38 a modificat fișierele cu 1125 adăugiri și 178 ștergeri
  1. 0 1
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java
  2. 0 6
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java
  3. 23 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java
  4. 10 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java
  5. 5 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateManageQueryResDto.java
  6. 3 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/AddressQueryExport.java
  7. 129 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/QueryAllCooperateInfoExcel.java
  8. 46 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/QueryAllCooperateInfoReqDto.java
  9. 5 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java
  10. 126 0
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryAllCooperateInfoResVo.java
  11. 14 2
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java
  12. 105 6
      sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java
  13. 87 46
      sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml
  14. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java
  15. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java
  16. 2 2
      sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java
  17. 2 1
      sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java
  18. 1 0
      sckw-modules/sckw-order/src/main/resources/mapper/KwoWantBuyMapper.xml
  19. 8 12
      sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/operation/GoodsManagerController.java
  20. 2 2
      sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java
  21. 1 8
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/OperationGoodsListExport.java
  22. 57 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/dto/OperatorGoodsListQueryDTO.java
  23. 36 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsExportQueryVO.java
  24. 40 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsListQueryVO.java
  25. 53 0
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsStsQueryVO.java
  26. 0 31
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectOperationGoodsListParam.java
  27. 183 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java
  28. 2 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  29. 37 44
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/operation/GoodsManagerService.java
  30. 0 1
      sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java
  31. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java
  32. 5 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java
  33. 17 8
      sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml
  34. 19 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java
  35. 2 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java
  36. 54 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java
  37. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java
  38. 41 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 0 - 1
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/controller/KwcPurchaseController.java

@@ -3,7 +3,6 @@ package com.sckw.contract.controller;
 import com.sckw.contract.model.vo.req.IdReqVo;
 import com.sckw.contract.model.vo.req.QueryListReqVo;
 import com.sckw.contract.service.KwcContractTradeService;
-import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.enums.EntTypeEnum;
 import com.sckw.core.web.response.HttpResult;
 import jakarta.servlet.http.HttpServletResponse;

+ 0 - 6
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmAddressController.java

@@ -126,10 +126,4 @@ public class KwmAddressController {
         return HttpResult.ok(kwmAddressService.detail(reqVo.getId()));
     }
 
-    @PostMapping("test")
-    public HttpResult test() {
-        kwmAddressService.test();
-        return HttpResult.ok();
-    }
-
 }

+ 23 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/controller/KwmCooperateManageController.java

@@ -163,4 +163,27 @@ public class KwmCooperateManageController {
         return HttpResult.ok(kwmCooperateManageService.findTargetEntCooperateInOur(reqVo));
     }
 
+    /**
+     * @param reqVo 分页入参
+     * @return HttpResult
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    @PostMapping("queryAllCooperateInfoByPage")
+    public HttpResult queryAllCooperateInfoByPage(@RequestBody CooperateManageQueryReqVo reqVo) {
+        return HttpResult.ok(kwmCooperateManageService.queryAllCooperateInfoByPage(reqVo));
+    }
+
+    /**
+     * @param reqVo 查询入参
+     * @desc: 导出
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    @PostMapping(value = "exportAllCooperateInfo", produces = MediaType.APPLICATION_JSON_VALUE)
+    public void exportAllCooperateInfo(@RequestBody CooperateManageQueryReqVo reqVo, HttpServletResponse response) {
+        kwmCooperateManageService.exportAllCooperateInfo(reqVo, response);
+    }
+
 }

+ 10 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/dao/KwmCooperateMapper.java

@@ -6,6 +6,7 @@ import com.sckw.manage.model.entity.KwmCooperate;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
 import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
+import com.sckw.manage.model.vo.req.QueryAllCooperateInfoReqDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -55,6 +56,15 @@ public interface KwmCooperateMapper extends BaseMapper<KwmCooperate> {
      * @date: 2023/8/16
      */
     List<KwmCooperate> findEntCooperate(FindEntCooperateReqVo reqVo);
+
+    /**
+     * @param reqDto 入参
+     * @return CooperateManageQueryResDto
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    List<CooperateManageQueryResDto> queryAllCooperateInfoList(@Param(value = "reqDto") QueryAllCooperateInfoReqDto reqDto);
 }
 
 

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/dto/res/CooperateManageQueryResDto.java

@@ -82,6 +82,11 @@ public class CooperateManageQueryResDto {
      */
     private Date createTime;
 
+    /**
+     * 修改时间
+     */
+    private Date updateTime;
+
     /**
      * 对方企业id
      */

+ 3 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/AddressQueryExport.java

@@ -30,6 +30,9 @@ public class AddressQueryExport implements Serializable {
     @ExcelProperty(value = "地址类型")
     private String typeName;
 
+    @ExcelProperty(value = "企业名称")
+    private String entName;
+
     @ExcelProperty(value = "电子围栏")
     private String fence;
 

+ 129 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/report/QueryAllCooperateInfoExcel.java

@@ -0,0 +1,129 @@
+package com.sckw.manage.model.report;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.excel.annotation.ExcelContext;
+import lombok.Data;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+@Accessors(chain = true)
+@ExcelContext(fileName = "合作信息", sheetName = "合作信息")
+public class QueryAllCooperateInfoExcel implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 823363899004504362L;
+
+    /**
+     * 状态名
+     */
+    @ExcelProperty(value = "合作状态")
+    private Integer statusName;
+
+
+    /**
+     * 邀请企业名
+     */
+    @ExcelProperty(value = "邀请单位名称")
+    private String inviterEntName;
+
+    /**
+     * 受邀企业名
+     */
+    @ExcelProperty(value = "受邀单位名称")
+    private String inviteeEntName;
+
+    /**
+     * 采购单位
+     */
+    @ExcelProperty(value = "采购单位")
+    private String ent1;
+
+    /**
+     * 供应单位
+     */
+    @ExcelProperty(value = "供应单位")
+    private String ent2;
+
+    /**
+     * 托运单位
+     */
+    @ExcelProperty(value = "托运单位")
+    private String ent3;
+
+    /**
+     * 承运单位
+     */
+    @ExcelProperty(value = "承运单位")
+    private String ent4;
+
+
+    /**
+     * 邀请单位客户经理
+     */
+    @ExcelProperty(value = "邀请单位客户经理")
+    private String inviterContacts;
+
+    /**
+     * 邀请经理电话
+     */
+    @ExcelProperty(value = "邀请经理电话")
+    private String inviterContactsPhone;
+
+    /**
+     * 受邀单位客户经理
+     */
+    @ExcelProperty(value = "受邀单位客户经理")
+    private String inviteeContacts;
+
+    /**
+     * 受邀经理电话
+     */
+    @ExcelProperty(value = "受邀经理电话")
+    private String inviteeContactsPhone;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    @ExcelProperty(value = "创建人")
+    private String createByName;
+
+    /**
+     * 联系电话
+     */
+    @ExcelProperty(value = "联系电话")
+    private String phone;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @ExcelProperty(value = "最近更新时间")
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    @ExcelProperty(value = "备注")
+    private String remark;
+
+}

+ 46 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/req/QueryAllCooperateInfoReqDto.java

@@ -0,0 +1,46 @@
+package com.sckw.manage.model.vo.req;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+public class QueryAllCooperateInfoReqDto {
+
+    /**
+     * 单位名称、联系人、电话
+     */
+    private String keywords;
+
+    /**
+     * 开始时间(时间戳)
+     */
+    private Date startTime;
+
+    /**
+     * 结束时间(时间戳)
+     */
+    private Date endTime;
+
+    /**
+     * id集合
+     */
+    private List<Long> ids;
+
+    /**
+     * 合作属性
+     */
+    private List<Integer> cooperateTypes;
+
+    /**
+     * 要查询的企业id
+     */
+    private List<Long> queryEntIdList;
+
+}

+ 5 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/AddressQueryResVo.java

@@ -121,4 +121,9 @@ public class AddressQueryResVo implements Serializable {
      */
     private Integer defaultType;
 
+    /**
+     * 企业名称
+     */
+    private String entName;
+
 }

+ 126 - 0
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/model/vo/res/QueryAllCooperateInfoResVo.java

@@ -0,0 +1,126 @@
+package com.sckw.manage.model.vo.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author czh
+ * @desc 运营端查合作信息
+ * @date 2023/9/15
+ */
+@Data
+public class QueryAllCooperateInfoResVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6887505191222426315L;
+
+    /**
+     * 状态
+     */
+    private Integer status;
+
+    /**
+     * 状态名
+     */
+    private String statusName;
+
+    /**
+     * 邀请企业id
+     */
+    private Long inviterEntId;
+
+    /**
+     * 邀请企业名
+     */
+    private String inviterEntName;
+
+    /**
+     * 受邀企业id
+     */
+    private Long inviteeEntId;
+
+    /**
+     * 受邀企业名
+     */
+    private String inviteeEntName;
+
+    /**
+     * 采购单位
+     */
+    private String ent1;
+
+    /**
+     * 供应单位
+     */
+    private String ent2;
+
+    /**
+     * 托运单位
+     */
+    private String ent3;
+
+    /**
+     * 承运单位
+     */
+    private String ent4;
+
+    /**
+     * 合作属性
+     */
+    private String cooperateTypes;
+
+    /**
+     * 邀请单位客户经理
+     */
+    private String inviterContacts;
+
+    /**
+     * 邀请经理电话
+     */
+    private String inviterContactsPhone;
+
+    /**
+     * 受邀单位客户经理
+     */
+    private String inviteeContacts;
+
+    /**
+     * 受邀经理电话
+     */
+    private String inviteeContactsPhone;
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 创建人
+     */
+    private String createByName;
+
+    /**
+     * 联系电话
+     */
+    private String phone;
+
+    /**
+     * 更新时间
+     */
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+}

+ 14 - 2
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmAddressService.java

@@ -11,6 +11,7 @@ import com.sckw.core.common.enums.enums.DictTypeEnum;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.AddressDefaultTypeEnum;
+import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.BeanUtils;
@@ -96,7 +97,6 @@ public class KwmAddressService {
         LambdaQueryWrapper<KwmAddress> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Objects.nonNull(reqVo.getCityCode()), KwmAddress::getCityCode, reqVo.getCityCode()).
                 eq(Objects.nonNull(reqVo.getType()), KwmAddress::getType, reqVo.getType()).
-                eq(KwmAddress::getEntId, LoginUserHolder.getEntId()).
                 eq(KwmAddress::getDelFlag, Global.NO).
                 and(StringUtils.isNotBlank(reqVo.getKeywords()),
                         wq -> wq.like(KwmAddress::getDetailAddress, reqVo.getKeywords()).or().
@@ -114,6 +114,11 @@ public class KwmAddressService {
         if (CollectionUtils.isNotEmpty(reqVo.getIds())) {
             wrapper.in(KwmAddress::getId, reqVo.getIds());
         }
+
+        if (!Objects.equals(LoginUserHolder.getSystemType(), SystemTypeEnum.MANAGE.getCode())) {
+            wrapper.eq(KwmAddress::getEntId, LoginUserHolder.getEntId());
+        }
+
         return kwmAddressMapper.selectList(wrapper);
     }
 
@@ -129,8 +134,9 @@ public class KwmAddressService {
         List<AddressQueryResVo> list = new ArrayList<>();
         List<Long> userIds = kwmAddresses.stream().map(KwmAddress::getCreateBy).distinct().toList();
         List<Integer> types = kwmAddresses.stream().map(KwmAddress::getType).distinct().toList();
+        List<Long> endIds = kwmAddresses.stream().map(KwmAddress::getEntId).distinct().toList();
         Map<Long, UserCacheResDto> userCacheResDtoMap = commonBusinessService.queryUserCacheMapByIds(userIds);
-
+        Map<Long, EntCacheResDto> entCacheResDtoMap = commonBusinessService.queryEntCacheMapByIds(endIds);
         StringBuilder keys = new StringBuilder();
         for (Integer type : types) {
             keys.append(DictTypeEnum.ADDRESS_TYPE.getType()).append(Global.POUND).append(type).append(Global.COMMA);
@@ -144,6 +150,7 @@ public class KwmAddressService {
             addressQueryResVo.setType(item.getType());
             UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
             SysDictResDto sysDictResDto = stringSysDictResDtoMap.get(DictTypeEnum.ADDRESS_TYPE.getType() + Global.POUND + item.getType());
+            EntCacheResDto entCacheResDto = entCacheResDtoMap.get(item.getEntId());
             if (Objects.nonNull(sysDictResDto)) {
                 addressQueryResVo.setTypeName(sysDictResDto.getLabel());
             }
@@ -151,6 +158,7 @@ public class KwmAddressService {
             if (Objects.nonNull(userCacheResDto)) {
                 addressQueryResVo.setCreateByName(userCacheResDto.getName());
             }
+
             if (Objects.nonNull(sysDictResDto)) {
                 addressQueryResVo.setTypeName(sysDictResDto.getLabel());
             }
@@ -159,6 +167,10 @@ public class KwmAddressService {
                 addressQueryResVo.setDefaultTypeName(AddressDefaultTypeEnum.getName(item.getDefaultType()).getName());
             }
 
+            if (Objects.nonNull(entCacheResDto)) {
+                addressQueryResVo.setEntName(entCacheResDto.getFirmName());
+            }
+
             addressQueryResVo.setFenceStatus(StringUtils.isNotBlank(item.getFence()) ? "已设置" : "未设置");
             list.add(addressQueryResVo);
         });

+ 105 - 6
sckw-modules/sckw-manage/src/main/java/com/sckw/manage/service/KwmCooperateManageService.java

@@ -1,6 +1,5 @@
 package com.sckw.manage.service;
 
-import java.io.IOException;
 import java.util.Date;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -19,31 +18,32 @@ import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.utils.EasyExcelUtil;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.manage.dao.KwmCooperateMapper;
 import com.sckw.manage.dao.KwmCooperateTypeMapper;
 import com.sckw.manage.model.dto.req.CooperateManageQueryReqDto;
 import com.sckw.manage.model.dto.res.CooperateManageQueryResDto;
+import com.sckw.manage.model.entity.KwmAddress;
 import com.sckw.manage.model.entity.KwmCooperate;
 import com.sckw.manage.model.entity.KwmCooperateType;
+import com.sckw.manage.model.report.AddressQueryExport;
 import com.sckw.manage.model.report.CooperateManageExport;
-import com.sckw.manage.model.vo.req.BindManagerReqVo;
-import com.sckw.manage.model.vo.req.CooperateManageQueryReqVo;
-import com.sckw.manage.model.vo.req.FindCooperateByEntReqVo;
-import com.sckw.manage.model.vo.req.FindEntCooperateReqVo;
+import com.sckw.manage.model.report.QueryAllCooperateInfoExcel;
+import com.sckw.manage.model.vo.req.*;
 import com.sckw.manage.model.vo.res.*;
 import com.sckw.payment.api.model.constant.OrderEnum;
 import com.sckw.stream.enums.MessageEnum;
 import com.sckw.stream.model.UserInfo;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.api.dubbo.TransportDubboService;
 import com.sckw.payment.api.dubbo.PaymentDubboService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
+import org.jetbrains.annotations.NotNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -673,4 +673,103 @@ public class KwmCooperateManageService {
         return kwmCooperateMapper.selectList(wrapper);
     }
 
+
+    /**
+     * @param reqVo 分页入参
+     * @return QueryAllCooperateInfoResVo
+     * @desc: 运营端查合作信息
+     * @author: czh
+     * @date: 2023/9/15
+     */
+    public PageResult queryAllCooperateInfoByPage(CooperateManageQueryReqVo reqVo) {
+        PageHelper.startPage(reqVo.getPage(), reqVo.getPageSize());
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.queryAllCooperateInfoList(getQueryAllCooperateInfoReqDto(reqVo));
+        if (CollectionUtils.isEmpty(list)) {
+            return PageHelperUtil.getPageResult(new PageInfo<>());
+        }
+
+        return PageHelperUtil.getPageResult(new PageInfo<>(getAllCooperateInfoVo(list)), list, reqVo.getPageSize());
+    }
+
+
+    /**
+     * 构建入参
+     */
+    private QueryAllCooperateInfoReqDto getQueryAllCooperateInfoReqDto(CooperateManageQueryReqVo reqVo) {
+        QueryAllCooperateInfoReqDto queryAllCooperateInfoReqDto = new QueryAllCooperateInfoReqDto();
+        BeanUtils.copyProperties(reqVo, queryAllCooperateInfoReqDto);
+        String cooperateTypes = reqVo.getCooperateTypes();
+        if (StringUtils.isNotBlank(cooperateTypes)) {
+            queryAllCooperateInfoReqDto.setCooperateTypes(Arrays.stream(cooperateTypes.split(Global.COMMA)).map(Integer::parseInt).toList());
+        }
+
+        if (StringUtils.isNotBlank(reqVo.getKeywords())) {
+            List<EntCacheResDto> entCacheResDtos = remoteSystemService.queryEntCacheByName(reqVo.getKeywords());
+            if (CollectionUtils.isNotEmpty(entCacheResDtos)) {
+                queryAllCooperateInfoReqDto.setQueryEntIdList(entCacheResDtos.stream().map(EntCacheResDto::getId).toList());
+            }
+        }
+        return queryAllCooperateInfoReqDto;
+    }
+
+    /**
+     * 获取返参
+     */
+    private List<QueryAllCooperateInfoResVo> getAllCooperateInfoVo(List<CooperateManageQueryResDto> list) {
+        List<Long> inviteeEntIds = list.stream().map(CooperateManageQueryResDto::getInviteeEntId).toList();
+        List<Long> inviterEntIds = list.stream().map(CooperateManageQueryResDto::getInviterEntId).toList();
+        List<Long> userIds = list.stream().map(CooperateManageQueryResDto::getCreateBy).toList();
+        List<Long> allEntIds = new ArrayList<>();
+        allEntIds.addAll(inviterEntIds);
+        allEntIds.addAll(inviteeEntIds);
+        Map<Long, EntCacheResDto> entCacheResDtoMap = remoteSystemService.queryEntCacheMapByIds(allEntIds);
+        Map<Long, UserCacheResDto> userCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
+
+        List<QueryAllCooperateInfoResVo> result = new ArrayList<>();
+        list.forEach(item -> {
+            QueryAllCooperateInfoResVo queryAllCooperateInfoResVo = new QueryAllCooperateInfoResVo();
+            queryAllCooperateInfoResVo.setStatus(item.getStatus());
+            queryAllCooperateInfoResVo.setStatusName(CooperateStatusEnum.getName(item.getStatus()));
+            queryAllCooperateInfoResVo.setInviterEntId(item.getInviterEntId());
+            queryAllCooperateInfoResVo.setInviteeEntId(item.getInviteeEntId());
+            EntCacheResDto entCacheResDto = entCacheResDtoMap.get(item.getInviterEntId());
+            queryAllCooperateInfoResVo.setInviterEntName(Objects.nonNull(entCacheResDto) ? entCacheResDto.getFirmName() : "");
+            EntCacheResDto entCacheResDto1 = entCacheResDtoMap.get(item.getInviteeEntId());
+            queryAllCooperateInfoResVo.setInviteeEntName(Objects.nonNull(entCacheResDto1) ? entCacheResDto1.getFirmName() : "");
+            queryAllCooperateInfoResVo.setCooperateTypes(item.getTypes());
+            queryAllCooperateInfoResVo.setEnt1(item.getTypes().contains(String.valueOf(CooperateTypeEnum.SUPPLIER.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt2(item.getTypes().contains(String.valueOf(CooperateTypeEnum.PURCHASER.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt3(item.getTypes().contains(String.valueOf(CooperateTypeEnum.CONSIGN.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setEnt4(item.getTypes().contains(String.valueOf(CooperateTypeEnum.CARRIAGE.getCode())) ? "是" : "");
+            queryAllCooperateInfoResVo.setInviterContacts(item.getInviterContacts());
+            queryAllCooperateInfoResVo.setInviterContactsPhone(item.getInviterPhone());
+            queryAllCooperateInfoResVo.setInviteeContacts(item.getInviteeContacts());
+            queryAllCooperateInfoResVo.setInviteeContactsPhone(item.getInviteePhone());
+            queryAllCooperateInfoResVo.setCreateTime(item.getCreateTime());
+
+            UserCacheResDto userCacheResDto = userCacheResDtoMap.get(item.getCreateBy());
+            queryAllCooperateInfoResVo.setCreateByName(Objects.nonNull(userCacheResDto) ? userCacheResDto.getName(): "");
+            queryAllCooperateInfoResVo.setPhone(Objects.nonNull(userCacheResDto) ? userCacheResDto.getPhone() : "");
+            queryAllCooperateInfoResVo.setUpdateTime(item.getUpdateTime());
+            queryAllCooperateInfoResVo.setRemark(item.getRemark());
+            result.add(queryAllCooperateInfoResVo);
+        });
+        return result;
+    }
+
+
+    /**
+     * @param reqVo 查询入参
+     * @desc: 导出
+     * @author: czh
+     * @date: 2023/7/11
+     */
+    public void exportAllCooperateInfo(CooperateManageQueryReqVo reqVo, HttpServletResponse response) {
+        List<CooperateManageQueryResDto> list = kwmCooperateMapper.queryAllCooperateInfoList(getQueryAllCooperateInfoReqDto(reqVo));
+        if (CollectionUtils.isEmpty(list)) {
+            throw new SystemException("导出数据为空");
+        }
+        ExcelUtil.downData(response, QueryAllCooperateInfoExcel.class, BeanUtils.copyToList(getAllCooperateInfoVo(list), QueryAllCooperateInfoExcel.class));
+    }
+
 }

+ 87 - 46
sckw-modules/sckw-manage/src/main/resources/mapper/KwmCooperateMapper.xml

@@ -4,55 +4,27 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sckw.manage.dao.KwmCooperateMapper">
 
-    <resultMap id="BaseResultMap" type="com.sckw.manage.model.entity.KwmCooperate">
-            <id property="id" column="id" jdbcType="BIGINT"/>
-            <result property="entId" column="ent_id" jdbcType="BIGINT"/>
-            <result property="inviterEntId" column="inviter_ent_id" jdbcType="BIGINT"/>
-            <result property="inviteeEntId" column="invitee_ent_id" jdbcType="BIGINT"/>
-            <result property="inviterContacts" column="inviter_contacts" jdbcType="VARCHAR"/>
-            <result property="inviterPhone" column="inviter_phone" jdbcType="VARCHAR"/>
-            <result property="inviteeContacts" column="invitee_contacts" jdbcType="VARCHAR"/>
-            <result property="inviteePhone" column="invitee_phone" jdbcType="VARCHAR"/>
-            <result property="remark" column="remark" jdbcType="VARCHAR"/>
-            <result property="status" column="status" jdbcType="INTEGER"/>
-            <result property="createBy" column="create_by" jdbcType="BIGINT"/>
-            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
-            <result property="updateBy" column="update_by" jdbcType="BIGINT"/>
-            <result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
-            <result property="delFlag" column="del_flag" jdbcType="INTEGER"/>
-    </resultMap>
-
-    <sql id="Base_Column_List">
-        id,ent_id,inviter_ent_id,
-        invitee_ent_id,inviter_contacts,inviter_phone,
-        invitee_contacts,invitee_phone,remark,
-        status,create_by,create_time,
-        update_by,update_time,del_flag
-    </sql>
-
     <select id="findList" parameterType="com.sckw.manage.model.dto.req.CooperateManageQueryReqDto"
             resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
         SELECT a.id,
-        b.status,
-        group_concat(b.type) types,
-        min(a.ent_id) entId,
-        min(a.invitee_ent_id) inviteeEntId,
-        min(a.inviter_ent_id) inviterEntId,
-        min(a.invitee_contacts) inviteeContacts,
-        min(a.inviter_contacts) inviterContacts,
-        min(a.invitee_contacts_id) inviteeContactsId,
-        min(a.inviter_contacts_id) inviterContactsId,
-        min(a.invitee_phone) inviteePhone,
-        min(a.inviter_phone) inviterPhone,
-        min(b.create_time) createTime,
-        min(b.create_by) createBy,
-        min(a.remark) remark,
-        min(a.approval_remark) approvalRemark,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end
-        targetEntId,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end
-        ourEntId,
-        case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
+            b.status,
+            group_concat(b.type) types,
+            min(a.ent_id) entId,
+            min(a.invitee_ent_id) inviteeEntId,
+            min(a.inviter_ent_id) inviterEntId,
+            min(a.invitee_contacts) inviteeContacts,
+            min(a.inviter_contacts) inviterContacts,
+            min(a.invitee_contacts_id) inviteeContactsId,
+            min(a.inviter_contacts_id) inviterContactsId,
+            min(a.invitee_phone) inviteePhone,
+            min(a.inviter_phone) inviterPhone,
+            min(b.create_time) createTime,
+            min(b.create_by) createBy,
+            min(a.remark) remark,
+            min(a.approval_remark) approvalRemark,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.invitee_ent_id) else min(a.inviter_ent_id) end targetEntId,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then min(a.inviter_ent_id) else min(a.invitee_ent_id) end ourEntId,
+            case when min(a.ent_id) = #{reqDto.currentEntId} then 1 else 2 end applyTypeCode
         FROM kwm_cooperate a
         LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id
         WHERE a.del_flag = 0
@@ -272,4 +244,73 @@
                 )
     </select>
 
+    <select id="queryAllCooperateInfoList"
+            resultType="com.sckw.manage.model.dto.res.CooperateManageQueryResDto">
+        SELECT a.id,
+               min(a.status) status,
+               group_concat(b.type) types,
+               min(a.ent_id) entId,
+               min(a.invitee_ent_id) inviteeEntId,
+               min(a.inviter_ent_id) inviterEntId,
+               min(a.invitee_contacts) inviteeContacts,
+               min(a.inviter_contacts) inviterContacts,
+               min(a.invitee_contacts_id) inviteeContactsId,
+               min(a.inviter_contacts_id) inviterContactsId,
+               min(a.invitee_phone) inviteePhone,
+               min(a.inviter_phone) inviterPhone,
+               min(b.create_time) createTime,
+               min(b.update_time) updateTime,
+               min(b.create_by) createBy,
+               min(a.remark) remark
+          FROM kwm_cooperate a
+          LEFT JOIN kwm_cooperate_type b ON a.id = b.cooperate_id and b.status = 1 and b.del_flag = 0
+         WHERE a.del_flag = 0
+           and a.status in (1,2)
+        <if test="reqDto.cooperateTypes != null and reqDto.cooperateTypes.size() > 0">
+            and exists (select 1
+                          from kwm_cooperate_type c
+                         where c.cooperate_id = a.id
+                           and c.status = b.status
+                           and c.del_flag = 0
+                           and c.type in
+                        <foreach collection="reqDto.cooperateTypes" item="item" open="(" close=")" separator=",">
+                            #{item}
+                        </foreach>
+                        )
+        </if>
+        <if test="reqDto.startTime != null">
+            and b.create_time >= #{reqDto.startTime}
+        </if>
+        <if test="reqDto.endTime != null">
+            and b.create_time &lt; date_add(#{reqDto.endTime}, INTERVAL 1 DAY)
+        </if>
+        <if test="reqDto.ids != null and reqDto.ids.size() > 0">
+             and a.id in
+            <foreach collection="reqDto.ids" separator="," open="(" close=")" item="item">
+                #{item}
+            </foreach>
+        </if>
+        <if test="reqDto.queryEntIdList != null and reqDto.queryEntIdList.size() > 0">
+            and (a.inviter_ent_id in
+                    <foreach collection="reqDto.queryEntIdList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                    or
+                a.invitee_ent_id in
+                    <foreach collection="reqDto.queryEntIdList" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                )
+        </if>
+        <if test="reqDto.keywords != null and (reqDto.queryEntIdList == null or reqDto.queryEntIdList.size() == 0)">
+            and (a.invitee_contacts like concat('%', #{reqDto.keywords}, '%') or
+                 a.inviter_contacts like concat('%', #{reqDto.keywords}, '%') or
+                 a.invitee_phone like concat('%', #{reqDto.keywords}, '%') or
+                 a.inviter_phone like concat('%', #{reqDto.keywords}, '%')
+                )
+        </if>
+        group by a.id
+        order by a.create_time desc
+    </select>
+
 </mapper>

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/ExportTransportDemandParam.java

@@ -25,13 +25,13 @@ public class ExportTransportDemandParam {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/SelectTransportDemandParam.java

@@ -26,13 +26,13 @@ public class SelectTransportDemandParam extends PageRequest {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 2 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/model/vo/req/StatisticTransportDemandParam.java

@@ -25,13 +25,13 @@ public class StatisticTransportDemandParam {
     /**
      * 创建时间开始
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date startCreateTime;
 
     /**
      * 创建时间结束
      */
-    @JsonFormat(pattern="yyyy-MM-dd", timezone = "GMT+8")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date endCreateTime;
 
     /**

+ 2 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTransportDemandService.java

@@ -232,7 +232,7 @@ public class KwoTransportDemandService {
             return wrapper;
         }
         if (Objects.nonNull(param.getEndCreateTime())) {
-            wrapper.le(KwoTransportDemand::getCreateTime, DateUtil.offsetDay(param.getEndCreateTime(), 1));
+            wrapper.le(KwoTransportDemand::getCreateTime, param.getEndCreateTime());
         }
         wrapper.ge(Objects.nonNull(param.getStartCreateTime()), KwoTransportDemand::getCreateTime, param.getStartCreateTime())
                 .eq(Objects.nonNull(param.getStatus()), KwoTransportDemand::getStatus, param.getStatus())
@@ -448,6 +448,7 @@ public class KwoTransportDemandService {
                 wrapper.like(KwoTransportDemand::getName, param.getKeywords());
             }
         }
+        wrapper.last("order by RAND()");
         Page<KwoTransportDemand> kwpGoodsPage = kwoTransportDemandMapper.selectPage(page, wrapper);
         List<KwoTransportDemand> list = kwpGoodsPage.getRecords();
         if (CollectionUtils.isEmpty(list)) {

+ 1 - 0
sckw-modules/sckw-order/src/main/resources/mapper/KwoWantBuyMapper.xml

@@ -143,5 +143,6 @@
             <include refid="where" />
         </where>
         group by kb.id
+        order by RAND()
     </select>
 </mapper>

+ 8 - 12
sckw-modules/sckw-product/src/main/java/com/sckw/product/controller/operation/GoodsManagerController.java

@@ -4,24 +4,21 @@ import com.sckw.core.exception.BusinessException;
 import com.sckw.core.utils.CollectionUtils;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.utils.ExcelUtil;
-import com.sckw.product.model.GoodsListExport;
 import com.sckw.product.model.OperationGoodsListExport;
-import com.sckw.product.model.vo.req.ExportStatisticGoodsListParam;
-import com.sckw.product.model.vo.req.SelectGoodsListParam;
-import com.sckw.product.model.vo.req.SelectOperationGoodsListParam;
-import com.sckw.product.model.vo.req.StatisticGoodsListParam;
-import com.sckw.product.service.KwpGoodsService;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.service.operation.GoodsManagerService;
-import com.sckw.product.service.KwpGoodsService;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.MediaType;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
 /**
- * @desc: TODO
+ * @desc: 运营端商品管理
  * @author: yzc
  * @date: 2023-09-14 9:13
  */
@@ -32,7 +29,6 @@ import java.util.List;
 public class GoodsManagerController {
 
     private final GoodsManagerService goodsManagerService;
-    private final KwpGoodsService kwpGoodsService;
 
     /**
      * @desc: 运营端分页查询商品
@@ -42,7 +38,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/select", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult select(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult select(@RequestBody @Validated OperatorGoodsListQueryVO params) {
         return HttpResult.ok(goodsManagerService.select(params));
     }
 
@@ -66,7 +62,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/statistic", produces = MediaType.APPLICATION_JSON_VALUE)
-    public HttpResult statistic(@RequestBody SelectOperationGoodsListParam params) {
+    public HttpResult statistic(@RequestBody OperatorGoodsStsQueryVO params) {
         return HttpResult.ok(goodsManagerService.statistic(params));
     }
 
@@ -78,7 +74,7 @@ public class GoodsManagerController {
      * @return: com.sckw.core.web.response.HttpResult
      */
     @PostMapping(value = "/export", produces = MediaType.APPLICATION_JSON_VALUE)
-    public void export(@RequestBody ExportStatisticGoodsListParam params, HttpServletResponse response) {
+    public void export(@RequestBody @Validated OperatorGoodsExportQueryVO params, HttpServletResponse response) {
         List<OperationGoodsListExport> list = goodsManagerService.export(params);
         if (CollectionUtils.isEmpty(list)) {
             throw new BusinessException("导出数据为空!");

+ 2 - 2
sckw-modules/sckw-product/src/main/java/com/sckw/product/enums/GoodsStatusEnum.java

@@ -21,8 +21,8 @@ public enum GoodsStatusEnum {
     PUT_ON_SHELVES(1, "上架中"),
     TAKE_OFF_SHELVES(2, "已下架");
 
-    private Integer code;
-    private String msg;
+    private final Integer code;
+    private final String msg;
 
 
     public static String getNameByCode(Integer code) {

+ 1 - 8
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/OperationGoodsListExport.java

@@ -16,7 +16,7 @@ import java.io.Serializable;
 @Data
 @Accessors(chain = true)
 @ExcelContext(fileName = "商品列表信息", sheetName = "商品列表信息")
-public class OperationGoodsListExport{
+public class OperationGoodsListExport implements Serializable{
 
     @Serial
     private static final long serialVersionUID = 6833195135537265912L;
@@ -87,11 +87,4 @@ public class OperationGoodsListExport{
     @ExcelProperty(value = "备注")
     private String remark;
 
-
-
-
-
-
-
-
 }

+ 57 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/dto/OperatorGoodsListQueryDTO.java

@@ -0,0 +1,57 @@
+package com.sckw.product.model.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品列表统计查询条件dto
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryDTO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 2258717936068928595L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+    private Integer status;
+
+    private String ids;
+
+}

+ 36 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsExportQueryVO.java

@@ -0,0 +1,36 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品导出查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsExportQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4178831851730806796L;
+
+    /**
+     * 订单状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+    /**
+     * 订单ids
+     */
+    private String ids;
+
+
+}

+ 40 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsListQueryVO.java

@@ -0,0 +1,40 @@
+package com.sckw.product.model.vo.req;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import org.hibernate.validator.constraints.Range;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsListQueryVO extends OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 5355476498003837580L;
+
+    /**
+     * 当前页码
+     */
+    private int page = 1;
+    /**
+     * 每页数量
+     */
+    private int pageSize = 10;
+
+    /**
+     * 状态
+     */
+    @Range(min = 1, max = 2, message = "非法商品状态")
+    private Integer status;
+
+
+}

+ 53 - 0
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/OperatorGoodsStsQueryVO.java

@@ -0,0 +1,53 @@
+package com.sckw.product.model.vo.req;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @desc: 运营端商品统计查询参数vo
+ * @author: yzc
+ * @date: 2023-09-14 11:33
+ */
+@Getter
+@Setter
+@ToString
+public class OperatorGoodsStsQueryVO implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -6207372741308602907L;
+
+
+    /**
+     * 模糊匹配商品名称、仓储地址、客户经理
+     */
+    private String keywords;
+
+    /**
+     * 创建时间开始(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startCreateTime;
+
+    /**
+     * 创建时间结束(yyyy-MM-dd HH:mm:ss)
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date endCreateTime;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型type值
+     */
+    private String goodsTypeValue;
+
+}

+ 0 - 31
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/req/SelectOperationGoodsListParam.java

@@ -1,31 +0,0 @@
-package com.sckw.product.model.vo.req;
-
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-
-/**
- * @desc: 分页查询运营端商品列表请求参数
- * @author: lt
- * @date: 2023-09-14 14:01
- */
-@Getter
-@Setter
-@ToString
-public class SelectOperationGoodsListParam extends StatisticGoodsListParam {
-
-    /**
-     * 当前页码
-     */
-    private int page = 1;
-    /**
-     * 每页数量
-     */
-    private int pageSize = 10;
-
-    /**
-     * 状态
-     */
-    private Integer status;
-
-}

+ 183 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/model/vo/res/OperationGoodsDetail.java

@@ -6,6 +6,8 @@ import lombok.Setter;
 import lombok.ToString;
 import lombok.experimental.Accessors;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
@@ -19,6 +21,186 @@ import java.util.List;
 @Setter
 @ToString
 @Accessors(chain = true)
-public class OperationGoodsDetail extends GoodsDetail{
+public class OperationGoodsDetail implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = -4764298791581321673L;
+
+    /**
+     * 商品id
+     */
+    private Long id;
+
+    /**
+     * 企业id
+     */
+    private Long entId;
+
+    /**
+     * 企业名称
+     */
+    private String ent;
+
+    /**
+     * 企业头像
+     */
+    private String entHead;
+
+    /**
+     * 企业主营范围
+     */
+    private String entBusiness;
+
+    /**
+     * 企业地址
+     */
+    private String entAddress;
+
+    /**
+     * 供应单位id
+     */
+    private Long supplyEntId;
+
+    /**
+     * 供应单位名称
+     */
+    private String supplyEnt;
+
+    /**
+     * 商品编号
+     */
+    private String code;
+
+    /**
+     * 商品名称
+     */
+    private String name;
+
+    /**
+     * 商品类型
+     */
+    private String goodsType;
+
+    /**
+     * 商品类型lab
+     */
+    private String goodsTypeLabel;
+
+    /**
+     * 库存数量
+     */
+    private BigDecimal amount;
+
+    /**
+     * 单位(吨、方、件、箱、其他)
+     */
+    private String unit;
+
+    /**
+     * 单位lab
+     */
+    private String unitLabel;
+
+    /**
+     * 尺寸大小
+     */
+    private String spec;
+
+    /**
+     * 发票税率
+     */
+    private String taxRate;
+
+    /**
+     * 发票税率label
+     */
+    private String taxRateLabel;
+
+    /**
+     * 是否设置预付限额0否1是
+     */
+    private Integer prepaidLimit;
+
+    /**
+     * 是否设置预付限额label
+     */
+    private String prepaidLimitLabel;
+
+    /**
+     * 预付款最低限额
+     */
+    private BigDecimal advancePrice;
+
+    /**
+     * 专属客户经理id
+     */
+    private Long manager;
+
+    /**
+     * 专属客户经理姓名
+     */
+    private String managerName;
+
+    /**
+     * 专属客户经理电话
+     */
+    private String managerPhone;
+
+    /**
+     * 成交量
+     */
+    private BigDecimal performedAmount;
+
+    /**
+     * 缩略图
+     */
+    private String thumb;
+
+    /**
+     * 上架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date addedTime;
+
+    /**
+     * 下架时间
+     */
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date shelfTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 状态:0草稿/1上架/2下架
+     */
+    private Integer status;
+
+    /**
+     * 状态label
+     */
+    private String statusLabel;
+
+    /**
+     * 商品详情图片
+     */
+    private List<GoodsImagesDetail> images;
+
+    /**
+     * 地址信息
+     */
+    private AddressInfoDetail addressInfo;
+
+    /**
+     * 价格梯度
+     */
+    private List<GoodsPriceRangesDetail> priceRanges;
+
+    /**
+     * 参数目录
+     */
+    private List<GoodsAttributesDetail> attributes;
 
 }

+ 2 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -558,7 +558,7 @@ public class KwpGoodsService {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {
@@ -804,6 +804,7 @@ public class KwpGoodsService {
                 wrapper.like(KwpGoods::getName, params.getKeywords());
             }
         }
+        wrapper.last("order by RAND()");
         Page<KwpGoods> kwpGoodsPage = kwpGoodsMapper.selectPage(page, wrapper);
         List<KwpGoods> list = kwpGoodsPage.getRecords();
         if (CollectionUtils.isEmpty(list)) {

+ 37 - 44
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/operation/GoodsManagerService.java

@@ -11,15 +11,22 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
 import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
-import com.sckw.core.utils.*;
+import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.CollectionUtils;
+import com.sckw.core.utils.StringUtils;
 import com.sckw.excel.utils.DateUtil;
-import com.sckw.payment.api.dubbo.PayCenterDubboService;
 import com.sckw.product.dao.KwpGoodsMapper;
 import com.sckw.product.enums.GoodsStatusEnum;
 import com.sckw.product.model.*;
-import com.sckw.product.model.vo.req.*;
+import com.sckw.product.model.dto.OperatorGoodsListQueryDTO;
+import com.sckw.product.model.vo.req.OperatorGoodsExportQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsListQueryVO;
+import com.sckw.product.model.vo.req.OperatorGoodsStsQueryVO;
 import com.sckw.product.model.vo.res.*;
-import com.sckw.product.service.*;
+import com.sckw.product.service.KwpGoodsAddressService;
+import com.sckw.product.service.KwpGoodsAttributeService;
+import com.sckw.product.service.KwpGoodsImageService;
+import com.sckw.product.service.KwpGoodsPriceRangeService;
 import com.sckw.system.api.RemoteSystemService;
 import com.sckw.system.api.RemoteUserService;
 import com.sckw.system.api.model.dto.res.EntCacheResDto;
@@ -29,8 +36,6 @@ import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.config.annotation.DubboReference;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.stream.function.StreamBridge;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
@@ -54,22 +59,16 @@ public class GoodsManagerService {
     @DubboReference(version = "1.0.0", group = "design", check = false)
     private RemoteUserService remoteUserService;
 
-    @DubboReference(version = "1.0.0", group = "design", check = false)
-    private PayCenterDubboService payCenterDubboService;
 
     private final KwpGoodsMapper kwpGoodsMapper;
     private final KwpGoodsAddressService kwpGoodsAddressService;
     private final KwpGoodsAttributeService kwpGoodsAttributeService;
     private final KwpGoodsImageService kwpGoodsImageService;
     private final KwpGoodsPriceRangeService kwpGoodsPriceRangeService;
-    private final StreamBridge streamBridge;
-
-    @Value("${goods.url.list}")
-    private String goodsListUrl;
 
 
-    public PageResult select(SelectOperationGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+    public PageResult select(OperatorGoodsListQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         Page<KwpGoods> page = new Page<>(params.getPage(), params.getPageSize());
         IPage<KwpGoods> goodsIpage = kwpGoodsMapper.selectPage(page, wrapper);
         List<KwpGoods> list = goodsIpage.getRecords();
@@ -88,43 +87,44 @@ public class GoodsManagerService {
      * @Param list:
      * @return: java.util.List<com.sckw.product.model.vo.res.GoodsList>
      */
-    private LambdaQueryWrapper<KwpGoods> buildWrapper(ExportStatisticGoodsListParam params) {
+    private LambdaQueryWrapper<KwpGoods> buildWrapper(OperatorGoodsListQueryDTO params) {
         LambdaQueryWrapper<KwpGoods> wrapper = new LambdaQueryWrapper<>();
         if (StringUtils.isNotBlank(params.getIds())) {
             List<Long> ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
             wrapper.in(KwpGoods::getId, ids);
         } else {
-            if (Objects.nonNull(params.getEndCreateTime())) {
+            if (Objects.nonNull(params.getStartCreateTime())) {
                 wrapper.ge(KwpGoods::getCreateTime, params.getStartCreateTime());
             }
             if (Objects.nonNull(params.getEndCreateTime())) {
                 wrapper.le(KwpGoods::getCreateTime, params.getEndCreateTime());
             }
             //运营端不需要显示草稿数据
-            wrapper.ne(KwpGoods::getStatus, 0);
-            wrapper.eq(Objects.nonNull(params.getSupplyEntId()), KwpGoods::getSupplyEntId, params.getSupplyEntId())
-                    .eq(Objects.nonNull(params.getPrepaidLimit()), KwpGoods::getPrepaidLimit, params.getPrepaidLimit())
-                    .eq(Objects.nonNull(params.getStatus()), KwpGoods::getStatus, params.getStatus());
-            if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
-                List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
-                if (CollectionUtils.isNotEmpty(goodsTypeList)) {
-                    List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
-                    wrapper.in(KwpGoods::getGoodsType, goodsTypes);
-                }
+            if (Objects.isNull(params.getStatus())) {
+                wrapper.ne(KwpGoods::getStatus, 0);
+            } else {
+                wrapper.eq(KwpGoods::getStatus, params.getStatus());
             }
             String keywords = params.getKeywords();
             if (StringUtils.isNotBlank(keywords)) {
                 //模糊匹配商品名称、仓储地址、客户经理
                 List<KwsUserResDto> managers = remoteUserService.getUserByName(keywords);
-                if (CollectionUtils.isEmpty(managers)) {
-                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
-                } else {
+                if (CollectionUtils.isNotEmpty(managers)) {
                     List<Long> managerIds = managers.stream().map(KwsUserResDto::getId).toList();
                     wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords)
                             .or().in(KwpGoods::getManager, managerIds));
+                } else {
+                    wrapper.and(e -> e.like(KwpGoods::getName, keywords).or().like(KwpGoods::getAddressName, keywords));
                 }
             }
         }
+        if (StringUtils.isNotBlank(params.getGoodsType()) && StringUtils.isNotBlank(params.getGoodsTypeValue())) {
+            List<SysDictResDto> goodsTypeList = remoteSystemService.queryDictBottom(params.getGoodsType(), params.getGoodsTypeValue());
+            if (CollectionUtils.isNotEmpty(goodsTypeList)) {
+                List<String> goodsTypes = goodsTypeList.stream().map(SysDictResDto::getValue).toList();
+                wrapper.in(KwpGoods::getGoodsType, goodsTypes);
+            }
+        }
         wrapper.eq(KwpGoods::getDelFlag, Global.NO).orderByDesc(KwpGoods::getCreateTime);
         return wrapper;
     }
@@ -253,16 +253,18 @@ public class GoodsManagerService {
      * @Param params:
      * @return: com.sckw.core.model.vo.TableStatisticRes
      */
-    public TableStatisticRes statistic(SelectOperationGoodsListParam params) {
+    public TableStatisticRes statistic(OperatorGoodsStsQueryVO params) {
         TableStatisticRes res = new TableStatisticRes();
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, ExportStatisticGoodsListParam.class));
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> goodsList = kwpGoodsMapper.selectList(wrapper);
         Map<Integer, List<KwpGoods>> map = goodsList.stream().collect(Collectors.groupingBy(KwpGoods::getStatus));
         List<TableTop> tableTops = new ArrayList<>();
         TableTop all = new TableTop();
         all.setName("全部").setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
         tableTops.add(all);
-        GoodsStatusEnum.getSortList().forEach(e -> {
+        List<GoodsStatusEnum> sortList = GoodsStatusEnum.getSortList();
+        sortList.remove(0);
+        sortList.forEach(e -> {
             List<KwpGoods> list = map.get(e.getCode());
             int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
             TableTop tableTop = new TableTop();
@@ -271,10 +273,7 @@ public class GoodsManagerService {
         });
         TableBottom tableBottom = new TableBottom();
         tableBottom.setTotal(CollectionUtils.isEmpty(goodsList) ? 0 : goodsList.size());
-        List<TableTop> filteredTableTops = tableTops.stream()
-                .filter(tableTop -> !tableTop.getName().equals("已保存"))
-                .collect(Collectors.toList());
-        res.setTableTops(filteredTableTops).setTableBottom(tableBottom);
+        res.setTableTops(tableTops).setTableBottom(tableBottom);
         return res;
     }
 
@@ -285,8 +284,8 @@ public class GoodsManagerService {
      * @Param params:
      * @return: void
      */
-    public List<OperationGoodsListExport> export(ExportStatisticGoodsListParam params) {
-        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(params);
+    public List<OperationGoodsListExport> export(OperatorGoodsExportQueryVO params) {
+        LambdaQueryWrapper<KwpGoods> wrapper = buildWrapper(BeanUtils.copyProperties(params, OperatorGoodsListQueryDTO.class));
         List<KwpGoods> list = kwpGoodsMapper.selectList(wrapper);
         List<OperationGoodsList> goodsLists = buildGoodLists(list);
         if (CollectionUtils.isEmpty(goodsLists)) {
@@ -309,10 +308,4 @@ public class GoodsManagerService {
     }
 
 
-
-
-
-
-
-
 }

+ 0 - 1
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -1,6 +1,5 @@
 package com.sckw.system.controller;
 
-import com.sckw.core.exception.SystemException;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsEnterprise;

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/pojo/FindPojoParam.java

@@ -68,4 +68,9 @@ public class FindPojoParam extends PageRequest {
      */
     private Long entId;
 
+    /**
+     * 查企业客户
+     */
+    private Integer customer;
+
 }

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntFindPageReqVo.java

@@ -94,4 +94,9 @@ public class EntFindPageReqVo extends PageRequest implements Serializable {
      */
     private Long entId;
 
+    /**
+     * 查企业客户
+     */
+    private Integer customer;
+
 }

+ 17 - 8
sckw-modules/sckw-system/src/main/resources/mapper/KwsEnterpriseDao.xml

@@ -96,14 +96,20 @@
     left join kws_user k on a.create_by = k.id
     left join kws_user ku on a.update_by = ku.id
     left join kws_ent_type b on a.id = b.ent_id and b.del_flag = 0
-    left join kws_ent_dept c on a.id = c.ent_id
+    left join kws_ent_dep c on a.id = c.ent_id
     left join kws_enterprise d on c.ent_pid = d.id
-    <if test="dto.typeList != null and dto.typeList.size() > 0">and b.type in
-      <foreach collection="dto.typeList" item="item" open="(" close=")" separator=",">
-        #{item}
-      </foreach>
-    </if>
     where a.del_flag = 0
+      <if test="dto.typeList != null and dto.typeList.size() > 0">
+        and exists (select 1
+                      from kws_ent_type kt
+                     where a.id = kt.ent_id
+                       and kt.del_flag = 0
+                       and kt.type in
+                      <foreach collection="dto.typeList" item="item" open="(" close=")" separator=",">
+                          #{item}
+                      </foreach>
+                  )
+      </if>
       <choose>
         <when test="dto.approval != null and dto.approval == 3">
           and a.approval in (3,4)
@@ -112,6 +118,9 @@
           and a.approval = #{dto.approval}
         </when>
       </choose>
+      <if test="dto.customer != null and dto.customer == 1">
+        and a.approval in (1, 4)
+      </if>
     <if test="dto.keywords != null">
       and (a.contacts like concat('%', #{dto.keywords}, '%') or a.phone like concat('%', #{dto.keywords}, '%') or a.firm_name like concat('%', #{dto.keywords}, '%'))
     </if>
@@ -130,10 +139,10 @@
     <if test="dto.status != null and dto.status != ''">
       and a.status = #{dto.status}
     </if>
-    <if test="dto.entryType != null and dto.entryType == '1'">
+    <if test="dto.entryType != null and dto.entryType == 1">
       and k.system_type = 2
     </if>
-    <if test="dto.entryType != null and dto.entryType == '2'">
+    <if test="dto.entryType != null and dto.entryType == 2">
       and k.system_type = 1
     </if>
     <choose>

+ 19 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/operationManagement/ManagementLogisticsOrderController.java

@@ -9,6 +9,7 @@ import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
 import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
+import com.sckw.transport.model.param.OrderQuery;
 import com.sckw.transport.model.vo.execlVo.ManagementLogisticsOrderExcelVo;
 import com.sckw.transport.service.ManagementLogisticsOrderService;
 import jakarta.servlet.http.HttpServletResponse;
@@ -148,4 +149,22 @@ public class ManagementLogisticsOrderController {
         }
     }
 
+
+    /**
+     * 运营端-贸易订单-获取物流订单
+     *
+     * @param query 订单查询
+     * @return
+     */
+    @RequestMapping(value = "/selectLogisticsOrder", method = RequestMethod.POST)
+    public HttpResult selectLogisticsOrderByTradeOrder(@Valid @RequestBody OrderQuery query) {
+        log.info("运营端-贸易订单-获取物流订单 传递参数信息:{}", JSONObject.toJSONString(query));
+        try {
+            return managementLogisticsOrderService.selectLogisticsOrderByTradeOrder(query.getIds(), query.getPage(), query.getPageSize());
+        } catch (Exception e) {
+            log.error("运营端-贸易订单-获取物流订单 error :{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
 }

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/KwtLogisticsOrderMapper.java

@@ -338,6 +338,8 @@ public interface KwtLogisticsOrderMapper extends BaseMapper<KwtLogisticsOrder> {
 
     List<LogisticsOrderStatisticsVO> workbenchLogisticsOrderStatisticsByDays(@Param("id") Long id, @Param("statusList") List<Integer> statusList,@Param("type") Integer type, @Param("dateStart") String dateStart, @Param("dateEnd") String dateEnd);
 
+    List<com.sckw.transport.model.dto.LogisticsOrderDTO> selectOrderListByTradeOrderIds(@Param("tradeOrderIds") List<Long> tradeOrderIds, @Param("unitType") String unitType);
+
 
 //    List<TableTops> countAppLogisticsOrderListByStatus(@Param("type") String type,@Param("entId") Long entId
 //    );

+ 54 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ManagementLogisticsOrderService.java

@@ -8,6 +8,7 @@ import com.sckw.contract.api.model.dto.res.ContractCommonInfoResDto;
 import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.common.enums.enums.DictTypeEnum;
+import com.sckw.core.exception.BusinessException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.CarWaybillEnum;
 import com.sckw.core.model.enums.LogisticsOrderEnum;
@@ -28,6 +29,7 @@ import com.sckw.system.api.model.dto.res.SysDictResDto;
 import com.sckw.system.api.model.dto.res.UserCacheResDto;
 import com.sckw.transport.dao.*;
 import com.sckw.transport.model.*;
+import com.sckw.transport.model.dto.LogisticsOrderDTO;
 import com.sckw.transport.model.param.LogisticsOrderQuery;
 import com.sckw.transport.model.param.ManagementContractParam;
 import com.sckw.transport.model.param.ManagementLogisticsOrderQuery;
@@ -669,4 +671,56 @@ public class ManagementLogisticsOrderService {
         PageResult build = PageResult.build(contractParam.getPage(), contractParam.getPageSize(), list.stream().count(), returnList);
         return HttpResult.ok(build);
     }
+
+    /**
+     * 运营端-贸易订单查询物流订单数据
+     *
+     * @param ids
+     * @param page
+     * @param pageSize
+     * @return
+     */
+    public HttpResult selectLogisticsOrderByTradeOrder(String ids, Integer page, Integer pageSize) {
+//        PageHelper.startPage(page, pageSize);
+        List<Long> tradeOrderIds = StringUtils.splitStrToList(ids, Long.class);
+        if (CollectionUtils.isEmpty(tradeOrderIds)) {
+           throw new BusinessException("贸易订单id不能为空");
+        }
+        List<LogisticsOrderDTO> returnList = new ArrayList<>();
+        tradeOrderIds = tradeOrderIds.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
+        /**数据展示*/
+        List<LogisticsOrderDTO> list = logisticsOrderMapper.selectOrderListByTradeOrderIds(tradeOrderIds, null);
+//        PageInfo<LogisticsOrderDTO> pageInfo = new PageInfo<>(list);
+        if (CollectionUtils.isEmpty(list)) {
+            return HttpResult.ok();
+        }
+        /**计量单位*/
+        Map<String, String> unitTypeDictData = commonService.getDictData(DictTypeEnum.UNIT_TYPE.getType());
+        /**运价方式*/
+        Map<String, String> priceDictData = commonService.getDictData(DictTypeEnum.PRICE_TYPE.getType());
+        /**合理损耗*/
+        Map<String, String> taxRateTypeDictData = commonService.getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
+        if (CollectionUtils.isNotEmpty(list)) {
+            for (LogisticsOrderDTO logisticsOrderDTO : list) {
+                logisticsOrderDTO.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrderDTO.getStatus()));
+                String createName = StringUtils.isBlank(logisticsOrderDTO.getCreateBy()) ? null :
+                        (remoteSystemService.queryUserCacheById(Long.parseLong(logisticsOrderDTO.getCreateBy())) == null ? null :
+                                remoteSystemService.queryUserCacheById(Long.parseLong(logisticsOrderDTO.getCreateBy())).getName());
+                logisticsOrderDTO.setCreateName(createName);
+                logisticsOrderDTO.setPriceLabel(priceDictData.get(logisticsOrderDTO.getPriceType()));
+                logisticsOrderDTO.setLossUnitLabel(taxRateTypeDictData.get(logisticsOrderDTO.getLossUnit()));
+                logisticsOrderDTO.setGoodsPriceUnitLabel(priceDictData.get(logisticsOrderDTO.getGoodsPriceUnit()));
+                logisticsOrderDTO.setUnitLabel(unitTypeDictData.get(logisticsOrderDTO.getUnit()));
+            }
+            returnList.addAll(list);
+        }
+        /**基于多个传递数据查询->手动分页*/
+        List<LogisticsOrderDTO> subList = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(returnList)) {
+            subList = returnList.stream().skip((page - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
+        }
+
+        PageResult build = PageResult.build(page, pageSize, returnList.stream().count(), subList);
+        return HttpResult.ok(build);
+    }
 }

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/WaybillManagementService.java

@@ -935,7 +935,7 @@ public class WaybillManagementService {
             packageWaybillIndexResult(list, statusVOS, returnList);
         }
 
-        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, list);
+        PageResult build = PageResult.build(query.getPage(), query.getPageSize(), total, returnList);
         return HttpResult.ok(build);
     }
 

+ 41 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -98,13 +98,53 @@
                a.create_time      as createTime
         FROM kwt_logistics_order a
                  LEFT JOIN kwt_logistics_order_track b ON a.id = b.l_order_id and a.`status` = b.`status`
-                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id AND c.unit_type = #{type}
+                 LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
         WHERE a.del_flag = '0'
           AND b.del_flag = '0'
+            <if test="type != null and type != ''">
+                AND c.unit_type = #{type}
+            </if>
           AND a.t_order_id = #{id,jdbcType=VARCHAR}
         order by createTime desc
     </select>
 
+
+    <select id="selectOrderListByTradeOrderIds" resultType="com.sckw.transport.model.dto.LogisticsOrderDTO">
+        SELECT a.id               as lOrderId,
+        a.l_order_no       as lOrderNo,
+        a.`status`         as `status`,
+        a.t_order_id       as tOrderId,
+        a.t_order_no       as tOrderNo,
+        a.payment          as payment,
+        a.amount,
+        a.unit             as unit,
+        a.price,
+        a.price_type       as priceType,
+        a.loss,
+        a.loss_unit        AS lossUnit,
+        a.goods_price      as goodsPrice,
+        a.goods_price_unit as goodsPriceUnit,
+        c.firm_name        as companyName,
+        c.contacts,
+        c.phone,
+        a.create_by        as createBy,
+        a.create_time      as createTime
+        FROM kwt_logistics_order a
+        LEFT JOIN kwt_logistics_order_unit c ON a.id = c.l_order_id
+        WHERE a.del_flag = '0'
+        AND c.del_flag = '0'
+        <if test="unitType != null and unitType != ''">
+            AND c.unit_type = #{unitType}
+        </if>
+        <if test="tradeOrderIds != null and tradeOrderIds.size()>0">
+            and a.t_order_id in
+            <foreach collection="tradeOrderIds" item="item" separator="," open="(" close=")">
+                #{item}
+            </foreach>
+        </if>
+        order by tOrderId,createTime desc
+    </select>
+
     <select id="selectOrderListByContractId" resultType="com.sckw.transport.model.vo.SckwLogisticsOrderVO">
         SELECT
         a.STATUS,