Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 3 years ago
parent
commit
12b2273b53
  1. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelszconfig/BaseModelSzconfig.java
  2. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelszconfig/BaseModelSzconfigVo.java
  3. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java
  4. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java
  5. 3
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java
  6. 1
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java
  7. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailDto.java
  8. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailVo.java
  9. 27
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySz.java
  10. 21
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzDto.java
  11. 46
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzVo.java
  12. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  13. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java
  14. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml
  15. 23
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java
  16. 5
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelszconfig/BaseModelSzconfigMapper.xml
  17. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml
  18. 20
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  19. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java
  20. 14
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  21. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  22. 9
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java
  23. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyMapper.xml
  24. 22
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  25. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java
  26. 19
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzMapper.java
  27. 31
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzMapper.xml
  28. 24
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzService.java
  29. 11
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java
  30. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml
  31. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml
  32. 1
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  33. 115
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignService.java
  34. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java
  35. 3
      anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata.json
  36. 1
      anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata_FEntityDetail.json
  37. 1
      anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata_FEntityPlan.json
  38. 4
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  39. 13
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java
  40. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java
  41. 11
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml
  42. 6
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java
  43. 13
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java
  44. 2
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehiclegression/ScmVehicleGressionVo.java
  45. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  46. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java
  47. 13
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.xml
  48. 33
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionService.java
  49. 4
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml
  50. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryMapper.xml
  51. 1
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java
  52. 11
      anrui-scm/anrui-scm-ui/src/api/supplychain/diaochekaipiaoshenqing.js
  53. 2
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue
  54. 69
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue
  55. 33
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationInfo.vue
  56. 78
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue
  57. 46
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue
  58. 34
      anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue
  59. 4
      anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangAdd.vue
  60. 17
      anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangguanli.vue
  61. 4
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue
  62. 78
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue
  63. 57
      anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo.vue
  64. 38
      anrui-scm/anrui-scm-ui/src/views/supplychain/diaochekaipiaoshenqingguanli/diaocheshenqingAdd.vue
  65. 14
      anrui-scm/anrui-scm-ui/src/views/supplychain/tiaozhangshenqingguanli/tiaozhangshenqingguanliAdd.vue
  66. 10
      anrui-scm/anrui-scm-ui/src/views/supplychain/tiaozhangshenqingguanli/tiaozhangshenqingguanliInfo.vue
  67. 72
      anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangeng.vue
  68. 81
      anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangengEdit.vue
  69. 46
      anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangengInfo.vue
  70. 4
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue
  71. 4
      anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangInfo.vue
  72. 29
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqing.vue
  73. 29
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingCallInToCallOut.vue
  74. 28
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingEdit.vue
  75. 2
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingInfo.vue
  76. 10
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqing.vue
  77. 10
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingCallInOrCallOut.vue
  78. 14
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingEdit.vue
  79. 10
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingInfo.vue
  80. 10
      anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingOrgChange.vue
  81. 9
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java
  82. 24
      doc/databases/base_tables.sql

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelszconfig/BaseModelSzconfig.java

@ -83,4 +83,15 @@ public class BaseModelSzconfig extends BaseEntity {
@ApiModelProperty(value = "价格有效期")
private Date priceValidity;
@ApiModelProperty(value = "篷布滑道")
private String tarpaulinSlide;
@ApiModelProperty(value = "冷藏冷机")
private String refrigerator;
@ApiModelProperty(value = "自卸液压盖板")
private String coverPlate;
@ApiModelProperty(value = "底板加热")
private String floorHeating;
@ApiModelProperty(value = "颜色")
private String color;
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basemodelszconfig/BaseModelSzconfigVo.java

@ -87,5 +87,16 @@ public class BaseModelSzconfigVo implements Vo {
//联系电话
//询价日期
@ApiModelProperty(value = "篷布滑道")
private String tarpaulinSlide;
@ApiModelProperty(value = "冷藏冷机")
private String refrigerator;
@ApiModelProperty(value = "自卸液压盖板")
private String coverPlate;
@ApiModelProperty(value = "底板加热")
private String floorHeating;
@ApiModelProperty(value = "颜色")
private String color;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDetailsVo.java

@ -28,6 +28,8 @@ package com.yxt.anrui.base.api.baseoutsourcingapplication;
import com.yxt.anrui.base.api.baseoutsourcingapplicationvehicle.BaseOutsourcingApplicationVehicleDto;
import com.yxt.anrui.base.api.baseoutsourcingapplicationvehicle.BaseOutsourcingApplicationVehicleVo;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -106,6 +108,8 @@ public class BaseOutsourcingApplicationDetailsVo implements Vo {
private String useOrgName; // 分公司名称
@ApiModelProperty("备注")
private String remarks; // 备注
@ApiModelProperty("合同附件")
private CommonAppendixVo contract; // 备注
@ApiModelProperty("外采车辆列表")
private List<BaseOutsourcingApplicationVehicleVo> baseOutsourcingApplicationVehicleVos; // 外采车辆列表
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/baseoutsourcingapplication/BaseOutsourcingApplicationDto.java

@ -123,5 +123,5 @@ public class BaseOutsourcingApplicationDto implements Dto {
@ApiModelProperty("外采车辆列表")
private List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos; // 外采车辆列表
@ApiModelProperty("合同附件信息")
private List<CommonAppendix> contract;
private CommonAppendix contract;
}

3
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java

@ -49,4 +49,7 @@ public class BaseVehicleVo implements Vo {
@ApiModelProperty("车型配置sid")
private String modelConfigSid;
@ApiModelProperty("销售指导价")
private String guidedPrice;
}

1
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapply/BusVehicleApplyDto.java

@ -2,6 +2,7 @@ package com.yxt.anrui.base.api.busvehicleapply;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailDto.java

@ -1,13 +1,12 @@
package com.yxt.anrui.base.api.busvehicleapplydetail;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.Pattern;
/**
* Project: anrui-scm(进销存) <br/>
* File: BusVehicleApplyDetailDto.java <br/>
@ -51,4 +50,6 @@ public class BusVehicleApplyDetailDto implements Dto {
private String insideCode;
@ApiModelProperty(value = "厂家合同价")
private String contractPrice;
private BusVehicleApplySzDto busVehicleApplySz;
}

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplydetail/BusVehicleApplyDetailVo.java

@ -1,6 +1,7 @@
package com.yxt.anrui.base.api.busvehicleapplydetail;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -48,4 +49,7 @@ public class BusVehicleApplyDetailVo implements Vo {
private String insideCode;
@ApiModelProperty(value = "厂家合同价")
private String contractPrice;
@ApiModelProperty
private BusVehicleApplySzVo busVehicleApplySz;
}

27
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySz.java

@ -0,0 +1,27 @@
package com.yxt.anrui.base.api.busvehicleapplysz;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/25 9:06
* @Description
*/
@Data
public class BusVehicleApplySz extends BaseEntity {
private static final long serialVersionUID = -7587424900247339685L;
@ApiModelProperty(value = "上装sid")
private String szSid;
@ApiModelProperty(value = "排产车型sid")
private String detailsSid;
@ApiModelProperty(value = "厂家结算价")
private Integer costPrice;
@ApiModelProperty(value = "销售指导价")
private String guidePrice;
@ApiModelProperty(value = "排产申请sid")
private String applySid;
}

21
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzDto.java

@ -0,0 +1,21 @@
package com.yxt.anrui.base.api.busvehicleapplysz;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/25 9:15
* @Description
*/
@Data
public class BusVehicleApplySzDto implements Dto {
private static final long serialVersionUID = 6049062827845457997L;
@ApiModelProperty(value = "上装配置sid")
private String szSid;
@ApiModelProperty(value = "厂家结算价")
private Integer costPrice;
@ApiModelProperty(value = "销售指导价")
private Integer guidePrice;
}

46
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleapplysz/BusVehicleApplySzVo.java

@ -0,0 +1,46 @@
package com.yxt.anrui.base.api.busvehicleapplysz;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/7/25 9:53
* @Description
*/
@Data
public class BusVehicleApplySzVo implements Vo {
private static final long serialVersionUID = 8279766010467092112L;
@ApiModelProperty(value = "车辆功能")
private String vehicleFunction;
@ApiModelProperty(value = "上装名称")
private String topName;
@ApiModelProperty(value = "委改方式")
private String refitMethod;
@ApiModelProperty(value = "委改厂")
private String refitFactory;
@ApiModelProperty(value = "外廓尺寸")
private String overallDimension;
@ApiModelProperty(value = "颜色")
private String color;
@ApiModelProperty(value = "板材材质")
private String plateMaterial;
@ApiModelProperty(value = "板材厚度")
private String plateThickness;
@ApiModelProperty(value = "篷布滑道")
private String tarpaulinSlide;
@ApiModelProperty(value = "冷藏冷机")
private String refrigerator;
@ApiModelProperty(value = "自卸液压盖板")
private String coverPlate;
@ApiModelProperty(value = "底板加热")
private String floorHeating;
@ApiModelProperty(value = "更多配置")
private String otherConfig;
@ApiModelProperty(value = "上装sid")
private String sid;
}

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

@ -224,6 +224,7 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
if (query.getSids().size() > 0) {
qw.notIn("bipv.sid", query.getSids());
}
qw.eq("bip.nodeState","已办结");
IPage<BaseInternalPurchaseVehicleDetailsVo> page = PagerUtil.queryToPage(pq);
IPage<BaseInternalPurchaseVehicleDetailsVo> pagging = baseMapper.fetchVeh(page, qw);
PagerVo<BaseInternalPurchaseVehicleDetailsVo> p = PagerUtil.pageToVo(pagging, null);
@ -383,6 +384,9 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)){
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
@ -436,6 +440,9 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)){
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
if (bv.getTaskId().equals(baseAccadjApply.getTaskId())) {

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseinternalpurchase/BaseInternalPurchaseService.java

@ -403,6 +403,9 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)){
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}
@ -423,6 +426,9 @@ public class BaseInternalPurchaseService extends MybatisBaseService<BaseInternal
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)){
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0, nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelconfig/BaseModelConfigMapper.xml

@ -479,7 +479,7 @@
SELECT bvm.vehicleAlias AS modelName,
bvm.brandName,
bvm.vehicleVersionValue,
CONCAT(MIN(bvc.guidedPrice), '-', MAX(bvc.guidedPrice)) AS price,
if(MIN(bvc.guidedPrice)=MAX(bvc.guidedPrice),convert(MAX(bvc.guidedPrice)/10000,decimal(10,2)),CONCAT(convert(MIN(bvc.guidedPrice)/10000,decimal(10,2)), '-', convert(MAX(bvc.guidedPrice)/10000,decimal(10,2)))) AS price,
bvm.vehicleTypeValue,
bvm.productLineValue,
bvm.powerValue,
@ -520,7 +520,7 @@
bmc.independentSources,
bmc.fuelTank,
bmc.multimedia,
bvc.guidedPrice as price,
convert(bvc.guidedPrice/10000,decimal(10,2)) as price,
bvc.priceValidity,
bvm.sid as modelSid,
bvm.vehicleAlias as modelName,
@ -694,7 +694,7 @@
bmc.independentSources,
bmc.fuelTank,
bmc.multimedia,
bvc.guidedPrice as price,
convert(bvc.guidedPrice/10000,decimal(10,2)) as price,
bvc.priceValidity,
bvc.manufactorSettlementPrice,
bvm.sid as modelSid,

23
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelmodprice/BaseModelModpriceService.java

@ -38,10 +38,13 @@ import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModel;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelDto;
import com.yxt.anrui.base.api.basemodelmodpricemodel.BaseModelModpriceModelVo;
import com.yxt.anrui.base.api.baseoutsourcingapplication.GetNextNodeDto;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfig;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapply.flow.GetNodeVo;
import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.biz.basemodelmodpricemodel.BaseModelModpriceModelService;
import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigMapper;
import com.yxt.anrui.base.biz.basevehmodelconfig.BaseVehmodelConfigService;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
@ -62,6 +65,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -94,6 +98,8 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
private FlowTaskFeign flowTaskFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private BaseVehmodelConfigMapper baseVehmodelConfigMapper;
public PagerVo<BaseModelModpriceVo> listPageVo(PagerQuery<BaseModelModpriceQuery> pq) {
BaseModelModpriceQuery query = pq.getParams();
@ -268,12 +274,29 @@ public class BaseModelModpriceService extends MybatisBaseService<BaseModelModpri
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
BaseModelModprice baseModelModprice = fetchBySid(bv.getBusinessSid());
List<BaseModelModpriceModelVo> baseModelModpriceModelVos = baseModelModpriceModelService.fetchByMainSid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseModelModprice.getTaskId())) {
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
String taskDefKey = resultBean.getData().getTaskDefKey();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(taskDefKey)) {
for (BaseModelModpriceModelVo baseModelModpriceModelVo : baseModelModpriceModelVos) {
BigDecimal incOrDecInPrice = new BigDecimal(baseModelModpriceModelVo.getIncOrDecInPrice());
BigDecimal guidedPrice = new BigDecimal(baseModelModpriceModelVo.getGuidedPrice());
guidedPrice = guidedPrice.add(incOrDecInPrice);
String modelSid = baseModelModpriceModelVo.getModelSid();
String configSid = baseModelModpriceModelVo.getConfigSid();
String createOrgSid = baseModelModprice.getCreateOrgSid();
BaseVehmodelConfig baseVehmodelConfig = baseVehmodelConfigMapper.selectSid(modelSid, configSid, createOrgSid);
if (baseVehmodelConfig == null) {
return rb.setMsg("车型配置不存在");
}
baseVehmodelConfigMapper.updateGuidedPrice(guidedPrice, baseVehmodelConfig.getSid());
}
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");

5
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemodelszconfig/BaseModelSzconfigMapper.xml

@ -31,6 +31,11 @@
vehicleFunction,
settlementPrice,
guidePrice,
color,
tarpaulinSlide,
refrigerator,
coverPlate,
floorHeating,
DATE_FORMAT(priceValidity, '%Y-%m-%d') as priceValidity
from base_model_szconfig ${ew.customSqlSegment}
</select>

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationMapper.xml

@ -4,7 +4,7 @@
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.base.api.baseoutsourcingapplication.BaseOutsourcingApplicationVo">
SELECT * FROM base_outsourcing_application <where> ${ew.sqlSegment} </where>
SELECT * FROM base_outsourcing_application <where> ${ew.sqlSegment} </where> order by createTime desc
</select>
<select id="BaseOutsourcingApplicationDetailsVo"

20
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -37,6 +37,7 @@ import com.yxt.anrui.base.api.baseoutsourcingapplicationvehicle.BaseOutsourcingA
import com.yxt.anrui.base.api.basevehicle.BaseVehicleDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendix;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixDto;
import com.yxt.anrui.base.api.commonappendix.CommonAppendixVo;
import com.yxt.anrui.base.api.commonappendix.CommonAttachTypeEnum;
import com.yxt.anrui.base.api.flow.FlowTaskVo;
import com.yxt.anrui.base.biz.baseoutsourcingapplicationvehicle.BaseOutsourcingApplicationVehicleService;
@ -171,7 +172,7 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
ResultBean rb = ResultBean.fireFail();
BaseOutsourcingApplication entity = new BaseOutsourcingApplication();
List<BaseOutsourcingApplicationVehicleDto> baseOutsourcingApplicationVehicleDtos = dto.getBaseOutsourcingApplicationVehicleDtos();
List<CommonAppendix> contract = dto.getContract();
CommonAppendix contract = dto.getContract();
String sid1 = entity.getSid();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {//新增
@ -211,10 +212,13 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
baseOutsourcingApplicationVehicle.setOutAppSid(sid1);
baseOutsourcingApplicationVehicleService.save(baseOutsourcingApplicationVehicle);
}
for (CommonAppendix commonAppendix : contract) {
commonAppendix.setLinkSid(entity.getSid());
commonAppendix.setAttachType(CommonAttachTypeEnum.OUTSOURCINGAPPLY.getAttachType());
commonAppendixService.save(commonAppendix);
if(contract!=null){
contract.setLinkSid(entity.getSid());
contract.setFileType( contract.getFileName().substring(
contract.getFileName().lastIndexOf("."),contract.getFileName().length()));
contract.setName(dto.getCreateByName());
contract.setAttachType(CommonAttachTypeEnum.OUTSOURCINGAPPLY.getAttachType());
commonAppendixService.save(contract);
}
return rb.success().setMsg("添加成功").setData(entity.getSid());
}
@ -245,6 +249,12 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
BeanUtil.copyProperties(baseOutsourcingApplication, baseOutsourcingApplicationDetailsVo);
List<BaseOutsourcingApplicationVehicleVo> baseOutsourcingApplicationVehicleVos = baseOutsourcingApplicationVehicleService.fetchByOutAppSid(sid);
baseOutsourcingApplicationDetailsVo.setBaseOutsourcingApplicationVehicleVos(baseOutsourcingApplicationVehicleVos);
List<CommonAppendixVo> commonAppendixVos = commonAppendixService.selByLinkSid( sid);
if(commonAppendixVos!=null&&commonAppendixVos.size()>0){
baseOutsourcingApplicationDetailsVo.setContract(commonAppendixVos.get(0));
}
return rb.success().setData(baseOutsourcingApplicationDetailsVo);
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseshuntinginvoicingapply/BaseShuntingInvoicingApplyService.java

@ -202,6 +202,7 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
if (query.getSids().size() > 0) {
qw.notIn("bipv.sid", query.getSids());
}
qw.eq("bip.nodeState","已办结");
IPage<BaseInternalPurchaseVehicleDetailsVo> page = PagerUtil.queryToPage(pq);
IPage<BaseInternalPurchaseVehicleDetailsVo> pagging = baseMapper.fetchVeh(page, qw);
PagerVo<BaseInternalPurchaseVehicleDetailsVo> p = PagerUtil.pageToVo(pagging, null);
@ -358,6 +359,9 @@ public class BaseShuntingInvoicingApplyService extends MybatisBaseService<BaseSh
nextNodeUserSids.append(sid).append(",");
}
}
if (StringUtils.isBlank(nextNodeUserSids)){
return rb.setMsg("下一环节暂无操作人员");
}
String substring = nextNodeUserSids.substring(0,nextNodeUserSids.lastIndexOf(","));
bv.setNextNodeUserSids(substring);
return handleProcess(bv, rb, baseShuntingInvoicingApply);

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

@ -19,8 +19,12 @@
bv.engineNo,
bv.vehicleStateValue,
bv.locationName,
bv.modelConfigSid
bv.modelConfigSid,
bvc.`guidedPrice`
FROM base_vehicle bv
LEFT JOIN base_vehmodel_config bvc
ON bv.`modelSid` = bvc.`modelSid`
AND bv.`modelConfigSid` = bvc.`configurationItemsSid`
<where>
${ew.sqlSegment}
</where>
@ -483,9 +487,9 @@
bvm.vehicleVersionValue AS versionValue,
bvm.fuelTypeValue,
bvm.gearboxTypeValue,
(SELECT if(MIN(bvc.guidedPrice) = MAX(bvc.guidedPrice), MAX(bvc.guidedPrice),
CONCAT(MIN(bvc.guidedPrice), '-',
MAX(bvc.guidedPrice)))
(SELECT if(MIN(bvc.guidedPrice) = MAX(bvc.guidedPrice), convert(MAX(bvc.guidedPrice)/10000,decimal(10,2)),
CONCAT(convert(MIN(bvc.guidedPrice)/10000,decimal(10,2)), '-',
convert(MAX(bvc.guidedPrice)/10000,decimal(10,2))))
FROM base_vehmodel_config bvc
WHERE bvc.modelSid
= bvm.sid
@ -536,7 +540,7 @@
<select id="getAppModelConfig"
resultType="com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailConfigVo">
SELECT bvc.guidedPrice AS price,
SELECT convert(bvc.guidedPrice/10000,decimal(10,2)) AS price,
bvc.priceValidity AS `date`,
bvm.vehicleAlias AS model,
bvm.brandName AS brand,

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

@ -1187,6 +1187,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
qw.eq("bv.lockedState", VehicleState.LockEnum.UN_LOCK.getCode());
//库存状态:库存
qw.eq("bv.vehicleState", VehicleState.StockEnum.STOCK.getCode());
//调车状态:未调车
qw.eq("bv.witPinState","100");
}
return qw;
}

9
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehmodelconfig/BaseVehmodelConfigMapper.java

@ -32,11 +32,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigListVo;
import com.yxt.anrui.base.api.basevehmodelconfig.*;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.*;
import java.math.BigDecimal;
import java.util.List;
/**
@ -134,4 +132,7 @@ public interface BaseVehmodelConfigMapper extends BaseMapper<BaseVehmodelConfig>
IPage<BaseVehmodelConfigVos> selVehModelByUseOrgSidAndModelSidAndConfigSid(IPage<BaseVehmodelConfig> page,@Param(Constants.WRAPPER) QueryWrapper<BaseVehmodelConfigVos> qw);
BaseVehmodelConfig selectSid(@Param("modelSid") String modelSid, @Param("configSid") String configSid, @Param("useOrgSid") String useOrgSid);
@Update("update base_vehmodel_config set guidedPrice = #{guidedPrice} where sid = #{sid}")
void updateGuidedPrice(@Param("guidedPrice") BigDecimal guidedPrice,@Param("sid") String sid);
}

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

@ -45,9 +45,9 @@
</select>
<select id="selectNum" resultType="int">
select count(*)
select RIGHT(applicationCode,4)
from bus_vehicle_apply
where applicationCode LIKE concat(#{bill}, '%')
where applicationCode LIKE concat(#{bill}, '%') order by id desc limit 1
</select>
<select id="selectByCode" resultType="com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply">

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

@ -15,10 +15,12 @@ import com.yxt.anrui.base.api.busvehicleapply.flow.SubmitBusVehicleApplyDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailDto;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetailVo;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.biz.basemanufactorsubscription.BaseManufactorSubscriptionService;
import com.yxt.anrui.base.biz.basemanufacturerbank.BaseManufacturerBankService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService;
import com.yxt.anrui.base.biz.busvehicleapplysz.BusVehicleApplySzService;
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;
@ -87,6 +89,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
private BaseVehicleModelService baseVehicleModelService;
@Autowired
private BaseManufacturerBankService baseManufacturerBankService;
@Autowired
private BusVehicleApplySzService busVehicleApplySzService;
/**
* 分页列表
@ -188,7 +192,15 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
i = i + Integer.valueOf(busVehicleApplyDetailDto.getApplyForDeposit()).intValue();
}
busVehicleApplyDetailService.insert(busVehicleApplyDetail);
if (busVehicleApplyDetailDto.getBusVehicleApplySz() != null) {
BusVehicleApplySz busVehicleApplySz = new BusVehicleApplySz();
BeanUtil.copyProperties(busVehicleApplyDetailDto.getBusVehicleApplySz(), busVehicleApplySz);
busVehicleApplySz.setDetailsSid(busVehicleApplyDetail.getSid());
busVehicleApplySz.setApplySid(entity.getSid());
busVehicleApplySzService.insert(busVehicleApplySz);
}
}
if (i != Integer.valueOf(dto.getCurrentAmount()).intValue()) {
return rb.setMsg("申请订金合计计算错误");
}
@ -202,18 +214,24 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
}
BeanUtil.copyProperties(dto, busVehicleApply);
busVehicleApplyDetailService.delByApplySid(dto.getSid());
busVehicleApplySzService.deleteByApplySid(dto.getSid());
int i = 0;
List<BusVehicleApplyDetailDto> busVehicleApplyDetailDtoList = dto.getBusVehicleApplyDetailList();
for (BusVehicleApplyDetailDto busVehicleApplyDetailDto : busVehicleApplyDetailDtoList) {
BusVehicleApplyDetail busVehicleApplyDetail = new BusVehicleApplyDetail();
BeanUtil.copyProperties(busVehicleApplyDetailDto, busVehicleApplyDetail, "sid");
busVehicleApplyDetail.setApplySid(dto.getSid());
// NumberFormat numberFormat2 = NumberFormat.getNumberInstance();
// numberFormat2.setGroupingUsed(false);
if (StringUtils.isNotBlank(busVehicleApplyDetailDto.getApplyForDeposit())) {
i = i + Integer.valueOf(busVehicleApplyDetailDto.getApplyForDeposit()).intValue();
}
busVehicleApplyDetailService.insert(busVehicleApplyDetail);
if (busVehicleApplyDetailDto.getBusVehicleApplySz() != null) {
BusVehicleApplySz busVehicleApplySz = new BusVehicleApplySz();
BeanUtil.copyProperties(busVehicleApplyDetailDto.getBusVehicleApplySz(), busVehicleApplySz);
busVehicleApplySz.setDetailsSid(busVehicleApplyDetail.getSid());
busVehicleApplySz.setApplySid(dto.getSid());
busVehicleApplySzService.insert(busVehicleApplySz);
}
}
if (i != Integer.valueOf(dto.getCurrentAmount()).intValue()) {
return rb.setMsg("申请订金合计计算错误");

10
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplydetail/BusVehicleApplyDetailService.java

@ -6,13 +6,16 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basevehicle.BusVehicleOrderCountQuery;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapplydetail.*;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzVo;
import com.yxt.anrui.base.api.busvehicleorder.OrderListVo;
import com.yxt.anrui.base.biz.busvehicleapplysz.BusVehicleApplySzService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
@ -35,6 +38,10 @@ import java.util.List;
*/
@Service
public class BusVehicleApplyDetailService extends MybatisBaseService<BusVehicleApplyDetailMapper, BusVehicleApplyDetail> {
@Autowired
private BusVehicleApplySzService busVehicleApplySzService;
public PagerVo<BusVehicleApplyDetail> listPage(PagerQuery<BusVehicleApplyDetailQuery> pq) {
BusVehicleApplyDetailQuery query = pq.getParams();
QueryWrapper<BusVehicleApplyDetail> qw = createQueryWrapper(query);
@ -133,7 +140,8 @@ public class BusVehicleApplyDetailService extends MybatisBaseService<BusVehicleA
// vo.setContractPrice(DecimalFormat.getNumberInstance().format(Integer.valueOf(vo.getContractPrice()).intValue()));
vo.setContractPrice(vo.getContractPrice());
}
BusVehicleApplySzVo busVehicleApplySz = busVehicleApplySzService.selectByDetails(vo.getSid());
vo.setBusVehicleApplySz(busVehicleApplySz);
}
}
return busVehicleApplyDetailVos;

19
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzMapper.java

@ -0,0 +1,19 @@
package com.yxt.anrui.base.biz.busvehicleapplysz;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzVo;
import org.apache.ibatis.annotations.Mapper;
/**
* @Author dimengzhe
* @Date 2022/7/25 9:19
* @Description
*/
@Mapper
public interface BusVehicleApplySzMapper extends BaseMapper<BusVehicleApplySz> {
void deleteByApplySid(String applyModelSid);
BusVehicleApplySzVo selectByDetails(String sid);
}

31
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzMapper.xml

@ -0,0 +1,31 @@
<?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.base.biz.busvehicleapplysz.BusVehicleApplySzMapper">
<delete id="deleteByApplySid">
delete
from bus_vehicle_apply_sz
where applySid = #{applyModelSid}
</delete>
<select id="selectByDetails" resultType="com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzVo">
select sz.vehicleFunction,
sz.topName,
sz.refitMethod,
sz.refitFactory,
sz.overallDimension,
sz.plateMaterial,
sz.plateThickness,
sz.otherConfig,
bva.guidePrice,
bva.costPrice,
sz.color,
sz.tarpaulinSlide,
sz.refrigerator,
sz.coverPlate,
sz.floorHeating,
sz.sid
from bus_vehicle_apply_sz bva
left join base_model_szconfig sz on sz.sid = bva.szSid
where bva.detailsSid = #{sid}
</select>
</mapper>

24
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapplysz/BusVehicleApplySzService.java

@ -0,0 +1,24 @@
package com.yxt.anrui.base.biz.busvehicleapplysz;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySzVo;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2022/7/25 9:19
* @Description
*/
@Service
public class BusVehicleApplySzService extends MybatisBaseService<BusVehicleApplySzMapper, BusVehicleApplySz> {
public void deleteByApplySid(String applyModelSid) {
baseMapper.deleteByApplySid(applyModelSid);
}
public BusVehicleApplySzVo selectByDetails(String sid) {
return baseMapper.selectByDetails(sid);
}
}

11
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java

@ -26,6 +26,7 @@
package com.yxt.anrui.buscenter.api.busdelivered;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -50,8 +51,14 @@ import lombok.Data;
public class BusDelivered extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("类型:1车款交清、2欠款提车")
private Integer type;
@ApiModelProperty("类型 1 已认款 2 未认款")
private String subscription;
@ApiModelProperty("类型 1 已认款 2 未认款")
private String subscriptionKey;
@ApiModelProperty("付款方式 1 全款 2 贷款")
private String paymentMethod;
@ApiModelProperty("付款方式 1 全款 2 贷款")
private String paymentMethodKey;
@ApiModelProperty("合同编号")
private String contractNo;
@ApiModelProperty("客户名称")

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincostapply/FinCostapplyMapper.xml

@ -74,8 +74,8 @@
</select>
<select id="selectNum" resultType="int">
select count(*)
select RIGHT(billNo,4)
from fin_costapply
where billNo LIKE concat(#{bill}, '%')
where billNo LIKE concat(#{bill}, '%') order by id desc limit 1
</select>
</mapper>

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyMapper.xml

@ -47,9 +47,9 @@
</update>
<select id="selectNum" resultType="int">
select count(*)
select RIGHT(billNo,4)
from fin_paymentapply
where billNo LIKE concat(#{bill}, '%')
where billNo LIKE concat(#{bill}, '%') order by id desc limit 1
</select>
<select id="fetchDetailsVoBySid" resultType="com.yxt.anrui.fin.api.finpaymentapply.FinPaymentapplyDetailsVo">

1
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -93,6 +93,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
qw.eq("fp.useOrgSid", resultBean.getData());
}
}
qw.orderByDesc("fp.createTime");
IPage<FinPaymentrecord> page = PagerUtil.queryToPage(pq);
IPage<FinPaymentrecordVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<FinPaymentrecordVo> p = PagerUtil.pageToVo(pagging, null);

115
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/FinKingDeeFeignService.java

@ -23,7 +23,7 @@ public class FinKingDeeFeignService {
public String readJsonFile(String Filename) { //#传文件的路径
String jsonStr = "";
try {
File file = ResourceUtils.getFile("classpath:kingdeetemplete/entrybilldata.json");
File file = ResourceUtils.getFile("classpath:"+Filename);
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
@ -44,21 +44,110 @@ public class FinKingDeeFeignService {
}
/**
* 保存入账申请接口生成的应付单的数据推送到金蝶的平台中
* @param APPayable
* @param aPPayable
* @return
*/
public ResultBean draftEntryBill(APPayable APPayable) {
public ResultBean draftEntryBill(APPayable aPPayable) {
ResultBean rb=ResultBean.fireFail();
Data data=new Data();
// EntryBillCastToKingDeeBillFields.cast(APPayable,data);
String readJsonFile = readJsonFile("src/main/resources/kingdeetemplete/entrybilldata.json");
String readJsonFile = readJsonFile("kingdeetemplete/entrybilldata.json");
log.info(readJsonFile);
readJsonFile = readJsonFile.replace("@KD_Creator", "zs");
//单据类型:FBillTypeID (必填项)
readJsonFile = readJsonFile.replace("@KD_FBillTypeID", "YFD01_SYS");
//业务日期:FDATE (必填项)
readJsonFile = readJsonFile.replace("@KD_FDATE", aPPayable.getApplicationDate());
//单据状态:FDOCUMENTSTATUS (必填项)
readJsonFile = readJsonFile.replace("@KD_FDOCUMENTSTATUS", "Z");
//供应商:FSUPPLIERID (必填项)
readJsonFile = readJsonFile.replace("@KD_FSUPPLIERID", "010001");
//币别:FCURRENCYID (必填项)
readJsonFile = readJsonFile.replace("@KD_FCURRENCYID", "PRE001");
//付款条件:FPayConditon
readJsonFile = readJsonFile.replace("@KD_FPayConditon", "");
//业务类型:FBUSINESSTYPE (必填项)
readJsonFile = readJsonFile.replace("@KD_FBUSINESSTYPE", "CG");
//结算组织:FSETTLEORGID (必填项)
readJsonFile = readJsonFile.replace("@KD_FSETTLEORGID", "101");
//付款组织:FPAYORGID (必填项)
readJsonFile = readJsonFile.replace("@KD_FPAYORGID", "101");
//采购部门:FPURCHASEDEPTID (必填项)
readJsonFile = readJsonFile.replace("@KD_FPURCHASEDEPTID", "01");
//作废状态:FCancelStatus (必填项)
readJsonFile = readJsonFile.replace("@KD_FCancelStatus", "A");
log.info(readJsonFile);
JSONObject jsonObject = JSONObject.parseObject(readJsonFile);
String fEntityDetail_ = readJsonFile("kingdeetemplete/entrybilldata_FEntityDetail.json");
StringBuilder sb=new StringBuilder();
for(int i=0;i<1;i++){
String fEntityDetail=fEntityDetail_.toString();
log.info(fEntityDetail);
//物料编码:FMATERIALID
fEntityDetail = fEntityDetail.replace("@KD_FMATERIALID", " JX091054");
//物料说明:FMaterialDesc
fEntityDetail = fEntityDetail.replace("@KD_FMaterialDesc", "X牵引6*4-550超");
//计价单位:FPRICEUNITID
fEntityDetail = fEntityDetail.replace("@KD_FPRICEUNITID", " liang");
//单价:FPrice
fEntityDetail = fEntityDetail.replace("@KD_FPrice", "312500.0");
//计价数量:FPriceQty
fEntityDetail = fEntityDetail.replace("@KD_FPriceQty", "2.0");
//含税单价:FTaxPrice
fEntityDetail = fEntityDetail.replace("@KD_FMATERIALID", "350000.0");
//含税净价:FPriceWithTax
fEntityDetail = fEntityDetail.replace("@KD_FMATERIALID", "346500.0");
//税率(%):FEntryTaxRate
fEntityDetail = fEntityDetail.replace("@KD_FMATERIALID", "12.0");
//运输编号:F_PMZC_Assistant
fEntityDetail = fEntityDetail.replace("@KD_F_PMZC_Assistant", "1904110789");
//物流车辆:F_PMZC_Base
fEntityDetail = fEntityDetail.replace("@KD_F_PMZC_Base", "0001F");
//物流项目:F_PMZC_Base1
fEntityDetail = fEntityDetail.replace("@KD_F_PMZC_Base1", "01.001");
//折扣率(%):FEntryDiscountRate
fEntityDetail = fEntityDetail.replace("@KD_FEntryDiscountRate", "1.0");
//折扣额:FDISCOUNTAMOUNTFOR
fEntityDetail = fEntityDetail.replace("@KD_FDISCOUNTAMOUNTFOR", "7000.0");
//不含税金额:FNoTaxAmountFor_D
fEntityDetail = fEntityDetail.replace("@KD_FNoTaxAmountFor_D", "618750.0");
//税额:FTAXAMOUNTFOR_D
fEntityDetail = fEntityDetail.replace("@KD_FTAXAMOUNTFOR_D", "74250.0");
//价税合计:FALLAMOUNTFOR_D
fEntityDetail = fEntityDetail.replace("@KD_F_PMZC_Base1", "693000.0");
//库存单位:FStockUnitId
fEntityDetail = fEntityDetail.replace("@KD_FStockUnitId", "liang");
//库存数量:FStockQty
fEntityDetail = fEntityDetail.replace("@KD_FStockQty", "2.0");
//库存基本数量:FStockBaseQty
fEntityDetail = fEntityDetail.replace("@KD_F_PMZC_Base1", "2.0");
//计价基本分母:FPriceBaseDen
fEntityDetail = fEntityDetail.replace("@KD_FPriceBaseDen", "1.0");
//库存基本分子:FStockBaseNum
fEntityDetail = fEntityDetail.replace("@KD_FStockBaseNum", "1.0");
log.info(fEntityDetail);
sb.append(fEntityDetail).append(",");
}
String sbs=sb.substring(0,sb.length()-1);
readJsonFile.replace("@KD_FEntityDetail",sbs);
String fEntityPlan_ = readJsonFile("kingdeetemplete/entrybilldata_FEntityPlan.json");
StringBuilder sb_fEntityPlan=new StringBuilder();
for(int i=0;i<1;i++){
String fEntityPlan=fEntityPlan_.toString();
log.info(fEntityPlan);
//应付金额:FPAYAMOUNTFOR
fEntityPlan = fEntityPlan.replace("@KD_FPAYAMOUNTFOR", "693000.00");
//应付比例(%):FPAYRATE
fEntityPlan = fEntityPlan.replace("@KD_FPAYRATE", "100.00000");
//表头计划 - 到期日:FENDDATE
fEntityPlan = fEntityPlan.replace("@KD_FENDDATE", "2022-07-22 00:00:00");
log.info(fEntityPlan);
sb_fEntityPlan.append(fEntityPlan).append(",");
}
String sb_fEntityPlans=sb_fEntityPlan.substring(0,sb_fEntityPlan.length()-1);
readJsonFile.replace("@KD_FEntityPlan",sb_fEntityPlans);
try {
// return saveBill(KingDeeBillId.AP_PAYABLE.getID(),readJsonFile);
return saveBill(KingDeeBillId.AP_PAYABLE.getID(),jsonObject);
return saveBill(KingDeeBillId.AP_PAYABLE.getID(),readJsonFile);
} catch (Exception e) {
e.printStackTrace();
}
@ -87,7 +176,7 @@ public class FinKingDeeFeignService {
* @param data
* @return
*/
private ResultBean saveBill(String formId,JSONObject data) throws Exception {
private ResultBean saveBill(String formId,String data) throws Exception {
KingDeeParams kdp=new KingDeeParams();
kdp.setData(data);
kdp.setFormId(formId);
@ -99,13 +188,13 @@ public class FinKingDeeFeignService {
*/
class KingDeeParams{
private String formId;
private JSONObject data;
private String data;
public void setFormId(String formId) {
this.formId = formId;
}
public void setData(JSONObject data) {
public void setData(String data) {
this.data = data;
}
@ -113,7 +202,7 @@ public class FinKingDeeFeignService {
return formId;
}
public JSONObject getData() {
public String getData() {
return data;
}
}

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/kingdee/KingDeeSaveSKD.java

@ -131,14 +131,14 @@ public class KingDeeSaveSKD {
HttpPost method = new HttpPost(save_uri);
//采购入库单保存参数
System.out.println(jsonParam);
System.out.println(jsonParam.getData());
// String ss = "{\"formid\":\"SAL_OUTSTOCK\", \"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"XSCKD01_SYS\\\"},\\\"FDate\\\":\\\"2021-12-31 00:00:00\\\",\\\"FSaleOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FCustomerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSaleDeptID\\\":{\\\"FNumber\\\":\\\"03\\\"},\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FReceiverID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSettleID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FPayerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FIsTotalServiceOrCost\\\":false,\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"00\\\"},\\\"SubHeadEntity\\\":{\\\"FSettleCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleOrgID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FIsIncludedTax\\\":true,\\\"FLocalCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FExchangeTypeID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0,\\\"FIsPriceExcludeTax\\\":true},\\\"FEntity\\\":[{\\\"FRowType\\\":\\\"Standard\\\",\\\"FMaterialID\\\":{\\\"FNumber\\\":\\\" JX064673\\\"},\\\"Flot\\\":{\\\"FNumber\\\":\\\"11111djz\\\"},\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FRealQty\\\":1.0,\\\"FIsFree\\\":false,\\\"FOwnerTypeID\\\":\\\"BD_OwnerOrg\\\",\\\"FOwnerID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FStockID\\\":{\\\"FNumber\\\":\\\"CK002\\\"},\\\"FStockStatusID\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FSalUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FSALUNITQTY\\\":1.0,\\\"FSALBASEQTY\\\":1.0,\\\"FPRICEBASEQTY\\\":1.0,\\\"FOUTCONTROL\\\":false,\\\"FIsOverLegalOrg\\\":false,\\\"FARNOTJOINQTY\\\":1.0}],\\\"FOutStockTrace\\\":[{\\\"FLogComId\\\":{\\\"FCODE\\\":\\\"a2u\\\"},\\\"FDelTime\\\":\\\"2021-12-31 00:00:00\\\",\\\"FCarryBillNo\\\":\\\"2121122112\\\"}]}}\\n\"}";
// String ff= "{\"formid\":\"AR_receivable\",\"data\":\"{\\\"Creator\\\":\\\"\\\",\\\"NeedUpDateFields\\\":[],\\\"NeedReturnFields\\\":[],\\\"IsDeleteEntry\\\":\\\"True\\\",\\\"SubSystemId\\\":\\\"\\\",\\\"IsVerifyBaseDataField\\\":\\\"false\\\",\\\"IsEntryBatchFill\\\":\\\"True\\\",\\\"ValidateFlag\\\":\\\"True\\\",\\\"NumberSearch\\\":\\\"True\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"Model\\\":{\\\"FID\\\":0,\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"YSD01_SYS\\\"},\\\"FDATE\\\":\\\"2022-01-07 00:00:00\\\",\\\"FISINIT\\\":false,\\\"FENDDATE_H\\\":\\\"2022-01-07 00:00:00\\\",\\\"FCUSTOMERID\\\":{\\\"FNumber\\\":\\\" JXYXB\\\"},\\\"FCURRENCYID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FISPRICEEXCLUDETAX\\\":true,\\\"FSETTLEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FPAYORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FSALEORGID\\\":{\\\"FNumber\\\":\\\"101\\\"},\\\"FISTAX\\\":true,\\\"FCancelStatus\\\":\\\"A\\\",\\\"FBUSINESSTYPE\\\":\\\"BZ\\\",\\\"FSetAccountType\\\":\\\"1\\\",\\\"FISHookMatch\\\":false,\\\"FISINVOICEARLIER\\\":false,\\\"F_PMZC_Assistant2\\\":{\\\"FNumber\\\":\\\"01\\\"},\\\"FsubHeadSuppiler\\\":{\\\"FORDERID\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"},\\\"FTRANSFERID\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"},\\\"FChargeId\\\":{\\\"fNumber\\\":\\\" JXYXB\\\"}},\\\"FsubHeadFinc\\\":{\\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-01-07 00:00:00\\\",\\\"FMAINBOOKSTDCURRID\\\":{\\\"fNumber\\\":\\\"PRE001\\\"},\\\"FEXCHANGETYPE\\\":{\\\"fNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FExchangeRate\\\":1.0},\\\"FEntityDetail\\\":[{\\\"FMATERIALID\\\":{\\\"FNumber\\\":\\\" JX091054\\\"},\\\"FMaterialDesc\\\":\\\"X牵引6*4-550超\\\",\\\"FPRICEUNITID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FDeliveryControl\\\":false,\\\"FStockUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FIsFree\\\":false,\\\"FSalUnitId\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FPriceBaseDen\\\":1.0,\\\"FSalBaseNum\\\":1.0,\\\"FStockBaseNum\\\":1.0}]}}\"}";
// String s = "{\"data\":\"\"{\\\"Creator\\\":\\\"\\\",\\\"InterationFlags\\\":\\\"\\\",\\\"IsDeleteEntry\\\":true,\\\"IsEntryBatchFill\\\":true,\\\"IsVerifyBaseDataField\\\":false,\\\"Model\\\":{\\\"FBillTypeID\\\":{\\\"FNUMBER\\\":\\\"XSCKD01_SYS\\\"},\\\"FDate\\\":\\\"2021-12-30 00:00:00\\\",\\\"FDeliveryDeptID\\\":{\\\"FNumber\\\":\\\"\\\"},\\\"FEntity\\\":[{\\\"FARNOTJOINQTY\\\":1,\\\"FEntrynote\\\":\\\"\\\",\\\"FIsFree\\\":false,\\\"FIsOverLegalOrg\\\":false,\\\"FMaterialID\\\":{\\\"FNumber\\\":\\\" JX064673\\\"},\\\"FOUTCONTROL\\\":false,\\\"FOwnerID\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FOwnerTypeID\\\":\\\"BD_OwnerOrg\\\",\\\"FPRICEBASEQTY\\\":1,\\\"FPrice\\\":0,\\\"FRealQty\\\":1,\\\"FRowType\\\":\\\"Standard\\\",\\\"FSALBASEQTY\\\":1,\\\"FSALUNITQTY\\\":1,\\\"FSalUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"FStockID\\\":{\\\"FNumber\\\":\\\"CK002\\\"},\\\"FStockStatusID\\\":{\\\"FNumber\\\":\\\"KCZT01_SYS\\\"},\\\"FTaxPrice\\\":0,\\\"FUnitID\\\":{\\\"FNumber\\\":\\\"liang\\\"},\\\"F_PAEZ_Decimal\\\":0,\\\"F_PAEZ_Decimal3\\\":0,\\\"F_PAEZ_Decimal4\\\":0,\\\"Flot\\\":{\\\"FNumber\\\":\\\"111\\\"}}],\\\"FID\\\":0,\\\"FIsTotalServiceOrCost\\\":false,\\\"FOutStockTrace\\\":[{\\\"FCarryBillNo\\\":\\\"1111111\\\",\\\"FDelTime\\\":1640933876112,\\\"FLogComId\\\":{\\\"FCODE\\\":\\\"a2u\\\"}}],\\\"FOwnerTypeIdHead\\\":\\\"BD_OwnerOrg\\\",\\\"FPayerID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FReceiverID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FSaleOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"FSettleID\\\":{\\\"FNumber\\\":\\\" 田拥涛\\\"},\\\"FStockOrgId\\\":{\\\"FNumber\\\":\\\"100\\\"},\\\"F_PAEZ_Assistant\\\":{\\\"FNumber\\\":\\\"00\\\"},\\\"F_PAEZ_Base\\\":{},\\\"F_PAEZ_Base1\\\":{},\\\"F_PAEZ_Date\\\":1640933876112,\\\"F_PAEZ_Decimal1\\\":0,\\\"F_PAEZ_Decimal2\\\":1,\\\"F_PAEZ_Text\\\":\\\"\\\",\\\"SubHeadEntity\\\":{\\\"FExchangeRate\\\":1,\\\"FExchangeTypeID\\\":{\\\"FNumber\\\":\\\"HLTX01_SYS\\\"},\\\"FIsIncludedTax\\\":true,\\\"FIsPriceExcludeTax\\\":true,\\\"FLocalCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleCurrID\\\":{\\\"FNumber\\\":\\\"PRE001\\\"},\\\"FSettleOrgID\\\":{\\\"FNumber\\\":\\\"100\\\"}}},\\\"NeedReturnFields\\\":[],\\\"NeedUpDateFields\\\":[],\\\"NumberSearch\\\":true,\\\"SubSystemId\\\":\\\"\\\",\\\"ValidateFlag\\\":true}\"\",\"formid\":\"SAL_OUTSTOCK\"}";
// System.out.println(ss);
// System.out.println(ff);
String ss="{\"formId\":\"AP_Payable\",\"data\":\"{ \\\"Creator\\\":\\\"zs\\\", \\\"NeedUpDateFields\\\":[], \\\"NeedReturnFields\\\":[], \\\"IsDeleteEntry\\\":\\\"True\\\", \\\"SubSystemId\\\":\\\"\\\", \\\"IsVerifyBaseDataField\\\":\\\"false\\\", \\\"IsEntryBatchFill\\\":\\\"True\\\", \\\"ValidateFlag\\\":\\\"True\\\", \\\"NumberSearch\\\":\\\"True\\\", \\\"InterationFlags\\\":\\\"\\\", \\\"Model\\\":{ \\\"FID\\\":0, \\\"FBillTypeID\\\":{ \\\"FNUMBER\\\":\\\"YFD01_SYS\\\" }, \\\"FBillNo\\\":\\\"123123\\\", \\\"FISINIT\\\":false, \\\"FDATE\\\":\\\"2022-07-22 00:00:00\\\", \\\"FENDDATE_H\\\":\\\"2022-07-22 00:00:00\\\", \\\"FDOCUMENTSTATUS\\\":\\\"Z\\\", \\\"FSUPPLIERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FCURRENCYID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FPayConditon\\\":{ \\\"FNumber\\\":\\\"FKTJ01_SYS\\\" }, \\\"FISPRICEEXCLUDETAX\\\":true, \\\"FBUSINESSTYPE\\\":\\\"CG\\\", \\\"FISTAX\\\":true, \\\"FSETTLEORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FPAYORGID\\\":{ \\\"FNumber\\\":\\\"101\\\" }, \\\"FSetAccountType\\\":\\\"2\\\", \\\"FISTAXINCOST\\\":false, \\\"FAP_Remark\\\":\\\"1231\\\", \\\"FISHookMatch\\\":false, \\\"FPURCHASEDEPTID\\\":{ \\\"FNumber\\\":\\\"01\\\" }, \\\"FCancelStatus\\\":\\\"A\\\", \\\"FISBYIV\\\":false, \\\"FISGENHSADJ\\\":false, \\\"FISINVOICEARLIER\\\":false, \\\"F_PAEZ_Text\\\":\\\"231231231231\\\", \\\"F_PMZC_Assistant1\\\":{ \\\"FNumber\\\":\\\"00\\\" }, \\\"FsubHeadSuppiler\\\":{ \\\"FORDERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FTRANSFERID\\\":{ \\\"FNumber\\\":\\\"010001\\\" }, \\\"FChargeId\\\":{ \\\"FNumber\\\":\\\"010001\\\" } }, \\\"FsubHeadFinc\\\":{ \\\"FACCNTTIMEJUDGETIME\\\":\\\"2022-07-22 00:00:00\\\", \\\"FMAINBOOKSTDCURRID\\\":{ \\\"FNumber\\\":\\\"PRE001\\\" }, \\\"FEXCHANGETYPE\\\":{ \\\"FNumber\\\":\\\"HLTX01_SYS\\\" }, \\\"FExchangeRate\\\":1.0, \\\"FTaxAmountFor\\\":0.98, \\\"FNoTaxAmountFor\\\":98.02 }, \\\"FEntityDetail\\\":[ { \\\"FMATERIALID\\\":{ \\\"FNumber\\\":\\\"&12\\\" }, \\\"FMaterialDesc\\\":\\\"@KD_FMaterialDesc\\\", \\\"FPRICEUNITID\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FPrice\\\":99.01, \\\"FPriceQty\\\":1.0, \\\"FTaxPrice\\\":100.0, \\\"FPriceWithTax\\\":99.0, \\\"FEntryTaxRate\\\":1.0, \\\"F_PMZC_Assistant\\\":{ \\\"FNumber\\\":\\\"1904110789\\\" }, \\\"F_PMZC_Base\\\":{ \\\"FNUMBER\\\":\\\"0001F\\\" }, \\\"F_PMZC_Base1\\\":{ \\\"FNUMBER\\\":\\\"01.001\\\" }, \\\"FEntryDiscountRate\\\":1.0, \\\"FDISCOUNTAMOUNTFOR\\\":1.0, \\\"FNoTaxAmountFor_D\\\":98.02, \\\"FTAXAMOUNTFOR_D\\\":0.98, \\\"FALLAMOUNTFOR_D\\\":99.0, \\\"FINCLUDECOST\\\":false, \\\"FISOUTSTOCK\\\":false, \\\"FIsFree\\\":false, \\\"FStockUnitId\\\":{ \\\"FNumber\\\":\\\"ba\\\" }, \\\"FStockQty\\\":1.0, \\\"FStockBaseQty\\\":1.0, \\\"FPriceBaseDen\\\":1.0, \\\"FStockBaseNum\\\":1.0 } ], \\\"FEntityPlan\\\":[ { \\\"FENDDATE\\\":\\\"2022-07-22 00:00:00\\\", \\\"FPAYAMOUNTFOR\\\":99.0, \\\"FPAYRATE\\\":100.0 } ] }}}";
StringEntity entity = new StringEntity(ss, "utf-8");
StringEntity entity = new StringEntity(jsonParam.getData(), "utf-8");
//StringEntity entity = new StringEntity(JSON.toJSONString( jsonParam), "utf-8");
System.out.println(JSON.toJSON(entity));
entity.setContentEncoding("UTF-8");

3
anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata.json

@ -1,2 +1 @@
{"Creator":"","NeedUpDateFields":[],"NeedReturnFields":[],"IsDeleteEntry":"True","SubSystemId":"","IsVerifyBaseDataField":"false","IsEntryBatchFill":"True","ValidateFlag":"True","NumberSearch":"True","InterationFlags":"","Model":{"FID":0,"FBillTypeID":{"FNUMBER":"@KD_FBillTypeID"},"FISINIT":false,"FDATE":"@KD_FDATE","FENDDATE_H":"","FDOCUMENTSTATUS":"@KD_FDOCUMENTSTATUS","FSUPPLIERID":{"FNumber":"@KD_FSUPPLIERID"},"FCURRENCYID":{"FNumber":"@KD_FCURRENCYID"},"FPayConditon":{"FNumber":"FKTJ01_SYS"},"FISPRICEEXCLUDETAX":true,"FBUSINESSTYPE":"@KD_FBUSINESSTYPE","FISTAX":true,"FSETTLEORGID":{"FNumber":"@KD_FSETTLEORGID"},"FPAYORGID":{"FNumber":"@KD_FPAYORGID"},"FSetAccountType":"","FISTAXINCOST":false,"FAP_Remark":"","FISHookMatch":false,"FPURCHASEDEPTID":{"FNumber":"@KD_FPURCHASEDEPTID"},"FCancelStatus":"@KD_FCancelStatus","FISBYIV":false,"FISGENHSADJ":false,"FISINVOICEARLIER":false,"F_PAEZ_Text":"","F_PMZC_Assistant1":{"FNumber":""},"FsubHeadSuppiler":{"FORDERID":{"FNumber":""},"FTRANSFERID":{"FNumber":""},"FChargeId":{"FNumber":""}},"FsubHeadFinc":{"FACCNTTIMEJUDGETIME":"","FMAINBOOKSTDCURRID":{"FNumber":""},"FEXCHANGETYPE":{"FNumber":""},"FExchangeRate":1.0,"FTaxAmountFor":0,"FNoTaxAmountFor":0},"FEntityDetail":[@KD_FEntityDetail],"FEntityPlan":[{"FENDDATE":"2022-07-22 00:00:00","FPAYAMOUNTFOR":693000.00,"FPAYRATE":100.00000}]}}
[{"FMATERIALID":{"FNumber":" JX091054"},"FMaterialDesc":"X牵引6*4-550超","FPRICEUNITID":{"FNumber":"liang"},"FPrice":312500.0,"FPriceQty":2.0,"FTaxPrice":350000.0,"FPriceWithTax":346500.00,"FEntryTaxRate":12.0,"F_PMZC_Assistant":{"FNumber":"1904110789"},"F_PMZC_Base":{"FNUMBER":"0001F"},"F_PMZC_Base1":{"FNUMBER":"01.001"},"FEntryDiscountRate":1.0,"FDISCOUNTAMOUNTFOR":7000.00,"FNoTaxAmountFor_D":618750.0,"FTAXAMOUNTFOR_D":74250.0,"FALLAMOUNTFOR_D":693000.0,"FINCLUDECOST":false,"FISOUTSTOCK":false,"FIsFree":false,"FStockUnitId":{"FNumber":"liang"},"FStockQty":2.0,"FStockBaseQty":2.0,"FPriceBaseDen":1.0,"FStockBaseNum":1.0}]
{"Creator":"","NeedUpDateFields":[],"NeedReturnFields":[],"IsDeleteEntry":"True","SubSystemId":"","IsVerifyBaseDataField":"false","IsEntryBatchFill":"True","ValidateFlag":"True","NumberSearch":"True","InterationFlags":"","Model":{"FID":0,"FBillTypeID":{"FNUMBER":"@KD_FBillTypeID"},"FISINIT":false,"FDATE":"@KD_FDATE","FENDDATE_H":"","FDOCUMENTSTATUS":"@KD_FDOCUMENTSTATUS","FSUPPLIERID":{"FNumber":"@KD_FSUPPLIERID"},"FCURRENCYID":{"FNumber":"@KD_FCURRENCYID"},"FPayConditon":{"FNumber":"@KD_FPayConditon"},"FISPRICEEXCLUDETAX":true,"FBUSINESSTYPE":"@KD_FBUSINESSTYPE","FISTAX":true,"FSETTLEORGID":{"FNumber":"@KD_FSETTLEORGID"},"FPAYORGID":{"FNumber":"@KD_FPAYORGID"},"FSetAccountType":"","FISTAXINCOST":false,"FAP_Remark":"","FISHookMatch":false,"FPURCHASEDEPTID":{"FNumber":"@KD_FPURCHASEDEPTID"},"FCancelStatus":"@KD_FCancelStatus","FISBYIV":false,"FISGENHSADJ":false,"FISINVOICEARLIER":false,"F_PAEZ_Text":"","F_PMZC_Assistant1":{"FNumber":""},"FsubHeadSuppiler":{"FORDERID":{"FNumber":""},"FTRANSFERID":{"FNumber":""},"FChargeId":{"FNumber":""}},"FsubHeadFinc":{"FACCNTTIMEJUDGETIME":"","FMAINBOOKSTDCURRID":{"FNumber":""},"FEXCHANGETYPE":{"FNumber":""},"FExchangeRate":1.0,"FTaxAmountFor":0,"FNoTaxAmountFor":0},"FEntityDetail":[@KD_FEntityDetail],"FEntityPlan": [@KD_FEntityPlan]}}

1
anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata_FEntityDetail.json

@ -0,0 +1 @@
[{"FMATERIALID":{"FNumber":"@KD_FMATERIALID"},"FMaterialDesc":"@KD_FMaterialDesc","FPRICEUNITID":{"FNumber":"@KD_FPRICEUNITID"},"FPrice":@KD_FPrice,"FPriceQty":@KD_FPriceQty,"FTaxPrice":@KD_FTaxPrice,"FPriceWithTax":@KD_FPriceWithTax,"FEntryTaxRate":@KD_FEntryTaxRate,"F_PMZC_Assistant":{"FNumber":"@KD_F_PMZC_Assistant"},"F_PMZC_Base":{"FNUMBER":"@KD_F_PMZC_Base"},"F_PMZC_Base1":{"FNUMBER":"@KD_F_PMZC_Base1"},"FEntryDiscountRate":@KD_FEntryDiscountRate,"FDISCOUNTAMOUNTFOR":@KD_FDISCOUNTAMOUNTFOR,"FNoTaxAmountFor_D":@KD_FNoTaxAmountFor_D,"FTAXAMOUNTFOR_D":@KD_FTAXAMOUNTFOR_D,"FALLAMOUNTFOR_D":@KD_FALLAMOUNTFOR_D,"FINCLUDECOST":false,"FISOUTSTOCK":false,"FIsFree":false,"FStockUnitId":{"FNumber":"@KD_FStockUnitId"},"FStockQty":@KD_FStockQty,"FStockBaseQty":@KD_FStockBaseQty,"FPriceBaseDen":@KD_FPriceBaseDen,"FStockBaseNum":@KD_FStockBaseNum}]

1
anrui-fin/anrui-fin-biz/src/main/resources/kingdeetemplete/entrybilldata_FEntityPlan.json

@ -0,0 +1 @@
{"FENDDATE":"@KD_FENDDATE","FPAYAMOUNTFOR":@KD_FPAYAMOUNTFOR,"FPAYRATE":@KD_FPAYRATE}

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

@ -16,14 +16,14 @@ public enum ProcDefEnum {
VEHICLEAPPLY("排产申请流程", "process_9egcg169:4:255004"),//TODO
// RECORDAPPLICATION("入账申请", "record_application_7y80d4r8:1:265008"),//TODO
RECORDAPPLICATION("入账申请", "process_xbwq2c7p:1:285008"),//TODO
SCMVEHICLERETURN("采购退库", "process_md8aeoap:2:237508"),
SCMVEHICLERETURN("采购退库", "process_md8aeoap:4:392512"),
SEALAPPLY("盖章申请", "process_7h0z66tp:1:240064" ),
BASEVEHICLEACTUALSALES("未售买断", "process_6qx07b75:5:292504"),//ToDo
SALESORDER("销售订单审批流程", "process_p5ils2rn:2:245112"),
BASEOUTSOURCINGAPPLICATION("外采申请", "process_5tqysnjc:3:365004"),//TODO
BASEMODELMODPRICE("车型调价申请", "process_kydcif7k:5:280004"),
BASEINTERNALPURCHASE("调车申请", "process_i6luw5xq:2:315150"),
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:4:300008"), //TODO
SCMCARTRANSFER("库存地点变更申请", "process_3bc4p2em:5:382504"), //TODO
FINCOSTAPPLY("费用申请","process_u0pahv0s:4:320016"),
FINPAYAPPLY("付款申请","process_gin2tntb:2:320012"),
BUSDELIVEREDAPPLY("出库申请","process_wgt1n66l:2:357504"),

13
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/flow/FlowableService.java

@ -508,10 +508,19 @@ public class FlowableService extends MybatisBaseService<FlowableMapper, Flowable
ResultBean<SysProUrlVo> resultBean1 = sysProUrlFeign.selectUrlByKey(procDefId, taskDefKey, "1");
AppVo appVo = new AppVo();
appVo.setJson(json);
String appSid = "";
String type = "";
if(resultBean1.getData() != null){
appVo.setModuleAction(resultBean1.getData().getUrl());
String appSid = resultBean1.getData().getModulePluginName();
appSid = resultBean1.getData().getModulePluginName();
}
//根据appSid查询最新版本的app插件包:以及类型:2插件,1框架
String type = Arrays.asList(appSid.split("#")).get(1);
if(StringUtils.isNotBlank(appSid)){
if(appSid.contains("#")){
type = Arrays.asList(appSid.split("#")).get(1);
}
}
if ("1".equals(type)) {
} else if ("2".equals(type)) {

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.java

@ -161,7 +161,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
List<SysUserVo> getUserByRole(@Param("roleSid") String roleSid, @Param("levelOrgSid") String levelOrgSid);
List<Map<String,String>> getUserByOrgSid(@Param("userSid") String userSid);
List<Map<String,String>> getUserByOrgSid(@Param("orgSid") String orgSid,@Param("userSid") String userSid);
List<SysUserVo> fetchBySids(@Param("sids")List<String> sids);

11
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserMapper.xml

@ -158,8 +158,7 @@
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
ORDER BY sso.id LIMIT 1
</select>
<!--根据用户的sid查询用户的组织信息:多个时取第一个-->
<select id="selectUserInfoByUserSid" resultType="com.yxt.anrui.portal.api.sysuser.SysUserInfoVo">
@ -169,8 +168,7 @@
LEFT JOIN sys_staff_org sso ON su.staffSid = sso.staffSid
LEFT JOIN sys_organization so ON sso.orgSid = so.sid
WHERE su.sid = #{userSid}
ORDER BY sso.id
LIMIT 1
ORDER BY sso.id LIMIT 1
</select>
<!--根据员工sid更新用户表的工号以及手机号-->
<update id="updateByStaffSid">
@ -226,7 +224,12 @@
FROM sys_user su
LEFT JOIN sys_staffinfo st
ON su.`staffSid` = st.`sid`
LEFT JOIN sys_staff_org sso
ON st.`sid` = sso.`staffSid`
WHERE su.sid != #{userSid}
AND sso.`orgSidPath` LIKE concat('%'
, #{orgSid}
, '%')
</select>
<select id="fetchBySids" resultType="com.yxt.anrui.portal.api.sysuser.SysUserVo">

6
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java

@ -910,8 +910,8 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
public ResultBean<List<Map<String, String>>> getUserByOrgSid(String orgSid, String userSid) {
ResultBean rb = ResultBean.fireFail();
List<Map<String, String>> userByOrgSid = baseMapper.getUserByOrgSid(userSid);
List<Map<String, String>> user = new ArrayList<>();
List<Map<String, String>> user = baseMapper.getUserByOrgSid(orgSid,userSid);
/*List<Map<String, String>> user = new ArrayList<>();
for (Map<String, String> map : userByOrgSid) {
String s = map.get("sid");
ResultBean<String> pathSidByUserSid = sysStaffOrgService.getPathSidByUserSid(s);
@ -919,7 +919,7 @@ public class SysUserService extends MybatisBaseService<SysUserMapper, SysUser> {
if (data.equals(orgSid)){
user.add(map);
}
}
}*/
return rb.success().setData(user);
}

13
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmapplyinbound/ScmApplyInboundVo.java

@ -1,6 +1,7 @@
package com.yxt.anrui.scm.api.scmapplyinbound;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.anrui.scm.api.scmapplyinboundvehicle.ScmApplyInboundVehicleVo;
import com.yxt.common.core.vo.Vo;
@ -8,7 +9,9 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
@ -69,6 +72,11 @@ public class ScmApplyInboundVo implements Vo {
@ApiModelProperty("二次运费")
private BigDecimal secondaryFreight;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("车辆台数")
private String num;
@ApiModelProperty("政策1")
private String policyOne;
@ApiModelProperty("可享受金额1")
@ -102,7 +110,7 @@ public class ScmApplyInboundVo implements Vo {
private String remarks;
@ApiModelProperty("车辆列表")
private List<ScmApplyInboundVehicleVo> inboundVehicleList;
private List<ScmApplyInboundVehicleVo> vehicleList;
@ApiModelProperty("任务id")
private String taskId;
@ -114,4 +122,7 @@ public class ScmApplyInboundVo implements Vo {
private String useOrgSid;
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("厂家入库日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date priceDate;
}

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

@ -71,5 +71,7 @@ public class ScmVehicleGressionVo implements Vo {
private String InsuranceState; // 保险状态
@ApiModelProperty("临牌")
private String temporaryCard; // 临牌
@ApiModelProperty("审核状态")
private String nodeState;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java

@ -223,7 +223,7 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
ScmApplyInbound scmApplyInbound = fetchBySid(sid);
BeanUtil.copyProperties(scmApplyInbound, vo);
List<ScmApplyInboundVehicleVo> list = scmApplyInboundVehicleService.selectListByAppSid(sid);
vo.setInboundVehicleList(list);
vo.setVehicleList(list);
return vo;
}

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.java

@ -113,4 +113,6 @@ public interface ScmVehicleGressionMapper extends BaseMapper<ScmVehicleGression>
void updateStateBySid(@Param("sid") String sid, @Param("state") String state);
int selectNum(String bill);
List<ScmVehicleGressionVo> getlastTimeEqual(@Param("vinNo") String vinNo, @Param("targetLocationSid") String targetLocationSid);
}

13
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclegression/ScmVehicleGressionMapper.xml

@ -91,11 +91,22 @@
</select>
<select id="selectNum" resultType="java.lang.Integer">
select count(*)
select RIGHT (applicantNo, 4)
from scm_vehicle_gression
where applicantNo LIKE concat(#{bill}, '%')
order by id desc limit 1
</select>
<select id="getlastTimeEqual" resultType="com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGressionVo">
select *
from scm_vehicle_gression
where vinNo = #{vinNo}
and targetLocationSid = #{targetLocationSid}
and LENGTH(nodeState) > 0
order by id desc limit 1
</select>
<update id="updateFlowFiled">
UPDATE scm_vehicle_gression
SET nodeState=#{nodeState}

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

@ -201,8 +201,11 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
*/
private QueryWrapper<ScmVehicleGressionPageVo> pcQueryWrapper(ScmVehicleGressionPageQuery query) {
QueryWrapper<ScmVehicleGressionPageVo> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("svg.useOrgSid", query.getUseOrgSid());
// if (StringUtils.isNotBlank(query.getUseOrgSid())) {
// qw.eq("svg.useOrgSid", query.getUseOrgSid());
// }
if (StringUtils.isNotBlank(query.getUserSid())) {
qw.eq("svg.createBySid", query.getUserSid());
}
if (StringUtils.isNotBlank(query.getType())) {
qw.eq("svg.handleState", query.getType());
@ -259,8 +262,11 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
*/
private QueryWrapper<AppScmVehicleGressionPageVo> appQueryWrapper(AppScmVehicleGressionPageQuery query) {
QueryWrapper<AppScmVehicleGressionPageVo> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("svg.useOrgSid", query.getUseOrgSid());
// if (StringUtils.isNotBlank(query.getUseOrgSid())) {
// qw.eq("svg.useOrgSid", query.getUseOrgSid());
// }
if (StringUtils.isNotBlank(query.getUserSid())) {
qw.eq("svg.createBySid", query.getUserSid());
}
if (StringUtils.isNotBlank(query.getType())) {
qw.eq("svg.handleState", query.getType());
@ -306,12 +312,12 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
scmVehicleGression.setApplicantDate(simpleDateFormat.format(new Date()));
scmVehicleGression.setOrgSid(data.getOrgSid());
scmVehicleGression.setUseOrgSid(useOrgSid);
scmVehicleGression.setCreateBySid(dto.getUserSid());
//申请编号规则:单据名称大写首字母+分公司编码+年份+月份+4位顺序号
//获取单据名称大写首字母+分公司编码+年份+月份
// Map<String, String> stringStringMap = generateBillNo(userSid);
String billNo = getApplyCode(dto);
scmVehicleGression.setApplicantNo(billNo);
save(scmVehicleGression);
if ("1".equals(dto.getInsuranceStateKey())) { // 如果保单状态为否 不保存保单照片
List<String> factoryImage = dto.getPolicyImage();
if (factoryImage.size() <= 0) {
@ -332,13 +338,13 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
} else if ("0".equals(dto.getInsuranceStateKey())) {
scmFileService.deleteByLinkSidAndType(scmVehicleGression.getSid(), type);
}
save(scmVehicleGression);
} else {
scmVehicleGression = fetchBySid(dto.getSid());
if (scmVehicleGression == null) {
return rb.setMsg("该数据不存在");
}
BeanUtil.copyProperties(dto, scmVehicleGression, "sid");
updateById(scmVehicleGression);
if ("1".equals(dto.getInsuranceStateKey())) { // 如果保单状态为否 不保存保单照片
List<String> factoryImage = dto.getPolicyImage();
if (factoryImage.size() <= 0) {
@ -356,6 +362,7 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
scmFile.setLinkSid(scmVehicleGression.getSid());
scmFileService.save(scmFile);
}
updateById(scmVehicleGression);
} else if ("0".equals(dto.getInsuranceStateKey())) {
scmFileService.deleteByLinkSidAndType(scmVehicleGression.getSid(), type);
}
@ -565,6 +572,14 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
List<ScmVehicleGressionVo> scmVehicleGressionVos = baseMapper.getlastTimeEqual(dto.getVinNo(), 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("申请"))) {
return rb.setMsg("该申请已存在,请务重复提交!");
}
}
}
//新增修改保存
ResultBean<String> resultBean = saveCarTransferInfo(dto);
if (!resultBean.getSuccess()) {
@ -742,6 +757,9 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
*/
public ResultBean taskReject(ScmCarTransferTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("意见不能为空");
}
ScmVehicleGression scmVehicleGression = fetchBySid(query.getBusinessSid());
if (scmVehicleGression == null) {
return rb.setMsg("该申请不存在");
@ -809,6 +827,9 @@ public class ScmVehicleGressionService extends MybatisBaseService<ScmVehicleGres
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("意见不能为空");
}
ScmVehicleGression scmVehicleGression = fetchBySid(query.getBusinessSid());
String businessTaskId = scmVehicleGression.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {

4
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclereturn/ScmVehicleReturnMapper.xml

@ -37,9 +37,9 @@
</update>
<select id="selectNum" resultType="int">
select count(*)
select RIGHT(applicationCode,4)
from scm_vehicle_return
where applicationCode LIKE concat(#{bill}, '%')
where applicationCode LIKE concat(#{bill}, '%') order by id desc limit 1
</select>
<select id="selectBySid" resultType="int">

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryMapper.xml

@ -21,6 +21,8 @@
scm_vehicle_stay_inventory svsi
LEFT JOIN scm_vehicle_inventory svi
ON svsi.`mainSid` = svi.`mainSid`
LEFT JOIN anrui_base.`base_vehicle` bv
ON bv.`vinNo` = svsi.mainSid
<where>${ew.sqlSegment}</where>
GROUP BY svsi.`mainSid`
</select>

1
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehiclestayinventory/ScmVehicleStayInventoryService.java

@ -92,6 +92,7 @@ public class ScmVehicleStayInventoryService extends MybatisBaseService<ScmVehicl
if (StringUtils.isNotBlank(query.getLocationSid())) {
qw.eq("svsi.locationSid", query.getLocationSid());
}
qw.eq("bv.vehicleState","0001").or().eq("bv.vehicleState","0003");
IPage<ScmVehicleStayInventory> page = PagerUtil.queryToPage(pq);
IPage<ScmVehicleStayInventoryVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<ScmVehicleStayInventoryVo> p = PagerUtil.pageToVo(pagging, null);

11
anrui-scm/anrui-scm-ui/src/api/supplychain/diaochekaipiaoshenqing.js

@ -59,6 +59,17 @@ export function selByLinkSid(data) {
})
}
// 删除附件
export function deleteFilesOss(data) {
return request({
url: '/base/v1/commonappendix/deleteFilesOss',
method: 'post',
params: {
fullPath: data
}
})
}
// 提交
export function submitSunInv(data) {
return request({

2
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplication.vue

@ -48,7 +48,6 @@
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column prop="applicationCode" width="140px;" label="申请单编号" align="center"/>
<el-table-column prop="nodeState" width="100px;" label="状态" align="center">
<template slot-scope="scope">
<span v-if="scope.row.nodeState=='待提交'" type="primary" size="mini">待提交</span>
@ -56,6 +55,7 @@
style="color: #018ad2;cursor: pointer;">{{ scope.row.nodeState }}</span>
</template>
</el-table-column>
<el-table-column prop="applicationCode" width="140px;" label="申请编号" align="center"/>
<el-table-column prop="applicationDate" width="110px;" label="申请日期" align="center"/>
<el-table-column prop="modelName" label="车型" align="center"/>
<el-table-column prop="num" width="60px;" label="台数" align="center"/>

69
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationAdd.vue

@ -19,6 +19,7 @@
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<br><br>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
@ -88,14 +89,14 @@
<span><span class="icon">*</span>销售指导价</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice"><el-input size="small" v-model="formobj.guidedPrice" placeholder="销售指导价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="guidedPrice">{{formobj.guidedPrice}}</el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="guidedPrice">{{formobj.guidedPrice}}</el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>厂家合同价</span>
</el-col>
<el-col :span="9" class="trightb">
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice"><el-input size="small" v-model="formobj.manufactorSettlementPrice" placeholder="厂家合同价" class="addinputw" clearable /></el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==1" prop="manufactorSettlementPrice"> {{formobj.manufactorSettlementPrice}}</el-form-item>
<el-form-item v-show="formobj.externalMiningTypeKey==2" prop="manufactorSettlementPrice">{{formobj.manufactorSettlementPrice}}</el-form-item>
</el-col>
</el-row>
@ -110,13 +111,13 @@
<span><span class="icon">*</span>开户银行</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.depositBankName" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.depositBankName" placeholder="开户银行" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>银行账号</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.bankAccount" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.bankAccount" placeholder="银行账号" class="addinputw" clearable /></el-form-item>
</el-col>
<!-- <el-col :span="3" class="tleftb">
<span><span class="icon">*</span>台数</span>
@ -163,7 +164,7 @@
</el-row>
<el-row style="border-left: none;">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>备注</span>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="remarks"><el-input size="small" v-model="formobj.remarks" placeholder="备注" class="addinputw" clearable /></el-form-item>
@ -184,8 +185,9 @@
:on-success="uploadSuccessHetong"
:limit="1"
:file-list="fileList"
:on-preview = 'handleDown'
class="upload-demo"
><!--:show-file-list="false"-->
>
<el-button size="small" type="primary">合同上传</el-button>
</el-upload>
</el-form-item>
@ -363,6 +365,30 @@ export default {
this.getPathSid();
},
methods: {
//
handleDown(row) {
console.log(row);
var xhr=new XMLHttpRequest();
xhr.open('GET', process.env.VUE_APP_BASE_API+"/base/file/download?filePath="+ row.url+"&outFileName="+row.name,true);
xhr.setRequestHeader("token", getStorage());
xhr.responseType='blob';
xhr.onload= function(e){
//
var blob = this.response;
var filename = row.name;
var a = document.createElement('a');
//blob.type="application/octet-stream";
//url
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//URL
window.URL.revokeObjectURL(url);
};
//
xhr.send();
},
//
getPathSid() {
const userSid = window.sessionStorage.getItem('userSid')
@ -372,14 +398,15 @@ export default {
req.fetchOrgBySid(res.data).then((ress)=>{
this.formobj.useOrgName=ress.data.name;
})
/* this.useOrg = res.data
this.getList()
this.getBrand(res.data)*/
}
})
},
uploadSuccessHetong(response, file) {
this.formobj.contract = response.data
this.formobj.contract={
fileName: file.response.data.sourceFileName,
filePath: file.response.data.filePath,
fileSize: file.response.data.size
}
},
closeNodeDialog(){
this.nodeDialogVisible = false
@ -456,6 +483,18 @@ export default {
},
showAdd() {
var nowDate = new Date()
var date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
day: nowDate.getDate()
}
var dayDate = date.year + '-' + (date.month >= 10 ? date.month : '0' + date.month) + '-' + (date.day >= 10 ? date.day : '0' + date.day)
this.formobj.applicationDate = dayDate
this.formobj.contract={}
this.formobj.depositBankName=""
this.formobj.bankAccount=""
this.fileList=[]
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
@ -475,6 +514,16 @@ export default {
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.fileList=[]
_this.fileList.push({
name: vdata.contract.fileName ,
url: vdata.contract.filePath
}) /*
this.formobj.contract={
sourceFileName : vdata.contract.fileName ,
filePath: vdata.contract.filePath,
fileSize: vdata.contract.fileSize
}*/
_this.formobj.remarks = vdata.remarks
_this.formobj.useOrgName = vdata.useOrgName
_this.formobj.depositBankName = vdata.depositBankName

33
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/baseoutsourcingapplicationInfo.vue

@ -10,8 +10,10 @@
</div>
<!-- 标题按钮部分结束 -->
<div class="listconadd">
<div class="titwu">外采申请表</div>
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<br><br>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="3" class="tleftb">分公司名称</el-col>
<el-col :span="5" class="trightb">
@ -120,7 +122,8 @@
</el-col>
<el-col :span="21">
<el-form-item>
<span v-show="formobj.contract !== null"
class="bluezi" @click="handleDown(formobj.contract)">{{formobj.contract.fileName}}</span>
</el-form-item>
</el-col>
</el-row>
@ -141,6 +144,7 @@
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import {getStorage} from "@/utils/auth";
export default {
name: 'BaseOutsourcingApplicationInfo',
@ -176,6 +180,30 @@ export default {
}
},
methods: {
//
handleDown(row) {
console.log(row);
var xhr=new XMLHttpRequest();
xhr.open('GET', process.env.VUE_APP_BASE_API+"/base/file/download?filePath="+ row.filePath+"&outFileName="+row.name,true);
xhr.setRequestHeader("token", getStorage());
xhr.responseType='blob';
xhr.onload= function(e){
//
var blob = this.response;
var filename = row.fileName;
var a = document.createElement('a');
//blob.type="application/octet-stream";
//url
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//URL
window.URL.revokeObjectURL(url);
};
//
xhr.send();
},
handleReturn() {
this.$emit('doback')
},
@ -191,6 +219,7 @@ export default {
const vdata = resp.data
_this.formobj.remarks = vdata.remarks
_this.formobj.useOrgName = vdata.useOrgName
_this.formobj.contract = vdata.contract
_this.formobj.depositBankName = vdata.depositBankName
_this.formobj.bankAccount = vdata.bankAccount
_this.formobj.applicationCode = vdata.applicationCode //

78
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplication.vue

@ -15,6 +15,9 @@
<!-- 标题按钮部分结束 -->
<div>
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd" >
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<br><br>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="3" class="tleftb">分公司名称</el-col>
<el-col :span="5" class="trightb">
@ -104,7 +107,7 @@
</el-row>
<el-row >
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>备注</span>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="remarks">
@ -117,6 +120,8 @@
</el-col>
<el-col :span="21">
<el-form-item>
<span v-show="formobj.contract !== null"
class="bluezi" @click="handleDown(formobj.contract)">{{formobj.contract.fileName}}</span>
</el-form-item>
</el-col>
@ -173,13 +178,28 @@
<el-button type="info " size="mini" @click="closeNodeDialog"> </el-button>
</div>
</el-form>
</el-dialog>
<!-- 选择待办人 的弹出框-->
<el-dialog title="填写审批意见" :visible.sync="nodeDialogVisibleForstop" width="80%">
<el-form label-position="right" class="formadd" >
<el-row>
<el-col :span="4" class="tleftb">意见</el-col>
<el-col :span="20" class="trightb">
<el-input size="small" v-model="formobj.comment" placeholder="审批意见" class="addinputw" clearable ></el-input>
</el-col>
</el-row>
<div style="text-align:center;margin-top: 20px;">
<el-button type="primary" size="mini" @click="handleStop()"> </el-button>
<el-button type="info " size="mini" @click="closeNodeDialog"> </el-button>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import {getStorage} from "@/utils/auth";
export default {
name: 'BaseOutsourcingApplicationInfo',
components: {
@ -187,12 +207,16 @@ export default {
},
data() {
return {
accessToken: {
token: getStorage()
},
obj:{},
//sid
roleSid:"",
//
nodeDialogVisible:false,
nodeDialogVisibleForReject:false,
nodeDialogVisibleForstop:false,
//
nodeUserDialogVisible:false,
// xml
@ -294,28 +318,40 @@ export default {
}, '*')
},
methods: {
//
handleDown(row) {
console.log(row);
var xhr=new XMLHttpRequest();
xhr.open('GET', process.env.VUE_APP_BASE_API+"/base/file/download?filePath="+ row.filePath+"&outFileName="+row.name,true);
xhr.setRequestHeader("token", getStorage());
xhr.responseType='blob';
xhr.onload= function(e){
//
var blob = this.response;
var filename = row.fileName;
var a = document.createElement('a');
//blob.type="application/octet-stream";
//url
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//URL
window.URL.revokeObjectURL(url);
};
//
xhr.send();
},
//
closeNodeDialog(){
this.nodeDialogVisible = false
this.nodeDialogVisibleForReject=false
this.nodeDialogVisibleForstop=false
},
//
openStop() {
this.$confirm('是否确认执行终止操作', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
this.handleStop()
})
.catch(() => {
this.$message({
type: 'info',
message: '已取消终止'
})
})
this.nodeDialogVisibleForstop=true
},
//
openReject() {
@ -344,7 +380,6 @@ export default {
this.nodeDialogVisible = true
}
});
},
handleReturn() {
this.$emit('doback')
@ -359,6 +394,7 @@ export default {
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.formobj.contract = vdata.contract
_this.formobj.remarks = vdata.remarks
_this.formobj.useOrgName = vdata.useOrgName
_this.formobj.depositBankName = vdata.depositBankName
@ -391,6 +427,7 @@ export default {
reject(){
if(this.formobj.comment==''){
alert('请填写审批意见!');
return false;
}
this.handleReject();
},
@ -398,6 +435,7 @@ export default {
agree() {
if(this.formobj.comment==''){
alert('请填写审批意见!');
return false;
}
//
//sid
@ -454,7 +492,11 @@ export default {
} ,
/** 终止任务 */
handleStop() {
this.stopList.comment = this.comment
if(this.formobj.comment==''){
alert('请填写审批意见!');
return false;
}
this.stopList.comment = this.formobj.comment
req.breakTask(this.stopList).then((response) => {
if (response.code === '200') {
this.$notify({

46
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationAdd.vue

@ -18,6 +18,9 @@
<!-- Start 新增修改部分 -->
<div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<br><br>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>分公司名称</span>
@ -85,13 +88,13 @@
<span><span class="icon">*</span>开户银行</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.depositBankName" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.depositBankName" placeholder="开户银行" class="addinputw" clearable /></el-form-item>
</el-col>
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>银行账号</span>
</el-col>
<el-col :span="3" class="trightb">
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.bankAccount" placeholder="采购单位" class="addinputw" clearable /></el-form-item>
<el-form-item prop="purchasingUnitName"><el-input size="small" v-model="formobj.bankAccount" placeholder="银行账号" class="addinputw" clearable /></el-form-item>
</el-col>
</el-row>
<el-row>
@ -132,7 +135,7 @@
<el-row >
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>备注</span>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="remarks"><el-input size="small" v-model="formobj.remarks" placeholder="备注" class="addinputw" clearable /></el-form-item>
@ -154,6 +157,7 @@
:limit="1"
:file-list="fileList"
class="upload-demo"
:on-preview = 'handleDown'
><!--:show-file-list="false"-->
<el-button size="small" type="primary">合同上传</el-button>
</el-upload>
@ -324,8 +328,36 @@ export default {
}, '*')
},
methods: {
//
handleDown(row) {
console.log(row);
var xhr=new XMLHttpRequest();
xhr.open('GET', process.env.VUE_APP_BASE_API+"/base/file/download?filePath="+ row.url+"&outFileName="+row.name,true);
xhr.setRequestHeader("token", getStorage());
xhr.responseType='blob';
xhr.onload= function(e){
//
var blob = this.response;
var filename = row.name;
var a = document.createElement('a');
//blob.type="application/octet-stream";
//url
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//URL
window.URL.revokeObjectURL(url);
};
//
xhr.send();
},
uploadSuccessHetong(response, file) {
this.formobj.contract = response.data
this.formobj.contract={
fileName: file.response.data.sourceFileName,
filePath: file.response.data.filePath,
fileSize: file.response.data.size
}
},
selectChexing(info) {
this.viewState = '1'
@ -465,6 +497,12 @@ export default {
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.fileList=[]
_this.fileList.push({
name: vdata.contract.fileName ,
url: vdata.contract.filePath
})
/* _this.fileList[0] = vdata.contract*/
_this.formobj.remarks = vdata.remarks
_this.formobj.useOrgName = vdata.useOrgName
_this.formobj.depositBankName = vdata.depositBankName

34
anrui-scm/anrui-scm-ui/src/views/baseoutsourcingapplication/workflow/baseoutsourcingapplicationInfo.vue

@ -12,6 +12,9 @@
<!-- 标题按钮部分结束 -->
<div >
<el-form ref="form_obj" :model="formobj" label-position="right" class="formadd">
<div class="wlInfo" style="text-align: center;"><span style="font-size:28px;">外采申请表</span></div>
<div class="wlInfo" style="text-align: right;"><span style="font-size:14px;">金额单位</span></div>
<br><br>
<el-row style="border-top: 1px solid #e0e3eb">
<el-col :span="3" class="tleftb">分公司名称</el-col>
<el-col :span="5" class="trightb">
@ -103,7 +106,7 @@
</el-row>
<el-row >
<el-col :span="3" class="tleftb">
<span><span class="icon">*</span>备注</span>
<span>备注</span>
</el-col>
<el-col :span="21" class="trightb">
<el-form-item prop="remarks">
@ -116,7 +119,8 @@
</el-col>
<el-col :span="21">
<el-form-item>
<span v-show="formobj.contract !== null"
class="bluezi" @click="handleDown(formobj.contract)">{{formobj.contract.fileName}}</span>
</el-form-item>
</el-col>
</el-row>
@ -136,6 +140,7 @@
<script>
import req from '@/api/baseoutsourcingapplication/baseoutsourcingapplication'
import {getStorage} from "@/utils/auth";
export default {
name: 'BaseOutsourcingApplicationInfo',
@ -200,6 +205,30 @@ export default {
}, '*')
},
methods: {
//
handleDown(row) {
console.log(row);
var xhr=new XMLHttpRequest();
xhr.open('GET', process.env.VUE_APP_BASE_API+"/base/file/download?filePath="+ row.filePath+"&outFileName="+row.name,true);
xhr.setRequestHeader("token", getStorage());
xhr.responseType='blob';
xhr.onload= function(e){
//
var blob = this.response;
var filename = row.fileName;
var a = document.createElement('a');
//blob.type="application/octet-stream";
//url
var url = URL.createObjectURL(blob);
a.href = url;
a.download=filename;
a.click();
//URL
window.URL.revokeObjectURL(url);
};
//
xhr.send();
},
//
openRevoke() {
this.$confirm('是否确认执行撤回操作', '提示', {
@ -248,6 +277,7 @@ export default {
.then(resp => {
if (resp.success) {
const vdata = resp.data
_this.formobj.contract = vdata.contract
_this.formobj.remarks = vdata.remarks
_this.formobj.useOrgName = vdata.useOrgName
_this.formobj.depositBankName = vdata.depositBankName

4
anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangAdd.vue

@ -188,6 +188,10 @@ export default {
})
},
submitVehicleApply() {
if(this.formobj.departureDate===''){
alert('厂家发车日期不能为空');
return ;
}
req.submitVehicleApply(this.formobj).then(res => {
console.log(res.code, res.success)
if (res.code === '200' && res.success) {

17
anrui-scm/anrui-scm-ui/src/views/ruzhang/ruzhangguanli/ruzhangguanli.vue

@ -4,11 +4,10 @@
<div class="tab-header webtop">
<div>入账申请单管理</div>
<div>
<!-- <el-button type="danger" size="small" @click="doDel()">删除</el-button>-->
<el-button type="primary" size="small">提交</el-button>
<el-button type="info" size="small">关闭</el-button>
</div>
</div>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="isSearchShow = !isSearchShow">{{ isSearchShow ? '隐藏查询条件' : '显示查询条件' }}
</el-button>
@ -46,7 +45,6 @@
<!--Start 项目列表-->
<div class="listcon">
<el-table v-loading="tableLoading" :data="dataList" border style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column width="50" type="selection" align="center"/>
<el-table-column width="50" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column width="150" label="操作" align="center">
<template slot-scope="scope">
@ -56,12 +54,16 @@
<el-button type="primary" size="small" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column width="80" prop="nodeState" label="状态" align="center"/>
<el-table-column width="100" prop="applicationCode" label="申请编号" align="center"/>
<el-table-column width="130" prop="nodeState" label="状态" align="center"/>
<!-- <el-table-column width="200" prop="applicationCode" label="申请编号" align="center"/>-->
<el-table-column width="100" prop="applicationDate" label="申请日期" align="center"/>
<el-table-column width="120" prop="purchaseOrderNo" label="采购订单编号" align="center"/>
<el-table-column width="180" prop="purchaseOrderNo" label="采购订单编号" align="center"/>
<el-table-column prop="modelName" label="车型" align="center"/>
<el-table-column width="50" prop="vehicleNum" fit label="台数" align="center"/>
<el-table-column width="80" prop="vehicleNum" fit label="台数" align="center"/>
<el-table-column width="100" prop="contractPrice" fit label="厂家合同价" align="center"/>
<el-table-column width="100" prop="moneyCount" fit label="政策金额合计" align="center"/>
<el-table-column width="100" prop="costPrice" fit label="厂家结算价" align="center"/>
<el-table-column width="100" prop="departureDate" fit label="发车日期" align="center"/>
</el-table>
</div>
<!--End 项目列表-->
@ -70,6 +72,7 @@
<pagination v-show="dataList.length > 0" :total="queryParams.total" :page.sync="queryParams.current" :limit.sync="queryParams.size" class="pagination" @pagination="loadList"/>
</div>
</div>
</div>
<!--End 查询和其列表部分-->
<!--新增修改部分组件-->

4
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangeng.vue

@ -56,14 +56,14 @@
<el-button size="mini" type="primary" @click="handleCheck(row)">查看</el-button>
</template>
</el-table-column>
<el-table-column width="120px" prop="state" label="状态" header-align="center" align="left"/>
<el-table-column width="180px" prop="state" label="状态" header-align="center" align="left"/>
<el-table-column width="220px" prop="applyId" label="申请编号" align="center"/>
<el-table-column width="140px" prop="applyDate" label="申请日期" align="center"/>
<el-table-column width="130px" prop="applyName" label="申请人" align="center"/>
<el-table-column width="180px" prop="vin" label="车架号" align="center"/>
<el-table-column width="160px" prop="location" label="现存放地点" align="center"/>
<el-table-column width="160px" prop="targetLocation" label="目标存放地点" align="center"/>
<el-table-column width="130px" prop="operator" label="移库操作人" align="center"/>
<el-table-column width="130px" prop="operator" label="经办人" align="center"/>
<el-table-column width="160px" prop="applyPrice" label="申请费用" align="center"/>
<el-table-column width="180px" label="现场照片" align="center">
<template slot-scope="{row}"> <!-- row.state == '已办结' -->

78
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengAdd.vue

@ -55,20 +55,12 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>移库原因</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.changeReason" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>车架号</span>
</el-col>
<el-col :span="21">
<el-form-item prop="vinNo">
<el-form-item>
<span>{{ temp.vinNo }}</span>
<el-button size="small" type="primary" @click="selectVinNo" class="selectVinNoBtn">选择</el-button>
<!-- <el-select v-model="temp.vinNo" placeholder="请选择" filterable clearable class="addinputw">-->
@ -79,24 +71,30 @@
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.applicantFunds" maxlength="125" placeholder="" class="addinputw" clearable
@keyup.native="temp.applicantFunds = oninput(temp.applicantFunds,2)"/>
<el-input v-model="temp.changeReason" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3"> <!--<span class="icon">*</span>-->
<span>移库操作</span>
<el-col :span="3">
<span><span class="icon">*</span>经办</span>
</el-col>
<el-col :span="9">
<el-form-item prop="operator">
<el-input v-model="temp.operator" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>保险状态</span>
<span>申请费用()</span>
</el-col>
<el-col :span="9">
<el-input v-model="temp.applicantFunds" maxlength="125" placeholder="" class="addinputw" clearable
@keyup.native="temp.applicantFunds = oninput(temp.applicantFunds,2)"/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item prop="InsuranceStateKey">
@ -104,6 +102,12 @@
<el-radio v-model="temp.InsuranceStateKey" label="1"></el-radio>
</el-form-item>
</el-col>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="9">
<el-input v-model="temp.temporaryCard" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row v-show="temp.InsuranceStateKey == '1'">
<el-col :span="3">
@ -114,12 +118,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.temporaryCard" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
</el-form>
</div>
@ -241,7 +240,7 @@ export default {
}
},
rules: {
vinNo: [{ required: true, message: '车架号不能为空', trigger: 'change' }],
// vinNo: [{ required: true, message: '', trigger: 'change' }],
operator: [{ required: true, message: '经办人不能为空', trigger: 'change' }],
InsuranceStateKey: [{ required: true, message: '保险状态不能为空', trigger: 'blur' }],
location: [{ required: true, message: '现存放地点不能为空', trigger: 'change' }],
@ -480,6 +479,17 @@ export default {
},
//
handleCreate() {
if (this.temp.vinNo == ''){
this.$message({
showClose: true,
message: '车架号不能为空!',
type: 'error'
})
return
}
if (this.temp.applicantFunds == ''){
this.temp.applicantFunds = '0'
}
if (this.temp.InsuranceStateKey == '0') {
this.temp.InsuranceState = '否'
this.temp.policyImage = []
@ -511,6 +521,17 @@ export default {
},
handleSubmit() {
const _this = this
if (this.temp.vinNo == ''){
this.$message({
showClose: true,
message: '车架号不能为空!',
type: 'error'
})
return
}
if (this.temp.applicantFunds == ''){
this.temp.applicantFunds = '0'
}
if (this.temp.InsuranceStateKey == '0') {
this.temp.InsuranceState = '否'
this.temp.policyImage = []
@ -551,19 +572,10 @@ export default {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 240px !important;
}
.title {
padding-top: 28px;
}
.formadd .title {
padding: 10px !important;
}
.yancheAdd .el-row {
border: 0 !important;
}

57
anrui-scm/anrui-scm-ui/src/views/supplychain/cunfangdidianbiangeng/cunfangdidianbiangengInfo.vue

@ -7,7 +7,7 @@
</div>
</div>
<div class="listconadd">
<div class="title">车辆存放地点变更申请</div>
<div class="titwu">车辆存放地点变更申请</div>
<el-form ref="dataForm" :model="temp" label-position="right" class="formadd" :rules="rules">
<el-row style="border-top: 1px solid #e0e3eb;">
<el-col :span="3">
@ -47,29 +47,37 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库原因</span>
<span>车架号</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.changeReason }}</span>
<span>{{ temp.vinNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.vinNo }}</span>
<span>{{ temp.changeReason }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
<span>经办人</span>
</el-col>
<el-col :span="21">
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>申请费用()</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.applicantFunds }}</span>
</el-form-item>
@ -77,19 +85,21 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库操作人</span>
<span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
<span>{{ temp.insuranceState }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>保险状态</span>
<span>临牌</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.insuranceState }}</span>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
@ -103,18 +113,6 @@
:src="item" @click="open(temp.policyImage)">
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="21">
<el-form-item>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog :visible.sync="dialogVisible" width="1000px"
@ -191,19 +189,6 @@ export default {
width: 80%;
}
.listconadd {
width: 100%;
padding: 0 240px !important;
}
.title {
padding-top: 28px;
}
.formadd .title {
padding: 10px !important;
}
.yancheAdd .el-row {
border: 0 !important;
}

38
anrui-scm/anrui-scm-ui/src/views/supplychain/diaochekaipiaoshenqingguanli/diaocheshenqingAdd.vue

@ -94,32 +94,30 @@
</template>
</el-table-column>
<el-table-column width="200" label="发票类型" align="center">
<template slot-scope="scope">
<template slot-scope="scope"><!-- :disabled="scope.row.isAvailable || dialogStatus == 'edit'" -->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<el-select v-model="scope.row.invoiceTypeKey" placeholder="请选择" clearable class="addinputw"
@change="invoiceTypeChange(scope.row,scope.row.invoiceTypeKey)"
:disabled="scope.row.isAvailable || dialogStatus == 'edit'">
>
<el-option v-for="item in invoiceType_list" :key="item.dictKey" :label="item.dictValue"
:value="item.dictKey"/>
</el-select>
</template>
</el-table-column>
<el-table-column width="130" label="开票金额" align="center">
<template slot-scope="scope"><!-- 由发票类型决定,增值税票:开票金额=内销价格 -->
<template slot-scope="scope"><!-- 由发票类型决定,增值税票:开票金额=内销价格 :disabled="scope.row.invoiceTypeKey == '02'"-->
<el-input
v-model="scope.row.invoiceTypeKey == '02' ? scope.row.witPinMoney :scope.row.invoicinMoney"
placeholder="请输入" class="addinputw"
:disabled="scope.row.invoiceTypeKey == '02'"
@keyup.native="scope.row.invoicinMoney = oninput(scope.row.invoicinMoney,2)"
/>
</template>
</el-table-column>
<el-table-column width="180" label="开票单位" align="center">
<template slot-scope="scope"><!-- 由发票类型决定,增值税票:开票单位=调入公司 -->
<template slot-scope="scope"><!-- 由发票类型决定,增值税票:开票单位=调入公司 :disabled="scope.row.invoiceTypeKey == '02'"-->
<el-input
v-model="scope.row.invoiceTypeKey == '02' ? temp.callInOrgName :scope.row.invoicinCompanyName"
placeholder="请输入" class="addinputw"
:disabled="scope.row.invoiceTypeKey == '02'"/>
placeholder="请输入" class="addinputw" />
</template>
</el-table-column>
<el-table-column width="180" label="开票信息图片" align="center">
@ -145,13 +143,18 @@
</div>
<!-- 照片弹窗 -->
<el-dialog title="开票信息图片" :visible.sync="dialogVisible">
<div v-for="(item,index) in dialogUrl" style="display:inline-block;">
<div class="dialogImg">
<el-image
v-for="(item,index) in dialogUrl"
:key="index"
:src="item"
style="width: 100px; height: 100px"
:preview-src-list="dialogUrl">
</el-image>
<el-button type="danger" size="mini" @click="handleDel(item)">删除</el-button>
</div>
</div>
</el-dialog>
<diaochecheliang-list ref="xuanChe" v-show="isXuanche === true" @handleVehicle="selectVehicle"
@doback="resetState"/>
@ -164,6 +167,7 @@ import upload_diaoche from '@/components/uploadFile/upload_diaoche'
import { getOrg, getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import { fetchDetailsBySid, save, selByLinkSid, submitSunInv } from '@/api/supplychain/diaochekaipiaoshenqing.js'
import { typeValues } from '@/api/supplychain/yancheguanli'
import req from '@/api/kucunguanli/changjiachuku'
export default {
name: 'diaocheshenqingAdd',
@ -289,6 +293,18 @@ export default {
})
this.dialogVisible = true
},
handleDel(val) {
req.deleteFilesOss(val).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '删除成功!' })
this.dialogUrl.forEach((item, index) => {
if (item === val) {
this.dialogUrl.splice(index, 1)
}
})
}
})
},
//
handlediaocheliang() {
if (this.temp.callOutOrgSid == '') {
@ -505,4 +521,10 @@ export default {
display: inline-block;
padding-right: 10px;
}
.dialogImg{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
</style>

14
anrui-scm/anrui-scm-ui/src/views/supplychain/tiaozhangshenqingguanli/tiaozhangshenqingguanliAdd.vue

@ -103,13 +103,13 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<!-- <el-input v-model="scope.row.invoiceTypeValue" placeholder="请输入" class="addinputw"-->
<!-- :readonly="vehicleList[scope.$index].inboundDate"/>-->
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.invoiceTypeValue" placeholder="请输入" class="addinputw"&ndash;&gt;-->
<!-- &lt;!&ndash; :readonly="vehicleList[scope.$index].inboundDate"/>&ndash;&gt;-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

10
anrui-scm/anrui-scm-ui/src/views/supplychain/tiaozhangshenqingguanli/tiaozhangshenqingguanliInfo.vue

@ -70,11 +70,11 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

72
anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangeng.vue

@ -50,29 +50,37 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库原因</span>
<span>车架号</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.changeReason }}</span>
<span>{{ temp.vinNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.vinNo }}</span>
<span>{{ temp.changeReason }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
<span>经办人</span>
</el-col>
<el-col :span="21">
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>申请费用()</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.applicantFunds }}</span>
</el-form-item>
@ -80,19 +88,21 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库操作人</span>
<span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
<span>{{ temp.insuranceState }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>保险状态</span>
<span>临牌</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.insuranceState }}</span>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
@ -106,18 +116,6 @@
:src="item" @click="open(temp.policyImage)">
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="21">
<el-form-item>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog :visible.sync="dialogVisible" width="1000px"
@ -362,6 +360,14 @@ export default {
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment == '') {
this.$message({
showClose: true,
message: '请填写同意意见!',
type: 'error'
})
return
}
req.agreeTask(this.agreeList).then((response) => {
if (response.success) {
this.$message({
@ -384,6 +390,14 @@ export default {
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment == '') {
this.$message({
showClose: true,
message: '请填写驳回意见!',
type: 'error'
})
return
}
req.rejectTask(this.regectList).then((response) => {
if (response.success) {
this.$message({
@ -406,6 +420,14 @@ export default {
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment == '') {
this.$message({
showClose: true,
message: '请填写终止意见!',
type: 'error'
})
return
}
req.breakTask(this.stopList).then((response) => {
if (response.success) {
this.$message({
@ -483,9 +505,13 @@ export default {
font-size: 14px;
text-align: center;
}
.title{
.titwu {
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.tleftb {
border-bottom: 0 !important;
border-top: 1px solid #e0e3eb;

81
anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangengEdit.vue

@ -54,20 +54,12 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>移库原因</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.changeReason" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>车架号</span>
</el-col>
<el-col :span="21">
<el-form-item prop="vinNo">
<el-form-item>
<span>{{ temp.vinNo }}</span>
<el-button size="small" type="primary" @click="selectVinNo" class="selectVinNoBtn">选择</el-button>
<!-- <el-select v-model="temp.vinNo" placeholder="请选择" filterable clearable class="addinputw">-->
@ -78,24 +70,30 @@
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.applicantFunds" maxlength="125" placeholder="" class="addinputw" clearable
@keyup.native="temp.applicantFunds = oninput(temp.applicantFunds,2)"/>
<el-input v-model="temp.changeReason" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row>
<el-col :span="3"> <!--<span class="icon">*</span>-->
<span>移库操作</span>
<el-col :span="3">
<span><span class="icon">*</span>经办</span>
</el-col>
<el-col :span="9">
<el-form-item prop="operator">
<el-input v-model="temp.operator" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-form-item>
</el-col>
<el-col :span="3">
<span>保险状态</span>
<span>申请费用()</span>
</el-col>
<el-col :span="9">
<el-input v-model="temp.applicantFunds" maxlength="125" placeholder="" class="addinputw" clearable
@keyup.native="temp.applicantFunds = oninput(temp.applicantFunds,2)"/>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span><span class="icon">*</span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item prop="InsuranceStateKey">
@ -103,6 +101,12 @@
<el-radio v-model="temp.InsuranceStateKey" label="1"></el-radio>
</el-form-item>
</el-col>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="9">
<el-input v-model="temp.temporaryCard" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
<el-row v-show="temp.InsuranceStateKey == '1'">
<el-col :span="3">
@ -113,12 +117,7 @@
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="21">
<el-input v-model="temp.temporaryCard" maxlength="125" placeholder="" class="addinputw" clearable/>
</el-col>
</el-row>
</el-form>
</div>
@ -250,7 +249,7 @@ export default {
}
},
rules: {
vinNo: [{ required: true, message: '车架号不能为空', trigger: 'change' }],
// vinNo: [{ required: true, message: '', trigger: 'change' }],
operator: [{ required: true, message: '经办人不能为空', trigger: 'change' }],
InsuranceStateKey: [{ required: true, message: '保险状态不能为空', trigger: 'blur' }],
location: [{ required: true, message: '现存放地点不能为空', trigger: 'change' }],
@ -514,6 +513,17 @@ export default {
},
//
handleCreate() {
if (this.temp.vinNo == ''){
this.$message({
showClose: true,
message: '车架号不能为空!',
type: 'error'
})
return
}
if (this.temp.applicantFunds == ''){
this.temp.applicantFunds = '0'
}
if (this.temp.InsuranceStateKey == '0') {
this.temp.InsuranceState = '否'
this.temp.policyImage = []
@ -551,6 +561,25 @@ export default {
},
handleSubmit() {
const _this = this
if (this.temp.vinNo == ''){
this.$message({
showClose: true,
message: '车架号不能为空!',
type: 'error'
})
return
}
if (this.temp.applicantFunds == ''){
this.temp.applicantFunds = '0'
}
if (this.temp.InsuranceStateKey == '0') {
this.temp.InsuranceState = '否'
this.temp.policyImage = []
this.imgList = []
}
if (this.temp.InsuranceStateKey == '1') {
this.temp.InsuranceState = '是'
}
this.getUrl()
this.$refs['dataForm'].validate(valid => {
if (valid) {
@ -629,8 +658,10 @@ export default {
font-size: 14px;
text-align: center;
}
.title{
.titwu{
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
.selectVinNoBtn {

46
anrui-scm/anrui-scm-ui/src/views/workFlow/cunfangdidianbiangengFlow/cunfangdidianbiangengInfo.vue

@ -47,29 +47,37 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库原因</span>
<span>车架号</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.changeReason }}</span>
<span>{{ temp.vinNo }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>车架号</span>
<span>变更原因</span>
</el-col>
<el-col :span="21">
<el-form-item>
<span>{{ temp.vinNo }}</span>
<span>{{ temp.changeReason }}</span>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>申请费用</span>
<span>经办人</span>
</el-col>
<el-col :span="21">
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>申请费用()</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.applicantFunds }}</span>
</el-form-item>
@ -77,19 +85,21 @@
</el-row>
<el-row>
<el-col :span="3">
<span>移库操作人</span>
<span>保险状态</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.operator }}</span>
<span>{{ temp.insuranceState }}</span>
</el-form-item>
</el-col>
<el-col :span="3">
<span>保险状态</span>
<span>临牌</span>
</el-col>
<el-col :span="9">
<el-form-item>
<span>{{ temp.insuranceState }}</span>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
@ -103,18 +113,6 @@
:src="item" @click="open(temp.policyImage)">
</el-col>
</el-row>
<el-row>
<el-col :span="3">
<span>临牌</span>
</el-col>
<el-col :span="21">
<el-form-item>
<el-form-item>
<span>{{ temp.temporaryCard }}</span>
</el-form-item>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog :visible.sync="dialogVisible" width="1000px"
@ -318,7 +316,9 @@ export default {
font-size: 14px;
text-align: center;
}
.title{
.titwu{
font-size: 28px;
text-align: center;
padding: 30px 0 20px 0;
}
</style>

4
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangEdit.vue

@ -232,6 +232,10 @@ export default {
})
},
submitVehicleApply() {
if(this.formobj.departureDate===''){
alert('厂家发车日期不能为空');
return ;
}
req.submitVehicleApply(this.formobj).then((res) => {
if (res.code == '200') {
//

4
anrui-scm/anrui-scm-ui/src/views/workFlow/ruzhangguanliFlow/ruzhangguanli/ruzhangInfo.vue

@ -147,7 +147,8 @@ export default {
purchaseOrderNo: '',
remarks: '', //
vehicleOrderSid: '',
vehicleList: []
vehicleList: [],
comment:''
},
dialogList: {
comment: ''
@ -277,6 +278,7 @@ export default {
},
//
openAgree() {
this.formobj.comment = '同意'
// id
req.getNextNodesForSubmit(this.formobj).then(resp => {
if (resp.success) {

29
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqing.vue

@ -209,7 +209,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 120 + 'px'
data: document.body.scrollHeight + 180 + 'px'
}
}, '*')
},
@ -277,6 +277,7 @@ export default {
//
openAgree(val) {
this.operation = val
this.dialogList.comment = '同意'
this.currentLink = true //
// const formVariables = {
// businessSid: this.agreeList.businessSid
@ -293,6 +294,7 @@ export default {
//
openReject(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = true //
// const formVariables = {
// businessSid: this.regectList.businessSid
@ -309,6 +311,7 @@ export default {
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false //
this.nodeDialogVisible = true
},
@ -325,6 +328,14 @@ export default {
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment == '') {
this.$message({
showClose: true,
message: '请填写同意意见!',
type: 'error'
})
return
}
req.agreeTask(this.agreeList).then((response) => {
if (response.success) {
this.$message({
@ -347,6 +358,14 @@ export default {
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment == '') {
this.$message({
showClose: true,
message: '请填写驳回意见!',
type: 'error'
})
return
}
req.rejectTask(this.regectList).then((response) => {
if (response.success) {
this.$message({
@ -369,6 +388,14 @@ export default {
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment == '') {
this.$message({
showClose: true,
message: '请填写终止意见!',
type: 'error'
})
return
}
req.breakTask(this.stopList).then((response) => {
if (response.success) {
this.$message({

29
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingCallInToCallOut.vue

@ -209,7 +209,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 120 + 'px'
data: document.body.scrollHeight + 180 + 'px'
}
}, '*')
},
@ -277,6 +277,7 @@ export default {
//
openAgree(val) {
this.operation = val
this.dialogList.comment = '同意'
this.currentLink = true //
// const formVariables = {
// businessSid: this.agreeList.businessSid
@ -293,6 +294,7 @@ export default {
//
openReject(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = true //
// const formVariables = {
// businessSid: this.regectList.businessSid
@ -309,6 +311,7 @@ export default {
//
openStop(val) {
this.operation = val
this.dialogList.comment = ''
this.currentLink = false //
this.nodeDialogVisible = true
},
@ -325,6 +328,14 @@ export default {
/** 同意任务 */
handleAgree() {
this.agreeList.comment = this.dialogList.comment
if (this.agreeList.comment == '') {
this.$message({
showClose: true,
message: '请填写同意意见!',
type: 'error'
})
return
}
req.agreeTaskCallInToCallOut(this.agreeList).then((response) => {
if (response.success) {
this.$message({
@ -347,6 +358,14 @@ export default {
/** 驳回任务 */
handleReject() {
this.regectList.comment = this.dialogList.comment
if (this.regectList.comment == '') {
this.$message({
showClose: true,
message: '请填写驳回意见!',
type: 'error'
})
return
}
req.rejectTask(this.regectList).then((response) => {
if (response.success) {
this.$message({
@ -369,6 +388,14 @@ export default {
/** 终止任务 */
handleStop() {
this.stopList.comment = this.dialogList.comment
if (this.stopList.comment == '') {
this.$message({
showClose: true,
message: '请填写终止意见!',
type: 'error'
})
return
}
req.breakTask(this.stopList).then((response) => {
if (response.success) {
this.$message({

28
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingEdit.vue

@ -144,13 +144,17 @@
</div>
<!-- 照片弹窗 -->
<el-dialog title="开票信息图片" :visible.sync="dialogVisible">
<div v-for="(item,index) in dialogUrl" style="display:inline-block;">
<div class="dialogImg">
<el-image
v-for="(item,index) in dialogUrl"
:key="index"
:src="item"
style="width: 100px; height: 100px"
:preview-src-list="dialogUrl">
</el-image>
<el-button type="danger" size="mini" @click="handleDel(item)">删除</el-button>
</div>
</div>
</el-dialog>
<diaochecheliang-list ref="xuanChe" v-show="isXuanche === true" @handleVehicle="selectVehicle"
@doback="resetState"/>
@ -163,6 +167,7 @@ import upload_diaoche from '@/components/uploadFile/upload_diaoche'
import { getOrg, getPathSidByUserSid } from '@/api/cheliang/basevehiclemodel'
import { fetchDetailsBySid, save, selByLinkSid, submitSunInv } from '@/api/supplychain/diaochekaipiaoshenqing.js'
import { typeValues } from '@/api/supplychain/yancheguanli'
import req from '@/api/kucunguanli/changjiachuku'
export default {
name: 'tiaochekaipiaoshenqingEdit',
@ -213,7 +218,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 120 + 'px'
data: document.body.scrollHeight + 180 + 'px'
}
}, '*')
},
@ -301,6 +306,18 @@ export default {
})
this.dialogVisible = true
},
handleDel(val) {
req.deleteFilesOss(val).then((res) => {
if (res.success) {
this.$message({ showClose: true, type: 'success', message: '删除成功!' })
this.dialogUrl.forEach((item, index) => {
if (item === val) {
this.dialogUrl.splice(index, 1)
}
})
}
})
},
//
handlediaocheliang() {
if (this.temp.callOutOrgSid == '') {
@ -510,4 +527,11 @@ export default {
display: inline-block;
padding-right: 10px;
}
.dialogImg {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
</style>

2
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaochekaipiaoshenqingFlow/tiaochekaipiaoshenqingInfo.vue

@ -152,7 +152,7 @@ export default {
params: {
//
code: 2,
data: document.body.scrollHeight + 120 + 'px'
data: document.body.scrollHeight + 180 + 'px'
}
}, '*')
},

10
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqing.vue

@ -72,11 +72,11 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

10
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingCallInOrCallOut.vue

@ -72,11 +72,11 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

14
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingEdit.vue

@ -102,13 +102,13 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<!-- <el-input v-model="scope.row.invoiceTypeValue" placeholder="请输入" class="addinputw"-->
<!-- :readonly="vehicleList[scope.$index].inboundDate"/>-->
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- &lt;!&ndash; <el-input v-model="scope.row.invoiceTypeValue" placeholder="请输入" class="addinputw"&ndash;&gt;-->
<!-- &lt;!&ndash; :readonly="vehicleList[scope.$index].inboundDate"/>&ndash;&gt;-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

10
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingInfo.vue

@ -70,11 +70,11 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

10
anrui-scm/anrui-scm-ui/src/views/workFlow/tiaozhangshenqingFlow/tiaozhangshenqingOrgChange.vue

@ -72,11 +72,11 @@
<span>{{ scope.row.witPinMoney }}</span>
</template>
</el-table-column>
<el-table-column label="发票类型" align="center" width="140">
<template slot-scope="scope">
<span>{{ scope.row.invoiceTypeValue }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="发票类型" align="center" width="140">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ scope.row.invoiceTypeValue }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="运费" align="center" width="90">
<template slot-scope="scope">
<span>{{ scope.row.freight }}</span>

9
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/retrieval/AppBusDeliveredApplyService.java

@ -29,6 +29,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.busdelivered.*;
import com.yxt.anrui.buscenter.api.busdeliveredapply.*;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarVinListVo;
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.BusDeliveredApplyDetailsFeign;
import com.yxt.anrui.scm.api.scmvehiclegression.AppScmVehicleGressionPageQuery;
import com.yxt.anrui.scm.api.scmvehiclestaypatrolinspection.AppScmVehicleStayPatrolinspectionPageQuery;
import com.yxt.anrui.terminal.api.autoservice.retrieval.*;
@ -68,6 +69,9 @@ public class AppBusDeliveredApplyService {
@Autowired
BusDeliveredApplyFeign busDeliveredApplyFeign;
@Autowired
BusDeliveredApplyDetailsFeign busDeliveredApplyDetailsFeign;
public ResultBean<PagerVo<DeliveredPageVo>> getRetrievalNotList(PagerQuery<DeliveredPageQuery> pagerQuery) {
ResultBean<PagerVo<DeliveredPageVo>> rb = ResultBean.fireFail();
PagerQuery<AppBusDeliveredPageQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
@ -115,6 +119,9 @@ public class AppBusDeliveredApplyService {
}
public ResultBean<List<AppCarVinListVo>> getRetrievalCarVin(String sid) {
return null;
ResultBean<List<AppCarVinListVo>> rb = ResultBean.fireFail();
ResultBean<List<AppCarVinListVo>> retrievalCarVin = busDeliveredApplyDetailsFeign.getRetrievalCarVin(sid);
List<AppCarVinListVo> data = retrievalCarVin.getData();
return rb.success().setData(data);
}
}

24
doc/databases/base_tables.sql

@ -841,6 +841,30 @@ CREATE TABLE `base_middleman`
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='中介人员';
-- 排产上装
DROP TABLE IF EXISTS `bus_vehicle_apply_sz`;
CREATE TABLE `bus_vehicle_apply_sz`
(
`id` int(32) NOT NULL AUTO_INCREMENT COMMENT 'id',
`sid` varchar(64) NOT NULL COMMENT 'sid',
`lockVersion` int(32) DEFAULT '0' COMMENT '版本锁',
`createTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modifyTime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
`isEnable` int(32) DEFAULT '1' COMMENT '是否可用:1可用,0不可用',
`state` int(32) DEFAULT '1' COMMENT '状态',
`isDelete` int(32) DEFAULT '0' COMMENT '是否删除:0未删除,1已删除',
`remarks` varchar(255) DEFAULT NULL COMMENT '备注',
`createBySid` varchar(64) DEFAULT NULL COMMENT '创建人sid',
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`szSid` varchar(64) DEFAULT NULL COMMENT '上装sid',
`detailsSid` varchar(64) DEFAULT NULL COMMENT '排产车型sid',
`costPrice` int(64) DEFAULT NULL COMMENT '厂家结算价',
`guidePrice` int(64) DEFAULT NULL COMMENT '销售指导价',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB
DEFAULT CHARSET = utf8 COMMENT ='排产上装';

Loading…
Cancel
Save