Selaa lähdekoodia

大中型流程细节优化

wucl 1 vuosi sitten
vanhempi
commit
4576da62b0

+ 14 - 0
biz-base/src/main/java/com/dayou/controller/FinanceRealFundController.java

@@ -98,6 +98,8 @@ public class FinanceRealFundController extends BaseController {
         return RestResponse.data(result);
     }
 
+
+
     /**
      * 大中型产品逾期未收款列表导出
      * @param overdueVO
@@ -284,5 +286,17 @@ public class FinanceRealFundController extends BaseController {
         String endDate = vo.getEndDate().split(" ")[0];
         exportPlus(response,"大中型市场人员提成详情"+ startDate +"至"+ endDate,result, UserCommissionProdVO.class);
     }
+
+    /**
+     * 个贷产品逾期未收款列表
+     * @param overdueVO
+     * @param page
+     * @return
+     */
+    @GetMapping("/overdue/personal")
+    public RestResponse<Page<PersonalProdOverdueVO>> overduePersonal(PersonalProdOverdueVO overdueVO, Page page){
+        Page<PersonalProdOverdueVO> result = financeRealFundService.overduePersonal(overdueVO,page);
+        return RestResponse.data(result);
+    }
 }
 

+ 1 - 0
dao/src/main/java/com/dayou/mapper/FinanceRealFundMapper.java

@@ -51,4 +51,5 @@ public interface FinanceRealFundMapper extends CustomBaseMapper<FinanceRealFund>
 
     List<UserCommissionProdVO> marketUserDetailExport(@Param("vo")UserCommissionProdVO vo);
 
+    Page<PersonalProdOverdueVO> overduePersonal(Page page, PersonalProdOverdueVO overdueVO);
 }

+ 4 - 0
dao/src/main/resources/mapper/FinanceRealFundMapper.xml

@@ -733,4 +733,8 @@
         </where>
         order by mpa.user_id
     </select>
+
+    <select id="overduePersonal" parameterType="com.dayou.vo.PersonalProdOverdueVO" resultType="com.dayou.vo.PersonalProdOverdueVO">
+
+    </select>
   </mapper>

+ 2 - 1
dao/src/main/resources/mapper/MajorProductionMapper.xml

@@ -74,7 +74,8 @@
         mp.save_file_second_check,
         mp.if_save_file,
         mp.file_path,
-        m.`name` AS majorName
+        m.`name` AS majorName,
+        mp.checked_file_path
         FROM
             major_production mp
                 LEFT JOIN major m ON m.id = mp.major_id

+ 1 - 0
domain/src/main/java/com/dayou/dto/ProductionDTO.java

@@ -124,4 +124,5 @@ public class ProductionDTO {
      * 报告使用期限
      */
     private String limitDate;
+
 }

+ 8 - 0
domain/src/main/java/com/dayou/entity/MajorProduction.java

@@ -189,6 +189,11 @@ public class MajorProduction extends BaseEntity {
     private String filePath;
 
     /**
+     * 已审核的电子文档路经
+     */
+    private String checkedFilePath;
+
+    /**
      * 归档日期
      */
     private LocalDate saveFileDate;
@@ -216,6 +221,9 @@ public class MajorProduction extends BaseEntity {
     private List<T> filePathList = new ArrayList<>();
 
     @TableField(exist = false)
+    private List<T> filePathList1 = new ArrayList<>();
+
+    @TableField(exist = false)
     private String majorName;
 
     @TableField(exist = false)

+ 106 - 0
domain/src/main/java/com/dayou/vo/PersonalProdOverdueVO.java

@@ -0,0 +1,106 @@
+package com.dayou.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.dayou.annotation.ExportCell;
+import com.dayou.annotation.ImportCell;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * 类说明:
+ *
+ * @author: wucl
+ * @since: 2024/6/12
+ * created with IntelliJ IDEA.
+ */
+@Data
+public class PersonalProdOverdueVO {
+
+    /**
+     * 订单编号
+     */
+    private String orderId;
+
+    /**
+     * 产品类型
+     */
+    private String production;
+
+    /**
+     * 坐落
+     */
+    private String location;
+
+    /**
+     * 面积
+     */
+    private BigDecimal acreage;
+    /**
+     * 单价
+     */
+    private BigDecimal price;
+    /**
+     * 总价
+     */
+    private BigDecimal amount;
+    /**
+     * 客户名称
+     */
+    private String clientName;
+    /**
+     * 业务来源
+     */
+    private String clientSubName;
+    /**
+     * 客户联系人
+     */
+    private String contactName;
+    /**
+     * 联系人电话
+     */
+    private String contactTel;
+
+    /**
+     * 委托人1
+     */
+    private String bailorA;
+
+    /**
+     * 委托人1电话
+     */
+    private String bailoraTel;
+
+    /**
+     * 委托人2
+     */
+    private String bailorB;
+
+    /**
+     * 委托人2电话
+     */
+    private String bailorbTel;
+
+    /**
+     * 客户经理
+     */
+    private String clientManager;
+    /**
+     * 外业人员
+     */
+    private String outwardStaffName;
+    /**
+     * 内业人员
+     */
+    private String inwardStaffName;
+    /**
+     * 定价人员
+     */
+    private String pricingStaffName;
+
+    /**
+     * 出库时间
+     */
+    private LocalDateTime repertoryOutTime;
+}

+ 2 - 0
service/src/main/java/com/dayou/service/IFinanceRealFundService.java

@@ -63,4 +63,6 @@ public interface IFinanceRealFundService extends IService<FinanceRealFund> {
     List<UserCommissionProdVO> marketCurUserDetailExport(UserCommissionProdVO vo);
 
     List<UserCommissionProdVO> marketAllUserDetailExport(UserCommissionProdVO vo);
+
+    Page<PersonalProdOverdueVO> overduePersonal(PersonalProdOverdueVO overdueVO, Page page);
 }

+ 6 - 0
service/src/main/java/com/dayou/service/impl/FinanceRealFundServiceImpl.java

@@ -181,4 +181,10 @@ public class FinanceRealFundServiceImpl extends ServiceImpl<FinanceRealFundMappe
         vo.setUserId(null);
         return financeRealFundMapper.marketUserDetailExport(vo);
     }
+
+    @Override
+    public Page<PersonalProdOverdueVO> overduePersonal(PersonalProdOverdueVO overdueVO, Page page) {
+        Page<PersonalProdOverdueVO> result = financeRealFundMapper.overduePersonal(page,overdueVO);
+        return result;
+    }
 }

+ 5 - 2
service/src/main/java/com/dayou/service/impl/MajorProductionServiceImpl.java

@@ -347,7 +347,9 @@ public class MajorProductionServiceImpl extends ServiceImpl<MajorProductionMappe
     public Boolean confirmDelivery(TaskRecordDTO<Long> taskRecordDTO) {
         Long id = taskRecordDTO.getTaskData();
         if (id!=null){
-            boolean update = this.update(new LambdaUpdateWrapper<MajorProduction>().set(MajorProduction::getDelivery, Boolean.TRUE).eq(BaseEntity::getId, id));
+            boolean update = this.update(new LambdaUpdateWrapper<MajorProduction>()
+                    .set(MajorProduction::getDelivery, Boolean.TRUE)
+                    .set(MajorProduction::getDeliveryDate,new Date()).eq(BaseEntity::getId, id));
             return update;
         }
         return Boolean.FALSE;
@@ -391,7 +393,7 @@ public class MajorProductionServiceImpl extends ServiceImpl<MajorProductionMappe
                 Long productionFundId = orderReportDTO.getProductionFundId();
                 if (productionFundId==null){
                     MajorProduction production = majorProductionMapper.selectOne(new LambdaQueryWrapper<MajorProduction>().eq(BaseEntity::getId,orderReportDTO.getId()).eq(BaseEntity::getDeleted, Boolean.FALSE)
-                            .select(MajorProduction::getReportNo, MajorProduction::getMajorId, MajorProduction::getProduction, MajorProduction::getEvaluateAmount));
+                            .select(MajorProduction::getReportNo, MajorProduction::getMajorId, MajorProduction::getProduction, MajorProduction::getEvaluateAmount,MajorProduction::getStandardAmount));
                     ProductionFund productionFund = new ProductionFund();
                     productionFund.setProductionType(production.getProduction());
                     productionFund.setBusinessType(MainBusinessEnum.MAJOR_BUSINESS.name());
@@ -400,6 +402,7 @@ public class MajorProductionServiceImpl extends ServiceImpl<MajorProductionMappe
                     productionFund.setProductionNo(production.getReportNo());
                     productionFund.setRealAmount(orderReportDTO.getThisTimeAmount());
                     productionFund.setEvaluateAmount(production.getEvaluateAmount());
+                    productionFund.setStandardAmount(production.getStandardAmount());
                     productionFundService.save(productionFund);
                     productionFundId = productionFund.getId();
                 }else {

+ 0 - 2
service/src/main/java/com/dayou/service/impl/UserServiceImpl.java

@@ -1,8 +1,6 @@
 package com.dayou.service.impl;
 
-import cn.hutool.Hutool;
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.RandomUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;

+ 7 - 0
service/src/main/java/com/dayou/workflow/handler/MajorNodeHandler.java

@@ -16,6 +16,7 @@ import com.dayou.enums.workflow.HandlerPermissionEnum;
 import com.dayou.enums.workflow.WorkflowNodeEnum;
 import com.dayou.mapper.*;
 import com.dayou.service.IUserPostService;
+import com.dayou.service.IUserService;
 import com.dayou.service.workflow.IWorkFlowNodeInstanceService;
 import com.dayou.service.workflow.IWorkNodeService;
 import com.dayou.workflow.config.WorkNodeProcessable;
@@ -56,6 +57,9 @@ public class MajorNodeHandler extends WorkNodeProcessable {
     @Autowired
     private IWorkNodeService workNodeService;
 
+    @Autowired
+    private IUserService userService;
+
 
     @Override
     public boolean forward(WorkNodeCommit workNodeCommit) {
@@ -82,6 +86,7 @@ public class MajorNodeHandler extends WorkNodeProcessable {
                             nextWorkNode = workNodeService.getNextWorkNodeByBusiness(currentInstanceNode.getFlowId(),MainBusinessEnum.MAJOR_BUSINESS,currentInstanceNode.getNodeCode(), majorNecessaryNodes);
                             break;
                         case CHECK_PRODUCTION_FUND:
+                            //出库申请:已收款不用部门审核,直接到财务审核
                             if (workNodeCommit.getIfProductionFund()){
                                 nextWorkNode = workNodeService.getNextWorkNode(nextWorkNode.getFlowId(), nextWorkNode.getId());
                             }
@@ -167,6 +172,8 @@ public class MajorNodeHandler extends WorkNodeProcessable {
                 return major.getClientManagerId();
             case PRINCIPAL:
                 return major.getPrincipalId();
+            case PREVIOUS_HANDLER_LEADER:
+                return userService.getLeaderByCurrentUser();
             case SYSTEM:
                 //暂无程序处理逻辑
                 return 0L;