Min 1 vuosi sitten
vanhempi
commit
d46c2d8184

+ 7 - 3
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/SalesOrderController.java

@@ -48,15 +48,19 @@ public class SalesOrderController {
     private TaskService taskService;
 
     @RequestMapping("/list")
-    public HttpRespMsg list(String userId, String orderName,String orderCode, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete){
-        return salesOrderService.getList(userId,orderName,orderCode,productCode,pageIndex,pageSize,isDelete);
+    public HttpRespMsg list(String inchargerId,Integer orderType, String orderName,
+                            String orderCode,Integer customId,String businessName,
+                            Integer receivedStatus,String startDate,String endDate, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete){
+        return salesOrderService.getList(inchargerId,orderType,orderName,orderCode,customId,businessName,receivedStatus,startDate,endDate,productCode,pageIndex,pageSize,isDelete);
     }
 
     @RequestMapping("/addOrUpdate")
     public HttpRespMsg addOrUpdate(SalesOrder order){
         HttpRespMsg msg=new HttpRespMsg();
-        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
+        User user = userMapper.selectById(request.getHeader("token"));
+        Integer companyId = user.getCompanyId();
         order.setCompanyId(companyId);
+        order.setCreatorId(user.getId());
         int count;
         if(order.getId()==null){
             count = salesOrderService.count(new LambdaQueryWrapper<SalesOrder>().eq(SalesOrder::getCompanyId, companyId).eq(SalesOrder::getOrderCode, order.getOrderCode()));

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

@@ -15,7 +15,9 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface SalesOrderService extends IService<SalesOrder> {
 
-    HttpRespMsg getList(String userId, String orderName,String orderCode, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete);
+    HttpRespMsg getList(String inchargerId,Integer orderType, String orderName,
+                        String orderCode,Integer customId,String businessName,
+                        Integer receivedStatus,String startDate,String endDate, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete);
 
     HttpRespMsg importData(MultipartFile multipartFile);
 

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

@@ -83,7 +83,9 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
     private String path;
 
     @Override
-    public HttpRespMsg getList(String userId, String orderName,String orderCode, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete) {
+    public HttpRespMsg getList(String inchargerId,Integer orderType, String orderName,
+                               String orderCode,Integer customId,String businessName,
+                               Integer receivedStatus,String startDate,String endDate, String productCode, Integer pageIndex, Integer pageSize,Integer isDelete) {
         HttpRespMsg msg=new HttpRespMsg();
         User user = userMapper.selectById(request.getHeader("token"));
         List<Department> departments = departmentMapper.selectList(new LambdaQueryWrapper<Department>().eq(Department::getCompanyId, user.getCompanyId()));
@@ -92,6 +94,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
         List<User> userList = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getCompanyId, user.getCompanyId()));
         List<SysDict> sysDictOfOrderType = sysDictMapper.selectList(new LambdaQueryWrapper<SysDict>().eq(SysDict::getCompanyId, user.getCompanyId()).eq(SysDict::getCode, "OrderType"));
         LambdaQueryWrapper<SalesOrder> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        List<Custom> customList = customService.list(new LambdaQueryWrapper<Custom>().eq(Custom::getCompanyId, user.getCompanyId()));
         orderLambdaQueryWrapper.eq(SalesOrder::getCompanyId,user.getCompanyId());
         if(isDelete!=null){
             orderLambdaQueryWrapper.eq(SalesOrder::getIsDelete,isDelete);
@@ -130,6 +133,30 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
                 orderLambdaQueryWrapper.in(SalesOrder::getCreatorId,userIds);
             }
         }
+        if (!StringUtils.isEmpty(inchargerId)){
+            orderLambdaQueryWrapper.eq(SalesOrder::getInchargerId,inchargerId);
+        }
+        if(orderType!=null){
+            orderLambdaQueryWrapper.eq(SalesOrder::getType,orderType);
+        }
+        if(customId!=null){
+            orderLambdaQueryWrapper.eq(SalesOrder::getCustomId,customId);
+        }
+        if(!StringUtils.isEmpty(businessName)){
+            orderLambdaQueryWrapper.inSql(SalesOrder::getBusinessOpportunityId,"select id from business_opportunity where name like '%"+businessName+"%'");
+        }
+        if(receivedStatus!=null){
+            if(receivedStatus==1){
+                //回款金额不为空 切大于0 作为已回款状态
+                orderLambdaQueryWrapper.and(wrapper->wrapper.isNotNull(SalesOrder::getReceivedPayment).gt(SalesOrder::getReceivedPayment,0));
+            }else {
+                //回款金额为空 或者等于0 作为未回款状态
+                orderLambdaQueryWrapper.and(wrapper->wrapper.isNull(SalesOrder::getReceivedPayment).or().eq(SalesOrder::getReceivedPayment,0));
+            }
+        }
+        if(!StringUtils.isEmpty(startDate)&&!StringUtils.isEmpty(endDate)){
+            orderLambdaQueryWrapper.lt(SalesOrder::getOrderStartDate,endDate).gt(SalesOrder::getOrderEndDate,startDate);
+        }
         if(!StringUtils.isEmpty(orderName)){
             orderLambdaQueryWrapper.like(SalesOrder::getOrderName,orderName);
         }
@@ -150,12 +177,20 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
         records.forEach(r->{
             Optional<User> item = userList.stream().filter(u -> u.getId().equals(r.getCreatorId())).findFirst();
             if(item.isPresent()){
-                r.setInchargerName(item.get().getName());
+                r.setCreatorName(item.get().getName());
             }
-            Optional<SysDict> type = sysDictOfOrderType.stream().filter(u -> u.getId().equals(r.getCreatorId())).findFirst();
+            Optional<User> incharger = userList.stream().filter(u -> u.getId().equals(r.getInchargerId())).findFirst();
+            if(incharger.isPresent()){
+                r.setInchargerName(incharger.get().getName());
+            }
+            Optional<SysDict> type = sysDictOfOrderType.stream().filter(s -> s.getId().equals(r.getType())).findFirst();
             if(type.isPresent()){
                 r.setTypeName(type.get().getName());
             }
+            Optional<Custom> custom = customList.stream().filter(c -> c.getId().equals(r.getCustomId())).findFirst();
+            if(custom.isPresent()){
+                r.setCustomName(custom.get().getCustomName());
+            }
         });
         Map map=new HashMap();
         map.put("record",records);
@@ -351,7 +386,7 @@ public class SalesOrderServiceImpl extends ServiceImpl<SalesOrderMapper, SalesOr
             titleList.add(item.getString("label"));
         }
         dataList.add(titleList);
-        HttpRespMsg respMsg = getList( userId, orderName,orderCode, productCode, null, null,0);
+        HttpRespMsg respMsg = getList( userId,null, orderName,orderCode,null,null,null,null,null,productCode, null,null,0);
         Map<String, Object> msgData = (Map<String, Object>) respMsg.getData();
         List<Product> productList = (List<Product>) msgData.get("record");
         for (Product product : productList) {