Browse Source

移动端开票申请代码

master
hp 2 years ago
parent
commit
7e0d24c9f4
  1. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeign.java
  2. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeignFallback.java
  3. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java
  4. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateMapper.java
  5. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateRest.java
  6. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateService.java
  7. 34
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busadvanceginvoiceapply/BusAdvanceGinvoiceapplyService.java
  8. 21
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busarrearscarryvehicleapply/BusArrearsCarryVehicleApplyService.java
  9. 12
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AddInvoicedApplyDto.java
  10. 11
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoDto.java
  11. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java
  12. 14
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageInfoQuery.java
  13. 1
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListDto.java
  14. 7
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListVo.java
  15. 24
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java
  16. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  17. 8
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java
  18. 16
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/SubmitBillApplicationDto.java
  19. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/SubmitFinBillApplicationDto.java
  20. 2
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/flowable/FinBillNodeQuery.java
  21. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  22. 22
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml
  23. 10
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  24. 284
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  25. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java
  26. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java
  27. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  28. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageInfoQuery.java
  29. 1
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageVo.java
  30. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java
  31. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java
  32. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/flowable/SubmitInvoicedInfoDto.java
  33. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java
  34. 33
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeign.java

@ -90,6 +90,11 @@ public interface BaseVehicleTempstateFeign {
@ResponseBody
ResultBean<List<String>> selectAllOne(@PathVariable("s") String s);
@ApiOperation("查询该车架号是否在审批中")
@GetMapping("/selectByVin/{vin}")
@ResponseBody
ResultBean<Integer> selectByVin(@PathVariable("vin") String vin);
@ApiOperation("根据业务类型查询临时状态")
@GetMapping("/getList")
@ResponseBody

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicletempstate/BaseVehicleTempstateFeignFallback.java

@ -89,4 +89,9 @@ public class BaseVehicleTempstateFeignFallback implements BaseVehicleTempstateFe
public ResultBean<List<BaseVehicleTempstate>> getList(String tempStateKey) {
return null;
}
@Override
public ResultBean<Integer> selectByVin(String vin) {
return null;
}
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/VehicleStateTempOrLast.java

@ -19,7 +19,9 @@ public class VehicleStateTempOrLast {
BAG_CARD_BUSINESS("0003", "包牌业务"),
FIN_PAYMENT("0005", "款项确认");
FIN_PAYMENT("0005", "款项确认"),
NORMAL_INVOICING("0006", "正常开票");
/**
* code值

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateMapper.java

@ -71,5 +71,8 @@ public interface BaseVehicleTempstateMapper extends BaseMapper<BaseVehicleTempst
@Select("select * from base_vehicle_tempstate where tempStateKey = #{state} ")
List<BaseVehicleTempstateVo> selectAllOne(String s);
@Select("select count(*) from base_vehicle_tempstate where vinNo = #{vin}")
Integer selectByVin(@Param("vin") String vin);
List<BaseVehicleTempstate> getList(String tempStateKey);
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateRest.java

@ -121,4 +121,11 @@ public class BaseVehicleTempstateRest implements BaseVehicleTempstateFeign {
List<BaseVehicleTempstate> baseVehicleTempstates = baseVehicleTempstateService.getList(tempStateKey);
return rb.success().setData(baseVehicleTempstates);
}
@Override
public ResultBean<Integer> selectByVin(String vin) {
ResultBean<Integer> rb = ResultBean.fireFail();
Integer count = baseVehicleTempstateService.selectByVin(vin);
return rb.setData(count);
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateService.java

@ -124,4 +124,9 @@ public class BaseVehicleTempstateService extends MybatisBaseService<BaseVehicleT
public List<BaseVehicleTempstate> getList(String tempStateKey) {
return baseMapper.getList(tempStateKey);
}
public Integer selectByVin(String vin) {
return baseMapper.selectByVin(vin);
}
}

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

@ -518,7 +518,7 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
BusAdvanceGinvoiceapply busAdvanceGinvoiceapply = fetchBySid(dto.getContractSid());
if (StringUtils.isBlank(dto.getOrgSidPath())){
if (StringUtils.isBlank(dto.getOrgSidPath())) {
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(sysUserVo.getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
@ -616,6 +616,14 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
return rb.setMsg("操作失败!提交的数据不一致");
}
dto.setOrgSidPath(orgSidPath);
//查询该申请中的车架号是否被锁定
List<AdCarListDto> carList = dto.getCarList();
for (AdCarListDto adCarListDto : carList) {
Integer count = baseVehicleTempstateFeign.selectByVin(adCarListDto.getVin()).getData();
if (count > 0) {
return rb.setMsg("该申请车架号中存在审核中,请重新选择!");
}
}
//新增修改保存
ResultBean<String> resultBean = saveAdvanceInvoice(dto);
if (!resultBean.getSuccess()) {
@ -626,9 +634,13 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto();
baseVehicleTempstateDto.setBusSid(businessSid);
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getCode());
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());
baseVehicleTempstateDto.setTempKey("1");
baseVehicleTempstateDto.setTempValue("待审核");
List<BusGinvoiceapplyVehicleDetailsVo> busGinvoiceapplyVehicleDetailsVos = busGinvoiceapplyVehicleService.fetchByAdvGinSid(busAdvanceGinvoiceapply.getSid());
for (BusGinvoiceapplyVehicleDetailsVo busGinvoiceapplyVehicleDetailsVo : busGinvoiceapplyVehicleDetailsVos) {
baseVehicleTempstateDto.setVehSid(busGinvoiceapplyVehicleDetailsVo.getVehicleSid());
baseVehicleTempstateDto.setVinNo(busGinvoiceapplyVehicleDetailsVo.getVinNo());
baseVehicleTempstateFeign.save(baseVehicleTempstateDto);
}
baseMapper.updateType(busAdvanceGinvoiceapply.getSid());
@ -768,14 +780,15 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
addInvoicedApplyDto.setContractNo(busAdvanceGinvoiceapply.getContractNo());
addInvoicedApplyDto.setCustomerName(busAdvanceGinvoiceapply.getCustomerName());
addInvoicedApplyDto.setUseOrgSid(busAdvanceGinvoiceapply.getUseOrgSid());
addInvoicedApplyDto.setCreateBySid(bv.getUserSid());
addInvoicedApplyDto.setBillStateKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getCode());
addInvoicedApplyDto.setBillState(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getRemarks());
addInvoicedApplyDto.setTotalBillMoney(String.valueOf(busAdvanceGinvoiceapply.getArrearsMoney()));
addInvoicedApplyDto.setCreateBySid(busAdvanceGinvoiceapply.getCreateBySid());
List<AppVinListDto> vinList = new ArrayList<>();
List<BusGinvoiceapplyVehicleDetailsVo> busGinvoiceapplyVehicleDetailsVos = busGinvoiceapplyVehicleService.fetchByAdvGinSid(busAdvanceGinvoiceapply.getSid());
for (BusGinvoiceapplyVehicleDetailsVo vehicleDetailsVo : busGinvoiceapplyVehicleDetailsVos) {
AppVinListDto appVinListDto = new AppVinListDto();
appVinListDto.setVIN(vehicleDetailsVo.getVinNo());
appVinListDto.setBillTypeKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getCode());
appVinListDto.setBillTypeValue(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getRemarks());
vinList.add(appVinListDto);
}
addInvoicedApplyDto.setVinList(vinList);
@ -896,7 +909,10 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
addInvoicedApplyDto.setContractNo(busAdvanceGinvoiceapply.getContractNo());
addInvoicedApplyDto.setCustomerName(busAdvanceGinvoiceapply.getCustomerName());
addInvoicedApplyDto.setUseOrgSid(busAdvanceGinvoiceapply.getUseOrgSid());
addInvoicedApplyDto.setCreateBySid(bv.getUserSid());
addInvoicedApplyDto.setBillStateKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getCode());
addInvoicedApplyDto.setBillState(VehicleStateTempOrLast.PaymentEnum.ARREARS_INVOICING.getRemarks());
addInvoicedApplyDto.setTotalBillMoney(String.valueOf(busAdvanceGinvoiceapply.getArrearsMoney()));
addInvoicedApplyDto.setCreateBySid(busAdvanceGinvoiceapply.getCreateBySid());
List<AppVinListDto> vinList = new ArrayList<>();
List<BusGinvoiceapplyVehicleDetailsVo> busGinvoiceapplyVehicleDetailsVos = busGinvoiceapplyVehicleService.fetchByAdvGinSid(busAdvanceGinvoiceapply.getSid());
for (BusGinvoiceapplyVehicleDetailsVo vehicleDetailsVo : busGinvoiceapplyVehicleDetailsVos) {
@ -1029,6 +1045,7 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busAdvanceGinvoiceapply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
baseVehicleTempstateFeign.delByBusSid(busAdvanceGinvoiceapply.getSid());
} else {
messageFlowableQuery.setMsgContent(busAdvanceGinvoiceapply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
@ -1057,6 +1074,12 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
return rb.setMsg("操作失败!");
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//还原车辆状态
String nextNodeUserSids = resultBean.getData().getNextNodeUserSids();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busAdvanceGinvoiceapply.getCreateBySid())) {
baseVehicleTempstateFeign.delByBusSid(busAdvanceGinvoiceapply.getSid());
}
return rb.success().setData(resultBean.getData());
}
}
@ -1086,6 +1109,7 @@ public class BusAdvanceGinvoiceapplyService extends MybatisBaseService<BusAdvanc
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
baseVehicleTempstateFeign.delByBusSid(busAdvanceGinvoiceapply.getSid());
return rb.success().setData(resultBean.getData());
}
}

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

@ -606,7 +606,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
ResultBean rb = ResultBean.fireFail();
// 取出分公司sid
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
if (StringUtils.isBlank(dto.getOrgSidPath())){
if (StringUtils.isBlank(dto.getOrgSidPath())) {
// 取出当前登录用户信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
//根据staffSid获取用户的组织全路径
@ -669,6 +669,14 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//查询该申请中的车架号是否被锁定
List<AdCarListDto> carList = dto.getCarList();
for (AdCarListDto adCarListDto : carList) {
Integer count = baseVehicleTempstateFeign.selectByVin(adCarListDto.getVin()).getData();
if (count > 0) {
return rb.setMsg("该申请车架号中存在审核中,请重新选择!");
}
}
//新增修改保存
ResultBean<String> resultBean = saveArrearsApply(dto);
if (!resultBean.getSuccess()) {
@ -679,9 +687,13 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
BaseVehicleTempstateDto baseVehicleTempstateDto = new BaseVehicleTempstateDto();
baseVehicleTempstateDto.setBusSid(businessSid);
baseVehicleTempstateDto.setTempStateKey(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getCode());
baseVehicleTempstateDto.setTempStateValue(VehicleStateTempOrLast.PaymentEnum.ARREARS_CARRY_VEHICLE.getRemarks());
baseVehicleTempstateDto.setTempKey("1");
baseVehicleTempstateDto.setTempValue("待审核");
List<BusArrearsCarryVehicleDetailsVo> busArrearsCarryVehicleDetailsVos = busArrearsCarryVehicleDetailsService.selByArrearsSid(busArrearsCarryVehicleApply.getSid());
for (BusArrearsCarryVehicleDetailsVo busArrearsCarryVehicleDetailsVo : busArrearsCarryVehicleDetailsVos) {
baseVehicleTempstateDto.setVehSid(busArrearsCarryVehicleDetailsVo.getVehicleSid());
baseVehicleTempstateDto.setVinNo(busArrearsCarryVehicleDetailsVo.getVinNo());
baseVehicleTempstateFeign.save(baseVehicleTempstateDto);
}
baseMapper.updateType(businessSid);
@ -1109,6 +1121,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busArrearsCarryVehicleApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid());
} else {
messageFlowableQuery.setMsgContent(busArrearsCarryVehicleApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
@ -1136,6 +1149,11 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
if (!resultBean.getSuccess()) {
return rb.setMsg("操作失败!");
}
String nextNodeUserSids = resultBean.getData().getNextNodeUserSids();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busArrearsCarryVehicleApply.getCreateBySid())) {
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
return rb.success().setData(resultBean.getData());
}
@ -1165,6 +1183,7 @@ public class BusArrearsCarryVehicleApplyService extends MybatisBaseService<BusAr
return rb.setMsg(resultBean.getMsg());
}
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
baseVehicleTempstateFeign.delByBusSid(busArrearsCarryVehicleApply.getSid());
return rb.success().setData(resultBean.getData());
}
}

12
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AddInvoicedApplyDto.java

@ -25,6 +25,18 @@ public class AddInvoicedApplyDto implements Dto {
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("开票状态")
private String billState;
@ApiModelProperty("开票状态")
private String billStateKey;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("开票金额合计")
private String totalBillMoney;
@ApiModelProperty("车辆集合")
private List<AppVinListDto> vinList;

11
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoDto.java

@ -15,7 +15,7 @@ public class AppBillApplicationIInfoDto implements Dto {
private String sid;
@ApiModelProperty("用户sid")
private String createBySid;
private String userSid;
@ApiModelProperty("合同sid")
private String contractSid;
@ -43,7 +43,11 @@ public class AppBillApplicationIInfoDto implements Dto {
@ApiModelProperty("开票状态")
@JsonProperty("invoiceState")
private String billState;
private String billState; // 开票状态
@ApiModelProperty("开票状态")
@JsonProperty("invoiceStateKey")
private String billStateKey;// 开票状态key
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ -61,4 +65,7 @@ public class AppBillApplicationIInfoDto implements Dto {
@JsonProperty("procInsId")
private String procInstSid;
@ApiModelProperty("用户部门路径")
private String orgSidPath;
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java

@ -11,6 +11,9 @@ import java.util.List;
public class AppBillApplicationIInfoVo implements Vo {
private static final long serialVersionUID = 2940544958680782026L;
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("用户sid")
private String createBySid;
@ -41,6 +44,9 @@ public class AppBillApplicationIInfoVo implements Vo {
@ApiModelProperty("开票状态")
private String billState;
@ApiModelProperty("开票状态")
private String billStateKey;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ -54,7 +60,7 @@ public class AppBillApplicationIInfoVo implements Vo {
private String taskId;
@ApiModelProperty("流程实列id")
private String procInstSid;
private String procInstId;
}

14
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageInfoQuery.java

@ -0,0 +1,14 @@
package com.yxt.anrui.fin.api.finbillapplication;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppBillApplicationPageInfoQuery implements Query {
private static final long serialVersionUID = 2215486698112622511L;
@ApiModelProperty("")
private String sid;
}

1
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListDto.java

@ -1,6 +1,5 @@
package com.yxt.anrui.fin.api.finbillapplication;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

7
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.fin.api.finbillapplication;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -10,7 +11,7 @@ public class AppVinListVo implements Vo {
private static final long serialVersionUID = -8613016702728614645L;
@ApiModelProperty("车架号")
private String vin;
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ -19,8 +20,8 @@ public class AppVinListVo implements Vo {
private String invoiceNameKey;
@ApiModelProperty("开票类型")
private String invoiceType;
private String billTypeValue;
@ApiModelProperty("开票类型")
private String invoiceTypeKey;
private String billTypeKey;
}

24
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplication.java

@ -72,24 +72,28 @@ public class FinBillApplication extends BaseEntity {
private BigDecimal totalBillMoney; // 开票金额合计
@ApiModelProperty("开票状态")
private String billState; // 开票状态
@ApiModelProperty("开票状态")
private String billStateKey;// 开票状态key
@ApiModelProperty("车辆总台数")
private Integer num; // 车辆总台数
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("开票公共表sid")
private String billAppPublicSid; // 开票公共表sid
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("环节定义的sid")
private String nodeSid;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
@ApiModelProperty(value = "是否延迟开票")
private Integer isDelayBill;
@ApiModelProperty(value = "节点状态")
private String nodeState;
@ApiModelProperty(value = "是否延迟开票")
private Integer isDelayBill;
@ApiModelProperty("当前用户部门全路径")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
private String nodeId;
@ApiModelProperty(value = "流程id")
private String procDefId;
@ApiModelProperty(value = "实例id")
private String procInstId;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "当前用户部门全路径")
private String orgSidPath;
}

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java

@ -114,6 +114,10 @@ public interface FinBillApplicationFeign {
public ResultBean flowRecord( @ApiParam(value = "流程实例id")@PathVariable(value = "procInsId")String procInsId,
@ApiParam(value = "目前没用")@PathVariable(value = "deployId")String deployId);*/
@ApiOperation("提交开票申请审批流程")
@PostMapping("/submitBillApplication")
public ResultBean submitBillApplication(@RequestBody @Valid SubmitBillApplicationDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody FinBillCompleteDto query);
@ -147,9 +151,9 @@ public interface FinBillApplicationFeign {
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(@RequestBody PagerQuery<AppBillApplicationPageQuery> pagerQuery);
@ApiOperation("手机端-初始化 开票申请/详情")
@GetMapping("/getInvoicedApply/{sid}")
@GetMapping("/getInvoicedApply")
@ResponseBody
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(@PathVariable("sid") String sid);
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(@SpringQueryMap AppBillApplicationPageInfoQuery query);
@ApiOperation("移动端-保存开票申请")
@PostMapping("/saveInvoicedApplyInfo")

8
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java

@ -81,6 +81,12 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
return null;
}
@Override
public ResultBean submitBillApplication(SubmitBillApplicationDto dto) {
return null;
}
@Override
public ResultBean complete(FinBillCompleteDto query) {
return null;
@ -117,7 +123,7 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
}
@Override
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String contractSid) {
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(AppBillApplicationPageInfoQuery query) {
return null;
}

16
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/SubmitBillApplicationDto.java

@ -0,0 +1,16 @@
package com.yxt.anrui.fin.api.finbillapplication;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class SubmitBillApplicationDto extends AppBillApplicationIInfoDto {
private static final long serialVersionUID = -6842441201786563058L;
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/SubmitFinBillApplicationDto.java

@ -13,7 +13,7 @@ import lombok.Data;
*/
@ApiModel("提交")
@Data
public class SubmitFinBillApplicationDto extends FinBillApplicationDto {
public class SubmitFinBillApplicationDto extends AppBillApplicationIInfoDto {
private static final long serialVersionUID = 315255996193475787L;
/* @ApiModelProperty("业务sid")

2
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/flowable/FinBillNodeQuery.java

@ -2,6 +2,7 @@ package com.yxt.anrui.fin.api.finbillapplication.flowable;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@ -10,6 +11,7 @@ import javax.validation.constraints.NotBlank;
* @Date 2022/9/6 15:04
* @Description
*/
@Data
public class FinBillNodeQuery implements Query {
private static final long serialVersionUID = 9117613683840483366L;

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java

@ -66,7 +66,7 @@ public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication>
int updateFlowFiled(Map<String, Object> map);
IPage<AppBillApplicationPageVo> getInvoicedApplyList(IPage<AppBillApplicationPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppBillApplicationPageVo> qw);
IPage<AppBillApplicationPageVo> getInvoicedApplyList(IPage<AppBillApplicationPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppBillApplicationPageVo> qw, @Param("name") String name);
AppBillApplicationIInfoVo getInvoicedApply(@Param("sid") String sid);
}

22
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml

@ -21,9 +21,9 @@
<select id="getInvoicedApplyList"
resultType="com.yxt.anrui.fin.api.finbillapplication.AppBillApplicationPageVo">
SELECT
fba.contractSid,
if(length(fba.nodeState) > 0, nodeState, '待提交'),
if(length(fba.nodeState) > 0, true , false ) as isShowUpData,
fba.sid as contractSid,
if(length(fba.nodeState) > 0, nodeState, '待提交') as nodeState,
if(length(fba.nodeState) > 0, false ,true ) as isShowUpData,
fba.contractNo,
fba.customerName,
fba.num,
@ -32,7 +32,17 @@
fba.applyDate,
fba.createBySid
FROM fin_bill_application fba
<where>${ew.sqlSegment}</where>
<where>
${ew.sqlSegment}
<if test="name != null and name != ''">
and concat(IFNULL(contractNo
, '')
, ifnull(customerName
, '')) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
</select>
<select id="getInvoicedApply"
@ -44,12 +54,12 @@
<update id="updateFlowFiled">
UPDATE fin_bill_application
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
SET nodeState=#{nodeState}, nodeId=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}

10
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java

@ -102,6 +102,12 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
return finBillApplicationService.submitFinBillApplication(dto);
}
@Override
public ResultBean submitBillApplication(SubmitBillApplicationDto dto) {
return finBillApplicationService.submitBillApplication(dto);
}
@Override
public ResultBean complete(FinBillCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
@ -147,8 +153,8 @@ public class FinBillApplicationRest implements FinBillApplicationFeign {
}
@Override
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String sid) {
return finBillApplicationService.getInvoicedApply(sid);
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(AppBillApplicationPageInfoQuery query) {
return finBillApplicationService.getInvoicedApply(query);
}
@Override

284
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -29,12 +29,14 @@ 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.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
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.basevehicletempstate.BaseVehicleTempstateDto;
import com.yxt.anrui.base.api.commonappendix.*;
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.api.commoncontract.CommonContractVo;
import com.yxt.anrui.base.common.enums.VehicleStateTempOrLast;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AdCarListDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.BusAdvanceGinvoiceapply;
import com.yxt.anrui.buscenter.api.busginvoiceapplyvehicle.BusGinvoiceapplyVehicleDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign;
@ -697,7 +699,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillApplication finBillApplication = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("contractSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
bv.setFormVariables(variables);
bv.setOrgSidPath(finBillApplication.getOrgSidPath());
@ -715,7 +717,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(finBillApplication.getProcDefId());
ufVo.setProcInsId(finBillApplication.getProcInstSid());
ufVo.setProcInsId(finBillApplication.getProcInstId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
@ -779,7 +781,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BeanUtil.copyProperties(query, flowTaskVo);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("contractSid", businessSid);
appMap.put("sid", businessSid);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
@ -795,7 +797,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = finBillApplication.getProcInstSid();
String procId = finBillApplication.getProcInstId();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(finBillApplication.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
@ -871,85 +873,85 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
public ResultBean submitFinBillApplication(SubmitFinBillApplicationDto 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();
dto.setOrgSidPath(orgSidPath);
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, finBillApplication);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
ResultBean<String> resultBean = saveOrUpdateDto(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("contractSid", businessSid);
variables.put("app", appMap);
//用户的部门全路径sid
bv.setOrgSidPath(orgSidPath);
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(dto.getUserSid());
bv.setFormVariables(variables);
//流程定义id
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
if (!voResultBean.getSuccess()) {
return rb.setMsg(voResultBean.getMsg());
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finBillApplication = 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(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("开票申请");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
}
if (r == 2) {
if (StringUtils.isBlank(dto.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
bv.setTaskId(finBillApplication.getTaskId());
bv.setTaskDefKey(finBillApplication.getNodeSid());
bv.setComment("重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
// //根据用户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();
// dto.setOrgSidPath(orgSidPath);
// FinBillApplication finBillApplication = fetchBySid(dto.getSid());
// int r = submitBusinessData(dto, finBillApplication);
// if (r == 3) {
// return rb.setMsg("该申请不存在");
// }
// if (r == 0) {
// return rb.setMsg("操作失败!提交的数据不一致");
// }
// //新增修改保存
// ResultBean<String> resultBean = saveOrUpdateDto(dto);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
//
// String businessSid = resultBean.getData();
// //创建BusinessVariables实体对象
// BusinessVariables bv = new BusinessVariables();
// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
// Map<String, Object> variables = new HashMap<>();
// Map<String, Object> appMap = new HashMap<>();
// appMap.put("contractSid", businessSid);
// variables.put("app", appMap);
// //用户的部门全路径sid
// bv.setOrgSidPath(orgSidPath);
// //业务sid
// bv.setBusinessSid(businessSid);
// //用户sid
// bv.setUserSid(dto.getUserSid());
// bv.setFormVariables(variables);
// //流程定义id
// bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
// if (r == 1) {
// ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
// if (!voResultBean.getSuccess()) {
// return rb.setMsg(voResultBean.getMsg());
// }
// UpdateFlowFieldVo ufVo = voResultBean.getData();
// updateFlowFiled(BeanUtil.beanToMap(ufVo));
// //极光推送
// finBillApplication = 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(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
// messageFlowableQuery.setMsgTitle("开票申请");
// ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
// return voResultBean;
// }
// if (r == 2) {
// if (StringUtils.isBlank(dto.getInstanceId())) {
// return rb.setMsg("参数错误:instanceId");
// }
// bv.setTaskId(finBillApplication.getTaskId());
// bv.setTaskDefKey(finBillApplication.getNodeSid());
// bv.setComment("重新提交");
// bv.setInstanceId(dto.getInstanceId());
// return complete(bv);
// }
return null;
}
private synchronized int submitBusinessData(SubmitFinBillApplicationDto dto, FinBillApplication finBillApplication) {
private synchronized int submitBusinessData(SubmitBillApplicationDto dto, FinBillApplication finBillApplication) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
@ -979,10 +981,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
if (StringUtils.isNotBlank(pagerQuery.getParams().getUseOrgSid())) {
qw.eq("fba.useOrgSid", pagerQuery.getParams().getUseOrgSid());
}
if (StringUtils.isNotBlank(pagerQuery.getParams().getName())) {
qw.like("fba.customerName", pagerQuery.getParams().getName());
}
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw);
String name = pagerQuery.getParams().getName();
IPage<AppBillApplicationPageVo> iPage = baseMapper.getInvoicedApplyList(page, qw,name);
List<AppBillApplicationPageVo> records = iPage.getRecords();
for (AppBillApplicationPageVo record : records) {
String createBySid = record.getCreateBySid();
@ -992,16 +992,22 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return iPage;
}
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String sid) {
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(AppBillApplicationPageInfoQuery query) {
String sid = query.getSid();
ResultBean<AppBillApplicationIInfoVo> rb = ResultBean.fireFail();
AppBillApplicationIInfoVo vo = baseMapper.getInvoicedApply(sid);
List<AppVinListVo> vinList = vo.getVinList();
List<AppVinListVo> vinList = new ArrayList<>();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(sid);
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
AppVinListVo appVinListVo = new AppVinListVo();
BeanUtil.copyProperties(finBillVehicleVo, appVinListVo, "sid");
appVinListVo.setVIN(finBillVehicleVo.getVIN());
appVinListVo.setInvoiceName(finBillVehicleVo.getBillName());
appVinListVo.setInvoiceNameKey(finBillVehicleVo.getBillNameSid());
appVinListVo.setBillTypeKey(finBillVehicleVo.getBillTypeKey());
appVinListVo.setBillTypeValue(finBillVehicleVo.getBillTypeValue());
vinList.add(appVinListVo);
}
vo.setVinList(vinList);
List<String> customerInvoiceApplyImages = new ArrayList<>();
List<String> registerContractImages = new ArrayList<>();
List<String> invoiceApplyConfirmImages = new ArrayList<>();
@ -1029,7 +1035,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
String s1 = "";//客户开票申请书
String s2 = "";//车辆登记合同
String s3 = "";//开票信息确认书
String userSid = dto.getCreateBySid();//用户sid
String userSid = dto.getUserSid();//用户sid
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();//分公司sid
if (StringUtils.isBlank(dto.getSid())) {
FinBillApplication finBillApplication = new FinBillApplication();
@ -1042,6 +1048,8 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillVehicle finBillVehicle = new FinBillVehicle();
BeanUtil.copyProperties(appVinListDto, finBillVehicle, "sid");
finBillVehicle.setBillAppSid(sid);
finBillVehicle.setBillName(appVinListDto.getInvoiceName());
finBillVehicle.setBillNameSid(appVinListDto.getInvoiceNameKey());
finBillVehicleService.save(finBillVehicle);
}
@ -1090,6 +1098,17 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, finBillApplication, "sid");
String sid = finBillApplication.getSid();
finBillVehicleService.delByBillAppSid(sid);
List<AppVinListDto> vinList = dto.getVinList();
for (AppVinListDto appVinListDto : vinList) {
FinBillVehicle finBillVehicle = new FinBillVehicle();
BeanUtil.copyProperties(appVinListDto, finBillVehicle, "sid");
finBillVehicle.setBillName(appVinListDto.getInvoiceName());
finBillVehicle.setBillNameSid(appVinListDto.getInvoiceNameKey());
finBillVehicle.setBillAppSid(sid);
finBillVehicleService.save(finBillVehicle);
}
finBillFileService.deleteByFinAppSid(sid);
List<String> INVOICE_KHKPSQS = dto.getCustomerInvoiceApplyImages();
if (INVOICE_KHKPSQS.size() > 0) {
@ -1151,6 +1170,85 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return rb.success();
}
public ResultBean submitBillApplication(SubmitBillApplicationDto 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();
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, finBillApplication);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
dto.setOrgSidPath(orgSidPath);
//新增修改保存
ResultBean<String> resultBean = saveInvoicedApplyInfo(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("sid", businessSid);
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
finBillApplication = 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(finBillApplication.getCreateByName() + "提交的" + 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(finBillApplication.getTaskId());
bv.setTaskDefKey(finBillApplication.getNodeId());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
/* public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
ResultBean rb = ResultBean.fireFail();

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillfile/FinBillFileService.java

@ -132,7 +132,7 @@ public class FinBillFileService extends MybatisBaseService<FinBillFileMapper, Fi
String urlPrefix = fileUploadComponent.getUrlPrefix();
path = urlPrefix + fileUrl;
String fileSid = finBillFileDetailsVo.getFileSid();
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchSid(fileSid);
ResultBean<CommonAppendixVo> commonAppendixVoResultBean = commonAppendixFeign.fetchSid(billAppSid);
CommonAppendixVo data = commonAppendixVoResultBean.getData();
BeanUtil.copyProperties(data,finBillFileAppendxVo);
finBillFileAppendxVo.setFilePath(path);

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java

@ -11,9 +11,13 @@ import java.util.List;
public class BillApplicationIInfoDto implements Dto {
private static final long serialVersionUID = -3912119646277339550L;
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("用户sid")
@JsonProperty("userSid")
private String createBySid;
private String userSid;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
@ -43,7 +47,11 @@ public class BillApplicationIInfoDto implements Dto {
@ApiModelProperty("开票状态")
@JsonProperty("invoiceState")
private String billState;
private String billState; // 开票状态
@ApiModelProperty("开票状态")
@JsonProperty("invoiceStateKey")
private String billStateKey;// 开票状态key
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java

@ -11,6 +11,9 @@ import java.util.List;
public class BillApplicationIInfoVo implements Vo {
private static final long serialVersionUID = 4350954980382638919L;
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("用户sid")
@JsonProperty("userSid")
private String createBySid;
@ -45,6 +48,10 @@ public class BillApplicationIInfoVo implements Vo {
@JsonProperty("invoiceState")
private String billState;
@ApiModelProperty("开票状态")
@JsonProperty("invoiceStateKey")
private String billStateKey;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ -60,7 +67,7 @@ public class BillApplicationIInfoVo implements Vo {
@ApiModelProperty("流程实列id")
@JsonProperty("procInsId")
private String procInstSid;
private String procInstId;
@ApiModelProperty("合同sid")
@JsonProperty("contractSid")

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageInfoQuery.java

@ -0,0 +1,13 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BillApplicationPageInfoQuery implements Query {
private static final long serialVersionUID = -9141834631431139059L;
@ApiModelProperty("")
private String sid;
}

1
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageVo.java

@ -38,7 +38,6 @@ public class BillApplicationPageVo implements Vo {
private String billState;
@ApiModelProperty("申请人")
@JsonProperty("")
private String applyName;
@ApiModelProperty("时间")

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java

@ -35,9 +35,9 @@ public interface InvoicedFeign {
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(@RequestBody PagerQuery<BillApplicationPageQuery> pagerQuery);
@ApiOperation("手机端-初始化 开票申请/详情")
@GetMapping("/getInvoicedApply/{contractSid}")
@GetMapping("/getInvoicedApply")
@ResponseBody
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(@PathVariable("contractSid") String contractSid);
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(@SpringQueryMap BillApplicationPageInfoQuery query);
@ApiOperation("移动端-保存开票申请")
@PostMapping("/saveInvoicedApplyInfo")

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java

@ -8,6 +8,7 @@ import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredApplyInfoVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.stereotype.Component;
/**
@ -23,7 +24,7 @@ public class InvoicedFeignFallback implements InvoicedFeign {
}
@Override
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(BillApplicationPageInfoQuery query) {
return null;
}

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/flowable/SubmitInvoicedInfoDto.java

@ -1,6 +1,7 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -10,7 +11,7 @@ import lombok.Data;
* @Description
*/
@Data
public class SubmitInvoicedInfoDto {
public class SubmitInvoicedInfoDto extends BillApplicationIInfoDto {
private static final long serialVersionUID = -7454917532669488852L;
@ApiModelProperty("意见")

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java

@ -32,8 +32,8 @@ public class InvoicedRest implements InvoicedFeign {
}
@Override
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
return invoicedService.getInvoicedApply(contractSid);
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(BillApplicationPageInfoQuery query) {
return invoicedService.getInvoicedApply(query);
}
@Override

33
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -1,7 +1,10 @@
package com.yxt.anrui.terminal.biz.autoservice.invoiced;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.yxt.anrui.base.api.commoncontract.flowable.AppSubmitContractInfoDto;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageQuery;
import com.yxt.anrui.buscenter.api.busadvanceginvoiceapply.AppAdvanceInvoicePageVo;
import com.yxt.anrui.fin.api.finbillapplication.*;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillCompleteDto;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
@ -13,10 +16,8 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppScmVehicleExamineInfoVo;
import com.yxt.anrui.scm.api.scmvehicleexamine.AppScmVehicleExaminePageQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationIInfoVo;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationPageQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.BillApplicationPageVo;
import com.yxt.anrui.terminal.api.autoservice.advanceInvoice.AdvanceInvoicePageVo;
import com.yxt.anrui.terminal.api.autoservice.invoiced.*;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.InvoicedDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.InvoicedQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.InvoicedTaskQuery;
@ -31,8 +32,11 @@ 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;
/**
* @Author dimengzhe
@ -53,15 +57,20 @@ public class InvoicedService {
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) {
ResultBean<PagerVo<BillApplicationPageVo>> rb = ResultBean.fireFail();
PagerQuery<AppBillApplicationPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppBillApplicationPageVo>> invoicedApplyList = finBillApplicationFeign.getInvoicedApplyList(pq);
PagerVo<BillApplicationPageVo> vo = CoverUtils.selectPagerVo(invoicedApplyList.getData());
return rb.success().setData(vo);
ResultBean<PagerVo<AppBillApplicationPageVo>> resultBean = finBillApplicationFeign.getInvoicedApplyList(pq);
List<BillApplicationPageVo> voList = Optional.ofNullable(resultBean.getData().getRecords()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), BillApplicationPageVo.class)).collect(Collectors.toList());
PagerVo<BillApplicationPageVo> v = new PagerVo<>();
BeanUtil.copyProperties(resultBean.getData(), v);
v.setRecords(voList);
return rb.success().setData(v);
}
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(BillApplicationPageInfoQuery query) {
ResultBean<BillApplicationIInfoVo> rb = ResultBean.fireFail();
BillApplicationIInfoVo vo = new BillApplicationIInfoVo();
ResultBean<AppBillApplicationIInfoVo> resultBean = finBillApplicationFeign.getInvoicedApply(contractSid);
AppBillApplicationPageInfoQuery appBillApplicationPageInfoQuery = new AppBillApplicationPageInfoQuery();
BeanUtil.copyProperties(query,appBillApplicationPageInfoQuery);
ResultBean<AppBillApplicationIInfoVo> resultBean = finBillApplicationFeign.getInvoicedApply(appBillApplicationPageInfoQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
@ -165,9 +174,9 @@ public class InvoicedService {
public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) {
ResultBean rb = ResultBean.fireFail();
SubmitFinBillApplicationDto submitFinBillApplicationDto = new SubmitFinBillApplicationDto();
BeanUtil.copyProperties(dto, submitFinBillApplicationDto);
ResultBean resultBean = finBillApplicationFeign.submitFinBillApplication(submitFinBillApplicationDto);
SubmitBillApplicationDto submitBillApplicationDto = new SubmitBillApplicationDto();
BeanUtil.copyProperties(dto, submitBillApplicationDto);
ResultBean resultBean = finBillApplicationFeign.submitBillApplication(submitBillApplicationDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}

Loading…
Cancel
Save