Browse Source

Merge remote-tracking branch 'origin/master'

master
Zhao Qiqi 3 years ago
parent
commit
ec018c46ab
  1. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsService.java
  2. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.java
  3. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml
  4. 33
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  5. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitious.java
  6. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java
  7. 16
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java
  8. 13
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java
  9. 32
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java
  10. 31
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java
  11. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java
  12. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java
  13. 25
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java
  14. 38
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java
  15. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml
  16. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml
  17. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java
  18. 8
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java
  19. 27
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml
  20. 17
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java
  21. 118
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java
  22. 7
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java
  23. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java
  24. 2
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeign.java
  25. 16
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java
  26. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java
  27. 1
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml
  28. 23
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java
  29. 17
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java
  30. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml
  31. 13
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoService.java
  32. 2
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java
  33. 9
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml
  34. 7
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java
  35. 26
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java
  36. 16
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java
  37. 126
      anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouseQuery.java
  38. 11
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmwarehouse/ScmWarehouseService.java
  39. 2
      anrui-scm/anrui-scm-ui/src/components/uploadFile/upload_chexing.vue
  40. 55
      anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js
  41. 346
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceAdd.vue
  42. 160
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceInfo.vue
  43. 345
      anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceguanli.vue
  44. 327
      anrui-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue
  45. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  46. 13
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java
  47. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java
  48. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java
  49. 24
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java
  50. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java
  51. 36
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java
  52. 13
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  53. 21
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualdetails/BaseVehicleActualDetailsService.java

@ -30,7 +30,7 @@ public class BaseVehicleActualDetailsService extends MybatisBaseService<BaseVehi
BaseVehicleActualDetails baseVehicleActualDetails = null;
for (BaseVehicleActualDetailsDto dto : detailsList) {
baseVehicleActualDetails = new BaseVehicleActualDetails();
BeanUtils.copyProperties(dto, baseVehicleActualDetails, baseVehicleActualDetails.getSid());
BeanUtils.copyProperties(dto, baseVehicleActualDetails, "sid");
baseVehicleActualDetails.setVehicleActualSid(saleSid);
save(baseVehicleActualDetails);
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.java

@ -44,5 +44,5 @@ public interface BaseVehicleActualSalesMapper extends BaseMapper<BaseVehicleActu
* @param taskDefKey 任务定义的ID值
*/
void modifyFlowState(@Param("businessSid") String businessSid, @Param("procDefId") String proDefId, @Param("nodeState") String nodeState,
@Param("procInstSid") String procInsId, @Param("nodeSid") String taskDefKey);
@Param("procInstSid") String procInsId, @Param("nodeSid") String taskDefKey,@Param("taskId") String taskId);
}

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesMapper.xml

@ -6,7 +6,7 @@
sv.applicationName,
DATE_FORMAT(sv.createTime, '%Y-%m-%d') as createTime,
sv.reason,
(select count(*) from scm_vehicle_actual_details sa where sa.vehicleActualSid = sv.sid) as num
(select count(*) from base_vehicle_actual_details sa where sa.vehicleActualSid = sv.sid) as num
from base_vehicle_actual_sales sv
${ew.customSqlSegment}
</select>

33
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -18,7 +18,6 @@ import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFeign;
import com.yxt.anrui.flowable.api.sysformlink.SysFormLinkFlowStateEnum;
import com.yxt.anrui.flowable.api.sysformlink.SysFormStateVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.api.utils.ProcessStateEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
@ -75,7 +74,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
PagerVo<BaseVehicleActualSalesVo> pv1 = PagerUtil.pageToVo(page, pv);
List<BaseVehicleActualSalesVo> voList = pv1.getRecords();
if (voList.size() > 0) {
for (int i = 0; i < voList.size(); i++) {
/* for (int i = 0; i < voList.size(); i++) {
ResultBean<SysFormStateVo> resultBean = sysFormLinkFeign.selectStateByBusinessSid(voList.get(i).getSid());
if (resultBean.getSuccess() && resultBean.getData() != null) {
SysFormStateVo formState = resultBean.getData();
@ -84,6 +83,13 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
} else {
voList.get(i).setFlowState(0);
}
}*/
for (BaseVehicleActualSalesVo vo : voList) {
if (StringUtils.isNotBlank(vo.getNodeState())) {
vo.setNodeState(vo.getNodeState());
} else {
vo.setNodeState("待提交");
}
}
}
return pv1;
@ -130,7 +136,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (StringUtils.isBlank(sid)) {
//新增
BaseVehicleActualSales baseVehicleActualSales = new BaseVehicleActualSales();
BeanUtils.copyProperties(scmVehicleActualSalesDto, baseVehicleActualSales, baseVehicleActualSales.getSid());
BeanUtils.copyProperties(scmVehicleActualSalesDto, baseVehicleActualSales, "sid");
boolean isSave = save(baseVehicleActualSales);
if (!isSave) {
return rb.setMsg("保存失败");
@ -235,12 +241,18 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
if (businessResultBean.getSuccess() && businessResultBean.getData() != null) {
Map<String, String> map = (Map<String, String>) businessResultBean.getData();
//更新未售买断业务表中的流程状态
modifyFlowState(businessSid,
/* modifyFlowState(businessSid,
ProcDefEnum.SCMVEHICLERETURN.getProDefId(),
map.get("nodeState"),
map.get("procInsId"),
map.get("taskDefKey")
);
);*/
modifyFlowState(businessSid,
ProcDefEnum.SALESORDER.getProDefId(),
map.get("nodeState"),
map.get("procInsId"),
map.get("taskDefKey"),
map.get("taskId"));
return rb.success();
} else {
return rb.setMsg(businessResultBean.getMsg());
@ -256,7 +268,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
* @param procInsId 流程实例ID
* @param taskDefKey 任务定义的ID值
*/
private void modifyFlowState(String businessSid, String proDefId, String nodeState,
/*private void modifyFlowState(String businessSid, String proDefId, String nodeState,
String procInsId,
String taskDefKey) {
baseMapper.modifyFlowState(businessSid,
@ -264,6 +276,15 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
nodeState,
procInsId,
taskDefKey);
}*/
private void modifyFlowState(String businessSid, String proDefId, String nodeState,
String procInsId,
String taskDefKey, String taskId) {
baseMapper.modifyFlowState(businessSid,
proDefId,
nodeState,
procInsId,
taskDefKey, taskId);
}
/**

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

@ -63,4 +63,6 @@ public class BusDepositFictitious extends BaseEntity {
@ApiModelProperty("款项支付委托书")
private String payPath;
private String depositBillSid;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdepositfictitious/BusDepositFictitiousDto.java

@ -58,4 +58,6 @@ public class BusDepositFictitiousDto implements Dto {
@ApiModelProperty("款项支付委托书")
private String payPath;
private String depositBillSid;
}

16
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeign.java

@ -25,13 +25,17 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderdeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.*;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -58,5 +62,13 @@ public interface BusSalesOrderDepositFeign {
@GetMapping(value = "/getDepositInfo/{sid}")
ResultBean<AppBusSalesOrderDepositVo> getDepositInfo(@PathVariable(value = "sid") String sid);
@ApiOperation("保存订金信息")
@PutMapping(value = "/save")
ResultBean save(@RequestBody AppBusSalesOrderDepositDto dto);
@ApiOperation("获取虚拟订金分页类别")
@PostMapping(value = "/getDepositList")
ResultBean<PagerVo<AppDepositListVo>> getDepositList(@RequestBody PagerQuery<AppDepositListQuery> pagerQuery);
}

13
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/BusSalesOrderDepositFeignFallback.java

@ -25,7 +25,10 @@
*********************************************************/
package com.yxt.anrui.buscenter.api.bussalesorderdeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -53,4 +56,14 @@ public class BusSalesOrderDepositFeignFallback implements BusSalesOrderDepositFe
public ResultBean<AppBusSalesOrderDepositVo> getDepositInfo(String sid) {
return null;
}
@Override
public ResultBean save(AppBusSalesOrderDepositDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<AppDepositListVo>> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
return null;
}
}

32
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositDto.java

@ -0,0 +1,32 @@
package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:11
* @Description
*/
@Data
public class AppBusSalesOrderDepositDto implements Dto {
private static final long serialVersionUID = -6018466743530869830L;
@ApiModelProperty(value = "销售订单sid")
private String salesOrderSid;
@ApiModelProperty(value = "订金合计")
private String depositAll;
@ApiModelProperty(value = "单台订金")
private String deposit;
@ApiModelProperty(value = "缴纳方式")
private String depositType;
@ApiModelProperty(value = "缴纳方式key")
private String depositTypeKey;
@ApiModelProperty(value = "需补交订金")
private String makeUpDeposit;
private List<AppBusSalesOrderDepositListDto> virtualOrderList;
}

31
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListDto.java

@ -0,0 +1,31 @@
package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:11
* @Description
*/
@Data
public class AppBusSalesOrderDepositListDto implements Dto {
private static final long serialVersionUID = -3851658669440387893L;
@ApiModelProperty(value = "虚拟订单sid")
private String depositBillSid;
@ApiModelProperty(value = "虚拟订单编号")
private String depositBillNo;
@ApiModelProperty(value = "可用金额")
private String depositPrice;
@ApiModelProperty(value = "结转金额")
private String price;
@ApiModelProperty(value = "委托书")
private List<String> entrustImage;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositListVo.java

@ -28,6 +28,8 @@ public class AppBusSalesOrderDepositListVo implements Vo {
private List<String> entrustImage = new ArrayList<>();
@ApiModelProperty(value = "款项支付委托书")
private String payPath;
@ApiModelProperty(value = "付款人")
private String name;
private Boolean showImage;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppBusSalesOrderDepositVo.java

@ -28,6 +28,8 @@ public class AppBusSalesOrderDepositVo implements Vo {
private String payTypeKey;
@ApiModelProperty(value = "订金信息sid")
private String sid;
@ApiModelProperty(value = "单台订金")
private String deposit;
private List<AppBusSalesOrderDepositListVo> virtualOrderList = new ArrayList<>();
}

25
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:46
* @Description
*/
@Data
public class AppDepositListQuery implements Query {
private static final long serialVersionUID = 621127323376049424L;
@ApiModelProperty(value = "单据编号/付款人")
private String name;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "已选择的虚拟订单")
private List<String> sidList;
}

38
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderdeposit/app/AppDepositListVo.java

@ -0,0 +1,38 @@
package com.yxt.anrui.buscenter.api.bussalesorderdeposit.app;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:45
* @Description
*/
@Data
public class AppDepositListVo implements Vo {
private static final long serialVersionUID = -9070916923734657833L;
@ApiModelProperty(value = "虚拟订单sid")
private String virtualSid;
@ApiModelProperty(value = "虚拟订单编号")
private String virtualId;
@ApiModelProperty(value = "付款人")
private String payName;
@ApiModelProperty(value = "联系电话")
private String mobile;
@ApiModelProperty(value = "销售专员")
private String sellerName;
@ApiModelProperty(value = "创建日期")
private String date;
@ApiModelProperty(value = "订金")
@JsonSerialize(using = ToStringSerializer.class)
private String deposit;
@ApiModelProperty(value = "已用订金")
@JsonSerialize(using = ToStringSerializer.class)
private String usePeposit;
@ApiModelProperty(value = "剩余金额")
private String remainderMoney;
}

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdepositfictitious/BusDepositFictitiousMapper.xml

@ -36,11 +36,13 @@
resultType="com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositListVo">
select bf.depositBillNo as virtualOrderId,
bd.sid as virtualOrderSid,
bd2.draweeName as name,
bf.depositPrice as remainderMoney,
bf.price as payMoney,
bf.payPath
from bus_deposit_fictitious bf
left join bus_main_deposit bd on bd.billNo = bf.depositBillNo
left join bus_main_deposit bd on bd.sid = bf.depositBillSid
left join bus_deposit bd2 on bf.depositBillSid = bd2.billSid
where bf.depositSid = #{sid}
</select>
</mapper>

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositMapper.xml

@ -233,7 +233,6 @@
bd.vehicleNum
from bus_main_deposit bmd
left join bus_deposit bd on bd.billSid = bmd.sid
left join bus_deposit_customer bc on bc.billSid = bmd.sid
${ew.customSqlSegment}
</select>

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busmaindeposit/BusMainDepositService.java

@ -1599,7 +1599,7 @@ public class BusMainDepositService extends MybatisBaseService<BusMainDepositMapp
}
}
qw.eq("bd.staffSid", query.getStaffSid());
qw.eq("bc.customerSid", query.getCustomerSid());
// qw.eq("bc.customerSid", query.getCustomerSid());
qw.eq("bd.state", 1);
qw.eq("bmd.depositBillTypeKey", "01");
return qw;

8
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.java

@ -25,11 +25,17 @@
*********************************************************/
package com.yxt.anrui.buscenter.biz.bussalesorderdeposit;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* Project: anrui-buscenter(业务管理) <br/>
@ -73,4 +79,6 @@ public interface BusSalesOrderDepositMapper extends BaseMapper<BusSalesOrderDepo
* @return
*/
AppBusSalesOrderDepositVo getDepositInfo(String sid);
IPage<AppDepositListVo> getDepositList(IPage<BusMainDeposit> page, @Param(Constants.WRAPPER) QueryWrapper<BusMainDeposit> qw, @Param("name") String name);
}

27
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositMapper.xml

@ -34,8 +34,33 @@
bd.depositAll as depositTotal,
bd.depositType as payType,
bd.depositTypeKey as payTypeKey,
bd.sid
bd.sid,
bd.deposit
from bus_sales_order_deposit bd
where bd.salesOrderSid = #{sid}
</select>
<select id="getDepositList" resultType="com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo">
select bmd.sid as virtualSid,
bmd.depositBillType,
bmd.billNo as virtualId,
bmd.createDate as date,
bmd.staffName as sellerName,
bd.draweeName as payName,
bd.draweeMobile as mobile,
bd.deposit,
bd.usedDeposit
from bus_main_deposit bmd
left join bus_deposit bd on bd.billSid = bmd.sid
<where>
${ew.sqlSegment}
and IFNULL(bd.usedDeposit, 0) &lt;&gt; IFNULL(bd.deposit, 0)
<if test="name != null and name != ''">
and concat(bd.draweeName
, bmd.billNo) LIKE concat('%'
, #{name}
, '%')
</if>
</where>
</select>
</mapper>

17
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositRest.java

@ -26,8 +26,13 @@
package com.yxt.anrui.buscenter.biz.bussalesorderdeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@ -58,4 +63,16 @@ public class BusSalesOrderDepositRest implements BusSalesOrderDepositFeign {
public ResultBean<AppBusSalesOrderDepositVo> getDepositInfo(String sid) {
return busSalesOrderDepositService.getDepositInfo(sid);
}
@Override
public ResultBean save(AppBusSalesOrderDepositDto dto) {
return busSalesOrderDepositService.saveDepositInfo(dto);
}
@Override
public ResultBean<PagerVo<AppDepositListVo>> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
ResultBean<PagerVo<AppDepositListVo>> rb = ResultBean.fireFail();
PagerVo<AppDepositListVo> pv = busSalesOrderDepositService.getDepositList(pagerQuery);
return rb.success().setData(pv);
}
}

118
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderdeposit/BusSalesOrderDepositService.java

@ -26,21 +26,34 @@
package com.yxt.anrui.buscenter.biz.bussalesorderdeposit;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.busdeposit.BusDeposit;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitious;
import com.yxt.anrui.buscenter.api.busmaindeposit.BusMainDeposit;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDeposit;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositListVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.*;
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice;
import com.yxt.anrui.buscenter.biz.busdeposit.BusDepositService;
import com.yxt.anrui.buscenter.biz.busdepositfictitious.BusDepositFictitiousService;
import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService;
import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo;
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 org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
@ -69,6 +82,10 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
private BusDepositFictitiousService busDepositFictitiousService;
@Autowired
private BusSalesOrderPriceService busSalesOrderPriceService;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private BusDepositService busDepositService;
public String saveOrderDepo(BusSalesOrderDepositDto busSalesOrderDepositDto, String sid) {
BusSalesOrderDeposit busSalesOrderDeposit = new BusSalesOrderDeposit();
@ -131,6 +148,12 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
String payPath = listVo.getPayPath();
List<String> stringList = Arrays.asList(payPath.split(","));
listVo.setEntrustImage(stringList);
//根据销售订单
if (!busSalesOrder.getCustomerName().equals(listVo.getName())) {
listVo.setShowImage(true);
} else {
listVo.setShowImage(false);
}
}
}
vo.setVirtualOrderList(listVos);
@ -140,4 +163,95 @@ public class BusSalesOrderDepositService extends MybatisBaseService<BusSalesOrde
}
return rb.success().setData(vo);
}
@Transactional(rollbackFor = Exception.class)
public ResultBean saveDepositInfo(AppBusSalesOrderDepositDto dto) {
ResultBean rb = ResultBean.fireFail();
String salesOrderSid = dto.getSalesOrderSid();
//查询销售订单是否存在
BusSalesOrder busSalesOrder = busSalesOrderService.fetchBySid(salesOrderSid);
if (busSalesOrder == null) {
return rb.setMsg("该销售订单单据不存在");
}
BusSalesOrderDeposit busSalesOrderDeposit = baseMapper.selectByOrderSid(salesOrderSid);
String depositSid = "";
if (busSalesOrderDeposit == null) {
busSalesOrderDeposit = new BusSalesOrderDeposit();
BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid");
depositSid = busSalesOrderDeposit.getSid();
baseMapper.insert(busSalesOrderDeposit);
} else {
depositSid = busSalesOrderDeposit.getSid();
BeanUtil.copyProperties(dto, busSalesOrderDeposit, "sid");
baseMapper.updateById(busSalesOrderDeposit);
}
List<AppBusSalesOrderDepositListVo> list = busDepositFictitiousService.getList(depositSid);
list.parallelStream().filter(Objects::nonNull).collect(Collectors.toList());
if (list.size() > 0) {
busDepositFictitiousService.deleteByDepositSid(depositSid);
}
//若缴纳方式为订金结转
if ("02".equals(dto.getDepositTypeKey())) {
List<AppBusSalesOrderDepositListDto> listVos = dto.getVirtualOrderList();
listVos.parallelStream().filter(Objects::nonNull).collect(Collectors.toList());
for (AppBusSalesOrderDepositListDto listDto : listVos) {
//查询付款人是否和客户一样
BusDeposit busDeposit = busDepositService.selectByBillSid(listDto.getDepositBillSid());
if (!busSalesOrder.getCustomerName().equals(busDeposit.getDraweeName())) {
if (listDto.getEntrustImage().isEmpty()) {
return rb.setMsg("选择的虚拟订金单中有付款人与该客户不一致,请上传款项支付委托书");
}
}
BusDepositFictitious busDepositFictitious = new BusDepositFictitious();
BeanUtil.copyProperties(listDto, busDepositFictitious, "sid");
busDepositFictitious.setDepositSid(depositSid);
busDepositFictitious.setPayPath(StringUtils.join(listDto.getEntrustImage(), ","));
busDepositFictitiousService.save(busDepositFictitious);
}
}
return rb.success().setMsg("保存成功");
}
public PagerVo<AppDepositListVo> getDepositList(PagerQuery<AppDepositListQuery> pagerQuery) {
AppDepositListQuery query = pagerQuery.getParams();
QueryWrapper<BusMainDeposit> qw = createDepositPageWrapper(query);
IPage<BusMainDeposit> page = PagerUtil.queryToPage(pagerQuery);
IPage<AppDepositListVo> pagging = baseMapper.getDepositList(page, qw, query.getName());
List<AppDepositListVo> list = pagging.getRecords();
list.parallelStream().filter(Objects::nonNull).collect(Collectors.toList());
if (!list.isEmpty()) {
for (AppDepositListVo vo : list) {
String deposit = vo.getDeposit();
String useDeposit = vo.getUsePeposit();
if (StringUtils.isNotBlank(deposit)) {
if (StringUtils.isNotBlank(useDeposit)) {
vo.setRemainderMoney((new BigDecimal(deposit).subtract(new BigDecimal(useDeposit))).toString());
} else {
vo.setRemainderMoney(deposit);
}
}
}
}
PagerVo<AppDepositListVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
private QueryWrapper<BusMainDeposit> createDepositPageWrapper(AppDepositListQuery query) {
QueryWrapper<BusMainDeposit> qw = new QueryWrapper<>();
if (query != null) {
if (query.getSidList().size() > 0) {
qw.notIn("bmd.sid", query.getSidList());
}
if (StringUtils.isNotBlank(query.getUserSid())) {
ResultBean<SysUserInfoVo> resultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid());
if (resultBean.getSuccess()) {
qw.eq("bd.staffSid", resultBean.getData().getStaffSid());
}
}
}
qw.eq("bd.state", 1);
qw.eq("bmd.depositBillTypeKey", "01");
return qw;
}
}

7
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeign.java

@ -108,7 +108,7 @@ public interface SysOrganizationFeign {
@ApiOperation("根据组织架构sid查询组织下所有分公司")
@ResponseBody
@GetMapping("/selectUseOrgSidBySid")
ResultBean<List<Map<String,String>>> selectUseOrgSidBySid(@RequestParam("sid") String sid);
ResultBean<List<Map<String, String>>> selectUseOrgSidBySid(@RequestParam("sid") String sid);
/**
* 查询公司所有的部门
@ -124,4 +124,9 @@ public interface SysOrganizationFeign {
@ResponseBody
@ApiOperation("查看二维码")
public ResultBean<QrCodeVo> getQrCode(@ApiParam(value = "sid", required = true) @PathVariable("sid") String sid);
@GetMapping("/getOrgSid/{sid}")
@ResponseBody
@ApiOperation("根据当前用户的所在组织获取当前用户所在的分公司")
ResultBean<String> getOrgSid(@PathVariable(value = "sid") String sid);
}

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysorganization/SysOrganizationFeignFallback.java

@ -127,4 +127,9 @@ public class SysOrganizationFeignFallback implements SysOrganizationFeign {
public ResultBean<QrCodeVo> getQrCode(String sid) {
return null;
}
@Override
public ResultBean<String> getOrgSid(String sid) {
return null;
}
}

2
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstaffinfo/SysStaffinfoFeign.java

@ -100,7 +100,7 @@ public interface SysStaffinfoFeign {
* @param staffName 员工姓名
* @return
*/
@ApiOperation("获取集团内全部员工姓名")
@ApiOperation("获取部门内全部员工姓名")
@GetMapping("/getStaffNameByDeptSid")
public ResultBean<List<Map<String,String>>> getStaffNameByDeptSid(@RequestParam(value = "staffName", required = false) String staffName,@RequestParam(value = "deptSid") String deptSid);

16
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeign.java

@ -74,10 +74,6 @@ public interface SysStaffOrgFeign {
@GetMapping("/getSysStaffOrgSidListByStaffSid/{staffSid}")
public ResultBean<String> getSysStaffOrgSidListByStaffSid(@PathVariable("staffSid") String staffSid);
@GetMapping("/selectSidPathByStaffSid")
@ResponseBody
@ApiModelProperty("根据员工sid获取部门全路径")
ResultBean<String> selectSidPathByStaffSid(@RequestParam(value = "applySid") String applySid);
@GetMapping("/selectAllByStaffSid")
@ResponseBody
@ -92,6 +88,16 @@ public interface SysStaffOrgFeign {
*/
@GetMapping("/getPathSidByUserSid")
@ResponseBody
@ApiModelProperty("根据员工sid获取部门全路径")
@ApiOperation("根据用户sid获取分公司sid")
ResultBean<String> getPathSidByUserSid(@RequestParam(value = "userSid") String applySid);
@GetMapping("/selectSidPathByStaffSid")
@ResponseBody
@ApiOperation("根据人员sid获取分公司sid")
ResultBean<String> selectSidPathByStaffSid(@RequestParam(value = "applySid") String applySid);
@GetMapping("/getOrgSidBySid")
@ResponseBody
@ApiOperation("根据组织sid获取分公司sid")
ResultBean<String> getOrgSidBySid(@RequestParam(value = "orgSid") String orgSid);
}

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysstafforg/SysStaffOrgFeignFallback.java

@ -85,6 +85,11 @@ public class SysStaffOrgFeignFallback implements SysStaffOrgFeign {
return null;
}
@Override
public ResultBean<String> getOrgSidBySid(String orgSid) {
return null;
}
@Override
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
return null;

1
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationMapper.xml

@ -103,6 +103,7 @@
SELECT so.name, so.psid, so.id, so.sid, so.orgSidPath
FROM sys_organization so
WHERE isDept = 0
ORDER BY psid
</select>
<select id="selectOrgCodeByPsid" resultType="com.yxt.anrui.portal.api.sysorganization.SysOrganization">

23
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationRest.java

@ -23,8 +23,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import static cn.hutool.poi.excel.sax.AttributeName.s;
/**
* Project: anrui_portal(门户建设) <br/>
* File: SysOrganizationFeignFallback.java <br/>
@ -145,25 +143,33 @@ public class SysOrganizationRest implements SysOrganizationFeign {
SysOrganization entity = sysOrganizationService.fetchBySid(sid);
List<SysStaffOrgVo> list = sysStaffOrgService.fetchByOrgSid(sid);
String fgNames = "";
String fgSids = "";
String zgNames = "";
String zgSids = "";
for (SysStaffOrgVo s : list) {
if ("1".equals(s.getManageType())) {
zgNames = zgNames + "," + s.getStaffName();
zgSids = zgSids + "," + s.getStaffSid();
}
if ("2".equals(s.getManageType())) {
fgNames = fgNames + "," + s.getStaffName();
fgSids = fgSids + "," + s.getStaffSid();
}
}
if (fgNames.length() > 1) {
fgNames = fgNames.substring(1, fgNames.length());
fgSids = fgSids.substring(1, fgSids.length());
}
if (zgNames.length() > 1) {
zgNames = zgNames.substring(1, zgNames.length());
zgSids = zgSids.substring(1, zgSids.length());
}
SysOrganizationVo vo = new SysOrganizationVo();
BeanUtil.copyProperties(entity, vo);
vo.setFgNames(fgNames);
vo.setFgSids(fgSids);
vo.setZgNames(zgNames);
vo.setZgSids(zgSids);
return rb.success().setData(vo);
}
@ -260,7 +266,7 @@ public class SysOrganizationRest implements SysOrganizationFeign {
SysOrganization sysOrganization1 = sysOrganizationService.fetchBySid(s);
Integer isDept = sysOrganization1.getIsDept();
String psid = sysOrganization1.getPsid();
if (isDept != null){
if (isDept != null) {
if (isDept == 0 && !psid.equals(0)) {
qrCodeVo.setOrganizationName(sysOrganization1.getName());
break;
@ -269,4 +275,15 @@ public class SysOrganizationRest implements SysOrganizationFeign {
}
return new ResultBean<QrCodeVo>().success().setData(qrCodeVo);
}
@Override
public ResultBean<String> getOrgSid(String sid) {
ResultBean<String> rb = ResultBean.fireFail();
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(sid);
if (sysOrganization == null) {
return rb.setMsg("该组织不存在");
}
String orgSid = sysOrganizationService.getOrgSid(sid);
return rb.success().setData(orgSid);
}
}

17
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysorganization/SysOrganizationService.java

@ -6,8 +6,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysorganization.*;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUser;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService;
import com.yxt.anrui.portal.biz.sysuser.SysUserService;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -377,9 +375,22 @@ public class SysOrganizationService extends MybatisBaseService<SysOrganizationMa
return baseMapper.getQrCodeVo(sid);
}
public List<Map<String,String>> selectUseOrgSidBySid(String sid) {
public List<Map<String, String>> selectUseOrgSidBySid(String sid) {
SysOrganization sysOrganization = fetchBySid(sid);
String psid = sysOrganization.getPsid();
return baseMapper.selectUseOrgSidBySid(psid);
}
public String getOrgSid(String sid) {
SysOrganization sysOrganization = fetchBySid(sid);
String orgSid = "";
if ("0".equals(sysOrganization.getPsid())) {
orgSid = sysOrganization.getSid();
return orgSid;
}
if ("1".equals(sysOrganization.getIsDept())) {
return sysOrganization.getSid();
}
return getOrgSid(sid);
}
}

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstaffinfo/SysStaffinfoMapper.xml

@ -308,6 +308,13 @@
</select>
<select id="getStaffNameByDeptSid" resultType="java.util.Map">
SELECT DISTINCT
ss.sid,
ss.name
FROM
sys_staffinfo ss
LEFT JOIN sys_staff_org sso
ON ss.`sid` = sso.`staffSid`
${ew.customSqlSegment}
</select>
</mapper>

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

@ -195,9 +195,9 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
}
//判断身份证号出生日期和填写的出生日期是否相同
String idNo = dto.getIdNo();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyddMM");
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
String birthday = simpleDateFormat.format(dto.getBirthday());
String substring = idNo.substring(6, 15);
String substring = idNo.substring(6, 14);
if (!birthday.equals(substring)){
return rb.setMsg("选择的出生日期和身份证出生日期不符,请重新选择");
}
@ -360,8 +360,7 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
}
//查询员工的手机号是否重复
SysStaffinfo sysStaffinfo2 = baseMapper.selectByMobileAndSid(dto.getMobile(), sid);
SysUser sysUser = sysUserService.selectByMobile(dto.getMobile());
if (sysStaffinfo2 != null || sysUser != null) {
if (sysStaffinfo2 != null) {
return rb.setMsg("已存在手机号为" + dto.getMobile() + "的员工");
}
//查询是否存在该身份证号的员工
@ -536,10 +535,10 @@ public class SysStaffinfoService extends MybatisBaseService<SysStaffinfoMapper,
public List<Map<String, String>> getStaffNameByDeptSid(String staffName, String deptSid) {
QueryWrapper<Map<String, Object>> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(staffName)) {
qw.like("name", staffName);
qw.like("ss.name", staffName);
}
//qw.eq("")
qw.eq("isDelete",0);
qw.eq("sso.orgSid",deptSid);
qw.eq("ss.isDelete",0);
return baseMapper.getStaffNameByDeptSid(qw);
}
}

2
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.java

@ -42,7 +42,7 @@ public interface SysStaffOrgMapper extends BaseMapper<SysStaffOrg> {
@Delete("delete from sys_staff_org where orgSid=#{orgSid} ")
void delByOrgSid(@Param("orgSid") String sid);
@Select("select staffOrg.manageType as manageType,staffOrg.orgSid as orgSid,staffinfo.name as staffName " +
@Select("select staffOrg.manageType as manageType,staffOrg.orgSid as orgSid,staffinfo.name as staffName,staffinfo.sid as staffSid " +
"from sys_staff_org staffOrg left join sys_staffinfo staffinfo on staffinfo.sid=staffOrg.staffSid " +
"where staffOrg.orgSid=#{orgSid} ")
List<SysStaffOrgVo> fetchByOrgSid(@Param("orgSid") String orgSid);

9
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgMapper.xml

@ -43,8 +43,15 @@
and sso.orgSid = #{orgSid}
</select>
<!-- <select id="selectBySidPathByStaffSid" resultType="java.lang.String">
select orgSidPath
from anrui_portal.sys_staff_org
where staffSid = #{applySid}
order by id desc
limit 1
</select>-->
<select id="selectBySidPathByStaffSid" resultType="java.lang.String">
select orgSidPath
select orgSid
from anrui_portal.sys_staff_org
where staffSid = #{applySid}
order by id desc

7
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgRest.java

@ -116,6 +116,13 @@ public class SysStaffOrgRest implements SysStaffOrgFeign {
return sysStaffOrgService.selectSidPathByStaffSid(applySid);
}
@Override
public ResultBean<String> getOrgSidBySid(String orgSid) {
ResultBean<String> rb = ResultBean.fireFail();
String orgPathSid = sysStaffOrgService.getOrgByOrgSid(orgSid);
return rb.success().setData(orgPathSid);
}
@Override
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
return sysStaffOrgService.selectAllByStaffSid(staffSid);

26
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysstafforg/SysStaffOrgService.java

@ -17,7 +17,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.List;
/**
@ -165,7 +164,7 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return baseMapper.getSysStaffOrgSidListByStaffSid(staffSid);
}
public ResultBean<String> selectSidPathByStaffSid(String applySid) {
/*public ResultBean<String> selectSidPathByStaffSid(String applySid) {
ResultBean<String> rb = ResultBean.fireFail();
String orgSidPath = baseMapper.selectBySidPathByStaffSid(applySid);
//根据部门路径循环遍历查询分公司的sid
@ -179,6 +178,11 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
sid = list.get(i);
break;
}
} else {
if ("0".equals(sysOrganization.getPsid())) {
sid = list.get(i);
break;
}
}
}
}
@ -186,6 +190,12 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
return rb;
}
return rb.success().setData(sid);
}*/
public ResultBean<String> selectSidPathByStaffSid(String applySid) {
ResultBean<String> rb = ResultBean.fireFail();
String orgSid = baseMapper.selectBySidPathByStaffSid(applySid);
String orgPathSid = getOrgByOrgSid(orgSid);
return rb.success().setData(orgPathSid);
}
public ResultBean<SysStaffOrg> selectAllByStaffSid(String staffSid) {
@ -213,4 +223,16 @@ public class SysStaffOrgService extends MybatisBaseService<SysStaffOrgMapper, Sy
ResultBean<String> resultBean = selectSidPathByStaffSid(sysUserInfoVo.getStaffSid());
return resultBean;
}
public String getOrgByOrgSid(String orgSid) {
SysOrganization sysOrganization = sysOrganizationService.fetchBySid(orgSid);
if ("0".equals(sysOrganization.getPsid()) || sysOrganization == null) {
return "0";
}
if (sysOrganization.getIsDept() == 0) {
return sysOrganization.getSid();
}
return getOrgByOrgSid(sysOrganization.getPsid());
}
}

16
anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java

@ -1,9 +1,9 @@
package com.yxt.anrui.portal.biz.sysuser;
import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.portal.api.sysorganization.SysOrganization;
import com.yxt.anrui.portal.api.syspost.SysPost;
import com.yxt.anrui.portal.api.sysrole.SysRole;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfo;
import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
@ -30,9 +30,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* Project: anrui_portal(门户建设) <br/>
@ -237,7 +235,7 @@ public class SysUserRest implements SysUserFeign {
* @return
*/
@Override
public ResultBean updatePassword(String original, String password, String confirmPassword, String userSid,HttpServletRequest httpServletRequest) {
public ResultBean updatePassword(String original, String password, String confirmPassword, String userSid, HttpServletRequest httpServletRequest) {
String token = httpServletRequest.getHeader("token");
// 根据redisToken查询用户信息
SysUser user = sysUserService.fetchBySid(userSid);
@ -301,7 +299,7 @@ public class SysUserRest implements SysUserFeign {
@Override
public ResultBean reGetPwd(String userName, String userPhone) {
return sysUserService.reGetPwd(userName,userPhone);
return sysUserService.reGetPwd(userName, userPhone);
}
@Override
@ -321,9 +319,9 @@ public class SysUserRest implements SysUserFeign {
String verifyCode = userQuery.getVerifyCode();
String uuid = userQuery.getUuid();
String captcha = redisUtil.get(uuid);
/* List<Map> list = JSONObject.parseArray(captcha, Map.class);
List<Map> list = JSONObject.parseArray(captcha, Map.class);
/* if (StringUtils.isEmpty(verifyCode)) {
if (StringUtils.isEmpty(verifyCode)) {
return new ResultBean<SysUserVo>().fail().setMsg("验证码不能为空");
}
@ -388,7 +386,7 @@ public class SysUserRest implements SysUserFeign {
isCorrect = true;
} else {
return new ResultBean<SysUserVo>().fail().setMsg("验证码错误");
}*/
}
if (StringUtils.isBlank(userName)) {
return new ResultBean<SysUserVo>().fail().setMsg("用户名不能为空");

126
anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmwarehouse/ScmWarehouseQuery.java

@ -30,6 +30,7 @@ import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-scm(进销存) <br/>
@ -45,12 +46,9 @@ import io.swagger.annotations.ApiModelProperty;
* @since 1.0
*/
@ApiModel(value = "仓库 查询条件", description = "仓库 查询条件")
@Data
public class ScmWarehouseQuery implements Query {
@ApiModelProperty("使用组织")
private String useOrg; // 使用组织
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ -63,125 +61,9 @@ public class ScmWarehouseQuery implements Query {
@ApiModelProperty("详细地址")
private String warehouseAttribute; // 详细地址
@ApiModelProperty("仓库负责人")
private String warehouseContract; // 仓库负责人
@ApiModelProperty("仓库负责人sid")
private String warehouseContractSid; // 仓库负责人sid
@ApiModelProperty("负责人及电话")
private String warehouseContract; // 负责人及电话
@ApiModelProperty("分组")
private String warehouseGroup; // 分组
/**
* @return 使用组织
*/
public String getUseOrg(){
return useOrg;
}
/**
* @param useOrg 使用组织 to set
*/
public void setUseOrg(String useOrg){
this.useOrg = useOrg;
}
/**
* @return 使用组织sid
*/
public String getUseOrgSid(){
return useOrgSid;
}
/**
* @param useOrgSid 使用组织sid to set
*/
public void setUseOrgSid(String useOrgSid){
this.useOrgSid = useOrgSid;
}
/**
* @return 编码
*/
public String getWarehouseCode(){
return warehouseCode;
}
/**
* @param warehouseCode 编码 to set
*/
public void setWarehouseCode(String warehouseCode){
this.warehouseCode = warehouseCode;
}
/**
* @return 名称
*/
public String getWarehouseName(){
return warehouseName;
}
/**
* @param warehouseName 名称 to set
*/
public void setWarehouseName(String warehouseName){
this.warehouseName = warehouseName;
}
/**
* @return 仓库属性
*/
public String getWarehouseAttribute(){
return warehouseAttribute;
}
/**
* @param warehouseAttribute 仓库属性 to set
*/
public void setWarehouseAttribute(String warehouseAttribute){
this.warehouseAttribute = warehouseAttribute;
}
/**
* @return 仓库负责人
*/
public String getWarehouseContract(){
return warehouseContract;
}
/**
* @param warehouseContract 仓库负责人 to set
*/
public void setWarehouseContract(String warehouseContract){
this.warehouseContract = warehouseContract;
}
/**
* @return 仓库负责人sid
*/
public String getWarehouseContractSid(){
return warehouseContractSid;
}
/**
* @param warehouseContractSid 仓库负责人sid to set
*/
public void setWarehouseContractSid(String warehouseContractSid){
this.warehouseContractSid = warehouseContractSid;
}
/**
* @return 分组
*/
public String getWarehouseGroup(){
return warehouseGroup;
}
/**
* @param warehouseGroup 分组 to set
*/
public void setWarehouseGroup(String warehouseGroup){
this.warehouseGroup = warehouseGroup;
}
}

11
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmwarehouse/ScmWarehouseService.java

@ -57,11 +57,6 @@ public class ScmWarehouseService extends MybatisBaseService<ScmWarehouseMapper,
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<ScmWarehouse> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getUseOrg())) {
qw.eq("useOrg", query.getUseOrg());
}
if (StringUtils.isNotBlank(query.getUseOrgSid())) {
qw.eq("useOrgSid", query.getUseOrgSid());
}
@ -79,11 +74,7 @@ public class ScmWarehouseService extends MybatisBaseService<ScmWarehouseMapper,
}
if (StringUtils.isNotBlank(query.getWarehouseContract())) {
qw.eq("warehouseContract", query.getWarehouseContract());
}
if (StringUtils.isNotBlank(query.getWarehouseContractSid())) {
qw.eq("warehouseContractSid", query.getWarehouseContractSid());
qw.like("warehouseContract", query.getWarehouseContract());
}
if (StringUtils.isNotBlank(query.getWarehouseGroup())) {

2
anrui-scm/anrui-scm-ui/src/components/uploadFile/upload_chexing.vue

@ -3,7 +3,7 @@
<el-upload class="upload-demo" :headers="accessToken" :action="uploadFile" :accept="accept" :data="uploadData"
:on-success="uploadImgSuccess_FuJian" :on-remove="handleRemove" :file-list="fileList_FuJian"
:on-preview="handlePictureCardPreview" :show-file-list="false">
<el-button size="small" type="primary">点击上传</el-button>
<el-button size="mini" type="primary">点击上传</el-button>
</el-upload>
</div>
</template>

55
anrui-scm/anrui-scm-ui/src/router/modules/codemenu.js

@ -268,7 +268,6 @@ const codemenu = [
meta: { title: '采购退库' }
}]
},
{
path: '/vehicle',
component: Layout,
@ -286,19 +285,36 @@ const codemenu = [
]
},
{
path: '/baseoutsourcingapplication',
component: Layout,
// redirect: '/baseoutsourcingapplication/index',
meta: {
title: '车辆外采'
},
children: [
{
path: '/supplychain',
component: Layout,
redirect: '/supplychain/changjiaxitong',
meta: {
title: '车辆采购'
},
children: [
{
path: '/supplychain/changjiaxitong',
component: () => import('@/views/supplychain/changjiaxitong/manufacturers.vue'),
name: 'changjiaxitongrenkuan',
meta: { title: '厂家系统认款' }
}
]
},
{
path: '/baseoutsourcingapplication',
component: Layout,
// redirect: '/baseoutsourcingapplication/index',
meta: {
title: '车辆外采'
},
children: [
{
path: '/baseoutsourcingapplication/index',
component: () => import('@/views/baseoutsourcingapplication/baseoutsourcingapplication.vue'),
name: 'baseoutsourcingapplication',
meta: {title: '车辆外采'}
}]
name: 'baseoutsourcingapplication',
meta: { title: '车辆外采' }
}
]
},
{
path: '/examine',
@ -316,7 +332,20 @@ const codemenu = [
}
]
},
{
path: '/kucunguanli',
component: Layout,
redirect: '/kucunguanli/tiaojiaguanli',
meta: {
title: '库存管理'
},
children: [{
path: '/kucunguanli/tiaojiaguanli',
component: () => import('@/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceguanli.vue'),
name: 'priceguanli',
meta: { title: '调价申请管理' }
}]
},
// 入账管理
{
path: '/ruzhang',

346
anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceAdd.vue

@ -0,0 +1,346 @@
<template>
<div class="app-container">
<div v-show="viewState== 1">
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>{{ viewTitle }}</div>
<!--start 添加修改按钮-->
<div>
<el-button type="primary" size="small" :disabled="submitdisabled" @click="dialogStatus === 'add' ? saveAdd() : saveEdit()">保存
</el-button>
<el-button type="primary" size="small" @click="submitVehicleApply()">提交
</el-button>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="wlInfo"><span>车辆调价申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top">
<el-row>
<el-col :span="4">
<span>调价申请日期:</span>
</el-col>
<el-col :span="8">
<span style="margin-left: 5px">{{ formobj.applicationDate }}</span>
</el-col>
<el-col :span="4">
<span>申请人:</span>
</el-col>
<el-col :span="8">
<span style="margin-left: 5px">{{ formobj.createByName }}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="el-form-item-right">
<span>调价原因:</span>
</el-col>
<el-col :span="20">
<el-form-item>
<el-input v-model="formobj.remarks" clearable style="width: 30%"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="tableStyle">
<div style="margin-left: 5px;font-weight: bold">车辆列表</div>
<div style="margin-left: 15px">
<el-button type="primary" size="mini" icon="el-icon-plus" @click="addCommodity()">选择车型</el-button>
</div>
</div>
<el-table :key="tableKey" :data="formobj.busVehicleApplyDetailDtoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column fixed prop="name" label="操作" width="100px" align="center" header-align="center">
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="dataDelete(scope.$index, formobj.busVehicleApplyDetailDtoList[scope.$index])">删除
</el-button>
</template>
</el-table-column>
<el-table-column label="车型" align="left" header-align="center" width="250">
<template slot-scope="scope" prop="vehicleName">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
<el-table-column label="常用配置" align="left" header-align="center">
<template slot-scope="scope" prop="configName">
<span>{{ scope.row.configName }}</span>
</template>
</el-table-column>
<el-table-column prop="applyForDeposit" label="成本价" header-align="center" width="150">
<template slot-scope="scope" prop="applyForDeposit">
<el-input v-model="scope.row.applyForDeposit" placeholder="" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="现销售指导价(万元)" header-align="center" width="150">
<template slot-scope="scope" prop="saleGuPrice">
<el-input v-model="scope.row.saleGuPrice" placeholder="" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="价格增减数额" header-align="center" width="200">
<template slot-scope="scope" prop="insideCode">
<el-input v-model="scope.row.insideCode" placeholder="" @keyup.native="UpNumber" @keydown.native="UpNumber" class="addinputw" clearable/>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" width="200">
<template slot-scope="scope" prop="remarks">
<el-input v-model="scope.row.remarks" placeholder="" class="addinputw" clearable/>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!--End 添加修改部分-->
<!--选择车型和常用配置-->
<configuration v-show="viewState == 2" ref="divconfiguration" @backData="backData" @doback="closePage"/>
</div>
</template>
<script>
import req from '@/api/supplychain/busvehicleapply'
import configuration from '@/views/supplychain/cheliangpaichan/chexingbyconfiguration'
export default {
name: 'priceAdd',
components: {
configuration
},
data() {
return {
viewTitle: '',
dialogStatus: '',
viewState: 1,
index: 0,
tableKey: 0,
list1: [],
//
formobj: {
sid: '', // sid
createBySid: window.sessionStorage.getItem('userSid'), // sid
createByName: window.sessionStorage.getItem('name'), //
applicationCode: '', //
applicationDate: '', //
schedulingType: '', //
remarks: '', //
currentAmount: '', //
busVehicleApplyDetailDtoList: []
},
rules: {},
submitdisabled: false
}
},
methods: {
//
newDate() {
let date = new Date()
let year = date.getFullYear() //
let month = date.getMonth() + 1 //
let day = date.getDate() //
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.formobj.applicationDate = year + '-' + month + '-' + day
},
UpNumber(e) {
e.target.value = e.target.value.replace(/[^\d.-]/g, '') // ."-"
e.target.value = e.target.value.replace(/^00/, '0.') // 0
e.target.value = e.target.value.replace(/\.{2,}/g, '.') // .
e.target.value = e.target.value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/\-{2,}/g, '-') // -
e.target.value = e.target.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') //
if (e.target.value.indexOf('.') < 0 && e.target.value !== '' && e.target.value !== '-') {
// 0102
e.target.value = parseFloat(e.target.value)
}
},
//
addCommodity() {
this.viewState = 2
this.$refs['divconfiguration'].showData(this.list1)
},
//
dataDelete(index, row) {
this.formobj.busVehicleApplyDetailDtoList.splice(index, 1)
this.list1.splice(index, 1)
},
showAdd() {
this.newDate()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.dialogStatus = 'add'
this.viewTitle = '【新增】车辆调价申请'
},
showEdit(sid, row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.dialogStatus = 'edit'
this.viewTitle = '【编辑】车辆调价申请'
console.log('编辑回显', sid)
req.fetchBySid(sid).then((resp) => {
const data = resp.data
this.formobj.applicationCode = data.applicationCode
this.formobj.applicationDate = data.applicationDate
this.formobj.schedulingType = data.schedulingType
this.formobj.remarks = data.remarks
this.formobj.currentAmount = data.currentAmount
this.formobj.sid = sid
this.formobj.busVehicleApplyDetailDtoList = data.busVehicleApplyDetailVoList
this.list1 = data.busVehicleApplyDetailVoList
}).catch((e) => {
this.formobj = row
})
},
// --
backData(value) {
this.viewState = 1
if (this.formobj.busVehicleApplyDetailDtoList.length > 0) {
for (var i = 0; i < value.length; i++) {
for (var u = 0; u < this.formobj.busVehicleApplyDetailDtoList.length; u++) {
if (value[i].modelName === this.formobj.busVehicleApplyDetailDtoList[u].vehicleName && value[i].configName === this.formobj.busVehicleApplyDetailDtoList[u].configName) {
value.splice(value[i], 1)
}
}
}
}
if (value.length > 0) {
value.forEach((e) => {
this.formobj.busVehicleApplyDetailDtoList.push({
quantity: '',
applySid: '',
configSid: e.configurationItemsSid,
configName: e.configName,
// useDeposit: '',
applyForDeposit: '',
remarks: '',
saleGuPrice: '',
insideCode: e.insideCode, //
vehicleName: e.modelName,
vehicleSid: e.modelSid
})
})
this.list1 = this.formobj.busVehicleApplyDetailDtoList
}
},
saveAdd() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveAdd(this.formobj).then((resp) => {
this.submitdisabled = false
if (resp.success) {
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
saveEdit() {
this.$refs['form_obj'].validate((valid) => {
if (valid) {
this.submitdisabled = true
req.saveEdit(this.formobj).then((resp) => {
this.submitdisabled = false
this.$message({
showClose: true,
type: 'success',
message: resp.msg
})
this.handleReturn('true')
}).catch(() => {
this.submitdisabled = false
})
} else {
return false
}
})
},
submitVehicleApply() {
req.submitVehicleApply(this.formobj).then((res) => {
if (res.success) {
this.$message({
showClose: true,
type: 'success',
message: '提交成功'
})
this.handleReturn('true')
} else {
this.$message({
showClose: true,
type: 'error',
message: '提交失败'
})
}
})
},
// ===
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.formobj.schedulingType = '' //
this.formobj.remarks = '' //
this.formobj.currentAmount = ''
this.formobj.applicationCode = ''
this.formobj.applicationDate = ''
this.formobj.busVehicleApplyDetailDtoList = []
this.list1 = []
this.$refs['form_obj'].resetFields()
this.$refs['divconfiguration'].getList()
this.$emit('doback')
},
closePage() {
this.viewState = 1
}
}
}
</script>
<style scoped>
.wlInfo {
text-align: center;
font-size: 28px;
line-height: 90px;
}
.tableStyle {
background-color: #FFFFFF;
display: flex;
justify-content: flex-start;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
/deep/ .el-col-8 {
text-align: left;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
.icon {
color: #e84026;
margin-right: 4px;
}
</style>

160
anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceInfo.vue

@ -0,0 +1,160 @@
<template>
<div class="app-container">
<div>
<!--标题按钮部分开始-->
<div class="tab-header webtop">
<!--标题-->
<div>车辆调价详情</div>
<!--start 添加修改按钮-->
<div>
<el-button type="info" size="small" @click="handleReturn()">关闭</el-button>
</div>
</div>
<!--标题按钮部分结束-->
<!--Start 新增修改部分-->
<div class="listconadd">
<div class="wlInfo"><span>车辆调价申请</span></div>
<el-form ref="form_obj" :model="formobj" :rules="rules" label-position="top">
<el-row>
<el-col :span="4">
<span>调价申请日期:</span>
</el-col>
<el-col :span="8">
<span style="margin-left: 5px">{{ formobj.applicationDate }}</span>
</el-col>
<el-col :span="4">
<span>申请人:</span>
</el-col>
<el-col :span="8">
<span style="margin-left: 5px">{{ formobj.createByName }}</span>
</el-col>
</el-row>
<el-row>
<el-col :span="4" class="el-form-item-right">
<span>调价原因:</span>
</el-col>
<el-col :span="20">
<el-form-item>
<span style="margin-left: 5px">{{ formobj.remarks }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="tableStyle">
<div style="margin-left: 5px;font-weight: bold">车辆列表</div>
</div>
<el-table :key="tableKey" :data="formobj.busVehicleApplyDetailDtoList" :index="index" border style="width: 100%">
<el-table-column fixed width="80px" label="序号" type="index" :index="index + 1" align="center"/>
<el-table-column label="车型" align="left" header-align="center" width="250">
<template slot-scope="scope" prop="vehicleName">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
<el-table-column label="常用配置" align="left" header-align="center">
<template slot-scope="scope" prop="configName">
<span>{{ scope.row.configName }}</span>
</template>
</el-table-column>
<el-table-column prop="applyForDeposit" label="成本价" header-align="center" width="150">
<template slot-scope="scope" prop="applyForDeposit">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
<el-table-column label="现销售指导价(万元)" header-align="center" width="150">
<template slot-scope="scope" prop="saleGuPrice">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
<el-table-column label="价格增减数额" header-align="center" width="200">
<template slot-scope="scope" prop="insideCode">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
<el-table-column label="备注" header-align="center" width="200">
<template slot-scope="scope" prop="remarks">
<span>{{ scope.row.vehicleName }}</span>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!--End 添加修改部分-->
</div>
</template>
<script>
import req from '@/api/supplychain/busvehicleapply'
export default {
name: 'priceInfo',
data() {
return {
dialogStatus: '',
index: 0,
tableKey: 0,
//
formobj: {
sid: '', // sid
createBySid: window.sessionStorage.getItem('userSid'), // sid
createByName: window.sessionStorage.getItem('name'), //
applicationCode: '', //
applicationDate: '', //
schedulingType: '', //
remarks: '', //
currentAmount: '', //
busVehicleApplyDetailDtoList: []
},
rules: {}
}
},
methods: {
showInfo(row) {
},
// ===
handleReturn() {
this.formobj.schedulingType = '' //
this.formobj.remarks = '' //
this.formobj.currentAmount = ''
this.formobj.applicationCode = ''
this.formobj.applicationDate = ''
this.formobj.busVehicleApplyDetailDtoList = []
this.$refs['form_obj'].resetFields()
this.$emit('doback')
}
}
}
</script>
<style scoped>
.wlInfo {
text-align: center;
font-size: 28px;
line-height: 90px;
}
.tableStyle {
background-color: #FFFFFF;
display: flex;
justify-content: flex-start;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
/deep/ .el-col-4 {
text-align: right;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
/deep/ .el-col-8 {
text-align: left;
float: left;
font-size: 14px;
color: #606266;
line-height: 40px !important;
font-weight: 600;
}
</style>

345
anrui-scm/anrui-scm-ui/src/views/kucunguanli/tiaojiaguanli/tiaojiashenqingguanli/priceguanli.vue

@ -0,0 +1,345 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div v-show="viewState == 1">
<button-bar view-title="调价申请管理" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="申请日期">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
<el-form-item label="车型">
<el-input v-model="listQuery.params.mNum" placeholder="请输入车型" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">调价申请列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;" @selection-change="handleSelectionChange">
<el-table-column width="50px" type="selection" align="center"/>
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="150px" align="center">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="toEdit(scope.row)">办理</el-button>
<el-button type="primary" size="mini" @click="toInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="140px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleVersion }}</span>
</template>
</el-table-column>
<el-table-column label="申请日期" align="center" width="150px">
<template slot-scope="scope">
<span>{{ scope.row.engineTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="申请人" align="center" width="150px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="车型" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="调价原因" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<priceAdd v-show="viewState == 2 || viewState == 3" ref="divAdd" @doback="resetState" @reloadlist="getList"/>
<priceInfo v-show="viewState == 4" ref="divInfo" @doback="resetState"/>
</div>
</template>
<script>
import { pagerList } from '@/api/cheliang/basevehiclemodel'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import priceAdd from './priceAdd.vue'
import priceInfo from './priceInfo.vue'
import req from '@/api/anruiscm/scmmaterial'
export default {
name: 'priceguanli',
components: {
Pagination,
pageye,
ButtonBar,
priceAdd,
priceInfo
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'primary',
size: 'small',
icon: 'plus',
btnKey: 'toAdd',
btnLabel: '新增'
},
{
type: 'danger',
size: 'small',
icon: 'del',
btnKey: 'doDel',
btnLabel: '删除'
},
{
type: 'primary',
size: 'small',
icon: 'submit',
btnKey: 'doSubmit',
btnLabel: '提交'
},
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
viewState: 1,
// -----------
tableKey: 0,
list: [],
sids: [],
FormLoading: false,
listLoading: false,
listQuery: {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
},
current: 1,
size: 10,
total: 0
},
rules: {}
}
},
created() {
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
handleSelectionChange(row) {
const aa = []
row.forEach((element) => {
aa.push(element.sid)
})
this.sids = aa
console.log('sids', this.sids)
},
//
getList() {
this.listLoading = true
pagerList(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.success &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
},
current: 1,
size: 10,
total: 0
}
this.getList()
},
toAdd() {
this.viewState = 2
this.$refs['divAdd'].showAdd()
},
toEdit(row) {
this.viewState = 3
this.$refs['divAdd'].showEdit(row)
},
toInfo(row) {
this.viewState = 4
this.$refs['divInfo'].showInfo(row)
},
doDel() {
if (this.sids.length === 0) {
this.$message({ showClose: true, type: 'error', message: '请选择至少一条记录进行删除操作' })
return
}
const tip = '请确认是否删除所选 ' + this.sids.length + ' 条记录?'
this.$confirm(tip, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const loading = this.$loading({
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
})
req.delBySids(this.sids).then(resp => {
loading.close()
this.$message({ type: 'success', message: resp.msg, showClose: true })
this.loadList()
}).catch(e => {
loading.close()
})
}).catch(() => {
})
},
resetState() {
this.viewState = 1
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

327
anrui-scm/anrui-scm-ui/src/views/supplychain/changjiaxitong/manufacturers.vue

@ -0,0 +1,327 @@
<template>
<div class="app-container">
<!-- Start 列表页面 -->
<div>
<button-bar view-title="厂家系统认款" ref="btnbar" :btndisabled="btndisabled" @btnhandle="btnHandle"/>
<div class="main-content">
<div class="searchcon">
<el-button size="small" class="searchbtn" @click="clicksearchShow">{{ searchxianshitit }}</el-button>
<div v-show="isSearchShow" class="search">
<el-form ref="listQueryform" :inline="true" :model="listQuery" label-width="100px" class="tab-header">
<el-form-item label="状态">
<el-select v-model="listQuery.params.vehicleType" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in vehicleFunction_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="打款状态">
<el-select v-model="listQuery.params.productLine" placeholder="请选择" clearable class="addinputw">
<el-option v-for="item in productLine_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"/>
</el-select>
</el-form-item>
<el-form-item label="入库时间">
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingStartTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
<div style="float: left;margin: 0px 10px"></div>
<div class="block" style="float: left;">
<el-date-picker v-model="listQuery.params.warehousingEndTime" type="date" clearable value-format="yyyy-MM-dd" placeholder="选择日期"/>
</div>
</el-form-item>
<el-form-item label="排产申请编号">
<el-input v-model="listQuery.params.mNum" placeholder="请输入排产申请编号" clearable/>
</el-form-item>
</el-form>
<div class="btn" style="text-align: center;">
<el-button type="primary" @click="handleFilter" size="small">查询</el-button>
<el-button type="primary" @click="handleReset" size="small">重置</el-button>
</div>
</div>
</div>
<div class="listtop">
<div class="tit">列表</div>
<pageye v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
<div class="">
<el-table :key="tableKey" v-loading="listLoading" :data="list" border style="width: 100%;">
<el-table-column width="80px" label="序号" type="index" :index="indexMethod" align="center"/>
<el-table-column label="操作" width="100px" align="center">
<template slot-scope="scope">
<el-button type="success" size="mini">通过</el-button>
</template>
</el-table-column>
<el-table-column label="状态" width="140px" align="center">
<template slot-scope="scope">
<span>{{ scope.row.vehicleVersion }}</span>
</template>
</el-table-column>
<el-table-column label="排产申请编号" align="center">
<template slot-scope="scope">
<span>{{ scope.row.engineTypeValue }}</span>
</template>
</el-table-column>
<el-table-column label="打款状态" align="center" width="150px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="认款日期" align="center" width="180px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="认款人" align="center" width="130px">
<template slot-scope="scope">
<span>{{ scope.row.vehicleTypeCode }}</span>
</template>
</el-table-column>
<el-table-column label="见证材料" align="center" width="180px" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="handleGetCheck(scope.row)">查看</el-button>
<div class="upload_img">
<upload ref="uploadMoreImg" v-model="imgList" :limit="1" bucket="map" @eett="getList" :upload-data="{type:'0001',modelSid: scope.row.sid}"></upload>
</div>
</template>
</el-table-column>
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" clearable></el-input>
</template>
</el-table-column>
</el-table>
</div>
<div class="pages">
<!-- 翻页 -->
<pagination v-show="list.length > 0" :total="listQuery.total" :page.sync="listQuery.current" :limit.sync="listQuery.size" class="pagination" @pagination="getList"/>
</div>
</div>
</div>
<!-- End 列表页面 -->
<!-- 照片弹窗 -->
<el-dialog title="查看" :visible.sync="dialogImgVisible">
<el-image v-for="item in srcList" style="width: 100px; height: 100px" :src="item" :preview-src-list="srcList"></el-image>
</el-dialog>
</div>
</template>
<script>
import { pagerList, pullDown } from '@/api/cheliang/basevehiclemodel'
import Pagination from '@/components/pagination'
import pageye from '@/components/pagination/pageye'
import ButtonBar from '@/components/ButtonBar'
import upload from '@/components/uploadFile/upload_chexing'
export default {
name: 'changjiaxitongrenkuan',
components: {
Pagination,
pageye,
upload,
ButtonBar
},
data() {
return {
btndisabled: false,
btnList: [
{
type: 'info',
size: 'small',
icon: 'cross',
btnKey: 'doClose',
btnLabel: '关闭'
}
],
isSearchShow: false,
searchxianshitit: '显示查询条件',
dialogImgVisible: false,
// -----------
tableKey: 0,
list: [],
srcList: [],
vehicleFunction_list: [], //
productLine_list: [], //
FormLoading: false,
listLoading: false,
listQuery: {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
},
current: 1,
size: 10,
total: 0
},
imgList: [],
rules: {}
}
},
created() {
//
this.init()
//
this.getList()
},
mounted() {
this.$refs['btnbar'].setButtonList(this.btnList)
},
methods: {
//
clicksearchShow() {
this.isSearchShow = !this.isSearchShow
if (this.isSearchShow) {
this.searchxianshitit = '隐藏查询条件'
} else {
this.searchxianshitit = '显示查询条件'
}
},
btnHandle(btnKey) {
console.log('XXXXXXXXXXXXXXX ' + btnKey)
switch (btnKey) {
case 'toAdd':
this.toAdd()
break
case 'toEdit':
this.toEdit()
break
case 'doDel':
this.doDel()
break
case 'doImport':
this.doImport()
break
case 'doExport':
this.doExport()
break
case 'doClose':
this.doClose()
break
default:
break
}
},
init() {
// -
pullDown({
type: 'vehicleFunction'
}).then((res) => {
if (res.code === '200') {
this.vehicleFunction_list = res.data
console.log('下拉框请求功能', res.data)
}
})
// -
pullDown({
type: 'driver'
}).then((res) => {
if (res.code === '200') {
this.driveForm_list = res.data
console.log('下拉框请求驱动', res.data)
}
})
},
//
indexMethod(index) {
var pagestart = (this.listQuery.current - 1) * this.listQuery.size
var pageindex = index + 1 + pagestart
return pageindex
},
//
getList() {
this.listLoading = true
pagerList(this.listQuery).then((response) => {
console.log('列表查询结果:', response)
this.listLoading = false
if (
response.code === '200' &&
response.data &&
response.data.total > 0
) {
this.list = response.data.records
this.listQuery.total = response.data.total
} else {
this.list = []
this.listQuery.total = 0
}
})
},
//
handleFilter() {
this.listQuery.current = 1
this.getList()
},
handleReset() {
this.listQuery = {
params: {
carBrand: '',
vehicleType: '',
productLine: '',
driveForm: '',
power: '',
vehicleVersion: '',
fuelType: '',
vehicleTypeCode: '',
gearboxType: '',
emissionStandard: '',
engineType: '',
marketSegments: '',
specifications: ''
},
current: 1,
size: 10,
total: 0
}
this.getList()
},
handleGetCheck(row) {
this.dialogImgVisible = true
},
doClose() {
this.$store.dispatch('tagsView/delView', this.$route)
this.$router.go(-1)
}
}
}
</script>
<style scoped>
.upload_img {
display: inline-block;
padding-left: 10px;
}
.btn {
padding: 15px 0 15px 0;
border: 1px solid #e0e3eb;
}
.tab-header {
background-color: #edf1f7;
padding: 8px 20px;
margin-bottom: 0 !important;
}
.tab-header /deep/ .el-form-item {
margin-bottom: 10px;
}
.listtop {
display: flex;
justify-content: space-between;
align-items: center;
border: 1px solid #dfe4ed;
height: 40px;
}
.tit {
margin-bottom: -10px;
}
.pagination {
margin-bottom: -10px;
}
</style>

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java

@ -29,7 +29,10 @@ import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeignFallback;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
@ -180,5 +183,15 @@ public interface AppBusSalesOrderFeign {
@ResponseBody
ResultBean<DepositInfoVo> getDeposit(@PathVariable(value = "saleOrderSid") String sid);
@ApiOperation("保存订金信息")
@PutMapping("/save/depositInfo")
@ResponseBody
ResultBean saveDeposit(@RequestBody DepositInfoDto dto);
@ApiOperation("获取虚拟订金分页列表")
@PostMapping("/init/virtuaDepositList")
@ResponseBody
ResultBean<PagerVo<DepositListVo>> getDepositList(@RequestBody PagerQuery<DepositInfoQuery> pagerQuery);
}

13
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeignFallback.java

@ -28,7 +28,10 @@ package com.yxt.anrui.terminal.api.autoservice.saleOrders;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
@ -153,4 +156,14 @@ public class AppBusSalesOrderFeignFallback implements AppBusSalesOrderFeign {
public ResultBean<DepositInfoVo> getDeposit(String sid) {
return null;
}
@Override
public ResultBean saveDeposit(DepositInfoDto dto) {
return null;
}
@Override
public ResultBean<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
return null;
}
}

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoDto.java

@ -0,0 +1,39 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 14:48
* @Description
*/
@Data
public class DepositInfoDto implements Dto {
private static final long serialVersionUID = -4949780703969217862L;
@ApiModelProperty(value = "销售订单sid")
@JsonProperty(value = "saleOrderSid")
private String salesOrderSid;
@ApiModelProperty(value = "订金合计")
@JsonProperty(value = "depositTotal")
private String depositAll;
@ApiModelProperty(value = "单台订金")
private String deposit;
@ApiModelProperty(value = "缴纳方式")
@JsonProperty(value = "payType")
private String depositType;
@ApiModelProperty(value = "缴纳方式key")
@JsonProperty(value = "payTypeKey")
private String depositTypeKey;
@ApiModelProperty(value = "需补交订金")
@JsonProperty(value = "compensatePay")
private String makeUpDeposit;
private List<DepositInfoListDto> virtualOrderList;
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoListDto.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:03
* @Description
*/
@Data
public class DepositInfoListDto implements Dto {
private static final long serialVersionUID = 3590473728282480566L;
@ApiModelProperty(value = "虚拟订单sid")
@JsonProperty(value = "virtualOrderSid")
private String depositBillSid;
@ApiModelProperty(value = "虚拟订单编号")
@JsonProperty(value = "virtualOrderId")
private String depositBillNo;
@ApiModelProperty(value = "可用金额")
@JsonProperty(value = "remainderMoney")
private String depositPrice;
@ApiModelProperty(value = "结转金额")
@JsonProperty(value = "payMoney")
private String price;
@ApiModelProperty(value = "委托书")
private List<String> entrustImage;
}

24
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoQuery.java

@ -0,0 +1,24 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:35
* @Description
*/
@Data
public class DepositInfoQuery implements Query {
private static final long serialVersionUID = 6278884037189945682L;
@ApiModelProperty(value = "单据编号/付款人")
private String name;
@ApiModelProperty(value = "用户sid")
private String userSid;
@ApiModelProperty(value = "已选择的虚拟订单")
private List<String> sidList;
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositInfoVo.java

@ -26,5 +26,7 @@ public class DepositInfoVo implements Vo {
@ApiModelProperty(value = "订金缴纳方式key")
private String payTypeKey;
private String deposit;
private List<DepositInfoListVo> virtualOrderList = new ArrayList<>();
}

36
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/depositinfo/DepositListVo.java

@ -0,0 +1,36 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/7 15:39
* @Description
*/
@Data
public class DepositListVo implements Vo {
private static final long serialVersionUID = -7003966807418378201L;
@ApiModelProperty(value = "虚拟订单sid")
private String virtualSid;
@ApiModelProperty(value = "虚拟订单编号")
private String virtualId;
@ApiModelProperty(value = "付款人")
private String payName;
@ApiModelProperty(value = "联系电话")
private String mobile;
@ApiModelProperty(value = "销售专员")
private String sellerName;
@ApiModelProperty(value = "创建日期")
private String date;
@ApiModelProperty(value = "订金")
private String deposit;
@ApiModelProperty(value = "已用订金")
private String usePeposit;
@ApiModelProperty(value = "剩余金额")
private String remainderMoney;
}

13
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java

@ -29,7 +29,10 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.AppBusSalesOrderFeign;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.insurance.InsuranceInfoDto;
@ -235,4 +238,14 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign {
return appBusSalesOrderService.getDeposit(sid);
}
@Override
public ResultBean saveDeposit(DepositInfoDto dto) {
return appBusSalesOrderService.saveDeposit(dto);
}
@Override
public ResultBean<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
return appBusSalesOrderService.getDepositList(pagerQuery);
}
}

21
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

@ -29,7 +29,10 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.*;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.BusSalesOrderDepositFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositDto;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppBusSalesOrderDepositVo;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListQuery;
import com.yxt.anrui.buscenter.api.bussalesorderdeposit.app.AppDepositListVo;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscountFeign;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountDto;
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.app.AppBusSalesOrderDiscountListVo;
@ -47,7 +50,10 @@ import com.yxt.anrui.buscenter.api.bussalesorderprice.app.AppBusSalesOrderPriceV
import com.yxt.anrui.crm.api.crmvehicledemand.AppCrmOrderVehicleDemandQuery;
import com.yxt.anrui.crm.api.crmvehicledemand.AppOrderCrmVehicleDemandVo;
import com.yxt.anrui.crm.api.crmvehicledemand.CrmVehicledemandFeign;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoQuery;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositInfoVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.depositinfo.DepositListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountDto;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountListVo;
import com.yxt.anrui.terminal.api.autoservice.saleOrders.discount.DiscountVo;
@ -309,4 +315,19 @@ public class AppBusSalesOrderService {
BeanUtil.copyProperties(appBusSalesOrderDepositVo, vo);
return rb.success().setData(vo);
}
public ResultBean saveDeposit(DepositInfoDto dto) {
AppBusSalesOrderDepositDto appBusSalesOrderDepositDto = new AppBusSalesOrderDepositDto();
BeanUtil.copyProperties(dto, appBusSalesOrderDepositDto);
ResultBean resultBean = busSalesOrderDepositFeign.save(appBusSalesOrderDepositDto);
return resultBean;
}
public ResultBean<PagerVo<DepositListVo>> getDepositList(PagerQuery<DepositInfoQuery> pagerQuery) {
ResultBean<PagerVo<DepositListVo>> rb = ResultBean.fireFail();
PagerQuery<AppDepositListQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppDepositListVo>> virtualOrders = busSalesOrderDepositFeign.getDepositList(pq);
PagerVo<DepositListVo> vo = CoverUtils.selectPagerVo(virtualOrders.getData());
return rb.success().setData(vo);
}
}
Loading…
Cancel
Save