فهرست منبع

链属定时任务

sqg 3 سال پیش
والد
کامیت
0bf5adeedf

+ 0 - 87
taskMan/src/main/java/com/huyi/task/taskMan/controller/TimedTaskController.java

@@ -1,87 +0,0 @@
-package com.huyi.task.taskMan.controller;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.huyi.task.base.entity.SysCompany;
-import com.huyi.task.base.entity.SysCompanyRel;
-import com.huyi.task.base.entity.SysCompanySpare;
-import com.huyi.task.base.service.ISysCompanyRelService;
-import com.huyi.task.base.service.ISysCompanyService;
-import com.huyi.task.base.service.ISysCompanySpareService;
-import com.tianhu.common.core.utils.CommonUtil;
-import com.tianhu.common.core.utils.DateUtils;
-import com.tianhu.common.core.utils.IdUtils;
-import com.tianhu.common.core.web.controller.BaseController;
-import com.tianhu.common.security.service.TokenService;
-import lombok.SneakyThrows;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Configuration      //1.主要用于标记配置类,兼备Component的效果。
-@EnableScheduling   // 2.开启定时任务
-public class TimedTaskController extends BaseController {
-    private static final Logger log = LoggerFactory.getLogger(TimedTaskController.class);
-
-    @Autowired
-    private TokenService tokenService;
-    @Autowired
-    private ISysCompanySpareService iSysCompanySpareService;
-    @Autowired
-    private ISysCompanyRelService iSysCompanyRelService;
-    @Autowired
-    private ISysCompanyService iSysCompanyService;
-
-    /**
-     * 定时查询周报未填
-     */
-    @SneakyThrows
-    @Scheduled(cron = "0 */10 * * * ?")
-    private void companyRelHandle(){
-        LambdaQueryWrapper<SysCompanySpare> spareLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        spareLambdaQueryWrapper.eq(SysCompanySpare::getScpStatus,"00");
-        List<SysCompanySpare> spareList = iSysCompanySpareService.findSysCompanySpares(spareLambdaQueryWrapper);
-        List<String> companyList = CommonUtil.getIdFromList(spareList, "scpCompanyId");
-        LambdaQueryWrapper<SysCompany> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(SysCompany::getScyStatus,"00");
-        queryWrapper.in(SysCompany::getScyId,companyList);
-        List<SysCompany> list = iSysCompanyService.findSysCompanys(queryWrapper);
-//        if (list.size() > 0) {
-//            for (int j = 0; j < list.size(); j++) {
-//                //获取企业
-//                String scyId = list.get(j).getScyId();
-//                //获取企业Id
-//                String panyId = weeklyList.get(j).get("ss_company_id") + "";
-//                PmWeeklyInf weeklyInf = new PmWeeklyInf();
-//                //主键
-//                weeklyInf.setPwiId(IdUtils.fastSimpleUUID());
-//                //企业Id
-//                weeklyInf.setPwiCompanyId(panyId);
-//                //员工Id
-//                weeklyInf.setPwiStaffId(staffId);
-//                //周报开始时间
-//                weeklyInf.setPwiStartDate(addStartDate);
-//                //周报结束时间
-//                weeklyInf.setPwiEndDate(addEndDate);
-//                //状态(未填)
-//                weeklyInf.setPwiWriteState("02");
-//                //状态(保存)
-//                weeklyInf.setPwiState("01");
-//                this.iPmWeeklyInfService.insertPmWeeklyInf(weeklyInf);
-//            }
-//        } else {
-//            return;
-//        }
-    }
-
-}
-

+ 141 - 0
taskMan/src/main/java/com/huyi/task/taskMan/service/TimedTaskService.java

@@ -0,0 +1,141 @@
+package com.huyi.task.taskMan.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huyi.task.base.entity.SysCompany;
+import com.huyi.task.base.entity.SysCompanyRel;
+import com.huyi.task.base.entity.SysCompanySpare;
+import com.huyi.task.base.service.ISysCompanyRelService;
+import com.huyi.task.base.service.ISysCompanyService;
+import com.huyi.task.base.service.ISysCompanySpareService;
+import com.tianhu.common.core.utils.CommonUtil;
+import com.tianhu.common.core.utils.DateUtils;
+import com.tianhu.common.core.utils.IdUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+import java.util.List;
+import java.util.Map;
+
+@Configuration      //1.主要用于标记配置类,兼备Component的效果。
+@EnableScheduling   // 2.开启定时任务
+public class TimedTaskService {
+    private static final Logger log = LoggerFactory.getLogger(TimedTaskService.class);
+
+    @Autowired
+    private ISysCompanySpareService iSysCompanySpareService;
+    @Autowired
+    private ISysCompanyRelService iSysCompanyRelService;
+    @Autowired
+    private ISysCompanyService iSysCompanyService;
+
+    /**
+     * 定时查询已认证的链属企业
+     */
+    //每十分钟
+//    @Scheduled(cron = "0 */10 * * * ?")
+    //每一分钟(测试用)
+//    @Scheduled(cron = "0/10 * * * * ?")
+    private void companyRelHandle(){
+        //查询链属公司信息表正常状态的数据(spare)
+        QueryWrapper<SysCompanySpare> spareLambdaQueryWrapper = new QueryWrapper<>();
+        //正常状态
+        spareLambdaQueryWrapper.eq("scp_status","00");
+        //groupBy企业名称与社会统一信用代码
+        spareLambdaQueryWrapper.groupBy("scp_name","scp_social_code");
+        List<Map<String, Object>> spareList = iSysCompanySpareService.listMaps(spareLambdaQueryWrapper);
+            //走for验证企业是否已认证
+            for (int i = 0; i < spareList.size(); i++) {
+                //企业名称
+                String scyName = CommonUtil.objToString(spareList.get(i).get("scp_name"));
+                //社会统一信用代码
+                String code = CommonUtil.objToString(spareList.get(i).get("scp_social_code"));
+                //查询企业表(company)
+                LambdaQueryWrapper<SysCompany> queryWrapper = new LambdaQueryWrapper<>();
+                //企业名称
+                queryWrapper.eq(SysCompany::getScyName,scyName);
+                //社会统一信用代码
+                queryWrapper.eq(SysCompany::getScySocialCode,code);
+                //正常状态
+                queryWrapper.eq(SysCompany::getScyStatus,"00");
+                List<SysCompany> list = iSysCompanyService.findSysCompanys(queryWrapper);
+                //如果size>0 则查询链属企业进行新增
+                if(list.size() > 0){
+                    //获取链属的企业Id
+                    String scyId = list.get(0).getScyId();
+                    //再次查询spare表
+                    LambdaQueryWrapper<SysCompanySpare> sysCompanySpare = new LambdaQueryWrapper<>();
+                    //企业名称
+                    sysCompanySpare.eq(SysCompanySpare::getScpName,scyName);
+                    //社会统一信用代码
+                    sysCompanySpare.eq(SysCompanySpare::getScpSocialCode,code);
+                    List<SysCompanySpare> sysCompanySpareList = iSysCompanySpareService.findSysCompanySpares(sysCompanySpare);
+                    //走for添加链属信息
+                    for (int j = 0; j < sysCompanySpareList.size(); j++) {
+                        //链属表Id-----(rel表)
+                        String scrId = IdUtils.fastSimpleUUID();
+                        //链属信息表录入企业Id(scp_company_id)
+                        String relId = sysCompanySpareList.get(j).getScpCompanyId();
+                        //企业类型00:上游,01:下游
+                        String type = sysCompanySpareList.get(j).getScpType();
+                        //联系人
+                        String scrContarct = sysCompanySpareList.get(j).getScpContarct();
+                        //联系电话
+                        String scrContarctPhone = sysCompanySpareList.get(j).getScpContarctPhone();
+                        //创建人
+                        String createBy = sysCompanySpareList.get(j).getCreateBy();
+                        //传值
+                        SysCompanyRel sysCompanyRel = new SysCompanyRel();
+                        //主键
+                        sysCompanyRel.setScrId(scrId);
+                        //接收方
+                        sysCompanyRel.setScrReceiveCompanyId(scyId);
+                        //接收方上下游类型
+                        sysCompanyRel.setScrReceiveType(type);
+                        //发起方(链属信息表录入企业Id----scp_company_id)
+                        sysCompanyRel.setScrLaunchCompanyId(relId);
+                        //如果接收方为上游(00),则发起方为下游(01)
+                        //如果接收方为下游(01),则发起方为上游(00)
+                        if("00".equals(type)){
+                            sysCompanyRel.setScrLaunchType("01");
+                        }else if("01".equals(type)){
+                            sysCompanyRel.setScrLaunchType("00");
+                        }
+                        //联系人
+                        sysCompanyRel.setScrContarct(scrContarct);
+                        //联系电话
+                        sysCompanyRel.setScrContarctPhone(scrContarctPhone);
+                        //链属状态为(00:待链属, 01:正常, 02:拒绝链属, 99:删除)
+                        sysCompanyRel.setScrStatus("01");
+                        //创建人
+                        sysCompanyRel.setCreateBy(createBy);
+                        //创建时间
+                        sysCompanyRel.setCreateTime(DateUtils.getNowDate());
+                        //新增
+                        iSysCompanyRelService.createSysCompanyRel(sysCompanyRel);
+                        //获取链属公司信息表主键(spare)
+                        String scpId = sysCompanySpareList.get(j).getScpId();
+                        //拿到此条实体类
+                        SysCompanySpare spare = iSysCompanySpareService.getById(scpId);
+                        //改为已认证
+                        SysCompanySpare companySpare = new SysCompanySpare();
+                        //主键
+                        companySpare.setScpId(scpId);
+                        //状态 00:正常 01:已认证 99:删除
+                        companySpare.setScpStatus("01");
+                        //修改人
+                        companySpare.setUpdateBy(spare.getUpdateBy());
+                        //修改时间
+                        companySpare.setUpdateTime(DateUtils.getNowDate());
+                        //执行
+                        iSysCompanySpareService.updateById(companySpare);
+                    }
+                }
+            }
+        }
+
+}
+