Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 11 months ago
parent
commit
84f6128817
  1. 7
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java
  2. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderQuery.java
  3. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppBusSalesOrderVo.java
  4. 7
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java
  5. 168
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  6. 10
      anrui-crm/anrui-crm-biz/src/main/java/com/yxt/anrui/crm/biz/crmcustomertemp/CrmCustomerTempService.java
  7. 4
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java
  8. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java
  9. 5
      anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/wx/WxHomePageVo.java
  10. 28
      anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserRest.java
  11. 148
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  12. 7
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/AppBusSalesOrderFeign.java
  13. 3
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java
  14. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderRest.java
  15. 8
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java
  16. 8
      yxt-as-ui/src/api/warehouse/warehouse.js
  17. 6
      yxt-as-ui/src/views/maintenance/maintenanceOutbound/relation/chooseproducts.vue
  18. 91
      yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue
  19. 15
      yxt-as-ui/src/views/warehouse/goodsShelves/index.vue
  20. 2
      yxt-as-ui/src/views/warehouse/warehouse/index.vue
  21. 77
      yxt-as-ui/src/views/warehouse/warehouse/warehouseAdd.vue
  22. 39
      yxt-as-ui/src/views/warehouse/warehouse/warehouseInfo.vue
  23. 16
      yxt-as-ui/src/views/warehouse/warehouseArea/warehouseAreaAdd.vue

7
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/BusSalesOrderFeign.java

@ -403,4 +403,11 @@ public interface BusSalesOrderFeign {
@PostMapping("/saveList")
@ResponseBody
void saveList(@RequestBody() List<BusSalesOrder> orders);
/**********************************************小程序订单列表********************************************************/
@ApiOperation("小程序销售订单分页列表")
@PostMapping("/getSaleOrdersWx")
@ResponseBody
public ResultBean<PagerVo<AppBusSalesOrderVo>> getSaleOrdersWx(@RequestBody PagerQuery<AppBusSalesOrderQuery> pq);
}

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

@ -63,7 +63,4 @@ public class AppBusSalesOrderQuery implements Query {
private String staffSid;
@ApiModelProperty("当前组织机构全路径sid")
private String orgPath;
}

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

@ -53,6 +53,9 @@ import lombok.Data;
public class AppBusSalesOrderVo implements Vo {
private static final long serialVersionUID = -5570433499942792774L;
@ApiModelProperty("经销商")
private String dealer;
/**
* 销售订单sid
*/

7
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderRest.java

@ -456,4 +456,11 @@ public class BusSalesOrderRest implements BusSalesOrderFeign {
public void saveList(List<BusSalesOrder> orders) {
busSalesOrderService.saveList(orders);
}
@Override
public ResultBean<PagerVo<AppBusSalesOrderVo>> getSaleOrdersWx(PagerQuery<AppBusSalesOrderQuery> pq) {
ResultBean<PagerVo<AppBusSalesOrderVo>> rb = ResultBean.fireFail();
PagerVo<AppBusSalesOrderVo> pv = busSalesOrderService.getSaleOrdersWx(pq);
return rb.success().setData(pv);
}
}

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

@ -430,7 +430,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
/***************************车型信息***************************************/
AppOrderModelInfoVo modelInfo = busSalesOrderModelService.selectModel(sid);
if (modelInfo != null) {
if (modelInfo.getModelName().contains("牵引车")){
if (modelInfo.getModelName().contains("牵引车")) {
vo.setIsGc(true);
}
//若前端传值的订单类型为0则为现车,为1采购订单,为2排产
@ -481,11 +481,11 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
/*************************************************挂车信息*****************************************************/
List<BusSalesOrderTrailerDetailsVo> busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(sid);
if (busSalesOrderTrailerDetailsVos.size() == 1){
if (busSalesOrderTrailerDetailsVos.size() == 1) {
BusSalesOrderTrailerDetailsVo busSalesOrderTrailerDetailsVo = busSalesOrderTrailerDetailsVos.get(0);
BusSalesOrderTrailer busSalesOrderTrailer = busSalesOrderTrailerService.fetchBySid(busSalesOrderTrailerDetailsVo.getSid());
String certFile = busSalesOrderTrailer.getCertFile();
if (StringUtils.isNotBlank(certFile)){
if (StringUtils.isNotBlank(certFile)) {
String[] certFiles = certFile.split(",");
List<BusSalesOrderTrailerFile> certFiless = new ArrayList<>();
for (String path : certFiles) {
@ -497,7 +497,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busSalesOrderTrailerDetailsVo.setCertFile(certFiless);
}
String contractFile = busSalesOrderTrailer.getContractFile();
if (StringUtils.isNotBlank(contractFile)){
if (StringUtils.isNotBlank(contractFile)) {
String[] contractFiles = contractFile.split(",");
List<BusSalesOrderTrailerFile> contractFiless = new ArrayList<>();
for (String path : contractFiles) {
@ -509,12 +509,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
busSalesOrderTrailerDetailsVo.setContractFile(contractFiless);
}
vo.setGc1(busSalesOrderTrailerDetailsVo);
}else if (busSalesOrderTrailerDetailsVos.size() == 2){
} else if (busSalesOrderTrailerDetailsVos.size() == 2) {
//挂车1
BusSalesOrderTrailerDetailsVo gc1 = busSalesOrderTrailerDetailsVos.get(0);
BusSalesOrderTrailer gcst1 = busSalesOrderTrailerService.fetchBySid(gc1.getSid());
String certFile1 = gcst1.getCertFile();
if (StringUtils.isNotBlank(certFile1)){
if (StringUtils.isNotBlank(certFile1)) {
String[] certFiles1 = certFile1.split(",");
List<BusSalesOrderTrailerFile> certFiless1 = new ArrayList<>();
for (String path : certFiles1) {
@ -526,7 +526,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
gc1.setCertFile(certFiless1);
}
String contractFile1 = gcst1.getContractFile();
if (StringUtils.isNotBlank(contractFile1)){
if (StringUtils.isNotBlank(contractFile1)) {
String[] contractFiles1 = contractFile1.split(",");
List<BusSalesOrderTrailerFile> contractFiless1 = new ArrayList<>();
for (String path : contractFiles1) {
@ -541,7 +541,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
BusSalesOrderTrailerDetailsVo gc2 = busSalesOrderTrailerDetailsVos.get(1);
BusSalesOrderTrailer gcst2 = busSalesOrderTrailerService.fetchBySid(gc2.getSid());
String certFile2 = gcst2.getCertFile();
if (StringUtils.isNotBlank(certFile2)){
if (StringUtils.isNotBlank(certFile2)) {
String[] certFiles2 = certFile2.split(",");
List<BusSalesOrderTrailerFile> certFiless2 = new ArrayList<>();
for (String path : certFiles2) {
@ -553,7 +553,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
gc2.setCertFile(certFiless2);
}
String contractFile2 = gcst1.getContractFile();
if (StringUtils.isNotBlank(contractFile2)){
if (StringUtils.isNotBlank(contractFile2)) {
String[] contractFiles2 = contractFile2.split(",");
List<BusSalesOrderTrailerFile> contractFiless2 = new ArrayList<>();
for (String path : contractFiles2) {
@ -709,9 +709,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
/*************************************************价格信息*****************************************************/
BusSalesOrderPriceDetailsVo busSalesOrderPriceDetailsVo = busSalesOrderPriceService.details(entity.getSid());
if (StringUtils.isNotBlank(busSalesOrderPriceDetailsVo.getPlannedPickUpLocationKey())){
if (StringUtils.isNotBlank(busSalesOrderPriceDetailsVo.getPlannedPickUpLocationKey())) {
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(busSalesOrderPriceDetailsVo.getPlannedPickUpLocationKey()).getData();
if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())){
if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())) {
busSalesOrderPriceDetailsVo.setPlannedPickUpLocation(busSalesOrderPriceDetailsVo.getPlannedPickUpLocation() + "(" + scmWarehouseVo.getCity() + scmWarehouseVo.getCounty() + scmWarehouseVo.getWarehouseAttribute() + ")");
}
}
@ -778,12 +778,12 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
BusSalesOrderMakeupDetailsVo busSalesOrderMakeupDetailsVo = busSalesOrderMakeupService.details(sid);
if (busSalesOrderMakeupDetailsVo != null) {
String topPrice = busSalesOrderMakeupDetailsVo.getTopPrice();
if(StringUtils.isNotBlank(topPrice)){
if (StringUtils.isNotBlank(topPrice)) {
busSalesOrderPriceDetailsVo.setTopPrice(topPrice);
}else {
} else {
busSalesOrderPriceDetailsVo.setTopPrice("0");
}
}else {
} else {
busSalesOrderPriceDetailsVo.setTopPrice("0");
}
vo.setBusSalesOrderPrice(busSalesOrderPriceDetailsVo);
@ -1961,9 +1961,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
vo.setUserSid(busSalesOrder.getCreateBySid());
vo.setProcInsId(busSalesOrder.getProcInstId());
vo.setTaskId(busSalesOrder.getTaskId());
if(StringUtils.isBlank(busSalesOrder.getCompanyInvoicingSid())){
if (StringUtils.isBlank(busSalesOrder.getCompanyInvoicingSid())) {
vo.setOrderInfoState(0);
}else{
} else {
vo.setOrderInfoState(1);
}
//车型状态
@ -1979,15 +1979,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
vo.setVehicleFunctionKey(selectDetails.getData().getVehicleType());
}
}
if (busSalesOrderModelDetailsVo.getModelName().contains("牵引车")){
if (busSalesOrderModelDetailsVo.getModelName().contains("牵引车")) {
vo.setTrailerState(true);
int i = busSalesOrderTrailerService.fetchByOrderSid(saleOrderSid);
if (i > 0){
if (i > 0) {
vo.setTrailerInfoState(1);
}else {
} else {
vo.setTrailerInfoState(0);
}
}else {
} else {
vo.setTrailerState(false);
vo.setTrailerInfoState(0);
}
@ -2150,6 +2150,26 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
return qw;
}
/**
* 构造查询条件
*
* @param query 查询条件
* @return
*/
private QueryWrapper<BusSalesOrder> appCreateQueryWrapperWx(AppBusSalesOrderQuery query) {
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<BusSalesOrder> qw = new QueryWrapper<>();
if (query != null) {
if (StringUtils.isNotBlank(query.getUserSid())) {
SysUserVo sysUserVo = sysUserFeign.fetchBySid(query.getUserSid()).getData();
CrmCustomerTempVo crmCustomerTempVo = crmCustomerTempFeign.selByMobile(sysUserVo.getMobile()).getData();
qw.eq("bo.customerSid", crmCustomerTempVo.getSid());
}
qw.eq("bo.nodeState", "已办结");
}
return qw;
}
/**
* App销售订单分页列表
*
@ -2510,9 +2530,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
if (!busSalesOrder.getPayTypeKey().equals(dto.getPayTypeKey())) {
isTrue = true;
}else{
if("2".equals(busSalesOrder.getPayTypeKey())){//贷款
if(!busSalesOrder.getFinancePlan().equals(dto.getFinancePlan())){
} else {
if ("2".equals(busSalesOrder.getPayTypeKey())) {//贷款
if (!busSalesOrder.getFinancePlan().equals(dto.getFinancePlan())) {
issTrue = true;
}
}
@ -3345,7 +3365,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (busSalesOrder == null) {
return rb.setMsg("该销售订单单据不存在");
}
if(StringUtils.isBlank(busSalesOrder.getCompanyInvoicingSid())){
if (StringUtils.isBlank(busSalesOrder.getCompanyInvoicingSid())) {
return rb.setMsg("请完善单据信息");
}
//车型信息、价格信息、订金信息是否全部完善
@ -3890,7 +3910,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<AppOrderTrailerInfoVo> appOrderTrailerInfoVos = new ArrayList<>();
for (BusSalesOrderTrailerDetailsVo busSalesOrderTrailerDetailsVo : busSalesOrderTrailerDetailsVos) {
AppOrderTrailerInfoVo appOrderTrailerInfoVo = new AppOrderTrailerInfoVo();
BeanUtil.copyProperties(busSalesOrderTrailerDetailsVo,appOrderTrailerInfoVo,"contractFile","certFile");
BeanUtil.copyProperties(busSalesOrderTrailerDetailsVo, appOrderTrailerInfoVo, "contractFile", "certFile");
List<BusSalesOrderTrailerFile> contractFile = busSalesOrderTrailerDetailsVo.getContractFile();
List<BusSalesOrderTrailerFile> certFile = busSalesOrderTrailerDetailsVo.getCertFile();
ArrayList<String> contractFileString = new ArrayList<>();
@ -3909,9 +3929,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
for (int i = 0; i < appOrderTrailerInfoVos.size(); i++) {
AppOrderTrailerInfoVo appOrderTrailerInfoVo = appOrderTrailerInfoVos.get(i);
if (appOrderTrailerInfoVos.size() == 1){
if (appOrderTrailerInfoVos.size() == 1) {
appOrderTrailerInfoVo.setTrailerName("挂车");
}else {
} else {
appOrderTrailerInfoVo.setTrailerName("挂车" + (i + 1));
}
}
@ -3922,21 +3942,21 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (vo.getModelInfo() != null) {
priceInfo.setTransactionPrice(vo.getModelInfo().getPrice());
}
if (StringUtils.isNotBlank(priceInfo.getPlannedPickUpLocationKey())){
if (StringUtils.isNotBlank(priceInfo.getPlannedPickUpLocationKey())) {
ScmWarehouseVo scmWarehouseVo = scmWarehouseFeign.fetchBySid(priceInfo.getPlannedPickUpLocationKey()).getData();
if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())){
if (StringUtils.isNotBlank(scmWarehouseVo.getCity()) && StringUtils.isNotBlank(scmWarehouseVo.getCounty())) {
priceInfo.setAddress(priceInfo.getAddress() + "(" + scmWarehouseVo.getCity() + scmWarehouseVo.getCounty() + scmWarehouseVo.getWarehouseAttribute() + ")");
}
}
if (appOrderTrailerInfoVos.size() == 1){
if (appOrderTrailerInfoVos.size() == 1) {
priceInfo.setGcOneConPrice(appOrderTrailerInfoVos.get(0).getSingleFinalPrice().toString());
priceInfo.setGcOneCount(appOrderTrailerInfoVos.get(0).getTrailerCount().toString());
}else if (appOrderTrailerInfoVos.size() == 2){
} else if (appOrderTrailerInfoVos.size() == 2) {
priceInfo.setGcOneConPrice(appOrderTrailerInfoVos.get(0).getSingleFinalPrice().toString());
priceInfo.setGcOneCount(appOrderTrailerInfoVos.get(0).getTrailerCount().toString());
priceInfo.setGcTwoConPrice(appOrderTrailerInfoVos.get(1).getSingleFinalPrice().toString());
priceInfo.setGcTwoCount(appOrderTrailerInfoVos.get(1).getTrailerCount().toString());
}else {
} else {
priceInfo.setGcOneConPrice("");
priceInfo.setGcOneCount("");
priceInfo.setGcTwoConPrice("");
@ -5213,7 +5233,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (busSalesOrder.get() == null) {
return rb.setMsg("该销售订单不存在");
}
if ("2".equals(busSalesOrder.get().getPayTypeKey())){
if ("2".equals(busSalesOrder.get().getPayTypeKey())) {
SolutionsDetailsVo data = loanSolutionsFeign.selectDetails(busSalesOrder.get().getSid()).getData();
List<BusSalesOrderTrailerDetailsVo> busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(busSalesOrder.get().getSid());
BigDecimal total = new BigDecimal("0");
@ -5221,10 +5241,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
total = total.add(datum.getSingleFinalPrice().multiply(new BigDecimal(datum.getTrailerCount())));
}
String trailerAmount = data.getTrailerAmount();
if (StringUtils.isBlank(trailerAmount)){
if (StringUtils.isBlank(trailerAmount)) {
trailerAmount = "0";
}
if (total.compareTo(new BigDecimal(trailerAmount)) != 0){
if (total.compareTo(new BigDecimal(trailerAmount)) != 0) {
return rb.setMsg("金融方案中挂车融资额与单台主车对应挂车成交价之和不一致,请检查!");
}
}
@ -5931,10 +5951,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<BusSalesOrderTrailerDetailsVo> busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(busSalesOrder.getSid());
//获取挂车金额
BigDecimal gcMoney = new BigDecimal("0");
if ("1".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrderTrailerDetailsVos.size() == 1){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
if (busSalesOrderTrailerDetailsVos.size() == 1) {
gcMoney = gcMoney.add(busSalesOrderTrailerDetailsVos.get(0).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(0).getTrailerCount())));
}else if (busSalesOrderTrailerDetailsVos.size() == 2){
} else if (busSalesOrderTrailerDetailsVos.size() == 2) {
BigDecimal gc1 = busSalesOrderTrailerDetailsVos.get(0).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(0).getTrailerCount()));
BigDecimal gc2 = busSalesOrderTrailerDetailsVos.get(1).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(1).getTrailerCount()));
gcMoney = gcMoney.add(gc1).add(gc2);
@ -6136,10 +6156,10 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
List<BusSalesOrderTrailerDetailsVo> busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(busSalesOrder.getSid());
//获取挂车金额
BigDecimal gcMoney = new BigDecimal("0");
if ("1".equals(busSalesOrder.getPayTypeKey())){
if (busSalesOrderTrailerDetailsVos.size() == 1){
if ("1".equals(busSalesOrder.getPayTypeKey())) {
if (busSalesOrderTrailerDetailsVos.size() == 1) {
gcMoney = gcMoney.add(busSalesOrderTrailerDetailsVos.get(0).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(0).getTrailerCount())));
}else if (busSalesOrderTrailerDetailsVos.size() == 2){
} else if (busSalesOrderTrailerDetailsVos.size() == 2) {
BigDecimal gc1 = busSalesOrderTrailerDetailsVos.get(0).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(0).getTrailerCount()));
BigDecimal gc2 = busSalesOrderTrailerDetailsVos.get(1).getSingleFinalPrice().multiply(new BigDecimal(busSalesOrderTrailerDetailsVos.get(1).getTrailerCount()));
gcMoney = gcMoney.add(gc1).add(gc2);
@ -7559,7 +7579,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
newSalesOrderSid = newSalesOrder.getSid();
Date createTime = newSalesOrder.getCreateTime();
Date modifyTime = newSalesOrder.getModifyTime();
BeanUtils.copyProperties(newSalesOrder, busSalesOrder);
BeanUtils.copyProperties(busSalesOrder, newSalesOrder);
newSalesOrder.setSid(newSalesOrderSid);
String billNo = getApplyCode(busSalesOrder.getUseOrgSid());
newSalesOrder.setBillNo(billNo);
@ -7571,6 +7591,7 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
newSalesOrder.setTaskId(null);
newSalesOrder.setOneBillMoney(null);
newSalesOrder.setContractNo(null);
newSalesOrder.setClosingDate(null);
newSalesOrder.setCreateTime(createTime);
newSalesOrder.setModifyTime(modifyTime);
if (StringUtils.isNotBlank(customerSid)) {
@ -7680,9 +7701,9 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
//销售订单-挂车信息
List<BusSalesOrderTrailerDetailsVo> busSalesOrderTrailerDetailsVos = busSalesOrderTrailerService.fetchAllByOrderSid(saleOrderSid);
if (null != busSalesOrderTrailerDetailsVos){
if (null != busSalesOrderTrailerDetailsVos) {
for (BusSalesOrderTrailerDetailsVo busSalesOrderTrailerDetailsVo : busSalesOrderTrailerDetailsVos) {
if (null != busSalesOrderTrailerDetailsVo){
if (null != busSalesOrderTrailerDetailsVo) {
BusSalesOrderTrailer newBusSalesOrderTrailer = new BusSalesOrderTrailer();
String makeupSid = newBusSalesOrderTrailer.getSid();
Date makeupCreateTime = newBusSalesOrderTrailer.getCreateTime();
@ -8271,6 +8292,63 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
public void saveList(List<BusSalesOrder> orders) {
baseMapper.saveList(orders);
baseMapper.saveList(orders);
}
public PagerVo<AppBusSalesOrderVo> getSaleOrdersWx(PagerQuery<AppBusSalesOrderQuery> pq) {
QueryWrapper<BusSalesOrder> qw = appCreateQueryWrapperWx(pq.getParams());
IPage<BusSalesOrder> page = PagerUtil.queryToPage(pq);
IPage<AppBusSalesOrderVo> pagging = baseMapper.getSaleOrders(page, qw, pq.getParams().getName(), "");
for (AppBusSalesOrderVo record : pagging.getRecords()) {
record.setShowFinancialBtn(false);
record.setShowStopBtn(false);
record.setShowContractBtn(false);
record.setShowBorrowBtn(false);
record.setShowInputBtn(false);
record.setShowApplyBtn(false);
if (StringUtils.isBlank(record.getClosingDate())) {
record.setClosingDate("-");
}
if (StringUtils.isNotBlank(record.getCustomerImage())) {
record.setCustomerImage(fileUploadComponent.getUrlPrefix() + record.getCustomerImage());
}
//已交定金
String deposit = "-";
BigDecimal depositBig = new BigDecimal("0");
if (StringUtils.isNotBlank(record.getDepositAll())) {
//需补交订金
if (StringUtils.isNotBlank(record.getMakeUpDeposit())) {
depositBig = new BigDecimal(record.getDepositAll()).subtract(new BigDecimal(record.getMakeUpDeposit()));
} else {
depositBig = new BigDecimal(record.getDepositAll());
}
//将已交订金转为string
deposit = depositBig.toString();
}
record.setDeposit(deposit);
//查询车型信息
AppModelInfoVo appModelInfo = baseMapper.selectModelInfoByOrderSid(record.getSaleOrderSid());
if (appModelInfo != null) {
if (StringUtils.isBlank(appModelInfo.getPrice())) {
appModelInfo.setPrice("-");
}
//根据车型查询车型图片
ResultBean imageString = baseVehicleModelAppendixFeign.selectImage(appModelInfo.getModelSid());
if (imageString.getSuccess()) {
appModelInfo.setCarImage(imageString.getData().toString());
}
record.setModelInfo(appModelInfo);
}
//是否保险
String insuranceInfo = record.getInsuranceInfo();
if (StringUtils.isBlank(insuranceInfo)) {
record.setInsuranceInfo("-");
}
if (StringUtils.isBlank(record.getSaleOrderState())) {
record.setSaleOrderState("待提交");
}
}
PagerVo<AppBusSalesOrderVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
}

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

@ -43,10 +43,7 @@ import com.yxt.anrui.portal.api.sysstaffinfo.SysStaffinfoFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserInfoVo;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.portal.api.sysuser.*;
import com.yxt.anrui.portal.api.sysuser.app.AppUserOrgInfoVo;
import com.yxt.anrui.portal.config.DictCommonType;
import com.yxt.common.base.config.component.FileUploadComponent;
@ -935,6 +932,11 @@ public class CrmCustomerTempService extends MybatisBaseService<CrmCustomerTempMa
}
commonAppendixFeign.saveCommonAppendix(visitSid, pcCommonAppendixDtoList);
}
//创建客户账号中
SysUserDto sysUserDto = new SysUserDto();
sysUserDto.setMobile(dto.getMobile());
sysUserDto.setUserType(2);
sysUserFeign.saveCustUser(sysUserDto);
return crmCustomerTemp;
}

4
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeign.java

@ -56,6 +56,10 @@ public interface SysUserFeign {
@PostMapping("/save")
public ResultBean save(@Valid @RequestBody SysUserDto dto);
@ApiOperation("新增保存客户账号")
@PostMapping("/saveCustUser")
public ResultBean saveCustUser(@Valid @RequestBody SysUserDto dto);
@ApiOperation("根据staffSid删除用户(逻辑删除)")
@PostMapping("/delSysUserByMobile")
public ResultBean delSysUserByMobile(@RequestParam("sid") String sid);

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/SysUserFeignFallback.java

@ -50,6 +50,11 @@ public class SysUserFeignFallback implements SysUserFeign {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/save无法访问");
}
@Override
public ResultBean saveCustUser(SysUserDto dto) {
return null;
}
@Override
public ResultBean delSysUserByMobile(String sid) {
return ResultBean.fireFail().setMsg("接口anrui_portal/sysuser/delSysUserByMobile无法访问");

5
anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/wx/WxHomePageVo.java

@ -24,4 +24,9 @@ public class WxHomePageVo implements Vo {
private Boolean isHave;
@ApiModelProperty(value = "客户sid")
private String staffSid;
@ApiModelProperty(value = "基础信息是否完善")
private Boolean base = true;
@ApiModelProperty(value = "身份证信息是否完善")
private Boolean idCard = false;
}

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

@ -172,6 +172,34 @@ public class SysUserRest implements SysUserFeign {
return rb.success();
}
@Override
public ResultBean saveCustUser(SysUserDto dto) {
ResultBean rb = ResultBean.fireFail();
//手机号
String mobile = dto.getMobile();
//用户类型
int userType = dto.getUserType();
if (StringUtils.isBlank(mobile)) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号不能为空");
} else {
SysUser one = sysUserService.fetchByUserName(mobile);
if (null != one) {
return new ResultBean<SysUserVo>().fail().setMsg("手机号重复!`");
}
}
if (userType == 0) {
return new ResultBean<SysUserVo>().fail().setMsg("用户类型不能为空");
}
String password = mobile.substring(5, 11);
String md5 = Encodes.md5(password);
SysUser su = new SysUser();
dto.fillEntity(su);
su.setUserName(mobile);
su.setPassword(md5);
sysUserService.save(su);
return rb.success();
}
@Override
public ResultBean delSysUserByMobile(String mobile) {
int i = sysUserService.delSysUserByMobile(mobile);

148
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -5226,6 +5226,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
//主方案
for (int i = 0; i < mainPeriod; i++) {
LoanRepaymentPlanDetails mainDto = new LoanRepaymentPlanDetails();
mainDto.setIsEnable(3);
mainDto.setCreateBySid(userSid);
mainDto.setSalesOrderSid(salesOrderSid);
mainDto.setLoanContractNo(loanContractNo);
@ -5265,6 +5267,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (scheduleDetails.getIsOtherPolicy().equals("1")) {
for (int i = 0; i < Integer.parseInt(oPeriod); i++) {
LoanRepaymentPlanDetails otherDto = new LoanRepaymentPlanDetails();
otherDto.setIsEnable(3);
otherDto.setCreateBySid(userSid);
otherDto.setSalesOrderSid(salesOrderSid);
otherDto.setLoanContractNo(loanContractNo);
@ -5316,6 +5319,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
//主方案
for (int i = 0; i < mainPeriod; i++) {
LoanRepaymentPlanDetails mainDto = new LoanRepaymentPlanDetails();
mainDto.setIsEnable(3);
mainDto.setCreateBySid(userSid);
mainDto.setSalesOrderSid(salesOrderSid);
mainDto.setLoanContractNo(loanContractNo);
@ -5651,6 +5655,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
LoanRepaymentPlanDetails p = new LoanRepaymentPlanDetails();
BeanUtil.copyProperties(importSleepData, p, "id", "sid");
p.setCreateBySid(userSid);
p.setIsEnable(3);
planDetails.add(p);
}
loanRepaymentPlanDetailsService.saveList(planDetails);
@ -5826,6 +5831,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
List<LoanRepaymentPlanDetails> o = new ArrayList<>();
if (Q.compareTo(BigDecimal.ZERO) == 0) {
for (int i = 0; i < M1; i++) {
boolean pd = false;
LoanRepaymentPlanDetails plan = m.get(i);
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
@ -5845,6 +5851,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
histories.add(history);
if (i == M1 - 1) {
if (L.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
plan.setPaymentInterest(L);
plan.setOverdue(0);
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
@ -5860,6 +5867,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
jrList.add(jr);
}
if (B.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
plan.setOverdue(0);
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
@ -5881,7 +5889,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
fundDay.setIsEnable(3);
loanFundDays.add(fundDay);
}
if (L.compareTo(BigDecimal.ZERO) > 0 || B.compareTo(BigDecimal.ZERO) > 0) {
if (pd) {
planDetails.add(plan);
}
}
@ -5913,14 +5921,22 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
BigDecimal m1i = BigDecimal.ZERO; //主产品月还
BigDecimal m2i = BigDecimal.ZERO; //其他融月还
if (i <= M1) {
boolean pd = false;
BigDecimal temp = BigDecimal.ZERO;
BigDecimal D1 = BigDecimal.ZERO;
LoanRepaymentPlanDetails p = m.get(i - 1);
m1i = p.getDueMoney();
if (T1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//垫款金额、垫资方逾期利息
D1 = T1.compareTo(m1i) >= 0 ? m1i : T1;
BigDecimal L1 = L.multiply(D1.divide(T, BigDecimal.ROUND_CEILING));
BigDecimal L1 = BigDecimal.ZERO;
if (D1.compareTo(T) >= 0) {
L1 = T;
} else {
BigDecimal bigDecimal = D1.divide(T, 2, BigDecimal.ROUND_HALF_UP);
L1 = L.multiply(bigDecimal);
}
T1 = T1.subtract(D1);
p.setPaymentInterest(L1);
p.setOverdue(0);
@ -5939,9 +5955,16 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
if (Q1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//资金占用费
temp = Q1.compareTo(m1i) >= 0 ? m1i : Q1;
BigDecimal B1 = B.multiply(temp.divide(Q, BigDecimal.ROUND_CEILING));
BigDecimal B1 = BigDecimal.ZERO;
if (temp.compareTo(Q) >= 0) {
B1 = Q;
} else {
BigDecimal bigDecimal = temp.divide(Q, 2, BigDecimal.ROUND_HALF_UP);
B1 = B.multiply(bigDecimal);
}
if (Q1.compareTo(m1i) < 0) {
//生成 i 期还款记录,月还金额 m1i - Q1
LoanRepaymentHistory history = new LoanRepaymentHistory();
@ -5983,11 +6006,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
loanFundDays.add(fundDay);
}
Q1 = Q1.subtract(temp);
}
if (T1.compareTo(BigDecimal.ZERO) > 0 || Q1.compareTo(BigDecimal.ZERO) > 0) {
planDetails.add(p);
}
if (Q1.compareTo(BigDecimal.ZERO) == 0) {
} else if (Q1.compareTo(BigDecimal.ZERO) == 0) {
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
history.setDataTime(new Date());
@ -6005,16 +6024,27 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
history.setScheduleSid(schedule.getSid());
histories.add(history);
}
if (pd) {
planDetails.add(p);
}
}
if (i <= M2) {
boolean pd = false;
BigDecimal temp = BigDecimal.ZERO;
BigDecimal D1 = BigDecimal.ZERO;
LoanRepaymentPlanDetails p = o.get(i - 1);
m2i = p.getDueMoney();
if (T1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//垫款金额、垫资方逾期利息
D1 = T1.compareTo(m2i) >= 0 ? m2i : T1;
BigDecimal L1 = L.multiply(D1.divide(T, BigDecimal.ROUND_CEILING));
BigDecimal L1 = BigDecimal.ZERO;
if (D1.compareTo(T) >= 0) {
L1 = T;
} else {
BigDecimal bigDecimal = D1.divide(T, 2, BigDecimal.ROUND_HALF_UP);
L1 = L.multiply(bigDecimal);
}
T1 = T1.subtract(D1);
p.setPaymentInterest(L1);
p.setOverdue(0);
@ -6033,9 +6063,16 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
if (Q1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//资金占用费
temp = Q1.compareTo(m2i) >= 0 ? m2i : Q1;
BigDecimal B1 = B.multiply(temp.divide(Q, BigDecimal.ROUND_CEILING));
BigDecimal B1 = BigDecimal.ZERO;
if (temp.compareTo(Q) >= 0) {
B1 = Q;
} else {
BigDecimal bigDecimal = temp.divide(Q, 2, BigDecimal.ROUND_HALF_UP);
B1 = B.multiply(bigDecimal);
}
if (Q1.compareTo(m2i) < 0) {
//生成 i 期还款记录,月还金额 m1i - Q1
LoanRepaymentHistory history = new LoanRepaymentHistory();
@ -6077,11 +6114,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
loanFundDays.add(fundDay);
}
Q1 = Q1.subtract(temp);
}
if (T1.compareTo(BigDecimal.ZERO) > 0 || Q1.compareTo(BigDecimal.ZERO) > 0) {
planDetails.add(p);
}
if (Q1.compareTo(BigDecimal.ZERO) == 0) {
} else if (Q1.compareTo(BigDecimal.ZERO) == 0) {
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
history.setDataTime(new Date());
@ -6099,11 +6132,12 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
history.setScheduleSid(schedule.getSid());
histories.add(history);
}
}
if (pd) {
planDetails.add(p);
}
}
}
}
}
} else {
@ -6112,6 +6146,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
List<LoanRepaymentPlanDetails> o = loanRepaymentPlanDetailsService.selByMainSidAndPolicyOrOther(schedule.getSid(), "1");
if (Q.compareTo(BigDecimal.ZERO) == 0) {
for (int i = 0; i < M1; i++) {
boolean pd = false;
LoanRepaymentPlanDetails plan = m.get(i);
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
@ -6131,6 +6166,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
histories.add(history);
if (i == M1 - 1) {
if (L.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
plan.setPaymentInterest(L);
plan.setOverdue(0);
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
@ -6145,6 +6181,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
jrList.add(jr);
}
if (B.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
plan.setOverdue(0);
FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR();
jr.setCreateBySid(userSid);
@ -6165,7 +6202,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
fundDay.setBusSid(plan.getSid());
loanFundDays.add(fundDay);
}
if (L.compareTo(BigDecimal.ZERO) > 0 || B.compareTo(BigDecimal.ZERO) > 0) {
if (pd) {
planDetails.add(plan);
}
}
@ -6215,14 +6252,22 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
BigDecimal m1i = BigDecimal.ZERO; //主产品月还
BigDecimal m2i = BigDecimal.ZERO; //其他融月还
if (i <= M1) {
boolean pd = false;
BigDecimal temp = BigDecimal.ZERO;
BigDecimal D1 = BigDecimal.ZERO;
LoanRepaymentPlanDetails p = m.get(i - 1);
m1i = p.getDueMoney();
if (T1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//垫款金额、垫资方逾期利息
D1 = T1.compareTo(m1i) >= 0 ? m1i : T1;
BigDecimal L1 = L.multiply(D1.divide(T, BigDecimal.ROUND_CEILING));
BigDecimal L1 = BigDecimal.ZERO;
if (D1.compareTo(T) >= 0) {
L1 = T;
} else {
BigDecimal bigDecimal = D1.divide(T, 2, BigDecimal.ROUND_HALF_UP);
L1 = L.multiply(bigDecimal);
}
T1 = T1.subtract(D1);
p.setPaymentInterest(L1);
p.setOverdue(0);
@ -6241,9 +6286,16 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
if (Q1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//资金占用费
temp = Q1.compareTo(m1i) >= 0 ? m1i : Q1;
BigDecimal B1 = B.multiply(temp.divide(Q, BigDecimal.ROUND_CEILING));
BigDecimal B1 = BigDecimal.ZERO;
if (temp.compareTo(Q) >= 0) {
B1 = Q;
} else {
BigDecimal bigDecimal = temp.divide(Q, 2, BigDecimal.ROUND_HALF_UP);
B1 = B.multiply(bigDecimal);
}
if (Q1.compareTo(m1i) < 0) {
//生成 i 期还款记录,月还金额 m1i - Q1
LoanRepaymentHistory history = new LoanRepaymentHistory();
@ -6285,11 +6337,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
loanFundDays.add(fundDay);
}
Q1 = Q1.subtract(temp);
}
if (T1.compareTo(BigDecimal.ZERO) > 0 || Q1.compareTo(BigDecimal.ZERO) > 0) {
planDetails.add(p);
}
if (Q1.compareTo(BigDecimal.ZERO) == 0) {
} else if (Q1.compareTo(BigDecimal.ZERO) == 0) {
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
history.setDataTime(new Date());
@ -6307,16 +6355,27 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
history.setScheduleSid(schedule.getSid());
histories.add(history);
}
if (true) {
planDetails.add(p);
}
}
if (i <= M2) {
boolean pd = false;
BigDecimal temp = BigDecimal.ZERO;
BigDecimal D1 = BigDecimal.ZERO;
LoanRepaymentPlanDetails p = o.get(i - 1);
m2i = p.getDueMoney();
if (T1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//垫款金额、垫资方逾期利息
D1 = T1.compareTo(m2i) >= 0 ? m2i : T1;
BigDecimal L1 = L.multiply(D1.divide(T, BigDecimal.ROUND_CEILING));
BigDecimal L1 = BigDecimal.ZERO;
if (D1.compareTo(T) >= 0) {
L1 = T;
} else {
BigDecimal bigDecimal = D1.divide(T, 2, BigDecimal.ROUND_HALF_UP);
L1 = L.multiply(bigDecimal);
}
T1 = T1.subtract(D1);
p.setPaymentInterest(L1);
p.setOverdue(0);
@ -6335,9 +6394,16 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
}
if (Q1.compareTo(BigDecimal.ZERO) > 0) {
pd = true;
//资金占用费
temp = Q1.compareTo(m2i) >= 0 ? m2i : Q1;
BigDecimal B1 = B.multiply(temp.divide(Q, BigDecimal.ROUND_CEILING));
BigDecimal B1 = BigDecimal.ZERO;
if (temp.compareTo(Q) >= 0) {
B1 = Q;
} else {
BigDecimal bigDecimal = temp.divide(Q, 2, BigDecimal.ROUND_HALF_UP);
B1 = B.multiply(bigDecimal);
}
if (Q1.compareTo(m2i) < 0) {
//生成 i 期还款记录,月还金额 m1i - Q1
LoanRepaymentHistory history = new LoanRepaymentHistory();
@ -6379,11 +6445,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
loanFundDays.add(fundDay);
}
Q1 = Q1.subtract(temp);
}
if (T1.compareTo(BigDecimal.ZERO) > 0 || Q1.compareTo(BigDecimal.ZERO) > 0) {
planDetails.add(p);
}
if (Q1.compareTo(BigDecimal.ZERO) == 0) {
} else if (Q1.compareTo(BigDecimal.ZERO) == 0) {
LoanRepaymentHistory history = new LoanRepaymentHistory();
history.setCreateBySid(userSid);
history.setDataTime(new Date());
@ -6401,6 +6463,10 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
history.setScheduleSid(schedule.getSid());
histories.add(history);
}
if (pd) {
planDetails.add(p);
}
}
}
@ -6667,12 +6733,28 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
info.setMainAmount(field);
}
if (head.equals("销售部门编码")) {
if (field.contains(".")) {
String s = field.substring(field.indexOf(".") + 1);
double v = Double.parseDouble(s);
int intValue = (int) v;
if (intValue == 0) {
field = field.substring(0, field.indexOf("."));
}
}
info.setSalesDeptNo(field);
}
if (head.equals("销售部门")) {
info.setSalesDept(field);
}
if (head.equals("分公司编码")) {
if (field.contains(".")) {
String s = field.substring(field.indexOf(".") + 1);
double v = Double.parseDouble(s);
int intValue = (int) v;
if (intValue == 0) {
field = field.substring(0, field.indexOf("."));
}
}
info.setUseOrgNo(field);
}
if (head.equals("分公司")) {

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

@ -81,6 +81,13 @@ import java.util.List;
fallback = AppBusSalesOrderFeignFallback.class)
public interface AppBusSalesOrderFeign {
/*-------------------------------------小程序销售订单接口----------------------------------------------*/
@ApiOperation("小程序销售订单分页列表")
@PostMapping("/getSaleOrdersWx")
@ResponseBody
public ResultBean<PagerVo<BusOrderSalesVo>> getSaleOrdersWx(@RequestBody PagerQuery<BusOrderSalesQuery> pq);
/*-------------------------------------App销售订单接口------------------------------------------------*/
@ApiOperation("初始化销售订单状态")

3
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/order/BusOrderSalesVo.java

@ -15,6 +15,9 @@ import lombok.Data;
public class BusOrderSalesVo implements Vo {
private static final long serialVersionUID = 6162163732173109484L;
@ApiModelProperty("经销商")
private String dealer;
/**
* 销售订单sid
*/

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

@ -83,6 +83,12 @@ public class AppBusSalesOrderRest implements AppBusSalesOrderFeign {
@Autowired
AppBusSalesOrderService appBusSalesOrderService;
/************************************ 小程序订单接口 *********************************************/
@Override
public ResultBean<PagerVo<BusOrderSalesVo>> getSaleOrdersWx(PagerQuery<BusOrderSalesQuery> pq) {
return appBusSalesOrderService.getSaleOrdersWx(pq);
}
/************************************* 销售订单接口 *********************************************/

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

@ -1021,4 +1021,12 @@ public class AppBusSalesOrderService {
appSalesOrderTrailerDetailsVo.setContractFile(contractFiless);
return rb.success().setData(appSalesOrderTrailerDetailsVo);
}
public ResultBean<PagerVo<BusOrderSalesVo>> getSaleOrdersWx(PagerQuery<BusOrderSalesQuery> pagerQuery) {
ResultBean<PagerVo<BusOrderSalesVo>> rb = ResultBean.fireFail();
PagerQuery<AppBusSalesOrderQuery> pq = CoverUtils.getPagerQuery(pagerQuery);
ResultBean<PagerVo<AppBusSalesOrderVo>> resultBean = busSalesOrderFeign.getSaleOrdersWx(pq);
PagerVo<BusOrderSalesVo> vo = CoverUtils.selectPagerVo(resultBean.getData());
return rb.success().setMsg("当前共查询到" + vo.getTotal() + "条记录").setData(vo);
}
}

8
yxt-as-ui/src/api/warehouse/warehouse.js

@ -67,4 +67,12 @@ export default {
})
},
// 按角色(配件主管、配件计划员、仓库管理员)获取人员
selMangerByRole: function(params) {
return request({
url: '/wms/apiadmin/base/wmswarehouseinfo/selMangerByRole',
method: 'get',
params: params,
})
},
}

6
yxt-as-ui/src/views/maintenance/maintenanceOutbound/relation/chooseproducts.vue

@ -53,7 +53,7 @@
</el-table-column>
<el-table-column prop="billNo" label="工单编号" align="center" />
<el-table-column prop="billType" label="工单类型" align="center" />
<el-table-column prop="billType" label="是否外出" align="center" />
<!-- <el-table-column prop="billType" label="是否外出" align="center" /> -->
<el-table-column prop="customerName" label="客户名称" align="center" />
<el-table-column prop="mobile" label="联系电话" align="center" />
<el-table-column prop="vinNo" label="车架号" align="center" />
@ -192,8 +192,8 @@
}
},
toInfo(row){
this.$emit('backData', row.sid)
toInfo(row) {
this.$emit('backData', row.sid)
},
//
handleReturn() {

91
yxt-as-ui/src/views/warehouse/goodsShelves/goodsShelvesAdd.vue

@ -31,7 +31,7 @@
</el-form-item>
</el-col>
<el-col :span="16">
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 选择所属库区</div>
<el-form-item prop="locationName">
<el-select v-model="formobj.locationName" placeholder="请选择所属库区" class="addinputw addinputInfo"
@ -41,9 +41,18 @@
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">库位编码</div>
<el-form-item prop="rackCode">
<span class="addinputw addinputInfo">{{formobj.rackCode}}</span>
<!-- <el-input v-model="formobj.rackCode" placeholder="由系统自动生成。格式:排-架-层-位" :readonly="true"
class="addinputw addinputInfo" clearable oninput="this.value=this.value.replace(/[^\w_-]/g,'');" /> -->
</el-form-item>
</el-col>
</el-row>
<el-row>
<!-- <el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 库位名称</div>
<el-form-item prop="rackName">
@ -58,7 +67,7 @@
oninput="this.value=this.value.replace(/[^\w_-]/g,'');" />
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
@ -121,7 +130,7 @@
formobj: {
sid: '',
rackName: '',
rackCode: '',
rackCode: '由系统自动生成。格式:排-架-层-位。',
warehouseName: '',
warehouseSid: '',
locationName: '',
@ -144,16 +153,6 @@
required: true,
message: '请选择所属库区',
trigger: 'change'
}],
rackName: [{
required: true,
message: '库位名称不能为空',
trigger: 'blur'
}],
rackCode: [{
required: true,
message: '库位编码不能为空',
trigger: 'blur'
}]
}
}
@ -208,70 +207,6 @@
saveOrUpdate() {
console.log('>>>>>>>>>saveOrUpdate', this.formobj)
// if (this.formobj.warehouseSid == '' || this.formobj.warehouseName == '') {
// this.$message({
// showClose: true,
// type: 'warning',
// message: ""
// })
// return
// }
// if (this.formobj.locationSid == '' || this.formobj.locationSid == '') {
// this.$message({
// showClose: true,
// type: 'warning',
// message: ""
// })
// return
// }
// if (this.formobj.rackName == '') {
// this.$message({
// showClose: true,
// type: 'warning',
// message: ""
// })
// return
// }
// if (this.formobj.rackCode == '') {
// this.$message({
// showClose: true,
// type: 'warning',
// message: ""
// })
// return
// }
var aaa = this.formobj.rackCode.split('-')
console.log('>>>>>>>>>saveOrUpdate', aaa)
if (aaa.length != 4) {
this.$message({
showClose: true,
type: 'warning',
message: '库位编码格式错误'
})
return
}
for (var i = 0; i < aaa.length; i++) {
if (aaa[i] == '') {
this.$message({
showClose: true,
type: 'warning',
message: '库位编码格式错误'
})
return
}
}
this.$refs['form_obj'].validate((valid) => {
if (valid) {
req.saveGoodsShelves(this.formobj)

15
yxt-as-ui/src/views/warehouse/goodsShelves/index.vue

@ -9,9 +9,9 @@
</el-button>
<div v-show="isSearchShow" class="search">
<el-form :inline="true" class="tab-header">
<el-form-item label="库位名称">
<!-- <el-form-item label="库位名称">
<el-input v-model="queryParams.params.name" placeholder="" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="库位编码">
<el-input v-model="queryParams.params.code" placeholder="" clearable />
</el-form-item>
@ -59,10 +59,11 @@
inactive-value="2" @change="enableChange(scope.row.sid,scope.row.isEnable)" />
</template>
</el-table-column>
<el-table-column prop="rackName" label="库位名称" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<!-- <el-table-column prop="rackName" label="库位名称" align="center" /> -->
<el-table-column prop="warehouseName" label="所属仓库" align="center" />
<el-table-column prop="locationName" label="所属库区" align="center" />
<el-table-column prop="rackCode" label="库位编码" align="center" />
<el-table-column prop="remarks" label="备注" align="center" />
</el-table>
</div>
<!-- End 项目列表 -->
@ -171,9 +172,9 @@
this.sids = aa
},
getwarehouse() {
var parpams = {
orgPath:window.sessionStorage.getItem('defaultOrgPath'),
}
var parpams = {
orgPath: window.sessionStorage.getItem('defaultOrgPath'),
}
req2.getAllWarehouse(parpams).then(resp => {
console.log('>>>>>>>>>getAllWarehouse', resp)
this.warehouseList = resp.data

2
yxt-as-ui/src/views/warehouse/warehouse/index.vue

@ -53,7 +53,7 @@
<el-table-column prop="warehouseName" label="仓库名称" align="center" />
<el-table-column prop="warehouseCode" label="仓库编码" align="center" />
<el-table-column prop="manager" label="仓库主管" align="center" />
<el-table-column prop="telephone" label="联系电话" align="center" />
<!-- <el-table-column prop="telephone" label="联系电话" align="center" /> -->
<el-table-column prop="squareMeter" label="占地面积" align="center" />
<el-table-column prop="address" label="仓库地址" align="center" />
<el-table-column prop="sortNo" label="排序" align="center" />

77
yxt-as-ui/src/views/warehouse/warehouse/warehouseAdd.vue

@ -20,10 +20,11 @@
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 仓库编码</div>
<div class="span-sty">仓库编码</div>
<el-form-item prop="warehouseCode">
<el-input v-model="formobj.warehouseCode" placeholder="仓库编码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
<span class="addinputw addinputInfo">{{formobj.warehouseCode}}</span>
<!-- <el-input v-model="formobj.warehouseCode" placeholder="仓库编码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" /> -->
</el-form-item>
</el-col>
@ -39,7 +40,7 @@
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 仓库类型</div>
<div class="span-sty">仓库类型</div>
<el-form-item prop="warehouseTypeValue">
<el-select v-model="formobj.warehouseTypeValue" placeholder="请选择仓库类型" class="addinputw addinputInfo"
@change="selectWarehouseTypeChange">
@ -61,7 +62,15 @@
<el-col :span="8">
<div class="span-sty">仓库管理员</div>
<el-form-item>
<el-input v-model="formobj.manager" placeholder="仓库管理员" class="addinputw addinputInfo" clearable />
<el-form-item prop="manager">
<el-select v-model="formobj.manager" placeholder="请选择仓库管理员" class="addinputw addinputInfo"
@change="selectManager">
<el-option v-for="item in managerList" :key="item.sid" :label="item.name" :value="item.sid" />
</el-select>
</el-form-item>
<!-- <el-input v-model="formobj.manager" placeholder="仓库管理员" class="addinputw addinputInfo" clearable /> -->
</el-form-item>
</el-col>
@ -98,7 +107,7 @@
</el-row>
<el-row>
<!-- <el-row>
<el-col :span="8">
<div class="span-sty">联系人</div>
@ -122,7 +131,7 @@
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row>
@ -168,7 +177,8 @@
<script>
import req from '@/api/warehouse/warehouse.js'
import {
typeValues
typeValues,
getOrgSidByPath
} from '@/api/Common/dictcommons.js'
export default {
components: {},
@ -178,13 +188,14 @@
formobj: {
sid: '',
warehouseName: '',
warehouseCode: '',
warehouseCode: '由系统自动生成。',
warehouseTypeKey: '',
warehouseTypeValue: '',
contacts: "",
mob: "",
telephone: "",
manager: '',
managerSid: '',
longitude: '',
latitude: '',
usageStatus: "",
@ -199,22 +210,13 @@
userSid: window.sessionStorage.getItem('userSid'),
},
warehouseTypeList: [],
managerList: [],
rules: {
warehouseCode: [{
required: true,
message: '仓库编码不能为空',
trigger: 'blur'
}],
warehouseName: [{
required: true,
message: '仓库名称不能为空',
trigger: 'blur'
}],
warehouseTypeValue: [{
required: true,
message: '请选择仓库类型',
trigger: 'change'
}],
sortNo: [{
required: true,
message: '排序不能为空',
@ -225,15 +227,28 @@
message: '请选择使用状态',
trigger: 'change'
}],
manager: [{
required: true,
message: '请选择仓库管理员',
trigger: 'change'
}],
}
}
},
created() {
this.getDictValue()
},
methods: {
changeTheme(val) {
},
selectManager(val) {
const choose = this.managerList.filter((item) => item.sid == val)
console.log('>>>>>>>>>selectWarehouseTypeChange', choose)
this.formobj.manager = choose[0].name
this.formobj.managerSid = choose[0].sid
},
getDictValue() {
@ -246,6 +261,26 @@
console.log('>>>>>>>>>typeValues', resp)
this.warehouseTypeList = resp.data
}).catch(() => {})
getOrgSidByPath({
orgPath: window.sessionStorage.getItem('defaultOrgPath')
}).then((res) => {
if (res.success) {
this.formobj.createOrgSid = res.data
req.selMangerByRole({
createOrgSid: res.data
})
.then(resp => {
if (resp.success) {
this.managerList = resp.data
}
})
.catch(e => {})
}
})
},
selectWarehouseTypeChange(val) {
@ -306,12 +341,14 @@
this.$emit('doback')
},
showAdd() {
this.getDictValue()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.getDictValue()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})

39
yxt-as-ui/src/views/warehouse/warehouse/warehouseInfo.vue

@ -21,74 +21,74 @@
<el-col :span="8">
<div class="span-sty">仓库编码</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseCode}}</span>
<span class="addinputInfo">{{formobj.warehouseCode}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">仓库名称</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseName}}</span>
<span class="addinputInfo">{{formobj.warehouseName}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-row>
<el-col :span="8">
<div class="span-sty">仓库类型</div>
<el-form-item>
<span class="addinputInfo">{{formobj.warehouseTypeValue}}</span>
<span class="addinputInfo">{{formobj.warehouseTypeValue}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库面积</div>
<el-form-item>
<span class="addinputInfo">{{formobj.squareMeter}}</span>
<span class="addinputInfo">{{formobj.squareMeter}}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">仓库管理员</div>
<el-form-item>
<span class="addinputInfo">{{formobj.manager}}</span>
<span class="addinputInfo">{{formobj.manager}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-row>
<el-col :span="24">
<div class="span-sty">仓库地址</div>
<el-form-item>
<span class="addinputInfo">{{formobj.address}}</span>
<span class="addinputInfo">{{formobj.address}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-row>
<el-col :span="8">
<div class="span-sty">经度</div>
<el-form-item>
<span class="addinputInfo">{{formobj.longitude}}</span>
<span class="addinputInfo">{{formobj.longitude}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">纬度</div>
<el-form-item>
<span class="addinputInfo">{{formobj.latitude}}</span>
<span class="addinputInfo">{{formobj.latitude}}</span>
</el-form-item>
</el-col>
</el-row>
<el-row >
<!-- <el-row >
<el-col :span="8">
<div class="span-sty">联系人</div>
@ -111,21 +111,22 @@
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<el-row >
<el-row>
<el-col :span="8">
<div class="span-sty">排序</div>
<el-form-item>
<span class="addinputInfo">{{formobj.sortNo}}</span>
<span class="addinputInfo">{{formobj.sortNo}}</span>
</el-form-item>
</el-col>
<el-col :span="16">
<div class="span-sty">使用状态</div>
<el-form-item>
<el-radio-group v-model="formobj.usageStatus" size="small" :disabled='true' class="addinputw addinputInfo">
<el-radio-group v-model="formobj.usageStatus" size="small" :disabled='true'
class="addinputw addinputInfo">
<el-radio :label="'1'">正常</el-radio>
<el-radio :label="'0'">停用</el-radio>
</el-radio-group>
@ -134,12 +135,12 @@
</el-row>
<el-row >
<el-row>
<el-col :span="24">
<div class="span-sty">备注</div>
<el-form-item>
<span class="addinputInfo">{{formobj.remarks}}</span>
<span class="addinputInfo">{{formobj.remarks}}</span>
</el-form-item>
</el-col>
@ -237,7 +238,7 @@
}
}
</script>
<style scoped>
<style scoped>
.span-sty {
width: 130px !important;
}

16
yxt-as-ui/src/views/warehouse/warehouseArea/warehouseAreaAdd.vue

@ -39,16 +39,17 @@
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 库区编码</div>
<div class="span-sty">库区编码</div>
<el-form-item prop="areaCode">
<el-input v-model="formobj.areaCode" placeholder="库区编码" class="addinputw addinputInfo" clearable
oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" />
<span class="addinputw addinputInfo">{{formobj.areaCode}}</span>
<!-- <el-input v-model="formobj.areaCode" placeholder="由系统自动生成" :readonly="true" class="addinputw addinputInfo"
clearable oninput="value=value.replace(/[^A-Za-z0-9]/g, '')" /> -->
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-row>
<el-col :span="8">
<div class="span-sty">库区容量</div>
@ -151,7 +152,7 @@
formobj: {
sid: '',
areaName: '',
areaCode: '',
areaCode: '由系统自动生成。',
volume: '',
unit: '',
remarks: '',
@ -179,11 +180,6 @@
message: '库区名称不能为空',
trigger: 'blur'
}],
areaCode: [{
required: true,
message: '库区编码不能为空',
trigger: 'blur'
}],
areaTypeName: [{
required: true,
message: '请选择库区类型',

Loading…
Cancel
Save