Procházet zdrojové kódy

客户管家修改

Min před 10 měsíci
rodič
revize
04e53d066f

+ 20 - 11
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/SalesOrderController.java

@@ -390,8 +390,8 @@ public class SalesOrderController {
     * @Date: 2024/5/16
     */
     @RequestMapping("/dataSummary")
-    public HttpRespMsg dataSummary(Integer queryType,Integer dateType){
-        return salesOrderService.dataSummary(queryType,dateType);
+    public HttpRespMsg dataSummary(Integer queryType,Integer dateType,String startDate,String endDate){
+        return salesOrderService.dataSummary(queryType,dateType,startDate,endDate);
     }
 
     /**
@@ -409,8 +409,8 @@ public class SalesOrderController {
         SalesOrderPayment salesOrderPayment=new SalesOrderPayment();
         salesOrderPayment.setMoney(new BigDecimal(money));
         salesOrderPayment.setOrderId(orderId);
-        if(money>salesOrder.getUnReceivedPayment().doubleValue()){
-            msg.setError("回款金额不能大于当前未回款金额");
+        if(salesOrder.getReceivedStatus()==2){
+            msg.setError("当前订单已完全回款");
             return msg;
         }
         if(money>salesOrder.getPrice().doubleValue()){
@@ -456,8 +456,8 @@ public class SalesOrderController {
     * @Date: 2024/5/21
     */
     @RequestMapping("/businessOpportunityStage")
-    public HttpRespMsg businessOpportunityStage(Integer queryType,Integer dateType){
-        return salesOrderService.businessOpportunityStage(queryType,dateType);
+    public HttpRespMsg businessOpportunityStage(Integer queryType,Integer dateType,String startDate,String endDate){
+        return salesOrderService.businessOpportunityStage(queryType,dateType,startDate,endDate);
     }
 
     /**
@@ -499,10 +499,10 @@ public class SalesOrderController {
         List<SalesOrderPayment> list = salesOrderPaymentService.list(new LambdaQueryWrapper<SalesOrderPayment>().eq(SalesOrderPayment::getOrderId, salesOrder.getId()).orderByAsc(SalesOrderPayment::getCreateTime));
         int i = list.indexOf(payment);
         if(money!=null){
-//            if(money>salesOrder.getUnReceivedPayment().doubleValue()){
-//                msg.setError("回款金额不能大于当前未回款金额");
-//                return msg;
-//            }
+            if(salesOrder.getReceivedStatus()==2){
+                msg.setError("当前订单已完全回款");
+                return msg;
+            }
             if(money>salesOrder.getPrice().doubleValue()){
                 msg.setError("回款金额不能大于订单金额");
                 return msg;
@@ -518,13 +518,22 @@ public class SalesOrderController {
             //离当前回款数据最近一次回款的未回款数据作为依据
             SalesOrderPayment salesOrderPayment =list.size()>1?list.get(i-1):list.get(i);
             BigDecimal unReceivedPayment = salesOrderPayment.getUnReceivedPayment();
-            unReceivedPayment=unReceivedPayment.subtract(nowMoney);
+            unReceivedPayment=unReceivedPayment.add(oldMoney).subtract(nowMoney);
             payment.setMoney(new BigDecimal(money));
             payment.setUnReceivedPayment(unReceivedPayment);
             if(!salesOrderPaymentService.updateById(payment)){
                 msg.setError("验证失败");
                 return msg;
             }
+            if(money>0){
+                //回款金额大于0的情况下才能算一次回款
+                if(unReceivedPayment.doubleValue()<=0){
+                    //未回款金额小于等于0 说明完全回款修改状态
+                    salesOrder.setReceivedStatus(2);
+                }else {
+                    salesOrder.setReceivedStatus(1);
+                }
+            }
             //订单上的已回款金额
             BigDecimal receivedPayment = salesOrder.getReceivedPayment();
             receivedPayment=receivedPayment.subtract(oldMoney).add(nowMoney);

+ 2 - 2
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/SalesOrderService.java

@@ -25,9 +25,9 @@ public interface SalesOrderService extends IService<SalesOrder> {
 
     HttpRespMsg salesKit(Integer queryType,Integer dateType, String startDate, String endDate);
 
-    HttpRespMsg dataSummary(Integer queryType, Integer dateType);
+    HttpRespMsg dataSummary(Integer queryType, Integer dateType,String startDate,String endDate);
 
-    HttpRespMsg businessOpportunityStage(Integer queryType, Integer dateType);
+    HttpRespMsg businessOpportunityStage(Integer queryType, Integer dateType,String startDate,String endDate);
 
     HttpRespMsg productWithOrder(Integer id);
 

+ 2 - 6
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/service/impl/SalesOrderServiceImpl.java

@@ -891,7 +891,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
     }
 
     @Override
-    public HttpRespMsg dataSummary(Integer queryType, Integer dateType) {
+    public HttpRespMsg dataSummary(Integer queryType, Integer dateType,String startDate,String endDate) {
         HttpRespMsg msg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -899,8 +899,6 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
         List<Department> allDeptList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, companyId));
         String userId=null;
         List<String> targetUserIds=new ArrayList<>();
-        String startDate=null;
-        String endDate=null;
         if(dateType!=null){
             switch (dateType){
                 case 0:
@@ -1008,7 +1006,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
     }
 
     @Override
-    public HttpRespMsg businessOpportunityStage(Integer queryType, Integer dateType) {
+    public HttpRespMsg businessOpportunityStage(Integer queryType, Integer dateType,String startDate,String endDate) {
         HttpRespMsg msg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
         DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
@@ -1016,8 +1014,6 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
         List<Department> allDeptList = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, companyId));
         String userId=null;
         List<String> targetUserIds=new ArrayList<>();
-        String startDate=null;
-        String endDate=null;
         if(dateType!=null){
             switch (dateType){
                 case 0: