Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
b3d3301ffe
  1. 27
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseSpecialRebateDisGetVehQuery.java
  2. 10
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseSpecialRebateDisGetVehVo.java
  3. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java
  4. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java
  5. 34
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java
  6. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  7. 14
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java
  8. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java
  9. 21
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  10. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  11. 52
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  12. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  13. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml
  14. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  15. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java
  16. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  17. 49
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  18. 13
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  19. 3
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java
  20. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillUrl.java
  21. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java
  22. 40
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java
  23. 16
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java
  24. 3
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/AnruiFinApplication.java
  25. 64
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  26. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  27. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeConfig.java
  28. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appayable/APPayableService.java
  29. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java
  30. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java
  31. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialCastToKingDeeBillFields.java
  32. 275
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  33. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_data.json
  34. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_model.json
  35. 100
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/BDStockService.java
  36. 45
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/BDStocklCastToKingDeeBillFields.java
  37. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data.json
  38. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data_data.json
  39. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data_model.json
  40. 63
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/remarks.txt
  41. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/webapi测试的数据.txt
  42. BIN
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/仓库的参数必填备注.xlsx
  43. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java
  44. 5
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json
  45. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsService.java
  46. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java
  47. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/receivablebill/ReceivableBillService.java
  48. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java
  49. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  50. 6
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java
  51. 2
      anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml
  52. 2
      anrui-gateway/pom.xml
  53. 6
      anrui-gateway/src/main/resources/application-devv.yml
  54. 6
      anrui-gateway/src/main/resources/application-test.yml
  55. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganization.java
  56. 6
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationDto.java
  57. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationVo.java
  58. 4
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  59. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDetailsVo.java
  60. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDto.java
  61. 3
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeVo.java
  62. 28
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailDetailsVo.java
  63. 12
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatevehs/ScmSpecialrebateVehsDto.java
  64. 44
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatevehs/ScmSpecialrebateVehsVehSidAndVinNoDto.java
  65. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java
  66. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java
  67. 44
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml
  68. 37
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  69. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java
  70. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.java
  71. 7
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.xml
  72. 12
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java
  73. 74
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java
  74. 7
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.java
  75. 43
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.xml
  76. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailService.java
  77. 7
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsMapper.java
  78. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsRest.java
  79. 33
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsService.java
  80. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java
  81. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  82. 3
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java
  83. 12
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java
  84. 8
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java
  85. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.xml
  86. 9
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java
  87. 11420
      anrui-scm/anrui-scm-ui/yarn.lock
  88. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java
  89. 1
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/ModelDto.java

27
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseSpecialRebateDisGetVehQuery.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;
@Data
@ApiModel(value = "专项返利分配选择车辆 查询条件", description = "专项返利分配选择车辆 查询条件")
public class BaseSpecialRebateDisGetVehQuery implements Query {
@ -39,4 +42,28 @@ public class BaseSpecialRebateDisGetVehQuery implements Query {
private String brandSid; // 品牌sid
@ApiModelProperty("创建组织sid")
private String createOrgSid; // 创建组织sid
@ApiModelProperty("车辆sid")
private List<String> vehSids; // 车辆sid
@ApiModelProperty(value = "功能")
private String vehicleType;
@ApiModelProperty(value = "系列")
private String productLine;
@ApiModelProperty(value = "变速箱")
private String gearboxType;
@ApiModelProperty(value = "驱动")
private String driveForm;
@ApiModelProperty(value = "排放标准")
private String emissionStandard;
@ApiModelProperty(value = "马力")
private String power;
@ApiModelProperty(value = "燃料")
private String fuelType;
@ApiModelProperty(value = "版本")
private String vehicleVersion;
@ApiModelProperty(value = "车型")
private String vehicleAlias;
@ApiModelProperty(value = "快捷检索车型")
private String modelName;
@ApiModelProperty(value = "用户sid")
private String userSid;
}

10
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseSpecialRebateDisGetVehVo.java

@ -38,6 +38,16 @@ import java.util.Date;
@ApiModel(value = "专项返利分配选择车辆 视图数据对象", description = "专项返利分配选择车辆 视图数据对象")
public class BaseSpecialRebateDisGetVehVo implements Query {
@ApiModelProperty(value = "品牌名称")
private String brandName;
@ApiModelProperty(value = "颜色")
private String color;
@ApiModelProperty(value = "存放地点")
private String location;
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("专项返利分配车辆sid")
private String specialRebateVehSid; // 专项返利分配车辆sid
@ApiModelProperty("车型sid")
private String modelSid; // 车型sid
@ApiModelProperty("车型名称")

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeign.java

@ -283,6 +283,11 @@ public interface BaseVehicleFeign {
@ResponseBody
public ResultBean<PagerVo<BaseSpecialRebateDisGetVehVo>> specialRebateDisGetVeh(@RequestBody PagerQuery<BaseSpecialRebateDisGetVehQuery> pq);
@ApiOperation("根据专项返利sid查询选择的车辆信息")
@PostMapping("/getVehBySpecialRebateSid")
@ResponseBody
public ResultBean<List<BaseSpecialRebateDisGetVehVo>> getVehBySpecialRebateSid(@RequestParam("specialRebateSid") String specialRebateSid);
@ApiOperation("销售订单选择现车分页列表")
@PostMapping("/selectVo")
ResultBean<PagerVo<PcBaseVehicleOrderVo>> selectVo(@RequestBody PagerQuery<PcBaseVehicleOrderQuery> pcBaseVehicleOrderQuery);

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleFeignFallback.java

@ -186,6 +186,11 @@ public class BaseVehicleFeignFallback implements BaseVehicleFeign {
return null;
}
@Override
public ResultBean<List<BaseSpecialRebateDisGetVehVo>> getVehBySpecialRebateSid(String specialRebateSid) {
return null;
}
@Override
public ResultBean<PagerVo<PcBaseVehicleOrderVo>> selectVo(PagerQuery<PcBaseVehicleOrderQuery> pcBaseVehicleOrderQuery) {
return null;

34
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/AppCrmCustomerFileDto.java

@ -1,11 +1,9 @@
package com.yxt.anrui.base.api.commoncontract;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@ -14,23 +12,23 @@ public class AppCrmCustomerFileDto implements Dto {
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("单台价格")
private BigDecimal price;
/* @ApiModelProperty("单台价格")
private BigDecimal price;*/
@ApiModelProperty("数量")
private String number;
/* @ApiModelProperty("数量")
private String number;*/
@ApiModelProperty("车型")
private String model;
/* @ApiModelProperty("车型")
private String model;*/
@ApiModelProperty("乙方名称")
private String partyB;
/* @ApiModelProperty("乙方名称")
private String partyB;*/
@ApiModelProperty("合同编号")
private String contractId;
/* @ApiModelProperty("合同编号")
private String contractId;*/
@ApiModelProperty("合同价格")
private String contractPrice;
/* @ApiModelProperty("合同价格")
private String contractPrice;*/
@ApiModelProperty("新车买卖合同")
private List<String> contractImages;
@ -41,8 +39,8 @@ public class AppCrmCustomerFileDto implements Dto {
@ApiModelProperty("身份证图片")
private List<String> idCardImages;
@ApiModelProperty("客户类型")
private String customerKey;
/* @ApiModelProperty("客户类型")
private String customerKey;*/
@ApiModelProperty("任务id")
private String taskId;
@ -56,8 +54,8 @@ public class AppCrmCustomerFileDto implements Dto {
@ApiModelProperty("是否是档案库里的身份证")
private boolean idCardArchives;
@ApiModelProperty("客户sid")
private String customerSid;
/* @ApiModelProperty("客户sid")
private String customerSid;*/
@ApiModelProperty("合同附件")
private String appdixUrl;

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java

@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basemanufactorsubscription.*;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyDetailsVo;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderListDto;
@ -214,6 +215,11 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
if (baseManufactorSubscription == null) {
return rb.setMsg("该数据不存在");
}
//根据厂家采购编号查询厂家采购是否作废
BusVehicleApply busVehicleApply = busVehicleApplyService.selectByCode(baseManufactorSubscription.getProSchAppNo());
if ("作废".equals(busVehicleApply.getNodeState())) {
return rb.setMsg("厂家采购订单已作废,不允许认款");
}
if (baseManufactorSubscription.getState() == 1) {
return rb.setMsg("该数据已认款,请勿重复操作");
}

14
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturer/BaseManufacturerService.java

@ -11,6 +11,8 @@ import com.yxt.anrui.base.api.basemanufacturerfinance.BaseManufacturerFinanceDto
import com.yxt.anrui.base.api.basemanufacturerfinance.BaseManufacturerFinanceVo;
import com.yxt.anrui.base.biz.basemanufacturerbank.BaseManufacturerBankService;
import com.yxt.anrui.base.biz.basemanufacturerfinance.BaseManufacturerFinanceService;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.common.base.service.MybatisBaseService;
@ -21,6 +23,7 @@ import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
@ -52,7 +55,8 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
private BaseManufacturerBankService baseManufacturerBankService;//供应厂商开户行信息
@Autowired
private BaseManufacturerFinanceService baseManufacturerFinanceService;//供应厂商财务信息
@Resource
private FinKingDeeFeign finKingDeeFeign;
/**
* 供应厂商分页列表
*
@ -279,8 +283,14 @@ public class BaseManufacturerService extends MybatisBaseService<BaseManufacturer
return resultBean2;
}
}
BdSupplier bdSupplier=new BdSupplier();
bdSupplier.setFName(dto.getBaseManufacturerDto().getManufacturerName());
bdSupplier.setFLocMobile(dto.getBaseManufacturerDto().getContactMobile());
bdSupplier.setFUseOrgId("101");
// bdSupplier.setTOrgIds("101");
bdSupplier.setFNumber(dto.getBaseManufacturerDto().getManufacturerCode());
ResultBean<String> stringResultBean = finKingDeeFeign.draftBdSupplier(bdSupplier);
return rb.success().setMsg("操作成功");
}
private ResultBean saveBaseManufacturerFinanceDto(BaseManufacturerFinanceDto dto, String sid) {

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.java

@ -453,4 +453,6 @@ public interface BaseVehicleMapper extends BaseMapper<BaseVehicle> {
void updateVinNoByVehSid(@Param("vinNo") String vinNo, @Param("vehicleSid") String vehicleSid);
IPage<BaseSpecialRebateDisGetVehVo> specialRebateDisGetVehPageList(IPage<BaseSpecialRebateDisGetVehVo> page,@Param(Constants.WRAPPER) QueryWrapper<BaseVehicle> qw);
List<BaseSpecialRebateDisGetVehVo> getVehBySpecialRebateSid(String specialRebateSid);
}

21
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -1097,6 +1097,10 @@
<select id="specialRebateDisGetVehPageList"
resultType="com.yxt.anrui.base.api.basevehicle.BaseSpecialRebateDisGetVehVo">
SELECT
bvm.brandName,
bmc.carColor color,
bv.locationName location,
bv.sid as vehSid,
bv.`modelSid`,
bv.`modelName`,
bv.`vinNo`,
@ -1111,8 +1115,25 @@
AND bv.`createOrgSid` = bvm.`createOrg`
LEFT JOIN base_vehicle_brand bvb
ON bvm.`carBrand` = bvb.`sid`
LEFT JOIN base_model_config bmc ON bv.modelConfigSid = bmc.`sid`
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getVehBySpecialRebateSid" resultType="com.yxt.anrui.base.api.basevehicle.BaseSpecialRebateDisGetVehVo">
SELECT ssv.vehSid,
ssv.sid as specialRebateVehSid,
bv.`modelSid`,
bv.`modelName`,
ssv.`vinNo`,
bv.`costPrice`,
bv.`priceDate`,
bv.`salesDate`,
bv.`solidDate`
FROM anrui_scm.`scm_specialrebate_vehs` ssv
LEFT JOIN anrui_base.`base_vehicle` bv
ON ssv.`vehSid` = bv.`sid`
WHERE ssv.`specialRebateSid` = #{specialRebateSid}
</select>
</mapper>

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java

@ -569,6 +569,11 @@ public class BaseVehicleRest implements BaseVehicleFeign {
return rb.success().setData(pv);
}
@Override
public ResultBean<List<BaseSpecialRebateDisGetVehVo>> getVehBySpecialRebateSid(String specialRebateSid) {
return baseVehicleService.getVehBySpecialRebateSid(specialRebateSid);
}
@Override
public ResultBean<PagerVo<PcBaseVehicleOrderVo>> selectVo(PagerQuery<PcBaseVehicleOrderQuery> pcBaseVehicleOrderQuery) {
ResultBean<PagerVo<PcBaseVehicleOrderVo>> rb = ResultBean.fireFail();

52
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -2376,10 +2376,57 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
IPage<BaseSpecialRebateDisGetVehVo> page = PagerUtil.queryToPage(pq);
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();
BaseSpecialRebateDisGetVehQuery params = pq.getParams();
//品牌
if (StringUtils.isNotBlank(params.getBrandSid())) {
qw.eq("bvm.carBrand", params.getBrandSid());
}
//功能
if (StringUtils.isNotBlank(params.getVehicleType())) {
qw.eq("bvm.vehicleType", params.getVehicleType());
}
//系列
if (StringUtils.isNotBlank(params.getProductLine())) {
qw.eq("bvm.productLine", params.getProductLine());
}
//变速箱
if (StringUtils.isNotBlank(params.getGearboxType())) {
qw.eq("bvm.gearboxType", params.getGearboxType());
}
//驱动
if (StringUtils.isNotBlank(params.getDriveForm())) {
qw.eq("bvm.driveForm", params.getDriveForm());
}
//排放标准
if (StringUtils.isNotBlank(params.getEmissionStandard())) {
qw.eq("bvm.emissionStandard", params.getEmissionStandard());
}
//马力
if (StringUtils.isNotBlank(params.getPower())) {
qw.eq("bvm.power", params.getPower());
}
//燃料
if (StringUtils.isNotBlank(params.getFuelType())) {
qw.eq("bvm.fuelType", params.getFuelType());
}
//版本
if (StringUtils.isNotBlank(params.getVehicleVersion())) {
qw.eq("bvm.vehicleVersion", params.getVehicleVersion());
}
//车型
if (StringUtils.isNotBlank(params.getVehicleAlias())) {
qw.like("bvm.vehicleAlias", params.getVehicleAlias());
}
//快捷检索车型
if (StringUtils.isNotBlank(params.getModelName())) {
qw.like("bvm.modelName", params.getModelName());
}
qw.eq("bvb.sid", params.getBrandSid());
qw.eq("bv.isDelete", 0);
qw.eq("bv.createOrgSid", params.getCreateOrgSid());
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode()).or().eq("bv.vehicleState", VehicleState.StockEnum.OUT_STOCK.getCode());
if (params.getVehSids().size() > 0){
qw.notIn("bv.sid", params.getVehSids());
}
return baseMapper.specialRebateDisGetVehPageList(page, qw);
}
@ -2448,4 +2495,9 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
baseMapper.updateVinNoByVehSid(vinNo, vehicleSid);
}
public ResultBean<List<BaseSpecialRebateDisGetVehVo>> getVehBySpecialRebateSid(String specialRebateSid) {
ResultBean rb = ResultBean.fireFail();
List<BaseSpecialRebateDisGetVehVo> baseSpecialRebateDisGetVehVos = baseMapper.getVehBySpecialRebateSid(specialRebateSid);
return rb.success().setData(baseSpecialRebateDisGetVehVos);
}
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -842,4 +842,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
int i = baseMapper.abandonApply(sidsList);
return rb.success();
}
public BusVehicleApply selectByCode(String proSchAppNo) {
return baseMapper.selectByCode(proSchAppNo);
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.xml

@ -112,7 +112,8 @@
staffSid as userSid,
customerTypeKey as customerKey,
modelSid,
configSid
configSid,
customerSid
FROM common_contract
WHERE sid = #{contractSid}
</select>

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java

@ -1087,13 +1087,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
ResultBean rb = ResultBean.fireFail();
AppUserOrgInfoVo data = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
CommonContract commonContract = fetchBySid(dto.getContractSid());
commonContract.setContractNo(dto.getContractId());
commonContract.setPrice(dto.getPrice());
commonContract.setNum(Integer.valueOf(dto.getNumber()));
commonContract.setModelName(dto.getModel());
commonContract.setPartyB(dto.getPartyB());
commonContract.setContractAmount(dto.getContractPrice());
commonContract.setCustomerSid(dto.getCustomerSid());
commonContract.setStaffSid(dto.getUserSid());
commonContract.setStaffName(data.getStaffName());
commonContract.setOrgSid(data.getOrgSid());

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermodel/app/AppBusSalesOrderModelDto.java

@ -36,7 +36,6 @@ public class AppBusSalesOrderModelDto implements Dto {
private String arrangeNumber;
@ApiModelProperty(value = "销售指导价")
// @JsonProperty(value = "price")
private String guildPrice;
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java

@ -170,7 +170,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
}
} else {
BeanUtil.copyProperties(orderInfo, busSalesOrderModel, "sid");
busSalesOrderModel.setGuildPrice(new BigDecimal(dto.getGuildPrice()));
if(StringUtils.isNotBlank(dto.getGuildPrice())){
busSalesOrderModel.setGuildPrice(new BigDecimal(dto.getGuildPrice()));
}
busSalesOrderModel.setBrandSid(brandSid);
busSalesOrderModel.setBrandName(brandName);
busSalesOrderModel.setModelConfig(modelAlias);

49
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java

@ -5,10 +5,10 @@ import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.Push;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
@ -19,13 +19,13 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import javax.validation.Valid;
import java.util.List;
/**
* 财务模块调用金蝶存业务单据的接口
* 财务模块调用金蝶存业务单据的接口
*/
@Api(tags = "财务模块调用金蝶存业务单据的接口")
@Api(tags = "财务模块调用金蝶存业务单据的接口")
@FeignClient(
contextId = "anrui-fin-FinKingDeeFeign",
name = "anrui-fin",
@ -34,10 +34,10 @@ import java.util.List;
)
public interface FinKingDeeFeign {
/**
* 入账存应付单的接口
* 入账存应付单的接口
* @return
*/
@ApiOperation("入账存应付单的接口")
@ApiOperation("入账存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
ResultBean<String> draftEntryBill(@RequestBody APPayable APPayable);
@ -45,57 +45,54 @@ public interface FinKingDeeFeign {
* 生成的应付单的数据推送到金蝶的平台中
* @return
*/
@ApiOperation("入账存应收单的接口")
@ApiOperation("入账存应收单的接口")
@PostMapping("/draftReceivableBill")
@ResponseBody
ResultBean<String> draftReceivableBill(@RequestBody ARReceivable aRReceivable);
@ApiOperation("存付款单的接口")
@ApiOperation("存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody
public ResultBean<String> draftApPayBill(@RequestBody ApPayBill apPayBill) ;
@ApiOperation("保存采购入库单的接口")
@ApiOperation("暂存采购入库单的接口")
@PostMapping("/draftStkInStock")
@ResponseBody
public ResultBean<String> draftStkInStock(@RequestBody StkInStock stkInStock) throws Exception;
@ApiOperation("保存采购退料单的接口")
@ApiOperation("暂存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
public ResultBean<String> draftPurMrb(@RequestBody PurMrb purMrb) ;
@ApiOperation("存采购出库单的接口")
@ApiOperation("存采购出库单的接口")
@PostMapping("/draftSalOutStock")
@ResponseBody
public ResultBean<String> draftSalOutStock(@RequestBody SalOutStock salOutStock) ;
@ApiOperation("存物料的接口")
@ApiOperation("存物料的接口")
@PostMapping("/draftBdMaterial")
@ResponseBody
public ResultBean<String> draftBdMaterial(@RequestBody BdMaterial bdMaterial) ;
@ApiOperation("保存物料的接口")
@PostMapping("/saveBdMaterial")
@ResponseBody
public ResultBean<String> saveBdMaterial(@RequestBody BdMaterial bdMaterial) ;
@ApiOperation("暂存物料的接口")
@PostMapping("/draftBdMaterialList")
@ResponseBody
public ResultBean<String> draftBdMaterialList(@RequestBody List<BdMaterial> bdMaterial) ;
@ApiOperation("保存直接调拨单的接口")
@ApiOperation("暂存直接调拨单的接口")
@PostMapping("/draftStkTransferDirect")
@ResponseBody
public ResultBean<String> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) ;
@ApiOperation("存直接调拨单的接口")
@ApiOperation("存直接调拨单的接口")
@PostMapping("/draftOrgOrganizations")
@ResponseBody
public ResultBean<String> draftOrgOrganizations(@RequestBody OrgOrganizations orgOrganizations) ;
@ApiOperation("保存供应商的接口")
@ApiOperation("暂存供应商的接口")
@PostMapping("/draftBdSupplier")
@ResponseBody
ResultBean<String> draftBdSupplier(@RequestBody BdSupplier bdSupplier);
@ApiOperation("保存客户信息的接口")
@ApiOperation("暂存客户信息的接口")
@PostMapping("/draftBdCustomer")
@ResponseBody
ResultBean<String> draftBdCustomer(@RequestBody BdCustomer bdCustomer);
@ApiOperation("使用number查看数据表单")
@GetMapping("/getKingDataInfoByNumber/{formId}/{number}")
@ResponseBody
@ -104,10 +101,12 @@ public interface FinKingDeeFeign {
@GetMapping("/executeBillQuery/{formId}/{number}")
@ResponseBody
ResultBean<String> executeBillQuery();
@ApiOperation("下推")
@PostMapping("/draftStkInStockPushPurMrb")
@ResponseBody
public ResultBean<String> draftStkInStockPushPurMrb(@RequestBody STKInStockPushPurmrb push) throws Exception;
@ApiOperation("暂存仓库信息的接口")
@PostMapping("/drafBDStock")
@ResponseBody
public ResultBean<String> drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception;
}

13
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java

@ -5,17 +5,16 @@ import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.Push;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.common.core.result.ResultBean;
import java.util.HashMap;
import java.util.List;
public class FinKingDeeFeignFallBack
@ -54,7 +53,10 @@ implements FinKingDeeFeign{
public ResultBean<String> draftBdMaterial(BdMaterial bdMaterial) {
return null;
}
@Override
public ResultBean<String> saveBdMaterial(BdMaterial bdMaterial) {
return null;
}
@Override
public ResultBean<String> draftBdMaterialList(List<BdMaterial> bdMaterial) {
return null;
@ -95,5 +97,10 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> drafBDtStock(BDStock bDtStock) throws Exception {
return null;
}
}

3
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillId.java

@ -12,7 +12,8 @@ public enum KingDeeBillId {
ORG_ORGANIZATIONS("ORG_Organizations","组织机构"),
BD_CUSTOMER("BD_Customer","客户"),
BD_SUPPLIER("BD_Supplier","供应商"),
BD_MATERIAL("BD_MATERIAL","物料");
BD_MATERIAL("BD_MATERIAL","物料"),
BD_STOCK("BD_STOCK","仓库");
private String ID;
private String NAME;

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/KingDeeBillUrl.java

@ -15,15 +15,21 @@ public enum KingDeeBillUrl {
private static String ExecuteBillQuery_URL = "/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc";
//登录,校验用户的API接口地址
private static String Login_URL = "/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc";
//保存
http://ServerIp/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc
//反审核
http://ServerIp/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit.common.kdsvc
*/
SAVE_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc","数据保存接口地址"),
DRAFT_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Draft.common.kdsvc","数据暂存接口地址"),
SUBMIT_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Submit.common.kdsvc","数据提交接口的地址"),
AUDIT_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Audit.common.kdsvc","数据审核接口的地址"),
UNAUDIT_URL("/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.UnAudit.common.kdsvc","数据反审核接口的地址"),
ALLOCATE_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Allocate.common.kdsvc","数据分配接口的地址"),
VIEW_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.View.common.kdsvc","查看单据接口的地址"),
EXECUTEBILLQUERY_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.ExecuteBillQuery.common.kdsvc","查询单据接口的地址"),
PUSH_URL("/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Push.common.kdsvc","下推单据接口地址"),
SAVE_URL("/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.DynamicFormService.Save.common.kdsvc","保存单据接口地址"),
LOGIN_URL("/k3cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc","登录,校验用户的API接口地址");
private String URL;
private String NAME;

21
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdmaterial/BdMaterial.java

@ -15,43 +15,48 @@ public class BdMaterial {
*/
@JsonProperty("TOrgIds")
@NotBlank
private String TOrgIds;
public String TOrgIds;
/**
* 旧的物料编码:oldFName
*/
@JsonProperty("oldFName")
public String oldFName;
/**
*创建组织:FCreateOrgId (必填项)
*/
// @JsonProperty("FCreateOrgId")
// private String FCreateOrgId;
// public String FCreateOrgId;
/**
*使用组织:FUseOrgId (必填项)
*/
// @JsonProperty("FUseOrgId")
// private String FUseOrgId;
// public String FUseOrgId;
/**
*名称:FName (必填项)
*/
@NotBlank(message = "名称:FName (必填项)")
@JsonProperty("FName")
private String FName;
public String FName;
/**
*物料分组:FMaterialGroup (必填项)
*/
@NotBlank(message = "物料分组:FMaterialGroup (必填项)")
@JsonProperty("FMaterialGroup")
private String FMaterialGroup;
public String FMaterialGroup;
/**
*车辆类型:F_PAEZ_Base (必填项)
*/
@NotBlank(message = "车辆类型:F_PAEZ_Base ")
@JsonProperty("F_PAEZ_Base")
private String F_PAEZ_Base;
public String F_PAEZ_Base;
/**
*存货类别:FCategoryID (必填项)
*/
/* @NotBlank(message = "存货类别:FCategoryID ")
@JsonProperty("FCategoryID")
private String FCategoryID="CHLB01_SYS";*/
private final static BdMaterial bdMaterial = new BdMaterial();
public String FCategoryID="CHLB01_SYS";*/
public final static BdMaterial bdMaterial = new BdMaterial();
static {
/**
*物料分组:FMaterialGroup (必填项)

40
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdstock/BDStock.java

@ -0,0 +1,40 @@
package com.yxt.anrui.fin.api.kingdee.bdstock;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/**
* 仓库
*/
@Data
public class BDStock implements Serializable {
/**
* 创建组织:FCreateOrgId (必填项)
*/
@JsonProperty("FCreateOrgId")
@NotBlank
private String FCreateOrgId;
/**
* 使用组织:FUseOrgId (必填项)
*/
@JsonProperty("FUseOrgId")
@NotBlank
private String FUseOrgId;
/**
* 名称:FName (必填项)
*/
@JsonProperty("FName")
@NotBlank
private String FName;
/**
* 分配的分公司的id:TOrgIds (必填项)
*/
/* @JsonProperty("TOrgIds")
@NotBlank
private String TOrgIds;*/
}

16
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdsupplier/BdSupplier.java

@ -21,10 +21,14 @@ public class BdSupplier {
@JsonProperty("FLocMobile")
@NotBlank
public String FLocMobile;
/* 使用组织机构:FUseOrgId (必填项)*/
@JsonProperty("FUseOrgId")
@NotBlank
public String FUseOrgId;
/* 目标组织机构:TOrgIds (必填项)*/
@JsonProperty("TOrgIds")
/* @JsonProperty("TOrgIds")
@NotBlank
public String TOrgIds;
public String TOrgIds;*/
/* 地点名称:FLocName (必填项)*/
/* @JsonProperty("FLocName")
public String FLocName;*/
@ -37,6 +41,12 @@ public class BdSupplier {
/* 结算币别:FPayCurrencyId (必填项)*/
/* @JsonProperty("FPayCurrencyId")
public String FPayCurrencyId="PRE001";*/
/**
* 编号 FNumber
*/
@NotBlank
@JsonProperty("FNumber")
public String FNumber;
public static BdSupplier bdSupplier=new BdSupplier();
static {
/* 名称:FName (必填项)*/
@ -48,7 +58,7 @@ public class BdSupplier {
/* 手机:FLocMobile (必填项)*/
bdSupplier.setFLocMobile("15097329653");
/* 目标组织机构:TOrgIds (必填项)*/
bdSupplier.setTOrgIds("100012");
bdSupplier.setFUseOrgId("101");
/* 地点名称:FLocName (必填项)*/
// bdSupplier.setFLocName("");
/* 通讯地址:FLocAddress (必填项)*/

3
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/AnruiFinApplication.java

@ -29,6 +29,7 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;
/**
* Project: anrui-fin(财务管理) <br/>
@ -43,6 +44,8 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
* @version 1.0
* @since 1.0
*/
@EnableScheduling //开启定时任务
@EnableDiscoveryClient
@SpringBootApplication(scanBasePackages = {
"com.yxt.common.base.config",

64
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java

@ -1,16 +1,15 @@
package com.yxt.anrui.fin.biz.kingdee;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.appayable.APPayable;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.arreceivable.ARReceivable;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.purmrb.PurMrb;
import com.yxt.anrui.fin.api.kingdee.push.Push;
import com.yxt.anrui.fin.api.kingdee.push.STKInStockPushPurmrb;
import com.yxt.anrui.fin.api.kingdee.saloutstock.SalOutStock;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
@ -19,6 +18,7 @@ import com.yxt.anrui.fin.biz.kingdee.appaybill.ApPayBillService;
import com.yxt.anrui.fin.biz.kingdee.appayable.APPayableService;
import com.yxt.anrui.fin.biz.kingdee.bdcustomer.BdCustomerService;
import com.yxt.anrui.fin.biz.kingdee.bdmaterial.BdMaterialService;
import com.yxt.anrui.fin.biz.kingdee.bdstock.BDStockService;
import com.yxt.anrui.fin.biz.kingdee.bdsupplier.BdSupplierService;
import com.yxt.anrui.fin.biz.kingdee.orgorganizations.OrgOrganizationsService;
import com.yxt.anrui.fin.biz.kingdee.purmrb.PurMrbService;
@ -36,7 +36,7 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@Api(tags = "单据调用金蝶的存接口")
@Api(tags = "单据调用金蝶的存接口")
@RestController("com.yxt.anrui.fin.biz.kingdee.FinKingDeeFeignRest")
@RequestMapping("/finKingDee")
public class FinKingDeeFeignRest implements FinKingDeeFeign {
@ -61,61 +61,66 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
@Autowired
private STKInStockService stkInStockService;
/**
* 存采购退料单service
* 存采购退料单service
*/
@Autowired
private PurMrbService purMrbService;
/**
* 存采购出库单
* 存采购出库单
*/
@Autowired
private SalOutStockService salOutStockService;
/**
* 存物料
* 存物料
*/
@Autowired
private BdMaterialService bdMaterialService;
/**
* 存直接调拨单
* 存直接调拨单
*/
@Autowired
private StkTransferDirectService stkTransferDirectService;
/**
* 存组织机构
* 存组织机构
*/
@Autowired
private OrgOrganizationsService orgOrganizationsService;
/**
* 存供应商
* 存供应商
*/
@Autowired
private BdSupplierService bdSupplierService;
/**
* 存客户信息
* 存客户信息
*/
@Autowired
private BdCustomerService bdCustomerService;
/**
* 暂存仓库信息
*/
@Autowired
private BDStockService bDStockService;
/**
* 下推单据
*/
@Autowired
private PushService pushService;
@ApiOperation("入账存应付单的接口")
@ApiOperation("入账存应付单的接口")
@PostMapping("/draftEntryBill")
@ResponseBody
@Override
public ResultBean<String> draftEntryBill(@RequestBody @Valid APPayable APPayable) {
return apPayableService.draftAPPayable(APPayable);
}
@ApiOperation("存应收单的接口")
@ApiOperation("存应收单的接口")
@PostMapping("/draftReceivableBill")
@ResponseBody
@Override
public ResultBean<String> draftReceivableBill(@RequestBody @Valid ARReceivable aRReceivable) {
return receivableBillService.draftReceivableBill(aRReceivable);
}
@ApiOperation("存付款单的接口")
@ApiOperation("存付款单的接口")
@PostMapping("/draftApPayBill")
@ResponseBody
@Override
@ -123,64 +128,71 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return apPayBillService.draftApPayBill(apPayBill);
}
@ApiOperation("存采购入库单的接口")
@ApiOperation("存采购入库单的接口")
@PostMapping("/draftStkInStock")
@ResponseBody
@Override
public ResultBean<String> draftStkInStock(@RequestBody @Valid StkInStock stkInStock) throws Exception {
return stkInStockService.draftStkInStock(stkInStock);
}
@ApiOperation("存采购退料单的接口")
@ApiOperation("存采购退料单的接口")
@PostMapping("/draftPurMrb")
@ResponseBody
@Override
public ResultBean<String> draftPurMrb(@RequestBody @Valid PurMrb purMrb) {
return purMrbService.draftPurMrb(purMrb);
}
@ApiOperation("存采购出库单的接口")
@ApiOperation("存采购出库单的接口")
@PostMapping("/draftSalOutStock")
@ResponseBody
@Override
public ResultBean<String> draftSalOutStock(@RequestBody @Valid SalOutStock salOutStock) {
return salOutStockService.draftSalOutStock(salOutStock);
}
@ApiOperation("存物料的接口")
@ApiOperation("存物料的接口")
@PostMapping("/draftBdMaterial")
@ResponseBody
@Override
public ResultBean<String> draftBdMaterial(@RequestBody @Valid BdMaterial bdMaterial) {
return bdMaterialService.draftBdMaterial(bdMaterial);
}
@ApiOperation("暂存物料的接口")
@PostMapping("/saveBdMaterial")
@ResponseBody
@Override
public ResultBean<String> saveBdMaterial(@RequestBody @Valid BdMaterial bdMaterial) {
return bdMaterialService.saveBdMaterial(bdMaterial);
}
@ApiOperation("保存物料的接口")
@ApiOperation("存物料的接口")
@PostMapping("/draftBdMaterialList")
@ResponseBody
@Override
public ResultBean<String> draftBdMaterialList(@RequestBody @Valid List<BdMaterial> bdMaterial) {
return bdMaterialService.draftBdMaterialList(bdMaterial);
}
@ApiOperation("存直接调拨单的接口")
@ApiOperation("存直接调拨单的接口")
@PostMapping("/draftStkTransferDirect")
@ResponseBody
@Override
public ResultBean<String> draftStkTransferDirect(@RequestBody StkTransferDirect stkTransferDirect) {
return stkTransferDirectService.draftStkTransferDirect(stkTransferDirect);
}
@ApiOperation("存组织机构的接口")
@ApiOperation("存组织机构的接口")
@PostMapping("/draftOrgOrganizations")
@ResponseBody
@Override
public ResultBean<String> draftOrgOrganizations(@RequestBody @Valid OrgOrganizations orgOrganizations) {
return orgOrganizationsService.draftOrgOrganizations(orgOrganizations);
}
@ApiOperation("存供应商的接口")
@ApiOperation("存供应商的接口")
@PostMapping("/draftBdSupplier")
@ResponseBody
@Override
public ResultBean<String> draftBdSupplier(@RequestBody @Valid BdSupplier bdSupplier) {
return bdSupplierService.draftBdSupplier(bdSupplier);
}
@ApiOperation("存客户信息的接口")
@ApiOperation("存客户信息的接口")
@PostMapping("/draftBdCustomer")
@ResponseBody
@Override
@ -212,4 +224,12 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
return pushService.draftStkInStockPushPurMrb(push);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
@ApiOperation("暂存仓库信息的接口")
@PostMapping("/drafBDStock")
@ResponseBody
@Override
public ResultBean<String> drafBDtStock(@RequestBody @Valid BDStock bDtStock) throws Exception {
return bDStockService.draftBDStock(bDtStock);//bdCustomerService;//bdCustomerService.getKingBillDataInfoList("","");
}
}

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java

@ -153,6 +153,11 @@ public class FinKingDeeService {
public String getAuditKD(String data,String formId) {
return getAuditKDTempJson(formId,getParam(data));//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
public String getUnAuditKD(String s, String id) {
// "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
return"{\"formId\":\""+ id+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
public String getSubmitKD(String data,String formId) {
return getSubmitKDTempJson(formId,getParam(data));//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeConfig.java

@ -12,7 +12,7 @@ public class KingDeeConfig {
/**
* 登录金蝶的账户信息
*/
public static String userName = "信息部1";
public static String userName = "信息部2";
/**
* 登录金蝶的账户信息
*/

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appayable/APPayableService.java

@ -43,7 +43,7 @@ public class APPayableService extends FinKingDeeService {
}
String kingDeeData = APPayableCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
return accessKingDeeInterface(KingDeeBillId.AP_PAYABLE.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.AP_PAYABLE.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/appaybill/ApPayBillService.java

@ -28,7 +28,7 @@ public class ApPayBillService extends FinKingDeeService {
List<ApPayBill.FPAYBILLENTRY> fpaybillentrYs = apPayBill.getFPAYBILLENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpaybillentrYs);
String kingDeeData = ApPayBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.AP_PAYBILL.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java

@ -46,7 +46,7 @@ public class BdCustomerService extends FinKingDeeService {
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialCastToKingDeeBillFields.java

@ -37,6 +37,7 @@ public class BdMaterialCastToKingDeeBillFields {
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
fEntityData_ =KingDeeUtils.replaceTemplateParams(fEntityData_, map_fEntityModel_);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);

275
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java

@ -7,6 +7,8 @@ import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -40,68 +42,251 @@ public class BdMaterialService extends FinKingDeeService {
return rb.success();
}
/**
* 存物料
* 存物料
* @param bdMaterial
* @return
*/
public ResultBean<String> draftBdMaterial(BdMaterial bdMaterial) {
// bdMaterial=BdMaterial.createBdMaterial();
ResultBean rb=ResultBean.fireFail();
ResultBean<String> rb=ResultBean.fireFail();
//物料信息转map参数
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(bdMaterial);
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=createMapParams(stringObjectMap);
map_fEntityModel_.put("IsDeleteEntry","True");
map_fEntityModel_.put("FMATERIALID",0+"");
String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
try {
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if(!resultBean.getSuccess()){
log.info("物料保存失败!");
return rb.setMsg("物料保存失败!");
}
String data1 = resultBean.getData();
JSONObject jsonObject = JSONObject.parseObject(data1);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
boolean isSuccess = (boolean) responseStatus.get("IsSuccess");
if(!isSuccess){
log.info("物料保存失败!");
return rb.setMsg("物料保存失败!");
}
log.info("物料保存成功!");
String data = resultBean.getData();
String submitKD = getSubmitKD(data,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());//submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), submitKD);
if(!resultBean1.getSuccess()){
log.info("物料提交失败!");
return rb.setMsg("物料提交失败!");
}
log.info("物料提交成功!");
ResultBean<String> draft = draft(kingDeeData);
if (!draft.getSuccess()) return rb.setMsg("物料保存失败!");
String data = draft.getData();
submitAuditAllocate(bdMaterial, data);
return draft;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
String auditKD = getAuditKD(data,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(
KingDeeBillId.BD_MATERIAL.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());//auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), auditKD);
if(!resultBean2.getSuccess()){
log.info("物料审核失败!");
return rb.setMsg("物料审核失败!");
}
log.info("物料审核成功!");
String allocate = getAllocate(data,bdMaterial.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean3 =accessKingDeeInterface(
KingDeeBillId.BD_MATERIAL.getID(), allocate,
KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("物料分配失败!");
return rb.setMsg("物料分配失败!");
/**
* 修改物料的信息
* @param bdMaterial
* @return
*/
public ResultBean<String> saveBdMaterial(BdMaterial bdMaterial) {
// bdMaterial=BdMaterial.createBdMaterial();
ResultBean<String> rb=ResultBean.fireFail();
//物料信息转map参数
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(bdMaterial);
if(StringUtils.isBlank(bdMaterial.getOldFName())){
return rb.setMsg("FMATERIALID不能为空");
}
try{
ResultBean<String> stringResultBean = hasMaterial(bdMaterial);
if(!stringResultBean.getSuccess()){
return stringResultBean;
}
log.info("物料分配成功!");
return resultBean3;
String FMATERIALID=stringResultBean.getData();
Map<String,String> map_fEntityModel_=createMapParams(stringObjectMap);
map_fEntityModel_.put("IsDeleteEntry","False");
map_fEntityModel_.put("FMATERIALID",FMATERIALID);
ResultBean<String> save = save(map_fEntityModel_);
String data = save.getData();
if (submit( data)) return rb.setMsg("物料提交失败!");
if (audit( data)) return rb.setMsg("物料审核失败!");
return save;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 暂存物料
* @param kingDeeData
* @return
* @throws Exception
*/
private ResultBean<String> draft( String kingDeeData) throws Exception {
ResultBean<String> rb=ResultBean.fireFail();
ResultBean<String> stringResultBean = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
kingDeeData, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.DRAFT_URL.getURL());
if(!stringResultBean.getSuccess()){
log.info("物料保存失败!");
return rb;
}
String data1 = stringResultBean.getData();
JSONObject jsonObject = JSONObject.parseObject(data1);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
boolean isSuccess = (boolean) responseStatus.get("IsSuccess");
if(!isSuccess){
log.info("物料保存失败!");
return rb;
}
log.info("物料保存成功!");
return stringResultBean;
}
/**
* 修改物料的信息
* @param map_fEntityModel_
* @return
* @throws Exception
*/
private ResultBean<String> save( Map<String,String> map_fEntityModel_) throws Exception {
String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> rb=ResultBean.fireFail();
ResultBean<String> stringResultBean = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if(!stringResultBean.getSuccess()){
log.info("物料保存失败!");
return rb;
}
String data1 = stringResultBean.getData();
JSONObject jsonObject = JSONObject.parseObject(data1);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
boolean isSuccess = (boolean) responseStatus.get("IsSuccess");
if(!isSuccess){
log.info("物料保存失败!");
return rb;
}
log.info("物料保存成功!");
return stringResultBean;
}
/**
* 提交审核分配
* @param data
* @return
* @throws Exception
*/
private ResultBean submitAuditAllocate(BdMaterial bdMaterial, String data) throws Exception {
ResultBean<String> rb=ResultBean.fireFail();
if (submit( data)) return rb.setMsg("物料提交失败!");
if (audit( data)) return rb.setMsg("物料审核失败!");
if (allocate(bdMaterial, data)) return rb.setMsg("物料分配失败!");
return rb.success();
}
/**
* 分配
* @param bdMaterial
* @param data
* @return
* @throws Exception
*/
private boolean allocate(BdMaterial bdMaterial, String data) throws Exception {
String allocate = getAllocate(data, bdMaterial.getTOrgIds(),KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean3 =accessKingDeeInterface(
KingDeeBillId.BD_MATERIAL.getID(), allocate,
KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("物料分配失败!");
return true;
}
log.info("物料分配成功!");
return false;
}
/**
* 审核
* @param data
* @return
* @throws Exception
*/
private boolean audit( String data) throws Exception {
String auditKD = getAuditKD(data,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(
KingDeeBillId.BD_MATERIAL.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());//auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), auditKD);
if(!resultBean2.getSuccess()){
log.info("物料审核失败!");
return true;
}
log.info("物料审核成功!");
return false;
}
/**
* 提交
* @param data
* @return
* @throws Exception
*/
private boolean submit( String data) throws Exception {
String submitKD = getSubmitKD(data,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());//submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), submitKD);
if(!resultBean1.getSuccess()){
log.info("物料提交失败!");
return true;
}
log.info("物料提交成功!");
return false;
}
/**
* 判断是否存在物料
* @param bdMaterial
* @return
* @throws Exception
*/
public ResultBean<String> hasMaterial(BdMaterial bdMaterial) throws Exception {
ResultBean<String> rb=ResultBean.fireFail();
JSONObject result = view(bdMaterial);
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){//不存在该物料 //新增物料
return rb.setMsg("不存在该物料");
}else{ //存在该物料
JSONObject result2 = (JSONObject)result.get("Result");
String DocumentStatus = (String)result2.get("DocumentStatus");//单据状态 A 创建, B 审核中,C 已审核 ,D 重新审核
String Id=result2.get("Id").toString();
boolean audit = isAudit(DocumentStatus, Id);
if(!audit){
return rb.setMsg("物料反审核失败!");
}
log.info("Id:{}",Id);
return rb.success().setData(Id);
}
}
/**
* 查看物料
* @param bdMaterial
* @return
* @throws Exception
*/
private JSONObject view(BdMaterial bdMaterial) throws Exception {
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), bdMaterial.getOldFName());
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers,
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL());
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());
JSONObject result = (JSONObject)jsonObject.get("Result");
return result;
}
/**
* 反审核
* @param DocumentStatus
* @param oldFName
* @return
* @throws Exception
*/
private boolean isAudit(String DocumentStatus,String oldFName) throws Exception {
log.info("DocumentStatus:{}",DocumentStatus);
if("C".equals(DocumentStatus)){
String auditKD = getUnAuditKD(oldFName,KingDeeBillId.BD_MATERIAL.getID());
ResultBean<String> rb1 = accessKingDeeInterface(
KingDeeBillId.BD_MATERIAL.getID(), auditKD,KingDeeBillUrl.UNAUDIT_URL.getURL());//auditKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), auditKD);
if(!rb1.getSuccess()){
log.info("物料反审核失败!");
return false;
}
log.info("物料反审核成功!");
}
return true;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_data.json

@ -1,8 +1,8 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedUpDateFields": ["FName","FNumber","FMaterialGroup","F_PAEZ_Base"],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"IsDeleteEntry": "@KD_IsDeleteEntry",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/data_model.json

@ -1,5 +1,5 @@
{
"FMATERIALID": 0,
"FMATERIALID": @KD_FMATERIALID,
"FCreateOrgId": {
"FNumber": "100"
},

100
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/BDStockService.java

@ -0,0 +1,100 @@
package com.yxt.anrui.fin.biz.kingdee.bdstock;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yxt.anrui.fin.api.kingdee.bdstock.BDStock;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.common.base.config.RedisUtil;
import com.yxt.common.core.result.ResultBean;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.concurrent.TimeUnit;
/**
* 保存仓库
*/
@Service
public class BDStockService extends FinKingDeeService {
private static Logger log= LoggerFactory.getLogger(BDStockService.class);
@Autowired
private StringRedisTemplate stringRedisTemplate;
/**
* 保存仓库
* @param bDStock
* @return
*/
public ResultBean<String> draftBDStock(BDStock bDStock) {
String jsonUser = null;//这样就变成了一个json对象了
try {
jsonUser = new ObjectMapper().writeValueAsString(bDStock);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
stringRedisTemplate.opsForValue().set("stock-in",jsonUser,5L, TimeUnit.SECONDS);
stringRedisTemplate.opsForValue().set("stock-in1",jsonUser);
String s = stringRedisTemplate.opsForValue().get("stock-in");
String s1 = stringRedisTemplate.opsForValue().get("stock-in1");
// boolean set = redisUtil.set("stock-in", jsonUser, 10L);
log.info("set:{}",s);
log.info("set1:{}",s1);
return null;
}
/* public ResultBean<String> draftBDStock(BDStock bDStock) {
// bDStock=BDStock.createBdMaterial();
ResultBean rb=ResultBean.fireFail();
//仓库信息转map参数
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(bDStock);
//业务表的主表数据集合
Map<String,String> map_fEntityModel_=createMapParams(stringObjectMap);
String kingDeeData = BDStocklCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
try {
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_STOCK.getID(),
kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
if(!resultBean.getSuccess()){
log.info("仓库保存失败!");
return rb.setMsg("仓库保存失败!");
}
String data1 = resultBean.getData();
JSONObject jsonObject = JSONObject.parseObject(data1);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
boolean isSuccess = (boolean) responseStatus.get("IsSuccess");
if(!isSuccess){
log.info("仓库保存失败!");
return rb.setMsg("仓库保存失败!");
}
log.info("仓库保存成功!");
String data = resultBean.getData();
String submitKD = getSubmitKD(data,KingDeeBillId.BD_STOCK.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_STOCK.getID(),
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());//submitKingDeeBillData(KingDeeBillId.BD_STOCK.getID(), submitKD);
if(!resultBean1.getSuccess()){
log.info("仓库提交失败!");
return rb.setMsg("仓库提交失败!");
}
log.info("仓库提交成功!");
String auditKD = getAuditKD(data,KingDeeBillId.BD_STOCK.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(
KingDeeBillId.BD_STOCK.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());//auditKingDeeBillData(KingDeeBillId.BD_STOCK.getID(), auditKD);
if(!resultBean2.getSuccess()){
log.info("仓库审核失败!");
return rb.setMsg("仓库审核失败!");
}
log.info("仓库审核成功!");
return resultBean2;
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}*/
}

45
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/BDStocklCastToKingDeeBillFields.java

@ -0,0 +1,45 @@
package com.yxt.anrui.fin.biz.kingdee.bdstock;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
/**
* 封装转换的类
*/
public class BDStocklCastToKingDeeBillFields {
private static Logger log=LoggerFactory.getLogger(BDStocklCastToKingDeeBillFields.class);
/**
* 构造金蝶需要的数据结构 并对字段赋值
*
* @param map_fEntityModel_
* @return
*/
public static String getKingDeeData(Map<String,String> map_fEntityModel_){
/**
* 取模板
*/
String readJsonFile = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdstock/data.json");
String fEntityData_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdstock/data_data.json");
String fEntityModel_ = KingDeeUtils.readJsonFile("com/yxt/anrui/fin/biz/kingdee/bdstock/data_model.json");
log.info("readJsonFile:{}",readJsonFile);
log.info("fEntityData_:{}",fEntityData_);
log.info("fEntityModel_:{}",fEntityModel_);
//模板字符创转json
JSONObject jsonObj= JSONObject.parseObject(readJsonFile, Feature.OrderedField);
JSONObject jsonFEntityData_= JSONObject.parseObject(fEntityData_,Feature.OrderedField);
fEntityModel_ =KingDeeUtils.replaceTemplateParams(fEntityModel_, map_fEntityModel_);
JSONObject jsonFEntityModel_= JSONObject.parseObject(fEntityModel_,Feature.OrderedField);
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data.json

@ -0,0 +1,4 @@
{
"formId": "BD_STOCK",
"data": "@KD_data"
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data_data.json

@ -0,0 +1,13 @@
{
"Creator": "",
"NeedUpDateFields": [],
"NeedReturnFields": [],
"IsDeleteEntry": "True",
"SubSystemId": "",
"IsVerifyBaseDataField": "false",
"IsEntryBatchFill": "True",
"ValidateFlag": "True",
"NumberSearch": "True",
"InterationFlags": "",
"Model": {}
}

25
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/data_model.json

@ -0,0 +1,25 @@
{
"FStockId": 0,
"FCreateOrgId": {
"FNumber": "@KD_FCreateOrgId"
},
"FUseOrgId": {
"FNumber": "@KD_FUseOrgId"
},
"FName": "@KD_FName",
"FStockProperty": "1",
"FStockStatusType": "0,1,2,3,4,5,6,7,8",
"FDefReceiveStatusId": {
"FNumber": "KCZT02_SYS"
},
"FDefStockStatusId": {
"FNumber": "KCZT01_SYS"
},
"FAllowMinusQty": false,
"FAllowLock": true,
"FIsOpenLocation": false,
"FAllowMRPPlan": true,
"FAvailablePicking": true,
"FAvailableAlert": true,
"FSortingPriority": 1
}

63
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/remarks.txt

@ -0,0 +1,63 @@
一、请求参数说明:
1.formid:业务对象表单Id,字符串类型(必录)
2.data:Json格式数据(详情参考Json格式数据)(必录)
2.1.Creator:创建者内码(非必录)
2.2.NeedUpDateFields:需要更新的字段,数组类型,格式:[key1,key2,...](非必录),注(更新单据体字段得加上单据体key)
2.3.NeedReturnFields:需返回结果的字段集合,数组类型,格式:[key,entitykey.key,...](非必录),注(返回单据体字段格式:entitykey.key)
2.4.IsDeleteEntry:是否删除已存在的分录,布尔类型,默认true(非必录)
2.5.SubSystemId:表单所在的子系统内码,字符串类型(非必录)
2.6.IsVerifyBaseDataField:是否验证所有的基础资料有效性,布尔类,默认false(非必录)
2.7.IsEntryBatchFill:是否批量填充分录,默认true(非必录)
2.8.ValidateFlag:是否验证标志,布尔类型,默认true(非必录)
2.9.NumberSearch:是否用编码搜索基础资料,布尔类型,默认true(非必录)
2.10.InterationFlags:交互标志集合,字符串类型,分号分隔,格式:"flag1;flag2;..."(非必录),例如(允许负库存标识:STK_InvCheckResult)
2.11.Model:表单数据包,Json类型(必录)
五、字段说明:
第三方仓库编码:FTHIRDSTOCKNO
默认收料状态:FDefReceiveStatusId
参与预警:FAvailableAlert
参与拣货:FAvailablePicking
第三方仓储类型:FThirdStockType
默认库存状态:FDefStockStatusId
仓库属性:FStockProperty (必填项)
分组:FGroup
供应商:FSupplierId
库存状态类型:FStockStatusType (必填项)
客户:FCustomerId
拣货优先级(1~9999):FSortingPriority
仓位值名称:FFlexEntryName
仓位值编码:FFlexEntryId
仓位值描述:FFlexEntryDescription
重复标识:FIsRepeat
仓位值禁用:FFlexEntryForbid
维度Key:FFlexNumber
仓位值集名称:FFlexName
仓位值集编码:FFlexId
仓位值集说明:FFlexDescription
必录:FIsMustInput
仓位值集禁用:FFlexForbid
审核日期:FAuditDate
创建人:FCreatorId
使用组织:FUseOrgId (必填项)
最后修改人:FModifierId
最后修改日期:FModifyDate
创建日期:FCreateDate
创建组织:FCreateOrgId (必填项)
禁用状态:FForbidStatus
数据状态:FDocumentStatus
名称:FName (必填项)
描述:FDescription
编码:FNumber
仓库负责人:FPrincipal
禁用人:FForbiderId
仓库地址:FAddress
禁用日期:FForbidDate
审核人:FAuditorId
系统预置:FSysDefault
允许负库存:FAllowMinusQty
允许ATP检查:FAllowATPCheck
联系电话:FTel
允许MRP计划:FAllowMRPPlan
允许锁库:FAllowLock
启用仓位管理:FIsOpenLocation

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/webapi测试的数据.txt

@ -0,0 +1 @@
{\"Creator\":\"\",\"NeedUpDateFields\":[],\"NeedReturnFields\":[],\"IsDeleteEntry\":\"True\",\"SubSystemId\":\"\",\"IsVerifyBaseDataField\":\"false\",\"IsEntryBatchFill\":\"True\",\"ValidateFlag\":\"True\",\"NumberSearch\":\"True\",\"InterationFlags\":\"\",\"Model\":{\"FMATERIALID\":0,\"FCreateOrgId\":{\"FNumber\":\"100\"},\"FUseOrgId\":{\"FNumber\":\"100\"},\"FName\":\"物料名称1\",\"FMaterialGroup\":{\"FNumber\":\"03\"},\"FImgStorageType\":\"B\",\"FIsSalseByNet\":false,\"SubHeadEntity\":{\"FErpClsID\":\"1\",\"FCategoryID\":{\"FNumber\":\"CHLB01_SYS\"},\"FTaxType\":{\"FNumber\":\"WLDSFL01_SYS\"},\"FTaxRateId\":{\"FNUMBER\":\"SL04_SYS\"},\"FBaseUnitId\":{\"FNumber\":\"liang\"},\"FIsPurchase\":true,\"FIsInventory\":true,\"FIsSubContract\":false,\"FIsSale\":true,\"FIsProduce\":false,\"FIsAsset\":false,\"FWEIGHTUNITID\":{\"FNUMBER\":\"kg\"},\"FVOLUMEUNITID\":{\"FNUMBER\":\"m\"}},\"SubHeadEntity1\":{\"FStoreUnitID\":{\"FNumber\":\"liang\"},\"FUnitConvertDir\":\"1\",\"FIsLockStock\":true,\"FIsCycleCounting\":false,\"FCountCycle\":\"1\",\"FCountDay\":1,\"FIsMustCounting\":false,\"FIsBatchManage\":false,\"FIsKFPeriod\":false,\"FIsExpParToFlot\":false,\"FCurrencyId\":{\"FNumber\":\"PRE001\"},\"FIsEnableMinStock\":false,\"FIsEnableMaxStock\":false,\"FIsEnableSafeStock\":false,\"FIsEnableReOrder\":false,\"FIsSNManage\":false,\"FIsSNPRDTracy\":false,\"FSNManageType\":\"1\",\"FSNGenerateTime\":\"1\"},\"SubHeadEntity2\":{\"FSaleUnitId\":{\"FNumber\":\"liang\"},\"FSalePriceUnitId\":{\"FNumber\":\"liang\"},\"FMaxQty\":100000.0,\"FIsATPCheck\":false,\"FIsReturnPart\":false,\"FIsInvoice\":false,\"FIsReturn\":true,\"FAllowPublish\":false,\"FISAFTERSALE\":true,\"FISPRODUCTFILES\":true,\"FISWARRANTED\":false,\"FWARRANTYUNITID\":\"D\",\"FOutLmtUnit\":\"SAL\",\"FIsTaxEnjoy\":false},\"SubHeadEntity3\":{\"FPurchaseUnitId\":{\"FNumber\":\"liang\"},\"FPurchasePriceUnitId\":{\"FNumber\":\"liang\"},\"FIsQuota\":false,\"FQuotaType\":\"1\",\"FIsVmiBusiness\":false,\"FEnableSL\":false,\"FIsPR\":false,\"FIsReturnMaterial\":true,\"FIsSourceControl\":false,\"FPOBillTypeId\":{\"FNUMBER\":\"CGSQD01_SYS\"},\"FPrintCount\":1,\"FMinPackCount\":1},\"SubHeadEntity4\":{\"FPlanningStrategy\":\"1\",\"FMfgPolicyId\":{\"FNumber\":\"ZZCL001_SYS\"},\"FFixLeadTimeType\":\"1\",\"FVarLeadTimeType\":\"1\",\"FCheckLeadTimeType\":\"1\",\"FOrderIntervalTimeType\":\"3\",\"FMaxPOQty\":100000.0,\"FEOQ\":1.0,\"FVarLeadTimeLotSize\":1.0,\"FIsMrpComReq\":false,\"FReserveType\":\"1\",\"FAllowPartAhead\":false,\"FCanDelayDays\":999,\"FAllowPartDelay\":true,\"FPlanOffsetTimeType\":\"1\"},\"SubHeadEntity5\":{\"FProduceUnitId\":{\"FNumber\":\"liang\"},\"FProduceBillType\":{\"FNUMBER\":\"SCDD03_SYS\"},\"FOrgTrustBillType\":{\"FNUMBER\":\"SCDD06_SYS\"},\"FIsSNCarryToParent\":false,\"FIsProductLine\":false,\"FBOMUnitId\":{\"FNumber\":\"liang\"},\"FIsMainPrd\":false,\"FIsCoby\":false,\"FIsECN\":false,\"FIssueType\":\"1\",\"FOverControlMode\":\"1\",\"FMinIssueQty\":1.0,\"FISMinIssueQty\":false,\"FIsKitting\":false,\"FIsCompleteSet\":false,\"FMinIssueUnitId\":{\"FNUMBER\":\"liang\"},\"FStandHourUnitId\":\"3600\",\"FBackFlushType\":\"1\"},\"SubHeadEntity7\":{\"FSubconUnitId\":{\"FNumber\":\"liang\"},\"FSubconPriceUnitId\":{\"FNumber\":\"liang\"},\"FSubBillType\":{\"FNUMBER\":\"WWDD01_SYS\"}},\"SubHeadEntity6\":{\"FCheckIncoming\":false,\"FCheckProduct\":false,\"FCheckStock\":false,\"FCheckReturn\":false,\"FCheckDelivery\":false,\"FEnableCyclistQCSTK\":false,\"FEnableCyclistQCSTKEW\":false,\"FCheckEntrusted\":false,\"FCheckOther\":false},\"FEntityAuxPty\":[{\"FAuxPropertyId\":{\"FNumber\":\"ND\"},\"FIsEnable1\":false,\"FIsComControl\":false,\"FIsAffectPrice1\":false,\"FIsAffectPlan1\":false,\"FIsAffectCost1\":false,\"FIsMustInput\":false},{\"FAuxPropertyId\":{\"FNumber\":\"WLKH\"},\"FIsEnable1\":false,\"FIsComControl\":false,\"FIsAffectPrice1\":false,\"FIsAffectPlan1\":false,\"FIsAffectCost1\":false,\"FIsMustInput\":false}],\"FEntityInvPty\":[{\"FInvPtyId\":{\"FNumber\":\"01\"},\"FIsEnable\":true,\"FIsAffectPrice\":false,\"FIsAffectPlan\":false,\"FIsAffectCost\":false},{\"FInvPtyId\":{\"FNumber\":\"02\"},\"FIsEnable\":true,\"FIsAffectPrice\":false,\"FIsAffectPlan\":false,\"FIsAffectCost\":false},{\"FInvPtyId\":{\"FNumber\":\"03\"},\"FIsEnable\":false,\"FIsAffectPrice\":false,\"FIsAffectPlan\":false,\"FIsAffectCost\":false},{\"FInvPtyId\":{\"FNumber\":\"04\"},\"FIsEnable\":false,\"FIsAffectPrice\":false,\"FIsAffectPlan\":false,\"FIsAffectCost\":false},{\"FInvPtyId\":{\"FNumber\":\"06\"},\"FIsEnable\":false,\"FIsAffectPrice\":false,\"FIsAffectPlan\":false,\"FIsAffectCost\":false}]}}

BIN
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdstock/仓库的参数必填备注.xlsx

Binary file not shown.

12
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java

@ -5,6 +5,7 @@ import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdsupplier.BdSupplier;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
@ -43,7 +44,8 @@ public class BdSupplierService extends FinKingDeeService {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdSupplier);
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData,
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
@ -59,18 +61,14 @@ public class BdSupplierService extends FinKingDeeService {
return rb.setMsg("供应商审核失败!");
}
log.info("供应商审核成功!");
/*
String allocate = getAllocate(resultBean.getData(),bdSupplier.getTOrgIds(),KingDeeBillId.BD_SUPPLIER.getID());
/* String allocate = getAllocate(resultBean.getData(),bdSupplier.getTOrgIds(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean3 = accessKingDeeInterface(
KingDeeBillId.BD_SUPPLIER.getID(), allocate,KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
log.info("供应商分配失败!");
return rb.setMsg("供应商分配失败!");
}
log.info("供应商分配成功!");
*/
log.info("供应商分配成功!");*/
return resultBean2;
} catch (Exception e) {
e.printStackTrace();

5
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/data_model.json

@ -1,10 +1,11 @@
{
"FSupplierId": 0,
"FCreateOrgId": {
"FNumber": "100"
"FNumber": "@KD_FUseOrgId"
},
"FNumber": "@KD_FNumber",
"FUseOrgId": {
"FNumber": "100"
"FNumber": "@KD_FUseOrgId"
},
"FName": "@KD_FName",
"FBaseInfo": {

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsService.java

@ -27,7 +27,7 @@ public class OrgOrganizationsService extends FinKingDeeService {
Map<String,String> map_fEntityModel_= object2Map(orgOrganizations);
String kingDeeData = OrgOrganizationsCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> result = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), kingDeeData,
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.SAVE_URL.getURL());
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.DRAFT_URL.getURL());
if (!result.getSuccess()){
return result;
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/purmrb/PurMrbService.java

@ -28,7 +28,7 @@ public class PurMrbService extends FinKingDeeService {
List<PurMrb.FPURMRBENTRY> fpurmrbentry = purMrb.getFPURMRBENTRY();
List<Map<String, String>> vehicleListMap = createVehicleLists(fpurmrbentry);
String kingDeeData = PurMrbCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.PUR_MRB.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.PUR_MRB.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/receivablebill/ReceivableBillService.java

@ -45,7 +45,7 @@ public class ReceivableBillService extends FinKingDeeService {
}
String kingDeeData = ReceivableBillCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap.getData());
try {
return accessKingDeeInterface(KingDeeBillId.AP_PAYABLE.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.AP_PAYABLE.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/saloutstock/SalOutStockService.java

@ -31,7 +31,7 @@ public class SalOutStockService extends FinKingDeeService {
List<SalOutStock.FEntity> fEntity = salOutStock.getFEntity();
List<Map<String, String>> vehicleListMap = createVehicleLists(fEntity);
String kingDeeData = SalOutStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.SAL_OUTSTOCK.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.SAL_OUTSTOCK.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java

@ -128,7 +128,7 @@ public class STKInStockService extends FinKingDeeService {
//准备 物料列表的数据 ForEntryBill
List<Map<String, String>> vehicleListMap = createVehicleLists(fInStockEntry);
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
}
/**

6
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stktransferdirect/StkTransferDirectService.java

@ -18,9 +18,9 @@ public class StkTransferDirectService extends FinKingDeeService {
* @param stkTransferDirect
* @return
*/
public ResultBean draftStkTransferDirect(StkTransferDirect stkTransferDirect) {
public ResultBean<String> draftStkTransferDirect(StkTransferDirect stkTransferDirect) {
//stkTransferDirect=StkTransferDirect.createStkTransferDirect();
ResultBean rb=ResultBean.fireFail();
ResultBean<String> rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(stkTransferDirect);
@ -28,7 +28,7 @@ public class StkTransferDirectService extends FinKingDeeService {
//准备 物料列表的数据 ForEntryBill
List<Map<String, String>> vehicleListMap = createVehicleLists(fBillEntry);
String kingDeeData = StkTransferDirectCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.STK_TRANSFERDIRECT.getID(),kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
return accessKingDeeInterface(KingDeeBillId.STK_TRANSFERDIRECT.getID(),kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
}

2
anrui-fin/anrui-fin-biz/src/main/resources/application-dev.yml

@ -16,7 +16,7 @@ spring:
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password:
password: 123456
port: 6379
timeout: 0 # 连接超时时间(毫秒)
image:

2
anrui-gateway/pom.xml

@ -31,6 +31,7 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<optional>true</optional>
</dependency>
<dependency>
@ -65,6 +66,7 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.5.6</version>
<executions>
<execution>
<goals>

6
anrui-gateway/src/main/resources/application-devv.yml

@ -4,16 +4,16 @@ spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
server-addr: 39.104.100.138:8848
redis:
database: 3 # Redis数据库索引(默认为0)
host: 127.0.0.1
host: 39.104.100.138
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
password:
port: 6379
timeout: 0 # 连接超时时间(毫秒)

6
anrui-gateway/src/main/resources/application-test.yml

@ -4,16 +4,16 @@ spring:
cloud:
nacos:
discovery:
server-addr: 39.104.100.138:8848
server-addr: 172.18.0.5:8848
redis:
database: 3 # Redis数据库索引(默认为0)
host: 39.104.100.138
host: 172.18.0.7
jedis:
pool:
max-active: -1 #连接池最大连接数(使用负值表示没有限制)
max-idle: 8 #连接池中的最大空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
password: 123456
password:
port: 6379
timeout: 0 # 连接超时时间(毫秒)

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganization.java

@ -69,4 +69,10 @@ public class SysOrganization extends BaseEntity {
@ApiModelProperty("组织简称")
private String orgAbbre;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
}

6
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationDto.java

@ -73,4 +73,10 @@ public class SysOrganizationDto implements Dto {
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
}

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationVo.java

@ -73,4 +73,8 @@ public class SysOrganizationVo implements Vo {
private String orgAbbre;
@ApiModelProperty("是否是部门(0否,1是)")
private Integer isDept;
@ApiModelProperty("组织属性key")
private String orgAttributeKey;
@ApiModelProperty("组织属性value")
private String orgAttributeValue;
}

4
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java

@ -527,6 +527,10 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
sysStaffOrgService.deleteByStaffSidAndType(sysStaffOrgDto.getOrgSidPath(), sid, "2");
}
SysStaffOrg sysStaffOrg = sysStaffOrgService.getOrgByStaffSidAndPath(sid,sysStaffOrgDto.getOrgSidPath());
if(sysStaffOrg == null){
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgService.selectAllByStaffSid(sid);
sysStaffOrg = staffOrgResultBean.getData();
}
BeanUtil.copyProperties(sysStaffOrgDto,sysStaffOrg);
sysStaffOrg.setManageType("3");
sysStaffOrgService.updateById(sysStaffOrg);

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDetailsVo.java

@ -26,12 +26,15 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistribute;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-scm(专项返利分配) <br/>
* File: ScmSpecialrebatedistributeVo.java <br/>
@ -81,5 +84,6 @@ public class ScmSpecialrebatedistributeDetailsVo implements Vo {
private String procInstId; // 流程实例的sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("分配申请的专项返利列表")
private List<ScmSpecialrebatedistributedetailDetailsVo> scmSpecialrebatedistributedetails; // 分配申请的专项返利列表
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeDto.java

@ -26,12 +26,15 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistribute;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDto;
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-scm(专项返利分配) <br/>
* File: ScmSpecialrebatedistributeDto.java <br/>
@ -81,5 +84,6 @@ public class ScmSpecialrebatedistributeDto implements Dto {
private String procInstId; // 流程实例的sid
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("分配申请的专项返利列表")
private List<ScmSpecialrebatedistributedetailDto> scmSpecialrebatedistributedetails; // 分配申请的专项返利列表
}

3
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistribute/ScmSpecialrebatedistributeVo.java

@ -68,8 +68,7 @@ public class ScmSpecialrebatedistributeVo implements Vo {
@ApiModelProperty("分配总金额")
private String distributionMoneyTotal; // 分配总金额
@ApiModelProperty("审批完成日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date approvalCompleteDate; // 审批完成日期
private String approvalCompleteDate; // 审批完成日期
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("流程状态")

28
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailDetailsVo.java

@ -26,12 +26,15 @@
package com.yxt.anrui.scm.api.scmspecialrebatedistributedetail;
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: anrui-scm(专项返利分配) <br/>
* File: ScmSpecialrebatedistributedetailVo.java <br/>
@ -49,11 +52,32 @@ import lombok.Data;
@ApiModel(value = "分配申请的专项返利列表 视图数据详情", description = "分配申请的专项返利列表 视图数据详情")
public class ScmSpecialrebatedistributedetailDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("子表sid")
private String sid; // 子表sid
@ApiModelProperty("分配申请sid")
private String mainSid; // 分配申请sid
@ApiModelProperty("专项返利sid")
private String specialRebateSid; // 专项返利sid
@ApiModelProperty("分配数量")
private String disNum; // 分配数量
@ApiModelProperty("品牌sid")
private String brandSid; // 品牌sid
@ApiModelProperty("品牌名称")
private String brandName; // 品牌名称
@ApiModelProperty("创建日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date createTime; // 创建日期
@ApiModelProperty("返利名称")
private String rebateName; // 返利名称
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")
private String rebateTypeValue; // 返利类型value
@ApiModelProperty("预提返利")
private String estimateRebate; // 预提返利
@ApiModelProperty("上传总金额")
private String uploadMoney; // 上传总金额
@ApiModelProperty("单车分配金额")
private String unitSetAllocationMoney; // 单车分配金额
}

12
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatevehs/ScmSpecialrebateVehsDto.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-scm(专项返利分配) <br/>
* File: ScmSpecialrebateVehsDto.java <br/>
@ -52,12 +54,8 @@ public class ScmSpecialrebateVehsDto implements Dto {
private String sid; // sid
@ApiModelProperty("专项返利sid")
private String specialRebateSid; // 专项返利sid
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("其他字典")
private String otherDictionaries; // 其他字典
private List<String> specialRebateSids; // 专项返利sid
@ApiModelProperty("专项返利车辆信息")
private List<ScmSpecialrebateVehsVehSidAndVinNoDto> scmSpecialrebateVehsVehSidAndVinNos; // 专项返利车辆信息
}

44
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatevehs/ScmSpecialrebateVehsVehSidAndVinNoDto.java

@ -0,0 +1,44 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebatevehs;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "专项返利分配的车辆列表 数据传输对象", description = "专项返利分配的车辆列表 数据传输对象")
public class ScmSpecialrebateVehsVehSidAndVinNoDto implements Dto {
@ApiModelProperty("车辆sid")
private String vehSid; // 车辆sid
@ApiModelProperty("车架号")
private String vinNo; // 车架号
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateVo.java

@ -91,6 +91,8 @@ public class ScmVehRebateVo implements Vo {
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("预提日期(页面展示)")
private String withholdingDateCopy; // 预提日期(页面展示)
@ApiModelProperty("上传日期")
private String uploadDate; // 上传日期
@ApiModelProperty("上传金额")

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailDetailsVo.java

@ -57,6 +57,10 @@ public class ScmVehrebateCheckapplydetailDetailsVo implements Vo {
private String palceGenDate; // 所属年月
@ApiModelProperty("所属年月(页面展示)")
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("预提日期(页面展示)")
private String withholdingDateCopy; // 预提日期(页面展示)
@ApiModelProperty("返利类型key")
private String rebateTypeKey; // 返利类型key
@ApiModelProperty("返利类型value")

44
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml

@ -1,17 +1,41 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
<select id="stayDisRebate" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmStayDisRebateVo">
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo">
SELECT * FROM scm_special_rebate
<where>
${ew.sqlSegment}
</where>
</select>
<select id="stayDisRebate" resultType="com.yxt.anrui.scm.api.scmspecialrebate.ScmStayDisRebateVo">
SELECT
ssr.sid,
ssr.state,
ssr.brandSid,
ssr.brandName,
ssr.createTime,
ssr.rebateName,
ssr.rebateTypeKey,
ssr.rebateTypeValue,
ssr.estimateRebate,
ssr.uploadMoney
FROM scm_specialrebate_checkapplydetail sscad
LEFT JOIN scm_special_rebate ssr
ON sscad.`specialRebateSid` = ssr.`sid`
LEFT JOIN scm_specialrebate_checkapply ssca
ON ssca.`sid` = sscad.`mainSid`
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

37
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java

@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmspecialrebate.*;
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService;
import com.yxt.common.core.result.ResultBean;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -37,9 +38,11 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* Project: anrui-scm(专项返利管理) <br/>
@ -56,6 +59,10 @@ import java.util.Date;
*/
@Service
public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebateMapper, ScmSpecialRebate> {
@Autowired
private ScmSpecialrebateVehsService scmSpecialrebateVehsService;
private QueryWrapper<ScmSpecialRebate> createQueryWrapper(ScmSpecialRebateQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -234,7 +241,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
String sid = dto.getSid();
ScmSpecialRebate scmSpecialRebate = fetchBySid(sid);
ScmSpecialRebateDto scmSpecialRebateDto = new ScmSpecialRebateDto();
BeanUtil.copyProperties(scmSpecialRebate,scmSpecialRebateDto);
BeanUtil.copyProperties(scmSpecialRebate, scmSpecialRebateDto);
scmSpecialRebateDto.setSecondaryUploadDate(dto.getSecondaryUploadDate());
scmSpecialRebateDto.setSecondaryUploadMoney(dto.getSecondaryUploadMoney());
scmSpecialRebateDto.setStayDetermineMoney(dto.getStayDetermineMoney());
@ -243,7 +250,7 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
String money = String.valueOf(mon + cost);
scmSpecialRebateDto.setMoney(money);
scmSpecialRebateDto.setAdjustmentMoney(dto.getAdjustmentMoney());
updateBySid(scmSpecialRebateDto,sid);
updateBySid(scmSpecialRebateDto, sid);
return rb.success().setMsg("调整成功");
}
@ -255,25 +262,33 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
ScmSpecialRebateQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
qw.eq("ssr.brandSid", query.getBrandSid());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
qw.eq("ssr.rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
if (StringUtils.isNotBlank(query.getState())) {
qw.like("state", query.getState());
qw.like("ssr.rebateName", query.getRebateName());
}
qw.eq("ssr.state", 3);
qw.eq("ssca.nodeState","已办结");
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (ssr.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (ssr.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.eq("ssr.createOrgSid", query.getCreateOrgSid());
if (query.getSidList().size() > 0){
qw.notIn("ssr.sid",query.getSidList());
}
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmStayDisRebateVo> pagging = baseMapper.stayDisRebate(page, qw);
List<ScmStayDisRebateVo> records = pagging.getRecords();
for (ScmStayDisRebateVo record : records) {
String sid = record.getSid();
int disVehCount = scmSpecialrebateVehsService.getDisVehCount(sid);
record.setDisNum(String.valueOf(disVehCount));
}
PagerVo<ScmStayDisRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatecheckapply/ScmSpecialrebateCheckapplyService.java

@ -46,6 +46,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatecheckapply.flow.SubmitScmSpecialReb
import com.yxt.anrui.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetail;
import com.yxt.anrui.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailDetailsVo;
import com.yxt.anrui.scm.api.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailDto;
import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService;
import com.yxt.anrui.scm.biz.scmspecialrebatecheckapplydetail.ScmSpecialrebateCheckapplydetailService;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.java

@ -62,4 +62,6 @@ public interface ScmSpecialrebatedistributeMapper extends BaseMapper<ScmSpecialr
@Select("select * from scm_specialrebatedistribute")
List<ScmSpecialrebatedistributeVo> selectListVo();
int selectBySid(String join);
}

7
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeMapper.xml

@ -10,4 +10,11 @@
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeVo">
SELECT * FROM scm_specialrebatedistribute <where> ${ew.sqlSegment} </where>
</select>
<select id="selectBySid" resultType="int">
SELECT COUNT(*)
FROM scm_specialrebatedistribute
WHERE nodeState != '待提交'
and find_in_set(sid, #{list})
</select>
</mapper>

12
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeRest.java

@ -75,26 +75,20 @@ public class ScmSpecialrebatedistributeRest implements ScmSpecialrebatedistribut
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ScmSpecialrebatedistributeDto dto){
ResultBean rb = ResultBean.fireFail();
scmSpecialrebatedistributeService.saveOrUpdateDto(dto);
return rb.success();
return scmSpecialrebatedistributeService.saveOrUpdateDto(dto);
}
@Override
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
scmSpecialrebatedistributeService.delBySids(sids);
return rb.success();
return scmSpecialrebatedistributeService.delAll(sids);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<ScmSpecialrebatedistributeDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
ScmSpecialrebatedistributeDetailsVo vo = scmSpecialrebatedistributeService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
return scmSpecialrebatedistributeService.fetchDetailsVoBySid(sid);
}
}

74
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistribute/ScmSpecialrebatedistributeService.java

@ -28,6 +28,12 @@ package com.yxt.anrui.scm.biz.scmspecialrebatedistribute;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmStayDisRebateVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetail;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDto;
import com.yxt.anrui.scm.biz.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailService;
import com.yxt.anrui.scm.biz.scmspecialrebatevehs.ScmSpecialrebateVehsService;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -41,6 +47,7 @@ import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistribu
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeDto;
import com.yxt.anrui.scm.api.scmspecialrebatedistribute.ScmSpecialrebatedistributeFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@ -60,6 +67,12 @@ import java.util.List;
*/
@Service
public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpecialrebatedistributeMapper, ScmSpecialrebatedistribute> {
@Autowired
private ScmSpecialrebatedistributedetailService scmSpecialrebatedistributedetailService;
@Autowired
private ScmSpecialrebateVehsService scmSpecialrebateVehsService;
private QueryWrapper<ScmSpecialrebatedistribute> createQueryWrapper(ScmSpecialrebatedistributeQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -88,19 +101,43 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
return p;
}
public void saveOrUpdateDto(ScmSpecialrebatedistributeDto dto) {
public ResultBean saveOrUpdateDto(ScmSpecialrebatedistributeDto dto) {
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<ScmSpecialrebatedistributedetailDto> scmSpecialrebatedistributedetails = dto.getScmSpecialrebatedistributedetails();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
String sid = this.insertByDto(dto).getData();
for (ScmSpecialrebatedistributedetailDto scmSpecialrebatedistributedetail : scmSpecialrebatedistributedetails) {
ScmSpecialrebatedistributedetail scmSpecialrebatedistributedetail1 = new ScmSpecialrebatedistributedetail();
scmSpecialrebatedistributedetail1.setMainSid(sid);
scmSpecialrebatedistributedetail1.setSpecialRebateSid(scmSpecialrebatedistributedetail.getSpecialRebateSid());
scmSpecialrebatedistributedetailService.save(scmSpecialrebatedistributedetail1);
}
return rb.success().setMsg("保存成功");
}
ScmSpecialrebatedistribute scmSpecialrebatedistribute = fetchBySid(dtoSid);
if (scmSpecialrebatedistribute == null){
return rb.setMsg("该分配申请不存在");
}
this.updateByDto(dto);
scmSpecialrebatedistributedetailService.delByMainSid(dtoSid);
for (ScmSpecialrebatedistributedetailDto scmSpecialrebatedistributedetail : scmSpecialrebatedistributedetails) {
ScmSpecialrebatedistributedetail scmSpecialrebatedistributedetail1 = new ScmSpecialrebatedistributedetail();
scmSpecialrebatedistributedetail1.setMainSid(dtoSid);
scmSpecialrebatedistributedetail1.setSpecialRebateSid(scmSpecialrebatedistributedetail.getSpecialRebateSid());
scmSpecialrebatedistributedetailService.save(scmSpecialrebatedistributedetail1);
}
return rb.success().setMsg("修改成功");
}
public void insertByDto(ScmSpecialrebatedistributeDto dto) {
public ResultBean<String> insertByDto(ScmSpecialrebatedistributeDto dto) {
ResultBean rb = ResultBean.fireFail();
ScmSpecialrebatedistribute entity = new ScmSpecialrebatedistribute();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setState(0);
entity.setNodeState("待提交");
baseMapper.insert(entity);
return rb.success().setData(entity.getSid());
}
public void updateByDto(ScmSpecialrebatedistributeDto dto) {
@ -113,10 +150,35 @@ public class ScmSpecialrebatedistributeService extends MybatisBaseService<ScmSpe
baseMapper.updateById(entity);
}
public ScmSpecialrebatedistributeDetailsVo fetchDetailsVoBySid(String sid) {
public ResultBean<ScmSpecialrebatedistributeDetailsVo> fetchDetailsVoBySid(String sid) {
ResultBean rb = ResultBean.fireFail();
ScmSpecialrebatedistribute entity = fetchBySid(sid);
ScmSpecialrebatedistributeDetailsVo vo = new ScmSpecialrebatedistributeDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
List<ScmSpecialrebatedistributedetailDetailsVo> scmSpecialrebatedistributedetailDetailsVos = scmSpecialrebatedistributedetailService.fetchByMainSid(sid);
for (ScmSpecialrebatedistributedetailDetailsVo record : scmSpecialrebatedistributedetailDetailsVos) {
String specialRebateSid = record.getSpecialRebateSid();
int disVehCount = scmSpecialrebateVehsService.getDisVehCount(specialRebateSid);
record.setDisNum(String.valueOf(disVehCount));
String uploadMoney = record.getUploadMoney();
int i = Integer.parseInt(uploadMoney);
record.setUnitSetAllocationMoney(String.valueOf(i/disVehCount));
}
vo.setScmSpecialrebatedistributedetails(scmSpecialrebatedistributedetailDetailsVos);
return rb.success().setData(vo);
}
public ResultBean delAll(String[] sids) {
ResultBean rb = ResultBean.fireFail();
//查询该sid中是否有流程不是待提交的
int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
if (count > 0) {
return rb.setMsg("删除的数据中包含已经提交审批的数据,删除失败");
}
delBySids(sids);
for (String sid : sids) {
scmSpecialrebatedistributedetailService.delByMainSid(sid);
}
return rb.success().setMsg("删除成功");
}
}

7
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.java

@ -29,6 +29,8 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -62,4 +64,9 @@ public interface ScmSpecialrebatedistributedetailMapper extends BaseMapper<ScmSp
@Select("select * from scm_specialrebatedistributedetail")
List<ScmSpecialrebatedistributedetailVo> selectListVo();
@Delete("delete from scm_specialrebatedistributedetail where mainSid = #{dtoSid}")
void delByMainSid(String dtoSid);
List<ScmSpecialrebatedistributedetailDetailsVo> fetchByMainSid(String sid);
}

43
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailMapper.xml

@ -1,13 +1,38 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.scm.biz.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailVo">
SELECT * FROM scm_specialrebatedistributedetail <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailVo">
SELECT * FROM scm_specialrebatedistributedetail <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo"
resultType="com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailVo">
SELECT * FROM scm_specialrebatedistributedetail
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo"
resultType="com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailVo">
SELECT * FROM scm_specialrebatedistributedetail
<where>
${ew.sqlSegment}
</where>
</select>
<select id="fetchByMainSid"
resultType="com.yxt.anrui.scm.api.scmspecialrebatedistributedetail.ScmSpecialrebatedistributedetailDetailsVo">
SELECT ssd.sid,
ssr.sid AS specialRebateSid,
ssr.brandSid,
ssr.brandName,
ssr.createTime,
ssr.rebateName,
ssr.rebateTypeKey,
ssr.rebateTypeValue,
ssr.estimateRebate,
ssr.uploadMoney
FROM scm_special_rebate ssr
LEFT JOIN scm_specialrebatedistributedetail ssd
ON ssd.`specialRebateSid` = ssr.`sid`
</select>
</mapper>

8
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatedistributedetail/ScmSpecialrebatedistributedetailService.java

@ -107,4 +107,12 @@ public class ScmSpecialrebatedistributedetailService extends MybatisBaseService<
BeanUtil.copyProperties(entity, vo);
return vo;
}
public void delByMainSid(String dtoSid) {
baseMapper.delByMainSid(dtoSid);
}
public List<ScmSpecialrebatedistributedetailDetailsVo> fetchByMainSid(String sid) {
return baseMapper.fetchByMainSid(sid);
}
}

7
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsMapper.java

@ -29,6 +29,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -62,4 +63,10 @@ public interface ScmSpecialrebateVehsMapper extends BaseMapper<ScmSpecialrebateV
@Select("select * from scm_specialrebate_vehs")
List<ScmSpecialrebateVehsVo> selectListVo();
@Select("select count(*) from scm_specialrebate_vehs where specialRebateSid = #{sid}")
int getDisVehCount(String sid);
@Delete("delete from scm_specialrebate_vehs where specialRebateSid = #{specialRebateSid}")
void delBySpecialRebateSid(String specialRebateSid);
}

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsRest.java

@ -75,9 +75,7 @@ public class ScmSpecialrebateVehsRest implements ScmSpecialrebateVehsFeign {
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody ScmSpecialrebateVehsDto dto){
ResultBean rb = ResultBean.fireFail();
scmSpecialrebateVehsService.saveOrUpdateDto(dto);
return rb.success();
return scmSpecialrebateVehsService.saveOrUpdateDto(dto);
}
@Override

33
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatevehs/ScmSpecialrebateVehsService.java

@ -28,18 +28,13 @@ package com.yxt.anrui.scm.biz.scmspecialrebatevehs;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.*;
import org.apache.commons.lang3.StringUtils;
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.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehs;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehsQuery;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehsVo;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehsDetailsVo;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehsDto;
import com.yxt.anrui.scm.api.scmspecialrebatevehs.ScmSpecialrebateVehsFeign;
import org.springframework.stereotype.Service;
@ -76,13 +71,21 @@ public class ScmSpecialrebateVehsService extends MybatisBaseService<ScmSpecialre
return p;
}
public void saveOrUpdateDto(ScmSpecialrebateVehsDto dto){
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
public ResultBean saveOrUpdateDto(ScmSpecialrebateVehsDto dto){
ResultBean rb = ResultBean.fireFail();
List<String> specialRebateSids = dto.getSpecialRebateSids();
List<ScmSpecialrebateVehsVehSidAndVinNoDto> scmSpecialrebateVehsVehSidAndVinNos = dto.getScmSpecialrebateVehsVehSidAndVinNos();
for (String specialRebateSid : specialRebateSids) {
baseMapper.delBySpecialRebateSid(specialRebateSid);
for (ScmSpecialrebateVehsVehSidAndVinNoDto scmSpecialrebateVehsVehSidAndVinNo : scmSpecialrebateVehsVehSidAndVinNos) {
ScmSpecialrebateVehs scmSpecialrebateVehs = new ScmSpecialrebateVehs();
scmSpecialrebateVehs.setSpecialRebateSid(specialRebateSid);
scmSpecialrebateVehs.setVehSid(scmSpecialrebateVehsVehSidAndVinNo.getVehSid());
scmSpecialrebateVehs.setVinNo(scmSpecialrebateVehsVehSidAndVinNo.getVinNo());
save(scmSpecialrebateVehs);
}
}
return rb.success().setMsg("保存成功");
}
public void insertByDto(ScmSpecialrebateVehsDto dto){
@ -107,4 +110,8 @@ public class ScmSpecialrebateVehsService extends MybatisBaseService<ScmSpecialre
BeanUtil.copyProperties(entity, vo);
return vo;
}
public int getDisVehCount(String sid) {
return baseMapper.getDisVehCount(sid);
}
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleenterlibrary/ScmVehicleEnterlibraryService.java

@ -367,7 +367,7 @@ public class ScmVehicleEnterlibraryService extends MybatisBaseService<ScmVehicle
fBillEntry.setFLot(scmVehicleEnterlibrary.getVinNo());//调出批号
FPAYBILLENTRYs.add(fBillEntry);
stkTransferDirect.setFBillEntry(FPAYBILLENTRYs);
finKingDeeFeign.draftStkTransferDirect(stkTransferDirect);
ResultBean<String> resultBean = finKingDeeFeign.draftStkTransferDirect(stkTransferDirect);
}
//外采

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java

@ -687,7 +687,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
if (r == 1) {
List<String> carSidListO = baseVehicleTempstateFeign.selectAllOne("001").getData();
if (carSidListO.size() > 0) {
if (carSidListO.contains(sid)) {
if (carSidListO.contains(v.getVehSid())) {
return rb.setMsg("车架号为" + v.getVehVin() + "的车辆存放地点变更正在审批中,不允许提交");
}
}
@ -695,7 +695,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
if (!vv.getBusSid().equals(scmVehicleGression.getSid())) {
List<String> carSidListO = baseVehicleTempstateFeign.selectAllOne("001").getData();
if (carSidListO.size() > 0) {
if (carSidListO.contains(sid)) {
if (carSidListO.contains(v.getVehSid())) {
return rb.setMsg("车架号为" + v.getVehVin() + "的车辆存放地点变更正在审批中,不允许提交");
}
}

3
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java

@ -68,4 +68,7 @@ public interface ScmVehRebateMapper extends BaseMapper<ScmVehRebate> {
void updateState(String sid);
ScmVehRebateVo selectByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid);
@Update("update scm_veh_rebate set withholdingDate = CURRENT_TIMESTAMP where sid = #{vehRebateSid}")
void updateWithholdingDateBySid(String vehRebateSid);
}

12
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java

@ -205,12 +205,12 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
IPage<ScmVehRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmVehRebateVo record : pagging.getRecords()) {
String palceGenDate = record.getPalceGenDate();
Date parse = DateUtil.parse(palceGenDate);
String withholdingDate = record.getWithholdingDate();
Date parse = DateUtil.parse(withholdingDate);
int year = DateUtil.year(parse);
int month = DateUtil.month(parse) + 1;
String palceGenDateCopy = year + "年" + month + "月";
record.setPalceGenDateCopy(palceGenDateCopy);
String withholdingDateCopy = year + "年" + month + "月";
record.setWithholdingDateCopy(withholdingDateCopy);
}
PagerVo<ScmVehRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
@ -281,4 +281,8 @@ public class ScmVehRebateService extends MybatisBaseService<ScmVehRebateMapper,
updateBySid(scmVehRebateVehDto,sid);
return rb.success().setMsg("调整成功");
}
public void updateWithholdingDateBySid(String vehRebateSid) {
baseMapper.updateWithholdingDateBySid(vehRebateSid);
}
}

8
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapply/ScmVehrebateCheckapplyService.java

@ -259,12 +259,12 @@ public class ScmVehrebateCheckapplyService extends MybatisBaseService<ScmVehreba
scmLastVehrebateCheckapplydetailDetailsVo.setStayDetermineMoney(scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().substring(0,scmLastVehrebateCheckapplydetailDetailsVo.getStayDetermineMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setAdjustmentMoney(scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().substring(0,scmLastVehrebateCheckapplydetailDetailsVo.getAdjustmentMoney().lastIndexOf(".")));
scmLastVehrebateCheckapplydetailDetailsVo.setMoney(scmLastVehrebateCheckapplydetailDetailsVo.getMoney().substring(0,scmLastVehrebateCheckapplydetailDetailsVo.getMoney().lastIndexOf(".")));
String palceGenDate = scmLastVehrebateCheckapplydetailDetailsVo.getPalceGenDate();
Date parse = DateUtil.parse(palceGenDate);
String withholdingDate = scmLastVehrebateCheckapplydetailDetailsVo.getWithholdingDate();
Date parse = DateUtil.parse(withholdingDate);
int year = DateUtil.year(parse);
int month = DateUtil.month(parse) + 1;
String palceGenDateCopy = year + "年" + month + "月";
scmLastVehrebateCheckapplydetailDetailsVo.setPalceGenDateCopy(palceGenDateCopy);
String withholdingDateCopy = year + "年" + month + "月";
scmLastVehrebateCheckapplydetailDetailsVo.setWithholdingDateCopy(withholdingDateCopy);
}
}
scmVehrebateCheckapplyDetailsVo.setScmLastVehrebateCheckapplydetailDetails(scmLastVehrebateCheckapplydetailDetailsVos);

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatecheckapplydetail/ScmVehrebateCheckapplydetailMapper.xml

@ -41,6 +41,7 @@
<select id="fetchLastDetailsVoBySid"
resultType="com.yxt.anrui.scm.api.scmvehrebatecheckapplydetail.ScmVehrebateCheckapplydetailDetailsVo">
SELECT svr.palceGenDate,
svr.withholdingDate,
SUM(svr.`estimateRebate`) withRebate,
COUNT(*) withholdingAmount,
COUNT(*) uploadAmount,

9
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java

@ -39,6 +39,7 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.flow.FlowTaskVo;
import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithDto;
import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWith;
import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDetailsVo;
import com.yxt.anrui.scm.api.scmvehrebatewith.ScmVehRebateWithDto;
@ -274,6 +275,14 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.SCMVEHREBATEWITHAPPLY.getProDefId());
//获取单车返利sid
List<ScmVehRebateWithDto> scmVehRebateWiths = dto.getScmVehRebateWiths();
for (ScmVehRebateWithDto scmVehRebateWith : scmVehRebateWiths) {
List<String> vehRebateSids = scmVehRebateWith.getVehRebateSids();
for (String vehRebateSid : vehRebateSids) {
scmVehRebateService.updateWithholdingDateBySid(vehRebateSid);
}
}
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();

11420
anrui-scm/anrui-scm-ui/yarn.lock

File diff suppressed because it is too large

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/CrmCustomerFileDto.java

@ -4,7 +4,6 @@ import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
@ -16,7 +15,7 @@ public class CrmCustomerFileDto implements Dto {
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("单台价格")
/* @ApiModelProperty("单台价格")
private BigDecimal price;
@ApiModelProperty("数量")
@ -32,7 +31,7 @@ public class CrmCustomerFileDto implements Dto {
private String contractId;
@ApiModelProperty("合同价格")
private String contractPrice;
private String contractPrice;*/
@ApiModelProperty("新车买卖合同")
private List<String> contractImages;
@ -43,8 +42,8 @@ public class CrmCustomerFileDto implements Dto {
@ApiModelProperty("身份证图片")
private List<String> idCardImages;
@ApiModelProperty("客户类型")
private String customerKey;
/* @ApiModelProperty("客户类型")
private String customerKey;*/
@ApiModelProperty("任务id")
private String taskId;
@ -58,8 +57,8 @@ public class CrmCustomerFileDto implements Dto {
@ApiModelProperty("是否是档案库里的身份证")
private boolean idCardArchives;
@ApiModelProperty("客户sid")
private String customerSid;
/*@ApiModelProperty("客户sid")
private String customerSid;*/
@ApiModelProperty("合同附件")
private String appdixUrl;

1
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/model/ModelDto.java

@ -34,6 +34,7 @@ public class ModelDto implements Dto {
@ApiModelProperty(value = "销售指导价")
@JsonProperty(value = "price")
@NotBlank(message = "参数错误:销售指导价不能为空")
private String guildPrice;

Loading…
Cancel
Save