Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
3c0cea1987
  1. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAttachTypeEnum.java
  2. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java
  3. 32
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  4. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  5. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java
  6. 128
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleRest.java
  7. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateMapper.java
  8. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicletempstate/BaseVehicleTempstateService.java
  9. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  10. 4
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java
  11. 10
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  12. 64
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoDto.java
  13. 60
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationIInfoVo.java
  14. 19
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageQuery.java
  15. 45
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageVo.java
  16. 27
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListDto.java
  17. 26
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppVinListVo.java
  18. 21
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeign.java
  19. 15
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/FinBillApplicationFeignFallback.java
  20. 28
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.java
  21. 80
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationMapper.xml
  22. 150
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationRest.java
  23. 174
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  24. 180
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeService.java
  25. 9
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdcustomer/BdCustomerService.java
  26. 12
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/bdsupplier/BdSupplierService.java
  27. 25
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/orgorganizations/OrgOrganizationsService.java
  28. 147
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/stkinstock/STKInStockService.java
  29. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  30. 19
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java
  31. 15
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java
  32. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java
  33. 4
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java
  34. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/ScmSpecialRebateWithFeign.java
  35. 6
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/ScmSpecialRebateWithFeignFallback.java
  36. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/TemporaryExitPermitInfo.java
  37. 23
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java
  38. 103
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java
  39. 6
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java
  40. 23
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithService.java
  41. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyMapper.xml
  42. 13
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java
  43. 16
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  44. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.xml
  45. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyService.java
  46. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoDto.java
  47. 69
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationIInfoVo.java
  48. 19
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageQuery.java
  49. 50
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageVo.java
  50. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeign.java
  51. 54
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/InvoicedFeignFallback.java
  52. 29
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListDto.java
  53. 30
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListVo.java
  54. 19
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedRest.java
  55. 43
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/commonappendix/CommonAttachTypeEnum.java

@ -38,6 +38,9 @@ public enum CommonAttachTypeEnum {
CONTRACT("0001", "合同"),
CREDIT("0002", "人行征信"),
INVOICE("0003", "开票申请附件"),
INVOICE_KHKPSQS("0003_1", "客户开票申请书"),
INVOICE_CLDJHT("0003_2", "车辆登记合同"),
INVOICE_KPXXQRS("0003_3", "开票信息确认书"),
WITNESS("0004", "跟进记录的材料"),
ADVANCE_GIN("0005", "提前开票附件"),
CUSTOMER_FILE("0006", "客户资料附件"),

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/common/enums/CommonContractEnum.java

@ -14,7 +14,8 @@ public class CommonContractEnum {
/**
* 新车买卖合同
*/
XC_CONTRACT("001", "新车买卖合同(订车、现车、欠款)");
DC_CONTRACT("010", "新车买卖合同(订车)"),
XC_CONTRACT("009", "新车买卖合同(现车)");
/**
* code值

32
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java

@ -370,7 +370,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
String callOutOrgSid = baseAccadjApply.getCallOutOrgSid();
List<String> purchaseSids = baseAccadjApplyeVehService.fetchByMainSid(baseAccadjApply.getSid());
Boolean i = false;
if (baseInternalPurchaseVehicles != null){
if (baseInternalPurchaseVehicles != null) {
if (baseInternalPurchaseVehicles.size() > 0) {
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney();
@ -386,7 +386,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
}
Map<String, Object> map = new HashMap<>();
Map<String, Object> formVariables = bv.getFormVariables();
if (formVariables == null){
if (formVariables == null) {
map.put("isAdj", i);
bv.setFormVariables(map);
}
@ -411,7 +411,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
baseInternalPurchaseVehicles1.add(baseInternalPurchaseVehicle);
}
//推送金蝶采购退库单
StkInStock stkInStock=new StkInStock();
StkInStock stkInStock = new StkInStock();
/**
* // 入库日期:FDate (必填项)
*/
@ -435,9 +435,9 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
/**
* // 物料列表:FInStockEntry (必填项)
*/
List<StkInStock.FInStockEntry> fInStockEntry=new ArrayList<>();
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>();
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles1) {
StkInStock.FInStockEntry sf=new StkInStock.FInStockEntry();
StkInStock.FInStockEntry sf = new StkInStock.FInStockEntry();
/**
* 车辆类型
*/
@ -655,19 +655,21 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
bv.setModelId(ProcDefEnum.BASEACCADJAPPLY.getProDefId());
List<BaseInternalPurchaseVehicle> baseInternalPurchaseVehicles = query.getBaseInternalPurchaseVehicles();
Boolean i = false;
if (baseInternalPurchaseVehicles.size() > 0) {
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney();
String sid = baseInternalPurchaseVehicle.getSid();
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicleService.fetchBySid(sid);
String witPinMoney1 = baseInternalPurchaseVehicle1.getWitPinMoney();
if (!witPinMoney.equals(witPinMoney1)) {
i = true;
break;
if (baseInternalPurchaseVehicles != null) {
if (baseInternalPurchaseVehicles.size() > 0) {
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles) {
String witPinMoney = baseInternalPurchaseVehicle.getWitPinMoney();
String sid = baseInternalPurchaseVehicle.getSid();
BaseInternalPurchaseVehicle baseInternalPurchaseVehicle1 = baseInternalPurchaseVehicleService.fetchBySid(sid);
String witPinMoney1 = baseInternalPurchaseVehicle1.getWitPinMoney();
if (!witPinMoney.equals(witPinMoney1)) {
i = true;
break;
}
}
}
bv.getFormVariables().put("isAdj", i);
}
bv.getFormVariables().put("isAdj", i);
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());

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

@ -288,6 +288,7 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
scmApplyInbound.setInsideCode(vo.getInsideCode());
scmApplyInbound.setManPurOrderTypeKey(ManPurOrderType.ManOrderType.TC_ORDER.getCode());
scmApplyInbound.setManPurOrderTypeValue(ManPurOrderType.ManOrderType.TC_ORDER.getRemarks());
scmApplyInbound.setUseOrgSid(stringResultBean.getData());
scmApplyInboundFeign.saveOrUpdateApplyInBound(scmApplyInbound);
}
}

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufacturerretware/BaseManufacturerRetwareService.java

@ -248,7 +248,8 @@ public class BaseManufacturerRetwareService extends MybatisBaseService<BaseManuf
}
String vinNo = dto.getVinNo();
String mainSid = dto.getMainSid();
BaseVehicle baseVehicle = baseVehicleService.selectByVinNo(vinNo);
BaseManufacturerRetware baseManufacturerRetware = fetchBySid(mainSid);
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(vinNo,baseManufacturerRetware.getCreateOrgSid());
String s = baseManufacturerRetwareVehService.fetchByVinNo(vinNo);
if (StringUtils.isNotBlank(s)){
return rb.setMsg("该车辆已确认");
@ -305,7 +306,7 @@ public class BaseManufacturerRetwareService extends MybatisBaseService<BaseManuf
/**
* 物料说明:FMaterialDesc
*/
fp.setFMaterialDesc(baseVehicle.getConfigName());
fp.setFMaterialDesc(baseVehicle.getModelName());
/**
* 批号:FLot
*/

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

@ -160,17 +160,14 @@ public class BaseVehicleRest implements BaseVehicleFeign {
@Override
public ResultBean saveOrUpdate(List<BaseVehicleDto> dto, String eventType) {
ResultBean rb = ResultBean.fireFail();
if (null == dto || dto.size() <= 0 || eventType.isEmpty()) {
return rb.setMsg("参数错误");
}
for (BaseVehicleDto baseVehicleDto : dto) {
BaseVehicle baseVehicle = baseVehicleService.selectByVinNoAndOrgSid(baseVehicleDto.getVinNo(), baseVehicleDto.getUseOrgSid());
if (null == baseVehicle)
baseVehicle = new BaseVehicle();
baseVehicleService.copyToBean(baseVehicleDto, baseVehicle);
//BeanUtil.copyProperties(baseVehicleDto, baseVehicle, new CopyOptions().setIgnoreNullValue(true));
//更新车辆台账数据
@ -187,68 +184,75 @@ public class BaseVehicleRest implements BaseVehicleFeign {
baseVehicleService.saveVeh_tc(baseVehicle);
}
//入账生成台账 //外采入库生成台账
try{
if (eventType.equals(OperVehicleState.EventType.RZ_SAVEVEH.getCode())||
eventType.equals(OperVehicleState.EventType.WC_SAVEVEH.getCode())){
StkInStock stkInStock=new StkInStock();
/**
* // 入库日期:FDate (必填项)
*/
stkInStock.setFDate(DateUtil.now());
/**
* // 采购部门:FPurchaseDeptId (必填项)
*/
stkInStock.setFPurchaseDeptId("05.04");
/**
* //采购组织:FPurchaseOrgId (必填项)
*/
stkInStock.setFPurchaseOrgId("101");
/**
* // 供应商:FSupplierId (必填项)
*/
stkInStock.setFSupplierId("010001");
/**
* //分配目标组织:TOrgId (必填项)
*/
stkInStock.setTOrgId("100012");
/**
* // 物料列表:FInStockEntry (必填项)
*/
List<StkInStock.FInStockEntry> fInStockEntry=new ArrayList<>();
for (BaseVehicleDto baseVehicleDto : dto) {
StkInStock.FInStockEntry sf=new StkInStock.FInStockEntry();
/**
* 车辆类型
*/
sf.setCllx("03");
/**
* // 批号:FLot
*/
sf.setFLot("11112222");
/**
* // 物料编码:FMaterialId (必填项)
*/
sf.setFMaterialId(baseVehicleDto.getVinNo());
/**
* // 仓库:FStockId
*/
sf.setFStockId("CK001");
/**
* 物料分组
*/
sf.setWlfz("01");
fInStockEntry.add(sf);
}
stkInStock.setFInStockEntry(fInStockEntry);
finKingDeeFeign.draftStkInStock(stkInStock);
}
}catch (Exception e){
e.printStackTrace();
}
if (eventType.equals(OperVehicleState.EventType.RZ_SAVEVEH.getCode())||
eventType.equals(OperVehicleState.EventType.WC_SAVEVEH.getCode())){
kingdeeStkInStock(dto);
}
return rb.success().setMsg("保存成功");
}
/**
* 推送金蝶采购入库单
* @param dto
*/
private void kingdeeStkInStock(List<BaseVehicleDto> dto ) {
try{
StkInStock stkInStock=new StkInStock();
/**
* // 入库日期:FDate (必填项)
*/
stkInStock.setFDate(DateUtil.now());
/**
* // 采购部门:FPurchaseDeptId (必填项)
*/
stkInStock.setFPurchaseDeptId("05.04");
/**
* //采购组织:FPurchaseOrgId (必填项)
*/
stkInStock.setFPurchaseOrgId("101");
/**
* // 供应商:FSupplierId (必填项)
*/
stkInStock.setFSupplierId("010001");
/**
* //分配目标组织:TOrgId (必填项)
*/
stkInStock.setTOrgId("100012");
/**
* // 物料列表:FInStockEntry (必填项)
*/
List<StkInStock.FInStockEntry> fInStockEntry=new ArrayList<>();
for (BaseVehicleDto baseVehicleDto : dto) {
StkInStock.FInStockEntry sf=new StkInStock.FInStockEntry();
/**
* 车辆类型
*/
sf.setCllx("03");
/**
* // 批号:FLot
*/
sf.setFLot("11112222");
/**
* // 物料编码:FMaterialId (必填项)
*/
sf.setFMaterialId(baseVehicleDto.getVinNo());
/**
* // 仓库:FStockId
*/
sf.setFStockId("CK001");
/**
* 物料分组
*/
sf.setWlfz("01");
fInStockEntry.add(sf);
}
stkInStock.setFInStockEntry(fInStockEntry);
finKingDeeFeign.draftStkInStock(stkInStock);
}catch (Exception e){
e.printStackTrace();
}
}
/***
* 只是更新验车推送数据作用验车推送需要更新的字段属性
*/

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

@ -31,6 +31,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstate;
import com.yxt.anrui.base.api.basevehicletempstate.BaseVehicleTempstateVo;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@ -63,4 +64,8 @@ public interface BaseVehicleTempstateMapper extends BaseMapper<BaseVehicleTempst
@Select("select * from base_vehicle_tempstate")
List<BaseVehicleTempstateVo> selectListVo();
@Delete("delete from base_vehicle_tempstate where busSid=#{businessSid}")
void deleteByBusSid(@Param("businessSid") String businessSid);
}

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

@ -106,7 +106,7 @@ public class BaseVehicleTempstateService extends MybatisBaseService<BaseVehicleT
}
public void delByBusSid(String businessSid) {
deleteBySid(businessSid);
baseMapper.deleteByBusSid(businessSid);
}
public List<String> selectAll() {

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

@ -1379,8 +1379,13 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
//合同编号
commonContract.setContractNo(contractNo);
//合同类型
commonContract.setContractTypeKey(CommonContractEnum.contractType.XC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.XC_CONTRACT.getRemarks());
if("现车".equals(appOrderDetailsVo.getOrderType())){
commonContract.setContractTypeKey(CommonContractEnum.contractType.XC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.XC_CONTRACT.getRemarks());
}else{
commonContract.setContractTypeKey(CommonContractEnum.contractType.DC_CONTRACT.getCode());
commonContract.setContractType(CommonContractEnum.contractType.DC_CONTRACT.getRemarks());
}
//客户sid
commonContract.setCustomerSid(appOrderDetailsVo.getCustomerSid());
//业务员sid、业务员

4
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java

@ -56,8 +56,8 @@ public class BusDepositFictitious extends BaseEntity {
private String depositBillNo;
@ApiModelProperty("订金信息sid")
private String depositSid;
@ApiModelProperty("订金剩余金额")
private BigDecimal depositPrice;
/*@ApiModelProperty("订金剩余金额")
private BigDecimal depositPrice;*/
@ApiModelProperty("本次结转金额")
private BigDecimal price;
@ApiModelProperty("款项支付委托书")

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

@ -49,6 +49,7 @@ import com.yxt.anrui.base.api.commoncontract.CommonContractFeign;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDto;
import com.yxt.anrui.buscenter.api.bussalesorder.*;
@ -995,9 +996,16 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
listVos.removeAll(Collections.singleton(null));
if (!listVos.isEmpty()) {
for (AppBusSalesOrderDepositListVo listVo : listVos) {
//添加负的记录
BusDepositFictitious busDepositFictitious = new BusDepositFictitious();
BeanUtil.copyProperties(listVo, busDepositFictitious, "sid");
busDepositFictitious.setPrice(new BigDecimal(listVo.getPayMoney()).negate());
busDepositFictitious.setDepositSid(busSalesOrderDeposit.getSid());
busDepositFictitious.setDepositBillNo(listVo.getVirtualOrderId());
busDepositFictitious.setDepositBillSid(listVo.getVirtualOrderSid());
busDepositFictitiousService.save(busDepositFictitious);
//查询该虚拟订金单已使用的订金值
String depositAll = busDepositFictitiousService.selectDeposit(listVo.getVirtualOrderId());
depositAll = new BigDecimal(depositAll).subtract(new BigDecimal(listVo.getPayMoney())).toString();
//更新该虚拟订单的订金值
busDepositService.updateDeposit(depositAll, listVo.getVirtualOrderId());
}

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

@ -0,0 +1,64 @@
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;
import java.util.List;
@Data
public class AppBillApplicationIInfoDto implements Dto {
private static final long serialVersionUID = 2770580298417499804L;
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("用户sid")
private String createBySid;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("开票总价")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
private String oneBillMoney;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("车辆集合")
private List<AppVinListDto> vinList;
@ApiModelProperty("开票状态")
@JsonProperty("invoiceState")
private String billState;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同")
private List<String> registerContractImages;
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")
@JsonProperty("procInsId")
private String procInstSid;
}

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

@ -0,0 +1,60 @@
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;
import java.util.List;
@Data
public class AppBillApplicationIInfoVo implements Vo {
private static final long serialVersionUID = 2940544958680782026L;
@ApiModelProperty("用户sid")
private String createBySid;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("开票总价")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
private String oneBillMoney;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("申请日期")
private String applyDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("车辆集合")
private List<AppVinListVo> vinList;
@ApiModelProperty("开票状态")
private String billState;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同")
private List<String> registerContractImages;
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")
private String procInstSid;
}

19
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageQuery.java

@ -0,0 +1,19 @@
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 AppBillApplicationPageQuery implements Query {
private static final long serialVersionUID = -6121503838569152817L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户名称")
private String name;
@ApiModelProperty("分公司sid")
private String useOrgSid;
}

45
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finbillapplication/AppBillApplicationPageVo.java

@ -0,0 +1,45 @@
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;
@Data
public class AppBillApplicationPageVo implements Vo {
private static final long serialVersionUID = -2172829514683657296L;
@ApiModelProperty("合同sid")
private String contractSid;
@ApiModelProperty("合同状态 流程状态")
private String nodeState;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("数量")
private String num;
@ApiModelProperty("总金额")
private String totalBillMoney;
@ApiModelProperty("开票类型")
private String billState;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("时间")
private String applyDate;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("是否显示修改按钮 合同提交后/开始走流程不显示")
private boolean isShowUpData;
}

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

@ -0,0 +1,27 @@
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;
@Data
public class AppVinListDto implements Dto {
private static final long serialVersionUID = 1941205415631089700L;
@ApiModelProperty("车架号")
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型")
private String billTypeValue;
@ApiModelProperty("开票类型")
private String billTypeKey;
}

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

@ -0,0 +1,26 @@
package com.yxt.anrui.fin.api.finbillapplication;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AppVinListVo implements Vo {
private static final long serialVersionUID = -8613016702728614645L;
@ApiModelProperty("车架号")
private String vin;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型")
private String invoiceType;
@ApiModelProperty("开票类型")
private String invoiceTypeKey;
}

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

@ -71,7 +71,7 @@ public interface FinBillApplicationFeign {
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody FinBillApplicationDto dto);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ -84,7 +84,6 @@ public interface FinBillApplicationFeign {
@PostMapping("/submitFinBillApplicationPageList")
public ResultBean submitFinBillApplicationPageList(@RequestBody @Valid SubmitFinBillApplicationPageListDto dto);
*/
@ApiOperation("提交开票申请审批流程")
@PostMapping("/submitFinBillApplication")
public ResultBean submitFinBillApplication(@RequestBody @Valid SubmitFinBillApplicationDto dto);
@ -139,4 +138,22 @@ public interface FinBillApplicationFeign {
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody FinBillTaskQuery query);
/*************************App接口********************************/
@ApiOperation("移动端-获取开票申请列表")
@PostMapping("/getInvoicedApplyList")
@ResponseBody
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(@RequestBody PagerQuery<AppBillApplicationPageQuery> pagerQuery);
@ApiOperation("手机端-初始化 开票申请/详情")
@GetMapping("/getInvoicedApply/{sid}")
@ResponseBody
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(@PathVariable("sid") String sid);
@ApiOperation("移动端-保存开票申请")
@PostMapping("/saveInvoicedApplyInfo")
@ResponseBody
public ResultBean saveInvoicedApplyInfo(@Valid @RequestBody AppBillApplicationIInfoDto dto);
}

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

@ -110,4 +110,19 @@ public class FinBillApplicationFeignFallback implements FinBillApplicationFeign
public ResultBean breakProcess(FinBillTaskQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(PagerQuery<AppBillApplicationPageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String contractSid) {
return null;
}
@Override
public ResultBean saveInvoicedApplyInfo(AppBillApplicationIInfoDto dto) {
return null;
}
}

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

@ -26,14 +26,14 @@
package com.yxt.anrui.fin.biz.finbillapplication;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.fin.api.finbillapplication.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo;
import java.util.List;
import java.util.Map;
@ -54,15 +54,19 @@ import java.util.Map;
@Mapper
public interface FinBillApplicationMapper extends BaseMapper<FinBillApplication> {
//@Update("update fin_bill_application set name=#{msg} where id=#{id}")
//IPage<FinBillApplicationVo> voPage(IPage<FinBillApplication> page, @Param(Constants.WRAPPER) QueryWrapper<FinBillApplication> qw);
IPage<FinBillApplicationVo> selectPageVo(IPage<FinBillApplication> page, @Param(Constants.WRAPPER) Wrapper<FinBillApplication> qw);
List<FinBillApplicationVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinBillApplication> qw);
@Select("select * from fin_bill_application")
List<FinBillApplicationVo> selectListVo();
//@Update("update fin_bill_application set name=#{msg} where id=#{id}")
//IPage<FinBillApplicationVo> voPage(IPage<FinBillApplication> page, @Param(Constants.WRAPPER) QueryWrapper<FinBillApplication> qw);
int updateFlowFiled(Map<String, Object> map);
IPage<FinBillApplicationVo> selectPageVo(IPage<FinBillApplication> page, @Param(Constants.WRAPPER) Wrapper<FinBillApplication> qw);
List<FinBillApplicationVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<FinBillApplication> qw);
@Select("select * from fin_bill_application")
List<FinBillApplicationVo> selectListVo();
int updateFlowFiled(Map<String, Object> map);
IPage<AppBillApplicationPageVo> getInvoicedApplyList(IPage<AppBillApplicationPageQuery> page, @Param(Constants.WRAPPER) QueryWrapper<AppBillApplicationPageVo> qw);
AppBillApplicationIInfoVo getInvoicedApply(@Param("sid") String sid);
}

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

@ -1,33 +1,59 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.fin.biz.finbillapplication.FinBillApplicationMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo">
SELECT
*
FROM
fin_bill_application fba
LEFT JOIN fin_bill_vehicle fbv
ON fba.`sid` = fbv.`billAppSid` <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo">
SELECT * FROM fin_bill_application <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo">
SELECT
*
FROM
fin_bill_application fba
LEFT JOIN fin_bill_vehicle fbv
ON fba.`sid` = fbv.`billAppSid`
<where>${ew.sqlSegment}</where>
</select>
<update id="updateFlowFiled">
UPDATE fin_bill_application
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
<select id="selectListAllVo" resultType="com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo">
SELECT * FROM fin_bill_application
<where>${ew.sqlSegment}</where>
</select>
<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.contractNo,
fba.customerName,
fba.num,
fba.totalBillMoney,
fba.billState,
fba.applyDate,
fba.createBySid
FROM fin_bill_application fba
<where>${ew.sqlSegment}</where>
</select>
<select id="getInvoicedApply"
resultType="com.yxt.anrui.fin.api.finbillapplication.AppBillApplicationIInfoVo">
SELECT *
FROM fin_bill_application fba
WHERE fba.sid = #{sid}
</select>
<update id="updateFlowFiled">
UPDATE fin_bill_application
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
</mapper>

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

@ -26,6 +26,7 @@
package com.yxt.anrui.fin.biz.finbillapplication;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
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;
@ -33,6 +34,8 @@ import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillTaskQuery;
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;
@ -61,74 +64,95 @@ import java.util.List;
@RequestMapping("v1/finbillapplication")
public class FinBillApplicationRest implements FinBillApplicationFeign {
@Autowired
private FinBillApplicationService finBillApplicationService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<FinBillApplicationVo>> listPage(@RequestBody PagerQuery<FinBillApplicationQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<FinBillApplicationVo> pv = finBillApplicationService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody FinBillApplicationDto dto){
return finBillApplicationService.saveOrUpdateDto(dto);
}
@Override
@ApiOperation("根据SID获取一条记录")
@Autowired
private FinBillApplicationService finBillApplicationService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<FinBillApplicationVo>> listPage(@RequestBody PagerQuery<FinBillApplicationQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<FinBillApplicationVo> pv = finBillApplicationService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody FinBillApplicationDto dto) {
return finBillApplicationService.saveOrUpdateDto(dto);
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<FinBillApplicationDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo vo = finBillApplicationService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
public ResultBean<FinBillApplicationDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo vo = finBillApplicationService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
/*@Override
public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
return finBillApplicationService.submitFinBillApplicationPageList(dto);
}*/
@Override
public ResultBean submitFinBillApplication(SubmitFinBillApplicationDto dto) {
return finBillApplicationService.submitFinBillApplication(dto);
}
@Override
public ResultBean complete(FinBillCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
return finBillApplicationService.complete(bv);
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinBillNodeQuery query) {
return finBillApplicationService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinBillNodeQuery query) {
return finBillApplicationService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(FinBillTaskQuery query) {
return finBillApplicationService.taskReject(query);
}
@Override
public ResultBean revokeProcess(FinBillTaskQuery query) {
return finBillApplicationService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(FinBillTaskQuery query) {
return finBillApplicationService.breakProcess(query);
}
@Override
public ResultBean submitFinBillApplication(SubmitFinBillApplicationDto dto) {
return finBillApplicationService.submitFinBillApplication(dto);
}
@Override
public ResultBean complete(FinBillCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.FINBILLAPPLICATION.getProDefId());
return finBillApplicationService.complete(bv);
}
@Override
public ResultBean<List<FinBillNodeVo>> getPreviousNodesForReject(FinBillNodeQuery query) {
return finBillApplicationService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<FinBillNodeVo>> getNextNodesForSubmit(FinBillNodeQuery query) {
return finBillApplicationService.getNextNodesForSubmit(query);
}
@Override
public ResultBean taskReject(FinBillTaskQuery query) {
return finBillApplicationService.taskReject(query);
}
@Override
public ResultBean revokeProcess(FinBillTaskQuery query) {
return finBillApplicationService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(FinBillTaskQuery query) {
return finBillApplicationService.breakProcess(query);
}
@Override
public ResultBean<PagerVo<AppBillApplicationPageVo>> getInvoicedApplyList(PagerQuery<AppBillApplicationPageQuery> pagerQuery) {
if (StringUtils.isBlank(pagerQuery.getParams().getUserSid())) {
new ResultBean<>().success().setMsg("用户sid不能为空");
}
PagerVo<AppBillApplicationPageVo> page = new PagerVo<>();
IPage<AppBillApplicationPageVo> iPage = finBillApplicationService.getInvoicedApplyList(pagerQuery);
PagerVo<AppBillApplicationPageVo> pagerVo = PagerUtil.pageToVo(iPage, page);
return new ResultBean<PagerVo<AppBillApplicationPageVo>>().success().setData(pagerVo);
}
@Override
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String sid) {
return finBillApplicationService.getInvoicedApply(sid);
}
@Override
public ResultBean saveInvoicedApplyInfo(AppBillApplicationIInfoDto dto) {
return finBillApplicationService.saveInvoicedApplyInfo(dto);
}
}

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

@ -46,6 +46,7 @@ import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillTaskQuery;
import com.yxt.anrui.fin.api.finbillapplicationpublic.FinBillApplicationPublic;
import com.yxt.anrui.fin.api.finbillapplicationpublic.FinBillApplicationPublicDto;
import com.yxt.anrui.fin.api.finbillfile.FinBillFile;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileAppendxVo;
import com.yxt.anrui.fin.api.finbillfile.FinBillFileVo;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicle;
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto;
@ -77,10 +78,13 @@ 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.beanutils.BeanUtils;
import org.apache.commons.lang3.StringUtils;
import org.bouncycastle.voms.VOMSAttribute;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.xml.crypto.Data;
import java.util.*;
import java.util.stream.Collectors;
@ -493,6 +497,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
}
}
*/
/**
* 检查用户是否设置部门
*
@ -907,12 +912,12 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
finBillApplication = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo,messageFlowVo);
BeanUtil.copyProperties(ufVo, messageFlowVo);
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("开票申请");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName()+"提交的"+messageFlowableQuery.getModuleName()+",请审批");
messageFlowableQuery.setMsgContent(finBillApplication.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("业务中心");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
return voResultBean;
@ -952,6 +957,171 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
return r;
}
public IPage<AppBillApplicationPageVo> getInvoicedApplyList(PagerQuery<AppBillApplicationPageQuery> pagerQuery) {
IPage<AppBillApplicationPageQuery> page = PagerUtil.queryToPage(pagerQuery);
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(pagerQuery.getParams().getUserSid()).getData();
pagerQuery.getParams().setUseOrgSid(useOrgSid);
QueryWrapper<AppBillApplicationPageVo> qw = new QueryWrapper<>();
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);
List<AppBillApplicationPageVo> records = iPage.getRecords();
for (AppBillApplicationPageVo record : records) {
String contractSid = record.getContractSid();
SysUserVo data = sysUserFeign.fetchBySid(contractSid).getData();
record.setApplyName(data.getName());
}
return iPage;
}
public ResultBean<AppBillApplicationIInfoVo> getInvoicedApply(String sid) {
ResultBean<AppBillApplicationIInfoVo> rb = ResultBean.fireFail();
AppBillApplicationIInfoVo vo = baseMapper.getInvoicedApply(sid);
List<AppVinListVo> vinList = vo.getVinList();
List<FinBillVehicleVo> finBillVehicleVos = finBillVehicleService.fetchVehBySid(sid);
for (FinBillVehicleVo finBillVehicleVo : finBillVehicleVos) {
AppVinListVo appVinListVo = new AppVinListVo();
BeanUtil.copyProperties(finBillVehicleVo, appVinListVo, "sid");
vinList.add(appVinListVo);
}
List<String> customerInvoiceApplyImages = new ArrayList<>();
List<String> registerContractImages = new ArrayList<>();
List<String> invoiceApplyConfirmImages = new ArrayList<>();
List<FinBillFileAppendxVo> finBillFileAppendxVos1 = finBillFileService.fetchFileBySid(sid, CommonAttachTypeEnum.INVOICE_KHKPSQS.getAttachType());
for (FinBillFileAppendxVo finBillFileAppendxVo : finBillFileAppendxVos1) {
customerInvoiceApplyImages.add(fileUploadComponent.getUrlPrefix() + finBillFileAppendxVo.getFilePath());
}
List<FinBillFileAppendxVo> finBillFileAppendxVos2 = finBillFileService.fetchFileBySid(sid, CommonAttachTypeEnum.INVOICE_CLDJHT.getAttachType());
for (FinBillFileAppendxVo finBillFileAppendxVo : finBillFileAppendxVos2) {
registerContractImages.add(fileUploadComponent.getUrlPrefix() + finBillFileAppendxVo.getFilePath());
}
List<FinBillFileAppendxVo> finBillFileAppendxVos3 = finBillFileService.fetchFileBySid(sid, CommonAttachTypeEnum.INVOICE_KPXXQRS.getAttachType());
for (FinBillFileAppendxVo finBillFileAppendxVo : finBillFileAppendxVos3) {
invoiceApplyConfirmImages.add(fileUploadComponent.getUrlPrefix() + finBillFileAppendxVo.getFilePath());
}
vo.setCustomerInvoiceApplyImages(customerInvoiceApplyImages);
vo.setRegisterContractImages(registerContractImages);
vo.setInvoiceApplyConfirmImages(invoiceApplyConfirmImages);
return rb.success().setData(vo);
}
public ResultBean saveInvoicedApplyInfo(AppBillApplicationIInfoDto dto) {
ResultBean rb = ResultBean.fireFail();
String s1 = "";//客户开票申请书
String s2 = "";//车辆登记合同
String s3 = "";//开票信息确认书
String userSid = dto.getCreateBySid();//用户sid
String useOrgSid = sysStaffOrgFeign.getPathSidByUserSid(userSid).getData();//分公司sid
if (StringUtils.isBlank(dto.getSid())) {
FinBillApplication finBillApplication = new FinBillApplication();
BeanUtil.copyProperties(dto, finBillApplication, "sid");
finBillApplication.setUseOrgSid(useOrgSid);
String sid = finBillApplication.getSid();
List<AppVinListDto> vinList = dto.getVinList();
for (AppVinListDto appVinListDto : vinList) {
FinBillVehicle finBillVehicle = new FinBillVehicle();
BeanUtil.copyProperties(appVinListDto, finBillVehicle, "sid");
finBillVehicle.setBillAppSid(sid);
finBillVehicleService.save(finBillVehicle);
}
List<String> INVOICE_KHKPSQS = dto.getCustomerInvoiceApplyImages();
if (INVOICE_KHKPSQS.size() > 0) {
for (String invoice_khkpsqs : INVOICE_KHKPSQS) {
if (invoice_khkpsqs.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s1 = invoice_khkpsqs.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_KHKPSQS.getAttachType());
finBillFile.setFileUrl(s1);
finBillFileService.save(finBillFile);
}
}
List<String> INVOICE_CLDJHT = dto.getRegisterContractImages();
if (INVOICE_CLDJHT.size() > 0) {
for (String invoice_cldjht : INVOICE_CLDJHT) {
if (invoice_cldjht.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s2 = invoice_cldjht.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_CLDJHT.getAttachType());
finBillFile.setFileUrl(s2);
finBillFileService.save(finBillFile);
}
}
List<String> INVOICE_KPXXQRS = dto.getInvoiceApplyConfirmImages();
if (INVOICE_KPXXQRS.size() > 0) {
for (String invoice_kpxxqrs : INVOICE_KPXXQRS) {
if (invoice_kpxxqrs.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s3 = invoice_kpxxqrs.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_KPXXQRS.getAttachType());
finBillFile.setFileUrl(s3);
finBillFileService.save(finBillFile);
}
}
save(finBillApplication);
return rb.success().setData(finBillApplication.getSid());
} else {
FinBillApplication finBillApplication = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, finBillApplication, "sid");
String sid = finBillApplication.getSid();
finBillFileService.deleteByFinAppSid(sid);
List<String> INVOICE_KHKPSQS = dto.getCustomerInvoiceApplyImages();
if (INVOICE_KHKPSQS.size() > 0) {
for (String invoice_khkpsqs : INVOICE_KHKPSQS) {
if (invoice_khkpsqs.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s1 = invoice_khkpsqs.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_KHKPSQS.getAttachType());
finBillFile.setFileUrl(s1);
finBillFileService.save(finBillFile);
}
}
List<String> INVOICE_CLDJHT = dto.getRegisterContractImages();
if (INVOICE_CLDJHT.size() > 0) {
for (String invoice_cldjht : INVOICE_CLDJHT) {
if (invoice_cldjht.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s2 = invoice_cldjht.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_CLDJHT.getAttachType());
finBillFile.setFileUrl(s2);
finBillFileService.save(finBillFile);
}
}
List<String> INVOICE_KPXXQRS = dto.getInvoiceApplyConfirmImages();
if (INVOICE_KPXXQRS.size() > 0) {
for (String invoice_kpxxqrs : INVOICE_KPXXQRS) {
if (invoice_kpxxqrs.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
s3 = invoice_kpxxqrs.replace(fileUploadComponent.getUrlPrefix(), "");
}
FinBillFile finBillFile = new FinBillFile();
finBillFile.setBillAppSid(sid);
finBillFile.setFileType(CommonAttachTypeEnum.INVOICE_KPXXQRS.getAttachType());
finBillFile.setFileUrl(s3);
finBillFileService.save(finBillFile);
}
}
updateById(finBillApplication);
return rb.success().setData(finBillApplication.getSid());
}
}
/* public ResultBean submitFinBillApplicationPageList(SubmitFinBillApplicationPageListDto dto) {
ResultBean rb = ResultBean.fireFail();
FinBillApplicationDetailsVo finBillApplicationDetailsVo = fetchDetailsVoBySid(dto.getSid());

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

@ -48,107 +48,6 @@ public class FinKingDeeService {
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}
/**
* 查看审核金蝶的数据接口
* @param number
* @return
*/
/* public ResultBean<List<KingDeeResult>> getKingDeeBillDataByNumber(String formId, String number) throws Exception {
*//* String data="{\"formId\":\""+formId+"\"," +
"\"data\":\"{\\\"CreateOrgId\\\":\\\"0\\\",\\\"Number\\\":\\\""+number+"\\\",\\\"Id\\\":\\\"\\\"}\"}";
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}", JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.getKingDeeBillDataByNumber(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;*//*
String data = getGetKDForNumbers(formId, number);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用提交金蝶的数据接口
* @param formId
* @param data
* @return
*/
/*public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用提交金蝶的数据接口
* @param formId
* @param result
* @return
*/
/* public ResultBean<List<KingDeeResult>> submitKingDeeBillData(String formId,ResultBean<List<KingDeeResult>> result) throws Exception {
String data = getSubmitKD(result, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用审核金蝶的数据接口
* @param formId
* @param data
* @return
*/
/*public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,String data) throws Exception {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用审核金蝶的数据接口
* @param formId
* @param result
* @return
*/
/* public ResultBean<List<KingDeeResult>> auditKingDeeBillData(String formId,ResultBean<List<KingDeeResult>> result) throws Exception {
String data = getAuditKD(result, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用分配金蝶的数据接口
* @param formId
* @param data
* @return
*/
/*public ResultBean<List<KingDeeResult>> allocateKingDeeBillData(String formId, String data) throws Exception {
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用分配金蝶的数据接口
* @param formId
* @return
*/
/* public ResultBean<List<KingDeeResult>> allocateKingDeeBillData(String formId,String tOrgIds,ResultBean<List<KingDeeResult>> result) throws Exception {
String data = getAllocate(result,tOrgIds, formId);
KingDeeParams kdp = getKingDeeParams(formId, data);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
private KingDeeParams getKingDeeParams(String formId, String data) {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
@ -195,6 +94,18 @@ public class FinKingDeeService {
}
return resultList;
}
/**
* 构造单据查询接口的数据格式
* @return
*/
public String getQueryKDTempJSON(String formId, String Numbers) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
return "{\"data\":\"{\\\"FormId\\\":\\\""+formId+"\\\"," +
"\\\"FieldKeys\\\":\\\"FName,FNumber,FUseOrgId\\\",\\\"FilterString\\\":\\\"FNumber='"+Numbers+"'\\\"," +
"\\\"OrderString\\\":\\\"\\\",\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"20\\\"}\"}";
}
/**
* 构造查看接口的数据格式
* @return
@ -209,61 +120,42 @@ public class FinKingDeeService {
* 构造提交接口的数据格式
* @return
*/
public String getSubmitKD(String data,String formId) {
public String getSubmitKDTempJson( String formId,String s) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
/* List<KingDeeResult> data = resultBean.getData();
StringBuilder Ids=new StringBuilder();
for (int i=0;i<data.size();i++){
Ids.append(data.get(i).getId()).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);*/
JSONObject jsonObject = JSONObject.parseObject(data);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
JSONArray successEntitys = (JSONArray)responseStatus.get("SuccessEntitys");
StringBuilder Ids=new StringBuilder();
for (int i=0;i<successEntitys.size();i++){
JSONObject o = (JSONObject)successEntitys.get(i);
Ids.append(o.get("Id")).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\"}\"}";
}
/**
* 构造审核接口的数据格式
* @param resultBean
* @return
*/
public String getAuditKD(String data,String formId) {
public String getAuditKDTempJson(String formId,String s) {
//2.1.CreateOrgId:创建者组织内码,字符串类型(非必录)
//2.2.Numbers:单据编码集合,数组类型,格式:[No1,No2,...](使用编码时必录)
//2.3.Ids:单据内码集合,字符串类型,格式:"Id1,Id2,..."(使用内码时必录)
JSONObject jsonObject = JSONObject.parseObject(data);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
JSONArray successEntitys = (JSONArray)responseStatus.get("SuccessEntitys");
StringBuilder Ids=new StringBuilder();
for (int i=0;i<successEntitys.size();i++){
JSONObject o = (JSONObject)successEntitys.get(i);
Ids.append(o.get("Id")).append(",");
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+s+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
}
/**
* 构造分配接口的数据格式
* @param resultBean
* @return
*/
public String getAllocate(String data,String tOrgIds,String formId) {
public String getAllocateTempJson(String formId,String s,String tOrgIds) {
/* 2.1.PkIds被分配的基础资料内码集合字符串类型格式"PkId1,PkId2,..."必录
2.2.TOrgIds目标组织内码集合字符串类型格式"TOrgId1,TOrgId2,..."必录
2.3.IsAutoSubmitAndAudit是否自动提交与审核布尔类型默认false非必录*/
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\\\"}\"}";
}
public String getAuditKD(String data,String formId) {
return getAuditKDTempJson(formId,getParam(data));//"{\"formId\":\""+formId+"\",\"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+"\\\"}\"}";
}
private String getParam(String data) {
JSONObject jsonObject = JSONObject.parseObject(data);
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
@ -275,24 +167,8 @@ public class FinKingDeeService {
}
String s = Ids.toString();
s=s.substring(0,s.length()-1);
/*{\"PkIds\":\"0\",\"TOrgIds\":\"\",\"IsAutoSubmitAndAudit\":\"false\"}*/
return "{\"formId\":\""+formId+"\",\"data\":\"{\\\"PkIds\\\":\\\""+s+"\\\",\\\"TOrgIds\\\":\\\""+tOrgIds+"\\\",\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
return s;
}
/* public ResultBean<List<KingDeeResult>> getKingDataInfoByNumber(String formId, String number) throws Exception {
ResultBean<List<KingDeeResult>> kingDeeBillDataByNumber = getKingDeeBillDataByNumber(formId, number);
return kingDeeBillDataByNumber;
}*/
/* public ResultBean<List<KingDeeResult>> getKingBillDataInfoList(String formId, String jsonParam) throws Exception {
*//*String jsonParam="{\\\"FormId\\\":\\\""+KingDeeBillId.BD_MATERIAL+"\\\"," +
"\\\"FieldKeys\\\":\\\"\\\",\\\"FilterString\\\":\\\"FName=''\\\",\\\"OrderString\\\":\\\"\\\"," +
"\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"0\\\"}";*//*
KingDeeParams kdp = getKingDeeParams(formId, jsonParam);
log.info("kdp:{}",JSONObject.toJSONString(kdp));
ResultBean<List<KingDeeResult>> listResultBean = KingDeeSaveSKD.accessKingDeeInterface(kdp);
log.info("listResultBean:{}",JSONObject.toJSONString(listResultBean));
return listResultBean;
}*/
/**
* 调用金蝶接口的数据格式

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

@ -47,9 +47,8 @@ public class BdCustomerService extends FinKingDeeService {
String kingDeeData = BdCustomerCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(
KingDeeBillId.BD_CUSTOMER.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
String data = resultBean.getData();
String submitKD = getSubmitKD(null,KingDeeBillId.BD_CUSTOMER.getID());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("客户提交失败!");
@ -57,7 +56,7 @@ public class BdCustomerService extends FinKingDeeService {
}
log.info("客户提交成功!");
String auditKD = getAuditKD(null,KingDeeBillId.BD_CUSTOMER.getID());
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_CUSTOMER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("客户审核失败!");
@ -65,7 +64,7 @@ public class BdCustomerService extends FinKingDeeService {
}
log.info("客户审核成功!");
String allocate = getAllocate(null,bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());
String allocate = getAllocate(resultBean.getData(),bdCustomer.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());
ResultBean<String> resultBean3 = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),allocate,KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
log.info("客户分配失败!");
@ -73,7 +72,7 @@ public class BdCustomerService extends FinKingDeeService {
}
log.info("客户分配成功!");
return resultBean3;
return resultBean;
} catch (Exception e) {
e.printStackTrace();
}

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

@ -1,5 +1,7 @@
package com.yxt.anrui.fin.biz.kingdee.bdsupplier;
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.KingDeeResult;
@ -46,7 +48,7 @@ public class BdSupplierService extends FinKingDeeService {
Map<String,String> map_fEntityModel_= object2Map(bdSupplier);
String kingDeeData = BdSupplierCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_);
ResultBean<String> resultBean = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
String submitKD = getSubmitKD(null,KingDeeBillId.BD_SUPPLIER.getID());
String submitKD = getSubmitKD(resultBean.getData(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), submitKD,KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("供应商提交失败!");
@ -54,15 +56,16 @@ public class BdSupplierService extends FinKingDeeService {
}
log.info("供应商提交成功!");
String auditKD = getAuditKD(null,KingDeeBillId.BD_CUSTOMER.getID());
String auditKD = getAuditKD(resultBean.getData(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean2 = accessKingDeeInterface(KingDeeBillId.BD_SUPPLIER.getID(), auditKD,KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("供应商审核失败!");
return rb.setMsg("供应商审核失败!");
}
log.info("供应商审核成功!");
/*
String allocate = getAllocate(null,bdSupplier.getTOrgIds(),KingDeeBillId.BD_CUSTOMER.getID());
String allocate = getAllocate(resultBean.getData(),bdSupplier.getTOrgIds(),KingDeeBillId.BD_SUPPLIER.getID());
ResultBean<String> resultBean3 = accessKingDeeInterface(
KingDeeBillId.BD_SUPPLIER.getID(), allocate,KingDeeBillUrl.ALLOCATE_URL.getURL());
if(!resultBean3.getSuccess()){
@ -70,8 +73,9 @@ public class BdSupplierService extends FinKingDeeService {
return rb.setMsg("供应商分配失败!");
}
log.info("供应商分配成功!");
*/
return resultBean3;
return resultBean2;
} catch (Exception e) {
e.printStackTrace();
}

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

@ -8,6 +8,7 @@ import com.yxt.anrui.fin.api.kingdee.orgorganizations.OrgOrganizations;
import com.yxt.anrui.fin.api.kingdee.stktransferdirect.StkTransferDirect;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
import com.yxt.anrui.fin.biz.kingdee.KingDeeConfig;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Service;
@ -35,25 +36,25 @@ public class OrgOrganizationsService extends FinKingDeeService {
return result;
}
String number = orgOrganizations.getFNumber();
String data="{\"formId\":\""+KingDeeBillId.ORG_ORGANIZATIONS+"\"," +
"\"data\":\"{\\\"CreateOrgId\\\":\\\"0\\\",\\\"Number\\\":\\\""+number+"\\\",\\\"Id\\\":\\\"\\\"}\"}";
ResultBean<String> listResultBean = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), data,
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.ORG_ORGANIZATIONS.getID(), number);
ResultBean<String> listResultBean = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), getKDForNumbers,
KingDeeConfig.userName_administrator, KingDeeConfig.password_administrator, KingDeeBillUrl.VIEW_URL.getURL());
// List<KingDeeResult> data1 = listResultBean.getData();
String Id = "";// data1.get(0).getId();
String data_submit = "{\"formId\":\""+KingDeeBillId.ORG_ORGANIZATIONS.getID()+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+Id+"\\\"}\"}";
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), data_submit, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.SUBMIT_URL.getURL());
String vie_result =listResultBean.getData();
JSONObject 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 submitKDTempJson = getSubmitKDTempJson(KingDeeBillId.ORG_ORGANIZATIONS.getID(), id);
ResultBean<String> resultBean1 = accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), submitKDTempJson, KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.SUBMIT_URL.getURL());
if(!resultBean1.getSuccess()){
log.info("组织机构提交失败!");
return rb.setMsg("组织机构提交失败!");
}
log.info("组织机构提交成功!");
String data_audit = "{\"formId\":\""+KingDeeBillId.ORG_ORGANIZATIONS.getID()+"\",\"data\":\"{\\\"CreateOrgId\\\":\\\"\\\",\\\"Numbers\\\":[],\\\"Ids\\\":\\\""+Id+"\\\",\\\"InterationFlags\\\":\\\"\\\"}\"}";
String auditKDTempJson = getAuditKDTempJson(KingDeeBillId.ORG_ORGANIZATIONS.getID(), id);
ResultBean<String> resultBean2 =
accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), data_audit,KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.AUDIT_URL.getURL());
accessKingDeeInterface(KingDeeBillId.ORG_ORGANIZATIONS.getID(), auditKDTempJson,KingDeeConfig.userName_administrator,KingDeeConfig.password_administrator, KingDeeBillUrl.AUDIT_URL.getURL());
if(!resultBean2.getSuccess()){
log.info("组织机构审核失败!");
return rb.setMsg("组织机构审核失败!");

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

@ -1,12 +1,9 @@
package com.yxt.anrui.fin.biz.kingdee.stkinstock;
import cn.hutool.core.bean.BeanUtil;
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.KingDeeResult;
import com.yxt.anrui.fin.api.kingdee.appaybill.ApPayBill;
import com.yxt.anrui.fin.api.kingdee.bdmaterial.BdMaterial;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
import com.yxt.anrui.fin.biz.kingdee.FinKingDeeService;
@ -16,8 +13,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -33,75 +28,109 @@ public class STKInStockService extends FinKingDeeService {
*/
public ResultBean draftStkInStock(StkInStock stkInStock) throws Exception {
// stkInStock=StkInStock.createStkInStock();
ResultBean rb=ResultBean.fireFail();
List<StkInStock.FInStockEntry> fInStockEntry1 = stkInStock.getFInStockEntry();
for (StkInStock.FInStockEntry f: fInStockEntry1){
String data="{\"formId\":\""+KingDeeBillId.BD_MATERIAL+"\"," +
"\"data\":\"{\\\"CreateOrgId\\\":\\\"0\\\",\\\"Number\\\":\\\""+f.getFMaterialId()+"\\\",\\\"Id\\\":\\\"\\\"}\"}";
// ResultBean<String> kingDataInfoByNumber = getKingDataInfoByNumber(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId());
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), data, KingDeeBillUrl.VIEW_URL.getURL());
//单据查看的json模板
String getKDForNumbers = getGetKDForNumbers(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId());
ResultBean<String> kingDataInfoByNumber = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), getKDForNumbers,
KingDeeBillUrl.VIEW_URL.getURL());
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
JSONObject jsonObject = JSONObject.parseObject(kingDataInfoByNumber.getData().toString());
JSONObject result = (JSONObject)jsonObject.get("Result");
JSONObject responseStatus = (JSONObject)result.get("ResponseStatus");
if(responseStatus!=null){
//不存在该物料
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
BdMaterial bdMaterial=new BdMaterial();
bdMaterial.setFName(f.getFMaterialId());
bdMaterial.setF_PAEZ_Base(f.getCllx());
bdMaterial.setFMaterialGroup(f.getWlfz());
bdMaterial.setTOrgIds(stkInStock.getTOrgId());
bdMaterialService.draftBdMaterial(bdMaterial);
}else{
//存在该物料
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
log.info("kingDataInfoByNumber:{}",kingDataInfoByNumber.getData());
if(responseStatus!=null){//不存在该物料
//新增物料
bdMaterial(stkInStock, f);
}else{ //存在该物料
//单据查询
//分配物料
JSONObject result2 = (JSONObject)result.get("Result");
Integer Id = (Integer)result2.get("Id");
log.info("Id:{}",Id);
/* String jsonParam="{\\\"FormId\\\":\\\""+KingDeeBillId.BD_MATERIAL+"\\\"," +
"\\\"FieldKeys\\\":\\\"FUseOrgId\\\",\\\"FilterString\\\":\\\"FNumber='"+f.getFMaterialId()+"'\\\",\\\"OrderString\\\":\\\"\\\"," +
"\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"100\\\"}";*/
String jsonParam="{\"data\":\"{\\\"FormId\\\":\\\""+KingDeeBillId.BD_MATERIAL+"\\\"," +
"\\\"FieldKeys\\\":\\\"FName,FNumber,FUseOrgId\\\",\\\"FilterString\\\":\\\"FNumber='"+f.getFMaterialId()+"'\\\"," +
"\\\"OrderString\\\":\\\"\\\",\\\"TopRowCount\\\":\\\"0\\\",\\\"StartRow\\\":\\\"0\\\",\\\"Limit\\\":\\\"20\\\"}\"}";
ResultBean<String> kingBillDataInfoList = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), jsonParam, KingDeeBillUrl.EXECUTEBILLQUERY_URL.getURL());
JSONArray objects = JSONArray.parseArray(kingBillDataInfoList.getData());
boolean b=true;
for(int i=0;i<objects.size();i++){
JSONArray ja = (JSONArray) objects.get(i);
int o =(int) ja.get(2);
String tOrgId = stkInStock.getTOrgId();
if(tOrgId!=null&tOrgId.equals(o+"")){
b=false;
}
}
if(b){
String data2="{\"formId\":\""+KingDeeBillId.BD_MATERIAL.getID()+"\"," +
"\"data\":\"{\\\"PkIds\\\":\\\""+Id+"\\\",\\\"TOrgIds\\\":\\\""+stkInStock.getTOrgId()+"\\\"," +
"\\\"IsAutoSubmitAndAudit\\\":\\\"true\\\"}\"}";
ResultBean<String> resultBean3 =accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),data2,KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("物料分配失败!");
// return resultBean3.setMsg("物料分配失败!");
}
log.info("物料分配成功!");
log.info("resultBean3:{}",resultBean3);
}
allocate(f,stkInStock,Id);
}
}
// ResultBean<String> kingBillDataInfoList = bdMaterialService.getKingBillDataInfoList(KingDeeBillId.BD_MATERIAL, "");
ResultBean rb=ResultBean.fireFail();
try {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
//准备 物料列表的数据 ForEntryBill
List<Map<String, String>> vehicleListMap = createVehicleLists(fInStockEntry);
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(),kingDeeData,KingDeeBillUrl.SAVE_URL.getURL());
//推送入库单
return stkInstock(stkInStock);
} catch (Exception e) {
e.printStackTrace();
}
return rb;
}
/**
* 新增物料
* @param stkInStock
* @param f
*/
private void bdMaterial(StkInStock stkInStock, StkInStock.FInStockEntry f) {
BdMaterial bdMaterial=new BdMaterial();
bdMaterial.setFName(f.getFMaterialId());
bdMaterial.setF_PAEZ_Base(f.getCllx());
bdMaterial.setFMaterialGroup(f.getWlfz());
bdMaterial.setTOrgIds(stkInStock.getTOrgId());
bdMaterialService.draftBdMaterial(bdMaterial);
}
/**
* 单据查询
* @param f
* @return
* @throws Exception
*/
private JSONArray executeBillQuery(StkInStock.FInStockEntry f) throws Exception {
String queryKDTempJSON = getQueryKDTempJSON(KingDeeBillId.BD_MATERIAL.getID(), f.getFMaterialId());
ResultBean<String> kingBillDataInfoList = accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(), queryKDTempJSON, KingDeeBillUrl.EXECUTEBILLQUERY_URL.getURL());
JSONArray objects = JSONArray.parseArray(kingBillDataInfoList.getData());
return objects;
}
/**
* 推送入库单
* @param stkInStock
* @return
* @throws Exception
*/
private ResultBean<String> stkInstock(StkInStock stkInStock) throws Exception {
//业务表的主表数据集合
Map<String,String> map_fEntityModel_= object2Map(stkInStock);
List<StkInStock.FInStockEntry> fInStockEntry = stkInStock.getFInStockEntry();
//准备 物料列表的数据 ForEntryBill
List<Map<String, String>> vehicleListMap = createVehicleLists(fInStockEntry);
String kingDeeData =STKInStockCastToKingDeeBillFields.getKingDeeData(map_fEntityModel_,vehicleListMap);
return accessKingDeeInterface(KingDeeBillId.STK_INSTOCK.getID(), kingDeeData, KingDeeBillUrl.SAVE_URL.getURL());
}
/**
* 分配物料
* @throws Exception
*/
private void allocate(StkInStock.FInStockEntry f,StkInStock stkInStock,Integer Id) throws Exception {
JSONArray objects= executeBillQuery(f);
boolean b=true;
for(int i=0;i<objects.size();i++){
JSONArray ja = (JSONArray) objects.get(i);
int o =(int) ja.get(2);//金蝶系统中物料的使用组织的ID
String tOrgId = stkInStock.getTOrgId();
if(tOrgId!=null&tOrgId.equals(o+"")){
b=false;
}
}
if(b){
String allocateTempJson = getAllocateTempJson(KingDeeBillId.BD_MATERIAL.getID(), Id+"", stkInStock.getTOrgId());
ResultBean<String> resultBean3 =accessKingDeeInterface(KingDeeBillId.BD_MATERIAL.getID(),
allocateTempJson,KingDeeBillUrl.ALLOCATE_URL.getURL());// allocateKingDeeBillData(KingDeeBillId.BD_MATERIAL.getID(), allocate);
if(!resultBean3.getSuccess()){
log.info("物料分配失败!");
}else{
log.info("物料分配成功!");
}
log.info("resultBean3:{}",resultBean3);
}
}
}

4
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -34,8 +34,8 @@ public enum ProcDefEnum {
BASEVEHINSTALLMODPRICE("上装调价申请","process_s0a0svth:1:492508"),
SCMVEHREBATEWITHAPPLY("单车返利预提申请","process_qegarc7r:1:535004"),
SCMVEHREBATECHECKAPPLY("单车返利核对申请","process_3xtbbru8:1:560004"),
SCMSPECIALREBATEWITHAPPLY("专项返利预提申请",""),
SCMSPECIALREBATECHECKAPPLY("专项返利核对申请",""),
SCMSPECIALREBATEWITHAPPLY("专项返利预提申请","process_l0yxpgs2:1:590004"),
SCMSPECIALREBATECHECKAPPLY("专项返利核对申请","process_qw22vupn:1:590008"),
CONTRACTAPPLY("合同审核","process_gd8c9xd5:1:545008"),
;

19
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java

@ -33,8 +33,6 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateFeign.java <br/>
@ -75,4 +73,21 @@ public interface ScmSpecialRebateFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ScmSpecialRebateDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("专项返利未预提申请选择专项返利信息")
@PostMapping("/withApplyGetSpecialRebate")
@ResponseBody
public ResultBean<PagerVo<ScmSpecialRebateVo>> withApplyGetSpecialRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@ApiOperation("专项返利核对申请选择待核对专项返利信息")
@PostMapping("/checkApplyGetSpecialRebate")
@ResponseBody
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
@ApiOperation("专项返利核对申请选择已上传专项返利信息")
@PostMapping("/checkApplyGetAlreadyUploadSpecialRebate")
@ResponseBody
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(@RequestBody PagerQuery<ScmSpecialRebateQuery> pq);
}

15
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java

@ -69,4 +69,19 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-scm/scmspecialrebate/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> withApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
return null;
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
return null;
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
return null;
}
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateQuery.java

@ -32,6 +32,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateQuery.java <br/>
@ -63,4 +65,6 @@ public class ScmSpecialRebateQuery implements Query {
private String createEndTime; // 创建结束日期
@ApiModelProperty("状态")
private String state; // 状态
@ApiModelProperty("专项返利sid")
private List<String> sidList; // 专项返利sid
}

4
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateVo.java

@ -75,6 +75,8 @@ public class ScmSpecialRebateVo implements Vo {
private String estimateRebate; // 预计返利
@ApiModelProperty("所属年月")
private String palceGenDate; // 所属年月
@ApiModelProperty("所属年月(页面展示)")
private String palceGenDateCopy; // 所属年月(页面展示)
@ApiModelProperty("预提日期")
private String withholdingDate; // 预提日期
@ApiModelProperty("上传日期")
@ -107,5 +109,7 @@ public class ScmSpecialRebateVo implements Vo {
private String createOrgSid; // 创建组织sid
@ApiModelProperty("创建组织名称")
private String createOrgName; // 创建组织名称
@ApiModelProperty("上传状态(2未上传、3已上传)")
private String uploadState; // 上传状态
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/ScmSpecialRebateWithFeign.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebatewith;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -75,4 +76,9 @@ public interface ScmSpecialRebateWithFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<ScmSpecialRebateWithDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("专项返利预提查看详情")
@GetMapping("/specialRebateWithDetails/{sid}")
@ResponseBody
public ResultBean<List<ScmSpecialRebateDetailsVo>> specialRebateWithDetails(@PathVariable("sid") String sid);
}

6
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebatewith/ScmSpecialRebateWithFeignFallback.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm.api.scmspecialrebatewith;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -69,4 +70,9 @@ public class ScmSpecialRebateWithFeignFallback implements ScmSpecialRebateWithFe
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-scm/scmspecialrebatewith/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<List<ScmSpecialRebateDetailsVo>> specialRebateWithDetails(String sid) {
return null;
}
}

2
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/TemporaryExitPermitInfo.java

@ -13,6 +13,8 @@ public class TemporaryExitPermitInfo implements Vo {
@ApiModelProperty("分公司名称")
private String orgName;
@ApiModelProperty("申请人")
private String applyName;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("日期")

23
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java

@ -33,8 +33,6 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebate;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateQuery;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateVo;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo;
@ -97,4 +95,25 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign {
ScmSpecialRebateDetailsVo vo = scmSpecialRebateService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> withApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.withApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetSpecialRebate(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<ScmSpecialRebateVo>> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<ScmSpecialRebateVo> pv = scmSpecialRebateService.checkApplyGetAlreadyUploadSpecialRebate(pq);
return rb.success().setData(pv);
}
}

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

@ -26,6 +26,7 @@
package com.yxt.anrui.scm.biz.scmspecialrebate;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.commons.lang3.StringUtils;
@ -41,6 +42,8 @@ import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDto;
import org.springframework.stereotype.Service;
import java.util.Date;
/**
* Project: anrui-scm(专项返利管理) <br/>
* File: ScmSpecialRebateService.java <br/>
@ -127,4 +130,104 @@ public class ScmSpecialRebateService extends MybatisBaseService<ScmSpecialRebate
public void updateState(String specialRebateSid) {
baseMapper.updateState(specialRebateSid);
}
public PagerVo<ScmSpecialRebateVo> withApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.eq("state", 0);
if (query.getSidList().size() > 0) {
qw.notIn("sid", query.getSidList());
}
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmSpecialRebateVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmSpecialRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<ScmSpecialRebateVo> checkApplyGetSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.ne("state", 0);
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmSpecialRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmSpecialRebateVo record : pagging.getRecords()) {
//上传状态:未上传
if (StringUtils.isBlank(record.getUploadDate()) && StringUtils.isBlank(record.getUploadMoney())) {
record.setUploadState("2");
}
//上传状态:已上传
if (StringUtils.isNotBlank(record.getUploadDate()) && StringUtils.isNotBlank(record.getUploadMoney()) && record.getIsAdjustment().equals("否")) {
record.setUploadState("3");
}
}
PagerVo<ScmSpecialRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<ScmSpecialRebateVo> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery<ScmSpecialRebateQuery> pq) {
ScmSpecialRebateQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebate> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("brandSid", query.getBrandSid());
}
if (StringUtils.isNotBlank(query.getRebateTypeKey())) {
qw.eq("rebateTypeKey", query.getRebateTypeKey());
}
if (StringUtils.isNotBlank(query.getRebateName())) {
qw.like("rebateName", query.getRebateName());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("createOrgSid", query.getCreateOrgSid());
qw.eq("state", 3);
if (query.getSidList().size() > 0) {
qw.notIn("sid", query.getSidList());
}
IPage<ScmSpecialRebate> page = PagerUtil.queryToPage(pq);
IPage<ScmSpecialRebateVo> pagging = baseMapper.selectPageVo(page, qw);
for (ScmSpecialRebateVo record : pagging.getRecords()) {
String palceGenDate = record.getPalceGenDate();
Date parse = DateUtil.parse(palceGenDate);
int year = DateUtil.year(parse);
int month = DateUtil.month(parse) + 1;
String palceGenDateCopy = year + "年" + month + "月";
record.setPalceGenDateCopy(palceGenDateCopy);
}
PagerVo<ScmSpecialRebateVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

6
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithRest.java

@ -25,6 +25,7 @@
*********************************************************/
package com.yxt.anrui.scm.biz.scmspecialrebatewith;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -97,4 +98,9 @@ public class ScmSpecialRebateWithRest implements ScmSpecialRebateWithFeign {
ScmSpecialRebateWithDetailsVo vo = scmSpecialRebateWithService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<List<ScmSpecialRebateDetailsVo>> specialRebateWithDetails(String sid) {
return scmSpecialRebateWithService.specialRebateWithDetails(sid);
}
}

23
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewith/ScmSpecialRebateWithService.java

@ -28,6 +28,9 @@ package com.yxt.anrui.scm.biz.scmspecialrebatewith;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebate;
import com.yxt.anrui.scm.api.scmspecialrebate.ScmSpecialRebateDetailsVo;
import com.yxt.anrui.scm.biz.scmspecialrebate.ScmSpecialRebateService;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -39,10 +42,11 @@ import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithQuery;
import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithVo;
import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithDetailsVo;
import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithDto;
import com.yxt.anrui.scm.api.scmspecialrebatewith.ScmSpecialRebateWithFeign;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
@ -60,6 +64,10 @@ import java.util.List;
*/
@Service
public class ScmSpecialRebateWithService extends MybatisBaseService<ScmSpecialRebateWithMapper, ScmSpecialRebateWith> {
@Autowired
private ScmSpecialRebateService scmSpecialRebateService;
private QueryWrapper<ScmSpecialRebateWith> createQueryWrapper(ScmSpecialRebateWithQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
@ -119,4 +127,17 @@ public class ScmSpecialRebateWithService extends MybatisBaseService<ScmSpecialRe
public List<String> fetchSpecialReBateSidByMainSid(String businessSid) {
return baseMapper.fetchSpecialReBateSidByMainSid(businessSid);
}
public ResultBean<List<ScmSpecialRebateDetailsVo>> specialRebateWithDetails(String sid) {
ResultBean rb = ResultBean.fireFail();
List<ScmSpecialRebateDetailsVo> scmSpecialRebateDetailsVos = new ArrayList<>();
String[] sids = sid.split(",");
for (String s : sids) {
ScmSpecialRebate scmSpecialRebate = scmSpecialRebateService.fetchBySid(s);
ScmSpecialRebateDetailsVo scmSpecialRebateDetailsVo = new ScmSpecialRebateDetailsVo();
BeanUtil.copyProperties(scmSpecialRebate,scmSpecialRebateDetailsVo);
scmSpecialRebateDetailsVos.add(scmSpecialRebateDetailsVo);
}
return rb.success().setData(scmSpecialRebateDetailsVos);
}
}

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyMapper.xml

@ -16,7 +16,6 @@
<where>
${ew.sqlSegment}
</where>
GROUP BY ssrwa.sid
</select>
<select id="selectListAllVo"

13
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebatewithapply/ScmSpecialRebateWithApplyService.java

@ -106,18 +106,19 @@ public class ScmSpecialRebateWithApplyService extends MybatisBaseService<ScmSpec
ScmSpecialRebateWithApplyQuery query = pq.getParams();
QueryWrapper<ScmSpecialRebateWithApply> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getBrandSid())) {
qw.eq("svrwa.brandSid", query.getBrandSid());
qw.eq("ssrwa.brandSid", query.getBrandSid());
}
if (StringUtils.isNotBlank(query.getWithApply())) {
qw.like("svrwa.withApply", query.getWithApply());
qw.like("ssrwa.withApply", query.getWithApply());
}
String createStartTime = query.getCreateStartTime();
String createEndTime = query.getCreateEndTime();
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (svrwa.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (svrwa.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (ssrwa.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(createEndTime), "date_format (ssrwa.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("svrwa.createOrgSid", query.getCreateOrgSid());
qw.orderByDesc("svrwa.createTime");
qw.eq("ssrwa.createOrgSid", query.getCreateOrgSid());
qw.groupBy("ssrwa.sid");
qw.orderByDesc("ssrwa.createTime");
IPage<ScmSpecialRebateWithApply> page = PagerUtil.queryToPage(pq);
IPage<ScmSpecialRebateWithApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmSpecialRebateWithApplyVo> p = PagerUtil.pageToVo(pagging, null);

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

@ -725,7 +725,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
List<ScmVehicleGressionVo> scmVehicleGressionVos = baseMapper.getlastTimeEqual(sid, dto.getTargetLocationSid());
if (scmVehicleGressionVos.size() > 0) {
if (StringUtils.isNotBlank(scmVehicleGressionVos.get(0).getNodeState())) {
if (!(scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || scmVehicleGressionVos.get(0).getNodeState().contains("终止") || scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) {
if (scmVehicleGressionVos.get(0).getNodeState().contains("已办结") || !(scmVehicleGressionVos.get(0).getNodeState().contains("终止")) || !(scmVehicleGressionVos.get(0).getNodeState().contains("申请"))) {
return rb.setMsg("该申请中" + vin + "已存在,请勿重复提交!");
}
}
@ -862,12 +862,6 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
return rb.setMsg(resultBean.getMsg());
}
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
VehicleGression vehicleGression = new VehicleGression();
List<String> list = scmVehicleGressionVehService.fetchVoByMainSid(scmVehicleGression.getSid());
vehicleGression.setVin(list);
vehicleGression.setLocation(scmVehicleGression.getTargetLocationSid());
vehicleGression.setLocationName(scmVehicleGression.getTargetLocation());
baseVehicleFeign.updateVehicleGressionByVin(vehicleGression);
/* String pdfPath = createPdf(bv.getBusinessSid());
//将生成的出门证添加到出门证表中
ScmExitPermit scmExitPermit = new ScmExitPermit();
@ -893,6 +887,13 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
messageFlowableQuery.setMsgContent(scmVehicleGression.getApplicantName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("供应链");
ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
//推送车辆台账数据
VehicleGression vehicleGression = new VehicleGression();
List<String> list = scmVehicleGressionVehService.fetchVoByMainSid(scmVehicleGression.getSid());
vehicleGression.setVin(list);
vehicleGression.setLocation(scmVehicleGression.getTargetLocationSid());
vehicleGression.setLocationName(scmVehicleGression.getTargetLocation());
baseVehicleFeign.updateVehicleGressionByVin(vehicleGression);
//删除申请状态
baseVehicleTempstateFeign.delByBusSid(bv.getBusinessSid());
//推送调拨单
@ -1169,6 +1170,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
temporaryExitPermitInfo.setReason("存放地点变更");
temporaryExitPermitInfo.setCreatName(scmVehicleGression.getOperator());
temporaryExitPermitInfo.setCarryCarName("—");
temporaryExitPermitInfo.setApplyName(scmVehicleGression.getApplicantName());
return rb.success().setData(temporaryExitPermitInfo);
}

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebatewithapply/ScmVehRebateWithApplyMapper.xml

@ -16,7 +16,6 @@
<where>
${ew.sqlSegment}
</where>
GROUP BY svrwa.sid
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.scm.api.scmvehrebatewithapply.ScmVehRebateWithApplyVo">

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

@ -116,6 +116,7 @@ public class ScmVehRebateWithApplyService extends MybatisBaseService<ScmVehRebat
apply(StringUtils.isNotBlank(createEndTime), "date_format (svrwa.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
qw.eq("svrwa.createOrgSid", query.getCreateOrgSid());
qw.groupBy("svrwa.sid");
qw.orderByDesc("svrwa.createTime");
IPage<ScmVehRebateWithApply> page = PagerUtil.queryToPage(pq);
IPage<ScmVehRebateWithApplyVo> pagging = baseMapper.selectPageVo(page, qw);

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

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class BillApplicationIInfoDto implements Dto {
private static final long serialVersionUID = -3912119646277339550L;
@ApiModelProperty("用户sid")
@JsonProperty("userSid")
private String createBySid;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("开票总价")
@JsonProperty("invoiceTotal")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
@JsonProperty("invoiceMoney")
private String oneBillMoney;
@ApiModelProperty("客户名称")
@JsonProperty("customer")
private String customerName;
@ApiModelProperty("申请日期")
@JsonProperty("date")
private String applyDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("车辆集合")
private List<VinListDto> vinList;
@ApiModelProperty("开票状态")
@JsonProperty("invoiceState")
private String billState;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同")
private List<String> registerContractImages;
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("流程实列id")
@JsonProperty("procInsId")
private String procInstSid;
@ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid;
}

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

@ -0,0 +1,69 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class BillApplicationIInfoVo implements Vo {
private static final long serialVersionUID = 4350954980382638919L;
@ApiModelProperty("用户sid")
@JsonProperty("userSid")
private String createBySid;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("开票总价")
@JsonProperty("invoiceTotal")
private String totalBillMoney;
@ApiModelProperty("单台开票价")
@JsonProperty("invoiceMoney")
private String oneBillMoney;
@ApiModelProperty("客户名称")
@JsonProperty("customer")
private String customerName;
@ApiModelProperty("申请日期")
@JsonProperty("date")
private String applyDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("车辆集合")
private List<VinListVo> vinList;
@ApiModelProperty("开票状态")
@JsonProperty("invoiceState")
private String billState;
@ApiModelProperty("客户开票申请书")
private List<String> customerInvoiceApplyImages;
@ApiModelProperty("车辆登记合同")
private List<String> registerContractImages;
@ApiModelProperty("开票信息确认书")
private List<String> invoiceApplyConfirmImages;
@ApiModelProperty("任务id")
@JsonProperty("")
private String taskId;
@ApiModelProperty("流程实列id")
@JsonProperty("procInsId")
private String procInstSid;
@ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid;
}

19
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/BillApplicationPageQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.yxt.common.core.query.Query;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BillApplicationPageQuery implements Query {
private static final long serialVersionUID = 3712146601846318237L;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("客户名称")
private String name;
}

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

@ -0,0 +1,50 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BillApplicationPageVo implements Vo {
private static final long serialVersionUID = -6197889357871997515L;
@ApiModelProperty("合同sid")
@JsonProperty("contractSid")
private String contractSid;
@ApiModelProperty("合同状态 流程状态")
@JsonProperty("contractState")
private String nodeState;
@ApiModelProperty("合同编号")
@JsonProperty("contractId")
private String contractNo;
@ApiModelProperty("客户名称")
@JsonProperty("name")
private String customerName;
@ApiModelProperty("数量")
@JsonProperty("number")
private String num;
@ApiModelProperty("总金额")
@JsonProperty("price")
private String totalBillMoney;
@ApiModelProperty("开票类型")
@JsonProperty("invoicedType")
private String billState;
@ApiModelProperty("申请人")
@JsonProperty("")
private String applyName;
@ApiModelProperty("时间")
@JsonProperty("date")
private String applyDate;
@ApiModelProperty("是否显示修改按钮 合同提交后/开始走流程不显示")
private boolean isShowUpData;
}

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

@ -4,7 +4,12 @@ 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;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.SubmitInvoicedInfoDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredApplyInfoVo;
import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredPageQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredPageVo;
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.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
@ -24,6 +29,21 @@ import javax.validation.Valid;
fallback = InvoicedFeignFallback.class)
public interface InvoicedFeign {
@ApiOperation("移动端-获取开票申请列表")
@PostMapping("/getInvoicedApplyList")
@ResponseBody
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(@RequestBody PagerQuery<BillApplicationPageQuery> pagerQuery);
@ApiOperation("手机端-初始化 开票申请/详情")
@GetMapping("/getInvoicedApply/{contractSid}")
@ResponseBody
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(@PathVariable("contractSid") String contractSid);
@ApiOperation("移动端-保存开票申请")
@PostMapping("/saveInvoicedApplyInfo")
@ResponseBody
public ResultBean saveInvoicedApplyInfo(@Valid @RequestBody BillApplicationIInfoDto dto);
@ApiOperation("提交")
@PostMapping("/submitInvoicedInfo")
@ResponseBody

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

@ -1,5 +1,13 @@
package 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;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.SubmitInvoicedInfoDto;
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.stereotype.Component;
/**
@ -8,5 +16,49 @@ import org.springframework.stereotype.Component;
* @Description
*/
@Component
public class InvoicedFeignFallback {
public class InvoicedFeignFallback implements InvoicedFeign {
@Override
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) {
return null;
}
@Override
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
return null;
}
@Override
public ResultBean saveInvoicedApplyInfo(BillApplicationIInfoDto dto) {
return null;
}
@Override
public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) {
return null;
}
@Override
public ResultBean agreeInvoicedInfo(InvoicedDto dto) {
return null;
}
@Override
public ResultBean rejectInvoicedInfo(InvoicedTaskQuery query) {
return null;
}
@Override
public ResultBean recallInvoicedInfo(InvoicedTaskQuery query) {
return null;
}
@Override
public ResultBean stopInvoicedInfo(InvoicedTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(InvoicedQuery query) {
return null;
}
}

29
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListDto.java

@ -0,0 +1,29 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VinListDto implements Dto {
private static final long serialVersionUID = 1941205415631089700L;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型")
@JsonProperty("invoiceType")
private String billTypeValue;
@ApiModelProperty("开票类型")
@JsonProperty("invoiceTypeKey")
private String billTypeKey;
}

30
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/invoiced/VinListVo.java

@ -0,0 +1,30 @@
package com.yxt.anrui.terminal.api.autoservice.invoiced;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class VinListVo implements Vo {
private static final long serialVersionUID = -8613016702728614645L;
@ApiModelProperty("车架号")
@JsonProperty("vin")
private String VIN;
@ApiModelProperty("开票名称")
private String invoiceName;
@ApiModelProperty("开票名称")
private String invoiceNameKey;
@ApiModelProperty("开票类型")
@JsonProperty("invoiceType")
private String billTypeValue;
@ApiModelProperty("开票类型")
@JsonProperty("invoiceTypeKey")
private String billTypeKey;
}

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

@ -1,11 +1,13 @@
package com.yxt.anrui.terminal.biz.autoservice.invoiced;
import com.yxt.anrui.terminal.api.autoservice.invoiced.InvoicedFeign;
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;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.SubmitInvoicedInfoDto;
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.stereotype.Controller;
@ -24,6 +26,21 @@ public class InvoicedRest implements InvoicedFeign {
@Autowired
private InvoicedService invoicedService;
@Override
public ResultBean<PagerVo<BillApplicationPageVo>> getInvoicedApplyList(PagerQuery<BillApplicationPageQuery> pagerQuery) {
return invoicedService.getInvoicedApplyList(pagerQuery);
}
@Override
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
return invoicedService.getInvoicedApply(contractSid);
}
@Override
public ResultBean saveInvoicedApplyInfo(BillApplicationIInfoDto dto) {
return invoicedService.saveInvoicedApplyInfo(dto);
}
@Override
public ResultBean submitInvoicedInfo(SubmitInvoicedInfoDto dto) {
return invoicedService.submitInvoicedInfo(dto);

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

@ -2,8 +2,7 @@ package com.yxt.anrui.terminal.biz.autoservice.invoiced;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.commoncontract.flowable.AppSubmitContractInfoDto;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign;
import com.yxt.anrui.fin.api.finbillapplication.SubmitFinBillApplicationDto;
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;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeVo;
@ -12,11 +11,23 @@ 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.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.invoiced.flowable.InvoicedDto;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.InvoicedQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.InvoicedTaskQuery;
import com.yxt.anrui.terminal.api.autoservice.invoiced.flowable.SubmitInvoicedInfoDto;
import com.yxt.anrui.terminal.api.autoservice.retrieval.DeliveredApplyInfoVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleexamine.AppExamineInfoVo;
import com.yxt.anrui.terminal.api.supplychain.scmvehicleexamine.AppExaminePageVo;
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;
@ -38,6 +49,34 @@ public class InvoicedService {
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
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);
}
public ResultBean<BillApplicationIInfoVo> getInvoicedApply(String contractSid) {
ResultBean<BillApplicationIInfoVo> rb = ResultBean.fireFail();
BillApplicationIInfoVo vo = new BillApplicationIInfoVo();
ResultBean<AppBillApplicationIInfoVo> resultBean = finBillApplicationFeign.getInvoicedApply(contractSid);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
AppBillApplicationIInfoVo appBillApplicationIInfoVo = resultBean.getData();
BeanUtil.copyProperties(appBillApplicationIInfoVo, vo);
return rb.success().setData(vo);
}
public ResultBean saveInvoicedApplyInfo(BillApplicationIInfoDto dto) {
AppBillApplicationIInfoDto appBillApplicationIInfoDto = new AppBillApplicationIInfoDto();
BeanUtil.copyProperties(dto, appBillApplicationIInfoDto);
ResultBean resultBean = finBillApplicationFeign.saveInvoicedApplyInfo(appBillApplicationIInfoDto);
return resultBean;
}
public ResultBean agreeInvoicedInfo(InvoicedDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid

Loading…
Cancel
Save