Преглед на файлове

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun

ccj преди 3 години
родител
ревизия
4a0f8db47a
променени са 22 файла, в които са добавени 449 реда и са изтрити 28 реда
  1. 3 0
      winsea-haixin-platform-backend/src/main/resources/application.yml
  2. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CommonUserController.java
  3. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/PurchaseOrderController.java
  4. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SaleOrderController.java
  5. 11 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SettledCompanyDynamicsController.java
  6. 4 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SettledCompanyDynamics.java
  7. 22 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/CommonUserMapper.java
  8. 4 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICommonUserService.java
  9. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IPurchaseOrderService.java
  10. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISaleOrderService.java
  11. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISettledCompanyDynamicsService.java
  12. 2 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java
  13. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CollectionManagementServiceImpl.java
  14. 108 20
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonUserServiceImpl.java
  15. 22 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PurchaseOrderServiceImpl.java
  16. 22 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SaleOrderServiceImpl.java
  17. 23 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SettledCompanyDynamicsServiceImpl.java
  18. 2 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SettledCompanyInfoServiceImpl.java
  19. 29 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java
  20. 56 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java
  21. 82 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/CommonUserMapper.xml
  22. 6 2
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/SettledCompanyDynamicsMapper.xml

+ 3 - 0
winsea-haixin-platform-backend/src/main/resources/application.yml

@@ -50,10 +50,13 @@ auth:
     - /saas/**/*
     - /ws/**/*
     - /commonUser/*
+    - /commonUser/**/*
     - /contractManagementInfo/*
     - /salePlanInfo/*
     - /freightReceivingDispatching/*
     - /receivingUser/*
+    - /settledCompanyInfo/*
+    - /settledCompanyDynamics/*
     - /searchRecordsInfo/*
     - /saleOrder/*
     - /saleOrder/**/*

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/CommonUserController.java

@@ -1,6 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.winsea.svc.base.base.entity.CommonCompany;
 import com.winsea.svc.base.base.service.ICommonCompanyService;
 import com.winsea.svc.base.base.service.ICommonStaffService;
@@ -10,6 +11,7 @@ import com.winsea.svc.base.security.exception.AuthErrorCodeEnums;
 import com.winsea.svc.base.security.exception.AuthException;
 import com.winsea.svc.base.security.service.IAccountService;
 import com.winsea.svc.base.security.vo.command.AuthUserCommand;
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
@@ -177,5 +179,19 @@ public class CommonUserController {
         return user;
     }
 
+
+    /**
+     * 查询任务
+     *
+     * @param noticeTask 查询条件
+     * @return 返回分页查询结果
+     */
+    @GetMapping("/query/findHisPageNoticeTasks")
+    public Page<NoticeTaskInfo> findHisPageNoticeTasks(NoticeTaskInfo noticeTask) {
+        return commonUserService.findHisPageNoticeTasks(noticeTask);
+    }
+
+
+
 }
 

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/PurchaseOrderController.java

@@ -125,5 +125,12 @@ public class PurchaseOrderController {
     public Page<PurchaseOrder> selectPurchaseOrderApp(PurchaseOrder purchaseOrder) {
         return purchaseOrderService.selectPurchaseOrderApp(purchaseOrder);
     }
+    /**
+     * 查看采购订单
+     */
+    @GetMapping("/getInfo")
+    public PurchaseOrder getInfo(@RequestParam String id) {
+        return purchaseOrderService.getInfo(id);
+    }
 }
 

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SaleOrderController.java

@@ -100,6 +100,13 @@ public class SaleOrderController {
     public String editSaleOrder(@RequestBody SaleOrder saleOrder){
         return saleOrderService.editSaleOrder(saleOrder);
     }
+    /**
+     * 查看销售订单
+     */
+    @GetMapping("/getInfo")
+    public SaleOrder getInfo(@RequestParam String id) {
+        return saleOrderService.getInfo(id);
+    }
 
 }
 

+ 11 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/SettledCompanyDynamicsController.java

@@ -97,6 +97,17 @@ public class SettledCompanyDynamicsController {
     public SettledCompanyDynamics getSettledCompanyDynamics(String id) {
         return settledCompanyDynamicsService.getSettledCompanyDynamics(id);
     }
+    /**
+     * 查看当天发布
+     *
+     * @param phone
+     * @return
+     */
+    @GetMapping("/count")
+    public Integer count(@RequestParam String phone) {
+        return settledCompanyDynamicsService.count(phone);
+    }
+
 
 
 }

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/SettledCompanyDynamics.java

@@ -10,10 +10,12 @@ import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
 
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -63,6 +65,8 @@ public class SettledCompanyDynamics extends BaseModel<SettledCompanyDynamics> {
     /**
      * 发布日期
      */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date dynamicsDate;
     /**
      * 状态flag

+ 22 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/CommonUserMapper.java

@@ -1,9 +1,14 @@
 package com.yh.saas.plugin.yiliangyiyun.mapper;
 
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.CollectionManagement;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  *  Mapper 接口
@@ -16,4 +21,21 @@ public interface CommonUserMapper extends BaseMapper<CommonUser> {
 
 
     CommonUser login(@Param("phone") String phone, @Param("cryptPassword") String cryptPassword);
+
+    /**
+     * 根据条件查询总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询
+     *
+     * @param pageView
+     * @return
+     */
+    List<NoticeTaskInfo> getListByCondition(Map<String, Object> pageView);
+
 }

+ 4 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ICommonUserService.java

@@ -1,6 +1,8 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.baomidou.mybatisplus.plugins.Page;
 import com.winsea.svc.base.security.entity.Account;
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
 import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
@@ -70,4 +72,6 @@ public interface ICommonUserService extends IService<CommonUser> {
     Account getUserByLoginName(String loginName, String compId, Account.AccountType accountType);
 
     Account login(Account user, String veriCode);
+
+    Page<NoticeTaskInfo> findHisPageNoticeTasks(NoticeTaskInfo noticeTask);
 }

+ 8 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IPurchaseOrderService.java

@@ -1,6 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseOrder;
 import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
@@ -78,4 +79,11 @@ public interface IPurchaseOrderService extends IService<PurchaseOrder> {
 
     String submitPurchaseOrder(PurchaseOrder purchaseOrder);
 
+    /**
+     * 查看
+     *
+     * @param
+     */
+    PurchaseOrder getInfo(String id);
+
 }

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISaleOrderService.java

@@ -1,6 +1,7 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchaseOrder;
 import com.yh.saas.plugin.yiliangyiyun.entity.SaleOrder;
 import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
@@ -68,5 +69,11 @@ public interface ISaleOrderService extends IService<SaleOrder> {
      * @param saleOrder
      */
     String editSaleOrder(SaleOrder saleOrder);
+    /**
+     * 查看
+     *
+     * @param
+     */
+    SaleOrder getInfo(String id);
 
 }

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ISettledCompanyDynamicsService.java

@@ -64,4 +64,11 @@ public interface ISettledCompanyDynamicsService extends IService<SettledCompanyD
      * @return
      */
     SettledCompanyDynamics getSettledCompanyDynamics(String id);
+
+    /**
+     * 查看当天发布条数
+     * @param phone
+     * @return
+     */
+    Integer count(String phone);
 }

+ 2 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java

@@ -101,4 +101,6 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
     Integer selectCountByPhone(String phone);
 
     String selectCompId(String contractNo);
+
+    void tesk(WarehouseInOutInfo warehouseInOutInfo,String flag);
 }

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CollectionManagementServiceImpl.java

@@ -52,7 +52,7 @@ public class CollectionManagementServiceImpl extends ServiceImpl<CollectionManag
         pageView.put("searchType", collectionManagement.getSearchType());
         pageView.put("pageSize", collectionManagement.getPageSize());
         pageView.put("currentPage", collectionManagement.getCurrentPage());
-        // 查询服务商总数
+        // 查询总数
         Integer dataCount = baseMapper.getCountByCondition(pageView);
         List<CollectionManagement> dataList = baseMapper.getListByCondition(pageView);
         if (!CollectionUtils.isEmpty(dataList)){

+ 108 - 20
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonUserServiceImpl.java

@@ -3,6 +3,9 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 import cn.hutool.core.lang.UUID;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
 import com.winsea.svc.base.base.entity.CommonDepartment;
 import com.winsea.svc.base.base.entity.CommonStaff;
 import com.winsea.svc.base.base.service.ICommonDepartmentService;
@@ -15,11 +18,18 @@ import com.winsea.svc.base.security.entity.Account;
 import com.winsea.svc.base.security.service.IAccountLoginHistoryService;
 import com.winsea.svc.base.security.service.IAccountService;
 import com.winsea.svc.base.security.service.IVeriCodeService;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.winsea.svc.notice.entity.NoticeBusinessConstantInfo;
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
+import com.winsea.svc.notice.entity.base.BaseNotice;
+import com.winsea.svc.notice.service.INoticeBusinessConstantService;
+import com.winsea.svc.notice.service.INoticeBusinessResourceService;
+import com.winsea.svc.notice.service.INoticeTaskService;
+import com.winsea.svc.notice.service.INoticeUtilService;
+import com.yh.saas.common.support.entity.BaseModel;
 import com.yh.saas.common.support.event.SupportEventBus;
-import com.yh.saas.plugin.yiliangyiyun.entity.CacheComponent;
-import com.yh.saas.plugin.yiliangyiyun.entity.CommonUser;
-import com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.IdentityAuthenticationInfo;
+import com.yh.saas.common.support.util.query.QueryUtils;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.AppServiceException;
 import com.yh.saas.plugin.yiliangyiyun.exception.ExceptionDefinition;
 import com.yh.saas.plugin.yiliangyiyun.exception.ServiceException;
@@ -42,7 +52,9 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import com.baomidou.mybatisplus.mapper.Wrapper;
-import java.util.List;
+
+import java.math.BigDecimal;
+import java.util.*;
 import java.sql.*;
 
 /**
@@ -77,36 +89,30 @@ public class CommonUserServiceImpl extends ServiceImpl<CommonUserMapper, CommonU
     @Autowired
     private ICommonStaffService commonStaffService;
 
-
     @Autowired
-    private ShiroRealm shiroRealm;
+    private INoticeBusinessConstantService businessConstantService;
 
     @Autowired
     private SecurityProperties securityProperties;
 
     @Autowired
-    private ICommonTenantService tenantService;
+    private INoticeBusinessResourceService businessResourceService;
 
     @Autowired
-    private ICommonRoleService roleService;
-
-    @Autowired
-    private ICommonStaffService staffService;
+    private ICommonDepartmentService commonDepartmentService;
 
     @Autowired
-    private IVeriCodeService veriCodeService;
+    private IAccountService accountService;
 
     @Autowired
-    private IAccountLoginHistoryService loginHistoryService;
+    private INoticeUtilService noticeUtilService;
 
     @Autowired
-    private SupportEventBus supportEventBus;
+    private INoticeTaskService noticeTaskService;
 
-    @Autowired
-    private ICommonDepartmentService commonDepartmentService;
 
-    @Autowired
-    private IAccountService accountService;
+    //用来过滤权限的时候使用,当过滤的code已在其中的时候就不进行过滤;
+    private Set<String> businessCodes;
 
 
     Connection coon = null;
@@ -578,7 +584,7 @@ public class CommonUserServiceImpl extends ServiceImpl<CommonUserMapper, CommonU
             password = targetUser.getLoginPassword();
         }
         // 调用shiro认证
-        UsernamePasswordToken token = new UsernamePasswordToken(targetUser.getUserId(), password);
+        UsernamePasswordToken  token = new UsernamePasswordToken(targetUser.getUserId(), password);
         if (null == user.getRememberMe()) {
             token.setRememberMe(false);
         } else {
@@ -636,4 +642,86 @@ public class CommonUserServiceImpl extends ServiceImpl<CommonUserMapper, CommonU
     }
 
 
+    /**查询已完成任务
+     *
+     * @param noticeTask
+     * @return
+     */
+    @Override
+    public Page<NoticeTaskInfo> findHisPageNoticeTasks(NoticeTaskInfo noticeTask) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (noticeTask.getCurrentPage() - 1)
+                * noticeTask.getPageSize());
+        //  公司ID
+        pageView.put("userId", AuthSecurityUtils.getCurrentUserId());
+        pageView.put("roleId", AuthSecurityUtils.getStaffById(AuthSecurityUtils.getCurrentUserId()).getMajorRoleId());
+        pageView.put("pageSize", noticeTask.getPageSize());
+        pageView.put("currentPage", noticeTask.getCurrentPage());
+
+        // 查询总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<NoticeTaskInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<NoticeTaskInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(noticeTask.getCurrentPage());
+        page.setSize(noticeTask.getPageSize());
+        return page;
+    }
+
+
+
+    /**
+     * 过滤没有这个权限的任务
+     *
+     * @param taskInfos    当前获取到的数据
+     * @param newTaskInfos 新容器
+     */
+    private void filterResource(List<NoticeTaskInfo> taskInfos, List<NoticeTaskInfo> newTaskInfos) {
+        businessCodes = new HashSet<>();
+
+        //已有权限
+        List<String> resourceIds = AuthSecurityUtils.getUserResources(AuthSecurityUtils.getCurrentUserId());
+
+        //摘除该用户没有权限的数据
+        for (NoticeTaskInfo taskInfo : taskInfos) {
+            //摘除该用户没有权限的数据
+            if (businessCodes.contains(taskInfo.getBusinessCode()) ||
+                    businessResourceService.determineBusinessCodeResource(resourceIds, taskInfo.getBusinessCode())) {
+                businessCodes.add(taskInfo.getBusinessCode());
+                newTaskInfos.add(taskInfo);
+            }
+        }
+    }
+
+
+    /**
+     * 获取当前登录人工作通知任务查询条件Wrapper
+     *
+     * @param noticeTask 工作通知
+     * @return 返回条件语句
+     */
+    private Wrapper<NoticeTaskInfo> getCurrentUserNoticeTaskWrapper(NoticeTaskInfo noticeTask) {
+        Wrapper<NoticeTaskInfo> wrapper;
+        boolean returnFlag = false;
+        if (null != noticeTask &&
+                NoticeTaskInfo.NoticeTaskStatus.TO_BE_PROCESSED.equals(noticeTask.getNoticeTaskStatus())) {
+            returnFlag = true;
+            noticeTask.setNoticeTaskStatus(null);
+        }
+
+        if (null == noticeTask) {
+            wrapper = new EntityWrapper<>();
+        } else {
+            wrapper = QueryUtils.convertExampleToWrapper(noticeTask);
+        }
+
+        if (returnFlag) {
+            wrapper.in(NoticeTaskInfo.QueryFields.NOTICE_TASK_STATUS, Lists.newArrayList(NoticeTaskInfo.NoticeTaskStatus.TO_BE_PROCESSED, NoticeTaskInfo.NoticeTaskStatus.RETURN));
+        }
+
+        return (Wrapper<NoticeTaskInfo>) noticeUtilService.getCurrentUserNoticeTaskWrapper(wrapper, NoticeTaskInfo.class);
+    }
+
+
 }

+ 22 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/PurchaseOrderServiceImpl.java

@@ -607,6 +607,28 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P
         return "OK";
     }
 
+    /**
+     * 查看
+     *
+     * @param
+     */
+    @Override
+    public PurchaseOrder getInfo(String id) {
+       PurchaseOrder purchaseOrder=this.selectById(id);
+        ProcurementPlanInfo procurementPlanInfo = procurementPlanInfoService.selectById(purchaseOrder.getPlanId());
+        if (procurementPlanInfo != null) {
+            purchaseOrder.setProcurementPlanType(procurementPlanInfo.getProcurementPlanType());
+        }
+        String taskId = "";
+        // 只有待审核状态才有taskId
+        if (StringUtils.isNotBlank(purchaseOrder.getWorkflowId())) {
+            JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(purchaseOrder.getWorkflowId()), purchaseOrder.getId());
+            taskId = jsonObject.getString("taskId");
+            purchaseOrder.setTaskId(taskId);
+        }
+       return purchaseOrder;
+    }
+
 
     /**
      * 删除采购订单

+ 22 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SaleOrderServiceImpl.java

@@ -637,4 +637,26 @@ public class SaleOrderServiceImpl extends ServiceImpl<SaleOrderMapper, SaleOrder
             return "NG";
         }
     }
+
+    /**
+     * 查看
+     *
+     * @param
+     */
+    @Override
+    public SaleOrder getInfo(String id) {
+        SaleOrder saleOrder=this.selectById(id);
+        SalePlanInfo salePlanInfo=salePlanInfoService.selectById(saleOrder.getPlanId());
+        if (salePlanInfo!=null){
+            saleOrder.setSalePlanType(salePlanInfo.getSalePlanType());
+        }
+        String taskId = "";
+        // 只有待审核状态才有taskId
+        if (StringUtils.isNotBlank(saleOrder.getWorkflowId())) {
+            JSONObject jsonObject = workflowService.getActiveTask(Lists.newArrayList(saleOrder.getWorkflowId()), saleOrder.getId());
+            taskId = jsonObject.getString("taskId");
+            saleOrder.setTaskId(taskId);
+        }
+        return saleOrder;
+    }
 }

+ 23 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SettledCompanyDynamicsServiceImpl.java

@@ -16,10 +16,10 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.SimpleIdGenerator;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * <p>
@@ -176,6 +176,26 @@ public class SettledCompanyDynamicsServiceImpl extends ServiceImpl<SettledCompan
         return settledCompanyDynamics;
     }
 
+    /**
+     * 查看当天发布条数
+     * @param phone
+     * @return
+     */
+    @Override
+    public Integer count(String phone) {
+        //当天零点
+        SimpleDateFormat now = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
+        Calendar c = Calendar.getInstance();
+        c.setTime(new Date());
+        c.add(Calendar.YEAR, 0);
+        Date y = c.getTime();
+        String year = now.format(y);
+        Integer count=this.selectCount(new EntityWrapper<SettledCompanyDynamics>()
+        .eq("phone",phone)
+        .ge("create_date",year));
+        return count;
+    }
+
     /**
      * 发布动态列表
      *

+ 2 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/SettledCompanyInfoServiceImpl.java

@@ -355,7 +355,8 @@ public class SettledCompanyInfoServiceImpl extends ServiceImpl<SettledCompanyInf
     @Override
     public List<SettledCompanyInfo> companyList(SettledCompanyInfo settledCompanyInfo) {
         List<SettledCompanyInfo> settledCompanyInfoList = this.selectList(new EntityWrapper<SettledCompanyInfo>()
-        .eq("create_phone",settledCompanyInfo.getLoginPhone()));
+        .eq("create_phone",settledCompanyInfo.getLoginPhone())
+        .eq("status_flag","3"));
         return settledCompanyInfoList;
     }
 

+ 29 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -5,12 +5,15 @@ import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.winsea.svc.base.workflow.entity.Workflow;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.TranProcessInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
@@ -48,6 +51,8 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
     private IDriverViewInfoService driverViewInfoService;
     @Autowired
     private IDriverPayeeInfoService driverPayeeInfoService;
+    @Autowired
+    private INewWorkflowService workflowService;
     /**
      * 汽运调度分页列表查询
      * @param tranProcessInfo
@@ -238,6 +243,30 @@ public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMappe
                             tranSettlementReport.setLoadingImg(tranCarInfo.getLoadPoundImg());
                             tranSettlementReport.setTransportPrice(tranProcessInfo.getTranPrice());
                             tranSettlementReportService.insert(tranSettlementReport);
+                            boolean isStartWorkflow = org.apache.commons.lang3.StringUtils.isBlank(tranSettlementReport.getWorkflowId());
+                            // 不是退回的单子
+                            if (isStartWorkflow) {
+                                Workflow workflow = workflowService
+                                        .findLatestWorkflowByBusinessCodeByApp(tranSettlementReport.getCompId(),"TRANSPORTATION-SETTLEMENT-REPORT");
+                                // 没配置审核流程,直接结束并处理信息
+                                if (workflow == null) {
+                                    throw new YException(YExceptionEnum.PURCHASE_ORDER_ERROR);
+                                }
+                                // 开启审核流
+                                else {
+
+                                    // 设置状态 已提交审核
+                                    tranSettlementReport.setWorkflowId(workflow.getId());
+                                    tranSettlementReportService.updateById(tranSettlementReport);
+                                    workflowService.startInstance(workflow.getId(), tranSettlementReport.getId());
+                                }
+                            }
+                            // 退回的单子 再启用
+                            else {
+
+                                tranSettlementReportService.updateById(tranSettlementReport);
+                                workflowService.activateInstance(tranSettlementReport.getWorkflowId(), tranSettlementReport.getId());
+                            }
                         }
                     }
                     //卸车反馈时状态改为已送达

+ 56 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -3,8 +3,15 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.winsea.svc.base.base.entity.CommonStaff;
+import com.winsea.svc.base.base.entity.NotificationStaffTodoTask;
+import com.winsea.svc.base.base.service.ICommonStaffService;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
 import com.winsea.svc.base.workflow.entity.Workflow;
+import com.winsea.svc.notice.entity.NoticeTaskInfo;
+import com.winsea.svc.notice.entity.base.BaseNotice;
+import com.winsea.svc.notice.service.INoticeService;
+import com.winsea.svc.notice.service.INoticeTaskService;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
@@ -64,10 +71,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
     private ISalesDeliveryReportService salesDeliveryReportService;
     @Autowired
     private ISaleOrderService saleOrderService;
-
+    @Autowired
+    private INoticeService noticeService;
+    @Autowired
+    private INoticeTaskService noticeTaskService;
     @Autowired
     private INewWorkflowService workflowService;
     @Autowired
+    private ICommonStaffService staffService;
+    @Autowired
     private IContractManagementInfoService contractManagementInfoService;
     @Autowired
     private GeTuiUtils geTuiUtils;
@@ -430,6 +442,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                     if (tranCarInfo1 != null&& "3".equals(tranCarInfo1.getConfirmFlag())) {
                         purchaseReceiptReport.setCustomerConfirmationStatusFlag("1");
                         purchaseReceiptReport.setCustomerConfirmationStatus("是");
+                        tesk(warehouseInOutInfo,"2");
                         geTuiUtils.pushByCid("卸货提醒", "您的合同车辆:"+warehouseInOutInfo.getCarNo()+"申请卸货,请及时确认", purchaseOrder.getCommonId());
                     } else {
                         purchaseReceiptReport.setCustomerConfirmationStatusFlag("3");
@@ -534,6 +547,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         salesDeliveryReport.setCustomerConfirmationStatusFlag("1");
                         salesDeliveryReport.setCustomerConfirmationStatus("是");
                         geTuiUtils.pushByCid("发货通知", "您的合同车辆:"+warehouseInOutInfo.getCarNo()+"已发出", saleOrder.getCommonId());
+                        tesk(warehouseInOutInfo,"1");
                     } else {
                         salesDeliveryReport.setCustomerConfirmationStatusFlag("3");
                         salesDeliveryReport.setCustomerConfirmationStatus("否");
@@ -788,4 +802,45 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             return dataCount;
         }
     }
+
+
+    /**
+     * 任务
+     *
+     * @param warehouseInOutInfo
+     */
+    @Override
+    public void tesk(WarehouseInOutInfo warehouseInOutInfo,String flag) {
+        // 先删除任务
+        noticeService.removeNotice(BaseNotice.NoticeStatus.TASK, "INOUTTASK-TASK-APPROVE",
+                warehouseInOutInfo.getId(), null);
+        String staffName = "XXX";
+        CommonStaff commitUserInfo = staffService.getInfo(AuthSecurityUtils.getCurrentUserId());
+        if (commitUserInfo != null) {
+            staffName = commitUserInfo.getMajorRole() != null
+                    ? commitUserInfo.getMajorRole().getRoleName() + " " + commitUserInfo.getStaffName()
+                    : commitUserInfo.getStaffName();
+        }
+        String taskContent ="";
+        // 向下一步操作人发送任务通知
+        if("1".equals(flag)){
+             taskContent = "您的合同("+warehouseInOutInfo.getContractNo()+")车辆:"+warehouseInOutInfo.getCarNo()+"已发出";
+        }
+        else{
+             taskContent = "您的合同("+warehouseInOutInfo.getContractNo()+")车辆:"+warehouseInOutInfo.getCarNo()+"申请卸货,请及时确认";
+
+        }
+        NoticeTaskInfo taskInfo = new NoticeTaskInfo();
+        taskInfo.setCompId(commitUserInfo.getCompId());
+        taskInfo.setAcceptType(BaseNotice.AcceptStatus.STAFF);
+        taskInfo.setBusinessId(warehouseInOutInfo.getId());
+        taskInfo.setBusinessType("WAREHOUSE");
+        taskInfo.setMessageContent(taskContent);
+            taskInfo.setBusinessCode("INOUTTASK-TASK-APPROVE");
+//            taskInfo.setNoticeTaskStatus(NoticeTaskInfo.NoticeTaskStatus.RETURN);
+        noticeTaskService.createNoticeTask(Lists.newArrayList(AuthSecurityUtils.getCurrentUserId()),
+                null, taskInfo);
+
+    }
+
 }

+ 82 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/CommonUserMapper.xml

@@ -15,4 +15,86 @@
         WHERE
             phone = #{phone} AND `password` = #{cryptPassword}
     </select>
+
+
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        	SELECT
+	          count(id)
+             FROM
+             	notice_task_info
+             WHERE
+             	delete_flag = '1'
+             AND ( notice_task_status IN ( 'TO_BE_PROCESSED', 'RETURN' ) )
+             	AND (
+             	1 = 1
+             	AND ( notice_task_info.accept_type = "All" )
+             	OR (
+             	notice_task_info.accept_id IN ( #{userId} )
+             	AND notice_task_info.accept_type = "STAFF"
+             	AND 1 = 1
+             	)
+             	OR (
+             	notice_task_info.accept_id IN ( #{roleId})
+             	AND notice_task_info.accept_type = "ROLE"
+             	AND 1 = 1
+             	)
+             	AND delete_flag = '1'
+             	)
+          </select>
+
+
+
+
+	<select id="getListByCondition" parameterType="Map"
+			resultType="com.winsea.svc.notice.entity.NoticeTaskInfo">
+		SELECT
+		id AS id,
+		notice_task_status AS noticeTaskStatus,
+		business_type AS businessType,
+		comp_id AS compId,
+		overdue_date AS overdueDate,
+		overdue_date_flag AS overdueDateFlag,
+		notice_task_push_status AS noticeTaskPushStatus,
+		business_id AS businessId,
+		business_code AS businessCode,
+		message_title AS messageTitle,
+		message_content AS messageContent,
+		accept_id AS acceptId,
+		accept_type AS acceptType,
+		vessel_id AS vesselId,
+		create_date AS createDate,
+		create_user_id AS createUserId,
+		update_date AS updateDate,
+		update_user_id AS updateUserId,
+		update_flag AS updateFlag,
+		delete_flag AS deleteFlag
+		FROM
+		notice_task_info
+		WHERE
+		delete_flag = '1'
+		AND ( notice_task_status IN ( 'TO_BE_PROCESSED', 'RETURN' ) )
+		AND (
+		1 = 1
+		AND ( notice_task_info.accept_type = "All" )
+		OR (
+		notice_task_info.accept_id IN ( #{userId} )
+		AND notice_task_info.accept_type = "STAFF"
+		AND 1 = 1
+		)
+		OR (
+		notice_task_info.accept_id IN ( #{roleId})
+		AND notice_task_info.accept_type = "ROLE"
+		AND 1 = 1
+		)
+		AND delete_flag = '1'
+		)
+		GROUP BY
+		business_id,
+		business_code
+		ORDER BY
+		create_date DESC
+		<if test="currentPage != null and currentPage != ''">
+			LIMIT ${startRecord}, ${pageSize}
+		</if>
+	</select>
 </mapper>

+ 6 - 2
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/SettledCompanyDynamicsMapper.xml

@@ -11,7 +11,9 @@
         WHERE delete_flag = '0'
         <if test="searchKeyWord != null and searchKeyWord != ''">
             AND (lower(comp_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
-            OR lower(phone) like lower(CONCAT('%',#{searchKeyWord},'%')))
+            OR lower(phone) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(title) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(content) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">
@@ -55,7 +57,9 @@
         WHERE delete_flag = '0'
         <if test="searchKeyWord != null and searchKeyWord != ''">
             AND (lower(comp_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
-            OR lower(phone) like lower(CONCAT('%',#{searchKeyWord},'%')))
+            OR lower(phone) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(title) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(content) like lower(CONCAT('%',#{searchKeyWord},'%')))
         </if>
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 1">