diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java index 8ca928ecaa..b505685860 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeign.java @@ -171,4 +171,8 @@ public interface BusSalesOrderVehicleFeign { @ApiOperation("根据车辆sid查询最新一条不为终止的销售订单") @PostMapping("/selectOneByVehSidAndNotStop") ResultBean selectOneByVehSidAndNotStop(@RequestParam("vehSid") String vehSid); -} \ No newline at end of file + + @ApiOperation("根据订单sid车架号查询") + @GetMapping("/selByOrderSidAndVinNo") + ResultBean selByOrderSidAndVinNo(@RequestParam("salesOrderSid")String salesOrderSid, @RequestParam("vinNo")String vinNo); +} diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java index a20623cc19..a8c4269d99 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesordervehicle/BusSalesOrderVehicleFeignFallback.java @@ -168,4 +168,9 @@ public class BusSalesOrderVehicleFeignFallback implements BusSalesOrderVehicleFe return null; } -} \ No newline at end of file + @Override + public ResultBean selByOrderSidAndVinNo(String salesOrderSid, String vinNo) { + return null; + } + +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java index 2e054ed7ca..2df56b44e0 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java @@ -183,4 +183,6 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper selectBySalesOrderSid2(String saleOrderSid); String selectOneByVehSidAndNotStop(String vehSid); -} \ No newline at end of file + + BusSalesOrderVehicle selByOrderSidAndVinNo(@Param("salesOrderSid") String salesOrderSid, @Param("vinNo") String vinNo); +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml index 8c25131095..feb5930bd1 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml @@ -364,4 +364,12 @@ ORDER BY bv.`createTime` DESC LIMIT 1 - \ No newline at end of file + + diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java index e3ed02d2c2..650841a793 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleRest.java @@ -192,4 +192,11 @@ public class BusSalesOrderVehicleRest implements BusSalesOrderVehicleFeign { String orderSid = busSalesOrderVehicleService.selectOneByVehSidAndNotStop(vehSid); return rb.success().setData(orderSid); } -} \ No newline at end of file + + @Override + public ResultBean selByOrderSidAndVinNo(String salesOrderSid, String vinNo) { + ResultBean rb = ResultBean.fireFail(); + BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selByOrderSidAndVinNo(salesOrderSid,vinNo); + return rb.success().setData(busSalesOrderVehicle); + } +} diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java index 8ed42d3367..8ae0f9d4ac 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java @@ -667,4 +667,9 @@ public class BusSalesOrderVehicleService extends MybatisBaseService
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue index de217f2a2a..2087473fc3 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/publicPage/dingdanInfo.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue index 65ec8f54b1..a6bc32b95c 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdan.vue @@ -150,7 +150,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue index 58c424e65f..5b81a66dcd 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByCaiGou.vue @@ -150,7 +150,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue index 9a9b3da479..6750fb5b22 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanByJinRong.vue @@ -150,7 +150,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue index ea7a39a94b..cf2378edd4 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/workflow/xiaoshouguanliFlow/xiaoshoudingdanFlow/xiaoshoudingdanInfo.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue index c13ad09ff3..84a614b2c2 100644 --- a/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue +++ b/anrui-buscenter/anrui-buscenter-ui/src/views/xiaoshouguanli/xiaoshoudingdan/xiaoshoudingdanInfo.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue b/anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue index 864d440a8e..a2acf51a56 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/components/publicPage/salesOrder.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue index 97d70a77ad..ae7e743ba2 100644 --- a/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue +++ b/anrui-buscenter/anrui-finmanage-ui/src/views/workFlow/publicPage/salesOrder.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue b/anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue index eb935e364e..509f55e991 100644 --- a/anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue +++ b/anrui-riskcenter-ui/src/components/publicPage/salesOrder.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue b/anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue index c0dc818e36..472703c262 100644 --- a/anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue +++ b/anrui-riskcenter-ui/src/views/workFlow/publicPage/salesOrder.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java index ea19f8602d..460966e41b 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java @@ -10,7 +10,11 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; @@ -80,6 +84,11 @@ public interface LoanRepaymentScheduleFeign { @ResponseBody ResultBean> selHistoryBySid(@RequestParam("sid") String sid); + @ApiOperation(value = "导入贷后历史数据") + @PostMapping("/importHistoryData") + public ResultBean importHistoryData( + @RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException; + //-------------------------app接口-------------------- /** diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java index 2caa227850..211c66c183 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java @@ -7,7 +7,11 @@ import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.List; /** @@ -69,6 +73,11 @@ public class LoanRepaymentScheduleFeignFallback implements LoanRepaymentSchedule return null; } + @Override + public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) throws IOException { + return null; + } + @Override public ResultBean> getRepaymentPlanList(PagerQuery pq) { return null; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java index 6805747aa2..1519893394 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/HistoryDataImportVo.java @@ -26,45 +26,59 @@ public class HistoryDataImportVo { private String vinNo; @ApiModelProperty("消贷合同编号") private String loanContractNo; - @ApiModelProperty("资方合同号") + @ApiModelProperty("是否存在休眠或展期") + private String sleep; + @ApiModelProperty("主产品资方合同号") private String bankContractNo; - @ApiModelProperty("资方名称") + @ApiModelProperty("主产品资方名称") private String bankName; @ApiModelProperty("主产品期数") private String mainPeriod; - @ApiModelProperty("金融产品政策") + @ApiModelProperty("金融产品首付比例") + private String paymentRatio; + @ApiModelProperty("金融产品保证金比例") private String depositRatio; + @ApiModelProperty("实收保证金金额") + private String depositMoney; @ApiModelProperty("其他融资方合同号") private String otherBankNo; - @ApiModelProperty("其他融资方") + @ApiModelProperty("其他融资方名称") private String otherBankName; @ApiModelProperty("其他融期数") private String otherPeriod; - @ApiModelProperty("主产品首期还款日") + @ApiModelProperty("主产品首期应还日期") private String mainRepayDate; - @ApiModelProperty("主产品首期月还") + @ApiModelProperty("主产品第一期应还金额") private String mainFirstRepay; - @ApiModelProperty("主产品期间月还") + @ApiModelProperty("主产品中间期") private String mainMidRepay; - @ApiModelProperty("主产品期末月还") + @ApiModelProperty("主产品最后一期应还金额") private String mainLastRepay; - @ApiModelProperty("其他融首期还款日") + @ApiModelProperty("其他融首期应还日期") private String otherRepayDate; - @ApiModelProperty("其他融首期月还") + @ApiModelProperty("其他融第一期应还金额") private String otherFirstRepay; - @ApiModelProperty("其他融期间月还") + @ApiModelProperty("其他融中间期") private String otherMidRepay; - @ApiModelProperty("其他融期末月还") + @ApiModelProperty("其他融最后一期应还金额") private String otherLastRepay; - @ApiModelProperty("推送财务凭证部门编码") - private String cwDeptNo; + @ApiModelProperty("首期总月还") + private String mainAmount; @ApiModelProperty("销售部门编码") private String salesDeptNo; + @ApiModelProperty("销售部门") + private String salesDept; @ApiModelProperty("分公司编码") private String useOrgNo; - @ApiModelProperty("分公司垫款金额") + @ApiModelProperty("分公司") + private String useOrgName; + @ApiModelProperty("累欠本金(逾期月还)") + private String tiredMoney; + @ApiModelProperty("其中公司垫还资方金额") private String paymentMoney; - @ApiModelProperty("资金占用费") + @ApiModelProperty("垫还资方逾期利息") + private String interest; + @ApiModelProperty("资金占用费(逾期利息)") private String fund; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/ReturnMsg.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/ReturnMsg.java new file mode 100644 index 0000000000..12fcd4d503 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/historyData/ReturnMsg.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData; + +import lombok.Data; + +import java.util.*; + +/** + * @author Fan + * @description + * @date 2024/6/28 14:13 + */ +@Data +public class ReturnMsg { + private Set setMsg; + private List list; +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java index d109a4ac50..6aa45f3c2f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java @@ -13,8 +13,11 @@ import io.swagger.annotations.Api; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.List; @@ -85,6 +88,11 @@ public class LoanRepaymentScheduleRest implements LoanRepaymentScheduleFeign { return loanRepaymentScheduleService.selHistoryBySid(sid); } + @Override + public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) throws IOException { + return loanRepaymentScheduleService.importHistoryData(file,request); + } + @Override public ResultBean> getRepaymentPlanList(PagerQuery pq) { ResultBean> rb = ResultBean.fireFail(); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index f02e9d9e45..e48176a07f 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -1,6 +1,7 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -39,6 +40,7 @@ import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDe import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData.HistoryDataImportVo; +import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.historyData.ReturnMsg; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy; @@ -62,11 +64,20 @@ import com.yxt.common.core.vo.PagerVo; import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.PushMessageQuery; import com.yxt.messagecenter.api.message.PushSmsDto; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.InputStream; import java.math.BigDecimal; @@ -75,6 +86,8 @@ import java.text.SimpleDateFormat; import java.util.*; import java.util.concurrent.*; import java.util.function.Function; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -2653,6 +2666,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService vehicles = busSalesOrderVehicleFeign.selectListByOrderSidAndXdConSid(salesOrderSid, loanContractSid).getData(); String isOtherPolicy = schedule.getIsOtherPolicy(); String sameBank = schedule.getSameBank(); + String isDifferent = schedule.getIsDifferent(); // 是否有单独车辆不同 String mainOrOther = ""; if (null != salesOrder) { if (!vehicles.isEmpty()) { @@ -2907,6 +2921,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService list) { + public List saveHistoryRecord(List list) { List schedules = new ArrayList<>(); //还款计划表主表 List planDetails = new ArrayList<>();//还款计划表明细 List histories = new ArrayList<>();//还款记录 @@ -4911,7 +4928,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService busSalesOrderVehicle = busSalesOrderVehicleFeign.selByOrderSidAndVinNo(salesOrderSid,vinNo); + BusSalesOrderVehicle vehicleData = busSalesOrderVehicle.getData(); + if (vehicleData != null) { + busVinSid = vehicleData.getSid(); + loanContractSid = vehicleData.getLoanContractSid(); + borrowerSid = vehicleData.getBorrowerSid(); + } + } else { + + } } + return planDetails; + } + public ResultBean importHistoryData(MultipartFile file, HttpServletRequest request) { + ResultBean rb = ResultBean.fireFail(); + try { + String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 + File tempFile = new File(temp); + if (!tempFile.exists()) { + tempFile.mkdirs(); + } + String fileName = file.getOriginalFilename(); + if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { + return rb.fail().setMsg("上传文件不正确"); + } + boolean isExcel2003 = true; + if (fileName.matches("^.+\\.(?i)(xlsx)$")) { + isExcel2003 = false; + } + InputStream is = file.getInputStream(); + Workbook wb = null; + if (isExcel2003) { + wb = new HSSFWorkbook(is); + } else { + wb = new XSSFWorkbook(is); + } + Sheet sheet = wb.getSheetAt(0); + ReturnMsg returnMsg = getSheetVal(sheet); + Set setMsg = returnMsg.getSetMsg(); + StringBuffer sbMsg = new StringBuffer(); + if (null != setMsg && setMsg.size() > 0) { + for (String s : setMsg) { + sbMsg.append(s).append(","); + } + sbMsg.delete(sbMsg.length() - 1, sbMsg.length()); + if (StringUtils.isNotBlank(sbMsg.toString())) { + return rb.setMsg(sbMsg.toString()); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return rb.success(); + } + + private ReturnMsg getSheetVal(Sheet sheet) { + ReturnMsg returnMsg = new ReturnMsg(); + List voList = new ArrayList<>(); + Set setMsg = new HashSet<>(); + Row row1 = sheet.getRow(0); + Map header = new HashMap<>(); + Map map = new HashMap<>(); + for (int i = 0; i < row1.getPhysicalNumberOfCells(); i++) { + String trim = new String(); + try { + trim = getCellVal(row1.getCell(i)).toString().trim(); + String temp = getCellVal(row1.getCell(i)).toString().trim(); + if (StringUtils.isNotBlank(temp)) { + header.put(i, temp); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + for (int r = 1; r <= sheet.getLastRowNum(); r++) { + HistoryDataImportVo info = new HistoryDataImportVo(); + Row row = sheet.getRow(r); + if (row == null) { + continue; + } + for (int i = 0; i < header.size(); i++) { +// String trim = new String(); + try { +// trim = getCellVal(row.getCell(i)).toString().trim(); + String temp = ""; + if (null != getCellVal(row.getCell(i))) { + temp = getCellVal(row.getCell(i)).toString().trim(); + } + String head = header.get(i); + String field = ""; + if (StringUtils.isNotBlank(temp)) { + field = temp; + } + if (head.equals("实际购车人名称")) { + info.setActualName(field); + } + if (head.equals("实际购车人电话")) { + info.setActualPhone(field); + } + if (head.equals("借款人(财务的客户)编码")) { + info.setBorrowerNo(field); + } + if (head.equals("借款人(财务的客户)名称")) { + info.setBorrowerName(field); + } + if (head.equals("车架号")) { + info.setVinNo(field); + } + if (head.equals("消贷合同编号")) { + info.setLoanContractNo(field); + } + if (head.equals("是否存在休眠或展期")) { + info.setSleep(field); + } + if (head.equals("主产品资方合同号")) { + info.setBankContractNo(field); + } + if (head.equals("主产品资方名称")) { + info.setBankName(field); + } + if (head.equals("主产品期数")) { + info.setMainPeriod(field); + } + if (head.equals("金融产品首付比例")) { + info.setPaymentRatio(field); + } + if (head.equals("金融产品保证金比例")) { + info.setDepositRatio(field); + } + if (head.equals("实收保证金金额")) { + info.setDepositMoney(field); + } + if (head.equals("其他融资方合同号")) { + info.setOtherBankNo(field); + } + if (head.equals("其他融资方名称")) { + info.setOtherBankName(field); + } + if (head.equals("其他融期数")) { + info.setOtherPeriod(field); + } + if (head.equals("主产品首期应还日期")) { + info.setMainRepayDate(field); + } + if (head.equals("主产品第一期应还金额")) { + info.setMainFirstRepay(field); + } + if (head.equals("主产品中间期")) { + info.setMainMidRepay(field); + } + if (head.equals("主产品最后一期应还金额")) { + info.setMainLastRepay(field); + } + if (head.equals("其他融首期应还日期")) { + info.setOtherRepayDate(field); + } + if (head.equals("其他融第一期应还金额")) { + info.setOtherFirstRepay(field); + } + if (head.equals("其他融中间期")) { + info.setOtherMidRepay(field); + } + if (head.equals("其他融最后一期应还金额")) { + info.setOtherLastRepay(field); + } + if (head.equals("首期总月还")) { + info.setMainAmount(field); + } + if (head.equals("销售部门编码")) { + info.setSalesDeptNo(field); + } + if (head.equals("销售部门")) { + info.setSalesDept(field); + } + if (head.equals("分公司编码")) { + info.setUseOrgNo(field); + } + if (head.equals("分公司")) { + info.setUseOrgName(field); + } + if (head.equals("累欠本金(逾期月还)")) { + info.setTiredMoney(field); + } + if (head.equals("其中公司垫还资方金额")) { + info.setPaymentMoney(field); + } + if (head.equals("垫还资方逾期利息")) { + info.setInterest(field); + } + if (head.equals("资金占用费(逾期利息)")) { + info.setFund(field); + } + } catch (Exception e) { + e.printStackTrace(); + continue; + } + } + voList.add(info); + } + returnMsg.setList(voList); + return returnMsg; + } + + public Object getCellVal(Cell cell) { + Object obj = null; + if (cell != null) { + switch (cell.getCellTypeEnum()) { + case BOOLEAN: + obj = cell.getBooleanCellValue(); + break; + case ERROR: + obj = cell.getErrorCellValue(); + break; + case NUMERIC: + obj = cell.getNumericCellValue(); + break; + case STRING: + obj = cell.getStringCellValue(); + break; + default: + break; + } + } + return obj; + } + + public boolean isNum(String s) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(s)) { + if (s.contains(".")) { + return isNumeric(s); + } else { + return isNumericFirst(s); + } + } + return false; + } + + public boolean isNumeric(String s) { + String substring = s.substring(0, s.lastIndexOf(".")); + String substringLast = s.substring(s.lastIndexOf(".") + 1, s.length()); + if (substring != null && !"".equals(substring.trim()) || substringLast != null && !"".equals(substringLast.trim())) { + boolean matches = substring.matches("^[0-9]*$"); + boolean b = substringLast.matches("^[0-9]*$"); + if (matches && b) { + return true; + } else { + return false; + } + } else + return false; + } + + public boolean isNumericFirst(String str) { + Pattern pattern = Pattern.compile("[0-9]*"); + System.out.println(str); + Matcher isNum = pattern.matcher(str); + if (!isNum.matches()) { + return false; + } + return true; } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl index 34b7bf2a93..75244a1ab8 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/resources/ftl/vouchers/returnMoney3.ftl @@ -7574,7 +7574,7 @@ - ${fMoney2!} + ${fMoney3!} @@ -8226,4 +8226,4 @@ - \ No newline at end of file + diff --git a/anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue b/anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue index b0b478eafc..cc1afe69ef 100644 --- a/anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue +++ b/anrui-scm/anrui-scm-ui/src/components/publicPage/saleOrder.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue b/anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue index 9d8c0878a7..596d7fc54c 100644 --- a/anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue +++ b/anrui-scm/anrui-scm-ui/src/views/workFlow/publicPage/xiaoshoudingdanInfo.vue @@ -146,7 +146,7 @@
其中上装(元)
- {{ formobj.busSalesOrderModel.topPrice }} + {{ formobj.busSalesOrderMakeup.topPrice }}
diff --git a/yxt-as-ui/src/api/goods/brand.js b/yxt-as-ui/src/api/goods/brand.js index a7c2bd124d..3dce620fa7 100644 --- a/yxt-as-ui/src/api/goods/brand.js +++ b/yxt-as-ui/src/api/goods/brand.js @@ -1,7 +1,6 @@ import request from '@/utils/request' export default { - // 查询分页列表 listPage: function(params) { return request({ @@ -13,28 +12,20 @@ export default { } }) }, - // 品牌查询 getAllBrand: function(params) { return request({ url: '/yxtbase/apiadmin/base/basegoodsbrand/listAll', - method: 'post', - data: params, - headers: { - 'Content-Type': 'application/json' - } + method: 'get', + params: params }) }, - - // 修改是否可用状态 - updateIsEnable: function(sid,isEnable) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodsbrand/updateIsEnable/'+sid+"/"+isEnable - }); + updateIsEnable: function(sid, isEnable) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodsbrand/updateIsEnable/' + sid + '/' + isEnable + }) }, - - // 新增、保存 saveBrands: function(data) { return request({ @@ -44,19 +35,15 @@ export default { headers: { 'Content-Type': 'application/json' } - }); + }) }, - // 初始化 initBrands: function(data) { return request({ url: '/yxtbase/apiadmin/base/basegoodsbrand/initialization/' + data, method: 'get' - }); + }) }, - - - // 品牌-- 删除 deleteBySids: function(data) { return request({ @@ -67,8 +54,5 @@ export default { 'Content-Type': 'application/json' } }) - }, - - - + } } diff --git a/yxt-as-ui/src/api/goods/category.js b/yxt-as-ui/src/api/goods/category.js index d938333e85..57870d9e62 100644 --- a/yxt-as-ui/src/api/goods/category.js +++ b/yxt-as-ui/src/api/goods/category.js @@ -1,78 +1,65 @@ import request from '@/utils/request' export default { + // 查询分页列表 + listPage: function(params) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/listPage', + method: 'post', + data: params, + headers: { + 'Content-Type': 'application/json' + } + }) + }, + // 类别查询 + getAllType: function(params) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/listAll', + method: 'get', + params: params + }) + }, + // 修改是否可用状态 + updateIsEnable: function(sid, isEnable) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/updateIsEnable/' + sid + '/' + isEnable + }) + }, + // 修改是否一品一码 + updateIsGoodsID: function(sid, isGoodsID) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/updateIsGoodsID/' + sid + '/' + isGoodsID + }) + }, + // 新增、保存 + saveTypes: function(data) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/saveOrUpdate', + method: 'post', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) + }, - // 查询分页列表 - listPage: function(params) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/listPage', - method: 'post', - data: params, - headers: { - 'Content-Type': 'application/json' - } - }) - }, - - // 类别查询 - getAllType: function(params) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/listAll', - method: 'post', - data: params, - headers: { - 'Content-Type': 'application/json' - } - }) - }, - - - // 修改是否可用状态 - updateIsEnable: function(sid, isEnable) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/updateIsEnable/' + sid + "/" + isEnable - }); - }, - - // 修改是否一品一码 - updateIsGoodsID: function(sid, isGoodsID) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/updateIsGoodsID/' + sid + "/" + isGoodsID - }); - }, - - // 新增、保存 - saveTypes: function(data) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/saveOrUpdate', - method: 'post', - data: data, - headers: { - 'Content-Type': 'application/json' - } - }); - }, - - // 初始化 - initTypes: function(data) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/initialization/' + data, - method: 'get' - }); - }, - - - - // 类别-- 删除 - deleteBySids: function(data) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodstype/delBySids', - method: 'DELETE', - data: data, - headers: { - 'Content-Type': 'application/json' - } - }) - }, - + // 初始化 + initTypes: function(data) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/initialization/' + data, + method: 'get' + }) + }, + // 类别-- 删除 + deleteBySids: function(data) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodstype/delBySids', + method: 'DELETE', + data: data, + headers: { + 'Content-Type': 'application/json' + } + }) + } } diff --git a/yxt-as-ui/src/api/goods/factory.js b/yxt-as-ui/src/api/goods/factory.js index 6f07cbee62..128ea6c33f 100644 --- a/yxt-as-ui/src/api/goods/factory.js +++ b/yxt-as-ui/src/api/goods/factory.js @@ -1,7 +1,6 @@ import request from '@/utils/request' export default { - // 查询分页列表 listPage: function(params) { return request({ @@ -13,27 +12,20 @@ export default { } }) }, - - // 厂家查询 + // 厂家查询 getAllFacturer: function(params) { return request({ url: '/yxtbase/apiadmin/base/basemanufacturer/listAll', - method: 'post', - data: params, - headers: { - 'Content-Type': 'application/json' - } + method: 'get', + params: params }) }, - // 修改是否可用状态 - updateIsEnable: function(sid,isEnable) { - return request({ - url: '/yxtbase/apiadmin/base/basemanufacturer/updateIsEnable/'+sid+"/"+isEnable - }); + updateIsEnable: function(sid, isEnable) { + return request({ + url: '/yxtbase/apiadmin/base/basemanufacturer/updateIsEnable/' + sid + '/' + isEnable + }) }, - - // 新增、保存 saveFacturer: function(data) { return request({ @@ -43,18 +35,16 @@ export default { headers: { 'Content-Type': 'application/json' } - }); + }) }, - // 初始化 initFacturer: function(data) { return request({ url: '/yxtbase/apiadmin/base/basemanufacturer/initialization/' + data, method: 'get' - }); + }) }, - - // 厂家-- 删除 + // 厂家-- 删除 deleteBySids: function(data) { return request({ url: '/yxtbase/apiadmin/base/basemanufacturer/delBySids', @@ -64,7 +54,5 @@ export default { 'Content-Type': 'application/json' } }) - }, - - + } } diff --git a/yxt-as-ui/src/api/goods/unit.js b/yxt-as-ui/src/api/goods/unit.js index 70a0206e8b..fa5a6b2f90 100644 --- a/yxt-as-ui/src/api/goods/unit.js +++ b/yxt-as-ui/src/api/goods/unit.js @@ -1,7 +1,6 @@ import request from '@/utils/request' export default { - // 查询分页列表 listPage: function(params) { return request({ @@ -13,28 +12,20 @@ export default { } }) }, - // 单位查询 getAllUnit: function(params) { return request({ url: '/yxtbase/apiadmin/base/basegoodsunit/listAll', - method: 'post', - data: params, - headers: { - 'Content-Type': 'application/json' - } + method: 'get', + params: params }) }, - - // 修改是否可用状态 - updateIsEnable: function(sid,isEnable) { - return request({ - url: '/yxtbase/apiadmin/base/basegoodsunit/updateIsEnable/'+sid+"/"+isEnable - }); + updateIsEnable: function(sid, isEnable) { + return request({ + url: '/yxtbase/apiadmin/base/basegoodsunit/updateIsEnable/' + sid + '/' + isEnable + }) }, - - // 新增、保存 saveUnits: function(data) { return request({ @@ -44,18 +35,16 @@ export default { headers: { 'Content-Type': 'application/json' } - }); + }) }, - // 初始化 initUnits: function(data) { return request({ url: '/yxtbase/apiadmin/base/basegoodsunit/initialization/' + data, method: 'get' - }); + }) }, - - // 单位-- 删除 + // 单位-- 删除 deleteBySids: function(data) { return request({ url: '/yxtbase/apiadmin/base/basegoodsunit/delBySids', @@ -65,6 +54,5 @@ export default { 'Content-Type': 'application/json' } }) - }, - + } } diff --git a/yxt-as-ui/src/views/goods/category/categoryAdd.vue b/yxt-as-ui/src/views/goods/category/categoryAdd.vue index 5ee779c72c..b3e96840c8 100644 --- a/yxt-as-ui/src/views/goods/category/categoryAdd.vue +++ b/yxt-as-ui/src/views/goods/category/categoryAdd.vue @@ -211,11 +211,7 @@ methods: { initData() { console.log('>>>>>>>>>initData') - var parpams = { - orgPath: window.sessionStorage.getItem('defaultOrgPath'), - userSid: window.sessionStorage.getItem('userSid'), - menuUrl: this.$route.path - } + var parpams = { useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) } req.getAllType(parpams).then(resp => { this.goodsTypeList = resp.data diff --git a/yxt-as-ui/src/views/goods/goods/goodsAdd.vue b/yxt-as-ui/src/views/goods/goods/goodsAdd.vue index c201e6c07d..04460046e3 100644 --- a/yxt-as-ui/src/views/goods/goods/goodsAdd.vue +++ b/yxt-as-ui/src/views/goods/goods/goodsAdd.vue @@ -135,7 +135,7 @@
是否上架
- + 上架 下架 @@ -373,7 +373,8 @@
是否原厂
- + @@ -387,7 +388,8 @@
是否库存警戒
- + @@ -473,7 +475,8 @@
是否积分兑换
- + @@ -494,7 +497,8 @@
锁定销售价格
- + @@ -567,7 +571,7 @@
是否原厂
- + @@ -676,7 +680,7 @@
是否积分兑换
- + @@ -698,7 +702,7 @@
锁定销售价格
- + @@ -782,9 +786,10 @@ goodsDescription: "" }, baseGoodsSkus: [], - useOrgSid: window.sessionStorage.getItem('departmentSid'), + useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage + .getItem('defaultOrgPath').lastIndexOf('/') + 1), orgPath: window.sessionStorage.getItem('defaultOrgPath'), - createOrgSid: window.sessionStorage.getItem('orgSid'), + createOrgSid:'', userSid: window.sessionStorage.getItem('userSid'), }, brandList: [], @@ -800,16 +805,31 @@ } }, created() { - this.initData() + // this.initData() }, methods: { initData() { - var parpams = { - orgPath: window.sessionStorage.getItem('defaultOrgPath'), - userSid: window.sessionStorage.getItem('userSid'), - menuUrl: this.$route.path + getOrgSidByPath({ + orgPath: window.sessionStorage.getItem('defaultOrgPath') + }).then((res) => { + if (res.success) { + this.formobj.createOrgSid = res.data + } + }) + + + // var parpams = { + // orgPath: window.sessionStorage.getItem('defaultOrgPath'), + // userSid: window.sessionStorage.getItem('userSid'), + // menuUrl: this.$route.path + // } + + var parpams ={ + useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage + .getItem('defaultOrgPath').lastIndexOf('/') + 1) } + req2.getAllBrand(parpams).then(resp => { this.brandList = resp.data }) @@ -874,14 +894,16 @@ goodsDescription: "" }, baseGoodsSkus: [], - useOrgSid: window.sessionStorage.getItem('departmentSid'), - orgPath: window.sessionStorage.getItem('defaultOrgPath'), - createOrgSid: window.sessionStorage.getItem('orgSid'), - userSid: window.sessionStorage.getItem('userSid'), + useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage + .getItem('defaultOrgPath').lastIndexOf('/') + 1), + orgPath: window.sessionStorage.getItem('defaultOrgPath'), + createOrgSid:'', + userSid: window.sessionStorage.getItem('userSid'), } this.$emit('doback') }, showAdd() { + this.initData() var sid = require('uuid').v1() console.log('>>>>>>>>>showAdd', sid) @@ -895,7 +917,7 @@ return index + 1 }, showEdit(row) { - + this.initData() this.$nextTick(() => { this.$refs['form_obj'].clearValidate() }) diff --git a/yxt-as-ui/src/views/goods/goods/goodsAdd2.vue b/yxt-as-ui/src/views/goods/goods/goodsAdd2.vue index 0fb4199555..503f7f12bf 100644 --- a/yxt-as-ui/src/views/goods/goods/goodsAdd2.vue +++ b/yxt-as-ui/src/views/goods/goods/goodsAdd2.vue @@ -1,6 +1,5 @@ diff --git a/yxt-as-ui/src/views/goods/goods/index.vue b/yxt-as-ui/src/views/goods/goods/index.vue index 1d4a5e5810..2a8f4b1d06 100644 --- a/yxt-as-ui/src/views/goods/goods/index.vue +++ b/yxt-as-ui/src/views/goods/goods/index.vue @@ -147,6 +147,7 @@ import pageye from '@/components/pagination/pageye' import divAdd from './goodsAdd2.vue' import divInfo from './goodsInfo2.vue' + import { getOrgSidByPath } from '@/api/Common/dictcommons' export default { components: { ButtonBar, @@ -230,29 +231,22 @@ }, methods: { initData() { - var parpams = { - orgPath: window.sessionStorage.getItem('defaultOrgPath'), - userSid: window.sessionStorage.getItem('userSid'), - menuUrl: this.$route.path - } + var parpams = { useOrgSid: window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1) } // 品牌 req2.getAllBrand(parpams).then(resp => { console.log('>>>>>>>>>getAllBrand', resp) this.brandList = resp.data }).catch(() => {}) - // 类别 req3.getAllType(parpams).then(resp => { console.log('>>>>>>>>>getAllType', resp) this.goodsTypeList = resp.data }).catch(() => {}) - // 厂家 req4.getAllFacturer(parpams).then(resp => { console.log('>>>>>>>>>getAllFacturer', resp) this.facturerList = resp.data }).catch(() => {}) - }, selectBrandChange(val) { @@ -367,7 +361,13 @@ }, toAdd() { this.viewState = 2 - this.$refs['divadd'].showAdd() + var orgSid = '' + getOrgSidByPath({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => { + if (res.success) { + orgSid = res.data + } + }) + this.$refs['divadd'].showAdd(window.sessionStorage.getItem('userSid'), orgSid, window.sessionStorage.getItem('defaultOrgPath').substring(window.sessionStorage.getItem('defaultOrgPath').lastIndexOf('/') + 1)) }, toEdit() { diff --git a/yxt-as-ui/src/views/purchase/procurement/procurement.vue b/yxt-as-ui/src/views/purchase/procurement/procurement.vue index 3d93269a3a..7afe53f3a3 100644 --- a/yxt-as-ui/src/views/purchase/procurement/procurement.vue +++ b/yxt-as-ui/src/views/purchase/procurement/procurement.vue @@ -31,7 +31,7 @@ - + @@ -88,11 +88,11 @@ - + - + diff --git a/yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue b/yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue index 568e173b31..37054a71f6 100644 --- a/yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue +++ b/yxt-as-ui/src/views/purchase/procurement/procurementAdd.vue @@ -27,11 +27,16 @@
-
*采购类型
+
*采购方式
- - - +
+ + + + + + +
@@ -55,13 +60,18 @@
*供应商
- - - +
+ + + + + + +
-
*是否需要发票
+
*是否开发票
@@ -117,16 +127,12 @@
-
*验货后付货款
- - - +
验货后付货款
+ {{ calculateGoodsMoney }}
-
*审批通过后付货款
- - - +
审批通过后付货款
+ {{ calculateGoodsMoney }}
@@ -245,9 +251,11 @@ export default { index: 0, accept: '.jpg,.jpeg,.png', procurementType_list: [], + operateBrand_list: [], procurementReason_list: [], paymentMethod_list: [], supplier_list: [], + warehouseType_list: [], account_list: [], formobj: { sid: '', @@ -288,6 +296,10 @@ export default { useOrgName: '', createOrgSid: '', createOrgName: '', + operateBrandKey: '', + operateBrandValue: '', + warehouseTypeKey: '', + warehouseTypeValue: '', purchasePay: { sid: '', billSid: '', @@ -312,14 +324,13 @@ export default { pmsPurchaseBillDetailList: [] }, rules: { - purchaseTypeValue: [{ required: true, message: '采购类型不能为空', trigger: 'change' }], + purchaseTypeValue: [{ required: true, message: '采购方式不能为空', trigger: 'change' }], purchaseReasonValue: [{ required: true, message: '采购原因不能为空', trigger: 'change' }], payTypeValue: [{ required: true, message: '付款方式不能为空', trigger: 'change' }], supplierSid: [{ required: true, message: '供应商不能为空', trigger: 'change' }], - 'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否需要发票不能为空', trigger: 'change' }], + 'purchaseBillInvoice.isInvoicing': [{ required: true, message: '是否开发票不能为空', trigger: 'change' }], 'purchasePay.isFirstPay': [{ required: true, message: '是否先付货款不能为空', trigger: 'change' }], - 'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }], - 'purchasePay.goodsMoney': [{ required: true, message: '付货款不能为空', trigger: 'blur' }] + 'purchasePay.deposit': [{ required: true, message: '审批通过后付订金不能为空', trigger: 'blur' }] } } }, @@ -348,10 +359,25 @@ export default { } return cg }, + // 应付金额 yfTotal() { let yf = '0' yf = Math.round((parseFloat(yf) + parseFloat(this.cgTotal) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0') + parseFloat(this.formobj.errorAmount !== '' ? this.formobj.errorAmount : '0')) * 100) / 100 return yf + }, + // 付货款 + calculateGoodsMoney() { + let goodsMoney = '0' + if (this.formobj.payTypeValue === '单笔付款') { + if (this.formobj.purchasePay.isFirstPay === '1') { + // 是否先付货款为是,计算审批通过后付货款 = 应付金额 + goodsMoney = this.yfTotal + } else if (this.formobj.purchasePay.isFirstPay === '0') { + // 是否先付货款为否,计算验货后付货款 = 应付金额 - 审批通过后付订金 + goodsMoney = parseFloat(this.yfTotal) - parseFloat(this.formobj.purchasePay.deposit !== '' ? this.formobj.purchasePay.deposit : '0') + } + } + return goodsMoney } }, methods: { @@ -361,6 +387,16 @@ export default { this.procurementType_list = res.data } }) + typeValues({ type: 'operateBrand' }).then((res) => { + if (res.success) { + this.operateBrand_list = res.data + } + }) + typeValues({ type: 'warehouseType' }).then((res) => { + if (res.success) { + this.warehouseType_list = res.data + } + }) typeValues({ type: 'procurementReason' }).then((res) => { if (res.success) { this.procurementReason_list = res.data @@ -441,6 +477,14 @@ export default { this.formobj.purchaseTypeKey = '' } }, + operateBrandChange(value) { + const choose = this.operateBrand_list.filter((item) => item.dictValue === value) + if (choose !== null && choose.length > 0) { + this.formobj.operateBrandKey = choose[0].dictKey + } else { + this.formobj.operateBrandKey = '' + } + }, purchaseReasonChange(value) { const choose = this.procurementReason_list.filter((item) => item.dictValue === value) if (choose !== null && choose.length > 0) { @@ -467,6 +511,14 @@ export default { this.account_list = [] } }, + warehouseTypeChange(value) { + const choose = this.warehouseType_list.filter((item) => item.dictValue === value) + if (choose !== null && choose.length > 0) { + this.formobj.warehouseTypeKey = choose[0].dictKey + } else { + this.formobj.warehouseTypeKey = '' + } + }, isInvoicingChange(val) { if (val === '1') { const choose = this.supplier_list.filter((item) => item.sid === this.formobj.supplierSid) @@ -494,7 +546,7 @@ export default { selectProducts() { this.viewState = 2 const aa = [] - this.$refs['divSp'].showData(aa, this.formobj.deptSid) + this.$refs['divSp'].showData(aa, this.formobj.createBySid, this.formobj.createOrgSid, this.formobj.deptSid) }, backData(value) { this.viewState = 1 @@ -538,6 +590,7 @@ export default { if (valid) { this.submitdisabled = true this.formobj.payableAmount = this.yfTotal + this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney req.saveOrUpdate(this.formobj).then((res) => { if (res.success) { this.$message({ showClose: true, type: 'success', message: '保存成功' }) @@ -556,6 +609,7 @@ export default { if (valid) { this.submitdisabled = true this.formobj.payableAmount = this.yfTotal + this.formobj.purchasePay.goodsMoney = this.calculateGoodsMoney req.submit(this.formobj).then((res) => { if (res.success) { this.$message({ showClose: true, type: 'success', message: '提交成功' }) @@ -610,6 +664,10 @@ export default { useOrgName: '', createOrgSid: '', createOrgName: '', + operateBrandKey: '', + operateBrandValue: '', + warehouseTypeKey: '', + warehouseTypeValue: '', purchasePay: { sid: '', billSid: '', diff --git a/yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue b/yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue index 46982e5da4..05d21b6121 100644 --- a/yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue +++ b/yxt-as-ui/src/views/purchase/procurement/procurementInfo.vue @@ -25,8 +25,8 @@ -
采购类型
- {{ formobj.purchaseTypeValue }} +
采购方式
+ {{ formobj.purchaseTypeValue }}{{ formobj.operateBrandValue }}
采购原因
@@ -40,10 +40,10 @@
供应商
- {{ formobj.supplierName }} + {{ formobj.supplierName }}{{ formobj.warehouseTypeValue }}
-
是否需要发票
+
是否开发票
{{ formobj.purchaseBillInvoice.isInvoicing == '1' ? '是' : '否' }}
@@ -212,6 +212,10 @@ export default { useOrgName: '', createOrgSid: '', createOrgName: '', + operateBrandKey: '', + operateBrandValue: '', + warehouseTypeKey: '', + warehouseTypeValue: '', purchasePay: { sid: '', billSid: '', @@ -328,6 +332,10 @@ export default { useOrgName: '', createOrgSid: '', createOrgName: '', + operateBrandKey: '', + operateBrandValue: '', + warehouseTypeKey: '', + warehouseTypeValue: '', purchasePay: { sid: '', billSid: '', diff --git a/yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue b/yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue index ff36d12283..d121f1be99 100644 --- a/yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue +++ b/yxt-as-ui/src/views/purchase/procurement/relation/chooseproducts.vue @@ -1,10 +1,11 @@