Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 3 years ago
parent
commit
8b6ed7ec5d
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java
  3. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java
  4. 12
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  5. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractMapper.java
  6. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java
  7. 13
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  8. 14
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AdCarListDto.java
  9. 11
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceDto.java
  10. 17
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceInfoVo.java
  11. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoicePageQuery.java
  12. 57
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoicePageVo.java
  13. 22
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceVinDto.java
  14. 26
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapply.java
  15. 50
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyFeign.java
  16. 43
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyFeignFallback.java
  17. 20
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppAdvanceInvoiceQuery.java
  18. 42
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppAdvanceInvoiceTaskQuery.java
  19. 35
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppCompleteAdvanceInvoiceDto.java
  20. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppSubmitAdvanceInvoiceDto.java
  21. 19
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/GetNodeQuery.java
  22. 21
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/GetNodeVo.java
  23. 5
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java
  24. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java
  25. 11
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  26. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java
  27. 17
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/contract/AppRovalContractPageQuery.java
  28. 30
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/contract/AppRovalContractPageVo.java
  29. 5
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyMapper.java
  30. 21
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyMapper.xml
  31. 50
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyRest.java
  32. 468
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyService.java
  33. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java
  34. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  35. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busginvoiceapplyvehicle/BusGinvoiceapplyVehicleMapper.java
  36. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busginvoiceapplyvehicle/BusGinvoiceapplyVehicleRest.java
  37. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java
  38. 24
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  39. 16
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  40. 32
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  41. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeign.java
  42. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/FinKingDeeFeignFallBack.java
  43. 5
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java
  44. 8
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignRest.java
  45. 166
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  46. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerCastToKingDeeBillFields.java
  47. 208
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java
  48. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_data.json
  49. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/data_model.json
  50. 225
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdmaterial/BdMaterialService.java
  51. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AddAdvanceInvoiceDto.java
  52. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java
  53. 40
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java
  54. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageQuery.java
  55. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java
  56. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceVinDto.java
  57. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java
  58. 42
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java
  59. 15
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppCarListDto.java
  60. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/AdvanceInvoiceQuery.java
  61. 42
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/AdvanceInvoiceTaskQuery.java
  62. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java
  63. 18
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/SubmitAdvanceInvoiceDto.java
  64. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/AppRovalFeign.java
  65. 29
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/AppRovalFeignFallback.java
  66. 17
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/RovalContractPageQuery.java
  67. 31
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/RovalContractPageVo.java
  68. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java
  69. 45
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java
  70. 154
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java
  71. 65
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/approval/AppRovalRest.java
  72. 70
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/approval/AppRovalService.java

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeign.java

@ -195,4 +195,8 @@ public interface CommonContractFeign {
@GetMapping(value = "/getContractByBusSid/{sid}")
ResultBean<CommonContract> getContractByBusSid(@PathVariable("sid") String sid);
@ApiOperation(value = "根据销售订单sid获取合同")
@GetMapping(value = "/getContractBySalesOrderSid/{busSid}")
ResultBean<CommonContractVo> getContractBySalesOrderSid(@PathVariable("busSid") String busSid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractFeignFallback.java

@ -208,4 +208,9 @@ public class CommonContractFeignFallback implements CommonContractFeign {
public ResultBean<CommonContract> getContractByBusSid(String sid) {
return null;
}
@Override
public ResultBean<CommonContractVo> getContractBySalesOrderSid(String busSid) {
return null;
}
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commoncontract/CommonContractVo.java

@ -60,6 +60,8 @@ public class CommonContractVo implements Vo {
private String appdixUrl;
@ApiModelProperty("现场签署图片附件")
private String sceneSignUrl;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("节点状态")
private String nodeState;
@ApiModelProperty("附件文件")

12
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -15,6 +15,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.HanZiConverterPinYin;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -95,7 +96,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
baseVehicleService.updateById(baseVehicle);
////ToDo:推送财务中介单位、推送金蝶客户、推送金蝶出库单
try {
//推送财务供应商
//推送财务客户信息
BdCustomer bdCustomer = createBdCustomer(baseVehicle, dto);
ResultBean resultBeanCustomer = finKingDeeFeign.draftBdCustomer(bdCustomer);
//推送财务中介单位
@ -112,7 +113,9 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
private BdCustomer createBdCustomer(BaseVehicle baseVehicle, BaseVehicleOutDto dto) {
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(dto.getCustomerNo());
String vinNo = baseVehicle.getVinNo();
//客户编码=简拼+手机号码
bdCustomer.setFNumber(HanZiConverterPinYin.getPinYinFirst(dto.getCustomerName())+vinNo.substring(vinNo.length()-8));
ResultBean<SysOrganizationVo> resultBean = sysOrganizationFeign.fetchBySid(baseVehicle.getCreateOrgSid());
if (resultBean.getSuccess()) {
SysOrganizationVo vo = resultBean.getData();
@ -120,7 +123,10 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
bdCustomer.setTOrgIds(vo.getOrgCode());
}
}
bdCustomer.setFName(dto.getCustomerName());
//客户名称=客户名称+手机号
bdCustomer.setFName(dto.getCustomerName()+vinNo);
//客户简称=合同编号
bdCustomer.setFShortName(dto.getConcatNo());
return bdCustomer;
}

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

@ -69,7 +69,7 @@ public interface CommonContractMapper extends BaseMapper<CommonContract> {
CommonContractBuscenterVo selectByBusSid(String busSid);
IPage<AppCommonContractPageVo> getContractList(IPage<CommonContract> page, @Param(Constants.WRAPPER) QueryWrapper<CommonContract> qw,@Param("names")String names);
IPage<AppCommonContractPageVo> getContractList(IPage<CommonContract> page, @Param(Constants.WRAPPER) QueryWrapper<CommonContract> qw, @Param("names") String names);
/**
* 移动端-初始化合同审核
@ -88,4 +88,7 @@ public interface CommonContractMapper extends BaseMapper<CommonContract> {
void updateBySidAndState(@Param("businessSid") String businessSid, @Param("state") String state);
CommonContract getContractByBusSid(String sid);
@Select("select * from common_contract where busSid = #{busSid}")
CommonContractVo getContractBySalesOrderSid(@Param("busSid") String busSid);
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractRest.java

@ -571,4 +571,9 @@ public class CommonContractRest implements CommonContractFeign {
public ResultBean<CommonContract> getContractByBusSid(String sid) {
return commonContractService.getContractByBusSid(sid);
}
@Override
public ResultBean<CommonContractVo> getContractBySalesOrderSid(String busSid) {
return commonContractService.getContractBySalesOrderSid(busSid);
}
}

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

@ -1321,7 +1321,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
map.put("depositTotal", depositTotal);
map.put("address", address);
//生成合同编号
String contractNo = getApplyCode(dto.getUserSid(),appOrderModelInfoVo.getModelSid());
String contractNo = getApplyCode(dto.getUserSid(), appOrderModelInfoVo.getModelSid());
map.put("contractNo", contractNo);
String url = "";
try {
@ -1459,7 +1459,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
return rb.success().setData(list);
}
public String getApplyCode(String userSid,String modelSid) {
public String getApplyCode(String userSid, String modelSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
@ -1468,7 +1468,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//根据车型sid查询品牌简称
String brandCode = baseVehicleBrandService.selectShortName(modelSid);
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
String bill = brandCode+orgCode+date;
String bill = brandCode + orgCode + date;
/* BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.XSDD.getBillType());
@ -1665,4 +1665,11 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}
return rb.success().setData(commonContract);
}
public ResultBean<CommonContractVo> getContractBySalesOrderSid(String busSid) {
ResultBean<CommonContractVo> rb = ResultBean.fireFail();
CommonContractVo commonContractVo = baseMapper.getContractBySalesOrderSid(busSid);
return rb.success().setData(commonContractVo);
}
}

14
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AdCarListDto.java

@ -0,0 +1,14 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AdCarListDto implements Dto {
private static final long serialVersionUID = -1495695891564098295L;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("成交价")
private String price;
}

11
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceDto.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -14,14 +15,14 @@ public class AppAdvanceInvoiceDto implements Dto {
private String userSid;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同id")
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户")
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("车辆列表")
private List<AdCarListVo> carList;
private List<AdCarListDto> carList;
@ApiModelProperty("欠款金额")
private String arrearsMoney;
@ApiModelProperty("车型")
@ -38,12 +39,12 @@ public class AppAdvanceInvoiceDto implements Dto {
private String returnedMoneyDate;
@ApiModelProperty("车辆登记合同")
private List<String> registerFile;
@ApiModelProperty("提前开票原因 0手写 1选择")
@ApiModelProperty("提前开票原因 选择value")
private String advGinReasonValue;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String advGinReasonKey;
@ApiModelProperty("选择原因")
private String reasonChoose;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String advGinReasonType;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")

17
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceInfoVo.java

@ -4,6 +4,7 @@ import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ -20,16 +21,18 @@ public class AppAdvanceInvoiceInfoVo implements Vo {
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("车辆列表")
private List<AdCarListVo> carList;
@ApiModelProperty("选择车辆列表")
private List<AdCarListVo> carList = new ArrayList<>();
@ApiModelProperty("所有车辆列表")
private List<AdCarListVo> vinList = new ArrayList<>();
@ApiModelProperty("欠款金额")
private String arrearsMoney;
@ApiModelProperty("车型")
private String carModel;
@ApiModelProperty("开票信息确认书")
private List<String> confirmFile;
private List<String> confirmFile = new ArrayList<>();
@ApiModelProperty("客户开票申请书")
private List<String> applyFile;
private List<String> applyFile = new ArrayList<>();
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("手写原因")
@ -37,13 +40,13 @@ public class AppAdvanceInvoiceInfoVo implements Vo {
@ApiModelProperty("承诺回款日期")
private String returnedMoneyDate;
@ApiModelProperty("车辆登记合同")
private List<String> registerFile;
private List<String> registerFile = new ArrayList<>();
@ApiModelProperty("提前开票原因 0手写 1选择")
private String advGinReasonType;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String advGinReasonValue;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String advGinReasonKey;
@ApiModelProperty("选择原因")
private String reasonChoose;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceQuery.java → anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoicePageQuery.java

@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppAdvanceInvoiceQuery implements Query {
public class AppAdvanceInvoicePageQuery implements Query {
private static final long serialVersionUID = 7668511398241906995L;
@ApiModelProperty("用户sid")

57
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoicePageVo.java

@ -1,6 +1,6 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -11,37 +11,72 @@ public class AppAdvanceInvoicePageVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("合同状态")
private String nodeState;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("欠款金额")
private String arrearsMoney;
@ApiModelProperty("承诺汇款日期")
private String returnedMoneyDate;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("数量")
private String num;
@ApiModelProperty("原因")
private String reason;
@ApiModelProperty("选择 手写 key 0 1")
private String advGinReasonType;
@ApiModelProperty("选择value")
private String advGinReasonValue;
@ApiModelProperty("选择key")
private String advGinReasonKey;
@ApiModelProperty("手写")
private String otherReasons;
@ApiModelProperty("创建日期")
private String applyDate;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("是否显示办理按钮")
private Boolean showUpdateBtn;
@ApiModelProperty("是否显示删除按钮")
private Boolean showDeleteBtn;
// @ApiModelProperty("sid")
// private String sid;
//
// @ApiModelProperty("合同状态")
// private String nodeState;
//
// @ApiModelProperty("合同编号")
// private String contractNo;
//
// @ApiModelProperty("欠款金额")
// private String arrearsMoney;
//
// @ApiModelProperty("承诺汇款日期")
// private String returnedMoneyDate;
//
// @ApiModelProperty("申请人")
// private String applyName;
//
// @ApiModelProperty("数量")
// private String num;
//
// @ApiModelProperty("原因")
// private String otherReasons;
//
// @ApiModelProperty("创建日期")
// private String applyDate;
//
// @ApiModelProperty("客户名称")
// private String customerName;
//
// @ApiModelProperty("是否显示办理按钮")
// private Boolean showUpdateBtn;
//
// @ApiModelProperty("是否显示删除按钮")
// private Boolean showDeleteBtn;
}

22
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/AppAdvanceInvoiceVinDto.java

@ -0,0 +1,22 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AppAdvanceInvoiceVinDto implements Dto {
private static final long serialVersionUID = 553960206426394602L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("车架号集合")
private List<String> vinList;
@ApiModelProperty("合同sid")
private String contractSid;
}

26
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapply.java

@ -71,8 +71,26 @@ public class BusAdvanceGinvoiceapply extends BaseEntity {
private String advGinReasonKey; // 提前开票原因key
@ApiModelProperty("提前开票原因value")
private String advGinReasonValue; // 提前开票原因value
@ApiModelProperty("其他原因")
private String otherReasons; // 其他原因
@ApiModelProperty("流程状态")
private String nodeState; // 其他原因
@ApiModelProperty("选择 手写 key 0 1")
private String advGinReasonType;
@ApiModelProperty("手写原因")
private String otherReasons;
@ApiModelProperty(value = "分公司的sid")
private String useOrgSid;
@ApiModelProperty(value = "分公司的sid")
private String useOrgName;
@ApiModelProperty(value = "用户sid")
private String createBySid;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "节点id")
private String nodeId;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
}

50
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyFeign.java

@ -25,7 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.yxt.anrui.buscenter.api.busmaindeposit.BusDepositDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -87,7 +87,7 @@ public interface BusAdvanceGinvoiceapplyFeign {
/*************************************************PC提前开票审批流程***************************************************/
@ApiOperation("提交提前开票审批流程")
@PostMapping("/submitAdvanceGinvoiceaapply")
@PostMapping("/submitAdvanceGinvoiceaapply ")
public ResultBean submitAdvanceGinvoiceaapply(@RequestBody @Valid BusAdvanceGinvoiceapplyDto dto);
/*************************************************APP提前开票接口***************************************************/
@ -96,21 +96,63 @@ public interface BusAdvanceGinvoiceapplyFeign {
@ApiOperation("手机端-获取提前开票列表")
@PostMapping("/getAdvanceInvoiceList")
@ResponseBody
ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(@RequestBody PagerQuery<AppAdvanceInvoiceQuery> pagerQuery);
ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(@RequestBody PagerQuery<AppAdvanceInvoicePageQuery> pagerQuery);
@ApiOperation("手机端-初始化提前开票申请")
@GetMapping("/initAdvanceInvoice/{contractSid}")
@ResponseBody
public ResultBean<AppAdvanceInvoiceInfoVo> initAdvanceInvoice(@PathVariable("contractSid") String contractSid);
@ApiOperation("移动端-新增提前开票申请")
@PostMapping("/addAdvanceInvoice")
@ResponseBody
public ResultBean addAdvanceInvoice(@Valid @RequestBody AppAdvanceInvoiceVinDto dto);
@ApiOperation("移动端-保存提前开票申请")
@PostMapping("/saveAdvanceInvoice")
@ResponseBody
public ResultBean saveAdvanceInvoice(@Valid @RequestBody AppAdvanceInvoiceDto dto);
@ApiOperation("手机端-删除提前开票")
@GetMapping("/deleteAdvanceInvoice/{contractSid}")
@DeleteMapping("/deleteAdvanceInvoice/{contractSid}")
@ResponseBody
public ResultBean deleteAdvanceInvoice(@PathVariable("contractSid") String contractSid);
/*************************************************APP提前开票流程接口***************************************************/
@ApiOperation("提交流程")
@PostMapping("/submitAdvanceInvoiceInfo")
@ResponseBody
ResultBean submitAdvanceInvoiceInfo(@RequestBody AppSubmitAdvanceInvoiceDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
@ResponseBody
public ResultBean complete(@Valid @RequestBody AppCompleteAdvanceInvoiceDto query);
@ApiOperation(value = "获取上一个环节")
@PostMapping(value = "/getPreviousNodesForReject")
@ResponseBody
ResultBean<List<GetNodeVo>> getPreviousNodesForReject(@Valid @RequestBody GetNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@PostMapping(value = "/getNextNodesForSubmit")
@ResponseBody
ResultBean<List<GetNodeVo>> getNextNodesForSubmit(@Valid @RequestBody GetNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
@ResponseBody
public ResultBean taskReject(@Valid @RequestBody AppAdvanceInvoiceTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
@ResponseBody
public ResultBean revokeProcess(@Valid @RequestBody AppAdvanceInvoiceTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
@ResponseBody
public ResultBean breakProcess(@Valid @RequestBody AppAdvanceInvoiceTaskQuery query);
}

43
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -81,7 +82,7 @@ public class BusAdvanceGinvoiceapplyFeignFallback implements BusAdvanceGinvoicea
}
@Override
public ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoiceQuery> pagerQuery) {
public ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoicePageQuery> pagerQuery) {
return null;
}
@ -90,6 +91,11 @@ public class BusAdvanceGinvoiceapplyFeignFallback implements BusAdvanceGinvoicea
return null;
}
@Override
public ResultBean addAdvanceInvoice(AppAdvanceInvoiceVinDto dto) {
return null;
}
@Override
public ResultBean saveAdvanceInvoice(AppAdvanceInvoiceDto dto) {
return null;
@ -100,4 +106,39 @@ public class BusAdvanceGinvoiceapplyFeignFallback implements BusAdvanceGinvoicea
return null;
}
@Override
public ResultBean submitAdvanceInvoiceInfo(AppSubmitAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean complete(AppCompleteAdvanceInvoiceDto query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return null;
}
@Override
public ResultBean taskReject(AppAdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(AppAdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(AppAdvanceInvoiceTaskQuery query) {
return null;
}
}

20
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppAdvanceInvoiceQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class AppAdvanceInvoiceQuery implements Query {
private static final long serialVersionUID = -5150532363407828594L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

42
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppAdvanceInvoiceTaskQuery.java

@ -0,0 +1,42 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class AppAdvanceInvoiceTaskQuery implements Query {
private static final long serialVersionUID = 3308561390435471019L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
private String instanceId;
// @ApiModelProperty("节点")
// private String targetKey;
}

35
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppCompleteAdvanceInvoiceDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class AppCompleteAdvanceInvoiceDto implements Dto {
private static final long serialVersionUID = 3647601312967057188L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
@NotBlank(message = "参数错误:orgSidPath")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
// @ApiModelProperty(value = "暂不确定是不是需要前端传的:还是有分支的时候传??")
// private Map<String, Object> formVariables;
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/AppSubmitAdvanceInvoiceDto.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppSubmitAdvanceInvoiceDto extends AppAdvanceInvoiceDto {
private static final long serialVersionUID = 4891793865442240715L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

19
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/GetNodeQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class GetNodeQuery implements Query {
private static final long serialVersionUID = -8926127081586674686L;
@ApiModelProperty(value = "环节定义id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
// @ApiModelProperty(value = "分支字段及业务字段")
// private Map<String, Object> formVariables;
}

21
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busadvanceginvoiceapply/flowable/GetNodeVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class GetNodeVo implements Vo {
private static final long serialVersionUID = -3568899210334967291L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

5
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeign.java

@ -1,10 +1,5 @@
package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceQuery;
import com.yxt.anrui.buscenter.api.busordervehicle.ExpectInvoicevehicleDto;
import com.yxt.anrui.buscenter.api.busordervehicle.ExpectInvoicevehicleQuery;
import com.yxt.anrui.buscenter.api.busordervehicle.ExpectInvoicevehicleVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyFeignFallback.java

@ -1,7 +1,5 @@
package com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;

11
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -31,6 +31,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinVo;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -214,4 +216,13 @@ public interface BusSalesOrderFeign {
@PostMapping("/saveSaleOrderInputVin")
@ResponseBody
ResultBean saveSaleOrderInputVin(@RequestBody VinDto dto);
@ApiOperation("移动端-提前开票查询合同列表")
@PostMapping("/getApprovalContractList")
@ResponseBody
public ResultBean<PagerVo<AppRovalContractPageVo>> getApprovalContractList(@RequestBody PagerQuery<AppRovalContractPageQuery> pagerQuery);
}

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeignFallback.java

@ -31,6 +31,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinVo;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -191,4 +193,9 @@ public class BusSalesOrderFeignFallback implements BusSalesOrderFeign {
public ResultBean saveSaleOrderInputVin(VinDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<AppRovalContractPageVo>> getApprovalContractList(PagerQuery<AppRovalContractPageQuery> pagerQuery) {
return null;
}
}

17
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/contract/AppRovalContractPageQuery.java

@ -0,0 +1,17 @@
package com.yxt.anrui.buscenter.api.bussalesorder.contract;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppRovalContractPageQuery implements Query {
private static final long serialVersionUID = -1449862667407636197L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("车架号 客户名称 合同编号")
private String name;
}

30
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/contract/AppRovalContractPageVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.buscenter.api.bussalesorder.contract;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppRovalContractPageVo implements Vo {
private static final long serialVersionUID = 907545793790278229L;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")
private String contractId;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("销售订单sid")
private String busSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车型名称")
private String modelName;
}

5
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyMapper.java

@ -36,6 +36,7 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
/**
* Project: anrui_buscenter(销售业务) <br/>
@ -65,5 +66,7 @@ public interface BusAdvanceGinvoiceapplyMapper extends BaseMapper<BusAdvanceGinv
BusAdvanceGinvoiceapplyDetailsVo fetchAllBySid(String sid);
IPage<AppAdvanceInvoicePageVo> getAdvanceInvoiceList(IPage<AppAdvanceInvoiceQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppAdvanceInvoiceQuery> qw, @Param("name") String name);
IPage<AppAdvanceInvoicePageVo> getAdvanceInvoiceList(IPage<AppAdvanceInvoicePageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppAdvanceInvoicePageQuery> qw, @Param("name") String name);
int updateFlowFiled(Map<String, Object> map);
}

21
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyMapper.xml

@ -45,11 +45,16 @@
resultType="com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo">
SELECT sid,
if(length(nodeState) > 0, nodeState, '待提交') as nodeState,
if(length(nodeState) > 0, false, true ) as showUpdateBtn,
if(length(nodeState) > 0, false, true ) as showDeleteBtn,
contractNo,
arrearsMoney,
returnedMoneyDate,
applyName,
num,
advGinReasonType,
advGinReasonValue,
advGinReasonKey,
otherReasons,
applyDate,
customerName
@ -63,4 +68,20 @@
</if>
</where>
</select>
<update id="updateFlowFiled">
UPDATE bus_advance_ginvoiceapply
SET nodeState=#{nodeState}
, nodeId=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
</mapper>

50
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyRest.java

@ -25,9 +25,12 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.busadvanceginvoiceapply;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.AppDeliveredApplyPageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -102,7 +105,7 @@ public class BusAdvanceGinvoiceapplyRest implements BusAdvanceGinvoiceapplyFeign
}
@Override
public ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoiceQuery> pagerQuery) {
public ResultBean<PagerVo<AppAdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoicePageQuery> pagerQuery) {
ResultBean rb = ResultBean.fireFail();
IPage<AppAdvanceInvoicePageVo> iPage = busAdvanceGinvoiceapplyService.getAdvanceInvoiceList(pagerQuery);
return rb.success().setData(iPage);
@ -113,6 +116,11 @@ public class BusAdvanceGinvoiceapplyRest implements BusAdvanceGinvoiceapplyFeign
return busAdvanceGinvoiceapplyService.initAdvanceInvoice(contractSid);
}
@Override
public ResultBean addAdvanceInvoice(AppAdvanceInvoiceVinDto dto) {
return busAdvanceGinvoiceapplyService.addAdvanceInvoice(dto);
}
@Override
public ResultBean saveAdvanceInvoice(AppAdvanceInvoiceDto dto) {
return busAdvanceGinvoiceapplyService.saveAdvanceInvoice(dto);
@ -122,4 +130,42 @@ public class BusAdvanceGinvoiceapplyRest implements BusAdvanceGinvoiceapplyFeign
public ResultBean deleteAdvanceInvoice(String contractSid) {
return busAdvanceGinvoiceapplyService.deleteAdvanceInvoice(contractSid);
}
@Override
public ResultBean submitAdvanceInvoiceInfo(AppSubmitAdvanceInvoiceDto dto) {
return busAdvanceGinvoiceapplyService.submitCarTransfer(dto);
}
@Override
public ResultBean complete(AppCompleteAdvanceInvoiceDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.BUSCENTERADVANCEGINVOICEAPPLY.getProDefId());
return busAdvanceGinvoiceapplyService.complete(bv);
}
@Override
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
return busAdvanceGinvoiceapplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
return busAdvanceGinvoiceapplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(AppAdvanceInvoiceTaskQuery query) {
return busAdvanceGinvoiceapplyService.taskReject(query);
}
@Override
public ResultBean revokeProcess(AppAdvanceInvoiceTaskQuery query) {
return busAdvanceGinvoiceapplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(AppAdvanceInvoiceTaskQuery query) {
return busAdvanceGinvoiceapplyService.breakProcess(query);
}
}

468
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyService.java

@ -26,24 +26,42 @@
package com.yxt.anrui.buscenter.biz.busadvanceginvoiceapply;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.yxt.anrui.base.api.basevehicle.*;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContractVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.AppDeliveredApplyPageQuery;
import com.yxt.anrui.buscenter.api.busdeliveredapply.AppDeliveredApplyPageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppAdvanceInvoiceTaskQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppSubmitAdvanceInvoiceDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.GetNodeQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.GetNodeVo;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicle;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleDto;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.biz.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleService;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.buscenter.biz.flow.FlowableService;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkDto;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkTypeEnum;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
@ -53,15 +71,16 @@ 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.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.nio.pool.NIOConnFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* Project: anrui_buscenter(销售业务) <br/>
@ -93,6 +112,22 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private BaseVehicleFeign baseVehicleFeign;
@Autowired
private BusSalesOrderService busSalesOrderService;
@Autowired
private CommonContractFeign commonContractFeign;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
public PagerVo<BusAdvanceGinvoiceapply> listPage(PagerQuery<BusAdvanceGinvoiceapplyQuery> pq) {
BusAdvanceGinvoiceapplyQuery query = pq.getParams();
@ -339,14 +374,22 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
sysFormLinkFeign.save(sysFormLinkDto);
}
public IPage<AppAdvanceInvoicePageVo> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoiceQuery> pagerQuery) {
AppAdvanceInvoiceQuery params = pagerQuery.getParams();
QueryWrapper<AppAdvanceInvoiceQuery> qw = new QueryWrapper<>();
public IPage<AppAdvanceInvoicePageVo> getAdvanceInvoiceList(PagerQuery<AppAdvanceInvoicePageQuery> pagerQuery) {
AppAdvanceInvoicePageQuery params = pagerQuery.getParams();
QueryWrapper<AppAdvanceInvoicePageQuery> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(params.getUserSid())) {
qw.eq("createBySid", params.getUserSid());
}
IPage<AppAdvanceInvoiceQuery> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppAdvanceInvoicePageQuery> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppAdvanceInvoicePageVo> iPage = baseMapper.getAdvanceInvoiceList(page, qw, params.getName());
for (AppAdvanceInvoicePageVo record : iPage.getRecords()) {
if ("1".equals(record.getAdvGinReasonType())) {
record.setReason(record.getAdvGinReasonValue());
}
if ("0".equals(record.getAdvGinReasonType())) {
record.setReason(record.getOtherReasons());
}
}
return iPage;
}
@ -355,15 +398,35 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
AppAdvanceInvoiceInfoVo vo = new AppAdvanceInvoiceInfoVo();
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(contractSid);
BeanUtil.copyProperties(busAdvanceGinvoiceapply, vo, "sid");
vo.setUserSid(busAdvanceGinvoiceapply.getCreateBySid());
vo.setContractSid(contractSid);
List<AdCarListVo> carList = new ArrayList<>();
List<BusGinvoiceapplyVehicleDetailsVo> vinList = busGinvoiceapplyVehicleService.fetchByAdvGinSid(contractSid);
for (BusGinvoiceapplyVehicleDetailsVo vehicleDetailsVo : vinList) {
List<AdCarListVo> vinList = new ArrayList<>();
int arrearsMoney = 0;
List<BusGinvoiceapplyVehicleDetailsVo> carLists = busGinvoiceapplyVehicleService.fetchByAdvGinSid(contractSid);
for (BusGinvoiceapplyVehicleDetailsVo vehicleDetailsVo : carLists) {
AdCarListVo adCarListVo = new AdCarListVo();
adCarListVo.setPrice(vehicleDetailsVo.getDealMoney());
adCarListVo.setVin(vehicleDetailsVo.getVinNo());
carList.add(adCarListVo);
int dealMoney = Integer.parseInt(vehicleDetailsVo.getDealMoney());
arrearsMoney = dealMoney + arrearsMoney;
}
vo.setCarList(carList);
vo.setArrearsMoney(String.valueOf(arrearsMoney));
List<AppRovalContractPageVo> vinLists = busSalesOrderService.selectByContractNo(busAdvanceGinvoiceapply.getContractNo());
if (vinLists.size() > 0) {
for (AppRovalContractPageVo appRovalContractPageVo : vinLists) {
AdCarListVo adCarListVo = new AdCarListVo();
adCarListVo.setVin(appRovalContractPageVo.getVin());
CommonContractVo commonContractVo = commonContractFeign.getContractBySalesOrderSid(appRovalContractPageVo.getBusSid()).getData();
if (commonContractVo != null) {
adCarListVo.setPrice(commonContractVo.getPrice());
}
vinList.add(adCarListVo);
}
}
vo.setVinList(vinList);
String urlPrefix = fileUploadComponent.getUrlPrefix();
List<String> confirmFile = new ArrayList<>();
List<CommonAppendixVo> confirmFiles = commonAppendixFeign.getAppAppendixList(contractSid, CommonAttachTypeEnum.ADVANCE_KPXXQRS.getAttachType()).getData();
@ -386,39 +449,76 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
return rb.success().setData(vo);
}
public ResultBean saveAdvanceInvoice(AppAdvanceInvoiceDto dto) {
public ResultBean addAdvanceInvoice(AppAdvanceInvoiceVinDto dto) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
if (StringUtils.isBlank(dto.getContractSid())) {
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = new BusAdvanceGinvoiceapply();
BeanUtil.copyProperties(dto, busAdvanceGinvoiceapply);
save(busAdvanceGinvoiceapply);
List<AdCarListVo> carList = dto.getCarList();
for (AdCarListVo adCarListVo : carList) {
BusGinvoiceapplyVehicle busGinvoiceapplyVehicle = new BusGinvoiceapplyVehicle();
busGinvoiceapplyVehicle.setAdvGinSid(busAdvanceGinvoiceapply.getSid());
busGinvoiceapplyVehicle.setVinNo(adCarListVo.getVin());
busGinvoiceapplyVehicle.setDealMoney(adCarListVo.getPrice());
busGinvoiceapplyVehicleService.save(busGinvoiceapplyVehicle);
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
String price = "";
String modelName = "";
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = new BusAdvanceGinvoiceapply();
busAdvanceGinvoiceapply.setAdvGinReasonType("0");
if (StringUtils.isNotBlank(dto.getContractSid())) {
CommonContractVo commonContractVo = commonContractFeign.fetchBySid(dto.getContractSid()).getData();
if (commonContractVo != null) {
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.fetchSid(commonContractVo.getCustomerSid()).getData();
if (crmCustomerTempVo != null) {
busAdvanceGinvoiceapply.setCustomerName(crmCustomerTempVo.getName());
}
busAdvanceGinvoiceapply.setContractNo(commonContractVo.getContractNo());
price = commonContractVo.getPrice();
modelName = commonContractVo.getModelName();
}
saveFile(dto.getConfirmFile(), dto.getApplyFile(), dto.getRegisterFile(), busAdvanceGinvoiceapply.getSid(), sysUserVo.getStaffSid());
} else {
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(dto.getContractSid());
BeanUtil.copyProperties(dto, busAdvanceGinvoiceapply);
updateById(busAdvanceGinvoiceapply);
busGinvoiceapplyVehicleService.delByAdvGinSid(dto.getContractSid());
List<AdCarListVo> carList = dto.getCarList();
for (AdCarListVo adCarListVo : carList) {
}
busAdvanceGinvoiceapply.setCreateBySid(dto.getUserSid());
busAdvanceGinvoiceapply.setUseOrgSid(useOrgSid);
busAdvanceGinvoiceapply.setApplyName(sysUserVo.getName());
busAdvanceGinvoiceapply.setApplyDate(sf.format(new Date()));
busAdvanceGinvoiceapply.setUseOrgName(sysOrganizationVo.getName());
if (dto.getVinList().size() > 0) {
for (String vin : dto.getVinList()) {
BusGinvoiceapplyVehicle busGinvoiceapplyVehicle = new BusGinvoiceapplyVehicle();
busGinvoiceapplyVehicle.setAdvGinSid(busAdvanceGinvoiceapply.getSid());
busGinvoiceapplyVehicle.setVinNo(adCarListVo.getVin());
busGinvoiceapplyVehicle.setDealMoney(adCarListVo.getPrice());
busGinvoiceapplyVehicle.setVinNo(vin);
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(vin, useOrgSid).getData();
if (baseVehicle != null) {
busGinvoiceapplyVehicle.setVehicleSid(baseVehicle.getSid());
}
busGinvoiceapplyVehicle.setDealMoney(price);
busGinvoiceapplyVehicleService.save(busGinvoiceapplyVehicle);
}
commonAppendixFeign.deleteFiles(dto.getContractSid());
saveFile(dto.getConfirmFile(), dto.getApplyFile(), dto.getRegisterFile(), busAdvanceGinvoiceapply.getSid(), sysUserVo.getStaffSid());
}
return rb.success();
busAdvanceGinvoiceapply.setNum(dto.getVinList().size());
busAdvanceGinvoiceapply.setCarModel(modelName);
save(busAdvanceGinvoiceapply);
return rb.success().setData(busAdvanceGinvoiceapply.getSid());
}
public ResultBean saveAdvanceInvoice(AppAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(dto.getContractSid());
BeanUtil.copyProperties(dto, busAdvanceGinvoiceapply);
updateById(busAdvanceGinvoiceapply);
String sid = dto.getContractSid();
busGinvoiceapplyVehicleService.delByAdvGinSid(sid);
List<AdCarListDto> carList = dto.getCarList();
for (AdCarListDto adCarListDto : carList) {
BusGinvoiceapplyVehicle busGinvoiceapplyVehicle = new BusGinvoiceapplyVehicle();
busGinvoiceapplyVehicle.setAdvGinSid(busAdvanceGinvoiceapply.getSid());
busGinvoiceapplyVehicle.setVinNo(adCarListDto.getVin());
BaseVehicle baseVehicle = baseVehicleFeign.selectByVinNoAndOrgSid(adCarListDto.getVin(), useOrgSid).getData();
if (baseVehicle != null) {
busGinvoiceapplyVehicle.setVehicleSid(baseVehicle.getSid());
}
busGinvoiceapplyVehicle.setDealMoney(adCarListDto.getPrice());
busGinvoiceapplyVehicleService.save(busGinvoiceapplyVehicle);
}
commonAppendixFeign.deleteFiles(dto.getContractSid());
saveFile(dto.getConfirmFile(), dto.getApplyFile(), dto.getRegisterFile(), busAdvanceGinvoiceapply.getSid(), sysUserVo.getStaffSid());
return rb.success().setData(busAdvanceGinvoiceapply.getSid());
}
public void saveFile(List<String> confirmFile, List<String> applyFile, List<String> registerFile, String sid, String staffSid) {
@ -461,4 +561,294 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
busGinvoiceapplyVehicleService.delByAdvGinSid(contractSid);
return rb.success();
}
public ResultBean submitCarTransfer(AppSubmitAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(dto.getContractSid());
int r = submitBusinessData(dto, busAdvanceGinvoiceapply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveAdvanceInvoice(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
appMap.put("contractSid", businessSid);
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.BUSCENTERADVANCEGINVOICEAPPLY.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
busAdvanceGinvoiceapply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("提前开票申请");
messageFlowableQuery.setMsgContent(busAdvanceGinvoiceapply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("提前开票申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
// ToDo:驳回到发起人后再次提交
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(busAdvanceGinvoiceapply.getTaskId());
bv.setTaskDefKey(busAdvanceGinvoiceapply.getNodeId());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(AppSubmitAdvanceInvoiceDto dto, BusAdvanceGinvoiceapply busAdvanceGinvoiceapply) {
int r = 0;
if (StringUtils.isBlank(dto.getContractSid())) {
r = 1;
} else {
if (busAdvanceGinvoiceapply != null) {
String businessTaskId = busAdvanceGinvoiceapply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
/**
* 更新流程相关的状态
*
* @param map
* @return
*/
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(bv.getBusinessSid());
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("contractSid", bv.getBusinessSid());
variables.put("app", appMap);
bv.setFormVariables(variables);
if (bv.getTaskId().equals(busAdvanceGinvoiceapply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if (!"Event_end".equals(ufVo.getTaskDefKey())) {
//极光推送
busAdvanceGinvoiceapply = fetchBySid(bv.getBusinessSid());
ufVo.setProcInsId(busAdvanceGinvoiceapply.getProcInstId());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcInsId(busAdvanceGinvoiceapply.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(bv.getBusinessSid());
messageFlowableQuery.setModuleName("提前开票申请");
messageFlowableQuery.setMsgContent(busAdvanceGinvoiceapply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("提前开票申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<GetNodeVo>> getPreviousNodesForReject(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = new ResultBean<>();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
// Map<String, Object> formVariables = query.getFormVariables();
//判断流程分支
// Map<String, Object> map = IsTrue(formVariables.get("businessSid"));
// bv.setFormVariables(map);
bv.setModelId(ProcDefEnum.BUSCENTERADVANCEGINVOICEAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<GetNodeVo>> getNextNodesForSubmit(GetNodeQuery query) {
ResultBean<List<GetNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
// Map<String, Object> formVariables = query.getFormVariables();
//判断流程分支
// Map<String, Object> map = IsTrue(formVariables.get("businessSid"));
// bv.setFormVariables(map);
bv.setModelId(ProcDefEnum.BUSCENTERADVANCEGINVOICEAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<GetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), GetNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean taskReject(AppAdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("意见不能为空");
}
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(query.getBusinessSid());
if (busAdvanceGinvoiceapply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = busAdvanceGinvoiceapply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("contractSid", query.getBusinessSid());
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
busAdvanceGinvoiceapply = fetchBySid(query.getBusinessSid());
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = busAdvanceGinvoiceapply.getProcInstId();
ufVo.setProcInsId(procId);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(query.getBusinessSid());
messageFlowableQuery.setModuleName("提前开票申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busAdvanceGinvoiceapply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(busAdvanceGinvoiceapply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("提前开票申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(AppAdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
//根据业务sid查询移库申请
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(query.getBusinessSid());
String businessTaskId = busAdvanceGinvoiceapply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg("操作失败!");
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean breakProcess(AppAdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("意见不能为空");
}
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(query.getBusinessSid());
String businessTaskId = busAdvanceGinvoiceapply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyRest.java

@ -1,11 +1,7 @@
package com.yxt.anrui.buscenter.biz.busarrearscarryvehicleapply;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceQuery;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.*;
import com.yxt.anrui.buscenter.api.busmaindeposit.AppBusMainDepositVo;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java

@ -5,8 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixFeign;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceQuery;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.*;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsDto;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicledetails.BusArrearsCarryVehicleDetailsVo;

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busginvoiceapplyvehicle/BusGinvoiceapplyVehicleMapper.java

@ -62,11 +62,11 @@ public interface BusGinvoiceapplyVehicleMapper extends BaseMapper<BusGinvoiceapp
List<BusGinvoiceapplyVehicleVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BusGinvoiceapplyVehicle> qw);
@Select("select * from bus_ginvoiceapply_vehicle")
@Select("select * from bus_advance_ginvoiceapply_vehicle")
List<BusGinvoiceapplyVehicleVo> selectListVo();
@Delete("DELETE FROM bus_ginvoiceapply_vehicle WHERE advGinSid = #{sid}")
Integer delByAdvGinSid(String sid);
@Delete("DELETE FROM bus_advance_ginvoiceapply_vehicle WHERE advGinSid = #{sid}")
Integer delByAdvGinSid(@Param("sid") String sid);
List<BusGinvoiceapplyVehicleDetailsVo> fetchByAdvGinSid(String sid);

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busginvoiceapplyvehicle/BusGinvoiceapplyVehicleRest.java

@ -34,7 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicle;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleQuery;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleVo;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleDto;

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.java

@ -36,8 +36,10 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppBusSalesOrderSubmi
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppBusSalesOrderVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppModelInfoVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import java.util.List;
@ -163,4 +165,8 @@ public interface BusSalesOrderMapper extends BaseMapper<BusSalesOrder> {
List<String> getList(String saleOrderSid);
IPage<AppRovalContractPageVo> getApprovalContractList(IPage<AppRovalContractPageVo> page, @Param(Constants.WRAPPER) QueryWrapper<AppRovalContractPageVo> qw);
List<AppRovalContractPageVo> selectByContractNo(@Param("contractNo") String contractNo);
}

24
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -221,4 +221,28 @@
from bus_sales_vehicle_order
where salesOrderSid = #{saleOrderSid}
</select>
<select id="getApprovalContractList"
resultType="com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo">
SELECT bo.sid as busSid,
bo.customerName as customerName,
bo.mobile as modelName,
bsov.linkNo AS vin
FROM bus_sales_order bo
LEFT JOIN bus_sales_order_vehicle bsov ON bsov.salesOrderSid = bo.sid
<where>
${ew.sqlSegment}
and length( bo.contractNo ) > 1
</where>
</select>
<select id="selectByContractNo"
resultType="com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo">
SELECT bo.sid as busSid,
bo.customerName as customerName,
bo.mobile as modelName,
bsov.linkNo AS vin
FROM bus_sales_order bo
LEFT JOIN bus_sales_order_vehicle bsov ON bsov.salesOrderSid = bo.sid
WHERE bo.contractNo = #{contractNo}
</select>
</mapper>

16
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -26,6 +26,7 @@
package com.yxt.anrui.buscenter.biz.bussalesorder;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppBusSaleOrderInitModelInfoVo;
@ -33,9 +34,13 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppInitModelQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.*;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinVo;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -259,4 +264,15 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public ResultBean saveSaleOrderInputVin(VinDto dto) {
return busSalesOrderService.saveSaleOrderInputVin(dto);
}
@Override
public ResultBean<PagerVo<AppRovalContractPageVo>> getApprovalContractList(PagerQuery<AppRovalContractPageQuery> pagerQuery) {
if (StringUtils.isBlank(pagerQuery.getParams().getUserSid())) {
new ResultBean<>().success().setMsg("用户sid不能为空");
}
PagerVo<AppRovalContractPageVo> page = new PagerVo<>();
IPage<AppRovalContractPageVo> iPage = busSalesOrderService.getApprovalContractList(pagerQuery);
PagerVo<AppRovalContractPageVo> pagerVo = PagerUtil.pageToVo(iPage, page);
return new ResultBean<PagerVo<AppRovalContractPageVo>>().success().setData(pagerVo);
}
}

32
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -45,9 +45,7 @@ import com.yxt.anrui.base.api.busvehicleapplydetail.AppBusVehicleApplyListVo;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailFeign;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderVo;
import com.yxt.anrui.base.api.commoncontract.CommonContract;
import com.yxt.anrui.base.api.commoncontract.CommonContractBuscenterVo;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.api.commoncontract.*;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.enums.VehicleState;
import com.yxt.anrui.base.common.utils.Rule;
@ -62,6 +60,8 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListDto;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinListVo;
import com.yxt.anrui.buscenter.api.bussalesorder.app.vin.VinVo;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.buscenter.api.bussalesorder.flowable.*;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo;
@ -119,6 +119,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
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.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -2640,7 +2641,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (vo != null) {
if (VehicleState.StockEnum.OUT_STOCK.getCode().equals(vo.getVehicleState())) {
vinListVo.setState(true);
}else{
} else {
vinListVo.setState(false);
}
}
@ -2685,4 +2686,27 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return rb.success();
}
public IPage<AppRovalContractPageVo> getApprovalContractList(PagerQuery<AppRovalContractPageQuery> pagerQuery) {
AppRovalContractPageQuery params = pagerQuery.getParams();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(params.getUserSid()).getData();
QueryWrapper<AppRovalContractPageVo> qw = new QueryWrapper<>();
qw.eq("bo.staffSid", sysUserVo.getStaffSid());
IPage<AppRovalContractPageVo> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppRovalContractPageVo> iPage = baseMapper.getApprovalContractList(page, qw);
for (AppRovalContractPageVo record : iPage.getRecords()) {
String busSid = record.getBusSid();
CommonContractVo commonContract = commonContractFeign.getContractBySalesOrderSid(busSid).getData();
if (commonContract != null) {
record.setContractId(commonContract.getContractNo());
record.setContractSid(commonContract.getSid());
}
}
return iPage;
}
public List<AppRovalContractPageVo> selectByContractNo(String contractNo) {
List<AppRovalContractPageVo> list = baseMapper.selectByContractNo(contractNo);
return list;
}
}

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

@ -92,6 +92,10 @@ public interface FinKingDeeFeign {
@PostMapping("/draftBdCustomer")
@ResponseBody
ResultBean<String> draftBdCustomer(@RequestBody @Valid BdCustomer bdCustomer);
@ApiOperation("修改客户信息的接口")
@PostMapping("/saveBdCustomers")
@ResponseBody
ResultBean<String> saveBdCustomers(@RequestBody @Valid List<BdCustomer> bdCustomers);
@ApiOperation("使用number查看数据表单")
@GetMapping("/getKingDataInfoByNumber/{formId}/{number}")
@ResponseBody

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

@ -81,6 +81,11 @@ implements FinKingDeeFeign{
return null;
}
@Override
public ResultBean<String> saveBdCustomers(List<BdCustomer> bdCustomers) {
return null;
}
@Override
public ResultBean<String> getKingDataInfoByNumber(String formId,String number) {
return null;

5
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/kingdee/bdcustomer/BdCustomer.java

@ -29,6 +29,11 @@ public class BdCustomer {
*/
@JsonProperty("FDescription")
public String FDescription="";
/**
* 简称
*/
@JsonProperty("FShortName")
public String FShortName="";
public final static BdCustomer bdCustomer = new BdCustomer();
static {
/* 创建组织:FCreateOrgId (必填项)*/

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

@ -216,6 +216,14 @@ public class FinKingDeeFeignRest implements FinKingDeeFeign {
public ResultBean<String> draftBdCustomer(@RequestBody @Valid BdCustomer bdCustomer) {
return bdCustomerService.draftBdCustomer(bdCustomer);
}
@ApiOperation("修改客户信息的接口")
@PostMapping("/saveBdCustomers")
@ResponseBody
@Override
public ResultBean<String> saveBdCustomers(List<BdCustomer> bdCustomers) {
return bdCustomerService.saveBdCustomers(bdCustomers);
}
@ApiOperation("使用number查看数据表单")
@GetMapping("/getKingDataInfoByNumber/{formId}/{number}")
@ResponseBody

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

@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeCode;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.bdcustomer.BdCustomer;
import com.yxt.anrui.portal.api.sysmapping.SysMappingFeign;
import com.yxt.anrui.portal.api.sysmapping.SysMappingInfoQueryBatch;
import com.yxt.common.base.utils.StringUtils;
@ -166,10 +168,10 @@ public class FinKingDeeService {
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
public String getAllocate(String data,String tOrgIds,String formId) {
return getAllocateTempJson(formId,getParam(data),tOrgIds);//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
return getAllocateTempJson(formId,draftResultGetId(data),tOrgIds);//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
}
public String getAuditKD(String data,String formId) {
return getAuditKDTempJson(formId,getParam(data));//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
return getAuditKDTempJson(formId,draftResultGetId(data));//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
public String getUnAuditKD(String s, String id) {
@ -177,9 +179,9 @@ public class FinKingDeeService {
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+"\\\"}\"}";
return getSubmitKDTempJson(formId,draftResultGetId(data));//"{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
private String getParam(String data) {
public String draftResultGetId(String data) {
JSONObject jsonObject = JSONObject.parseObject(data);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
@ -293,38 +295,174 @@ public class FinKingDeeService {
}
return new ResultBean<String>().fail().setMsg("查询异常");
}
/**
* 审核
* @param data
* 反审核
* @param DocumentStatus
* @param id
* @return
* @throws Exception
*/
public ResultBean<String> audit( String data,String formId) throws Exception {
String auditKD = getAuditKDTempJson(formId,data);
ResultBean<String> resultBean2 = accessKingDeeInterface(formId, auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info(formId+"审核失败!"+data);
public boolean isAudit(String formId,String DocumentStatus,String id) throws Exception {
log.info("DocumentStatus:{}",DocumentStatus);
if("C".equals(DocumentStatus)){
String auditKD = getUnAuditKD(id,formId);
ResultBean<String> rb1 = accessKingDeeInterface(formId, auditKD,KingDeeBillUrl.UNAUDIT_URL.getURL());
if(!rb1.getSuccess()){
log.info("反审核失败!");
return false;
}
log.info("反审核成功!");
}
log.info(formId+"审核成功!"+data);
return resultBean2;
return true;
}
/**
* 反审核
* @param formId
* @param number
* @return
* @throws Exception
*/
public ResultBean<String> unAudit(String formId,String number) {
ResultBean<String> rb=ResultBean.fireFail();
JSONObject result = null;
try {
result = view(formId,number);
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("信息查询失败!");
}
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){//不存在该客户 //新增客户
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
}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 = false;
try {
audit = isAudit(formId,DocumentStatus, Id);
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("反审核失败!");
}
if(!audit){
return rb.setCode(KingDeeCode.UNAUDIT.getCode()).setMsg(KingDeeCode.UNAUDIT.getMsg());
}
log.info("Id:{}",Id);
return rb.success().setData(Id);
}
}
public JSONObject view(String formid,String Number) throws Exception {
String getKDForNumbers = getGetKDForNumbers(formid, Number);
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(formid, 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;
}
/**
* 根据number 查询数据 返回id
* @param formId
* @param number
* @return
*/
public ResultBean<String> viewGetId(String formId,String number){
ResultBean rb=ResultBean.fireFail();
String getKDForNumbers = getGetKDForNumbers(formId,number);
ResultBean<String> kingDataInfoByNumber = null;
try {
if(KingDeeBillId.ORG_ORGANIZATIONS.getID().equals(formId)){
kingDataInfoByNumber = accessKingDeeInterface(formId, getKDForNumbers,
KingDeeConfig.userName_administrator,
KingDeeConfig.password_administrator,
KingDeeBillUrl.VIEW_URL.getURL());
}else{
kingDataInfoByNumber = accessKingDeeInterface(formId, getKDForNumbers,KingDeeBillUrl.VIEW_URL.getURL());
}
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("查询单据出错!");
}
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData());
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus==null){
String vie_result =kingDataInfoByNumber.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result1 = (JSONObject)jsonObject.get("Result");
JSONObject Result2 = (JSONObject)result1.get("Result");
Integer Id = (Integer)Result2.get("Id");
return rb.success().setData(Id+"");
}
return rb.setData("0").setMsg(KingDeeCode.NOTEXIST.getMsg());
}
/**
* 提交
* @param data
* @return
* @throws Exception
*/
public ResultBean<String> submit( String data,String formId) throws Exception {
public ResultBean<String> submit(String formId,String data) throws Exception {
String submitKD = getSubmitKDTempJson(formId,data);
ResultBean<String> resultBean1 = accessKingDeeInterface(formId,
submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());//submitKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), submitKD);
if(!resultBean1.getSuccess()){
log.info(formId+"提交失败!"+data);
return resultBean1;
}
log.info(formId+"提交成功!"+data);
return resultBean1;
}
/**
* 审核
* @param data
* @return
* @throws Exception
*/
public ResultBean<String> audit( String formId,String data) throws Exception {
String auditKD = getAuditKD(data,formId);
ResultBean<String> resultBean2 = accessKingDeeInterface(formId, auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("审核失败!");
return resultBean2;
}
log.info("审核成功!");
return resultBean2;
}
/**
* 分配功能
* @param formId 单据id
* @param dataId 要分配的数据的id
* @param torgIds 分配的机构id
* @return
*/
public ResultBean<String> allocate(String formId,String dataId,String torgIds){
ResultBean<String> rb=ResultBean.fireFail();
ResultBean<String> stringResultBean1 = viewGetId(KingDeeBillId.ORG_ORGANIZATIONS.getID(),torgIds );
String orgId = stringResultBean1.getData();
if(!stringResultBean1.getSuccess()&&!"0".equals(stringResultBean1.getData())){
return stringResultBean1;
}
String allocate =getAllocateTempJson(formId,dataId,orgId);
ResultBean<String> resultBean3 = null;
try {
resultBean3 = accessKingDeeInterface(formId,allocate, KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
log.info("分配失败!");
return rb.setMsg("分配失败!");
}
} catch (Exception e) {
e.printStackTrace();
log.info("分配失败!");
return rb.setMsg("分配失败!");
}
log.info("分配成功!");
return resultBean3;
}
/**
* 调用金蝶接口的数据格式
*/

12
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerCastToKingDeeBillFields.java

@ -1,12 +1,15 @@
package com.yxt.anrui.fin.biz.kingdee.bdcustomer;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.Feature;
import com.yxt.anrui.fin.biz.kingdee.KingDeeUtils;
import com.yxt.common.base.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Map;
/**
@ -33,10 +36,17 @@ public class BdCustomerCastToKingDeeBillFields {
//模板字符创转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);
String fields = map_fEntityModel_.get("fields");
if(StringUtils.isBlank(fields)){
jsonFEntityData_.put("NeedUpDateFields", JSONArray.parseArray(JSON.toJSONString(new ArrayList<>())));
}else{
String[] split = fields.split(",");
jsonFEntityData_.put("NeedUpDateFields",JSONArray.parseArray(JSON.toJSONString(split)));
}
jsonFEntityData_.put("Model",JSONObject.parseObject(JSON.toJSONString(jsonFEntityModel_),Feature.OrderedField));
jsonObj.put("data",jsonFEntityData_.toJSONString());
return jsonObj.toJSONString();

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

@ -1,17 +1,15 @@
package com.yxt.anrui.fin.biz.kingdee.bdcustomer;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillId;
import com.yxt.anrui.fin.api.kingdee.KingDeeBillUrl;
import com.yxt.anrui.fin.api.kingdee.KingDeeCode;
import com.yxt.anrui.fin.api.kingdee.KingDeeResult;
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.orgorganizations.OrgOrganizations;
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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -25,53 +23,115 @@ public class BdCustomerService extends FinKingDeeService {
* @param bdCustomer
* @return
*/
public ResultBean<List<KingDeeResult>> draftBdMaterialList(List<BdCustomer> bdCustomer) {
public ResultBean<List<KingDeeResult>> draftBdCustomerList(List<BdCustomer> bdCustomer) {
List<KingDeeResult> list=new ArrayList<>();
ResultBean rb=ResultBean.fireFail();
for(BdCustomer b:bdCustomer) {
ResultBean<List<KingDeeResult>> resultBean = draftBdCustomer(b);
if (resultBean.getSuccess()) {
list.add(resultBean.getData().get(0));
ResultBean<String> stringResultBean = draftBdCustomer(b);
if (stringResultBean.getSuccess()) {
JSONObject jr=JSONObject.parseObject(JSON.toJSONString(stringResultBean.getData()));
KingDeeResult kingDeeResult = new KingDeeResult();
kingDeeResult.setDIndex(jr.get("DIndex").toString());
kingDeeResult.setId(jr.get("Id")!=null?jr.get("Id").toString():"");
kingDeeResult.setNumber(jr.get("Number")!=null?jr.get("Number").toString():"");
list.add(kingDeeResult);
}
}
return rb.success().setData(list);
}
/**
* 保存客户信息
* @param bdCustomer
* @return
*/
public ResultBean draftBdCustomer(BdCustomer bdCustomer) {
public ResultBean<String> draftBdCustomer(BdCustomer bdCustomer) {
//bdCustomer=BdCustomer.createBdCustomer();
ResultBean rb=ResultBean.fireFail();
try {
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_CUSTOMER.getID(), bdCustomer.getFNumber());
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), getKDForNumbers,
KingDeeBillUrl.VIEW_URL.getURL());
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
String custId="";
if(responseStatus==null){//不存在客户 //新增客户
String vie_result =kingDataInfoByNumber.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result1 = (JSONObject)jsonObject.get("Result");
JSONObject Result2 = (JSONObject)result1.get("Result");
Integer Id = (Integer)Result2.get("Id");
custId= Id+""; // return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
}else{
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdCustomer);
//准备 物料列表的数据 ForEntryBill
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String vie_result =resultBean.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result1 = (JSONObject)jsonObject.get("Result");
Integer Id = (Integer)result1.get("Id");
custId= Id+"";
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> stringResultBean = viewGetId(KingDeeBillId.BD_CUSTOMER.getID(), bdCustomer.getFNumber());
if(!stringResultBean.getSuccess()&&!"0".equals(stringResultBean.getData())){
return stringResultBean;
}
String custId = stringResultBean.getData();
if("0".equals(custId)){
//新增客户
ResultBean<String> stringResultBean1 = sendCustomer(bdCustomer);
if(!stringResultBean1.getSuccess()){
return stringResultBean1;
}
custId =draftResultGetId(stringResultBean1.getData());
}
ResultBean<String> resultBean3=allocate(KingDeeBillId.BD_CUSTOMER.getID(),custId,bdCustomer.getTOrgIds());
return resultBean3;
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("保存客户信息失败!");
}
}
private ResultBean<String> sendCustomer(BdCustomer bdCustomer){
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(bdCustomer);
//准备 客户列表的数据 ForEntryBill
map_fEntityModel_.put("FCUSTID","0");
map_fEntityModel_.put("IsDeleteEntry", "True");
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(),
kingDeeData, KingDeeBillUrl.DRAFT_URL.getURL());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
rb= accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!rb.getSuccess()){
log.info("客户提交失败!");
return rb.setMsg("客户提交失败!");
}
log.info("客户提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
rb = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!rb.getSuccess()){
log.info("客户审核失败!");
return rb.setMsg("客户审核失败!");
}
log.info("客户审核成功!");
return rb;
}catch (Exception e){
e.printStackTrace();
return rb;
}
}
/**
* 批量修改客户 list
* @return
*/
public ResultBean<String> saveBdCustomers(List<BdCustomer > bdCustomers) {
ResultBean<String> rb=ResultBean.fireFail();
List<String> list_r=new ArrayList<>();
for(BdCustomer b:bdCustomers) {
ResultBean<String> stringResultBean = viewGetId(KingDeeBillId.BD_CUSTOMER.getID(), b.getFNumber());
if(!stringResultBean.getSuccess()&&!"0".equals(stringResultBean.getData())){
return stringResultBean;
}
String custId = stringResultBean.getData();
if("0".equals(custId)){
ResultBean<String> stringResultBean1 = sendCustomer(b);
if(!stringResultBean1.getSuccess()){
return stringResultBean1;
}
custId =draftResultGetId(stringResultBean1.getData());
}
stringResultBean = unAudit(KingDeeBillId.BD_CUSTOMER.getID(),b.getFNumber());
if(!stringResultBean.getSuccess()){
return rb.setMsg("反审核失败!");
}
try{
ResultBean<String> save = save(b,custId);
if(!save.getSuccess()){
log.info("客户保存失败!:{}");
return rb.setMsg("客户保存失败!");
}
String submitKD =getSubmitKDTempJson(KingDeeBillId.BD_CUSTOMER.getID(),custId);// getSubmitKD(getSubmitKDTempJson(KingDeeBillId.BD_CUSTOMER.getID(),custId),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("客户提交失败!");
@ -79,46 +139,66 @@ public class BdCustomerService extends FinKingDeeService {
}
log.info("客户提交成功!");
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
String auditKD = getAuditKDTempJson(KingDeeBillId.BD_CUSTOMER.getID(),custId);
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("客户审核失败!");
return rb.setMsg("客户审核失败!");
}
log.info("客户审核成功!");
ResultBean<String> resultBean3=allocate(KingDeeBillId.ORG_ORGANIZATIONS.getID(),custId,b.getTOrgIds());
if(!resultBean3.getSuccess()){
log.info("客户分配失败!");
return rb.setMsg("客户分配失败!");
}
log.info("客户分配成功!");
list_r.add(save.getData());
}catch (Exception e){
e.printStackTrace();
}
}
return rb.success().setData(JSONObject.toJSONString(list_r));
}
getKDForNumbers = getGetKDForNumbers(KingDeeBillId.ORG_ORGANIZATIONS.getID(), bdCustomer.getTOrgIds());
kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), getKDForNumbers, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator,
KingDeeBillUrl.VIEW_URL.getURL());
jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());
result = (JSONObject)jsonObject.get("Result");
responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){//不存在分公司 //新增分公司
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
}
String vie_result =kingDataInfoByNumber.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result1 = (JSONObject)jsonObject.get("Result");
JSONObject Result2 = (JSONObject)result1.get("Result");
Integer Id = (Integer)Result2.get("Id");
String id= Id+"";
String allocate =getAllocateTempJson(KingDeeBillId.BD_CUSTOMER.getID(),custId,id);
/* getAllocate(getSubmitKDTempJson(KingDeeBillId.BD_CUSTOMER.getID(),id),
bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());*/
ResultBean<String> resultBean3 = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),allocate,KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
log.info("客户分配失败!");
return rb.setMsg("客户分配失败!");
}
log.info("客户分配成功!");
/**
* 修改客户的信息
* @param b 客户
* @return
* @throws Exception
*/
private ResultBean<String> save(BdCustomer b,String fcustid) {
Map<String, Object> stringObjectMap = BeanUtil.beanToMap(b);
return resultBean3;
Map<String, String> mapParams = createMapParams(stringObjectMap);
mapParams.put("IsDeleteEntry","False");
mapParams.put("fields","FName,FNumber,FDescription");
mapParams.put("FCUSTID",fcustid);
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(mapParams);
ResultBean<String> rb=ResultBean.fireFail();
ResultBean<String> stringResultBean = null;
try {
stringResultBean = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(),
kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
} catch (Exception e) {
e.printStackTrace();
return rb.setMsg("客户信息保存失败!");
}
if(!stringResultBean.getSuccess()){
log.info("客户保存失败!");
return rb.setMsg("客户保存失败!");
}
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.setCode(KingDeeCode.REPEAT.getCode()).setMsg(KingDeeCode.REPEAT.getMsg());
}
log.info("客户保存成功!");
return stringResultBean;
}
}

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

@ -2,7 +2,7 @@
"Creator": "",
"NeedUpDateFields": [],
"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/bdcustomer/data_model.json

@ -1,5 +1,5 @@
{
"FCUSTID": 0,
"FCUSTID": @KD_FCUSTID,
"FCreateOrgId": {
"FNumber": "100"
},

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

@ -103,7 +103,7 @@ public class BdMaterialService extends FinKingDeeService {
}
ResultBean<String> stringResultBean = null;
try {
stringResultBean = unAudit(b);
stringResultBean = unAudit(KingDeeBillId.BD_MATERIAL.getID(),b.getOldFName());
} catch (Exception e) {
e.printStackTrace();
}
@ -137,57 +137,16 @@ public class BdMaterialService extends FinKingDeeService {
ResultBean<String> rb=ResultBean.fireFail();
String kingDeeData = BdMaterialCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
try {
//车辆类型
String F_PAEZ_Base = map_fEntityModel_.get("F_PAEZ_Base");
JSONObject result_F_PAEZ_Base = view(KingDeeBillId.PAEZ_CLLX.getID(),F_PAEZ_Base);
log.info(JSONObject.toJSONString(result_F_PAEZ_Base));
if(result_F_PAEZ_Base.get("Result")==null){
PaezCllx p=new PaezCllx();
String TOrgIds = map_fEntityModel_.get("TOrgIds");
p.setFUseOrgId(TOrgIds);
p.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("F_PAEZ_BaseName");
p.setFName(F_PAEZ_BaseName);
p.setFNumber(F_PAEZ_Base);
paezCllxService.draftPaezCllx(p);
}
//存货类别
String FCategoryID = map_fEntityModel_.get("FCategoryID");
JSONObject result_FCategory = view(KingDeeBillId.BD_MATERIALCATEGORY.getID(),FCategoryID);
log.info(JSONObject.toJSONString(result_FCategory));
if(result_FCategory.get("Result")==null){
BDMaterialcategory b=new BDMaterialcategory();
String TOrgIds = map_fEntityModel_.get("TOrgIds");
b.setFUseOrgId(TOrgIds);
b.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("FCategoryIDName");
b.setFName(F_PAEZ_BaseName);
b.setFNumber(FCategoryID);
bDMaterialcategoryService.draftBDMaterialcategory(b);
}
draftFPaezBase(map_fEntityModel_);
draftFCategoryId(map_fEntityModel_);
ResultBean<String> draft = draft(kingDeeData);
String data = draft.getData();
ResultBean<String> submit = submitAuditAllocate(data);
ResultBean<String> submit = submit(KingDeeBillId.BD_MATERIAL.getID(),data);
if (!submit.getSuccess()) return rb.setCode(KingDeeCode.SUBMIT.getCode()).setData(submit.getData());
ResultBean<String> audit = audit(data);
ResultBean<String> audit = audit(KingDeeBillId.BD_MATERIAL.getID(),data);
if (!audit.getSuccess()) return rb.setCode(KingDeeCode.AUDIT.getCode()).setData(audit.getData());
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.ORG_ORGANIZATIONS.getID(), map_fEntityModel_.get("TOrgIds"));
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), getKDForNumbers,
KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator,KingDeeBillUrl.VIEW_URL.getURL());
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());
JSONObject result2 = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result2.get("ResponseStatus");
if(responseStatus!=null){//不存在分公司 //新增分公司
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
}
String vie_result =kingDataInfoByNumber.getData();
jsonObject = JSONObject.parseObject(vie_result);
JSONObject result3= (JSONObject)jsonObject.get("Result");
JSONObject Result2 = (JSONObject)result3.get("Result");
Integer Id = (Integer)Result2.get("Id");
String id= Id+"";
ResultBean<String> allocate = allocate(id, data);
String id = draftResultGetId(draft.getData());
ResultBean<String> allocate = allocate(KingDeeBillId.BD_MATERIAL.getID(),id, map_fEntityModel_.get("TOrgIds"));
if (!allocate.getSuccess()) return rb.setCode(KingDeeCode.ALLOCATE.getCode()).setData(allocate.getData());
return draft;
} catch (Exception e) {
@ -196,6 +155,40 @@ public class BdMaterialService extends FinKingDeeService {
return rb;
}
private void draftFCategoryId(Map<String, String> map_fEntityModel_) throws Exception {
//存货类别
String FCategoryID = map_fEntityModel_.get("FCategoryID");
JSONObject result_FCategory = view(KingDeeBillId.BD_MATERIALCATEGORY.getID(),FCategoryID);
log.info(JSONObject.toJSONString(result_FCategory));
if(result_FCategory.get("Result")==null){
BDMaterialcategory b=new BDMaterialcategory();
String TOrgIds = map_fEntityModel_.get("TOrgIds");
b.setFUseOrgId(TOrgIds);
b.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("FCategoryIDName");
b.setFName(F_PAEZ_BaseName);
b.setFNumber(FCategoryID);
bDMaterialcategoryService.draftBDMaterialcategory(b);
}
}
private void draftFPaezBase(Map<String, String> map_fEntityModel_) throws Exception {
//车辆类型
String F_PAEZ_Base = map_fEntityModel_.get("F_PAEZ_Base");
JSONObject result_F_PAEZ_Base = view(KingDeeBillId.PAEZ_CLLX.getID(),F_PAEZ_Base);
log.info(JSONObject.toJSONString(result_F_PAEZ_Base));
if(result_F_PAEZ_Base.get("Result")==null){
PaezCllx p=new PaezCllx();
String TOrgIds = map_fEntityModel_.get("TOrgIds");
p.setFUseOrgId(TOrgIds);
p.setFCreateOrgId(TOrgIds);
String F_PAEZ_BaseName = map_fEntityModel_.get("F_PAEZ_BaseName");
p.setFName(F_PAEZ_BaseName);
p.setFNumber(F_PAEZ_Base);
paezCllxService.draftPaezCllx(p);
}
}
/**
* 修改物料的信息
* @return
@ -207,9 +200,9 @@ public class BdMaterialService extends FinKingDeeService {
try{
ResultBean<String> save = save(map_fEntityModel_);
String data = save.getData();
ResultBean<String> submit = submitAuditAllocate( data);
ResultBean<String> submit = submit(KingDeeBillId.BD_MATERIAL.getID(), data);
if (!submit.getSuccess()) return rb.setCode(KingDeeCode.SUBMIT.getCode()).setMsg(KingDeeCode.SUBMIT.getMsg());
ResultBean<String> audit = audit(data);
ResultBean<String> audit = audit(KingDeeBillId.BD_MATERIAL.getID(),data);
if (!audit.getSuccess()) return rb.setCode(KingDeeCode.AUDIT.getCode()).setMsg(KingDeeCode.AUDIT.getMsg());
return save;
} catch (Exception e) {
@ -273,137 +266,5 @@ public class BdMaterialService extends FinKingDeeService {
return stringResultBean;
}
/**
* 提交审核分配
* @param data
* @return
* @throws Exception
*/
private ResultBean<String> submitAuditAllocate(String data) throws Exception {
ResultBean<String> rb=ResultBean.fireFail();
ResultBean<String> submit = submit(data);
if (!submit.getSuccess()) return rb.setCode(KingDeeCode.SUBMIT.getCode()).setData(submit.getData());
return rb.success();
}
/**
* 分配
* @param tOrgIds
* @param data
* @return
* @throws Exception
*/
private ResultBean<String> allocate(String tOrgIds, String data) throws Exception {
String allocate = getAllocate(data,tOrgIds,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("物料分配失败!");
}
log.info("物料分配成功!");
return resultBean3;
}
/**
* 审核
* @param data
* @return
* @throws Exception
*/
private ResultBean<String> 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("物料审核失败!");
}
log.info("物料审核成功!");
return resultBean2;
}
/**
* 提交
* @param data
* @return
* @throws Exception
*/
private ResultBean<String> 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("物料提交失败!");
}
log.info("物料提交成功!");
return resultBean1;
}
/**
* 反审核
* @param bdMaterial
* @return
* @throws Exception
*/
public ResultBean<String> unAudit(BdMaterial bdMaterial) throws Exception {
ResultBean<String> rb=ResultBean.fireFail();
JSONObject result = view(KingDeeBillId.BD_MATERIAL.getID(),bdMaterial.getOldFName());
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){//不存在该物料 //新增物料
return rb.setCode(KingDeeCode.NOTEXIST.getCode()).setMsg(KingDeeCode.NOTEXIST.getMsg());
}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.setCode(KingDeeCode.UNAUDIT.getCode()).setMsg(KingDeeCode.UNAUDIT.getMsg());
}
log.info("Id:{}",Id);
return rb.success().setData(Id);
}
}
/**
* 查看物料
* @param formid
* @param Number
* @return
* @throws Exception
*/
/* private JSONObject viewBdMaterial(String formid,String oldFName) throws Exception {
String getKDForNumbers = getGetKDForNumbers(formid, oldFName);
return view(formid,getKDForNumbers);
}*/
private JSONObject view(String formid,String Number) throws Exception {
String getKDForNumbers = getGetKDForNumbers(formid, Number);
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(formid, 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;
}
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AddAdvanceInvoiceDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AddAdvanceInvoiceDto implements Dto {
private static final long serialVersionUID = 4692713916775781841L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("vin集合")
List<String> vinList;
@ApiModelProperty("合同sid")
private String contractSid;
}

32
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceDto.java

@ -1,5 +1,7 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AdCarListVo;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -15,17 +17,20 @@ public class AdvanceInvoiceDto implements Dto {
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同id")
private String contractId;
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("客户")
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("车辆列表")
private String carList;
private List<AppCarListDto> carList;
@ApiModelProperty("欠款金额")
private String cumulativeArrearsPrice;
@JsonProperty("cumulativeArrearsPrice")
private String arrearsMoney;
@ApiModelProperty("车型")
private String modelName;
@JsonProperty("modelName")
private String carModel;
@ApiModelProperty("开票信息确认书")
private List<String> confirmFile;
@ApiModelProperty("客户开票申请书")
@ -33,17 +38,22 @@ public class AdvanceInvoiceDto implements Dto {
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("手写原因")
private String reasonWrite;
@JsonProperty("reasonWrite")
private String otherReasons;
@ApiModelProperty("承诺回款日期")
private String collectionDate;
@JsonProperty("collectionDate")
private String returnedMoneyDate;
@ApiModelProperty("车辆登记合同")
private String registerFile;
private List<String> registerFile;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String reasonType;
@JsonProperty("reasonType")
private String advGinReasonType;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String reasonKey;
@ApiModelProperty("选择原因")
private String reasonChoose;
@JsonProperty("reasonChoose")
private String advGinReasonValue;
@ApiModelProperty("提前开票原因 0手写 1选择")
@JsonProperty("reasonKey")
private String advGinReasonKey;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")

40
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceInfoVo.java

@ -1,9 +1,11 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
@ -15,35 +17,45 @@ public class AdvanceInvoiceInfoVo implements Vo {
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同id")
private String contractId;
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("客户")
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("车辆列表")
private List<AppCarListVo> carList;
@ApiModelProperty("选择车辆列表")
private List<AppCarListVo> carList = new ArrayList<>();
@ApiModelProperty("所有车辆列表")
private List<AppCarListVo> vinList = new ArrayList<>();
@ApiModelProperty("欠款金额")
private String cumulativeArrearsPrice;
@JsonProperty("cumulativeArrearsPrice")
private String arrearsMoney;
@ApiModelProperty("车型")
private String modelName;
@JsonProperty("modelName")
private String carModel;
@ApiModelProperty("开票信息确认书")
private List<String> confirmFile;
private List<String> confirmFile = new ArrayList<>();
@ApiModelProperty("客户开票申请书")
private List<String> applyFile;
private List<String> applyFile = new ArrayList<>();
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("手写原因")
private String reasonWrite;
@JsonProperty("reasonWrite")
private String otherReasons;
@ApiModelProperty("承诺回款日期")
private String collectionDate;
@JsonProperty("collectionDate")
private String returnedMoneyDate;
@ApiModelProperty("车辆登记合同")
private String registerFile;
private List<String> registerFile = new ArrayList<>();
@ApiModelProperty("提前开票原因 0手写 1选择")
private String reasonType;
@JsonProperty("reasonType")
private String advGinReasonType;
@ApiModelProperty("提前开票原因 0手写 1选择")
private String reasonKey;
@ApiModelProperty("选择原因")
private String reasonChoose;
@JsonProperty("reasonChoose")
private String advGinReasonValue;
@ApiModelProperty("提前开票原因 0手写 1选择")
@JsonProperty("reasonKey")
private String advGinReasonKey;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceQuery.java → anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageQuery.java

@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AdvanceInvoiceQuery implements Query {
public class AdvanceInvoicePageQuery implements Query {
private static final long serialVersionUID = -7435351433058437187L;
@ApiModelProperty("用户sid")

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoicePageVo.java

@ -30,8 +30,17 @@ public class AdvanceInvoicePageVo implements Vo {
@JsonProperty("number")
private String num;
@ApiModelProperty("原因")
@JsonProperty("reason")
private String reason;
@ApiModelProperty("选择 手写 key 0 1")
private String advGinReasonType;
@ApiModelProperty("选择value")
private String advGinReasonValue;
@ApiModelProperty("选择key")
private String advGinReasonKey;
@ApiModelProperty("手写")
private String otherReasons;
@ApiModelProperty("创建日期")
@JsonProperty("date")
private String applyDate;

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AdvanceInvoiceVinDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AdvanceInvoiceVinDto implements Dto {
private static final long serialVersionUID = 4328057679297036712L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("车架号集合")
private List<String> vinList;
@ApiModelProperty("合同sid")
private String contractSid;
}

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeign.java

@ -26,6 +26,10 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.CompleteAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.SubmitAdvanceInvoiceDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -33,6 +37,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -62,7 +67,12 @@ public interface AppBusAdvanceGinvoiceapplyFeign {
@ApiOperation("手机端-获取提前开票列表")
@PostMapping("/getAdvanceInvoiceList")
@ResponseBody
ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(@RequestBody PagerQuery<AdvanceInvoiceQuery> pagerQuery);
ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(@RequestBody PagerQuery<AdvanceInvoicePageQuery> pagerQuery);
@ApiOperation("移动端-新增提前开票申请")
@PostMapping("/addAdvanceInvoice")
@ResponseBody
public ResultBean addAdvanceInvoice(@Valid @RequestBody AdvanceInvoiceVinDto dto);
@ApiOperation("手机端-初始化提前开票申请")
@GetMapping("/initAdvanceInvoice/{contractSid}")
@ -75,7 +85,38 @@ public interface AppBusAdvanceGinvoiceapplyFeign {
public ResultBean saveAdvanceInvoice(@Valid @RequestBody AdvanceInvoiceDto dto);
@ApiOperation("手机端-删除提前开票")
@GetMapping("/deleteAdvanceInvoice/{contractSid}")
@DeleteMapping("/deleteAdvanceInvoice/{contractSid}")
@ResponseBody
public ResultBean deleteAdvanceInvoice(@PathVariable("contractSid") String contractSid);
@ApiOperation("提交流程")
@PostMapping("/submitAdvanceInvoiceInfo")
@ResponseBody
ResultBean submitAdvanceInvoiceInfo(@RequestBody SubmitAdvanceInvoiceDto dto);
@ApiOperation("办理")
@PutMapping("/agreeAdvanceInvoiceInfo")
@ResponseBody
ResultBean agreeAdvanceInvoiceInfo(@RequestBody CompleteAdvanceInvoiceDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectAdvanceInvoiceInfo")
@ResponseBody
ResultBean rejectAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallAdvanceInvoiceInfo")
@ResponseBody
ResultBean recallAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopAdvanceInvoiceInfo")
@ResponseBody
ResultBean stopAdvanceInvoiceInfo(@RequestBody AdvanceInvoiceTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap AdvanceInvoiceQuery query);
}

42
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyFeignFallback.java

@ -25,7 +25,10 @@
*********************************************************/
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.CompleteAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.SubmitAdvanceInvoiceDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -49,7 +52,12 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin
@Override
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoiceQuery> pagerQuery) {
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoicePageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) {
return null;
}
@ -67,4 +75,34 @@ public class AppBusAdvanceGinvoiceapplyFeignFallback implements AppBusAdvanceGin
public ResultBean deleteAdvanceInvoice(String contractSid) {
return null;
}
@Override
public ResultBean submitAdvanceInvoiceInfo(SubmitAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean agreeAdvanceInvoiceInfo(CompleteAdvanceInvoiceDto dto) {
return null;
}
@Override
public ResultBean rejectAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean recallAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean stopAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) {
return null;
}
}

15
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/AppCarListDto.java

@ -0,0 +1,15 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppCarListDto implements Dto {
private static final long serialVersionUID = -7003788760351399800L;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("成交价")
private String price;
}

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/AdvanceInvoiceQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class AdvanceInvoiceQuery implements Query {
private static final long serialVersionUID = -3563282658560745370L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

42
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/AdvanceInvoiceTaskQuery.java

@ -0,0 +1,42 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class AdvanceInvoiceTaskQuery implements Query {
private static final long serialVersionUID = -6952737531036706114L;
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

32
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/CompleteAdvanceInvoiceDto.java

@ -0,0 +1,32 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class CompleteAdvanceInvoiceDto implements Dto {
private static final long serialVersionUID = 7978653524636034916L;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

18
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/advanceInvoice/flowable/SubmitAdvanceInvoiceDto.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitAdvanceInvoiceDto extends AdvanceInvoiceDto {
private static final long serialVersionUID = 6134092944641545633L;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/AppRovalFeign.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.autoservice.approval;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-base(安瑞基础) <br/>
* File: CommonContractFeign.java <br/>
* Class: com.yxt.anrui.base.api.commoncontract.CommonContractFeign <br/>
* Description: 合同表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-12 14:02:40 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "合同表")
@FeignClient(
contextId = "anrui-terminal-AppRoval",
name = "anrui-terminal",
path = "/autoservice/v1/approval",
fallback = AppRovalFeignFallback.class)
public interface AppRovalFeign {
@ApiOperation("移动端-提前开票查询合同列表")
@PostMapping("/getApprovalContractList")
@ResponseBody
public ResultBean<PagerVo<RovalContractPageVo>> getApprovalContractList(@RequestBody PagerQuery<RovalContractPageQuery> pagerQuery);
}

29
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/AppRovalFeignFallback.java

@ -0,0 +1,29 @@
package com.yxt.anrui.terminal.api.autoservice.approval;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
/**
* Project: anrui-base(安瑞基础) <br/>
* File: CommonContractFeignFallback.java <br/>
* Class: com.yxt.anrui.base.api.commoncontract.CommonContractFeignFallback <br/>
* Description: 合同表. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2021-10-12 14:02:40 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class AppRovalFeignFallback implements AppRovalFeign {
@Override
public ResultBean<PagerVo<RovalContractPageVo>> getApprovalContractList(PagerQuery<RovalContractPageQuery> pagerQuery) {
return null;
}
}

17
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/RovalContractPageQuery.java

@ -0,0 +1,17 @@
package com.yxt.anrui.terminal.api.autoservice.approval;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class RovalContractPageQuery implements Query {
private static final long serialVersionUID = -1857847352706914720L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("车架号 客户名称 合同编号")
private String name;
}

31
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/approval/RovalContractPageVo.java

@ -0,0 +1,31 @@
package com.yxt.anrui.terminal.api.autoservice.approval;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class RovalContractPageVo implements Vo {
private static final long serialVersionUID = -8310834266355010490L;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")
private String contractId;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("销售订单sid")
private String busSid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("车型名称")
private String modelName;
}

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/arrearsTakeCar/AppBusArrearsCarryVehicleApplyService.java

@ -1,13 +1,9 @@
package com.yxt.anrui.terminal.biz.arrearsTakeCar;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoiceQuery;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.AppArrearsCarryVehiclePageVo;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.AppArrearsCarryVehicleQuery;
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyFeign;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AppBusAdvanceGinvoiceapplyFeign;
import com.yxt.anrui.terminal.api.autoservice.arrearsTakeCar.ArrearsCarryVehiclePageVo;
import com.yxt.anrui.terminal.api.autoservice.arrearsTakeCar.ArrearsCarryVehicleQuery;
import com.yxt.anrui.terminal.config.CoverUtils;

45
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyRest.java

@ -25,13 +25,15 @@
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.advanceInvoice;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.CompleteAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.SubmitAdvanceInvoiceDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -57,10 +59,15 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl
private AppBusAdvanceGinvoiceapplyService appBusAdvanceGinvoiceapplyService;
@Override
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoiceQuery> pagerQuery) {
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoicePageQuery> pagerQuery) {
return appBusAdvanceGinvoiceapplyService.getAdvanceInvoiceList(pagerQuery);
}
@Override
public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) {
return appBusAdvanceGinvoiceapplyService.addAdvanceInvoice(dto);
}
@Override
public ResultBean<AdvanceInvoiceInfoVo> initAdvanceInvoice(String contractSid) {
return appBusAdvanceGinvoiceapplyService.initAdvanceInvoice(contractSid);
@ -75,4 +82,36 @@ public class AppBusAdvanceGinvoiceapplyRest implements AppBusAdvanceGinvoiceappl
public ResultBean deleteAdvanceInvoice(String contractSid) {
return appBusAdvanceGinvoiceapplyService.deleteAdvanceInvoice(contractSid);
}
@Override
public ResultBean submitAdvanceInvoiceInfo(SubmitAdvanceInvoiceDto dto) {
return appBusAdvanceGinvoiceapplyService.submitAdvanceInvoiceInfo(dto);
}
@Override
public ResultBean agreeAdvanceInvoiceInfo(CompleteAdvanceInvoiceDto dto) {
return appBusAdvanceGinvoiceapplyService.agreeAdvanceInvoiceInfo(dto);
}
@Override
public ResultBean rejectAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.rejectAdvanceInvoiceInfo(query);
}
@Override
public ResultBean recallAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.recallAdvanceInvoiceInfo(query);
}
@Override
public ResultBean stopAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
return appBusAdvanceGinvoiceapplyService.stopAdvanceInvoiceInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) {
return appBusAdvanceGinvoiceapplyService.getFlowOperateTitle(query);
}
}

154
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/advanceInvoice/AppBusAdvanceGinvoiceapplyService.java

@ -27,16 +27,25 @@ package com.yxt.anrui.terminal.biz.autoservice.advanceInvoice;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.*;
import com.yxt.anrui.fin.api.finbillapplication.AppBillApplicationIInfoDto;
import com.yxt.anrui.fin.api.finbillapplication.AppBillApplicationIInfoVo;
import com.yxt.anrui.fin.api.finbillapplication.AppBillApplicationPageQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceInfoVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoVo;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationPageVo;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppAdvanceInvoiceTaskQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppCompleteAdvanceInvoiceDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.AppSubmitAdvanceInvoiceDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.GetNodeQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.flowable.GetNodeVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
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.scmvehiclegression.flowable.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.*;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.AdvanceInvoiceTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.CompleteAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.flowable.SubmitAdvanceInvoiceDto;
import com.yxt.anrui.terminal.api.autoservice.intermediary.MiddlemanVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.order.BusOrderSalesVo;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -44,6 +53,12 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* Project: anrui_buscenter(销售业务) <br/>
@ -63,13 +78,27 @@ public class AppBusAdvanceGinvoiceapplyService {
@Autowired
BusAdvanceGinvoiceapplyFeign busAdvanceGinvoiceapplyFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoiceQuery> pagerQuery) {
public ResultBean<PagerVo<AdvanceInvoicePageVo>> getAdvanceInvoiceList(PagerQuery<AdvanceInvoicePageQuery> pagerQuery) {
ResultBean<PagerVo<AdvanceInvoicePageVo>> rb = ResultBean.fireFail();
PagerQuery<AppAdvanceInvoiceQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppAdvanceInvoicePageVo>> advanceInvoiceList = busAdvanceGinvoiceapplyFeign.getAdvanceInvoiceList(pq);
PagerVo<AdvanceInvoicePageVo> vo = CoverUtils.selectPagerVo(advanceInvoiceList.getData());
return rb.success().setData(vo);
PagerQuery<AppAdvanceInvoicePageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppAdvanceInvoicePageVo>> resultBean = busAdvanceGinvoiceapplyFeign.getAdvanceInvoiceList(pq);
List<AdvanceInvoicePageVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), AdvanceInvoicePageVo.class)).collect(Collectors.toList());
PagerVo<AdvanceInvoicePageVo> v = new PagerVo<>();
BeanUtil.copyProperties(resultBean.getData(), v);
v.setRecords(voList);
return rb.success().setData(v);
}
public ResultBean addAdvanceInvoice(AdvanceInvoiceVinDto dto) {
AppAdvanceInvoiceVinDto appAdvanceInvoiceVinDto = new AppAdvanceInvoiceVinDto();
BeanUtil.copyProperties(dto, appAdvanceInvoiceVinDto);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.addAdvanceInvoice(appAdvanceInvoiceVinDto);
return resultBean;
}
public ResultBean<AdvanceInvoiceInfoVo> initAdvanceInvoice(String contractSid) {
@ -95,4 +124,101 @@ public class AppBusAdvanceGinvoiceapplyService {
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.deleteAdvanceInvoice(contractSid);
return resultBean;
}
public ResultBean submitAdvanceInvoiceInfo(SubmitAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
AppSubmitAdvanceInvoiceDto submitAdvanceInvoiceDto = new AppSubmitAdvanceInvoiceDto();
BeanUtil.copyProperties(dto, submitAdvanceInvoiceDto);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.submitAdvanceInvoiceInfo(submitAdvanceInvoiceDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean agreeAdvanceInvoiceInfo(CompleteAdvanceInvoiceDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
AppCompleteAdvanceInvoiceDto completeAdvanceInvoiceDto = new AppCompleteAdvanceInvoiceDto();
BeanUtil.copyProperties(dto, completeAdvanceInvoiceDto);
completeAdvanceInvoiceDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.complete(completeAdvanceInvoiceDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AppAdvanceInvoiceTaskQuery taskQuery = new AppAdvanceInvoiceTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AppAdvanceInvoiceTaskQuery taskQuery = new AppAdvanceInvoiceTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopAdvanceInvoiceInfo(AdvanceInvoiceTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
AppAdvanceInvoiceTaskQuery taskQuery = new AppAdvanceInvoiceTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = busAdvanceGinvoiceapplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(AdvanceInvoiceQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
GetNodeQuery getNodeQuery = new GetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<GetNodeVo>> getPreviousNodesForReject = busAdvanceGinvoiceapplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<GetNodeVo>> getNextNodesForSubmit = busAdvanceGinvoiceapplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
}

65
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/approval/AppRovalRest.java

@ -0,0 +1,65 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.approval;
import com.yxt.anrui.terminal.api.autoservice.approval.AppRovalFeign;
import com.yxt.anrui.terminal.api.autoservice.approval.RovalContractPageQuery;
import com.yxt.anrui.terminal.api.autoservice.approval.RovalContractPageVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Project: anrui_buscenter(销售业务) <br/>
* File: BusAdvanceGinvoiceapplyFeignFallback.java <br/>
* Class: com.yxt.anrui.buscenter.biz.busadvanceginvoiceapply.BusAdvanceGinvoiceapplyRest <br/>
* Description: 提前开票申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-17 16:02:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "提前开票申请")
@RestController()
@RequestMapping("/autoservice/v1/approval")
public class AppRovalRest implements AppRovalFeign {
@Autowired
private AppRovalService appRovalService;
@Override
public ResultBean<PagerVo<RovalContractPageVo>> getApprovalContractList(PagerQuery<RovalContractPageQuery> pagerQuery) {
return appRovalService.getApprovalContractList(pagerQuery);
}
}

70
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/approval/AppRovalService.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.autoservice.approval;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageQuery;
import com.yxt.anrui.buscenter.api.bussalesorder.contract.AppRovalContractPageVo;
import com.yxt.anrui.terminal.api.autoservice.approval.RovalContractPageQuery;
import com.yxt.anrui.terminal.api.autoservice.approval.RovalContractPageVo;
import com.yxt.anrui.terminal.config.CoverUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* Project: anrui_buscenter(销售业务) <br/>
* File: BusAdvanceGinvoiceapplyService.java <br/>
* Class: com.yxt.anrui.buscenter.biz.busadvanceginvoiceapply.BusAdvanceGinvoiceapplyService <br/>
* Description: 提前开票申请 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2022-03-17 16:02:10 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class AppRovalService {
@Autowired
BusSalesOrderFeign busSalesOrderFeign;
public ResultBean<PagerVo<RovalContractPageVo>> getApprovalContractList(PagerQuery<RovalContractPageQuery> pagerQuery) {
ResultBean<PagerVo<RovalContractPageVo>> rb = ResultBean.fireFail();
PagerQuery<AppRovalContractPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppRovalContractPageVo>> approvalContractList = busSalesOrderFeign.getApprovalContractList(pq);
PagerVo<RovalContractPageVo> vo = CoverUtils.selectPagerVo(approvalContractList.getData());
return rb.success().setData(vo);
}
}
Loading…
Cancel
Save