Browse Source

Merge remote-tracking branch 'origin/master'

master
wangpengfei 10 months ago
parent
commit
39ba383ccc
  1. 3
      .gitignore
  2. 33
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseGoodsSkuRest.java
  3. 93
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerFileRest.java
  4. 123
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerTempRest.java
  5. 35
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmFileRest.java
  6. 156
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmVisitRest.java
  7. 18
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java
  8. 66
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseFlowNodeRest.java
  9. 82
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java
  10. 51
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SupplierInfoRest.java
  11. 2
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java
  12. 8
      oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.java
  13. 24
      oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuService.java
  14. 38
      oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuVo.java
  15. 53
      oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java
  16. 12
      oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/UrlsVo.java
  17. 163
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTemp.java
  18. 148
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempDto.java
  19. 67
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempQuery.java
  20. 322
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempService.java
  21. 122
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempUpdateDto.java
  22. 197
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempVo.java
  23. 28
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerQuery.java
  24. 59
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerVo.java
  25. 58
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileQuery.java
  26. 54
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileService.java
  27. 64
      oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileVo.java
  28. 31
      oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixSelectQuery.java
  29. 62
      oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixVo.java
  30. 85
      oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAttachTypeEnum.java
  31. 71
      oms/src/main/java/com/yxt/oms/biz/func/crmfile/CrmFileService.java
  32. 28
      oms/src/main/java/com/yxt/oms/biz/func/crmfile/PcCommonAppendixDto.java
  33. 98
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisit.java
  34. 86
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitDto.java
  35. 43
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitQuery.java
  36. 131
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitService.java
  37. 106
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitVo.java
  38. 22
      oms/src/main/java/com/yxt/oms/biz/func/crmvisit/PcCrmVisitAppendixDto.java
  39. 23
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java
  40. 2
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java
  41. 26
      oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java
  42. 18
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java
  43. 2
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java
  44. 7
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java
  45. 6
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java
  46. 71
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillExVo.java
  47. 2
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml
  48. 22
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillQuery.java
  49. 56
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillService.java
  50. 17
      oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillVo.java
  51. 73
      oms/src/main/java/com/yxt/oms/biz/func/purchasebillbatch/PurchaseBillBatchDetailsVo.java
  52. 73
      oms/src/main/java/com/yxt/oms/biz/func/purchasebillbatch/PurchaseBillBatchDto.java
  53. 48
      oms/src/main/java/com/yxt/oms/biz/func/purchasebilldetail/PurchaseBillDetailDetailsVo.java
  54. 71
      oms/src/main/java/com/yxt/oms/biz/func/purchasebilldetail/PurchaseBillDetailDto.java
  55. 64
      oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNode.java
  56. 51
      oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeQuery.java
  57. 65
      oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeService.java
  58. 68
      oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeVo.java
  59. 21
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/AccountVo.java
  60. 31
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/OrderReviewQuery.java
  61. 100
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/OrderReviewVo.java
  62. 20
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewConfirmDto.java
  63. 22
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewDetailsVo.java
  64. 31
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewDiscount.java
  65. 73
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewGoods.java
  66. 53
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewInvoice.java
  67. 16
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewRecord.java
  68. 17
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewRemarksInfo.java
  69. 32
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewShipper.java
  70. 20
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDetailDetailsVo.java
  71. 22
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDetailsVo.java
  72. 21
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDto.java
  73. 3
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillQuery.java
  74. 30
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java
  75. 39
      oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillVo.java
  76. 112
      oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfo.java
  77. 54
      oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfoChoice.java
  78. 43
      oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfoService.java
  79. 46
      oms/src/main/java/com/yxt/oms/biz/func/sysstafforg/SysStaffOrg.java
  80. 30
      oms/src/main/java/com/yxt/oms/biz/func/warehouseinfo/WarehouseInfo.java
  81. 42
      oms/src/main/java/com/yxt/oms/biz/func/warehouseinfo/WarehouseInfoService.java
  82. 267
      oms/src/main/java/com/yxt/oms/config/DictCommonType.java
  83. 62
      oms/src/main/java/com/yxt/oms/feign/customer/crmfile/CrmFileFeign.java
  84. 67
      oms/src/main/java/com/yxt/oms/feign/customer/crmvisit/CrmVisitFeign.java
  85. 102
      oms/src/main/java/com/yxt/oms/feign/customer/customertemp/CrmCustomerTempFeign.java
  86. 50
      oms/src/main/java/com/yxt/oms/feign/goods/basegoodssku/BaseGoodsSkuDetailsVo.java
  87. 28
      oms/src/main/java/com/yxt/oms/feign/goods/basegoodssku/BaseGoodsSkuFeign.java
  88. 2
      oms/src/main/java/com/yxt/oms/feign/goods/goodsSpu/GoodsSpuFeign.java
  89. 2
      oms/src/main/java/com/yxt/oms/feign/goods/sku/GoodsSkuFeign.java
  90. 20
      oms/src/main/java/com/yxt/oms/feign/portal/sysstafforg/SysStaffOrgFeign.java
  91. 5
      oms/src/main/java/com/yxt/oms/feign/portal/sysuser/SysUserFeign.java
  92. 5
      oms/src/main/java/com/yxt/oms/feign/portal/sysuser/SysUserFeignFallback.java
  93. 17
      oms/src/main/java/com/yxt/oms/feign/purchase/purchasebill/PurchaseBillFeign.java
  94. 18
      oms/src/main/java/com/yxt/oms/feign/purchase/purchaseflownode/PurchaseFlowNodeFeign.java
  95. 33
      oms/src/main/java/com/yxt/oms/feign/sales/smssalesbill/SmsSalesBillFeign.java
  96. 40
      oms/src/main/java/com/yxt/oms/feign/sales/smssalesbill/SmsSalesBillFeignFallback.java
  97. 2
      oms/src/main/java/com/yxt/oms/feign/sales/smssalesreturn/SmsSalesReturnFeign.java
  98. 36
      oms/src/main/java/com/yxt/oms/feign/supplier/supplierinfo/SupplierInfoFeign.java
  99. 36
      oms/src/main/java/com/yxt/oms/feign/warehouse/warehouseInventory/WarehouseInventoryFeign.java
  100. 8
      oms/src/main/java/com/yxt/oms/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java

3
.gitignore

@ -1,3 +0,0 @@
/oms-biz.iml
/gateway/gateway.iml
/oms/oms.iml

33
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/BaseGoodsSkuRest.java

@ -0,0 +1,33 @@
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuService;
import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuVo;
import com.yxt.oms.utils.OrgPathQuery;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/4/12 11:20
*/
@RestController()
@RequestMapping("/apiadmin/basegoodssku")
public class BaseGoodsSkuRest {
@Autowired
BaseGoodsSkuService baseGoodsSkuService;
@ApiOperation("查询组织下所有商品")
@PostMapping("/listAllByOrg")
public ResultBean<List<BaseGoodsSkuVo>> listAllByOrg(@RequestBody OrgPathQuery query) {
return baseGoodsSkuService.listAllByOrg(query);
}
}

93
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerFileRest.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileQuery;
import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileService;
import com.yxt.oms.biz.func.crmcustomerfile.CrmCustomerFileVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Project: anrui-crm(客户) <br/>
* File: CrmCustomerFileFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest <br/>
* Description: 客户资料初始化表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-02-26 14:10:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "客户资料初始化表")
@RestController("com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileRest")
@RequestMapping("v1/crmcustomerfile")
public class CrmCustomerFileRest {
@Autowired
private CrmCustomerFileService crmCustomerFileService;
/**
* 客户资料初始化分页查询列表
*
* @param pq
* @return
*/
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmCustomerFileVo>> listPage(@RequestBody PagerQuery<CrmCustomerFileQuery> pq) {
return crmCustomerFileService.listPageVo(pq);
}
//
//
// public ResultBean saveCustomerFile(String staffName, String staffSid, String sid, List<CrmFileDto> crmFileDtos) {
// return crmCustomerFileService.saveCustomerFile(staffName, staffSid, sid, crmFileDtos);
// }
//
//
// public ResultBean<CrmCustomerFileListVo> fetchFileListBySid(String sid) {
// return crmCustomerFileService.fetchFileListBySid(sid);
// }
//
//
// public ResultBean<List<CrmCustomerFile>> selectIdImageByCustomerSid(String customerSid) {
// ResultBean rb = ResultBean.fireFail();
// List<CrmCustomerFile> crmCustomerFiles = crmCustomerFileService.selectIdImageByCustomerSid(customerSid);
// return rb.success().setData(crmCustomerFiles);
// }
}

123
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmCustomerTempRest.java

@ -0,0 +1,123 @@
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmcustomer.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempRest <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "潜在客户信息")
@RestController
@RequestMapping("v1/crmcustomertemp")
public class CrmCustomerTempRest {
@Autowired
private CrmCustomerTempService crmCustomerTempService;
@ApiOperation("销售订单选择客户")
@PostMapping("/chooseCustomerList")
public ResultBean<PagerVo<SalesCustomerVo>> chooseCustomerList(@RequestBody PagerQuery<SalesCustomerQuery> pq) {
return crmCustomerTempService.chooseCustomerList(pq);
}
/**
* 潜在客户管理的分页查询
*
* @param pq
* @return
*/
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmCustomerTempVo>> listPage(@RequestBody PagerQuery<CrmCustomerTempQuery> pq) {
return crmCustomerTempService.listPageVo(pq);
}
/**
* 潜在客户新增保存
*
* @param dto 数据传输对象
* @return
*/
@ApiOperation("新增保存")
@PostMapping("/save")
public ResultBean save(@Valid @RequestBody CrmCustomerTempDto dto) {
return crmCustomerTempService.saveCrmCustomer(dto);
}
@ApiOperation("删除记录")
@DeleteMapping("/del")
public ResultBean del(@RequestBody String[] sid) {
return crmCustomerTempService.del(sid);
}
/**
* 潜在客户修改保存
*
* @param dto 数据传输对象
* @param sid 潜在客户sid
* @return
*/
@ApiOperation("修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody CrmCustomerTempUpdateDto dto, @PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
String weixin = dto.getWeixin();
if (StringUtils.isNotBlank(weixin)) {
if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("微信号格式不正确");
}
}
String email = dto.getE_mail();
if (StringUtils.isNotBlank(email)) {
if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
return rb.setMsg("邮箱格式不正确");
}
}
ResultBean resultBean = crmCustomerTempService.updateCrmCustomer(dto, sid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setMsg(resultBean.getMsg());
}
@ApiOperation("获取一条记录")
@GetMapping("/fetchSid/{sid}")
public ResultBean<CrmCustomerTempVo> fetchSid(@PathVariable("sid") String sid) {
ResultBean<CrmCustomerTempVo> rb = ResultBean.fireFail();
CrmCustomerTemp customerTemp = crmCustomerTempService.fetchBySid(sid);
if (customerTemp == null) {
return rb.setMsg("该客户不存在");
}
CrmCustomerTempVo vo = crmCustomerTempService.fetchAllBySid(sid);
return rb.success().setData(vo);
}
}

35
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmFileRest.java

@ -0,0 +1,35 @@
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.crmfile.CommonAppendixSelectQuery;
import com.yxt.oms.biz.func.crmfile.CommonAppendixVo;
import com.yxt.oms.biz.func.crmfile.CrmFileService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/7/29 10:08
*/
@Api(tags = "客户跟进记录")
@RestController
@RequestMapping("v1/crmfile")
public class CrmFileRest {
@Autowired
private CrmFileService crmFileService;
@ApiOperation("Pc端查询附件")
@PostMapping("/getPcAppendix")
public ResultBean<List<CommonAppendixVo>> getPcAppendix(@RequestBody CommonAppendixSelectQuery query) {
return crmFileService.getPcAppendix(query);
}
}

156
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/CrmVisitRest.java

@ -0,0 +1,156 @@
package com.yxt.oms.apiadmin.aggregation;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmfile.CommonAttachTypeEnum;
import com.yxt.oms.biz.func.crmfile.PcCommonAppendixDto;
import com.yxt.oms.biz.func.crmvisit.*;
import com.yxt.oms.feign.customer.crmfile.CrmFileFeign;
import com.yxt.oms.feign.customer.crmvisit.CrmVisitFeign;
import com.yxt.oms.feign.customer.customertemp.CrmCustomerTempFeign;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisitFeignFallback.java <br/>
* Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitRest <br/>
* Description: 客户跟进记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "客户跟进记录")
@RestController
@RequestMapping("v1/crmvisit")
public class CrmVisitRest {
@Autowired
private CrmVisitService crmVisitService;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private CrmFileFeign crmFileFeign;
/**
* pc端某客户的跟进记录分页列表
*
* @param pagerQuery
* @return
*/
@ApiOperation("跟进记录分页列表")
@PostMapping("/pagerList")
public ResultBean<PagerVo<CrmVisitVo>> pagerList(@RequestBody PagerQuery<CrmVisitQuery> pagerQuery) {
return crmVisitService.pagerList(pagerQuery);
}
@ApiOperation("Pc查看详情及修改回显")
@GetMapping("/fetchSid/{sid}")
@ResponseBody
public ResultBean<CrmVisitVo> fetchSid(@PathVariable("sid") String sid){
return crmVisitService.fetchSid(sid);
}
@ApiOperation("Pc新增保存")
@PostMapping("/save")
public ResultBean save(@RequestBody CrmVisitDto dto){
ResultBean rb = ResultBean.fireFail();
String customerSid = dto.getCustomerSid();
int count = crmCustomerTempFeign.selBySid(customerSid);
if (count > 0) {
CrmVisit entity = new CrmVisit();
BeanUtil.copyProperties(dto, entity);
boolean IsSave = crmVisitService.save(entity);
if (!IsSave) {
return rb.fail().setMsg("添加失败");
}
List<PcCrmVisitAppendixDto> pcCrmvisitAppendixDtos = dto.getList();
for (PcCrmVisitAppendixDto pcCrmvisitAppendixDto : pcCrmvisitAppendixDtos) {
PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto();
String sid = entity.getSid();
String staffSid = dto.getStaffSid();
BeanUtil.copyProperties(pcCrmvisitAppendixDto, pcCommonAppendixDto);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String createTime = simpleDateFormat.format(new Date());
if (dto.getList().size() != 0) {
crmFileFeign.saveOrUpdatePcAppendix(pcCommonAppendixDto, sid, staffSid, CommonAttachTypeEnum.WITNESS.getAttachType());
}
}
String isOnRemindkey = dto.getIsOnRemindkey();
if (StringUtils.isNotBlank(isOnRemindkey)) { // 0 未开启 1 开启
String remindDay = "未设置提醒";
if (isOnRemindkey.equals("0")) {
//没有开启默认未设置
dto.setRemind_day(remindDay);
dto.setRemind_remark("");
}
if (isOnRemindkey.equals("1")) {
//开启默认判断时间是否是10:00之前
String date = DateUtils.dateConvertStr(new Date(), "yyyy-MM-dd") + " 10:00:00";
if (DateUtils.compTime2(date, dto.getRemind_day())) {
//是的话设置开启时间
dto.setRemind_day(dto.getRemind_day());
} else {
dto.setRemind_day(remindDay);
}
}
}
//更新客户信息的提醒日期、提醒备注、是否提醒。
String remind_day = dto.getRemind_day();
String remind_remark = dto.getRemind_remark();
String isOnRemind = dto.getIsOnRemind();
String follow_state = dto.getFollow_state();
crmCustomerTempFeign.updateRemindAndByCustomerSid(customerSid, remind_day, remind_remark, isOnRemind, isOnRemindkey, follow_state);
return rb.success().setMsg("添加成功");
}
return rb.fail().setMsg("保存失败,该客户不存在");
}
@ApiOperation("Pc修改保存")
@PostMapping("/update/{sid}")
public ResultBean update(@RequestBody CrmVisitDto dto, @PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
boolean b = crmVisitService.updateBySid(dto, sid);
if (!b) {
return rb.setMsg("修改失败");
}
ResultBean delFiles = crmFileFeign.deleteFiles(sid,"0004");
if (delFiles != null) {
List<PcCrmVisitAppendixDto> pcCrmvisitAppendixDtos = dto.getList();
for (PcCrmVisitAppendixDto pcCrmvisitAppendixDto : pcCrmvisitAppendixDtos) {
PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto();
String staffSid = dto.getStaffSid();
BeanUtil.copyProperties(pcCrmvisitAppendixDto, pcCommonAppendixDto);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String createTime = simpleDateFormat.format(new Date());
if (dto.getList().size() != 0) {
ResultBean resultBean = crmFileFeign.saveOrUpdatePcAppendix(pcCommonAppendixDto, sid, staffSid, CommonAttachTypeEnum.WITNESS.getAttachType());
}
}
return rb.success().setMsg("修改成功");
}
return rb.fail().setMsg("修改失败");
}
@ApiOperation("删除记录")
@DeleteMapping("/del")
public ResultBean del(@RequestBody String[] ids){
return crmVisitService.delBySids(ids);
}
}

18
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseBillRest.java

@ -48,6 +48,12 @@ public class PurchaseBillRest {
return purchaseBillService.listPageVo(pq);
}
@ApiOperation("采购订单审核管理")
@PostMapping("/exlistPage")
public ResultBean<PagerVo<PurchaseBillExVo>> exlistPage(@RequestBody PagerQuery<PurchaseBillQuery> pq){
return purchaseBillService.exlistPage(pq);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean<String> save(@RequestBody PurchaseBillDto dto){
@ -71,4 +77,16 @@ public class PurchaseBillRest {
public ResultBean<PagerVo<GoodsSkuPurSelectList>> purGoodsListPage(@RequestBody PagerQuery<GoodsSkuPurSelectQuery> pq) {
return purchaseBillService.purGoodsListPage(pq);
}
@ApiOperation("采购单提交")
@PostMapping("/submit")
public ResultBean submit(@RequestBody String[] sids){
return purchaseBillService.submit(sids);
}
@ApiOperation("采购单审核")
@PostMapping("/examine")
public ResultBean examine(@RequestParam("sid") String sid,@RequestParam("state") String state,@RequestParam("remarks") String remarks){
return purchaseBillService.examine(sid,state,remarks);
}
}

66
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/PurchaseFlowNodeRest.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeQuery;
import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeService;
import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseFlowNodeFeignFallback.java <br/>
* Class: com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeRest <br/>
* Description: 工单-环节. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "工单-环节")
@RestController
@RequestMapping("/apiadmin/purchaseflownode")
public class PurchaseFlowNodeRest {
@Autowired
private PurchaseFlowNodeService purchaseFlowNodeService;
@PostMapping("/listPage")
public ResultBean<List<PurchaseFlowNodeVo>> listPage(@RequestParam("sid") String sid){
return purchaseFlowNodeService.listPageVo(sid);
}
}

82
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SmsSalesBillRest.java

@ -53,33 +53,73 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("v1/smssalesbill")
public class SmsSalesBillRest {
@Autowired
private SmsSalesBillService smsSalesBillService;
@Autowired
private SmsSalesBillService smsSalesBillService;
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<SmsSalesBillVo>> listPage(@RequestBody PagerQuery<SmsSalesBillQuery> pq){
return smsSalesBillService.listPage(pq);
}
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<SmsSalesBillVo>> listPage(@RequestBody PagerQuery<SmsSalesBillQuery> pq) {
return smsSalesBillService.listPage(pq);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody SmsSalesBillDto dto) {
return smsSalesBillService.saveOrUpdateDto(dto);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody SmsSalesBillDto dto){
return smsSalesBillService.saveOrUpdateDto(dto);
}
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submit(@RequestBody SmsSalesBillDto dto) {
return smsSalesBillService.submit(dto);
}
@ApiOperation("根据sid批量删除")
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
return smsSalesBillService.deleteBySids(sids);
}
public ResultBean delBySids(@RequestBody String[] sids) {
return smsSalesBillService.deleteBySids(sids);
}
@ApiOperation("根据SID获取一条记录")
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<SmsSalesBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
return smsSalesBillService.fetchDetailsVoBySid(sid);
}
public ResultBean<SmsSalesBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
return smsSalesBillService.fetchDetailsVoBySid(sid);
}
@ApiOperation("销售订单审核列表")
@PostMapping("/reviewListPage")
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(@RequestBody PagerQuery<OrderReviewQuery> pq) {
return smsSalesBillService.reviewListPage(pq);
}
@ApiOperation("销售订单审核详情")
@GetMapping("/reviewDetails")
public ResultBean<ReviewDetailsVo> reviewDetails(@RequestParam("sid") String sid) {
return smsSalesBillService.reviewDetails(sid);
}
@ApiOperation("收货地址保存")
@PostMapping("/saveShipper")
public ResultBean saveShipper(@RequestBody ReviewDetailsVo dto) {
return smsSalesBillService.saveShipper(dto);
}
@ApiOperation("发票信息保存")
@PostMapping("/saveInvoice")
public ResultBean saveInvoice(@RequestBody ReviewDetailsVo dto) {
return smsSalesBillService.saveInvoice(dto);
}
@ApiOperation("分页列表单条保存")
@PostMapping("/saveOneListData")
public ResultBean saveOneListData(@RequestBody OrderReviewVo dto) {
return smsSalesBillService.saveOneListData(dto);
}
@ApiOperation("审核确认")
@PostMapping("/reviewConfirm")
public ResultBean reviewConfirm(@RequestBody ReviewConfirmDto dto) {
return smsSalesBillService.reviewConfirm(dto);
}
}

51
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SupplierInfoRest.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.apiadmin.aggregation;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.supplierinfo.SupplierInfoChoice;
import com.yxt.oms.biz.func.supplierinfo.SupplierInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Api(tags = "供应商信息")
@RestController
@RequestMapping("/apiadmin/supplierinfo")
public class SupplierInfoRest {
@Autowired
private SupplierInfoService baseSupplierInfoService;
@ApiOperation("选择供应商")
@GetMapping("/choiceSupplierInfo")
public ResultBean<List<SupplierInfoChoice>> choiceSupplierInfo(@RequestParam("createOrgSid") String createOrgSid){
return baseSupplierInfoService.choiceSupplierInfo(createOrgSid);
}
}

2
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/SysStaffOrgRest.java

@ -26,7 +26,7 @@ public class SysStaffOrgRest {
@GetMapping("/selAllByOrgSidPath")
@ResponseBody
@ApiOperation("根据组织全路径查询当前部门下的所有员工")
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(String orgSidPath) {
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath) {
return sysStaffOrgService.selAllByOrgSidPath(orgSidPath);
}
}

8
oms/src/main/java/com/yxt/oms/apiadmin/aggregation/WarehouseInfoRest.java

@ -4,7 +4,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.warehouseinfo.SmsOrderHouseInfo;
import com.yxt.oms.biz.func.warehouseinfo.WarehouseInfo;
import com.yxt.oms.biz.func.warehouseinfo.WarehouseInfoService;
import com.yxt.oms.utils.OrgPathQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -30,4 +32,10 @@ public class WarehouseInfoRest {
public ResultBean<List<SmsOrderHouseInfo>> getWareHouse(@RequestParam("createOrgSid") String createOrgSid) {
return wmsWarehouseService.getWareHouse(createOrgSid);
}
@ApiOperation("查询所有的仓库")
@PostMapping("/listAll")
public ResultBean<List<WarehouseInfo>> listAll(@RequestBody OrgPathQuery query) {
return wmsWarehouseService.listAll(query);
}
}

24
oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuService.java

@ -0,0 +1,24 @@
package com.yxt.oms.biz.func.basegoodssku;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.feign.goods.basegoodssku.BaseGoodsSkuFeign;
import com.yxt.oms.utils.OrgPathQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/2/26 13:40
*/
@Service
public class BaseGoodsSkuService{
@Autowired
BaseGoodsSkuFeign baseGoodsSkuFeign;
public ResultBean<List<BaseGoodsSkuVo>> listAllByOrg(OrgPathQuery query) {
return baseGoodsSkuFeign.listAllByOrg(query);
}
}

38
oms/src/main/java/com/yxt/oms/biz/func/basegoodssku/BaseGoodsSkuVo.java

@ -0,0 +1,38 @@
package com.yxt.oms.biz.func.basegoodssku;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.oms.biz.func.basegoodsskuextend.BaseGoodsSkuExtendVo;
import lombok.Data;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/2/26 13:37
*/
@Data
public class BaseGoodsSkuVo implements Vo {
private String id;
private String sid;
private String lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date modifyTime;
private String remarks;
private String isEnable;
private String state;
private String isDelete;
private String goodsSkuCode;//商品Sku代码
private String title;//商品标题
private String goodsSpuSid;//商品基础信息Sid
private String externalCode;//外部编码
private String indexes;//特有规格属性在spu表中special_spec字段对应每个参数值数组下标的组合,如0_0_0,1_0_0,相当于SKU这条记录的编码。
@TableField(value = "own_spec")
private String ownSpec;//sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序
private String goodsName;
private BaseGoodsSkuExtendVo baseGoodsSkuExtend;
}

53
oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/BaseGoodsSkuExtendVo.java

@ -0,0 +1,53 @@
package com.yxt.oms.biz.func.basegoodsskuextend;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/2/26 13:37
*/
@Data
public class BaseGoodsSkuExtendVo implements Vo {
private String id;
private String sid;
private String lockVersion;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date modifyTime;
private String remarks;
private String isEnable;
private String state;
private String isDelete;
private String goodsSkuSid;//商品Skusid
private String finalPurchasePrice;//最后采购价
private String safetyStockDays;//安全库存天数
private String isOriginalFactory;//是否原厂
private String isInventoryAlert;//是否库存警戒
@TableField(value = "InventoryAlertUpperLimit")
private String inventoryAlertUpperLimit;//库存警戒上线
@TableField(value = "InventoryAlertLowerLimit")
private String inventoryAlertLowerLimit;//库存警戒下线
private String costPrice;//成本价
private String tagPrice;//吊牌价
private String salesPrice;//销售单价
private String standardPurchasePrice;//标准进价
private String agencyPrice;//代理价
private String discount;//折扣
private String minimumSalesPrice;//最低零售价
private String isLockingSalesPrice;//是否锁定销售价
private String isIntegralExchange;//是否可以积分兑换
private String integralAmount;//积分数量
private String sortNo;//排序
private String picUrl;//商品的图片,多个图片以‘,’分割
// private String [] Urls={};//图片数组
private List<UrlsVo> urls;//图片数组
private String title;//sku标题
}

12
oms/src/main/java/com/yxt/oms/biz/func/basegoodsskuextend/UrlsVo.java

@ -0,0 +1,12 @@
package com.yxt.oms.biz.func.basegoodsskuextend;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/3/22 10:20
*/
@Data
public class UrlsVo {
private String url;
}

163
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTemp.java

@ -0,0 +1,163 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTemp.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "潜在客户信息", description = "潜在客户信息")
@TableName("crm_customer")
@Data
public class CrmCustomerTemp extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("省")
private String province;
@ApiModelProperty("市")
private String city;
@ApiModelProperty("县")
private String county;
@ApiModelProperty("详细地址")
private String address;
@ApiModelProperty("邮编")
private String zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("紧急联系电话")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("创建部门sid")
private String useOrgSid;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("性别key")
private String sexKey;
@ApiModelProperty("生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ApiModelProperty("是否开启提醒key(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ApiModelProperty("见面方式key")
private String visitWayKey;
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("证件地址")
private String certificateAddress;
}

148
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempDto.java

@ -0,0 +1,148 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.yxt.common.core.dto.Dto;
import com.yxt.oms.biz.func.crmvisit.PcCrmVisitAppendixDto;
import com.yxt.oms.utils.FileQueryUrl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempDto <br/>
* Description: 潜在客户信息 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "潜在客户信息 数据传输对象", description = "潜在客户信息 数据传输对象")
@Data
public class CrmCustomerTempDto implements Dto {
private static final long serialVersionUID = 793474187074718535L;
@ApiModelProperty(value = "当前登录用户的sid")
private String userSid;
@ApiModelProperty(value = "客户类型(1个人/2企业)", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerType;
@ApiModelProperty(value = "客户类型key", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerTypeKey;
@ApiModelProperty(value = "见面方式key", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWayKey;
@ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWay;
@ApiModelProperty(value = "客户名称", required = true)
@NotBlank(message = "客户名称为必填项")
private String name;
@ApiModelProperty("联系电话")
@NotBlank(message = "联系电话为必填项")
private String mobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("公司名称:个人客户时显示")
private String companyName;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("客户地址:省")
private String province;
@ApiModelProperty("客户地址:市")
private String city;
@ApiModelProperty("客户地址:县")
private String county;
@ApiModelProperty("客户地址:详细地址")
private String address;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
//更多信息
@ApiModelProperty("客户生日:个人客户时显示")
private String birthday;
@ApiModelProperty("性别:个人客户时显示")
private String sex;
@ApiModelProperty("性别key:个人客户时")
private String sexKey;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty(value = "联系人")
private String contacts;
@ApiModelProperty("紧急联系人")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty("业务人员sid")
private String staffSid;
//见证材料集合
@ApiModelProperty(value = "见证材料的集合,编辑保存时无此字段")
private List<PcCrmVisitAppendixDto> crmVisitAppendixDtoList = new ArrayList<>();
//客户档案
@ApiModelProperty(value = "客户档案")
private List<FileQueryUrl> customerFiles = new ArrayList<>();
private String orgPath;
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
}

67
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempQuery.java

@ -0,0 +1,67 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempQuery <br/>
* Description: 潜在客户信息 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "潜在客户信息 查询条件", description = "潜在客户信息 查询条件")
@Data
public class CrmCustomerTempQuery implements Query {
@ApiModelProperty(value = "组织全路径")
private String orgSidPath;
@ApiModelProperty("客户类型key(自然人/法人)")
private String customerTypeKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("提醒开始日期")
private String remindStartDay;
@ApiModelProperty("提醒结束日期")
private String remindEndDay;
@ApiModelProperty("业务员sid")
private String staffSid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户sid")
private List<String> customerSidList;
@ApiModelProperty("创建开始日期")
private String createStartDate;
@ApiModelProperty("创建结束日期")
private String createEndDate;
@ApiModelProperty("销售专员")
private String staffName;
}

322
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempService.java

@ -0,0 +1,322 @@
package com.yxt.oms.biz.func.crmcustomer;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.utils.HanZiConverterPinYin;
import com.yxt.common.base.utils.HttpStatusEnum;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmfile.CommonAppendixSelectQuery;
import com.yxt.oms.biz.func.crmfile.CommonAppendixVo;
import com.yxt.oms.biz.func.crmfile.CommonAttachTypeEnum;
import com.yxt.oms.biz.func.crmfile.PcCommonAppendixDto;
import com.yxt.oms.biz.func.crmvisit.CrmVisitService;
import com.yxt.oms.biz.func.crmvisit.PcCrmVisitAppendixDto;
import com.yxt.oms.biz.func.sysorganization.SysOrganizationVo;
import com.yxt.oms.biz.func.sysstafforg.SysStaffOrg;
import com.yxt.oms.config.DictCommonType;
import com.yxt.oms.feign.customer.crmfile.CrmFileFeign;
import com.yxt.oms.feign.customer.customertemp.CrmCustomerTempFeign;
import com.yxt.oms.feign.portal.dictcommon.DictCommonFeign;
import com.yxt.oms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.oms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.oms.feign.portal.sysuser.SysUserFeign;
import com.yxt.oms.feign.portal.sysuser.SysUserVo;
import com.yxt.oms.utils.FileQueryUrl;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmcustomertemp.CrmCustomerTempService <br/>
* Description: 潜在客户信息 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmCustomerTempService {
public static final Logger logger = LoggerFactory.getLogger(CrmCustomerTempService.class);
@Autowired
private CrmFileFeign crmFileFeign;
@Autowired
private CrmVisitService crmVisitService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Resource
private SysUserFeign sysUserFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Resource
private DictCommonFeign dictCommonFeign;
@Resource
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<PagerVo<CrmCustomerTempVo>> listPageVo(PagerQuery<CrmCustomerTempQuery> pq) {
if (StringUtils.isNotBlank(pq.getParams().getUserSid())) {
String staffSid = sysUserFeign.selectBySid(pq.getParams().getUserSid()).getData().getStaffSid();
pq.getParams().setStaffSid(staffSid);
}
return crmCustomerTempFeign.listPage(pq);
}
public ResultBean<PagerVo<SalesCustomerVo>> chooseCustomerList(PagerQuery<SalesCustomerQuery> pq) {
ResultBean<PagerVo<SalesCustomerVo>> pagerVoResultBean = crmCustomerTempFeign.chooseCustomerList(pq);
return pagerVoResultBean;
}
/**
* pc端潜在客户新增保存
*
* @param dto 数据传输对象
* state值211为当前用户的客户
* @return
*/
public ResultBean saveCrmCustomer(CrmCustomerTempDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
//手机号
String mobile = dto.getMobile();
//微信号
String weixin = dto.getWeixin();
if (StringUtils.isNotBlank(weixin)) {
if (!weixin.matches("^[a-zA-Z]{1}[-_a-zA-Z0-9]{5,19}$") && !weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("微信号格式不正确");
}
}
String email = dto.getE_mail();
if (StringUtils.isNotBlank(email)) {
if (!email.matches("^[0-9A-Za-z][\\.-_0-9A-Za-z]*@[0-9A-Za-z]+(?:\\.[0-9A-Za-z]+)+$")) {
return rb.setMsg("邮箱格式不正确");
}
}
String emergencyMobile = dto.getEmergencyMobile();
if (StringUtils.isNotBlank(emergencyMobile)) {
if (!emergencyMobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("紧急联系电话格式不正确");
}
}
//根据用户sid获取业务员信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
if (sysUserVo == null) {
return rb.setMsg("该用户不存在");
}
String staffSid = sysUserVo.getStaffSid();
String name = dto.getName();
//生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写
String customerNo = getPrefix(staffSid, name, mobile);
//查询该客户编码是否存在
CrmCustomerTemp crmCustomerTemp = crmCustomerTempFeign.selectByCustomerNo(customerNo).getData();
if (crmCustomerTemp != null) {//存在
//查询是否是当前用户客户
if (!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())) {
String staffName = "";
SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
if (sysCrmVo != null) {
staffName = sysCrmVo.getName();
return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为" + staffName + "客户");
}
} else {
// 返回潜在客户sid,跳转维护信息页面
return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid());
}
} else {//不存在
// 新增
CrmCustomerTemp customerTemp = saveCrmCustomerTemp(dto, sysUserVo);
sid = customerTemp.getSid();
}
return rb.success().setData(sid);
}
/**
* 新增潜在客户信息及运营信息并增加跟进记录
*
* @param dto 潜在客户信息数据传输对象
* @param sysUserInfoVo 当前登录者的组织信息
* @return
*/
private CrmCustomerTemp saveCrmCustomerTemp(CrmCustomerTempDto dto, SysUserVo sysUserInfoVo) {
CrmCustomerTemp crmCustomerTemp = new CrmCustomerTemp();
dto.fillEntity(crmCustomerTemp);
crmCustomerTemp.setCreateBySid(dto.getUserSid());
crmCustomerTemp.setStaffSid(sysUserInfoVo.getStaffSid());
String orgSid = "";
if (StringUtils.isNotBlank(dto.getOrgPath())) {
orgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData();
} else {
orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
}
crmCustomerTemp.setCreateOrgSid(orgSid);
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
if (resultBean.getSuccess() && resultBean.getData() != null) {
String key = resultBean.getData().toString();
crmCustomerTemp.setFollow_state_key(key);
crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
//客户编码
String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
crmCustomerTemp.setCustomerNo(customerNo);
if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
crmCustomerTemp.setUseOrgSid(dto.getUseOrgSid());
}
crmCustomerTempFeign.saveEntity(crmCustomerTemp);
// 增加跟进记录
String visitSid = crmVisitService.insertCrmVisitOne(dto.getUserSid(), crmCustomerTemp.getSid(), crmCustomerTemp.getIsOnRemindkey(), crmCustomerTemp.getIsOnRemind(), dto.getVisitWay(), dto.getVisitWayKey());
// 增加附件信息
if (dto.getCrmVisitAppendixDtoList().size() != 0) {
List<PcCommonAppendixDto> pcCommonAppendixDtoList = new ArrayList<>();
List<PcCrmVisitAppendixDto> list = dto.getCrmVisitAppendixDtoList();
for (int i = 0; i < list.size(); i++) {
PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto();
PcCrmVisitAppendixDto pcCrmVisitAppendixDto = list.get(i);
BeanUtils.copyProperties(pcCrmVisitAppendixDto, pcCommonAppendixDto);
pcCommonAppendixDtoList.add(pcCommonAppendixDto);
}
crmFileFeign.saveCommonAppendix(visitSid, pcCommonAppendixDtoList);
}
// 增加客户档案附件信息
if (dto.getCustomerFiles().size() != 0) {
List<PcCommonAppendixDto> pcCommonAppendixDtoList = new ArrayList<>();
List<FileQueryUrl> list = dto.getCustomerFiles();
for (int i = 0; i < list.size(); i++) {
PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto();
FileQueryUrl url = list.get(i);
if (StringUtils.isNotBlank(dto.getUserSid())) {
pcCommonAppendixDto.setCreateBySid(dto.getUserSid());
}
pcCommonAppendixDto.setFilePath(url.getUrl());
pcCommonAppendixDtoList.add(pcCommonAppendixDto);
}
crmFileFeign.saveAppendix(visitSid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType(), pcCommonAppendixDtoList);
}
return crmCustomerTemp;
}
public String getPrefix(String staffSid, String name, String mobile) {
String customerNoPrefix = "";
//查询业务员的分公司简称和部门编码
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(staffSid);
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
// ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSid());
// if (resultBean1.getSuccess()) {
// String osid = resultBean1.getData();
// if (StringUtils.isNotBlank(osid)) {
// ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
// if (sysOrganizationVoResultBean.getSuccess()) {
// SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
// customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
// }
// }
// }
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
customerNoPrefix = customerNoPrefix + mobile + HanZiConverterPinYin.getPinYinFirst(name);
System.out.println(customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix);
return customerNoPrefix.length() > 30 ? customerNoPrefix.substring(0, 30) : customerNoPrefix;
}
public ResultBean del(String[] sid) {
return crmCustomerTempFeign.del(sid);
}
/**
* 潜在客户的信息的编辑保存
*
* @param dto 数据传输对象
* @param sid 潜在客户的sid
* @return
*/
public ResultBean updateCrmCustomer(CrmCustomerTempUpdateDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchBySid(sid).getData();
if (customerTemp == null) {
return rb.setMsg("该客户不存在");
}
//对比客户名称以及手机号是否变化
if (!customerTemp.getName().equals(dto.getName())) {
return rb.setMsg("客户名称不允许修改");
}
if (!customerTemp.getMobile().equals(dto.getMobile())) {
return rb.setMsg("客户手机号不允许修改");
}
BeanUtil.copyProperties(dto, customerTemp);
if (StringUtils.isNotBlank(dto.getUseOrgSid())) {
customerTemp.setUseOrgSid(dto.getUseOrgSid());
}
crmCustomerTempFeign.updateEntity(customerTemp);
crmFileFeign.deleteFiles(sid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType());
// 增加客户档案附件信息
if (dto.getCustomerFiles().size() != 0) {
List<PcCommonAppendixDto> pcCommonAppendixDtoList = new ArrayList<>();
List<FileQueryUrl> list = dto.getCustomerFiles();
for (int i = 0; i < list.size(); i++) {
PcCommonAppendixDto pcCommonAppendixDto = new PcCommonAppendixDto();
FileQueryUrl url = list.get(i);
if (StringUtils.isNotBlank(dto.getUserSid())) {
pcCommonAppendixDto.setCreateBySid(dto.getUserSid());
}
pcCommonAppendixDto.setFilePath(url.getUrl());
pcCommonAppendixDtoList.add(pcCommonAppendixDto);
}
crmFileFeign.saveAppendix(sid, CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType(), pcCommonAppendixDtoList);
}
return rb.success();
}
public CrmCustomerTemp fetchBySid(String sid) {
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchBySid(sid).getData();
return customerTemp;
}
public CrmCustomerTempVo fetchAllBySid(String sid) {
CrmCustomerTempVo vo = new CrmCustomerTempVo();
CrmCustomerTemp crmCustomerTemp = this.fetchBySid(sid);
BeanUtil.copyProperties(crmCustomerTemp, vo);
CommonAppendixSelectQuery appendixSelectQuery = new CommonAppendixSelectQuery();
appendixSelectQuery.setLinkSid(sid);
appendixSelectQuery.setAttachType(CommonAttachTypeEnum.CUSTOMER_FILE.getAttachType());
List<CommonAppendixVo> appendixVos = crmFileFeign.getPcAppendix(appendixSelectQuery).getData();
if (!appendixVos.isEmpty() && appendixVos.size() > 0) {
List<FileQueryUrl> list = new ArrayList<>();
for (CommonAppendixVo appendixVo : appendixVos) {
FileQueryUrl queryUrl = new FileQueryUrl();
queryUrl.setUrl(appendixVo.getFilePath());
list.add(queryUrl);
}
vo.setCustomerFiles(list);
}
return vo;
}
}

122
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempUpdateDto.java

@ -0,0 +1,122 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.yxt.common.core.dto.Dto;
import com.yxt.oms.utils.FileQueryUrl;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.util.ArrayList;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/7/12 14:04
* @Description
*/
@Data
public class CrmCustomerTempUpdateDto implements Dto {
private static final long serialVersionUID = -1744083007571476652L;
@ApiModelProperty(value = "当前登录用户的sid")
private String userSid;
@ApiModelProperty(value = "客户类型(个人/企业)", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerType;
@ApiModelProperty(value = "客户类型key", required = true)
@NotBlank(message = "客户类型为必选项")
private String customerTypeKey;
@ApiModelProperty(value = "见面方式key", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWayKey;
@ApiModelProperty(value = "见面方式(到店/电话/拜访)", required = true)
@NotBlank(message = "见面方式为必选项")
private String visitWay;
@ApiModelProperty(value = "客户名称", required = true)
@NotBlank(message = "客户名称为必填项")
private String name;
@ApiModelProperty("联系电话")
@NotBlank(message = "联系电话为必填项")
@Pattern(regexp = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$", message = "手机号码格式不正确")
private String mobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("公司名称:个人客户时显示")
private String companyName;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("客户地址:省")
private String province;
@ApiModelProperty("客户地址:市")
private String city;
@ApiModelProperty("客户地址:县")
private String county;
@ApiModelProperty("客户地址:详细地址")
private String address;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
//更多信息
@ApiModelProperty("客户生日:个人客户时显示")
private String birthday;
@ApiModelProperty("性别:个人客户时显示")
private String sex;
@ApiModelProperty("性别key:个人客户时")
private String sexKey;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty(value = "联系人")
private String contacts;
@ApiModelProperty("紧急联系人")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty(value = "备注")
private String remarks;
//客户档案
@ApiModelProperty(value = "客户档案")
private List<FileQueryUrl> customerFiles = new ArrayList<>();
private String orgPath;
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
}

197
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/CrmCustomerTempVo.java

@ -0,0 +1,197 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.oms.utils.FileQueryUrl;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo <br/>
* Description: 潜在客户信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "潜在客户信息 视图数据对象", description = "潜在客户信息 视图数据对象")
@Data
public class CrmCustomerTempVo implements Vo {
@ApiModelProperty("潜在客户sid")
private String sid;
@ApiModelProperty("分公司名称")
private String createOrgName;
@ApiModelProperty("业务员名称")
private String staffName;
@ApiModelProperty("部门名称")
private String deptName;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("登记日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime;
@ApiModelProperty("客户编号(部门编码+客户类型(1位,0个人,1企业)+部门内部流水号(6位))")
private String customerNo;
@ApiModelProperty("客户类型(自然人/法人)")
private String customerType;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户分类(个人:司机/个体老板/其他。企业:企业型客户/一级经销商/二级经销商/终端物流客户)")
private String customerClass;
@ApiModelProperty("客户分类key")
private String customerClassKey;
@ApiModelProperty("客户来源(公司资源/自主开发/交接客户/转介绍客户/集团内销)")
private String source;
@ApiModelProperty("客户来源key")
private String sourceKey;
@ApiModelProperty("客户级别(意向客户/准客户/成交客户/集团内销/黑名单客户)")
private String level;
@ApiModelProperty("客户级别key")
private String levelKey;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("证件号码(个人为身份证号/企业为统一社会信用代码)")
private String IDNumber;
@ApiModelProperty("证件有效期")
private String endDate;
@ApiModelProperty("行政区划代码(省)")
private String address_province;
@ApiModelProperty("行政区划代码(市)")
private String address_city;
@ApiModelProperty("行政区划代码(县)")
private String address_county;
@ApiModelProperty("省")
private String province;
@ApiModelProperty("市")
private String city;
@ApiModelProperty("县")
private String county;
@ApiModelProperty("客户地址")
private String address;
@ApiModelProperty("邮编")
private String zipCode;
@ApiModelProperty("电子邮箱")
private String e_mail;
@ApiModelProperty("联系人")
private String contacts;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("紧急联系电话")
private String emergencyContact;
@ApiModelProperty("紧急联系电话")
private String emergencyMobile;
@ApiModelProperty("微信号码")
private String weixin;
@ApiModelProperty("业务人员sid")
private String staffSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("性别key")
private String sexKey;
@ApiModelProperty("客户生日")
private String birthday;
@ApiModelProperty("所在公司名称")
private String companyName;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态")
private String follow_state;
@ApiModelProperty("是否开启提醒key(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("提醒日期")
private String remind_day;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("客户头像")
private String customerPhoto;
@ApiModelProperty("见面方式key")
private String visitWayKey;
@ApiModelProperty("见面方式(到店/电话/拜访)")
private String visitWay;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("意向车型数量")
private String yxcounts;
@ApiModelProperty("跟进记录数量")
private String gjcounts;
//客户档案
@ApiModelProperty(value = "客户档案")
private List<FileQueryUrl> customerFiles = new ArrayList<>();
private String useOrgSid;
private String customerOrgSid;
private String customerOrgName;
}

28
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerQuery.java

@ -0,0 +1,28 @@
package com.yxt.oms.biz.func.crmcustomer;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/24 15:17
*/
@Data
public class SalesCustomerQuery implements Query {
private String createOrgSid;
/**
* 客户编码
*/
private String customerNo;
/**
* 手机号
*/
private String mobile;
/**
* 客户名称
*/
private String name;
}

59
oms/src/main/java/com/yxt/oms/biz/func/crmcustomer/SalesCustomerVo.java

@ -0,0 +1,59 @@
package com.yxt.oms.biz.func.crmcustomer;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/24 15:18
*/
@Data
public class SalesCustomerVo {
/**
* 地址
*/
private String address;
/**
* 昵称
*/
private String buyserNickname;
/**
*
*/
private String city;
/**
*
*/
private String county;
/**
* 客户编码
*/
private String customerNo;
/**
* 手机
*/
private String mobile;
/**
* 客户名称
*/
private String name;
/**
* 平台
*/
private String originalPlat;
/**
* 固话
*/
private String phone;
/**
*
*/
private String province;
private String sid;
/**
* 街道
*/
private String street;
}

58
oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileQuery.java

@ -0,0 +1,58 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.crmcustomerfile;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户) <br/>
* File: CrmCustomerFileQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileQuery <br/>
* Description: 客户资料初始化表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-02-26 14:10:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料初始化表 查询条件", description = "客户资料初始化表 查询条件")
@Data
public class CrmCustomerFileQuery implements Query {
private static final long serialVersionUID = -7649979452082150903L;
@ApiModelProperty("文件类别")
private String attachType;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("客户sid")
private String customerSid;
}

54
oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileService.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.crmcustomerfile;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Service;
/**
* Project: anrui-crm(客户) <br/>
* File: CrmCustomerFileService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmcustomerfile.CrmCustomerFileService <br/>
* Description: 客户资料初始化表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-02-26 14:10:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmCustomerFileService {
public ResultBean<PagerVo<CrmCustomerFileVo>> listPageVo(PagerQuery<CrmCustomerFileQuery> pq) {
return null;
}
}

64
oms/src/main/java/com/yxt/oms/biz/func/crmcustomerfile/CrmCustomerFileVo.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.crmcustomerfile;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户) <br/>
* File: CrmCustomerFileVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomerfile.CrmCustomerFileVo <br/>
* Description: 客户资料初始化表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-02-26 14:10:17 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户资料初始化表 视图数据对象", description = "客户资料初始化表 视图数据对象")
@Data
public class CrmCustomerFileVo implements Vo {
private static final long serialVersionUID = -2901642630941149061L;
@ApiModelProperty("客户资料初始化sid")
private String sid;
@ApiModelProperty("文件类别")
private String attachType;
@ApiModelProperty("文件名称")
private String fileName;
@ApiModelProperty("最新上传人")
private String name;
@ApiModelProperty("最新上传时间")
private String createTime;
@ApiModelProperty("示例")
private String sample;
}

31
oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixSelectQuery.java

@ -0,0 +1,31 @@
package com.yxt.oms.biz.func.crmfile;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: CommonAppendixQuery.java <br/>
* Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixQuery <br/>
* Description: 公共附件表 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-28 08:59:25 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "公共附件表 查询条件", description = "公共附件表 查询条件")
@Data
public class CommonAppendixSelectQuery implements Query {
@ApiModelProperty("关联业务对象sid")
private String linkSid;
@ApiModelProperty("附件类型")
private String attachType;
}

62
oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAppendixVo.java

@ -0,0 +1,62 @@
package com.yxt.oms.biz.func.crmfile;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-base(安瑞基础信息模块) <br/>
* File: CommonAppendixVo.java <br/>
* Class: com.yxt.anrui.base.api.commonappendix.CommonAppendixVo <br/>
* Description: 公共附件表 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-28 08:59:25 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "公共附件表 视图数据对象", description = "公共附件表 视图数据对象")
@Data
public class CommonAppendixVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("上传人姓名")
private String name;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
@ApiModelProperty("关联业务对象sid")
private String linkSid;
@ApiModelProperty("附件类型")
private String attachType;
@ApiModelProperty("文件大小")
private String fileSize;
@ApiModelProperty("文件的路径")
private String filePath;
@ApiModelProperty("文件的路径")
private String fileUrl;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("上传人sid")
private String createBySid;
@ApiModelProperty("上传时间")
// @DateTimeFormat(pattern = "yyyy-MM-dd")
private String createTime;
}

85
oms/src/main/java/com/yxt/oms/biz/func/crmfile/CommonAttachTypeEnum.java

@ -0,0 +1,85 @@
package com.yxt.oms.biz.func.crmfile;
/**
* @Author dimengzhe
* @Date 2022/2/12 10:13
* @Description 附件类型枚举
*/
public enum CommonAttachTypeEnum {
/**
* 附件类型:
* 10001合同
* 20002人行征信
* 30003开票申请附件,
* 40004跟进记录的材料
* 50005家访照片
* 60006_1贷款人证明文_担保人人行征信查询授权书原件
* 70006_2贷款人证明文_贷款人人行征信查询授权书手持
* 80006_3贷款人证明文_配偶人行征信查询授权书原件
* 90006_4贷款人证明文_配偶人行征信查询授权书手持
* 100006_5贷款人证明文_配偶数据查询授权书
* 110006_6贷款人证明文_征信查询报告有效期3个月以内
* 120006_7贷款人证明文_贷款人及配偶居住证明
* 130007_1担保人文件_担保人人行征信查询授权书原件
* 140007_2担保人文件_担保人人行征信查询授权书(手持)
* 150008资产证明
* 160009_01放款文件_家访照片
* 170009_02放款文件_交车照片
* 180009_03放款文件_车辆合格证
* 190009_04放款文件_挂车合格证
* 200009_05放款文件_新车全车照片
* 210009_06放款文件_挂车照片
* 220009_07放款文件_新车发动机号照片
* 230009_08放款文件_新车车架号照片
* 240009_09放款文件_挂车车架号照片
* 250009_10放款文件_放款文件其它资料
* 260009_11放款文件_首付款证明
*/
CONTRACT("0001", "合同"),
CONTRACT_UPLOAD("0001_1", "合同下载"),
CREDIT("0002", "人行征信"),
INVOICE("0003", "开票申请附件"),
INVOICE_KHKPSQS("0003_1", "客户开票申请书"),
INVOICE_CLDJHT("0003_2", "车辆登记合同"),
INVOICE_KPXXQRS("0003_3", "开票信息确认书"),
WITNESS("0004", "跟进记录的材料"),
ADVANCE_GIN("0005", "提前开票附件"),
ADVANCE_KHKPSQS("0005_1", "客户开票申请书"),
ADVANCE_CLDJHT("0005_2", "车辆登记合同"),
ADVANCE_KPXXQRS("0005_3", "开票信息确认书"),
CUSTOMER_FILE("0006", "客户资料附件"),
ARREARS("0007", "欠款提车附件"),
SCENESIGN("0008", "现场签署附件"),
PAYMENT_VOUCHER("0009", "打款凭证附件"),
REMITTAN_CECONFIRMATION("0010", "汇款确认书附件"),
SEAL_APPLY("0011", "盖章附件"),
BILL_APPLICAYION("0012", "开票申请附件"),
MANUFACTOR_SUB("0013", "厂商认款附件"),
MANUFACTOR_RETWARE("0014", "厂家退库车辆附件"),
SHUNTINGINVOICINAPPLY("0015", "调车开票附件"),
OUTSOURCINGAPPLY("0016", "外采申请附件"),
INBOUNDAPPLY("0017", "入账申请附件"),
VEHBUYBLANK("0018", "车辆买断附件");
/**
* 附件类型
*/
private final String attachType;
/**
* 代号
*/
private final String mark;
CommonAttachTypeEnum(String attachType, String mark) {
this.attachType = attachType;
this.mark = mark;
}
public String getAttachType() {
return attachType;
}
public String getMark() {
return mark;
}
}

71
oms/src/main/java/com/yxt/oms/biz/func/crmfile/CrmFileService.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.crmfile;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.feign.customer.crmfile.CrmFileFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-crm(客户信息) <br/>
* File: CrmFileService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmfile.CrmFileService <br/>
* Description: 客户资料表 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-24 09:15:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmFileService {
@Autowired
private CrmFileFeign crmFileFeign;
public ResultBean<List<CommonAppendixVo>> getPcAppendix(CommonAppendixSelectQuery query) {
return crmFileFeign.getPcAppendix(query);
}
}

28
oms/src/main/java/com/yxt/oms/biz/func/crmfile/PcCommonAppendixDto.java

@ -0,0 +1,28 @@
package com.yxt.oms.biz.func.crmfile;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Description
* @Author liuguohui
* @Date 2021/11/22
*/
@Data
public class PcCommonAppendixDto implements Dto {
private static final long serialVersionUID = 2211027947432178940L;
@ApiModelProperty("上传人sid")
private String createBySid;
@ApiModelProperty("上传人")
private String name;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
@ApiModelProperty("文件大小")
private String fileSize;
@ApiModelProperty("文件的路径")
private String filePath;
}

98
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisit.java

@ -0,0 +1,98 @@
package com.yxt.oms.biz.func.crmvisit;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisit.java <br/>
* Class: com.yxt.anrui.crm.api.crmvisit.CrmVisit <br/>
* Description: 客户跟进记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户跟进记录", description = "客户跟进记录")
@TableName("crm_visit")
@Data
public class CrmVisit extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("员工Sid")
private String staffSid;
@ApiModelProperty("跟进形式key")
private String follow_form_key;
@ApiModelProperty("跟进形式(电话/上门/微信/到店)")
private String follow_form;
@ApiModelProperty("跟进类别key")
private String follow_type_key;
@ApiModelProperty("跟进类别(例行安排/临时)")
private String follow_type;
@ApiModelProperty("跟进时间")
private String follow_time;
@ApiModelProperty("跟进效果")
private String follow_result;
@ApiModelProperty("拜访见证材料")
private String visit_witness_materials;
@ApiModelProperty("组织sid")
private String orgSid;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)")
private String follow_state;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("设置提醒日期的时间")
private String setTime;
@ApiModelProperty("提醒日期(天)")
private String remind_day;
@ApiModelProperty("提醒日期(天)key")
private String remind_day_key;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("位置信息")
private String positionInformation;
/* @ApiModelProperty("区域代码(省)")
private String address_province;
@ApiModelProperty("区域代码(市)")
private String address_city;
@ApiModelProperty("区域代码(县)")
private String address_county;*/
@ApiModelProperty("经度")
private String longitude;
@ApiModelProperty("纬度")
private String latitude;
}

86
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitDto.java

@ -0,0 +1,86 @@
package com.yxt.oms.biz.func.crmvisit;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisitDto.java <br/>
* Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitDto <br/>
* Description: 客户跟进记录 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户跟进记录 数据传输对象", description = "客户跟进记录 数据传输对象")
@Data
public class CrmVisitDto implements Dto {
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("员工Sid")
private String staffSid;
@ApiModelProperty("跟进形式key")
private String follow_form_key;
@ApiModelProperty("跟进形式(电话/上门/微信/到店)")
private String follow_form;
@ApiModelProperty("跟进类别key")
private String follow_type_key;
@ApiModelProperty("跟进类别(例行安排/临时)")
private String follow_type;
@ApiModelProperty("跟进时间")
private String follow_time;
@ApiModelProperty("跟进效果")
private String follow_result;
@ApiModelProperty("拜访见证材料")
private String visit_witness_materials;
@ApiModelProperty("组织sid")
private String orgSid;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)")
private String follow_state;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("设置提醒日期的时间")
private String setTime;
@ApiModelProperty("提醒日期(天)")
private String remind_day;
@ApiModelProperty("提醒日期(天)key")
private String remind_day_key;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("附件信息")
private List<PcCrmVisitAppendixDto> list;
}

43
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitQuery.java

@ -0,0 +1,43 @@
package com.yxt.oms.biz.func.crmvisit;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisitQuery.java <br/>
* Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitQuery <br/>
* Description: 客户跟进记录 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户跟进记录 查询条件", description = "客户跟进记录 查询条件")
@Data
public class CrmVisitQuery implements Query {
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("员工Sid")
private String staffSid;
@ApiModelProperty("跟进形式key")
private String follow_form_key;
@ApiModelProperty("起始跟进时间")
private String start_follow_time;
@ApiModelProperty("结束跟进时间")
private String end_follow_time;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
}

131
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitService.java

@ -0,0 +1,131 @@
package com.yxt.oms.biz.func.crmvisit;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.DateUtils;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.dictcommon.DictCommonVo;
import com.yxt.oms.config.DictCommonType;
import com.yxt.oms.feign.customer.crmvisit.CrmVisitFeign;
import com.yxt.oms.feign.portal.dictcommon.DictCommonFeign;
import com.yxt.oms.feign.portal.sysstafforg.SysStaffOrgFeign;
import com.yxt.oms.feign.portal.sysuser.SysStaffOrgVo;
import com.yxt.oms.feign.portal.sysuser.SysUser;
import com.yxt.oms.feign.portal.sysuser.SysUserFeign;
import com.yxt.oms.feign.portal.sysuser.SysUserVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisitService.java <br/>
* Class: com.yxt.anrui.crm.biz.crmvisit.CrmVisitService <br/>
* Description: 客户跟进记录 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class CrmVisitService {
@Resource
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Resource
private DictCommonFeign dictCommonFeign;
@Autowired
private CrmVisitFeign crmVisitFeign;
public String insertCrmVisitOne(String userSid, String customerSid, String isOnRemindkey, String isOnRemind, String visitWay, String visitWayKey) {
CrmVisit visit = new CrmVisit();
//查询用户信息
SysUserVo user = sysUserFeign.fetchBySid(userSid).getData();
visit.setCreateBySid(userSid);
visit.setCustomerSid(customerSid);
visit.setStaffSid(user.getStaffSid());
visit.setFollow_time(DateUtils.dateConvertStr(new Date(), "yyyy-MM-dd"));
visit.setFollow_result("客户登记");
visit.setFollow_form(visitWay);
visit.setFollow_form_key(visitWayKey);
//visit.setVisit_witness_materials();
//查询组织
List<SysStaffOrgVo> list = sysStaffOrgFeign.getSysStaffOrgListByStaffSid(user.getStaffSid()).getData();
if (list.size() > 0) {
SysStaffOrgVo sysStaffOrgVo = list.get(0);
visit.setOrgSid(sysStaffOrgVo.getOrgSid());
}
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
if (resultBean.getSuccess() && resultBean.getData() != null) {
String key = resultBean.getData().toString();
visit.setFollow_state_key(key);
visit.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
visit.setIsOnRemindkey(isOnRemindkey);
visit.setIsOnRemind(isOnRemind);
List<DictCommonVo> commonVoList = dictCommonFeign.getTypeValues(DictCommonType.REMIND_DAY, "0").getData();
String remindDayKey = "";
if (commonVoList.size() > 0) {
remindDayKey = commonVoList.get(0).getDictKey();
}
visit.setRemind_day_key(remindDayKey);
visit.setRemind_day(dictCommonFeign.selectBykey(remindDayKey, DictCommonType.REMIND_DAY).getData().getDictValue());
crmVisitFeign.saveEntity(visit);
return visit.getSid();
}
public ResultBean<PagerVo<CrmVisitVo>> pagerList(PagerQuery<CrmVisitQuery> pagerQuery) {
ResultBean<PagerVo<CrmVisitVo>> rb = ResultBean.fireFail();
String staffSid = pagerQuery.getParams().getStaffSid();
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.selectByStaffsid(staffSid);
String name = sysUserVoResultBean.getData().getName();
ResultBean <PagerVo<CrmVisitVo>> resultBean = crmVisitFeign.pageList(pagerQuery);
if (resultBean.getSuccess()) {
PagerVo<CrmVisitVo> data = resultBean.getData();
List<CrmVisitVo> records = data.getRecords();
if (!records.isEmpty()) {
for (CrmVisitVo record : records) {
if (StringUtils.isNotBlank(name)) {
record.setStaffName(name);
}
}
data.setRecords(records);
}
return rb.success().setData(data);
}
return rb.success();
}
public ResultBean<CrmVisitVo> fetchSid(String sid) {
ResultBean<CrmVisitVo> crmVisitVoResultBean = crmVisitFeign.fetchSid(sid);
return crmVisitVoResultBean;
}
public boolean save(CrmVisit entity) {
return crmVisitFeign.saveEntity(entity);
}
public boolean updateBySid(CrmVisitDto dto, String sid) {
return crmVisitFeign.update(dto,sid);
}
public ResultBean delBySids(String[] ids) {
return crmVisitFeign.del(ids);
}
}

106
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/CrmVisitVo.java

@ -0,0 +1,106 @@
package com.yxt.oms.biz.func.crmvisit;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmVisitVo.java <br/>
* Class: com.yxt.anrui.crm.api.crmvisit.CrmVisitVo <br/>
* Description: 客户跟进记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-09-28 09:57:14 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "客户跟进记录 视图数据对象", description = "客户跟进记录 视图数据对象")
@Data
public class CrmVisitVo implements Vo {
private static final long serialVersionUID = 3237477051430279347L;
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("员工Sid")
private String staffSid;
@ApiModelProperty("员工Name")
private String staffName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("跟进形式key")
private String follow_form_key;
@ApiModelProperty("跟进形式(电话/上门/微信/到店)")
private String follow_form;
@ApiModelProperty("跟进类别key")
private String follow_type_key;
@ApiModelProperty("跟进类别(例行安排/临时)")
private String follow_type;
@ApiModelProperty("跟进时间")
private String follow_time;
@ApiModelProperty("跟进效果")
private String follow_result;
@ApiModelProperty("拜访见证材料")
private String visit_witness_materials;
@ApiModelProperty("组织sid")
private String orgSid;
@ApiModelProperty("跟进状态key")
private String follow_state_key;
@ApiModelProperty("跟进状态(新获取/待跟进/初步意向/准客户/成交/失效)")
private String follow_state;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemind;
@ApiModelProperty("是否开启提醒(1开启,0不开启)")
private String isOnRemindkey;
@ApiModelProperty("设置提醒日期的时间")
private String setTime;
@ApiModelProperty("提醒日期(天)")
private String remind_day;
@ApiModelProperty("提醒日期(天)key")
private String remind_day_key;
@ApiModelProperty("提醒备注")
private String remind_remark;
@ApiModelProperty("位置信息")
private String positionInformation;
@ApiModelProperty("经度")
private String longitude;
@ApiModelProperty("纬度")
private String latitude;
@ApiModelProperty("经纬度")
private String location;
@ApiModelProperty("区域代码描述")
private String locationStr;
@ApiModelProperty("车辆需求条数")
private String xqcounts;
}

22
oms/src/main/java/com/yxt/oms/biz/func/crmvisit/PcCrmVisitAppendixDto.java

@ -0,0 +1,22 @@
package com.yxt.oms.biz.func.crmvisit;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PcCrmVisitAppendixDto implements Dto {
private static final long serialVersionUID = -215934317034761854L;
//附件类型:1、0001:合同,2、0002:人行征信,3、0003:开票申请附件,4、0004:跟进记录的材料
@ApiModelProperty("上传人sid")
private String createBySid;
@ApiModelProperty("文件名")
private String fileName;
@ApiModelProperty("文件类型")
private String fileType;
@ApiModelProperty("文件大小")
private String fileSize;
@ApiModelProperty("文件的路径")
private String filePath;
}

23
oms/src/main/java/com/yxt/oms/biz/func/goodsspu/GoodsSpuService.java

@ -4,6 +4,7 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.feign.goods.goodsSpu.GoodsSpuFeign;
import com.yxt.oms.feign.warehouse.warehouseInventory.WarehouseInventoryFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -21,11 +22,27 @@ import java.util.stream.Collectors;
* @date 2024/2/26 13:40
*/
@Service
public class GoodsSpuService {
private GoodsSpuFeign goodsSpuFeign;
public class GoodsSpuService {
@Autowired
private GoodsSpuFeign goodsSpuFeign;
@Autowired
private WarehouseInventoryFeign warehouseInventoryFeign;
public ResultBean<PagerVo<SalesGoodsVo>> getGoodsForSales(PagerQuery<SalesGoodsQuery> pq) {
return goodsSpuFeign.getGoodsForSales(pq);
ResultBean<PagerVo<SalesGoodsVo>> goodsForSales = goodsSpuFeign.getGoodsForSales(pq);
PagerVo<SalesGoodsVo> data = goodsForSales.getData();
if (data != null) {
List<SalesGoodsVo> records = data.getRecords();
if (!records.isEmpty()) {
for (SalesGoodsVo record : records) {
String count = warehouseInventoryFeign.selInventoryCountBySkuSid(record.getGoodsSkuSid());
record.setInventoryCount(count);
}
}
data.setRecords(records);
goodsForSales.setData(data);
}
return goodsForSales;
}
}

2
oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsQuery.java

@ -12,4 +12,6 @@ import lombok.Data;
public class SalesGoodsQuery implements Query {
private String goodsName;
private String createOrgSid;
private String goodsSkuCode;
private String goodsSkuOwnSpec;
}

26
oms/src/main/java/com/yxt/oms/biz/func/goodsspu/SalesGoodsVo.java

@ -3,6 +3,9 @@ package com.yxt.oms.biz.func.goodsspu;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
@ -59,4 +62,27 @@ public class SalesGoodsVo implements Vo {
* 重量kg
*/
private String weight;
/**
* 成本均价
*/
private String costPrice;
/**
* 参考进价
*/
private String standardPurchasePrice;
/**
* 实际可用库存
*/
private String inventoryCount;
/**
* 图片
*/
private List<String> pic = new ArrayList<>();
private String picUrl;
}

18
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectList.java

@ -2,6 +2,8 @@ package com.yxt.oms.biz.func.purchasebill;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description:
* @author: dimengzhe
@ -20,4 +22,20 @@ public class GoodsSkuPurSelectList {
private String barCode;
//规格名称
private String goodsSkuOwnSpec;
//单位
private String unit;
//数量
private BigDecimal count;
//数量1
private BigDecimal count1;
//数量
private BigDecimal pcsNum;
//吊牌价
private BigDecimal tagPrice;
//单价
private BigDecimal cost;
//单价1
private BigDecimal cost1;
//货号
private String itemNumber;
}

2
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/GoodsSkuPurSelectQuery.java

@ -19,4 +19,6 @@ public class GoodsSkuPurSelectQuery implements Query {
private String barCode;
//规格名称
private String goodsSkuOwnSpec;
private String orgPath;
}

7
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDetailsVo.java

@ -30,6 +30,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import com.yxt.oms.biz.func.purchaseappendix.PurchaseAppendixUrl;
import com.yxt.oms.biz.func.purchasebillamount.PurchaseBillAmountDetailsVo;
import com.yxt.oms.biz.func.purchasebillbatch.PurchaseBillBatchDetailsVo;
import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDetailsVo;
import com.yxt.oms.biz.func.purchasebillextend.PurchaseBillExtendDetailsVo;
import io.swagger.annotations.ApiModel;
@ -45,6 +46,9 @@ public class PurchaseBillDetailsVo implements Vo {
private String sid;
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("制单人sid")
@ -79,9 +83,8 @@ public class PurchaseBillDetailsVo implements Vo {
private String purchaserSid; // 采购员sid(单选)
@ApiModelProperty("采购员姓名")
private String purchaserName; // 采购员姓名
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("预计到货日期")
private Date deliveryDate; // 预计到货日期
private String deliveryDate;
@ApiModelProperty("仓库sid")
private String wareHouseSid;
@ApiModelProperty("仓库名称")

6
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillDto.java

@ -30,6 +30,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import com.yxt.oms.biz.func.purchaseappendix.PurchaseAppendixUrl;
import com.yxt.oms.biz.func.purchasebillamount.PurchaseBillAmountDto;
import com.yxt.oms.biz.func.purchasebillbatch.PurchaseBillBatchDto;
import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDto;
import com.yxt.oms.biz.func.purchasebillextend.PurchaseBillExtendDto;
import io.swagger.annotations.ApiModel;
@ -79,9 +80,8 @@ public class PurchaseBillDto implements Dto {
private String purchaserSid; // 采购员sid(单选)
@ApiModelProperty("采购员姓名")
private String purchaserName; // 采购员姓名
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("预计到货日期")
private Date deliveryDate; // 预计到货日期
private String deliveryDate;
@ApiModelProperty("仓库sid")
private String wareHouseSid;
@ApiModelProperty("仓库名称")
@ -103,6 +103,8 @@ public class PurchaseBillDto implements Dto {
private PurchaseBillExtendDto purchaseBillExtend;
@ApiModelProperty("采购单商品明细")
private List<PurchaseBillDetailDto> purchaseBillDetailList;
@ApiModelProperty("采购商品扩展")
private List<PurchaseBillBatchDto> purchaseBillBatchList;
@ApiModelProperty("附件")
private List<PurchaseAppendixUrl> purchaseAppendixList;
}

71
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillExVo.java

@ -0,0 +1,71 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchasebill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
@Data
@ApiModel(value = "采购单 视图数据对象", description = "采购单 视图数据对象")
public class PurchaseBillExVo implements Vo {
private String sid; // sid
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("业务日期")
private Date createTime;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("供应商名称")
private String supplierName;
@ApiModelProperty("采购员姓名")
private String purchaserName;
@ApiModelProperty("仓库名称")
private String wareHouseName;
@ApiModelProperty("审核状态")
private String state;
@ApiModelProperty("商品总额")
private String amountTotal;
@ApiModelProperty("本次付款")
private BigDecimal thisPayAmount;
@ApiModelProperty("税额汇总")
private BigDecimal taxAmount;
@ApiModelProperty("总采购数量")
private String countTotal;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("制单人姓名")
private String createByName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最后修改时间")
private Date modifyTime;
}

2
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillMapper.xml

@ -5,7 +5,7 @@
<!-- ${ew.customSqlSegment} -->
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from pms_purchase_bill
from purchase_bill
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1

22
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillQuery.java

@ -34,26 +34,28 @@ import lombok.Data;
@ApiModel(value = "采购单 查询条件", description = "采购单 查询条件")
public class PurchaseBillQuery implements Query {
@ApiModelProperty("创建开始日期")
private String createStartTime;
@ApiModelProperty("创建结束日期")
private String createEndTime;
@ApiModelProperty("供应商名称")
private String supplierName;
private String supplierSid;
@ApiModelProperty("仓库名称")
private String wareHouseName;
private String wareHouseSid;
@ApiModelProperty("收货状态key")
private String receiveStateKey;
@ApiModelProperty("物流单号")
private String logisticsNum;
@ApiModelProperty("发货状态key")
private String deliveryStateKey;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("采购员姓名")
private String purchaserName;
@ApiModelProperty("采购员")
private String purchaserSid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("创建开始日期")
private String createStartTime;
@ApiModelProperty("创建结束日期")
private String createEndTime;
@ApiModelProperty("发货状态key")
private String deliveryStateKey;
@ApiModelProperty("商品sid")
private String goodsSid;
private String orgLevelKey;
@ApiModelProperty("菜单路由")

56
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillService.java

@ -26,12 +26,11 @@
package com.yxt.oms.biz.func.purchasebill;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.api.R;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDto;
import com.yxt.oms.biz.func.purchasebilldetail.PurchaseBillDetailDetailsVo;
import com.yxt.oms.biz.func.sysorganization.SysOrganizationVo;
import com.yxt.oms.biz.func.warehouseansbill.WarehouseAnsBillDto;
import com.yxt.oms.biz.func.warehouseansbilldetail.WarehouseAnsBillDetailDto;
@ -121,7 +120,36 @@ public class PurchaseBillService extends MybatisBaseService<PurchaseBillMapper,
}
}
ResultBean<String> resultBean = purchaseBillFeign.save(dto);
if (resultBean.getSuccess()) {
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<PurchaseBillDetailsVo> fetchDetailsVoBySid(String sid) {
return purchaseBillFeign.fetchDetailsBySid(sid);
}
public ResultBean delAll(String[] sids) {
return purchaseBillFeign.delBySids(sids);
}
public ResultBean<PagerVo<GoodsSkuPurSelectList>> purGoodsListPage(PagerQuery<GoodsSkuPurSelectQuery> pq) {
return goodsSkuFeign.purGoodsListPage(pq);
}
public ResultBean submit(String[] sids) {
return purchaseBillFeign.submit(sids);
}
public ResultBean<PagerVo<PurchaseBillExVo>> exlistPage(PagerQuery<PurchaseBillQuery> pq) {
return purchaseBillFeign.exlistPage(pq);
}
public ResultBean examine(String sid, String state, String remarks) {
ResultBean rb = purchaseBillFeign.examine(sid, state, remarks);
PurchaseBillDetailsVo dto = purchaseBillFeign.fetchDetailsBySid(sid).getData();
if ("2".equals(state)){
WarehouseAnsBillDto wmsAnsBillDto = new WarehouseAnsBillDto();
wmsAnsBillDto.setDeptName(dto.getDeptName());
wmsAnsBillDto.setDeptSid(dto.getDeptSid());
@ -138,12 +166,11 @@ public class PurchaseBillService extends MybatisBaseService<PurchaseBillMapper,
wmsAnsBillDto.setSupplierName(dto.getSupplierName());
wmsAnsBillDto.setGoodsOwnerSid("");
wmsAnsBillDto.setGoodsOwner("");
wmsAnsBillDto.setDeliveryDate(dto.getDeliveryDate());
wmsAnsBillDto.setUseOrgSid(dto.getUseOrgSid());
wmsAnsBillDto.setCreateOrgSid(dto.getCreateOrgSid());
List<WarehouseAnsBillDetailDto> wmsAnsBillDetailDtos = new ArrayList<>();
List<PurchaseBillDetailDto> purchaseBillDetailList = dto.getPurchaseBillDetailList();
for (PurchaseBillDetailDto purchaseBillDetailDto : purchaseBillDetailList) {
List<PurchaseBillDetailDetailsVo> purchaseBillDetailList = dto.getPurchaseBillDetailList();
for (PurchaseBillDetailDetailsVo purchaseBillDetailDto : purchaseBillDetailList) {
WarehouseAnsBillDetailDto wmsAnsBillDetailDto = new WarehouseAnsBillDetailDto();
wmsAnsBillDetailDto.setGoodSpuSid(purchaseBillDetailDto.getGoodsSpuSid());
wmsAnsBillDetailDto.setGoodsSpuName(purchaseBillDetailDto.getGoodsSpuName());
@ -159,27 +186,12 @@ public class PurchaseBillService extends MybatisBaseService<PurchaseBillMapper,
if (null != purchaseBillDetailDto.getTaxAmount()) {
wmsAnsBillDetailDto.setTaxAmount(purchaseBillDetailDto.getTaxAmount().doubleValue());
}
wmsAnsBillDetailDto.setTaxPrice(purchaseBillDetailDto.getTaxPrice().doubleValue());
wmsAnsBillDetailDto.setAmount(purchaseBillDetailDto.getAmount().doubleValue());
wmsAnsBillDetailDtos.add(wmsAnsBillDetailDto);
}
wmsAnsBillDto.setWmsAnsBillDetailList(wmsAnsBillDetailDtos);
warehouseAnsBillFeign.saveBill(wmsAnsBillDto);
}else {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<PurchaseBillDetailsVo> fetchDetailsVoBySid(String sid) {
return purchaseBillFeign.fetchDetailsBySid(sid);
}
public ResultBean delAll(String[] sids) {
return purchaseBillFeign.delBySids(sids);
}
public ResultBean<PagerVo<GoodsSkuPurSelectList>> purGoodsListPage(PagerQuery<GoodsSkuPurSelectQuery> pq) {
return goodsSkuFeign.purGoodsListPage(pq);
return rb;
}
}

17
oms/src/main/java/com/yxt/oms/biz/func/purchasebill/PurchaseBillVo.java

@ -52,7 +52,7 @@ public class PurchaseBillVo implements Vo {
@ApiModelProperty("仓库名称")
private String wareHouseName;
@ApiModelProperty("收货状态value")
private Integer receiveStateValue;
private String receiveStateValue;
@ApiModelProperty("商品总额")
private String amountTotal;
@ApiModelProperty("采购运费")
@ -61,16 +61,29 @@ public class PurchaseBillVo implements Vo {
private BigDecimal otherAmount;
@ApiModelProperty("预付金额")
private BigDecimal prepayment;
@ApiModelProperty("总税额")
private BigDecimal taxAmount;
@ApiModelProperty("物流单号")
private String logisticsNum;
@ApiModelProperty("生产进度")
private String productProgress;
@ApiModelProperty("未含税总价(未含税价*采购数量)")
private BigDecimal unTaxTotalAmount;
@ApiModelProperty("总采购数量")
private String countTotal;
@ApiModelProperty("已入库数量")
private BigDecimal enterWareCount;
@ApiModelProperty("已入库金额")
private BigDecimal enterWareAmount;
@ApiModelProperty("已发货数量")
private BigDecimal deliveryCount;
@ApiModelProperty("发货状态value")
private Integer deliveryStateValue;
private String deliveryStateValue;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("制单人姓名")
private String createByName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("最后修改时间")
private Date modifyTime;
}

73
oms/src/main/java/com/yxt/oms/biz/func/purchasebillbatch/PurchaseBillBatchDetailsVo.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchasebillbatch;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseBillBatchVo.java <br/>
* Class: com.yxt.purchase.api.purchasebillbatch.PurchaseBillBatchVo <br/>
* Description: 采购单商品-批次 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "采购单商品-批次 视图数据详情", description = "采购单商品-批次 视图数据详情")
public class PurchaseBillBatchDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("采购单sid")
private String billSid; // 采购单sid
@ApiModelProperty("采购单商品明细sid")
private String billDetailSid; // 采购单商品明细sid
@ApiModelProperty("序列号")
private String sortNo; // 序列号
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("生产日期")
private Date madeDate; // 生产日期
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("过期日期")
private Date expireDate; // 过期日期
@ApiModelProperty("货号")
private String goodsNum; // 货号
}

73
oms/src/main/java/com/yxt/oms/biz/func/purchasebillbatch/PurchaseBillBatchDto.java

@ -0,0 +1,73 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchasebillbatch;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseBillBatchDto.java <br/>
* Class: com.yxt.purchase.api.purchasebillbatch.PurchaseBillBatchDto <br/>
* Description: 采购单商品-批次 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "采购单商品-批次 数据传输对象", description = "采购单商品-批次 数据传输对象")
public class PurchaseBillBatchDto implements Dto {
private String sid; // sid
@ApiModelProperty("采购单sid")
private String billSid; // 采购单sid
@ApiModelProperty("采购单商品明细sid")
private String billDetailSid; // 采购单商品明细sid
@ApiModelProperty("序列号")
private String sortNo; // 序列号
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("生产日期")
private Date madeDate; // 生产日期
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
@ApiModelProperty("过期日期")
private Date expireDate; // 过期日期
@ApiModelProperty("货号")
private String goodsNum; // 货号
}

48
oms/src/main/java/com/yxt/oms/biz/func/purchasebilldetail/PurchaseBillDetailDetailsVo.java

@ -60,12 +60,22 @@ public class PurchaseBillDetailDetailsVo implements Vo {
private String goodsNum; // 货号
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("商品图片")
private String goodsImgUrl;
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("单价")
private BigDecimal cost; // 单价
@ApiModelProperty("采购数量")
private BigDecimal count; // 采购数量
@ApiModelProperty("数量")
private BigDecimal count;
@ApiModelProperty("单价")
private BigDecimal cost1; // 单价
@ApiModelProperty("数量")
private BigDecimal count1;
@ApiModelProperty("数量(pcs)")
private BigDecimal pcsCount;
@ApiModelProperty("吊牌价")
private BigDecimal tagPrice;
@ApiModelProperty("折扣率")
private BigDecimal discountRate; // 折扣率
@ApiModelProperty("折后单价")
@ -73,16 +83,32 @@ public class PurchaseBillDetailDetailsVo implements Vo {
@ApiModelProperty("分摊金额")
private BigDecimal shareAmount; // 分摊金额
@ApiModelProperty("分配比例")
private BigDecimal shareRate; // 分配比例
private BigDecimal shareRate;
@ApiModelProperty("采购金额")
private BigDecimal amount; // 采购金额
private BigDecimal amount;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("未含税价")
private BigDecimal unTaxPrice;
@ApiModelProperty("未含税总价(未含税价*采购数量)")
private BigDecimal unTaxTotalAmount;
@ApiModelProperty("采购周期")
private Integer cycle; // 采购周期
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Integer cycle;
@ApiModelProperty("预期到货日期")
private Date deliveryDate; // 预期到货日期
@ApiModelProperty("税额")
private BigDecimal taxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal taxPrice; // 含税价
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date deliveryDate;
@ApiModelProperty("总税额")
private BigDecimal taxAmount;
/*
* 商品扩展字段
* */
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("生产日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date madeDate; // 生产日期
@ApiModelProperty("过期日期")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Date expireDate; // 过期日期
}

71
oms/src/main/java/com/yxt/oms/biz/func/purchasebilldetail/PurchaseBillDetailDto.java

@ -38,51 +38,70 @@ import java.util.Date;
@ApiModel(value = "采购单据明细 数据传输对象", description = "采购单据明细 数据传输对象")
public class PurchaseBillDetailDto implements Dto {
private String sid; // sid
private String sid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("单据sid")
private String billSid; // 单据sid
private String billSid;
@ApiModelProperty("商品基础信息Sid")
private String goodsSpuSid; // 商品基础信息Sid
private String goodsSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsSkuCode; // 商品编码
private String goodsSkuCode;
@ApiModelProperty("商品条码")
private String goodsSN; // 商品条码
private String goodsSN;
@ApiModelProperty("货号")
private String goodsNum; // 货号
private String goodsNum;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
private String goodsSkuOwnSpec;
@ApiModelProperty("商品图片")
private String goodsImgUrl;
@ApiModelProperty("计量单位")
private String unit; // 计量单位
private String unit;
@ApiModelProperty("单价")
private BigDecimal cost; // 单价
@ApiModelProperty("采购数量")
private BigDecimal count; // 采购数量
private BigDecimal cost;
@ApiModelProperty("数量")
private BigDecimal count;
@ApiModelProperty("数量(pcs)")
private BigDecimal pcsCount;
@ApiModelProperty("吊牌价")
private BigDecimal tagPrice;
@ApiModelProperty("折扣率")
private BigDecimal discountRate; // 折扣率
private BigDecimal discountRate;
@ApiModelProperty("折后单价")
private BigDecimal discountPrice; // 折后单价
private BigDecimal discountPrice;
@ApiModelProperty("分摊金额")
private BigDecimal shareAmount; // 分摊金额
private BigDecimal shareAmount;
@ApiModelProperty("分配比例")
private BigDecimal shareRate; // 分配比例
private BigDecimal shareRate;
@ApiModelProperty("采购金额")
private BigDecimal amount; // 采购金额
private BigDecimal amount;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("未含税价")
private BigDecimal unTaxPrice;
@ApiModelProperty("未含税总价(未含税价*采购数量)")
private BigDecimal unTaxTotalAmount;
@ApiModelProperty("采购周期")
private Integer cycle; // 采购周期
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private Integer cycle;
@ApiModelProperty("预期到货日期")
private Date deliveryDate; // 预期到货日期
@ApiModelProperty("税额")
private BigDecimal taxAmount; // 税额
@ApiModelProperty("含税价")
private BigDecimal taxPrice; // 含税价
private String deliveryDate;
@ApiModelProperty("总税额")
private BigDecimal taxAmount;
/*
* 商品扩展字段
* */
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("生产日期")
private String madeDate;
@ApiModelProperty("过期日期")
private String expireDate;
}

64
oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNode.java

@ -0,0 +1,64 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchaseflownode;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseFlowNode.java <br/>
* Class: com.yxt.purchase.api.purchaseflownode.PurchaseFlowNode <br/>
* Description: 工单-环节. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "工单-环节", description = "工单-环节")
@TableName("purchase_flow_node")
public class PurchaseFlowNode extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("操作人姓名")
private String createByName; // 操作人姓名
@ApiModelProperty("busSid")
private String billSid; // busSid
@ApiModelProperty("环节编码")
private String nodeCode; // 环节编码
@ApiModelProperty("环节名称")
private String nodeName; // 环节名称
@ApiModelProperty("结果(通过/不通过)")
private String result; // 结果(通过/不通过)
}

51
oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeQuery.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchaseflownode;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseFlowNodeQuery.java <br/>
* Class: com.yxt.purchase.api.purchaseflownode.PurchaseFlowNodeQuery <br/>
* Description: 工单-环节 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "工单-环节 查询条件", description = "工单-环节 查询条件")
public class PurchaseFlowNodeQuery implements Query {
private String billSid;
}

65
oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeService.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchaseflownode;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.feign.purchase.purchaseflownode.PurchaseFlowNodeFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseFlowNodeService.java <br/>
* Class: com.yxt.purchase.biz.purchaseflownode.PurchaseFlowNodeService <br/>
* Description: 工单-环节 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class PurchaseFlowNodeService{
@Autowired
private PurchaseFlowNodeFeign purchaseFlowNodeFeign;
public ResultBean<List<PurchaseFlowNodeVo>> listPageVo(String sid) {
return purchaseFlowNodeFeign.listPage(sid);
}
}

68
oms/src/main/java/com/yxt/oms/biz/func/purchaseflownode/PurchaseFlowNodeVo.java

@ -0,0 +1,68 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.purchaseflownode;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: ss-purchase(采购单) <br/>
* File: PurchaseFlowNodeVo.java <br/>
* Class: com.yxt.purchase.api.purchaseflownode.PurchaseFlowNodeVo <br/>
* Description: 工单-环节 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-07-23 10:44:59 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "工单-环节 视图数据对象", description = "工单-环节 视图数据对象")
public class PurchaseFlowNodeVo implements Vo {
private String sid; // sid
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("创建时间")
private Date createTime;
@ApiModelProperty("意见")
private String remarks;
@ApiModelProperty("操作人姓名")
private String createByName; // 操作人姓名
@ApiModelProperty("环节名称")
private String nodeName; // 环节名称
@ApiModelProperty("结果(通过/不通过)")
private String result; // 结果(通过/不通过)
}

21
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/AccountVo.java

@ -0,0 +1,21 @@
package com.yxt.oms.biz.func.smssalesbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/24 17:19
*/
@Data
public class AccountVo {
@ApiModelProperty("结算账户")
private String bankAccount; // 结算账户
@ApiModelProperty("结算账户")
private String bankAccountKey; // 结算账户
@ApiModelProperty("结算金额")
private String amount; // 结算金额
}

31
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/OrderReviewQuery.java

@ -0,0 +1,31 @@
package com.yxt.oms.biz.func.smssalesbill;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 11:42
*/
@Data
public class OrderReviewQuery implements Query {
private String createOrgSid;
@ApiModelProperty("单据类型key(线下订单/预售订单等)")
private String billTypeKey;
@ApiModelProperty("店铺")
private String shopName;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("订单号")
private String billNo;
@ApiModelProperty("快递单号")
private String logisticsNum;
@ApiModelProperty("买家ID")
private String buyserID;
@ApiModelProperty("快递")
private String logisticsName;
}

100
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/OrderReviewVo.java

@ -0,0 +1,100 @@
package com.yxt.oms.biz.func.smssalesbill;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/7/25 11:19
*/
@Data
public class OrderReviewVo implements Vo {
private String sid;
@ApiModelProperty("订单标记(已开票、仓库打回等)")
private String billState; // 订单标记(已开票、仓库打回等)
@ApiModelProperty("提醒(拆、合、缺)")
private String noticeState; // 订单标记(已开票、仓库打回等)
@ApiModelProperty("剩余发货时间")
private String remainderTime; // 剩余发货时间
@ApiModelProperty("商品总数")
private String goodsTotalCount; // 商品总数
@ApiModelProperty("线上商品图片")
private List<String> picOnline = new ArrayList<>();
@ApiModelProperty("系统商品图片")
private List<String> picSys = new ArrayList<>();
@ApiModelProperty("线上备注/系统备注")
private String remarksOnlineSys; // 线上备注/系统备注
@ApiModelProperty("买家留言/附加信息")
private String buyerMessage; // 买家留言/附加信息
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("配送方式Value")
private String deliveryTypeValue;
@ApiModelProperty("快递")
private String logisticsName;
@ApiModelProperty("快递成本/干线费用")
private String logisticsCost;
@ApiModelProperty("买家ID")
private String buyserID;
@ApiModelProperty("收货地址")
private String deliveryAddress;
@ApiModelProperty("买家实付")
private String realPay;
@ApiModelProperty("优惠")
private String discountAmount;
@ApiModelProperty("应收")
private String dueAmount;
@ApiModelProperty("运费")
private String freight;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("声明价值(保价)")
private String declaredValue;
@ApiModelProperty("重量(Kg)")
private String weight;
@ApiModelProperty("体积(m³)")
private String volume;
@ApiModelProperty("订单号")
private String billNo;
@ApiModelProperty("系统单号")
private String sysBillNo;
@ApiModelProperty("店铺")
private String shopName;
@ApiModelProperty("下单时间(距今)")
private String billCreateTime;
@ApiModelProperty("付款时间(距今)")
private String payTime;
@ApiModelProperty("预计发货时间")
private String expectSendDate;
@ApiModelProperty("预计送达时间")
private String deliveryDate;
@ApiModelProperty("承诺/最晚揽收时间")
private String latestReceivingTime;
@ApiModelProperty("承诺/最晚发货时间")
private String latestSendTime;
@ApiModelProperty("承诺/最晚送达时间")
private String latestArriveTime;
@ApiModelProperty("应推时间")
private String needPushTime;
@ApiModelProperty("业务员")
private String salesName;
@ApiModelProperty("开票名称(发票抬头)")
private String invoiceTitle;
@ApiModelProperty("达人ID")
private String talentID;
@ApiModelProperty("达人昵称")
private String buyserNickname;
@ApiModelProperty("代发店铺")
private String agentShop;
@ApiModelProperty("原始平台")
private String originalPlat;
@ApiModelProperty("原始单号")
private String originalBillNo;
}

20
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewConfirmDto.java

@ -0,0 +1,20 @@
package com.yxt.oms.biz.func.smssalesbill;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/7/25 16:57
*/
@Data
public class ReviewConfirmDto {
private String type; //0通过 1不通过
private String remarks; //意见
private List<String> sids;
private String createBySid; //登录人sid
private String createByName; //登录人
}

22
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewDetailsVo.java

@ -0,0 +1,22 @@
package com.yxt.oms.biz.func.smssalesbill;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/7/25 14:50
*/
@Data
public class ReviewDetailsVo {
private String sid;
private List<ReviewGoods> goods; //商品信息
private ReviewShipper shipper = new ReviewShipper(); //收货地址
private ReviewRemarksInfo remarksInfo = new ReviewRemarksInfo(); //备注信息
private ReviewInvoice invoice = new ReviewInvoice(); //发票信息
private List<ReviewDiscount> discounts; //优惠详情
private List<ReviewRecord> records; //操作记录
}

31
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewDiscount.java

@ -0,0 +1,31 @@
package com.yxt.oms.biz.func.smssalesbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 15:34
*/
@Data
public class ReviewDiscount {
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品简称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码")
private String goodsSkuCode; // 商品编码
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("优惠名称")
private String discountName; // 优惠名称
@ApiModelProperty("优惠金额")
private String discountAmount; // 优惠金额
@ApiModelProperty("平台商品名称")
private String platGoodsName; // 平台商品名称
@ApiModelProperty("平台规格名称")
private String platOwnSpec; // 平台规格名称
}

73
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewGoods.java

@ -0,0 +1,73 @@
package com.yxt.oms.biz.func.smssalesbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/7/25 14:53
*/
@Data
public class ReviewGoods {
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码")
private String goodsSkuCode; // 商品编码
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("条码")
private String barCode; // 条码
@ApiModelProperty("销售单价")
private String price; // 销售单价
@ApiModelProperty("折后单价")
private String discountPrice; // 折后单价
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("应收款")
private String dueAmount; // 应收款
@ApiModelProperty("销售金额")
private String amount; // 销售金额
@ApiModelProperty("税率")
private String taxRate; // 库存数量
@ApiModelProperty("税额")
private String taxAmount; // 税额
@ApiModelProperty("参考进价")
private String referenceCost; // 参考进价
@ApiModelProperty("商品成本")
private String cost; // 商品成本
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("实际库存")
private String inventoryCount; // 库存数量
@ApiModelProperty("可分配库存")
private String allocateCount; // 可分配库存
@ApiModelProperty("可用库存")
private String useCount; // 可用库存
@ApiModelProperty("在途库存")
private String wayCount; // 在途库存
@ApiModelProperty("各仓库存")
private String wareHouseCount; // 各仓库存
@ApiModelProperty("库存状况")
private String inventoryState; // 库存状况
@ApiModelProperty("单号")
private String billNo; // 单号
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("图片")
private String goodsImgUrl; // 图片
@ApiModelProperty("预计发货时间")
private String expectSendDate; // 预计发货时间
/**
* 图片
*/
private List<String> pic = new ArrayList<>();
}

53
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewInvoice.java

@ -0,0 +1,53 @@
package com.yxt.oms.biz.func.smssalesbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 15:28
*/
@Data
public class ReviewInvoice {
@ApiModelProperty("开票形式(001纸质发票/002电子发票")
private String invoiceMediumKey; // 开票形式(001纸质发票/002电子发票
@ApiModelProperty("开票形式(纸质发票/电子发票)")
private String invoiceMediumValue; // 开票形式(纸质发票/电子发票)
@ApiModelProperty("发票类型Key")
private String invoiceTypeKey; // 发票类型Key
@ApiModelProperty("发票类型")
private String invoiceType; // 发票类型
@ApiModelProperty("抬头")
private String invoiceTitle; // 开票名称
@ApiModelProperty("内容")
private String invoiceContent; // 内容
@ApiModelProperty("税号")
private String taxpayerNo; // 税号
@ApiModelProperty("开户银行")
private String bankName; // 开户银行
@ApiModelProperty("银行账户")
private String bankAccount; // 银行账户
@ApiModelProperty("详细地址")
private String address; // 详细地址
@ApiModelProperty("固定电话")
private String phone; // 固定电话
@ApiModelProperty("邮箱")
private String e_mail; // 邮箱
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("应收合计")
private String dueAmount; // 应收合计
@ApiModelProperty("本次欠款")
private String thisDebt; // 本次欠款
@ApiModelProperty("历史欠款")
private String historyDebt; // 历史欠款
@ApiModelProperty("预收合计")
private String advanceBalance; // 预收款余额
}

16
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewRecord.java

@ -0,0 +1,16 @@
package com.yxt.oms.biz.func.smssalesbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 15:37
*/
@Data
public class ReviewRecord {
private String createTime;//创建时间
private String createByName;//账号名称
private String remark;//操作内容
}

17
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewRemarksInfo.java

@ -0,0 +1,17 @@
package com.yxt.oms.biz.func.smssalesbill;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 15:26
*/
@Data
public class ReviewRemarksInfo {
private String buyerMessage; //买家留言
private String remarks; //线上备注
private String remarksSys; //系统备注
}

32
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/ReviewShipper.java

@ -0,0 +1,32 @@
package com.yxt.oms.biz.func.smssalesbill;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/7/25 15:23
*/
@Data
public class ReviewShipper {
@ApiModelProperty("收货人姓名")
private String shipperName; // 收货人姓名
@ApiModelProperty("收货人手机")
private String shipperMob; // 收货人手机
@ApiModelProperty("收货省")
private String deliveryProvince; // 收货省
@ApiModelProperty("收货市")
private String deliveryCity; // 收货市
@ApiModelProperty("收货县区")
private String deliveryCounty; // 收货县区
@ApiModelProperty("收货详细地址")
private String deliveryAddress; // 收货详细地址
@ApiModelProperty("真实姓名")
private String name; // 真实姓名
@ApiModelProperty("身份证号码")
private String idNo; // 身份证号码
@ApiModelProperty("固定电话")
private String phone; // 固定电话
}

20
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDetailDetailsVo.java

@ -31,6 +31,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: ss-sales(ss-sales) <br/>
* File: SmsSalesBillDetailVo.java <br/>
@ -90,4 +93,21 @@ public class SmsSalesBillDetailDetailsVo implements Vo {
private String inventoryCount; // 库存数量
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("税率")
private String taxRate; // 库存数量
@ApiModelProperty("税额")
private String taxAmount; // 税额
@ApiModelProperty("未含税价")
private String unTaxPrice; // 未含税价
@ApiModelProperty("总税额(未含税总额)")
private String taxTotalAmount; // 总税额(未含税总额)
@ApiModelProperty("图片")
private String goodsImgUrl; // 图片
/**
* 图片
*/
private List<String> pic = new ArrayList<>();
}

22
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDetailsVo.java

@ -158,11 +158,25 @@ public class SmsSalesBillDetailsVo implements Vo {
private String advanceBalance; // 预收款余额
//结算
@ApiModelProperty("结算账户")
private String bankAccount; // 结算账户
@ApiModelProperty("结算金额")
private String settleAmount; // 结算金额
private List<AccountVo> accounts;
@ApiModelProperty("付款凭证")
private List<FileQueryUrl> files = new ArrayList<>(); // 付款凭证
@ApiModelProperty("结算账户")
private String bankAccount; // 结算账户
@ApiModelProperty("结算账户")
private String bankAccountKey; // 结算账户
//-------------补充-------------
@ApiModelProperty("快递公司sid")
private String logisticsNameSid; // 快递公司sid
@ApiModelProperty("收货人sid")
private String shipperSid; // 收货人sid
@ApiModelProperty("固定电话")
private String phone; // 固定电话
@ApiModelProperty("店铺sid")
private String shopSid; // 店铺sid
@ApiModelProperty("店铺名称")
private String shopName; // 店铺名称
@ApiModelProperty("订单号")
private String billNo; // 订单号
}

21
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillDto.java

@ -158,14 +158,27 @@ public class SmsSalesBillDto implements Dto {
private String advanceBalance; // 预收款余额
//结算
@ApiModelProperty("结算账户")
private List<AccountVo> accounts;
@ApiModelProperty("结算账户")
private String bankAccount; // 结算账户
@ApiModelProperty("结算金额")
private String settleAmount; // 结算金额
@ApiModelProperty("结算账户")
private String bankAccountKey; // 结算账户
@ApiModelProperty("付款凭证")
private List<FileQueryUrl> files = new ArrayList<>(); // 付款凭证
//-------------补充-------------
@ApiModelProperty("快递公司sid")
private String logisticsNameSid; // 快递公司sid
@ApiModelProperty("收货人sid")
private String shipperSid; // 收货人sid
@ApiModelProperty("固定电话")
private String phone; // 固定电话
@ApiModelProperty("店铺sid")
private String shopSid; // 店铺sid
@ApiModelProperty("店铺名称")
private String shopName; // 店铺名称
@ApiModelProperty("订单号")
private String billNo; // 订单号
}

3
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillQuery.java

@ -72,5 +72,6 @@ public class SmsSalesBillQuery implements Query {
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("审核状态")
private String state; // 审核状态
}

30
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillService.java

@ -40,6 +40,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* Project: ss-sales(ss-sales) <br/>
@ -107,4 +109,32 @@ public class SmsSalesBillService extends MybatisBaseService<SmsSalesBillMapper,
public ResultBean deleteBySids(String[] sids) {
return smsSalesBillFeign.delBySids(sids);
}
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(PagerQuery<OrderReviewQuery> pq) {
return smsSalesBillFeign.reviewListPage(pq);
}
public ResultBean<ReviewDetailsVo> reviewDetails(String sid) {
return smsSalesBillFeign.reviewDetails(sid);
}
public ResultBean saveShipper(ReviewDetailsVo dto) {
return smsSalesBillFeign.saveShipper(dto);
}
public ResultBean saveInvoice(ReviewDetailsVo dto) {
return smsSalesBillFeign.saveInvoice(dto);
}
public ResultBean saveOneListData(OrderReviewVo dto) {
return smsSalesBillFeign.saveOneListData(dto);
}
public ResultBean reviewConfirm(ReviewConfirmDto dto) {
return smsSalesBillFeign.reviewConfirm(dto);
}
public ResultBean submit(SmsSalesBillDto dto) {
return smsSalesBillFeign.submit(dto);
}
}

39
oms/src/main/java/com/yxt/oms/biz/func/smssalesbill/SmsSalesBillVo.java

@ -49,32 +49,33 @@ import lombok.Data;
public class SmsSalesBillVo implements Vo {
private String sid; // sid
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("制单部门")
private String deptName; // 制单部门
@ApiModelProperty("制单人姓名")
private String createByName; // 制单人姓名
@ApiModelProperty("制单日期")
private String createTime; // 制单日期
@ApiModelProperty("单据类型value")
private String billTypeValue; // 单据类型value
@ApiModelProperty("制单日期")
private String createTime; // 制单日期
@ApiModelProperty("单据编号")
private String billNo; // 单据编号
@ApiModelProperty("店铺名称")
private String shopName; // 店铺名称
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("配送方式Value")
private String deliveryTypeValue; // 配送方式Value
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("实付")
private String thisPay; // 实付
@ApiModelProperty("整体优惠金额")
private String discountAmount; // 整体优惠金额
@ApiModelProperty("应收合计")
private String dueAmount; // 应收合计
@ApiModelProperty("运费")
private String freight; // 运费
@ApiModelProperty("快递公司")
private String logisticsName; // 快递公司
@ApiModelProperty("业务员")
private String salesName; // 业务员
@ApiModelProperty("客户名称")
private String customerName; // 客户名称
@ApiModelProperty("收货人")
private String shipperName; // 收货人
@ApiModelProperty("手机号")
private String shipperMob; // 手机号
@ApiModelProperty("省/市/县/详细地址")
private String deliveryAddress; // 省/市/县/详细地址
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("审核状态")
private String state; // 审核状态
}

112
oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfo.java

@ -0,0 +1,112 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.supplierinfo;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-base(供应商管理) <br/>
* File: BaseSupplierInfo.java <br/>
* Class: com.yxt.base.api.basesupplierinfo.BaseSupplierInfo <br/>
* Description: 供应商信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-18 13:33:13 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "供应商信息", description = "供应商信息")
@TableName("base_supplier_info")
public class SupplierInfo extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("编码")
private String supplierCode; // 编码
@ApiModelProperty("供应商名称")
private String supplierName; // 供应商名称
@ApiModelProperty("供应商名称拼音")
private String supplierPY; // 供应商名称拼音
@ApiModelProperty("供应商类型sid")
private String supplierTypeSid; // 供应商类型sid
@ApiModelProperty("供应商类型")
private String supplierTypeName; // 供应商类型
@ApiModelProperty("省sid")
private String provinceSid; // 省sid
@ApiModelProperty("province")
private String province; //
@ApiModelProperty("市sid")
private String citySid; // 市sid
@ApiModelProperty("city")
private String city; //
@ApiModelProperty("收货县区sid")
private String countySid; // 收货县区sid
@ApiModelProperty("county")
private String county; //
@ApiModelProperty("详细地址")
private String address; // 详细地址
@ApiModelProperty("手机")
private String contactMobile; // 手机
@ApiModelProperty("电话")
private String contactTelePhone; // 电话
@ApiModelProperty("联系人")
private String contactName; // 联系人
@ApiModelProperty("传真")
private String fax; // 传真
@ApiModelProperty("邮编")
private String zipCode; // 邮编
@ApiModelProperty("电子邮件")
private String email; // 电子邮件
@ApiModelProperty("网址")
private String website; // 网址
@ApiModelProperty("开票公司名称")
private String billingCompanyName; // 开票公司名称
@ApiModelProperty("税号")
private String registNum; // 税号
@ApiModelProperty("法人")
private String legalName; // 法人
@ApiModelProperty("采购员")
private String purchaser; // 采购员
@ApiModelProperty("排序")
private Integer sortNo; // 排序
@ApiModelProperty("开票类型key")
private String billingTypeKey; // 开票类型key
@ApiModelProperty("开票类型value")
private String billingTypeValue; // 开票类型value
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
private double taxRate;
}

54
oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfoChoice.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.supplierinfo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: yxt-base(供应商管理) <br/>
* File: BaseSupplierInfoVo.java <br/>
* Class: com.yxt.base.api.basesupplierinfo.BaseSupplierInfoVo <br/>
* Description: 供应商信息 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-03-18 13:33:13 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "供应商信息 视图数据对象", description = "供应商信息 视图数据对象")
public class SupplierInfoChoice implements Vo {
private String sid;
@ApiModelProperty("供应商名称")
private String supplierName;
}

43
oms/src/main/java/com/yxt/oms/biz/func/supplierinfo/SupplierInfoService.java

@ -0,0 +1,43 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.oms.biz.func.supplierinfo;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.feign.supplier.supplierinfo.SupplierInfoFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SupplierInfoService {
@Autowired
SupplierInfoFeign baseSupplierInfoFeign;
public ResultBean<List<SupplierInfoChoice>> choiceSupplierInfo(String createOrgSid) {
return baseSupplierInfoFeign.choiceSupplierInfo(createOrgSid);
}
}

46
oms/src/main/java/com/yxt/oms/biz/func/sysstafforg/SysStaffOrg.java

@ -0,0 +1,46 @@
package com.yxt.oms.biz.func.sysstafforg;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysStaffOrg.java <br/>
* Class: com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg <br/>
* Description: 员工部门关联表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "员工部门关联表", description = "员工部门关联表")
@TableName("sys_staff_org")
@Data
public class SysStaffOrg extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("部门sid")
private String orgSid;
@ApiModelProperty("部门名称")
private String orgName;
@ApiModelProperty("人员sid")
private String staffSid;
// @ApiModelProperty("部门路径")
// private String orgSidPath;
// @ApiModelProperty("部门名称路径")
// private String orgNamePath;
@ApiModelProperty("管理类型:1、主管。2、分管。3、员工")
private String manageType;
}

30
oms/src/main/java/com/yxt/oms/biz/func/warehouseinfo/WarehouseInfo.java

@ -0,0 +1,30 @@
package com.yxt.oms.biz.func.warehouseinfo;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/2/26 13:36
*/
@Data
public class WarehouseInfo extends BaseEntity {
private String warehouseName;//仓库名称
private String warehouseCode;//仓库编码
private String contacts;//联系人
private String mob;//手机
private String telephone;//联系电话
private String manager;//主管
private String areaSid;//地区sid
private String address;//地址
private String longitude;//经度
private String latitude;//纬度
private String warehouseTypeKey;//仓库类型Key
private String warehouseTypeValue;//仓库类型value
private Integer usageStatus;//使用状态,0停用 1正常
private String squareMeter;//平方米
private Integer sortNo;//排序
private String useOrgSid;//创建组织sid
private String createOrgSid;//创建组织sid
}

42
oms/src/main/java/com/yxt/oms/biz/func/warehouseinfo/WarehouseInfoService.java

@ -1,30 +1,18 @@
package com.yxt.oms.biz.func.warehouseinfo;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.sysorganization.SysOrganizationVo;
import com.yxt.oms.feign.portal.sysorganization.SysOrganizationFeign;
import com.yxt.oms.feign.warehouse.warehouseinfo.WarehouseInfoFeign;
import com.yxt.oms.utils.OrgPathQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author wangpengfei
* @date 2024/2/26 13:40
*/
@Service
public class WarehouseInfoService {
@ -32,8 +20,30 @@ public class WarehouseInfoService {
@Autowired
private WarehouseInfoFeign warehouseInfoFeign;
@Resource
private SysOrganizationFeign sysOrganizationFeign;
public ResultBean<List<SmsOrderHouseInfo>> getWareHouse(String createOrgSid) {
return warehouseInfoFeign.getWareHouse(createOrgSid);
}
public ResultBean<List<WarehouseInfo>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = "";
String orgPath = query.getOrgPath();
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
useOrgSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
useOrgSid = sysOrganization.getSid();
}
}
List<WarehouseInfo> list = warehouseInfoFeign.listAll(query).getData();
return rb.success().setData(list);
}
}

267
oms/src/main/java/com/yxt/oms/config/DictCommonType.java

@ -0,0 +1,267 @@
package com.yxt.oms.config;
import io.swagger.annotations.ApiModelProperty;
/**
* @author dimengzhe
* @date 2021/7/1 10:23
* @description 常量值管理
*/
public class DictCommonType {
//客户端获取手机验证码redis前缀定义
public static final String WX_REGIST = "wx-regist-";//注册获取验证码
public static final String WX_LOGIN = "wx-login-";//登录获取验证码
public static final String WX_FORGET = "wx-forget-";//忘记密码获取验证码
public static final String WX_UPDATE = "wx-update-";//忘记密码获取验证码
public static final String WX_NEW = "wx-new-";//新手机号获取验证码
/*供应厂商相关*/
@ApiModelProperty(value = "供应商分类")
public static final String SUPPLIER_TYPE = "supplierType";//数据字典已添加
@ApiModelProperty(value = "供应类别")
public static final String SUPPLY_TYPE = "supplyType";//数据字典已添加
@ApiModelProperty(value = "供应商分组")
public static final String SUPPLIE_RGROUP = "supplierGroup";//数据字典已添加
/*供应厂商财务信息相关*/
@ApiModelProperty(value = "结算币种")
public static final String SETTLEMENT_CURRENCY = "settlementCurrency";//数据字典已添加
@ApiModelProperty(value = "结算方式")
public static final String SETTLEMENT_WAY = "settlementWay";//数据字典已添加
@ApiModelProperty(value = "税分类")
public static final String TAX_CLASSIFICATION = "taxClassification";//数据字典已添加
/*基础信息品牌相关*/
@ApiModelProperty(value = "品牌类型")
public static final String BRAND_TYPE = "brandType";//数据字典已添加
@ApiModelProperty(value = "职级(岗位)")
public static final String POSTLEVEL = "postLevel";
/*车型、车型配置、车辆信息相关*/
@ApiModelProperty(value = "车辆类型")
public static final String VEHICLE_TYPE = "vehicleType";//数据字典已添加
@ApiModelProperty(value = "排放标准")
public static final String EMISSION_STANDARD = "emissionStandard";//数据字典已添加
@ApiModelProperty(value = "产品线")
public static final String PRODUCT_LINE = "productLine";//数据字典已添加
@ApiModelProperty(value = "后桥")
public static final String REAR_AXLE = "rearAxle";//数据字典已添加
@ApiModelProperty(value = "速比")
public static final String SPEED_RATIO = "speedRatio";//数据字典已添加
@ApiModelProperty(value = "系别")
private static final String SERIES = "series";//数据字典已添加
@ApiModelProperty(value = "车辆功能")
private static final String VEHICLE_FUNCTION = "vehicleFunction";//数据字典已添加
@ApiModelProperty(value = "细分市场")
private static final String MARKETSEGMENTS = "marketSegments";//数据字典已添加
@ApiModelProperty(value = "车身颜色")
public static final String BODYCOLOR = "bodyColor";
@ApiModelProperty(value = "缓速器")
public static final String SLOWMACHINE = "slowMachine";
@ApiModelProperty(value = "后视镜")
public static final String REARVIEWMIRROR = "rearViewMirror";
@ApiModelProperty(value = "轮胎")
public static final String TIRESIZE = "tireSize";
@ApiModelProperty(value = "驾驶室")
public static final String SPECIFICATION = "specification";
@ApiModelProperty(value = "后桥速比")
public static final String REARAXLERATIO = "rearAxleRatio";
@ApiModelProperty(value = "轮毂材质")
public static final String HUBMATERIAL = "hubMaterial";
@ApiModelProperty(value = "悬架")
public static final String SUSPENSION = "suspension";
@ApiModelProperty(value = "座椅")
public static final String SEAT = "seat";
@ApiModelProperty(value = "鞍座")
public static final String SADDLE = "saddle";
@ApiModelProperty(value = "轴距")
public static final String WHEELBASE = "wheelbase";
@ApiModelProperty(value = "保险杠")
public static final String BUMPER = "bumper";
@ApiModelProperty(value = "配置包")
public static final String CONFIGURINGBAO = "configuringBao";
@ApiModelProperty(value = "独立热源")
public static final String INDEPENDENTSOURCES = "independentSources";
@ApiModelProperty(value = "燃料箱")
public static final String FUELTANK = "fuelTank";
@ApiModelProperty(value = "有无:1有0无")
public static final String WHETHER = "whether";
@ApiModelProperty(value = "车辆状态")
public static final String VEHICLE_STATE = "vehicleState";
@ApiModelProperty(value = "车辆状态(车辆台账)")
public static final String VEHICLE_LEDGER_STATE = "vehicleLedgerState";
@ApiModelProperty(value = "驱动")
public static final String DRIVER = "driver";
@ApiModelProperty(value = "马力")
public static final String HORSEPOWER = "horsepower";
@ApiModelProperty(value = "锁定状态")
public static final String LOCKED_STATE = "lockedState";
@ApiModelProperty(value = "预计订金日期")
public static final String RESERVE_DEPOSIT_DATE = "reserveDepositDate";
@ApiModelProperty(value = "贷款主体类型")
public static final String LOANTYPE = "loanType";
@ApiModelProperty(value = "打包项目")
public static final String PACKAGINGPROJECT = "packagingProject";
@ApiModelProperty(value = "融资项目(比打包项目多一个“配件”)")
public static final String PACKAGINGPROJECTFIN = "packagingProjectFin";
@ApiModelProperty(value = "变速箱")
public static final String GEARBOX = "gearbox";
@ApiModelProperty(value = "燃料种类")
public static final String FUELTYPE = "fuelType";
@ApiModelProperty(value = "版本(车辆需求)")
public static final String VEHICLEVERSION = "vehicleVersion";
@ApiModelProperty(value = "采购形式")
public static final String PURCHASINGFORM = "purchasingForm";
/*经销商相关*/
@ApiModelProperty(value = "经销商分类")
public static final String DISTRIBUTOR_CLASSIFICATION = "distributorClassification";//数据字典已添加
@ApiModelProperty(value = "经销商类型")
public static final String DISTRIBUTOR_TYPE = "distributorType";//数据字典已添加
@ApiModelProperty(value = "经销商等级")
public static final String DISTRIBUTOR_LEVEL = "distributorLevel";//数据字典已添加
@ApiModelProperty(value = "企业性质")
public static final String ENTERPRISE_NATURE = "enterpriseNature";//数据字典已添加
@ApiModelProperty(value = "登记状态")
public static final String REGIST_STATE = "registState";
@ApiModelProperty(value = "注册资本单位")
public static final String REGISTEREDCAPITAL_ORG = "registeredCapitalOrg";
@ApiModelProperty(value = "项目类型")
public static final String PROJECT_TYPE = "projectType";
/*经销商相关结束*/
@ApiModelProperty(value = "合格证情况:0001虚拟 ,002正式")
public static final String CERTIFICATE_SITUATION = "certificateSituation";
@ApiModelProperty(value = "客户类型:1个人2企业")
public static final String CUSTOMER_TYPE = "customerType";
@ApiModelProperty(value = "登记注册号类型")
public static final String REGIST_NUM_TYPE = "registNumType";
@ApiModelProperty(value = "现居住状况")
public static final String CURRENT_LIVE_STATE = "currentlivestate";
@ApiModelProperty(value = "教育程度")
public static final String EDUCATION_DEGREE = "educationdegree";
@ApiModelProperty(value = "雇员类型")
public static final String EMPLOYEE_TYPE = "employeetype";
@ApiModelProperty(value = "证件类型")
public static final String DOCUMENT_TYPE = "documenttype";
@ApiModelProperty(value = "行业类别")
public static final String INDUSTRY_TYPE = "industrytype";
@ApiModelProperty(value = "经济类型")
public static final String ECONOMIC_TYPE = "economictype";
@ApiModelProperty(value = "组织机构类别")
public static final String ORGANIZATION_TYPE = "organizationtype";
@ApiModelProperty(value = "组织机构类别细分")
public static final String ORGANIZATION_TYPE_DETAILS = "organizationtypedetails";
@ApiModelProperty(value = "是或否")
public static final String IS_TRUE = "isTrue";
@ApiModelProperty(value = "准驾车型")
public static final String CAR_TYPE = "carType";
@ApiModelProperty(value = "与客户关系")
public static final String RELATION_SHIP = "relationship";
@ApiModelProperty(value = "现工作单位性质")
public static final String ORG_NATURE = "orgNature";
@ApiModelProperty(value = "主要收入来源")
public static final String INCOME_SOURCE = "incomeSource";
@ApiModelProperty(value = "职位")
public static final String POSITION = "position";
@ApiModelProperty(value = "经销商类型")
public static final String DEALERS_TYPE = "dealersType";
@ApiModelProperty(value = "附件类型")
public static final String ATTACH_TYPE = "attachType";
@ApiModelProperty(value = "信用记录")
public static final String CREDIT_RECORD = "creditRecord";
@ApiModelProperty(value = "拟租赁形式l")
public static final String PLANS_TO_LEASE = "plansToLease";
@ApiModelProperty(value = "去返程货物")
public static final String GO_GOODS = "goGoods";
@ApiModelProperty(value = "经营业务范围")
public static final String BUSINESSSCOPE = "businessScope";
/* 客户信息相关*/
@ApiModelProperty(value = "客户分类")
public static final String CUSTOMER_CLASS = "customerClass";
@ApiModelProperty(value = "客户来源")
public static final String CUSTOMER_SOURCE = "customerSource";
@ApiModelProperty(value = "客户等级")
public static final String CUSTOMER_LEVEL = "customerLevel";
@ApiModelProperty(value = "来访方式")
public static final String VISIT_WAY = "visitWay";
@ApiModelProperty(value = "跟进状态")
public static final String FOLLOW_STATE = "followState";
@ApiModelProperty(value = "提醒日期(天)")
public static final String REMIND_DAY = "remindDay";
@ApiModelProperty(value = "承运货物类型")
public static final String CONSIGNMENT_TYPE = "consignmentType";
@ApiModelProperty(value = "承运货物(暂为假数据)")
public static final String CONSIGNMENT = "consignment";
@ApiModelProperty(value = "购车方式")
public static final String PURCHASETYPE = "purchaseType";
@ApiModelProperty(value = "提车方式")
public static final String SALETYPE = "saleType";
/* 车辆订单 */
@ApiModelProperty(value = "单据类型")
public static final String BILLSTYPE = "billsType";
@ApiModelProperty(value = "合同类型")
public static final String CONTRACTTYPE = "contractType";
@ApiModelProperty(value = "主车优惠类型")
public static final String DISCOUNTTYPE = "discountType";
@ApiModelProperty(value = "还款方式")
public static final String MODEOFREPAY = "modeOfRePay";
@ApiModelProperty(value = "保证金方式")
public static final String BONDMETHOD = "bondMethod";
@ApiModelProperty(value = "业务类型")
public static final String BUSINESSTYPE = "businessType";
@ApiModelProperty(value = "开户银行")
public static final String BANK = "bank";
@ApiModelProperty(value = "账户类型")
public static final String ACCOUNTTYPE = "accountType";
@ApiModelProperty(value = "运输货物")
public static final String TRANSPORTCARGO = "transportCargo";
@ApiModelProperty(value = "结账周期")
public static final String CHECKOUTCYCLE = "checkoutCycle";
@ApiModelProperty(value = "虚拟订单类型")
public static final String DEPOSITBILLTYPE = "depositBillType";
@ApiModelProperty(value = "付款方式")
public static final String PAYMENTTYPE = "paymentType";
/* 物料相关 */
@ApiModelProperty(value = "物料分组")
public static final String MATERIAL_GROUP = "materialGroup";
@ApiModelProperty(value = "物料属性")
public static final String MATERIAL_PROPERTIES = "materialProperties";
@ApiModelProperty(value = "存货类别")
public static final String STOCK_TYPE = "stockType";
@ApiModelProperty(value = "基本单位")
public static final String BASIC_UNIT = "basicUnit";
/* 合同相关 */
@ApiModelProperty(value = "人员类型")
public static final String PERSONNEL_TYPE = "personnelType";
/* 开票申请单相关 */
@ApiModelProperty(value = "开票性质")
public static final String INVOICING_NATURE = "invoicingNature";
/*员工信息管理相关*/
@ApiModelProperty(value = "婚姻状况")
public static final String MARITAL_STATUS = "maritalstatus";
@ApiModelProperty(value = "民族")
public static final String NATIONAL = "national";
@ApiModelProperty(value = "性别")
public static final String SEX = "sex";
@ApiModelProperty(value = "政治面貌")
public static final String POLITICAL = "political";
/*资料清单相关*/
@ApiModelProperty(value = "资料类别")
public static final String DATA_TYPE = "dataType";
@ApiModelProperty(value = "文件格式")
public static final String FILE_TYPE = "fileType";
}

62
oms/src/main/java/com/yxt/oms/feign/customer/crmfile/CrmFileFeign.java

@ -0,0 +1,62 @@
package com.yxt.oms.feign.customer.crmfile;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.crmfile.CommonAppendixSelectQuery;
import com.yxt.oms.biz.func.crmfile.CommonAppendixVo;
import com.yxt.oms.biz.func.crmfile.CommonAttachTypeEnum;
import com.yxt.oms.biz.func.crmfile.PcCommonAppendixDto;
import com.yxt.oms.biz.func.crmvisit.CrmVisit;
import com.yxt.oms.biz.func.crmvisit.CrmVisitQuery;
import com.yxt.oms.biz.func.crmvisit.CrmVisitVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempFeign.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "潜在客户信息")
@FeignClient(
contextId = "ss-common-customer-CrmFile",
name = "ss-common-customer",
path = "v1/crmfile"
)
public interface CrmFileFeign {
@ApiOperation("附件保存")
@PostMapping("/saveCommonAppendix")
ResultBean saveCommonAppendix(@RequestParam(value = "linkSid") String linkSid, @RequestBody List<PcCommonAppendixDto> list);
@ApiOperation("PC端保存/修改附件")
@PostMapping("/saveOrUpdatePcAppendix")
public ResultBean saveOrUpdatePcAppendix(@RequestBody PcCommonAppendixDto dto, @RequestParam("sid") String sid, @RequestParam("staffSid") String staffSid, @RequestParam("attachType") String attachType);
@ApiOperation(value = "批量删除文件")
@PostMapping("/deleteFiles")
ResultBean deleteFiles(@RequestParam(value = "linkSid") String linkSid,@RequestParam(value = "attachType") String attachType);
@ApiOperation("Pc端查询附件")
@PostMapping("/getPcAppendix")
public ResultBean<List<CommonAppendixVo>> getPcAppendix(@RequestBody CommonAppendixSelectQuery query);
@ApiOperation("附件保存")
@PostMapping("/saveAppendix")
ResultBean saveAppendix(@RequestParam(value = "linkSid") String linkSid,@RequestParam(value = "attachType") String attachType, @RequestBody List<PcCommonAppendixDto> list);
}

67
oms/src/main/java/com/yxt/oms/feign/customer/crmvisit/CrmVisitFeign.java

@ -0,0 +1,67 @@
package com.yxt.oms.feign.customer.crmvisit;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmcustomer.*;
import com.yxt.oms.biz.func.crmvisit.CrmVisit;
import com.yxt.oms.biz.func.crmvisit.CrmVisitDto;
import com.yxt.oms.biz.func.crmvisit.CrmVisitQuery;
import com.yxt.oms.biz.func.crmvisit.CrmVisitVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempFeign.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "潜在客户信息")
@FeignClient(
contextId = "ss-common-customer-CrmVisit",
name = "ss-common-customer",
path = "v1/crmvisit"
)
public interface CrmVisitFeign {
@ApiOperation("保存")
@PostMapping("/saveEntity")
public boolean saveEntity(@RequestBody CrmVisit visit);
/**
* 客户跟进记录分页列表
*
* @param pagerQuery 查询条件
* @return
*/
@ApiOperation("客户跟进记录分页列表")
@PostMapping("/pageList")
public ResultBean<PagerVo<CrmVisitVo>> pageList(@RequestBody PagerQuery<CrmVisitQuery> pagerQuery);
@ApiOperation("Pc查看详情及修改回显")
@GetMapping("/fetchSid/{sid}")
@ResponseBody
public ResultBean<CrmVisitVo> fetchSid(@PathVariable("sid") String sid);
@ApiOperation("修改")
@PostMapping("/update/{sid}")
public boolean update(@RequestBody CrmVisitDto dto, @PathVariable("sid") String sid);
@ApiOperation("删除记录")
@DeleteMapping("/del")
public ResultBean del(@RequestBody String[] ids);
}

102
oms/src/main/java/com/yxt/oms/feign/customer/customertemp/CrmCustomerTempFeign.java

@ -0,0 +1,102 @@
package com.yxt.oms.feign.customer.customertemp;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.crmcustomer.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* Project: anrui-crm(客户管理) <br/>
* File: CrmCustomerTempFeign.java <br/>
* Class: com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign <br/>
* Description: 潜在客户信息. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-01-12 11:21:16 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "潜在客户信息")
@FeignClient(
contextId = "ss-common-customer-CrmCustomerTemp",
name = "ss-common-customer",
path = "v1/crmcustomertemp"
)
public interface CrmCustomerTempFeign {
@ApiOperation("销售订单选择客户")
@PostMapping("/chooseCustomerList")
public ResultBean<PagerVo<SalesCustomerVo>> chooseCustomerList(@RequestBody PagerQuery<SalesCustomerQuery> pq);
/**
* 潜在客户管理的分页查询
*
* @param pq
* @return
*/
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<CrmCustomerTempVo>> listPage(@RequestBody PagerQuery<CrmCustomerTempQuery> pq);
@ApiOperation("根据客户编码查询客户")
@GetMapping("/selectByCustomerNo")
public ResultBean<CrmCustomerTemp> selectByCustomerNo(@RequestParam("customerNo") String customerNo);
@ApiOperation("保存")
@PostMapping("/saveEntity")
public ResultBean saveEntity(@RequestBody CrmCustomerTemp temp);
/**
* pc潜在客户的批量删除
*
* @param sid
* @return
*/
@ApiOperation("删除记录")
@DeleteMapping("/del")
public ResultBean del(@RequestBody String[] sid);
@ApiOperation("根据客户编码查询客户")
@GetMapping("/fetchBySid")
public ResultBean<CrmCustomerTemp> fetchBySid(@RequestParam("sid") String sid);
@ApiOperation("修改")
@PostMapping("/updateEntity")
public ResultBean updateEntity(@RequestBody CrmCustomerTemp temp);
/**
* 添加运营情况信息时/添加跟进记录查询客户是否存在
*
* @param customerSid
* @return
*/
@ApiOperation("添加运营情况信息时/添加跟进记录查询客户是否存在")
@GetMapping("/selBySid")
public int selBySid(@RequestParam("customerSid") String customerSid);
/**
* 添加运营情况信息时/添加跟进记录查询客户是否存在
*
* @param customerSid
* @return
*/
@ApiOperation("添加运营情况信息时/添加跟进记录查询客户是否存在")
@PostMapping("/selBySid")
public int updateRemindAndByCustomerSid(@RequestParam(value = "customerSid", required = false) String customerSid,
@RequestParam(value = "remind_day", required = false) String remind_day,
@RequestParam(value = "remind_remark", required = false) String remind_remark,
@RequestParam(value = "isOnRemind", required = false) String isOnRemind,
@RequestParam(value = "isOnRemindkey", required = false) String isOnRemindkey,
@RequestParam(value = "follow_state", required = false) String follow_state);
}

50
oms/src/main/java/com/yxt/oms/feign/goods/basegoodssku/BaseGoodsSkuDetailsVo.java

@ -0,0 +1,50 @@
package com.yxt.oms.feign.goods.basegoodssku;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@Data
public class BaseGoodsSkuDetailsVo {
@ApiModelProperty("商品代码")
private String goodsCode;
@ApiModelProperty("条形码")
private String barCode;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("副标题")
private String subTitle;
@ApiModelProperty("拼音缩写")
private String goodsPY;
@ApiModelProperty("商品简称")
private String goodsShortName;
@ApiModelProperty("商品分类sid")
private String goodsTypeSid;
@ApiModelProperty("品牌sid")
private String brandSid;
@ApiModelProperty("厂家sid")
private String manufacturersid;
@ApiModelProperty("商品单位sid")
private String goodsUnitSid;
@ApiModelProperty("商品spuSid")
private String goodsSpuSid;
@ApiModelProperty("商品单位名称")
private String goodsUnitName;
@ApiModelProperty("商品Sku代码")
private String goodsSkuCode;
@ApiModelProperty("商品标题")
private String title;
@ApiModelProperty("是否一品一码(goodID),0否,1是")
@JsonProperty("isGoodsID")
private int isGoodsID;
@ApiModelProperty("商品类别名称")
private String goodsTypeName;
}

28
oms/src/main/java/com/yxt/oms/feign/goods/basegoodssku/BaseGoodsSkuFeign.java

@ -0,0 +1,28 @@
package com.yxt.oms.feign.goods.basegoodssku;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.basegoodssku.BaseGoodsSkuVo;
import com.yxt.oms.utils.OrgPathQuery;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/3/20
**/
@FeignClient(
contextId = "yss-common-goods-GoodsSku",
name = "ss-common-goods",
path = "/apiadmin/base/basegoodssku")
public interface BaseGoodsSkuFeign {
@ApiOperation("查询组织下所有商品")
@PostMapping("/listAllByOrg")
public ResultBean<List<BaseGoodsSkuVo>> listAllByOrg(@RequestBody OrgPathQuery query);
}

2
oms/src/main/java/com/yxt/oms/feign/goods/goodsSpu/GoodsSpuFeign.java

@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestBody;
**/
@FeignClient(
contextId = "ss-goods-GoodsSpu",
name = "ss-goods",
name = "ss-common-goods",
path = "/apiadmin/base/basegoodsspu")
public interface GoodsSpuFeign {

2
oms/src/main/java/com/yxt/oms/feign/goods/sku/GoodsSkuFeign.java

@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.*;
**/
@FeignClient(
contextId = "ss-goods-GoodsSku",
name = "ss-goods",
name = "ss-common-goods",
path = "/apiadmin/base/basegoodssku")
public interface GoodsSkuFeign {

20
oms/src/main/java/com/yxt/oms/feign/portal/sysstafforg/SysStaffOrgFeign.java

@ -1,10 +1,13 @@
package com.yxt.oms.feign.portal.sysstafforg;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.sysstafforg.SysStaffOrg;
import com.yxt.oms.biz.func.sysstafforg.SysStaffOrgByUserVo;
import com.yxt.oms.feign.portal.sysuser.SysStaffOrgVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
@ -29,5 +32,20 @@ public interface SysStaffOrgFeign {
@GetMapping("/selAllByOrgSidPath")
@ResponseBody
@ApiOperation("根据组织全路径查询当前部门下的所有员工")
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(String orgSidPath);
public ResultBean<List<SysStaffOrgByUserVo>> selAllByOrgSidPath(@RequestParam("orgSidPath") String orgSidPath);
@GetMapping("/getOrgByStaffSid")
@ResponseBody
@ApiOperation("根据用户组织全路径获取用户的分公司sid")
public ResultBean<SysStaffOrg> getOrgByStaffSid(@RequestParam("staffSid") String staffSid);
@GetMapping("/getPathSidByUserSid")
@ResponseBody
@ApiOperation("根据组织全路径查询当前部门下的所有员工")
public ResultBean<String> getPathSidByUserSid(@RequestParam(value = "userSid") String applySid);
@ApiOperation("根据员工sid获取部门信息")
@ResponseBody
@GetMapping("/getSysStaffOrgListByStaffSid/{staffSid}")
public ResultBean<List<SysStaffOrgVo>> getSysStaffOrgListByStaffSid(@PathVariable("staffSid") String staffSid);
}

5
oms/src/main/java/com/yxt/oms/feign/portal/sysuser/SysUserFeign.java

@ -95,4 +95,9 @@ public interface SysUserFeign {
@ApiOperation("根据sid查询用户信息")
@PostMapping("/selectBySid")
public ResultBean<SysUser> selectBySid(@RequestParam("sid") String sid);
@ApiOperation("根据staffsid查询用户")
@ResponseBody
@GetMapping("/selectByStaffsid/{staffsid}")
public ResultBean<SysUserVo> selectByStaffsid(@PathVariable("staffsid") String staffsid);
}

5
oms/src/main/java/com/yxt/oms/feign/portal/sysuser/SysUserFeignFallback.java

@ -91,4 +91,9 @@ public class SysUserFeignFallback implements SysUserFeign {
public ResultBean<SysUser> selectBySid(String sid) {
return null;
}
@Override
public ResultBean<SysUserVo> selectByStaffsid(String staffsid) {
return null;
}
}

17
oms/src/main/java/com/yxt/oms/feign/purchase/purchasebill/PurchaseBillFeign.java

@ -3,10 +3,7 @@ package com.yxt.oms.feign.purchase.purchasebill;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.purchasebill.PurchaseBillDetailsVo;
import com.yxt.oms.biz.func.purchasebill.PurchaseBillDto;
import com.yxt.oms.biz.func.purchasebill.PurchaseBillQuery;
import com.yxt.oms.biz.func.purchasebill.PurchaseBillVo;
import com.yxt.oms.biz.func.purchasebill.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -21,6 +18,10 @@ public interface PurchaseBillFeign {
@PostMapping("/listPage")
public ResultBean<PagerVo<PurchaseBillVo>> listPage(@RequestBody PagerQuery<PurchaseBillQuery> pq);
@ApiOperation("采购订单审核管理")
@PostMapping("/exlistPage")
public ResultBean<PagerVo<PurchaseBillExVo>> exlistPage(@RequestBody PagerQuery<PurchaseBillQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean<String> save(@RequestBody PurchaseBillDto dto);
@ -32,4 +33,12 @@ public interface PurchaseBillFeign {
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<PurchaseBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("采购单提交")
@PostMapping("/submit")
public ResultBean submit(@RequestBody String[] sids);
@ApiOperation("采购单审核")
@PostMapping("/examine")
public ResultBean examine(@RequestParam("sid") String sid,@RequestParam("state") String state,@RequestParam("remarks") String remarks);
}

18
oms/src/main/java/com/yxt/oms/feign/purchase/purchaseflownode/PurchaseFlowNodeFeign.java

@ -0,0 +1,18 @@
package com.yxt.oms.feign.purchase.purchaseflownode;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.purchaseflownode.PurchaseFlowNodeVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@FeignClient(
contextId = "ss-common-purchase-PurchaseFlowNode",
name = "ss-common-purchase",
path = "/apiadmin/purchaseflownode")
public interface PurchaseFlowNodeFeign {
@PostMapping("/listPage")
public ResultBean<List<PurchaseFlowNodeVo>> listPage(@RequestParam("sid") String sid);
}

33
oms/src/main/java/com/yxt/oms/feign/sales/smssalesbill/SmsSalesBillFeign.java

@ -3,10 +3,7 @@ package com.yxt.oms.feign.sales.smssalesbill;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillDetailsVo;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillDto;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillQuery;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillVo;
import com.yxt.oms.biz.func.smssalesbill.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
@ -18,7 +15,7 @@ import org.springframework.web.bind.annotation.*;
**/
@FeignClient(
contextId = "ss-common-sales-SmsSalesBill",
name = "ss-common-smssalesbill",
name = "ss-common-sales",
path = "/v1/smssalesbill",
fallback = SmsSalesBillFeignFallback.class)
public interface SmsSalesBillFeign {
@ -40,5 +37,31 @@ public interface SmsSalesBillFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<SmsSalesBillDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("销售订单审核列表")
@PostMapping("/reviewListPage")
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(@RequestBody PagerQuery<OrderReviewQuery> pq);
@ApiOperation("销售订单审核详情")
@GetMapping("/reviewDetails")
public ResultBean<ReviewDetailsVo> reviewDetails(@RequestParam("sid") String sid);
@ApiOperation("收货地址保存")
@PostMapping("/saveShipper")
public ResultBean saveShipper(@RequestBody ReviewDetailsVo dto);
@ApiOperation("发票信息保存")
@PostMapping("/saveInvoice")
public ResultBean saveInvoice(@RequestBody ReviewDetailsVo dto);
@ApiOperation("分页列表保存")
@PostMapping("/saveOneListData")
public ResultBean saveOneListData(@RequestBody OrderReviewVo dto);
@ApiOperation("审核确认")
@PostMapping("/reviewConfirm")
public ResultBean reviewConfirm(@RequestBody ReviewConfirmDto dto);
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submit(@RequestBody SmsSalesBillDto dto);
}

40
oms/src/main/java/com/yxt/oms/feign/sales/smssalesbill/SmsSalesBillFeignFallback.java

@ -3,10 +3,7 @@ package com.yxt.oms.feign.sales.smssalesbill;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillDetailsVo;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillDto;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillQuery;
import com.yxt.oms.biz.func.smssalesbill.SmsSalesBillVo;
import com.yxt.oms.biz.func.smssalesbill.*;
import org.springframework.stereotype.Component;
/**
@ -36,4 +33,39 @@ public class SmsSalesBillFeignFallback implements SmsSalesBillFeign {
public ResultBean<SmsSalesBillDetailsVo> fetchDetailsBySid(String sid) {
return null;
}
@Override
public ResultBean<PagerVo<OrderReviewVo>> reviewListPage(PagerQuery<OrderReviewQuery> pq) {
return null;
}
@Override
public ResultBean<ReviewDetailsVo> reviewDetails(String sid) {
return null;
}
@Override
public ResultBean saveShipper(ReviewDetailsVo dto) {
return null;
}
@Override
public ResultBean saveInvoice(ReviewDetailsVo dto) {
return null;
}
@Override
public ResultBean saveOneListData(OrderReviewVo dto) {
return null;
}
@Override
public ResultBean reviewConfirm(ReviewConfirmDto dto) {
return null;
}
@Override
public ResultBean submit(SmsSalesBillDto dto) {
return null;
}
}

2
oms/src/main/java/com/yxt/oms/feign/sales/smssalesreturn/SmsSalesReturnFeign.java

@ -55,7 +55,7 @@ import java.util.List;
@Api(tags = "销售退货单据")
@FeignClient(
contextId = "sms-SmsSalesReturn",
name = "sms",
name = "ss-common-sales",
path = "v1/smssalesreturn"
)
public interface SmsSalesReturnFeign {

36
oms/src/main/java/com/yxt/oms/feign/supplier/supplierinfo/SupplierInfoFeign.java

@ -0,0 +1,36 @@
package com.yxt.oms.feign.supplier.supplierinfo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.supplierinfo.SupplierInfoChoice;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysRoleFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleFeign <br/>
* Description: 角色. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@FeignClient(
contextId = "ss-common-supplier-SupplierInfo",
name = "ss-common-supplier",
path = "/apiadmin/supplierinfo")
public interface SupplierInfoFeign {
@ApiOperation("选择供应商")
@GetMapping("/choiceSupplierInfo")
public ResultBean<List<SupplierInfoChoice>> choiceSupplierInfo(@RequestParam("createOrgSid") String createOrgSid);
}

36
oms/src/main/java/com/yxt/oms/feign/warehouse/warehouseInventory/WarehouseInventoryFeign.java

@ -0,0 +1,36 @@
package com.yxt.oms.feign.warehouse.warehouseInventory;
import com.yxt.common.core.result.ResultBean;
import com.yxt.oms.biz.func.warehouseinfo.SmsOrderHouseInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysRoleFeign.java <br/>
* Class: com.yxt.anrui.portal.api.sysrole.SysRoleFeign <br/>
* Description: 角色. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-08-03 00:24:29 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "库存")
@FeignClient(
contextId = "ss-common-warehouse-WarehouseInventory",
name = "ss-common-warehouse",
path = "/apiadmin/inventory/Warehouseinventory"
)
public interface WarehouseInventoryFeign {
@ApiOperation("根据skuSid查询商品库存")
@PostMapping("/selInventoryCountBySkuSid")
public String selInventoryCountBySkuSid(@RequestParam("skuSid") String skuSid);
}

8
oms/src/main/java/com/yxt/oms/feign/warehouse/warehouseinfo/WarehouseInfoFeign.java

@ -4,7 +4,9 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.oms.biz.func.warehouseinfo.SmsOrderHouseInfo;
import com.yxt.oms.biz.func.warehouseinfo.WarehouseInfo;
import com.yxt.oms.feign.warehouse.warehouseansbill.WarehouseAnsBillFeignFallback;
import com.yxt.oms.utils.OrgPathQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
@ -31,11 +33,15 @@ import java.util.List;
@Api(tags = "仓库")
@FeignClient(
contextId = "ss-common-warehouse-WmsHouseInfo",
name = "ss-common-WmsHouseInfo",
name = "ss-common-warehouse",
path = "/apiadmin/warehouseinfo"
)
public interface WarehouseInfoFeign {
@ApiOperation("订单选择仓库")
@PostMapping("/getWareHouse")
public ResultBean<List<SmsOrderHouseInfo>> getWareHouse(@RequestParam("createOrgSid") String createOrgSid);
@ApiOperation("查询所有的仓库")
@PostMapping("/listAll")
public ResultBean<List<WarehouseInfo>> listAll(@RequestBody OrgPathQuery query);
}

Loading…
Cancel
Save