Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 2 years ago
parent
commit
a9d8bf39cc
  1. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java
  2. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java
  3. 2
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleVo.java
  4. 11
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java
  5. 5
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java
  6. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java
  7. 6
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java
  8. 10
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseaccadjapply/BaseAccadjApplyService.java
  9. 1
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basemanufactorsubscription/BaseManufactorSubscriptionService.java
  10. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  11. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java
  12. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml
  13. 18
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java
  14. 6
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java
  15. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.java
  16. 7
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml
  17. 17
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java
  18. 11
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java
  19. 122
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/commoncontract/CommonContractService.java
  20. 8
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl
  21. 22
      anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black.ftl
  22. 4
      anrui-base/anrui-base-biz/src/main/resources/ftl/invoicApply.ftl
  23. 23
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar.ftl
  24. 21
      anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar_black.ftl
  25. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSaleOrderVehicleOutVo.java
  26. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSaleOrderStateVo.java
  27. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderPriceInfoVo.java
  28. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java
  29. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeup.java
  30. 2
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDetailsVo.java
  31. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderprice/BusSalesOrderPrice.java
  32. 9
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  33. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml
  34. 17
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java
  35. 59
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java
  36. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml
  37. 7
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java
  38. 4
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml
  39. 364
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  40. 11
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  41. 10
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java
  42. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java
  43. 8
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTask.java
  44. 18
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinbound/ScmApplyInboundService.java
  45. 11
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java
  46. 2
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventorymonth/ScmVehInventorymonthMapper.xml
  47. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java
  48. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderStateVo.java

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicle.java

@ -181,4 +181,6 @@ public class BaseVehicle extends BaseEntity {
private String orgCode;
@ApiModelProperty(value = "车辆型号")
private String vehMark;
@ApiModelProperty(value = "公司入库日期")
private String orgPriceDate;
}

2
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/BaseVehicleSelectVo.java

@ -154,4 +154,6 @@ public class BaseVehicleSelectVo implements Vo {
private String supplierCode;
@ApiModelProperty(value = "分公司code")
private String orgCode;
@ApiModelProperty(value = "公司入库日期")
private String orgPriceDate;
}

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

@ -250,4 +250,6 @@ public class BaseVehicleVo implements Vo {
private String trailerOrInstallDealPrice;
@ApiModelProperty("总成交价")
private String totalDealPrice;
@ApiModelProperty(value = "公司入库日期")
private String orgPriceDate;
}

11
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeign.java

@ -25,16 +25,14 @@
*********************************************************/
package com.yxt.anrui.base.api.basevehinstall;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
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.*;
import java.util.List;
/**
* Project: anrui-base(上装配置管理) <br/>
* File: BaseVehinstallFeign.java <br/>
@ -80,4 +78,9 @@ public interface BaseVehinstallFeign {
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<BaseVehinstallDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("获取车辆的上装信息")
@GetMapping("/selectOne")
@ResponseBody
ResultBean<BaseVehinstall> selectOne(@RequestParam("vinNo")String vinNo,@RequestParam("useOrgSid")String useOrgSid);
}

5
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehinstall/BaseVehinstallFeignFallback.java

@ -74,4 +74,9 @@ public class BaseVehinstallFeignFallback implements BaseVehinstallFeign {
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-base/basevehinstall/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) {
return null;
}
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeign.java

@ -27,6 +27,7 @@ package com.yxt.anrui.base.api.busvehicleorder;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailConfigVo;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -133,4 +134,9 @@ public interface BusVehicleOrderFeign {
@ResponseBody
ResultBean<BasePurchSystemVo> getDetailsOrder(@RequestParam("sid")String sid);
@ApiOperation("根据采购订单查询排产的上装信息")
@GetMapping("/selectApplySz")
@ResponseBody
ResultBean<BusVehicleApplySz> selectApplySz(@RequestParam("sid")String sid);
}

6
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/busvehicleorder/BusVehicleOrderFeignFallback.java

@ -27,6 +27,7 @@ package com.yxt.anrui.base.api.busvehicleorder;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailConfigVo;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -128,5 +129,10 @@ public class BusVehicleOrderFeignFallback implements BusVehicleOrderFeign {
return null;
}
@Override
public ResultBean<BusVehicleApplySz> selectApplySz(String sid) {
return null;
}
}

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

@ -520,18 +520,14 @@ public class BaseAccadjApplyService extends MybatisBaseService<BaseAccadjApplyMa
}
}
// 供应商:FSupplierId (必填项)
String vinNo = baseInternalPurchaseVehicles2.get(0).getVinNo();
BaseVehicle baseVehicle = baseVehicleService.selVehicleByVinNoAndOrgSid(vinNo, callInOrgSid);
if (baseVehicle != null) {
String supplierSid = baseVehicle.getSupplierSid();
BaseManufacturer baseManufacturer = baseManufacturerService.fetchBySid(supplierSid);
stkInStock.setFSupplierId(baseManufacturer.getManufacturerCode());
}
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(baseAccadjApply.getCallOutOrgSid()).getData();
stkInStock.setFSupplierId(sysOrganizationVo.getOtherCode());
//stkInStock.setFSupplierId("010001");
// 物料列表:FInStockEntry (必填项)
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>();
for (BaseInternalPurchaseVehicle baseInternalPurchaseVehicle : baseInternalPurchaseVehicles2) {
StkInStock.FInStockEntry sf = new StkInStock.FInStockEntry();
String vinNo = baseInternalPurchaseVehicle.getVinNo();
//单价 目前放的是内销价 应该是厂家结算价 目前没有厂家结算价 需要后期修改为厂家结算价
sf.setFPrice(baseInternalPurchaseVehicle.getCostPrice() + "");
//车辆类型

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

@ -297,6 +297,7 @@ public class BaseManufactorSubscriptionService extends MybatisBaseService<BaseMa
scmApplyInbound.setUseOrgSid(busVehicleApplyDetailsVo.getCreateOrgSid());
scmApplyInbound.setUseOrgName(busVehicleApplyDetailsVo.getCreateOrgName());
scmApplyInbound.setOrgSid(busVehicleApply.getOrgDeptSid());
scmApplyInbound.setPcApplicationCode(busVehicleApply.getApplicationCode());
scmApplyInboundFeign.saveOrUpdateApplyInBound(scmApplyInbound);
}
}

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

@ -1560,7 +1560,7 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
//分公司
if (org.apache.commons.lang3.StringUtils.isNotBlank(params.getOrgPath())) {
String orgSid = sysStaffOrgFeign.getOrgSidByPath(params.getOrgPath()).getData();
qw.eq("createOrgSid", orgSid);
qw.eq("bv.createOrgSid", orgSid);
}
//品牌
if (StringUtils.isNotBlank(params.getBrandSid())) {

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.java

@ -68,4 +68,6 @@ public interface BaseVehinstallMapper extends BaseMapper<BaseVehinstall> {
@Select("select * from base_vehinstall where createOrg = #{createOrgSid} and vinNo = #{vinNo}")
BaseVehinstallDetailsVo fetchByVinNoAndOrgSid(@Param("vinNo") String vinNo,@Param("createOrgSid") String createOrgSid);
BaseVehinstall seletByVinAndUseOrg(@Param("vinNo") String vinNo, @Param("useOrgSid") String useOrgSid);
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallMapper.xml

@ -35,4 +35,8 @@
<select id="selectByOrgSidAndVin" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstall">
select * from base_vehinstall where useOrgSid = #{useOrgSid} and vinNo = #{vinNo}
</select>
<select id="seletByVinAndUseOrg" resultType="com.yxt.anrui.base.api.basevehinstall.BaseVehinstall">
select * from base_vehinstall where vinNo = #{vinNo} and useOrgSid = #{useOrgSid}
</select>
</mapper>

18
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallRest.java

@ -28,12 +28,10 @@ package com.yxt.anrui.base.biz.basevehinstall;
import cn.hutool.core.date.DateUtil;
import com.yxt.anrui.base.api.basemanufacturer.BaseManufacturer;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
import com.yxt.anrui.base.api.basetrailermodel.BaseTrailerModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehinstall.*;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodel;
import com.yxt.anrui.base.biz.basemanufacturer.BaseManufacturerService;
import com.yxt.anrui.base.biz.basepurchasesystem.BasePurchaseSystemService;
import com.yxt.anrui.base.biz.basevehiclemodel.BaseVehicleModelService;
import com.yxt.anrui.base.biz.basevehinstallmodel.BaseVehinstallmodelService;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.stkinstock.StkInStock;
@ -48,17 +46,10 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstall;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallQuery;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallVo;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallDetailsVo;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallDto;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallFeign;
import javax.annotation.Resource;
/**
* Project: anrui-base(上装配置管理) <br/>
@ -200,4 +191,9 @@ public class BaseVehinstallRest implements BaseVehinstallFeign {
BaseVehinstallDetailsVo vo = baseVehinstallService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) {
return baseVehinstallService.selectOne(vinNo,useOrgSid);
}
}

6
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehinstall/BaseVehinstallService.java

@ -217,4 +217,10 @@ public class BaseVehinstallService extends MybatisBaseService<BaseVehinstallMapp
public BaseVehinstallDetailsVo fetchByVinNoAndOrgSid(String vinNo, String createOrgSid) {
return baseMapper.fetchByVinNoAndOrgSid(vinNo,createOrgSid);
}
public ResultBean<BaseVehinstall> selectOne(String vinNo, String useOrgSid) {
ResultBean<BaseVehinstall> rb = ResultBean.fireFail();
BaseVehinstall baseVehinstall = baseMapper.seletByVinAndUseOrg(vinNo,useOrgSid);
return rb.success().setData(baseVehinstall);
}
}

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.java

@ -33,6 +33,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailVo;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleorder.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -124,4 +125,6 @@ public interface BusVehicleOrderMapper extends BaseMapper<BusVehicleOrder> {
BasePurchSystemVo getDetails(@Param("createOrgSid") String createOrgSid,@Param("deptSid") String deptSid);
BusVehicleApply selectApply(String sid);
BusVehicleApplySz selectApplySz(String sid);
}

7
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderMapper.xml

@ -224,4 +224,11 @@
select ba.sid,ba.orgDeptSid,ba.createOrgSid from bus_vehicle_apply ba
left join bus_vehicle_order bo on bo.purchaseRequisitionSid = ba.sid where bo.sid = #{sid}
</select>
<select id="selectApplySz" resultType="com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz">
select bs.* from bus_vehicle_apply_sz bs
left join bus_vehicle_apply_detail bd on bd.sid = bs.detailsSid
left join bus_vehicle_order bo on bo.purchaseApplyMediumModelSid = bd.sid
where bo.sid = #{sid}
</select>
</mapper>

17
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderRest.java

@ -28,6 +28,7 @@ package com.yxt.anrui.base.biz.busvehicleorder;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchSystemVo;
import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailConfigVo;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleorder.*;
import com.yxt.anrui.base.biz.busvehicleapply.BusVehicleApplyService;
import com.yxt.anrui.base.biz.busvehicleapplydetail.BusVehicleApplyDetailService;
@ -203,17 +204,6 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign {
public ResultBean<ActualAndOrgDeptVo> getActualAndOrgDept(String vehicleOrderSid, String modelSid, String configSid) {
ResultBean<ActualAndOrgDeptVo> rb = ResultBean.fireFail();
ActualAndOrgDeptVo vo = busVehicleApplyService.getActualAndOrgDept(vehicleOrderSid,modelSid,configSid);
// BusVehicleOrderVo vo = busVehicleOrderService.selectBySid(vehicleOrderSid);
// if (vo == null) {
// return rb;
// }
// BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyService.fetchAllBySid(vo.getPurchaseRequisitionSid());
// BusVehicleApplyDetail busVehicleApplyDetail = busVehicleApplyDetailService.fetchBySid(vo.getPurchaseApplyMediumModelSid());
// ActualAndOrgDeptVo actualAndOrgDeptDto = new ActualAndOrgDeptVo();
// actualAndOrgDeptDto.setOrgDeptSid(busVehicleApplyDetailsVo.getOrgDeptSid());
// actualAndOrgDeptDto.setOrgDeptName(busVehicleApplyDetailsVo.getOrgDeptName());
// actualAndOrgDeptDto.setActualPay(busVehicleApplyDetail.getActualPay());
// actualAndOrgDeptDto.setActualSid(busVehicleApplyDetail.getActualSid());
return rb.success().setData(vo);
}
@ -232,4 +222,9 @@ public class BusVehicleOrderRest implements BusVehicleOrderFeign {
return busVehicleOrderService.getDetailsOrder(sid);
}
@Override
public ResultBean<BusVehicleApplySz> selectApplySz(String sid) {
return busVehicleOrderService.selectApplySz(sid);
}
}

11
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleorder/BusVehicleOrderService.java

@ -36,6 +36,7 @@ import com.yxt.anrui.base.api.basevehicle.AppCurrentCarDetailVo;
import com.yxt.anrui.base.api.basevehicle.ConfigInfoSpanSize;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApply;
import com.yxt.anrui.base.api.busvehicleapplydetail.BusVehicleApplyDetail;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleorder.*;
import com.yxt.anrui.base.biz.basemodelconfig.BaseModelConfigService;
import com.yxt.anrui.base.biz.busvehicleapply.BusVehicleApplyService;
@ -278,9 +279,7 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
scmApplyInbound.setManPurOrderTypeValue(ManPurOrderType.ManOrderType.PC_ORDER.getRemarks());
scmApplyInbound.setUseOrgSid(vehicleOrder.getCreateOrgSid());
BusVehicleApply busVehicleApply = busVehicleApplyService.fetchBySid(vehicleOrder.getPurchaseRequisitionSid());
if ("001".equals(vehicleOrder.getOrderTypeKey())){
scmApplyInbound.setPcApplicationCode(busVehicleApply.getApplicationCode());
}
scmApplyInbound.setPcApplicationCode(busVehicleApply.getApplicationCode());
scmApplyInbound.setOrgSid(busVehicleApply.getOrgDeptSid());
scmApplyInboundFeign.saveOrUpdateApplyInBound(scmApplyInbound);
}
@ -563,4 +562,10 @@ public class BusVehicleOrderService extends MybatisBaseService<BusVehicleOrderMa
vo.setPurchaseSystemName(busVehicleApply.getOrgDeptName());
return rb.success().setData(vo);
}
public ResultBean<BusVehicleApplySz> selectApplySz(String sid) {
ResultBean<BusVehicleApplySz> rb = ResultBean.fireFail();
BusVehicleApplySz busVehicleApplySz = baseMapper.selectApplySz(sid);
return rb.success().setData(busVehicleApplySz);
}
}

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

@ -58,6 +58,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseFeign;
import com.yxt.anrui.scm.api.scmwarehouse.ScmWarehouseVo;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -166,6 +168,8 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private BasePurchaseSystemService basePurchaseSystemService;
@Autowired
private BaseModelConfigService baseModelConfigService;
@Autowired
private ScmWarehouseFeign scmWarehouseFeign;
private QueryWrapper<CommonContract> createQueryWrapper(CommonContractQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -778,14 +782,14 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) {
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList);
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList);
} else {
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。";
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。";
}
} else {
//获取模板
ftl = "orderacar";
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。";
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。";
}
map.put("remarks", remarks);
@ -821,14 +825,14 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) {
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList);
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。车架号:" + String.join("、", stringList);
} else {
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。";
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。";
}
} else {
//获取模板
ftl = "orderacar";
remarks = "主车" + num + "台,单台成交价:" + transactionPrice + "元。";
remarks = "数量" + num + "台,单台成交价:" + transactionPrice + "元。";
}
map.put("remarks", remarks);
@ -850,36 +854,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
return pdfName;
}
/**
* 生成 新车买卖合同(现车) pdf
*
* @param dto
* @param map
* @param appOrderDetailsVo
* @return
*/
/*private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
String typeName = "";
String docName = "";
map.put("totalPrice", "");
map.put("priceRemarks", "");
map.put("depositTotal", "");
// 涉及高低开票的,需要打印两套合同,一套按照成交价打印(记账用),一套为价格空白的合同(开票用)
if ("1".equals(dto.getDiscountKey())) {
// 现车
if ("现车".equals(appOrderDetailsVo.getOrderType())) {
typeName = ContractTemplateEnum.CARSALECONTRACTNEWBLANK.getName();
} else {
// 订车
typeName = ContractTemplateEnum.CARSALECONTRACTBOOKBLANK.getName();
}
docName = typeName + "(" + appOrderDetailsVo.getName() + ").doc";
Map<String, String> map2 = docPdfComponent.createDocToPdf(map, typeName, docName);
url += map2.get("prefixTemplateUrl");
}
return url;
}*/
private String genCarSaleContractBlank(PrintConfirmDto dto, Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
map.put("totalPrice", "");
@ -899,14 +873,14 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) {
remarks = "主车" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList);
remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList);
} else {
remarks = "主车" + num + "台,单台成交价: 元。";
remarks = "数量" + num + "台,单台成交价: 元。";
}
} else {
// 订车获取模板
ftl = "orderacar_black";
remarks = "主车" + num + "台,单台成交价: 元。";
remarks = "数量" + num + "台,单台成交价: 元。";
}
map.put("remarks", remarks);
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
@ -948,14 +922,14 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
List<String> stringList = orderModelInfoVo.getOrderVinList();
if (stringList.size() > 0) {
remarks = "主车" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList);
remarks = "数量" + num + "台,单台成交价: 元。车架号:" + String.join("、", stringList);
} else {
remarks = "主车" + num + "台,单台成交价: 元。";
remarks = "数量" + num + "台,单台成交价: 元。";
}
} else {
// 订车获取模板
ftl = "orderacar_black";
remarks = "主车" + num + "台,单台成交价: 元。";
remarks = "数量" + num + "台,单台成交价: 元。";
}
map.put("remarks", remarks);
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
@ -1023,18 +997,11 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if (stringList.size() > 0) {
for (int i = 0; i < stringList.size(); i++) {
InvoicMessageContractVo vo = new InvoicMessageContractVo();
if (stringList.get(i).length() > 8) {
vo.setVinNo(stringList.get(i).substring(stringList.get(i).length() - 8));
} else {
vo.setVinNo(stringList.get(i));
}
vo.setType(appOrderDetailsVo.getInvoiceType());
invoicMessageContractVos.add(vo);
}
}else{
for (int i = 0; i < Integer.parseInt(orderModelInfoVo.getTotal()); i++) {
InvoicMessageContractVo vo = new InvoicMessageContractVo();
// vo.setType(appOrderDetailsVo.getInvoiceType());
invoicMessageContractVos.add(vo);
}
}
@ -1069,21 +1036,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private String getCarFin(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//查询销售订单的现车
/*AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {
//单台成交价-单台订金 = 单台车款
BigDecimal money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).multiply(new BigDecimal(priceInfo.getNumber()));
map.put("money", money);
map.put("moneyDx", TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(money.toString()).doubleValue())));
}
List<String> stringList = orderModelInfoVo.getVinList();
if (stringList.size() > 0) {
map.put("vinNo", String.join(",", stringList));
}*/
//车款:money,大写:moneyDx
String ftl = "carFin";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
@ -1108,14 +1060,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
private String getMoneyFin(Map<String, Object> map, AppOrderDetailsVo appOrderDetailsVo) {
String url = "";
//查询销售订单的现车
/* AppOrderModelInfoVo orderModelInfoVo = appOrderDetailsVo.getModelInfo();
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = appOrderDetailsVo.getDepositInfo();
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
map.put("money", new BigDecimal(singleFinalPrice).multiply(new BigDecimal(priceInfo.getNumber())));
map.put("moneyDx", TransformMoney.transform(TransformMoney.getDecimalStr(Double.valueOf(new BigDecimal(singleFinalPrice).multiply(new BigDecimal(priceInfo.getNumber())).toString()).doubleValue())));
map.put("moneyXx", new BigDecimal(deposit).multiply(new BigDecimal(priceInfo.getNumber())));*/
//车款:money,大写:moneyDx
String ftl = "moneyFin";
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + ftl + ".ftl");
@ -1147,16 +1091,6 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if (vinNoList.size() > 0) {
for (int i = 0; i < vinNoList.size(); i++) {
CarContractListVo carContractListVo = new CarContractListVo();
/*carContractListVo.setBrand(orderModelInfoVo.getBrand());
carContractListVo.setVinNo(vinNoList.get(i).getVinNo());
String vinSid = vinNoList.get(i).getVinSid();
if (StringUtils.isNotBlank(vinSid)) {
//根据车辆sid查询车辆信息获取发动机号
BaseVehicleSelectVo baseVehicleSelectVo = baseVehicleService.details(vinSid);
if (baseVehicleSelectVo != null) {
carContractListVo.setEnginNo(baseVehicleSelectVo.getEngineNo());
}
}*/
carContractListVos.add(carContractListVo);
}
}
@ -1703,7 +1637,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}
//马力
if (StringUtils.isNotBlank(baseVehicleModel.getPowerValue()) && !"-".equals(baseVehicleModel.getPowerValue())){
modelAllName.append(baseVehicleModel.getPowerValue()).append("马力");
modelAllName.append(" ").append(baseVehicleModel.getPowerValue()).append("马力");
}
//燃料
if (StringUtils.isNotBlank(baseVehicleModel.getFuelTypeValue()) && !"-".equals(baseVehicleModel.getFuelTypeValue())){
@ -1782,7 +1716,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}
//颜色
if (StringUtils.isNotBlank(baseModelConfig.getCarColor()) && !"-".equals(baseModelConfig.getCarColor())) {
modelAllName2.append(baseModelConfig.getCarColor()).append("驾驶室");
modelAllName2.append("/").append(baseModelConfig.getCarColor()).append("驾驶室");
}
//导流罩
if (StringUtils.isNotBlank(baseModelConfig.getBaffleModel()) && !"-".equals(baseModelConfig.getBaffleModel())) {
@ -1815,6 +1749,11 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if (StringUtils.isNotBlank(baseModelConfig.getMultimedia()) && !"-".equals(baseModelConfig.getMultimedia())) {
modelAllName2.append("、").append(baseModelConfig.getMultimedia());
}
//特殊配置说明
if(StringUtils.isNotBlank(appOrderModelInfoVo.getSpecialInstructions())){
modelAllName2.append("、").append("特殊配置说明:"+appOrderModelInfoVo.getSpecialInstructions());
}
modelAllName2.append("。");
String modelConfig = "配置:" +modelAllName.toString() + "。";
//上装:外廓尺寸+颜色+上装名称、板材厚度、板材材质、篷布滑道、冷藏冷机、自卸液压盖板、底板加热、更多配置
@ -1822,7 +1761,10 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
AppOrderTopInfoVo topInfo = appOrderDetailsVo.getTopInfo();
String topName = appOrderDetailsVo.getTopMessage();
topName = "上装:" + topName + "。";
map.put("topName", topName);
//只有为公司采购时才显示
if("01".equals(topInfo.getBuyTypeKey())){
map.put("topName", topName);
}
}
AppOrderPriceInfoVo priceInfo = appOrderDetailsVo.getPriceInfo();
//查询台数
@ -1887,7 +1829,12 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
}
}
//车辆交付地点
String address = priceInfo.getAddress();
//根据存放地点查询
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData();
String address = "";
if(scmWarehouseVo != null){
address = scmWarehouseVo.getWarehouseAttribute();
}
//组装到文档相对应的字段中
if(StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())){
ResultBean<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(),appOrderDetailsVo.getPurchaseSystemSid());
@ -2033,6 +1980,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
if (commonContractBuscenterVo == null) {
String finalUrl = url;
String finalUrlAll = urlAll;
String finalAddress = address;
Future<String> future3 = pool.submit(() -> {
//新增合同信息
CommonContract commonContract = new CommonContract();
@ -2061,7 +2009,7 @@ public class CommonContractService extends MybatisBaseService<CommonContractMapp
commonContract.setPartyB(customerName);
//签订日期、签订地点
commonContract.setCreateDate(new Date());
commonContract.setAddress(address);
commonContract.setAddress(finalAddress);
//订金
commonContract.setDeposit(new BigDecimal(depositTotal));
//合同金额

8
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles.ftl

@ -784,7 +784,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${customerName!} </w:t>
<w:t> ${customerName!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -803,7 +803,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${mobile!} </w:t>
<w:t> ${mobile!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -822,7 +822,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${idNo!} </w:t>
<w:t> ${idNo!} </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
@ -1323,7 +1323,7 @@
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>六、甲方负责提供车辆合格证及发票,因国家政策调整等原因致使无法办理落户手续的后果由乙方承担。</w:t>
<w:t>六、甲方负责提供车辆合格证及发票。由于车辆自身问题等甲方原因导致车辆不能登记上牌的,由甲方负责解决;由于乙方未按有关规定时限及时办理车辆登记上牌手续或车辆注册登记所在公司的问题等非甲方原因导致不能办理车辆登记上牌手续的,由乙方自行解决。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">

22
anrui-base/anrui-base-biz/src/main/resources/ftl/existingvehicles_black.ftl

@ -784,7 +784,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${customerName!} </w:t>
<w:t> ${customerName!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -803,7 +803,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${mobile!} </w:t>
<w:t> ${mobile!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -822,7 +822,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${idNo!} </w:t>
<w:t> ${idNo!} </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
@ -1106,6 +1106,20 @@
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:line="240" w:line-rule="exact"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:color w:val="333333"/>
<w:kern w:val="0"/>
<w:sz w:val="18"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
@ -1309,7 +1323,7 @@
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>六、甲方负责提供车辆合格证及发票,因国家政策调整等原因致使无法办理落户手续的后果由乙方承担。</w:t>
<w:t>六、甲方负责提供车辆合格证及发票。由于车辆自身问题等甲方原因导致车辆不能登记上牌的,由甲方负责解决;由于乙方未按有关规定时限及时办理车辆登记上牌手续或车辆注册登记所在公司的问题等非甲方原因导致不能办理车辆登记上牌手续的,由乙方自行解决。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">

4
anrui-base/anrui-base-biz/src/main/resources/ftl/invoicApply.ftl

@ -645,7 +645,7 @@
<w:sz w:val="28"/>
<w:sz-cs w:val="28"/>
</w:rPr>
<w:t>我与你公司签署了《车买卖合同》(编号为</w:t>
<w:t>我与你公司签署了《车买卖合同》(编号为</w:t>
</w:r>
<w:r>
<w:rPr>
@ -664,7 +664,7 @@
<w:sz w:val="28"/>
<w:sz-cs w:val="28"/>
</w:rPr>
<w:t>),现我申请将车辆发票按照下列金额开具发票,我自行承担相应的法律后果。我承诺按照《车买卖合同》约定的价格支付车辆价款。</w:t>
<w:t>),现我申请将车辆发票按照下列金额开具发票,我自行承担相应的法律后果。我承诺按照《车买卖合同》约定的价格支付车辆价款。</w:t>
</w:r>
</w:p>
<w:tbl>

23
anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar.ftl

@ -900,7 +900,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${customerName!} </w:t>
<w:t> ${customerName!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -919,7 +919,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${mobile!} </w:t>
<w:t> ${mobile!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -938,7 +938,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${idNo!} </w:t>
<w:t> ${idNo!} </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
@ -1229,6 +1229,21 @@
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:line="240" w:line-rule="exact"/>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:color w:val="333333"/>
<w:kern w:val="0"/>
<w:sz w:val="18"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
@ -1432,7 +1447,7 @@
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>六、甲方负责提供车辆合格证及发票,因国家政策调整等原因致使无法办理落户手续的后果由乙方承担。</w:t>
<w:t>六、甲方负责提供车辆合格证及发票。由于车辆自身问题等甲方原因导致车辆不能登记上牌的,由甲方负责解决;由于乙方未按有关规定时限及时办理车辆登记上牌手续或车辆注册登记所在公司的问题等非甲方原因导致不能办理车辆登记上牌手续的,由乙方自行解决。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">

21
anrui-base/anrui-base-biz/src/main/resources/ftl/orderacar_black.ftl

@ -900,7 +900,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${customerName!} </w:t>
<w:t> ${customerName!} </w:t>
</w:r>
<w:r>
<w:rPr>
@ -938,7 +938,7 @@
<w:sz-cs w:val="20"/>
<w:u w:val="single"/>
</w:rPr>
<w:t> ${idNo!} </w:t>
<w:t> ${idNo!} </w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
@ -1229,6 +1229,21 @@
</w:rPr>
</w:pPr>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">
<w:pPr>
<w:widowControl/>
<w:spacing w:line="240" w:line-rule="exact"/>
<w:jc w:val="left"/>
<w:rPr>
<w:rFonts w:ascii="宋体" w:h-ansi="宋体" w:cs="宋体" w:hint="fareast"/>
<wx:font wx:val="宋体"/>
<w:color w:val="333333"/>
<w:kern w:val="0"/>
<w:sz w:val="18"/>
<w:sz-cs w:val="20"/>
</w:rPr>
</w:pPr>
</w:p>
</w:tc>
</w:tr>
</w:tbl>
@ -1432,7 +1447,7 @@
<w:sz w:val="20"/>
<w:sz-cs w:val="20"/>
</w:rPr>
<w:t>六、甲方负责提供车辆合格证及发票,因国家政策调整等原因致使无法办理落户手续的后果由乙方承担。</w:t>
<w:t>六、甲方负责提供车辆合格证及发票。由于车辆自身问题等甲方原因导致车辆不能登记上牌的,由甲方负责解决;由于乙方未按有关规定时限及时办理车辆登记上牌手续或车辆注册登记所在公司的问题等非甲方原因导致不能办理车辆登记上牌手续的,由乙方自行解决。</w:t>
</w:r>
</w:p>
<w:p wsp:rsidR="00000000" wsp:rsidRDefault="00000000">

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSaleOrderVehicleOutVo.java

@ -54,5 +54,7 @@ public class BusSaleOrderVehicleOutVo implements Vo {
private String name;
@ApiModelProperty("内部引荐人用户sid")
private String userSid;
@ApiModelProperty("客户编码")
private String customerNo;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSaleOrderStateVo.java

@ -78,4 +78,7 @@ public class AppBusSaleOrderStateVo implements Vo {
@ApiModelProperty("是否有上装按钮")
private boolean topState;
@ApiModelProperty("上装的采购类型是否允许修改")
private boolean isMain;
}

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderPriceInfoVo.java

@ -24,6 +24,7 @@ public class AppOrderPriceInfoVo implements Vo {
private String date;
@ApiModelProperty(value = "预计提车地点")
private String address;
private String plannedPickUpLocationKey;
@ApiModelProperty("单台整体指导价")
private String singleGuildPrice;

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderTopInfoVo.java

@ -32,4 +32,6 @@ public class AppOrderTopInfoVo implements Vo {
private String topName;
@JsonIgnore
private String remarks;
@ApiModelProperty("01公司采购02客户自购")
private String buyTypeKey;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeup.java

@ -107,5 +107,7 @@ public class BusSalesOrderMakeup extends BaseEntity {
private String buyTypeKey;
private String buyTypeValue;
@ApiModelProperty("0主车带,1不是主车带")
private int isMain;
}

2
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordermakeup/BusSalesOrderMakeupDetailsVo.java

@ -74,4 +74,6 @@ public class BusSalesOrderMakeupDetailsVo implements Vo {
private String contractPath;
private String remarks;
private int isMain;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderprice/BusSalesOrderPrice.java

@ -70,4 +70,7 @@ public class BusSalesOrderPrice extends BaseEntity {
@ApiModelProperty("计划提车日期")
private Date plannedPickUpDate;
@ApiModelProperty("计划提车地点")
private String plannedPickUpLocationKey;
}

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

@ -1318,11 +1318,17 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (busSalesOrderMakeupDetailsVo != null) {
vo.setTopInfoState(1);
vo.setTopName(busSalesOrderMakeupDetailsVo.getTopName());
if(busSalesOrderMakeupDetailsVo.getIsMain() == 0){//主车带上装
vo.setMain(false);
}else{
vo.setMain(true);
}
}
}
} else {
vo.setTopInfoState(0);
vo.setTopName("无");
vo.setMain(true);
}
//挂车状态
vo.setTrailerInfoState(0);
@ -2868,6 +2874,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
//冷藏冷机
if(StringUtils.isNotBlank(busSalesOrderMakeup.getRefirgerator())){
topMessage = topMessage + "、" + busSalesOrderMakeup.getRefirgerator();
if(!busSalesOrderMakeup.getRefirgerator().contains("机")){
topMessage = topMessage+"冷机";
}
}
//自卸液压盖板
if(StringUtils.isNotBlank(busSalesOrderMakeup.getSelfUnHyCoPl())&& !"-".equals(busSalesOrderMakeup.getSelfUnHyCoPl())){

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupMapper.xml

@ -22,7 +22,8 @@
topPrice,
moreConfig,
contractPath,
remarks
remarks,
isMain
from bus_sales_order_makeup
where salesOrderSid = #{sid}
</select>

17
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermakeup/BusSalesOrderMakeupService.java

@ -110,20 +110,27 @@ public class BusSalesOrderMakeupService extends MybatisBaseService<BusSalesOrder
if (busSalesOrder == null) {
return rb.setMsg("该销售订单单据信息不存在");
}
/* Boolean topInfoState = dto.getTopInfoState();
String state = "0";
if (topInfoState) {
state = "1";
}*/
String state = "1";
busSalesOrderService.updateIsTop(salesOrderSid, state);
BusSalesOrderMakeupDetailsVo busSalesOrderMakeupDetailsVo = baseMapper.details(salesOrderSid);
if (busSalesOrderMakeupDetailsVo != null) {
baseMapper.deleteBySalesOrderSid(salesOrderSid);
}
int isMain = 1;
if(busSalesOrderMakeupDetailsVo != null){
if("0".equals(busSalesOrderMakeupDetailsVo.getIsMain())){
isMain = 0;
}
}
if ("1".equals(state)) {
BusSalesOrderMakeup busSalesOrderMakeup = new BusSalesOrderMakeup();
BeanUtil.copyProperties(dto, busSalesOrderMakeup, "sid");
busSalesOrderMakeup.setIsMain(isMain);
if("02".equals(busSalesOrderMakeup.getBuyTypeKey())){
//如果为客户自购,将上装价格设置为0
busSalesOrderMakeup.setTopPrice(BigDecimal.ZERO);
}
if (!dto.getContractImages().isEmpty()) {
List<String> imgList = new ArrayList<>();
dto.getContractImages().stream().forEach(i -> {

59
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordermodel/BusSalesOrderModelService.java

@ -28,8 +28,12 @@ package com.yxt.anrui.buscenter.biz.bussalesordermodel;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModel;
import com.yxt.anrui.base.api.basevehiclemodel.BaseVehicleModelFeign;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstall;
import com.yxt.anrui.base.api.basevehinstall.BaseVehinstallFeign;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelDetailsVo;
import com.yxt.anrui.base.api.basevehinstallmodel.BaseVehinstallmodelFeign;
import com.yxt.anrui.base.api.busvehicleapplysz.BusVehicleApplySz;
import com.yxt.anrui.base.api.busvehicleorder.BusVehicleOrderFeign;
import com.yxt.anrui.buscenter.api.busdepositfictitious.BusDepositFictitiousDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.app.model.AppNowCarListVo;
@ -103,6 +107,10 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
private BusDepositFictitiousService busDepositFictitiousService;
@Autowired
private BaseVehinstallmodelFeign baseVehinstallmodelFeign;
@Autowired
private BaseVehinstallFeign baseVehinstallFeign;
@Autowired
private BusVehicleOrderFeign busVehicleOrderFeign;
public void saveModel(BusSalesOrderModelDto busSalesOrderModelDto, String sid) {
@ -232,6 +240,17 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
String topSid = topSidList.get(0);
String topSidVin = "";
if ("0".equals(dto.getState())) {//现车
String topPrice = "";
for (int i = 0; i < nowCarList1.size(); i++) {
AppBusSalesOrderVehicleDto appBusSalesOrderVehicleDto = nowCarList1.get(i);
if(StringUtils.isNotBlank(appBusSalesOrderVehicleDto.getTopSid())){
//根据车架号和上装配置以及分公司sid查询上装价格
BaseVehinstall baseVehinstall = baseVehinstallFeign.selectOne(appBusSalesOrderVehicleDto.getLinkNo(),busSalesOrder.getUseOrgSid()).getData();
if(baseVehinstall != null){
topPrice = baseVehinstall.getGuidePrice();
}
}
}
//判断是否与之前的相同,若相同则不用修改,若不同,则需要删除上装信息,重新添加一条
List<AppNowCarListVo> nowCarList = busSalesOrderVehicleService.selectAppDetailsVoBySaleOrderSid(salesOrderSid);
nowCarList.removeAll(Collections.singleton(null));
@ -267,6 +286,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -282,6 +304,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
} else {
@ -311,6 +334,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -326,11 +352,11 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
}
} else {
if (StringUtils.isNotBlank(topSid)) {
@ -359,6 +385,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -374,6 +403,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
@ -404,6 +434,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -419,6 +452,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
@ -426,6 +460,15 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
if ("1".equals(dto.getState())) {//采购订单
List<AppReadyCarListVo> appReadyCarList = busSalesVehicleOrderService.selectAppDetailsVoBySaleOrderSid(salesOrderSid);
appReadyCarList.removeAll(Collections.singleton(null));
String topPrice = "";
for (int i = 0; i <readyCarList1.size(); i++) {
//根据采购订单查询上装的配置
AppBusSalesVehicleOrderDto appBusSalesVehicleOrderDto = readyCarList1.get(i);
BusVehicleApplySz busVehicleApplySz = busVehicleOrderFeign.selectApplySz(appBusSalesVehicleOrderDto.getLinkSid()).getData();
if(busVehicleApplySz != null){
topPrice = busVehicleApplySz.getGuidePrice();
}
}
if (!appReadyCarList.isEmpty()) {
List<String> stringList = appReadyCarList.stream().map(AppReadyCarListVo::getTopSid).filter(StringUtils::isNotBlank).collect(Collectors.toList());
if (stringList.size() > 0) {
@ -458,6 +501,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -473,6 +519,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
@ -503,6 +550,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -518,6 +568,7 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
@ -548,6 +599,9 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setThicknessBottom(baseVehinstallmodel.getPlateThicknessBottom());
busSalesOrderMakeup.setThicknessEdge(baseVehinstallmodel.getPlateThicknessEdge());
//上装价格
if(StringUtils.isNotBlank(topPrice)){
busSalesOrderMakeup.setTopPrice(new BigDecimal(topPrice));
}
//更多配置
busSalesOrderMakeup.setMoreConfig(baseVehinstallmodel.getMoreConfig());
//颜色
@ -563,12 +617,11 @@ public class BusSalesOrderModelService extends MybatisBaseService<BusSalesOrderM
busSalesOrderMakeup.setFloorHeating(baseVehinstallmodel.getFloorHeating());
busSalesOrderMakeup.setBuyTypeKey("01");
busSalesOrderMakeup.setBuyTypeValue("公司采购");
busSalesOrderMakeup.setIsMain(0);
busSalesOrderMakeupService.insert(busSalesOrderMakeup);
busSalesOrderService.updateMakeUp(salesOrderSid, "1");
}
}
} else {
//删除上装信息
busSalesOrderMakeupService.deleteBySalesOrderSid(salesOrderSid);

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderprice/BusSalesOrderPriceMapper.xml

@ -55,7 +55,8 @@
DATE_FORMAT(bp.plannedPickUpDate, '%Y-%m-%d') as date,
bp.plannedPickUpLocation as address,
bp.singleGuildPrice,
bp.singleFinalPrice
bp.singleFinalPrice,
bp.plannedPickUpLocationKey
from bus_sales_order_price bp
where bp.salesOrderSid = #{sid}
</select>

7
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.java

@ -129,4 +129,11 @@ public interface CrmCustomerTempMapper extends BaseMapper<CrmCustomerTemp> {
int updateEmail(@Param("sid") String sid, @Param("email") String email);
int updateRemarks(@Param("sid") String sid, @Param("remarks") String remarks);
/**
* 根据客户编码查询客户信息
* @param customerNo 客户编码
* @return
*/
CrmCustomerTemp selectByCustomerNo(String customerNo);
}

4
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempMapper.xml

@ -231,4 +231,8 @@
<update id="updateRemarks">
update crm_customer_temp set remarks = #{remarks} where sid = #{sid}
</update>
<select id="selectByCustomerNo" resultType="com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTemp">
select * from crm_customer_temp where customerNo = #{customerNo}
</select>
</mapper>

364
anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java

@ -270,83 +270,66 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
* 513该微信号的客户已是当前用户的客户
*/
public ResultBean saveOrUpdateAppCustomerTemp(AppCrmCustomerTempDto dto) {
AppUserOrgInfoVo userOrgInfoVo = sysUserFeign.getUserOrgInfoByUserSid(dto.getUserSid()).getData();
if (StringUtils.isBlank(userOrgInfoVo.getOrgSid())) {
return new ResultBean().fail().setMsg("请先设置该员工所属部门");
ResultBean rb = ResultBean.fireFail();
/**
* 2023-02-10:
* 先查询客户编码是否存在
* 1存在
* 1.1是否是当前用户的客户
* 1.1.1,提示客户已存在不能新增
* 1.1.2,提示为xxx销售专员客户
* 2不存在
* 2.1新增客户信息新增跟进记录保存时添加二次提醒保存后客户名称手机号码将不能修改
*/
//根据用户sid获取业务员信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
if(sysUserVo == null){
return rb.setMsg("该用户不存在");
}
Map<String, String> map = new HashMap<>();
map.put("staffSid", userOrgInfoVo.getStaffSid());
if (StringUtils.isBlank(dto.getSid())) { // 新增
if (StringUtils.isNotBlank(dto.getMobile())) { // 有手机号
//查询业务员的分公司简称和部门简称
String customerNo = getPrefix(userOrgInfoVo.getStaffSid(), dto.getName(), dto.getMobile());
CrmCustomerTempVo customerTempVo = baseMapper.selectNo(customerNo);
// map.put("mobile", dto.getMobile());
// CrmCustomerTempVo customerTempVo = baseMapper.selectByMobileOrWx(map);
if (customerTempVo != null) {
// 是否为当前用户的客户
if (customerTempVo.getStaffSid().equals(userOrgInfoVo.getStaffSid())) {
// 返回潜在客户sid,跳转维护信息页面
return new ResultBean().fail().setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(customerTempVo.getSid());
} else {
// 不是当前用户的客户,提示
SysUserVo userVo = sysUserFeign.selectByStaffsid(customerTempVo.getStaffSid()).getData();
return new ResultBean().fail().setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("该手机号客户为" + userVo.getName()
+ "的客户,如需更改,请联系" + userVo.getName());
String sid = dto.getSid();
//业务员sid
String staffSid = sysUserVo.getStaffSid();
//姓名
String name = dto.getName();
String mobile = dto.getMobile();
if(StringUtils.isBlank(sid)){//新增
//生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写
String customerNo = getPrefix(staffSid,name,mobile);
//查询该客户编码是否存在
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerNo(customerNo);
if(crmCustomerTemp != null){//存在
//查询是否是当前用户客户
if(!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())){
String staffName = "";
SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
if(sysCrmVo != null){
staffName = sysCrmVo.getName();
return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为"+staffName+"销售专员客户");
}
} else {
// 新增
CrmCustomerTemp customerTemp = insertCrmCustomerTemp(dto, userOrgInfoVo);
return new ResultBean().success().setMsg("添加成功").setData(customerTemp.getSid());
}
} else { // 无手机号,有微信号
map.put("weixin", dto.getWeixin());
CrmCustomerTempVo customerTempVo = baseMapper.selectByMobileOrWx(map);
if (customerTempVo != null) {
return new ResultBean().fail().setCode(HttpStatusEnum.CRM_ERROR_WXEXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_WXEXIST.getMsg());
} else {
// 新增
CrmCustomerTemp customerTemp = insertCrmCustomerTemp(dto, userOrgInfoVo);
return new ResultBean().success().setMsg("添加成功").setData(customerTemp.getSid());
}else{
// 返回潜在客户sid,跳转维护信息页面
return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid());
}
}else{//不存在
// 新增
CrmCustomerTemp customerTemp = insertCrmCustomerTemp(dto, sysUserVo);
sid = customerTemp.getSid();
}
} else { // 修改
if (StringUtils.isNotBlank(dto.getMobile())) {
//查询业务员的分公司简称和部门简称
String customerNo = getPrefix(userOrgInfoVo.getStaffSid(), dto.getName(), dto.getMobile());
CrmCustomerTempVo customerTempVo = baseMapper.selectNo1(customerNo, dto.getSid());
if (customerTempVo != null) {
return new ResultBean().fail().setMsg("该手机号已绑定其它客户,请重新添加");
}
/* AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = baseMapper.selectBySid(dto.getSid());
String mobile = appCrmCustomerTempInfoVo.getMobile();
if (!mobile.equals(dto.getMobile())) {
int count = baseMapper.selBySidAndMobile(dto.getSid(), dto.getMobile());
if (count > 0) {
return new ResultBean().fail().setMsg("该手机号已绑定其它客户,请重新添加");
}
}*/
}else{//修改
CrmCustomerTemp customerTemp = fetchBySid(sid);
if(customerTemp == null){
return rb.setMsg("该客户不存在");
}
//对比客户名称以及手机号是否变化
if(!customerTemp.getName().equals(dto.getName())){
return rb.setMsg("客户名称不允许修改");
}
if(!customerTemp.getMobile().equals(dto.getMobile())){
return rb.setMsg("客户手机号不允许修改");
}
// if (StringUtils.isNotBlank(dto.getWeixin())) {
// AppCrmCustomerTempInfoVo appCrmCustomerTempInfoVo = baseMapper.selectBySid(dto.getSid());
// String weiXin = appCrmCustomerTempInfoVo.getWeiXin();
// if (!weiXin.equals(dto.getWeixin())) {
// int count = baseMapper.selBySidAndWeixin(dto.getSid(), dto.getWeixin());
// if (count > 0) {
// return new ResultBean().fail().setMsg("该微信已绑定其它客户,请重新添加");
// }
// }
// }
// if (StringUtils.isNotBlank(dto.getWeixin())) {
// map.put("weixin", dto.getWeixin());
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobileOrWx(map);
// if (crmCustomerTempVo != null && crmCustomerTempVo.getStaffSid().equals(userOrgInfoVo.getStaffSid())) {
// if (crmCustomerTempVo.getWeixin().equals(dto.getWeixin())) {
// return new ResultBean().fail().setMsg("该微信号已绑定其它客户,请重新添加");
// }
// }
// }
CrmCustomerTemp customerTemp = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, customerTemp);
String adCode = dto.getAdCode();
if (StringUtils.isNotBlank(adCode)) {
@ -358,46 +341,12 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
customerTemp.setCustomerPhoto(customerTemp.getCustomerPhoto().replace(fileUploadComponent.getUrlPrefix(), ""));
}
customerTemp.setUpdateBySid(dto.getUserSid());
//客户编码
String customerNoPrefix = "";
//查询业务员的分公司简称和部门简称
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(customerTemp.getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
String customerNo = getPrefix(customerTemp.getStaffSid(),customerTemp.getName(),customerTemp.getMobile());
// String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(customerTemp.getName()) + customerTemp.getMobile();
customerTemp.setCustomerNo(customerNo);
boolean updateBoolean = updateById(customerTemp);
if (updateBoolean) {
// 更新附件表
// if (!dto.getFilePaths().isEmpty()) {
// updateCrmFile(dto, customerTemp);
// }
return new ResultBean().success().setMsg("更新成功").setData(customerTemp.getSid());
} else {
return new ResultBean().fail().setMsg("更新失败");
if (!updateBoolean) {
return rb.fail().setMsg("更新失败");
}
}
return rb.success().setData(sid);
}
/**
@ -708,7 +657,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
* @return
*/
@Transactional(rollbackFor = Exception.class)
protected CrmCustomerTemp insertCrmCustomerTemp(AppCrmCustomerTempDto dto, AppUserOrgInfoVo userOrgInfoVo) {
protected CrmCustomerTemp insertCrmCustomerTemp(AppCrmCustomerTempDto dto, SysUserVo userOrgInfoVo) {
CrmCustomerTemp customerTemp = new CrmCustomerTemp();
String orgPath = dto.getOrgPath();
String useOrgSid = "";
@ -723,13 +672,8 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
if (StringUtils.isNotBlank(customerTemp.getCustomerPhoto())) {
customerTemp.setCustomerPhoto(customerTemp.getCustomerPhoto().replace(fileUploadComponent.getUrlPrefix(), ""));
}
// Map<String, String> map = genetrateCustomerNum(dto.getCustomerTypeKey(), userOrgInfoVo);
customerTemp.setCreateBySid(dto.getUserSid());
customerTemp.setStaffSid(userOrgInfoVo.getStaffSid());
// String orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
// customerTemp.setCreateOrgSid(orgSid);
// customerTemp.setCreateOrgSid(userOrgInfoVo.getOrgSid());
// customerTemp.setCustomerNo(map.get("code"));
customerTemp.setCertificateTypeKey(customerTemp.getCustomerTypeKey().equals("1") ? "01" : "02");
customerTemp.setCertificateType(customerTemp.getCustomerTypeKey().equals("1") ? "身份证" : "营业执照");
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
@ -750,34 +694,7 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
customerTemp.setRemind_day(dto.getRemind_day());
}
//客户编码
String customerNoPrefix = "";
//查询业务员的分公司简称和部门简称
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(customerTemp.getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
//客户编码
String customerNo = getPrefix(customerTemp.getStaffSid(),customerTemp.getName(),customerTemp.getMobile());
// String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(customerTemp.getName()) + customerTemp.getMobile();
customerTemp.setCustomerNo(customerNo);
save(customerTemp);
// 增加跟进记录
@ -839,27 +756,13 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
*/
public ResultBean saveCrmCustomer(CrmCustomerTempDto dto) {
ResultBean rb = ResultBean.fireFail();
//当前登录用户的sid
String userSid = dto.getUserSid();
//根据登录用户sid查询该用户是否已设置部门
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(userSid);
if (!sysUserInfoVoResultBean.getSuccess()) {
return rb.setMsg(sysUserInfoVoResultBean.getMsg());
}
//用户所属组织信息
SysUserInfoVo sysUserInfoVo = sysUserInfoVoResultBean.getData();
if (StringUtils.isBlank(sysUserInfoVo.getOrgSid())) {
return rb.setMsg("请先设置该员工所属部门");
}
String sid = "";
//手机号
String mobile = dto.getMobile();
//微信号
String weixin = dto.getWeixin();
if (StringUtils.isBlank(mobile)) {
return rb.setMsg("请输入联系电话");
}
if ("1".equals(dto.getCustomerType())) {
if (!weixin.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
if (!mobile.matches("^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$")) {
return rb.setMsg("手机号格式不正确");
}
if (StringUtils.isNotBlank(dto.getIDNumber())) {
@ -891,46 +794,37 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
return rb.setMsg("紧急联系电话格式不正确");
}
}
//当前登录用户的所在部门sid
String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的手机号以及当前登录者所在部门的sid查询该部门内是否有重复的
if (StringUtils.isNotBlank(mobile)) {
//客户编码
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo(customerNo);
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo == null) {
//新增潜在客户信息
CrmCustomerTemp crmCustomerTemp = saveCrmCustomerTemp(dto, sysUserInfoVo);
return rb.success().setData(crmCustomerTemp.getSid());
} else {
//是否为当前用户的客户
if (crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTempVo.getSid());
} else {
//不是当前用户的客户,提示信息。
ResultBean<SysUserVo> sysUserVoResultBean = sysUserFeign.selectByStaffsid(crmCustomerTempVo.getStaffSid());
if (sysUserVoResultBean.getSuccess()) {
return rb.setMsg("该手机号客户为" + sysUserVoResultBean.getData().getName() + "的客户,如需更改,请联系" + sysUserVoResultBean.getData().getName());
} else {
return rb.setMsg(sysUserInfoVoResultBean.getMsg());
}
//根据用户sid获取业务员信息
SysUserVo sysUserVo = sysUserFeign.fetchBySid(dto.getUserSid()).getData();
if(sysUserVo == null){
return rb.setMsg("该用户不存在");
}
String staffSid = sysUserVo.getStaffSid();
String name = dto.getName();
//生成客户编码:分公司简称+部门编码+手机号+姓名首字母大写拼写
String customerNo = getPrefix(staffSid,name,mobile);
//查询该客户编码是否存在
CrmCustomerTemp crmCustomerTemp = baseMapper.selectByCustomerNo(customerNo);
if(crmCustomerTemp != null){//存在
//查询是否是当前用户客户
if(!dto.getUserSid().equals(crmCustomerTemp.getCreateBySid())){
String staffName = "";
SysUserVo sysCrmVo = sysUserFeign.fetchBySid(crmCustomerTemp.getCreateBySid()).getData();
if(sysCrmVo != null){
staffName = sysCrmVo.getName();
return rb.setCode(HttpStatusEnum.CRM_ERROR_NOTBELONG.getCode()).setMsg("为"+staffName+"销售专员客户");
}
}
} else if (StringUtils.isNotBlank(weixin)) {
// String staffSid = sysUserInfoVo.getStaffSid();
//根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(staffSid, weixin);
if (crmCustomerTempVo == null) {
//新增潜在客户信息
CrmCustomerTemp crmCustomerTemp = saveCrmCustomerTemp(dto, sysUserInfoVo);
return rb.success().setData(crmCustomerTemp.getSid());
} else {
return rb.setCode(HttpStatusEnum.CRM_ERROR_WXEXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_WXEXIST.getMsg());
}else{
// 返回潜在客户sid,跳转维护信息页面
return rb.setCode(HttpStatusEnum.CRM_ERROR_EXIST.getCode()).setMsg(HttpStatusEnum.CRM_ERROR_EXIST.getMsg()).setData(crmCustomerTemp.getSid());
}
}else{//不存在
// 新增
CrmCustomerTemp customerTemp = saveCrmCustomerTemp(dto, sysUserVo);
sid = customerTemp.getSid();
}
return rb.success();
return rb.success().setData(crmCustomerTemp.getSid());
}
/**
@ -940,47 +834,19 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
* @param sysUserInfoVo 当前登录者的组织信息
* @return
*/
private CrmCustomerTemp saveCrmCustomerTemp(CrmCustomerTempDto dto, SysUserInfoVo sysUserInfoVo) {
private CrmCustomerTemp saveCrmCustomerTemp(CrmCustomerTempDto dto, SysUserVo sysUserInfoVo) {
CrmCustomerTemp crmCustomerTemp = new CrmCustomerTemp();
dto.fillEntity(crmCustomerTemp);
crmCustomerTemp.setCreateBySid(dto.getUserSid());
crmCustomerTemp.setStaffSid(sysUserInfoVo.getStaffSid());
String orgSid = sysStaffOrgFeign.getPathSidByUserSid(dto.getUserSid()).getData();
// crmCustomerTemp.setCreateOrgSid(sysUserInfoVo.getOrgSid());
crmCustomerTemp.setCreateOrgSid(orgSid);
/*Map<String, String> map = genetrateCustomerNumO(dto.getCustomerTypeKey(), sysUserInfoVo);
crmCustomerTemp.setCustomerNo(map.get("code"));*/
ResultBean resultBean = dictCommonFeign.getFirstDictKeyByType(DictCommonType.FOLLOW_STATE, "0");
if (resultBean.getSuccess() && resultBean.getData() != null) {
String key = resultBean.getData().toString();
crmCustomerTemp.setFollow_state_key(key);
crmCustomerTemp.setFollow_state(dictCommonFeign.selectBykey(key, DictCommonType.FOLLOW_STATE).getData().getDictValue());
}
String customerNoPrefix = "";
//查询业务员的分公司简称和部门编码
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(sysUserInfoVo.getStaffSid());
if (staffOrgResultBean.getSuccess()) {
SysStaffOrg sysStaffOrg = staffOrgResultBean.getData();
if (sysStaffOrg != null) {
ResultBean<String> resultBean1 = sysStaffOrgFeign.getOrgSidByPath(sysStaffOrg.getOrgSidPath());
if (resultBean1.getSuccess()) {
String osid = resultBean1.getData();
if (StringUtils.isNotBlank(osid)) {
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(osid);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgAbbre();
}
}
}
String orgSid1 = sysStaffOrg.getOrgSid();
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(orgSid1);
if (sysOrganizationVoResultBean.getSuccess()) {
SysOrganizationVo sysOrganizationVo = sysOrganizationVoResultBean.getData();
customerNoPrefix = customerNoPrefix + sysOrganizationVo.getOrgCode();
}
}
}
//客户编码
String customerNo = getPrefix(crmCustomerTemp.getStaffSid(), crmCustomerTemp.getName(), crmCustomerTemp.getMobile());
crmCustomerTemp.setCustomerNo(customerNo);
@ -1055,55 +921,23 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
*/
public ResultBean updateCrmCustomer(CrmCustomerTempUpdateDto dto, String sid) {
ResultBean rb = ResultBean.fireFail();
//当前登录用户的sid
String userSid = dto.getUserSid();
//根据登录用户sid查询该用户是否已设置部门
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(userSid);
if (!sysUserInfoVoResultBean.getSuccess()) {
return rb.setMsg(sysUserInfoVoResultBean.getMsg());
}
//用户所属组织信息
SysUserInfoVo sysUserInfoVo = sysUserInfoVoResultBean.getData();
if (StringUtils.isBlank(sysUserInfoVo.getOrgSid())) {
return rb.setMsg("请先设置该员工所属部门");
}
String staffSid = sysUserInfoVo.getStaffSid();
String mobile = dto.getMobile();
String weixin = dto.getWeixin();
if (StringUtils.isBlank(mobile) && StringUtils.isBlank(weixin)) {
return rb.setMsg("联系电话和微信号二选一必填");
CrmCustomerTemp customerTemp = fetchBySid(sid);
if(customerTemp == null){
return rb.setMsg("该客户不存在");
}
if (StringUtils.isNotBlank(mobile)) {
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo1(customerNo, sid);
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByMobile(staffSid, mobile);
if (crmCustomerTempVo != null && !crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setMsg("该手机号已绑定其他客户,请重新添加");
}
} else {
//根据客户的微信号以及当前登录者所在部门的sid和登录者所关联的员工sid查询
CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectByWx(staffSid, weixin);
if (crmCustomerTempVo != null && !crmCustomerTempVo.getStaffSid().equals(sysUserInfoVo.getStaffSid())) {
return rb.setMsg("该微信号已绑定其他客户,请重新添加");
}
//对比客户名称以及手机号是否变化
if(!customerTemp.getName().equals(dto.getName())){
return rb.setMsg("客户名称不允许修改");
}
CrmCustomerTemp customerTemp = fetchBySid(sid);
if (customerTemp == null) {
return rb.setMsg("该客户信息不存在");
if(!customerTemp.getMobile().equals(dto.getMobile())){
return rb.setMsg("客户手机号不允许修改");
}
BeanUtil.copyProperties(dto, customerTemp);
//客户编码
String customerNoPrefix = "";
//查询业务员的分公司简称和部门简称
String customerNo = getPrefix(staffSid, dto.getName(), dto.getMobile());
// CrmCustomerTempVo crmCustomerTempVo = baseMapper.selectNo(customerNo);
// String customerNo = customerNoPrefix + HanZiConverterPinYin.getPinYinFirst(customerTemp.getName()) + customerTemp.getMobile();
customerTemp.setCustomerNo(customerNo);
baseMapper.updateById(customerTemp);
//更新运营信息
CrmBusinessDto crmBusinessDto = dto.getCrmBusinessDto();
crmBusinessService.updateByCusSid(crmBusinessDto, sid);
return rb.success().setMsg("更新成功");
return rb.success();
}
/**

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

@ -245,14 +245,13 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
//给外采或排产申请人系统消息提醒
AppScmMessageFlowableQuery query = new AppScmMessageFlowableQuery();
ArrayList<String> recipientSidList = new ArrayList<>();
String remarks = finPaymentrecord.getRemarks();
remarks = remarks.substring(0, 2);
if ("外采".equals(remarks)){
String costTypeKey = finPaymentrecord.getCostTypeKey();
if ("002".equals(costTypeKey)){
BaseOutsourcingApplicationDetailsVo baseOutsourcingApplicationDetailsVo = baseOutsourcingApplicationFeign.fetchBySid(finPaymentrecord.getApplySid()).getData();
String createBySid = baseOutsourcingApplicationDetailsVo.getCreateBySid();
recipientSidList.add(createBySid);
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", "");
appMap.put("sid", finPaymentrecord.getSid());
query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("付款确认通知");
@ -263,12 +262,12 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
query.setModuleSid("98ff0724-5df4-4fc7-ab6d-3996e7706acd");
query.setName("财务管理");
messageFeign.sendMessage(query);
}else if ("排产".equals(remarks)){
}else if ("005".equals(costTypeKey)){
BusVehicleApplyDetailsVo busVehicleApplyDetailsVo = busVehicleApplyFeign.fetchSid(finPaymentrecord.getApplySid()).getData();
String createBySid = busVehicleApplyDetailsVo.getCreateBySid();
recipientSidList.add(createBySid);
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", "");
appMap.put("sid", finPaymentrecord.getSid());
query.setRecipientSidList(recipientSidList);
query.setAppMap(appMap);
query.setMsgTitle("付款确认通知");

10
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flowtask/FlowTask.java

@ -90,16 +90,16 @@ public class FlowTask extends BaseEntity implements Serializable {
@ApiModelProperty("候选执行人")
private String candidate;
@ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date createTime;
/* @ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
private String createTime;*/
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone="GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date finishTime;
@ApiModelProperty("流程完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone="GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
private String processEndTime;
@ApiModelProperty("环节的办理人信息")

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -313,7 +313,9 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
Date startTime = histIns.getStartTime();
flowTask.setCreateTime(startTime);
Date endTime = histIns.getEndTime();
flowTask.setFinishTime(endTime);
if(endTime!=null){
flowTask.setFinishTime(endTime);
}
//processInstance.get("END_TIME_") timestap类型不能转string
String end_time_ = processInstance.get("END_TIME_") == null ? "" : "end";
flowTask.setProcessEndTime(end_time_);
@ -369,7 +371,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask
}
flowRecordVo.setFlowList(hisFlowList);
}
log.info("flowRecordVo:{}",JSONObject.toJSONString(flowRecordVo));
return rb.success().setData(flowRecordVo);
}

8
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/flow/FlowTask.java

@ -89,12 +89,12 @@ public class FlowTask extends BaseEntity implements Serializable {
@ApiModelProperty("候选执行人")
private String candidate;
@ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
/* @ApiModelProperty("任务创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )
private Date createTime;*/
@ApiModelProperty("任务完成时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date finishTime;
@ApiModelProperty("环节的办理人信息")

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

@ -211,6 +211,8 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
if (StringUtils.isBlank(dto.getSid())) { // 新增
ScmApplyInbound inboundVehicle = new ScmApplyInbound();
BeanUtil.copyProperties(dto, inboundVehicle);
String billNo = getRZSQApplyCode(dto.getUserSid());
inboundVehicle.setApplicationCode(billNo);
inboundVehicle.setSid(UUID.randomUUID().toString());
inboundVehicle.setOrgSidPath(orgPath);
save(inboundVehicle);
@ -401,8 +403,6 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
scmApplyInboundVehicleService.deleteBySid(scmApplyInboundVehicleDto.getSid());
BeanUtil.copyProperties(scmApplyInbound, scmApplyInboundDto);
scmApplyInboundDto.setSid(null);
String billNo = getApplyCode(dto.getUserSid());
scmApplyInboundDto.setApplicationCode(billNo);
scmApplyInboundVehicleDtos1.add(scmApplyInboundVehicleDto);
}
}
@ -508,6 +508,20 @@ public class ScmApplyInboundService extends MybatisBaseService<ScmApplyInboundMa
return billNo;
}
public String getRZSQApplyCode(String userSid) {
//获取分公司sid
ResultBean<String> resultBean = sysStaffOrgFeign.getPathSidByUserSid(userSid);
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(resultBean.getData());
String orgCode = resultBean1.getData().getOrgCode();
BillNo b = new BillNo();
b.setOrgCode(orgCode);
b.setBillType(BillTypeEnum.RZSQ.getBillType());
String bill = Rule.getBill(b);
int i = baseMapper.selectNum(bill);
String billNo = Rule.getBillNo(bill, i);
return billNo;
}
/**
* 办理
*

11
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmapplyinboundquery/ScmApplyInboundQueryService.java

@ -168,6 +168,15 @@ public class ScmApplyInboundQueryService extends MybatisBaseService<ScmApplyInbo
ScmApplyInboundQuery entity = fetchBySid(sid);
ScmApplyInboundQueryDetailsVo vo = new ScmApplyInboundQueryDetailsVo();
BeanUtil.copyProperties(entity, vo);
List<ScmApplyInboundVehQueryDetailsVo> scmApplyInboundVehQueryDetailsVos = scmApplyInboundVehQueryService.fetchByMainSid(sid);
vo.setScmApplyInboundVehQueryList(scmApplyInboundVehQueryDetailsVos);
BigDecimal totalMoney = new BigDecimal(0);
for (ScmApplyInboundVehQueryDetailsVo scmApplyInboundVehQueryDetailsVo : scmApplyInboundVehQueryDetailsVos) {
String settleMoney = scmApplyInboundVehQueryDetailsVo.getSettleMoney();
totalMoney = totalMoney.add(new BigDecimal(settleMoney));
}
String transform = TransformMoney.transform(totalMoney.toString());
vo.setTotalMoney(transform);
return vo;
}
@ -260,7 +269,7 @@ public class ScmApplyInboundQueryService extends MybatisBaseService<ScmApplyInbo
stkInStock.setFPurchaseDeptId(baseVehicle.getPurchaseSystemCode());
stkInStock.setFSupplierId(baseVehicle.getSupplierCode());
// 入库日期:FDate (必填项)
stkInStock.setFDate(DateUtil.formatDate(baseVehicle.getPriceDate()));
stkInStock.setFDate(baseVehicle.getOrgPriceDate());
// 物料列表:FInStockEntry (必填项)
List<StkInStock.FInStockEntry> fInStockEntry = new ArrayList<>();
//直接调拨单的物料列表

2
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehinventorymonth/ScmVehInventorymonthMapper.xml

@ -53,6 +53,6 @@
DATE_FORMAT(createTime, '%Y-%m-%d') AS `date`,
reason as surplusNumberRemarks
FROM scm_veh_inventoryreport
WHERE mainSid = #{sid}
WHERE mainSid = #{sid} limit 1
</select>
</mapper>

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/contract/AppCommonContractFeign.java

@ -94,7 +94,7 @@ public interface AppCommonContractFeign {
ResultBean<ContractFlowListVo> getFlowOperateTitleBy(@SpringQueryMap ContractQuery query);
@ApiOperation("办理")
@PutMapping("/agreeContractInfoBy")
@PutMapping("/completeBy")
@ResponseBody
ResultBean agreeContractInfoBy(@RequestBody ContractDto dto);
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/OrderStateVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.order;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -82,4 +83,7 @@ public class OrderStateVo implements Vo {
@ApiModelProperty("是否有上装")
private boolean topState;
@ApiModelProperty("上装的采购类型是否允许修改")
@JsonProperty("isMain")
private boolean isMain;
}

Loading…
Cancel
Save