Ver código fonte

Merge remote-tracking branch 'origin/master'

Administrator 2 anos atrás
pai
commit
d5781e73de
28 arquivos alterados com 1799 adições e 190 exclusões
  1. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzLdpsController.java
  2. 107 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzQktjController.java
  3. 1 3
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzSbbzbController.java
  4. 13 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/common/ZsyzCommonController.java
  5. 1 1
      ruoyi-admin/src/main/resources/application.yml
  6. 1 1
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
  7. 21 5
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/projectV2/ZsyzSbbzbServiceImpl.java
  8. 182 3
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/projectV2/common/ZsyzCommonServiceImpL.java
  9. 108 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjDc.java
  10. 41 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjDjks.java
  11. 41 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjYxxs.java
  12. 41 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjZswc.java
  13. 9 12
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzLdps.java
  14. 153 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzQktj.java
  15. 23 0
      ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzSbbzb.java
  16. 2 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzLdpsMapper.java
  17. 61 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzQktjMapper.java
  18. 6 3
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzSbbzbMapper.java
  19. 48 1
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzLdpsServiceImpl.java
  20. 410 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzQktjServiceImpl.java
  21. 2 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzLdpsService.java
  22. 66 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzQktjService.java
  23. 0 1
      ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzSbbzbService.java
  24. 3 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/common/IZsyzCommonService.java
  25. 27 19
      ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzLdpsMapper.xml
  26. 125 0
      ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzQktjMapper.xml
  27. 292 117
      ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzSbbzbMapper.xml
  28. 2 24
      ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzShyjMapper.xml

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzLdpsController.java

@@ -69,6 +69,18 @@ public class ZsyzLdpsController extends BaseController
         return success(zsyzLdpsService.selectZsyzLdpsById(id));
     }
 
+
+    /**
+     * 查询当前账号最新的暂存数据
+     */
+    @PreAuthorize("@ss.hasPermi('system:ldps:queryZc')")
+    @GetMapping(value = "/zc")
+    public AjaxResult getInfoZc(ZsyzLdps zsyzLdps)
+    {
+        return success(zsyzLdpsService.getInfoZc(zsyzLdps));
+    }
+
+
     /**
      * 新增招商引资_领导批示
      */
@@ -93,6 +105,7 @@ public class ZsyzLdpsController extends BaseController
     /**
      * 删除招商引资_领导批示
      */
+    @PreAuthorize("@ss.hasPermi('system:ldps:delete')")
     @Log(title = "招商引资_领导批示", businessType = BusinessType.DELETE)
 	@GetMapping("/delete/{ids}")
     public AjaxResult remove(@PathVariable Long[] ids)

+ 107 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzQktjController.java

@@ -0,0 +1,107 @@
+package com.ruoyi.web.controller.projectV2;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjDc;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.system.domain.projectV2.ZsyzQktj;
+import com.ruoyi.system.service.projectV2.IZsyzQktjService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 招商引资_情况月统计Controller
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+@RestController
+@RequestMapping("/system/qktj")
+public class ZsyzQktjController extends BaseController
+{
+    @Autowired
+    private IZsyzQktjService zsyzQktjService;
+
+    /**
+     * 查询招商引资_情况月统计列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ZsyzQktj zsyzQktj)
+    {
+        startPage();
+        List<ZsyzQktj> list = zsyzQktjService.selectZsyzQktjList(zsyzQktj);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出招商引资_情况月统计列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:export')")
+    @Log(title = "招商引资_情况月统计", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ZsyzQktj zsyzQktj)
+    {
+        List<ZsyzQktjDc> list = zsyzQktjService.selectZsyzQktjListTj(zsyzQktj);
+        ExcelUtil<ZsyzQktjDc> util = new ExcelUtil<ZsyzQktjDc>(ZsyzQktjDc.class);
+        util.exportExcel(response, list, "招商引资_情况月统计数据","招商引资_情况月统计数据("+zsyzQktj.getYear()+"-"+zsyzQktj.getMonth()+")");
+        //util.exportExcel(list, "招商引资_情况月统计数据", "招商引资_情况月统计数据("+zsyzQktj.getYear()+"-"+zsyzQktj.getMonth()+")");
+    }
+
+    /**
+     * 获取招商引资_情况月统计详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(zsyzQktjService.selectZsyzQktjById(id));
+    }
+
+    /**
+     * 新增招商引资_情况月统计
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:add')")
+    @Log(title = "招商引资_情况月统计", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ZsyzQktj zsyzQktj)
+    {
+        return zsyzQktjService.insertZsyzQktj(zsyzQktj);
+    }
+
+    /**
+     * 修改招商引资_情况月统计
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:edit')")
+    @Log(title = "招商引资_情况月统计", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody ZsyzQktj zsyzQktj)
+    {
+        return toAjax(zsyzQktjService.updateZsyzQktj(zsyzQktj));
+    }
+
+    /**
+     * 删除招商引资_情况月统计
+     */
+    @PreAuthorize("@ss.hasPermi('system:qktj:remove')")
+    @Log(title = "招商引资_情况月统计", businessType = BusinessType.DELETE)
+	@GetMapping("/delete/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(zsyzQktjService.deleteZsyzQktjByIds(ids));
+    }
+}

+ 1 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/ZsyzSbbzbController.java

@@ -60,11 +60,9 @@ public class ZsyzSbbzbController extends BaseController
     @PreAuthorize("@ss.hasPermi('projectV2:sbbzb:ldps:list')")
     public TableDataInfo ldpsList(ZsyzSbbzb zsyzSbbzb)
     {
-        //查询总数
-        long count = zsyzSbbzbService.ldpsListCount(zsyzSbbzb);
         startPage();
         List<ZsyzSbbzb> list = zsyzSbbzbService.ldpsList(zsyzSbbzb);
-        return getDataTable(list,count);
+        return getDataTable(list);
     }
 
     /**

+ 13 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/projectV2/common/ZsyzCommonController.java

@@ -14,6 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+import java.util.Map;
+
 import static com.ruoyi.common.constant.CommonConstants.*;
 
 /**
@@ -57,6 +60,16 @@ public class ZsyzCommonController extends BaseController {
         return  zsyzCommonService.censusXy();
     }
 
+    /***
+     * 招商引资_情况月统计表
+     * @param year 年
+     * @param month 月
+     * @return
+     */
+    @GetMapping("/statistics/month")
+    public AjaxResult statisticsMonth(String year, String month) {
+        return  AjaxResult.success(zsyzCommonService.statisticsMonth(year,month));
+    }
 
     /**
      * 生成项目编号接口

+ 1 - 1
ruoyi-admin/src/main/resources/application.yml

@@ -70,6 +70,6 @@ xss:
   # 过滤开关
   enabled: true
   # 排除链接(多个用逗号分隔)
-  excludes: /system/notice
+  excludes: /system/notice,/system/app/new
   # 匹配链接
   urlPatterns: /system/*,/monitor/*,/tool/*

+ 1 - 1
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -111,7 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 过滤请求
                 .authorizeRequests()
                 // 对于登录login 注册register 验证码captchaImage 允许匿名访问
-                .antMatchers("/login", "/register", "/captchaImage").permitAll()
+                .antMatchers("/login", "/register", "/captchaImage","/system/app/new").permitAll()
                 // 静态资源,可匿名访问
                 .antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
                 .antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()

+ 21 - 5
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/projectV2/ZsyzSbbzbServiceImpl.java

@@ -316,13 +316,29 @@ public class ZsyzSbbzbServiceImpl implements IZsyzSbbzbService {
     @Override
     public List<ZsyzSbbzb> ldpsList(ZsyzSbbzb zsyzSbbzb) {
 
-        return zsyzSbbzbMapper.ldpsList(zsyzSbbzb);
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        List<ZsyzSbbzb> zsyzSbbzbs = new ArrayList<>();
+        boolean flag = true;
+        if (roles != null){
+            for (SysRole role : roles) {
+                String roleKey = role.getRoleKey();
+                if (YSBM.equals(roleKey)){
+                    //如果是要素部门角色只能看到分派给要素部门的和自己新增的线索
+                    flag = false;
+                    break;
+                }
+            }
+        }
+        if (flag){
+            zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbListPs(zsyzSbbzb);
+        }else {
+            //如果是要素部门角色只能看到分派给要素部门的和自己新增的线索
+            zsyzSbbzb.setDeptId(SecurityUtils.getDeptId());
+            zsyzSbbzbs = zsyzSbbzbMapper.selectZsyzSbbzbListByZpPs(zsyzSbbzb);
+        }
+        return zsyzSbbzbs;
     }
 
-    @Override
-    public long ldpsListCount(ZsyzSbbzb zsyzSbbzb) {
-        return zsyzSbbzbMapper.ldpsListCount(zsyzSbbzb);
-    }
 
     @Override
     public long selectZsyzSbbzbListCount(ZsyzSbbzb zsyzSbbzb) {

+ 182 - 3
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/projectV2/common/ZsyzCommonServiceImpL.java

@@ -15,6 +15,7 @@ import com.ruoyi.framework.manager.factory.AsyncFactory;
 import com.ruoyi.system.domain.projectV2.*;
 import com.ruoyi.system.domain.projectV2.Vo.ZpVo;
 import com.ruoyi.system.domain.projectV2.common.SendSmsConfig;
+import com.ruoyi.system.mapper.SysDeptMapper;
 import com.ruoyi.system.mapper.projectV2.*;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.projectV2.IZsyzProjectDeptService;
@@ -62,6 +63,10 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
     private ZsyzLcjlMapper zsyzLcjlMapper;
     @Autowired
     private ISysUserService sysUserService;
+    @Autowired
+    private ZsyzQktjMapper zsyzQktjMapper;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
 
 
     //主要功能, 对线索进度进行控制
@@ -462,6 +467,7 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
             if (zsyzSkxms != null && zsyzSkxms.size() > 0) {
                 sk = zsyzSkxms.size();
             }
+
         } else {
             //如果不是admin/或者平台管理员 判断是什么角色
             //如果是FALSE 则包含承接地
@@ -482,6 +488,7 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
         int kg = 0;
         int tc = 0;
         int all = 0;
+        int ps = 0;
         if (zsyzSbbzbs != null && zsyzSbbzbs.size() > 0) {
             Map<String, List<ZsyzSbbzb>> collect = zsyzSbbzbs.stream().collect(Collectors.groupingBy(ZsyzSbbzb::getProgress));
 
@@ -530,9 +537,11 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
         }
         map.put("wt", wt);
         //统计批示项目数量
-        ZsyzSbbzb zsyzSbb = new ZsyzSbbzb();
-        zsyzSbbzb.setDeptId(deptId);
-        long ps = zsyzSbbzbMapper.ldpsListCount(zsyzSbb);
+        for (ZsyzSbbzb sbbzb : zsyzSbbzbs) {
+            if(StringUtils.isNotEmpty(sbbzb.getPsnr())){
+                ps++;
+            }
+        }
         map.put("ps", ps);
         map.put("all", all);
         return AjaxResult.success(map);
@@ -775,6 +784,176 @@ public class ZsyzCommonServiceImpL implements IZsyzCommonService {
         return AjaxResult.success();
     }
 
+    /**
+     * 招商引资_情况月统计表
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> statisticsMonth(String year,String month) {
+        //Long deptId = SecurityUtils.getDeptId();
+        //SysUser user = SecurityUtils.getLoginUser().getUser();
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        SysUser currentUser = SecurityUtils.getLoginUser().getUser();
+        String roleKey = "";
+        // 如果是超级管理员/管理员,则不过滤数据
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        if (roles != null && roles.size() > 0) {
+            roleKey = roles.get(0).getRoleKey();
+        }
+        if (StringUtils.isNotNull(currentUser) && (currentUser.isAdmin() || MANAGE.equals(roleKey) || LEADER.equals(roleKey))) {
+            //如果是admin/或者平台管理员/或者领导 获取到所有数据
+            //查找年份的所有数据
+            ZsyzQktj zsyzQktj = new ZsyzQktj();
+            zsyzQktj.setYear(year);
+            List<ZsyzQktj> zsyzQktjList = zsyzQktjMapper.selectZsyzQktjList(zsyzQktj);
+            //将所有部门数据分部门存放
+            Map<Long, List<ZsyzQktj>> zsyzQktjBmMap = zsyzQktjList.stream().collect(Collectors.groupingBy(ZsyzQktj::getDeptId));
+            //获取所有部门
+            List<SysDept> sysDeptList = sysDeptMapper.selectDeptList(new SysDept());
+            //查询本年所有线索审核通过的项目线索
+            List<ZsyzSbbzb> zsyzSbbzbList = zsyzSbbzbMapper.selectZsyzSbbzbListTz(year,null);
+            //将所有项目数据分部门存放
+            Map<Long, List<ZsyzSbbzb>> zsyzSbbzbBmMap = zsyzSbbzbList.stream().collect(Collectors.groupingBy(ZsyzSbbzb::getDeptId));
+
+            for (SysDept sysDept : sysDeptList) {
+                //部门不为产业链县干招商组,市直部门,承接地,市级领导,要素部门一级部门时纳入统计
+                if(sysDept.getDeptId()!=101 && sysDept.getDeptId()!=102 && sysDept.getDeptId()!=103 && sysDept.getDeptId()!=200 && sysDept.getDeptId()!=201){
+                    Map<String, Object> mapMonth = new HashMap<>();
+                    mapMonth.put("name",sysDept.getDeptName());
+                    if(zsyzQktjBmMap.get(sysDept.getDeptId())!=null && zsyzQktjBmMap.get(sysDept.getDeptId()).size()>0){
+                        //部门存在数据
+                        Long zswcYear =0L;//招商外出天数(年)
+                        Long sjksYear =0L;//对接客商次数(年)
+                        Long zswcMonth =0L;//招商外出天数(年)
+                        Long sjksMonth =0L;//对接客商次数(年)
+                        for (ZsyzQktj qktj : zsyzQktjBmMap.get(sysDept.getDeptId())) {
+                            zswcYear = zswcYear + qktj.getNumberOutings();
+                            sjksYear = sjksYear + qktj.getNumberDocking();
+                            if(qktj.getMonth().equals(month)){
+                                zswcMonth = qktj.getNumberOutings();
+                                sjksMonth = qktj.getNumberDocking();
+                            }
+
+                        }
+                        mapMonth.put("zswcMonth",zswcMonth);//招商外出天数(月)
+                        mapMonth.put("sjksMonth",sjksMonth);//对接客商次数(月)
+                        mapMonth.put("zswcYear",zswcYear);//招商外出天数(年)
+                        mapMonth.put("sjksYear",sjksYear);//对接客商次数(年)
+                    }else{
+                        //部门不存在数据
+                        mapMonth.put("zswcMonth",0);//招商外出天数(月)
+                        mapMonth.put("zswcYear",0);//招商外出天数(年)
+                        mapMonth.put("sjksMonth",0);//对接客商次数(月)
+                        mapMonth.put("sjksYear",0);//对接客商次数(年)
+                    }
+
+                    if(zsyzSbbzbBmMap.get(sysDept.getDeptId())!=null && zsyzSbbzbBmMap.get(sysDept.getDeptId()).size()>0){
+                        Long yxxsMonth = 0L;//有效线索(月)
+                        Long yxxsYear = Long.valueOf(zsyzSbbzbBmMap.get(sysDept.getDeptId()).size());//有效线索(年)
+                        for (ZsyzSbbzb zsyzSbbzb : zsyzSbbzbBmMap.get(sysDept.getDeptId())) {
+                            if(zsyzSbbzb.getShsj().contains(year+"-"+month)){
+                                yxxsMonth++;
+                            }
+                        }
+                        mapMonth.put("yxxsMonth",yxxsMonth);//有效线索(月)
+                        mapMonth.put("yxxsYear",yxxsYear);//有效线索(年)
+
+                    }else{
+                        mapMonth.put("yxxsMonth",0);//有效线索(月)
+                        mapMonth.put("yxxsYear",0);//有效线索(年)
+                    }
+                    mapList.add(mapMonth);
+                }
+
+            }
+            //合计
+            Map<String, Object> mapMonth = new HashMap<>();
+            mapMonth.put("name","合计");
+            Long zswcYear =0L;//招商外出天数(年)
+            Long zswcMonth =0L;//招商外出天数(月)
+            Long sjksYear =0L;//对接客商次数(年)
+            Long sjksMonth =0L;//对接客商次数(月)
+            Long yxxsMonth = 0L;//有效线索(月)
+            Long yxxsYear = 0L;//有效线索(年)
+
+            for (Map<String, Object> stringObjectMap : mapList) {
+                zswcYear =zswcYear + Long.valueOf(stringObjectMap.get("zswcYear").toString()) ;
+                zswcMonth =zswcMonth + Long.valueOf(stringObjectMap.get("zswcMonth").toString());
+                sjksYear =sjksYear + Long.valueOf(stringObjectMap.get("sjksYear").toString());
+                sjksMonth =sjksMonth +  Long.valueOf(stringObjectMap.get("sjksMonth").toString());
+                yxxsMonth =yxxsMonth +  Long.valueOf(stringObjectMap.get("yxxsMonth").toString());
+                yxxsYear =yxxsYear + Long.valueOf(stringObjectMap.get("yxxsYear").toString());
+            }
+            mapMonth.put("zswcMonth",zswcMonth);//招商外出天数(月)
+            mapMonth.put("zswcYear",zswcYear);//招商外出天数(年)
+            mapMonth.put("sjksMonth",sjksMonth);//对接客商次数(月)
+            mapMonth.put("sjksYear",sjksYear);//对接客商次数(年)
+            mapMonth.put("yxxsMonth",yxxsMonth);//有效线索(月)
+            mapMonth.put("yxxsYear",yxxsYear);//有效线索(年)
+            mapList.add(mapMonth);
+
+        }else{
+            //只查看自己部门数据
+            //查找年份的所有数据
+            ZsyzQktj zsyzQktj = new ZsyzQktj();
+            zsyzQktj.setYear(year);
+            zsyzQktj.setDeptId(currentUser.getDeptId());
+            List<ZsyzQktj> zsyzQktjList = zsyzQktjMapper.selectZsyzQktjList(zsyzQktj);
+            //查询本年当前部门所有线索审核通过的项目线索
+            List<ZsyzSbbzb> zsyzSbbzbList = zsyzSbbzbMapper.selectZsyzSbbzbListTz(year,currentUser.getDeptId());
+            Map<String, Object> mapMonth = new HashMap<>();
+            mapMonth.put("name",currentUser.getDept().getDeptName());
+            mapMonth.put("zswcMonth",0);//招商外出天数(月)
+            mapMonth.put("sjksMonth",0);//对接客商次数(月)
+            Long zswcYear =0L;//招商外出天数(年)
+            Long sjksYear =0L;//对接客商次数(年)
+            for (ZsyzQktj qktj : zsyzQktjList) {
+                zswcYear = zswcYear + qktj.getNumberOutings();
+                sjksYear = sjksYear + qktj.getNumberDocking();
+            }
+            mapMonth.put("zswcYear",zswcYear);//招商外出天数(年)
+            mapMonth.put("sjksYear",sjksYear);//对接客商次数(年)
+            //统计线索数量
+            Long yxxsMonth = 0L;//有效线索(月)
+            Long yxxsYear = Long.valueOf(zsyzSbbzbList.size());//有效线索(年)
+            for (ZsyzSbbzb zsyzSbbzb : zsyzSbbzbList) {
+                if(zsyzSbbzb.getShsj().contains(year+"-"+month)){
+                    yxxsMonth++;
+                }
+            }
+            mapMonth.put("yxxsMonth",yxxsMonth);//有效线索(月)
+            mapMonth.put("yxxsYear",yxxsYear);//有效线索(年)
+            mapList.add(mapMonth);
+
+            //合计
+            Map<String, Object> mapMonthhj = new HashMap<>();
+            mapMonth.put("name","合计");
+            Long zswcYearhj =0L;//招商外出天数(年)
+            Long zswcMonthhj =0L;//招商外出天数(月)
+            Long sjksYearhj =0L;//对接客商次数(年)
+            Long sjksMonthhj =0L;//对接客商次数(月)
+            Long yxxsMonthhj = 0L;//有效线索(月)
+            Long yxxsYearhj = 0L;//有效线索(年)
+
+            for (Map<String, Object> stringObjectMap : mapList) {
+                zswcYearhj =zswcYearhj + Long.valueOf(stringObjectMap.get("zswcYear").toString()) ;
+                zswcMonthhj =zswcMonthhj + Long.valueOf(stringObjectMap.get("zswcMonth").toString());
+                sjksYearhj =sjksYearhj + Long.valueOf(stringObjectMap.get("sjksYear").toString());
+                sjksMonthhj =sjksMonthhj +  Long.valueOf(stringObjectMap.get("sjksMonth").toString());
+                yxxsMonthhj =yxxsMonthhj +  Long.valueOf(stringObjectMap.get("yxxsMonth").toString());
+                yxxsYearhj =yxxsYearhj + Long.valueOf(stringObjectMap.get("yxxsYear").toString());
+            }
+            mapMonthhj.put("zswcMonth",zswcMonthhj);//招商外出天数(月)
+            mapMonthhj.put("zswcYear",zswcYearhj);//招商外出天数(年)
+            mapMonthhj.put("sjksMonth",sjksMonthhj);//对接客商次数(月)
+            mapMonthhj.put("sjksYear",sjksYearhj);//对接客商次数(年)
+            mapMonthhj.put("yxxsMonth",yxxsMonthhj);//有效线索(月)
+            mapMonthhj.put("yxxsYear",yxxsYearhj);//有效线索(年)
+            mapList.add(mapMonthhj);
+        }
+        return mapList;
+    }
+
     //根据项目进度判断项目阶段
     public String xmjd(String code) {
         if (ONE.equals(code)) {

+ 108 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjDc.java

@@ -0,0 +1,108 @@
+package com.ruoyi.system.domain.projectV2.Vo;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.annotation.Excels;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.system.domain.projectV2.ZsyzFj;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.List;
+
+/**
+ * 招商引资_情况月统计对象 zsyz_qktj(导出专用)
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public class ZsyzQktjDc extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+
+
+    /** 部门名称 */
+    @Excel(name = "单位(包括6大产业链、市直单位、经开区、度假区、各乡镇)", width = 50)
+    private String deptName;
+
+    /** 当月外出数(招商外出次数/天数) */
+    @Excel(name = "当月外出数(招商外出次数/天数)", width = 25)
+    private Long zswcMonth;
+
+    /** 本年累计数(招商外出次数/天数) */
+    @Excel(name = "本年累计数(招商外出次数/天数)", width = 25)
+    private Long zswcYear;
+
+    /** 当月对接数(对接客商次数) */
+    @Excel(name = "当月对接数(对接客商次数)", width = 25)
+    private Long sjksMonth;
+
+    /** 本年累计数(对接客商次数) */
+    @Excel(name = "本年累计数(对接客商次数)", width = 25)
+    private Long sjksYear;
+
+    /** 当月对接数 */
+    @Excel(name = "当月线索数(提供有效招商线索数)", width = 25)
+    private Long yxxsMonth;
+
+    /** 本年累计数 */
+    @Excel(name = "本年累计数(提供有效招商线索数)", width = 25)
+    private Long yxxsYear;
+
+
+    public String getDeptName() {
+        return deptName;
+    }
+
+    public Long getZswcMonth() {
+        return zswcMonth;
+    }
+
+    public Long getZswcYear() {
+        return zswcYear;
+    }
+
+    public Long getSjksMonth() {
+        return sjksMonth;
+    }
+
+    public Long getSjksYear() {
+        return sjksYear;
+    }
+
+    public Long getYxxsMonth() {
+        return yxxsMonth;
+    }
+
+    public Long getYxxsYear() {
+        return yxxsYear;
+    }
+
+    public void setDeptName(String deptName) {
+        this.deptName = deptName;
+    }
+
+    public void setZswcMonth(Long zswcMonth) {
+        this.zswcMonth = zswcMonth;
+    }
+
+    public void setZswcYear(Long zswcYear) {
+        this.zswcYear = zswcYear;
+    }
+
+    public void setSjksMonth(Long sjksMonth) {
+        this.sjksMonth = sjksMonth;
+    }
+
+    public void setSjksYear(Long sjksYear) {
+        this.sjksYear = sjksYear;
+    }
+
+    public void setYxxsMonth(Long yxxsMonth) {
+        this.yxxsMonth = yxxsMonth;
+    }
+
+    public void setYxxsYear(Long yxxsYear) {
+        this.yxxsYear = yxxsYear;
+    }
+}

+ 41 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjDjks.java

@@ -0,0 +1,41 @@
+package com.ruoyi.system.domain.projectV2.Vo;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 招商引资_情况月统计对象 zsyz_qktj(导出专用)
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public class ZsyzQktjDjks extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+
+
+    /** 当月对接数 */
+    @Excel(name = "当月对接数")
+    private Long sjksMonth;
+
+    /** 本年累计数 */
+    @Excel(name = "本年累计数")
+    private Long sjksYear;
+
+    public Long getSjksMonth() {
+        return sjksMonth;
+    }
+
+    public Long getSjksYear() {
+        return sjksYear;
+    }
+
+    public void setSjksMonth(Long sjksMonth) {
+        this.sjksMonth = sjksMonth;
+    }
+
+    public void setSjksYear(Long sjksYear) {
+        this.sjksYear = sjksYear;
+    }
+}

+ 41 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjYxxs.java

@@ -0,0 +1,41 @@
+package com.ruoyi.system.domain.projectV2.Vo;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 招商引资_情况月统计对象 zsyz_qktj(导出专用)
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public class ZsyzQktjYxxs extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+
+
+    /** 当月对接数 */
+    @Excel(name = "当月线索数")
+    private Long yxxsMonth;
+
+    /** 本年累计数 */
+    @Excel(name = "本年累计数")
+    private Long yxxsYear;
+
+    public Long getYxxsMonth() {
+        return yxxsMonth;
+    }
+
+    public Long getYxxsYear() {
+        return yxxsYear;
+    }
+
+    public void setYxxsMonth(Long yxxsMonth) {
+        this.yxxsMonth = yxxsMonth;
+    }
+
+    public void setYxxsYear(Long yxxsYear) {
+        this.yxxsYear = yxxsYear;
+    }
+}

+ 41 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/Vo/ZsyzQktjZswc.java

@@ -0,0 +1,41 @@
+package com.ruoyi.system.domain.projectV2.Vo;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 招商引资_情况月统计对象 zsyz_qktj(导出专用)
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public class ZsyzQktjZswc extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+
+
+    /** 当月外出数 */
+    @Excel(name = "当月外出数")
+    private Long zswcMonth;
+
+    /** 本年累计数 */
+    @Excel(name = "本年累计数")
+    private Long zswcYear;
+
+    public Long getZswcMonth() {
+        return zswcMonth;
+    }
+
+    public Long getZswcYear() {
+        return zswcYear;
+    }
+
+    public void setZswcMonth(Long zswcMonth) {
+        this.zswcMonth = zswcMonth;
+    }
+
+    public void setZswcYear(Long zswcYear) {
+        this.zswcYear = zswcYear;
+    }
+}

+ 9 - 12
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzLdps.java

@@ -36,10 +36,6 @@ public class ZsyzLdps extends BaseEntity
     private String xmmc;
 
 
-    /** 目标数据id(审核表id) */
-    @Excel(name = "目标数据id", readConverterExp = "审=核表id")
-    private Long sourceId;
-
     /** 批示内容 */
     @Excel(name = "批示内容")
     private String psnr;
@@ -52,6 +48,8 @@ public class ZsyzLdps extends BaseEntity
     @Excel(name = "部门id")
     private Long deptId;
 
+    /** 批示人id */
+    private Long psnrId;
 
     /** 创建者 */
     private String psr;
@@ -115,16 +113,16 @@ public class ZsyzLdps extends BaseEntity
     {
         return xmbh;
     }
-    public void setSourceId(Long sourceId) 
-    {
-        this.sourceId = sourceId;
+
+    public Long getPsnrId() {
+        return psnrId;
     }
 
-    public Long getSourceId() 
-    {
-        return sourceId;
+    public void setPsnrId(Long psnrId) {
+        this.psnrId = psnrId;
     }
-    public void setPsnr(String psnr) 
+
+    public void setPsnr(String psnr)
     {
         this.psnr = psnr;
     }
@@ -197,7 +195,6 @@ public class ZsyzLdps extends BaseEntity
             .append("id", getId())
             .append("xmId", getXmId())
             .append("xmbh", getXmbh())
-            .append("sourceId", getSourceId())
             .append("psnr", getPsnr())
             .append("remark", getRemark())
             .append("deptId", getDeptId())

+ 153 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzQktj.java

@@ -0,0 +1,153 @@
+package com.ruoyi.system.domain.projectV2;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+import java.util.List;
+
+/**
+ * 招商引资_情况月统计对象 zsyz_qktj
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public class ZsyzQktj extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** ID */
+    private Long id;
+
+    /** 部门id */
+    @Excel(name = "部门id")
+    private Long deptId;
+
+    /** 部门名称 */
+    @Excel(name = "部门名称")
+    private String deptName;
+
+    /** 年 */
+    @Excel(name = "年")
+    private String year;
+
+    /** 月 */
+    @Excel(name = "月")
+    private String month;
+
+    /** 招商外出天数 */
+    @Excel(name = "招商外出天数")
+    private Long numberOutings;
+
+    /** 对接客商次数 */
+    @Excel(name = "对接客商次数")
+    private Long numberDocking;
+
+    /** 说明 */
+    @Excel(name = "说明")
+    private String details;
+
+    /** 附件集合 */
+    private List<ZsyzFj> zsyzFjList;
+
+    public List<ZsyzFj> getZsyzFjList() {
+        return zsyzFjList;
+    }
+
+    public void setZsyzFjList(List<ZsyzFj> zsyzFjList) {
+        this.zsyzFjList = zsyzFjList;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setDeptId(Long deptId) 
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() 
+    {
+        return deptId;
+    }
+    public void setDeptName(String deptName) 
+    {
+        this.deptName = deptName;
+    }
+
+    public String getDeptName() 
+    {
+        return deptName;
+    }
+    public void setYear(String year) 
+    {
+        this.year = year;
+    }
+
+    public String getYear() 
+    {
+        return year;
+    }
+    public void setMonth(String month) 
+    {
+        this.month = month;
+    }
+
+    public String getMonth() 
+    {
+        return month;
+    }
+    public void setNumberOutings(Long numberOutings)
+    {
+        this.numberOutings = numberOutings;
+    }
+
+    public Long getNumberOutings()
+    {
+        return numberOutings;
+    }
+    public void setNumberDocking(Long numberDocking)
+    {
+        this.numberDocking = numberDocking;
+    }
+
+    public Long getNumberDocking()
+    {
+        return numberDocking;
+    }
+    public void setDetails(String details) 
+    {
+        this.details = details;
+    }
+
+    public String getDetails() 
+    {
+        return details;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("deptId", getDeptId())
+            .append("deptName", getDeptName())
+            .append("year", getYear())
+            .append("month", getMonth())
+            .append("numberOutings", getNumberOutings())
+            .append("numberDocking", getNumberDocking())
+            .append("details", getDetails())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 23 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/projectV2/ZsyzSbbzb.java

@@ -213,6 +213,8 @@ public class ZsyzSbbzb extends BaseEntity
      */
     private List<ZsyzShyj> shyjList;
 
+    private String shsj;
+
 
     /** 签约信息对象 */
     @Excels({
@@ -283,6 +285,27 @@ public class ZsyzSbbzb extends BaseEntity
      */
     private String exportType;
 
+    /***
+     * 最新的一次领导批示内容
+     */
+    private String psnr;
+
+    public String getPsnr() {
+        return psnr;
+    }
+
+    public void setPsnr(String psnr) {
+        this.psnr = psnr;
+    }
+
+    public String getShsj() {
+        return shsj;
+    }
+
+    public void setShsj(String shsj) {
+        this.shsj = shsj;
+    }
+
     public List<ZsyzJzqk> getZsyzJzqkList() {
         return zsyzJzqkList;
     }

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzLdpsMapper.java

@@ -58,4 +58,6 @@ public interface ZsyzLdpsMapper
      * @return 结果
      */
     public int deleteZsyzLdpsByIds(Long[] ids);
+
+    ZsyzLdps getInfoZc(ZsyzLdps zsyzLdps);
 }

+ 61 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzQktjMapper.java

@@ -0,0 +1,61 @@
+package com.ruoyi.system.mapper.projectV2;
+
+import java.util.List;
+import com.ruoyi.system.domain.projectV2.ZsyzQktj;
+
+/**
+ * 招商引资_情况月统计Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public interface ZsyzQktjMapper 
+{
+    /**
+     * 查询招商引资_情况月统计
+     * 
+     * @param id 招商引资_情况月统计主键
+     * @return 招商引资_情况月统计
+     */
+    public ZsyzQktj selectZsyzQktjById(Long id);
+
+    /**
+     * 查询招商引资_情况月统计列表
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 招商引资_情况月统计集合
+     */
+    public List<ZsyzQktj> selectZsyzQktjList(ZsyzQktj zsyzQktj);
+
+    /**
+     * 新增招商引资_情况月统计
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    public int insertZsyzQktj(ZsyzQktj zsyzQktj);
+
+    /**
+     * 修改招商引资_情况月统计
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    public int updateZsyzQktj(ZsyzQktj zsyzQktj);
+
+    /**
+     * 删除招商引资_情况月统计
+     * 
+     * @param id 招商引资_情况月统计主键
+     * @return 结果
+     */
+    public int deleteZsyzQktjById(Long id);
+
+    /**
+     * 批量删除招商引资_情况月统计
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteZsyzQktjByIds(Long[] ids);
+}

+ 6 - 3
ruoyi-system/src/main/java/com/ruoyi/system/mapper/projectV2/ZsyzSbbzbMapper.java

@@ -2,6 +2,7 @@ package com.ruoyi.system.mapper.projectV2;
 
 import com.ruoyi.system.domain.projectV2.ZsyzLdps;
 import com.ruoyi.system.domain.projectV2.ZsyzSbbzb;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -89,10 +90,12 @@ public interface ZsyzSbbzbMapper
 
     List<ZsyzSbbzb> selectZsyzSbbzbListDc(ZsyzSbbzb zsyzSbbzb);
 
-    List<ZsyzSbbzb> ldpsList(ZsyzSbbzb zsyzSbbzb);
 
+    long selectZsyzSbbzbListCount(ZsyzSbbzb zsyzSbbzb);
 
-    long ldpsListCount(ZsyzSbbzb zsyzSbb);
+    List<ZsyzSbbzb> selectZsyzSbbzbListTz(@Param("year")String year, @Param("deptId")Long deptId);
 
-    long selectZsyzSbbzbListCount(ZsyzSbbzb zsyzSbbzb);
+    List<ZsyzSbbzb> selectZsyzSbbzbListPs(ZsyzSbbzb zsyzSbbzb);
+
+    List<ZsyzSbbzb> selectZsyzSbbzbListByZpPs(ZsyzSbbzb zsyzSbbzb);
 }

+ 48 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzLdpsServiceImpl.java

@@ -2,15 +2,23 @@ package com.ruoyi.system.service.impl.projectV2;
 
 import java.util.List;
 
+import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.projectV2.ZsyzDbd;
+import com.ruoyi.system.domain.projectV2.ZsyzSbbzb;
+import com.ruoyi.system.mapper.projectV2.ZsyzSbbzbMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.projectV2.ZsyzLdpsMapper;
 import com.ruoyi.system.domain.projectV2.ZsyzLdps;
 import com.ruoyi.system.service.projectV2.IZsyzLdpsService;
 
+import static com.ruoyi.common.constant.CommonConstants.LEADER;
+import static com.ruoyi.common.constant.CommonConstants.MANAGE;
+
 /**
  * 招商引资_领导批示Service业务层处理
  * 
@@ -22,6 +30,8 @@ public class ZsyzLdpsServiceImpl implements IZsyzLdpsService
 {
     @Autowired
     private ZsyzLdpsMapper zsyzLdpsMapper;
+    @Autowired
+    private ZsyzSbbzbMapper zsyzSbbzbMapper;
 
     /**
      * 查询招商引资_领导批示
@@ -44,6 +54,18 @@ public class ZsyzLdpsServiceImpl implements IZsyzLdpsService
     @Override
     public List<ZsyzLdps> selectZsyzLdpsList(ZsyzLdps zsyzLdps)
     {
+
+        SysUser currentUser = SecurityUtils.getLoginUser().getUser();
+        String roleKey = "";
+        // 如果是超级管理员/管理员,则不过滤数据
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        if (roles != null && roles.size() > 0) {
+            roleKey = roles.get(0).getRoleKey();
+        }
+        if (LEADER.equals(roleKey)) {
+        //判断账号权限是不是领导,领导只能看见自己的
+            zsyzLdps.setPsnrId(currentUser.getUserId());
+        }
         return zsyzLdpsMapper.selectZsyzLdpsList(zsyzLdps);
     }
 
@@ -59,8 +81,19 @@ public class ZsyzLdpsServiceImpl implements IZsyzLdpsService
         //获取当前人员信息
         SysUser user = SecurityUtils.getLoginUser().getUser();
         zsyzLdps.setDeptId(user.getDeptId());
-        zsyzLdps.setPsr(user.getUserName());
+        zsyzLdps.setPsr(user.getNickName());
+        zsyzLdps.setXgr(user.getUserName());
+        zsyzLdps.setPsnrId(user.getUserId());
+        zsyzLdps.setXgsj(DateUtils.getNowDate());
         zsyzLdps.setCjsj(DateUtils.getNowDate());
+        if(!"1".equals(zsyzLdps.getType())){
+            //修改主表中的领导批示内容
+            ZsyzSbbzb zsyzSbbzb = new ZsyzSbbzb();
+            zsyzSbbzb.setId(zsyzLdps.getXmId());
+            zsyzSbbzb.setPsnr(zsyzLdps.getPsnr());
+            zsyzSbbzbMapper.updateZsyzSbbzb(zsyzSbbzb);
+        }
+
         return zsyzLdpsMapper.insertZsyzLdps(zsyzLdps);
     }
 
@@ -77,8 +110,14 @@ public class ZsyzLdpsServiceImpl implements IZsyzLdpsService
         SysUser user = SecurityUtils.getLoginUser().getUser();
         zsyzLdps.setXgsj(DateUtils.getNowDate());
         zsyzLdps.setXgr(user.getUserName());
+        zsyzLdps.setPsr(user.getNickName());
         if(!"1".equals(zsyzLdps.getType())){
             zsyzLdps.setZcpsnr("");
+            //修改主表中的领导批示内容
+            ZsyzSbbzb zsyzSbbzb = new ZsyzSbbzb();
+            zsyzSbbzb.setId(zsyzLdps.getXmId());
+            zsyzSbbzb.setPsnr(zsyzLdps.getPsnr());
+            zsyzSbbzbMapper.updateZsyzSbbzb(zsyzSbbzb);
         }
         return zsyzLdpsMapper.updateZsyzLdps(zsyzLdps);
     }
@@ -106,4 +145,12 @@ public class ZsyzLdpsServiceImpl implements IZsyzLdpsService
     {
         return zsyzLdpsMapper.deleteZsyzLdpsById(id);
     }
+
+    @Override
+    public ZsyzLdps getInfoZc(ZsyzLdps zsyzLdps) {
+        //获取当前人员信息
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        zsyzLdps.setPsnrId(user.getUserId());
+        return zsyzLdpsMapper.getInfoZc(zsyzLdps);
+    }
 }

+ 410 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/projectV2/ZsyzQktjServiceImpl.java

@@ -0,0 +1,410 @@
+package com.ruoyi.system.service.impl.projectV2;
+
+import com.ruoyi.common.constant.CommonConstants;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjDc;
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjDjks;
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjYxxs;
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjZswc;
+import com.ruoyi.system.domain.projectV2.ZsyzFj;
+import com.ruoyi.system.domain.projectV2.ZsyzQktj;
+import com.ruoyi.system.domain.projectV2.ZsyzSbbzb;
+import com.ruoyi.system.mapper.SysDeptMapper;
+import com.ruoyi.system.mapper.projectV2.ZsyzFjMapper;
+import com.ruoyi.system.mapper.projectV2.ZsyzQktjMapper;
+import com.ruoyi.system.mapper.projectV2.ZsyzSbbzbMapper;
+import com.ruoyi.system.service.projectV2.IZsyzQktjService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import static com.ruoyi.common.constant.CommonConstants.LEADER;
+import static com.ruoyi.common.constant.CommonConstants.MANAGE;
+
+/**
+ * 招商引资_情况月统计Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+@Service
+public class ZsyzQktjServiceImpl implements IZsyzQktjService {
+    @Autowired
+    private ZsyzQktjMapper zsyzQktjMapper;
+
+    @Autowired
+    private ZsyzFjMapper zsyzFjMapper;
+
+    @Autowired
+    private ZsyzSbbzbMapper zsyzSbbzbMapper;
+
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+
+
+    /**
+     * 查询招商引资_情况月统计
+     *
+     * @param id 招商引资_情况月统计主键
+     * @return 招商引资_情况月统计
+     */
+    @Override
+    public ZsyzQktj selectZsyzQktjById(Long id) {
+        ZsyzQktj zsyzQktj = zsyzQktjMapper.selectZsyzQktjById(id);
+        if(zsyzQktj.getZsyzFjList().size()<=0){
+            zsyzQktj.setZsyzFjList(new ArrayList<>());
+        }else{
+            List<ZsyzFj> zsyzFjList = new ArrayList<>();
+            //只拿type为6的附件
+            for (ZsyzFj zsyzFj : zsyzQktj.getZsyzFjList()) {
+                if(zsyzFj.getType().equals("6")){
+                    zsyzFjList.add(zsyzFj);
+                }
+            }
+            zsyzQktj.setZsyzFjList(zsyzFjList);
+        }
+        if(zsyzQktj.getZsyzFjList().size()==1 && StringUtils.isEmpty(zsyzQktj.getZsyzFjList().get(0).getPath())){
+            zsyzQktj.setZsyzFjList(new ArrayList<>());
+        }
+        return zsyzQktj ;
+    }
+
+    /**
+     * 查询招商引资_情况月统计列表
+     *
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 招商引资_情况月统计
+     */
+    @Override
+    public List<ZsyzQktj> selectZsyzQktjList(ZsyzQktj zsyzQktj) {
+
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+        zsyzQktj.setDeptId(user.getDeptId());
+        return zsyzQktjMapper.selectZsyzQktjList(zsyzQktj);
+    }
+
+    /**
+     * 新增招商引资_情况月统计
+     *
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult insertZsyzQktj(ZsyzQktj zsyzQktj) {
+        SysUser user = SecurityUtils.getLoginUser().getUser();
+
+        //查询库里是否存在数据
+        ZsyzQktj qktj = new ZsyzQktj();
+        qktj.setMonth(zsyzQktj.getMonth());
+        qktj.setYear(zsyzQktj.getYear());
+        qktj.setDeptId(user.getDeptId());
+        List<ZsyzQktj> zsyzQktjList = zsyzQktjMapper.selectZsyzQktjList(qktj);
+        if(zsyzQktjList.size()>0){
+            return AjaxResult.error("当前月份数据已存在,请勿重复新增");
+        }
+
+        zsyzQktj.setDeptId(user.getDeptId());
+        zsyzQktj.setDeptName(user.getDept().getDeptName());
+        zsyzQktj.setCreateTime(DateUtils.getNowDate());
+        int count = zsyzQktjMapper.insertZsyzQktj(zsyzQktj);
+        //修改附件
+        if (zsyzQktj.getZsyzFjList() != null && zsyzQktj.getZsyzFjList().size() > 0) {
+            ZsyzFj zsyzFjDelete = new ZsyzFj();
+            zsyzFjDelete.setSourceId(zsyzQktj.getId());
+            zsyzFjDelete.setType(CommonConstants.SIX);
+            //先删除相关附件
+            zsyzFjMapper.deleteZsyzFjBySourceId(zsyzFjDelete);
+            //再将文件新增进数据库
+            List<ZsyzFj> zsyzFjList = zsyzQktj.getZsyzFjList();
+            if (zsyzFjList != null) {
+                for (ZsyzFj zsyzFj : zsyzFjList) {
+                    zsyzFj.setSourceId(zsyzQktj.getId());
+                    zsyzFj.setType(CommonConstants.SIX);
+                    zsyzFj.setXmId(0L);
+                    //zsyzFj.setXmbh(zsyzSbbzb.getXmbh());
+                    zsyzFjMapper.insertZsyzFj(zsyzFj);
+                }
+            }
+        }
+        return AjaxResult.success("新增成功 ");
+    }
+
+    /**
+     * 修改招商引资_情况月统计
+     *
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    @Override
+    public int updateZsyzQktj(ZsyzQktj zsyzQktj) {
+        zsyzQktj.setUpdateTime(DateUtils.getNowDate());
+        //修改附件
+        ZsyzFj zsyzFjDelete = new ZsyzFj();
+        zsyzFjDelete.setSourceId(zsyzQktj.getId());
+        zsyzFjDelete.setType(CommonConstants.SIX);
+        //先删除相关附件
+        zsyzFjMapper.deleteZsyzFjBySourceId(zsyzFjDelete);
+        //再将文件新增进数据库
+        List<ZsyzFj> zsyzFjList = zsyzQktj.getZsyzFjList();
+        if (zsyzFjList != null) {
+            for (ZsyzFj zsyzFj : zsyzFjList) {
+                zsyzFj.setSourceId(zsyzQktj.getId());
+                zsyzFj.setType(CommonConstants.SIX);
+                zsyzFj.setXmId(0L);
+                zsyzFjMapper.insertZsyzFj(zsyzFj);
+            }
+        }
+        return zsyzQktjMapper.updateZsyzQktj(zsyzQktj);
+    }
+
+    /**
+     * 批量删除招商引资_情况月统计
+     *
+     * @param ids 需要删除的招商引资_情况月统计主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZsyzQktjByIds(Long[] ids) {
+        return zsyzQktjMapper.deleteZsyzQktjByIds(ids);
+    }
+
+    /**
+     * 删除招商引资_情况月统计信息
+     *
+     * @param id 招商引资_情况月统计主键
+     * @return 结果
+     */
+    @Override
+    public int deleteZsyzQktjById(Long id) {
+        return zsyzQktjMapper.deleteZsyzQktjById(id);
+    }
+
+    @Override
+    public List<ZsyzQktjDc> selectZsyzQktjListTj(ZsyzQktj zsyzQktj) {
+
+
+        return statisticsMonth(zsyzQktj.getYear(), zsyzQktj.getMonth());
+    }
+
+
+    /**
+     * 招商引资_情况月统计表
+     *
+     * @return
+     */
+    public List<ZsyzQktjDc> statisticsMonth(String year, String month) {
+
+
+        List<ZsyzQktjDc> zsyzQktjDcList = new ArrayList<>();
+
+        //List<Map<String, Object>> mapList = new ArrayList<>();
+        //定义返回值
+        SysUser currentUser = SecurityUtils.getLoginUser().getUser();
+        String roleKey = "";
+        // 如果是超级管理员/管理员,则不过滤数据
+        List<SysRole> roles = SecurityUtils.getLoginUser().getUser().getRoles();
+        if (roles != null && roles.size() > 0) {
+            roleKey = roles.get(0).getRoleKey();
+        }
+        if (StringUtils.isNotNull(currentUser) && (currentUser.isAdmin() || MANAGE.equals(roleKey) || LEADER.equals(roleKey))) {
+            //如果是admin/或者平台管理员/或者领导 获取到所有数据
+            //查找年份的所有数据
+            ZsyzQktj zsyzQktj = new ZsyzQktj();
+            zsyzQktj.setYear(year);
+            List<ZsyzQktj> zsyzQktjList = zsyzQktjMapper.selectZsyzQktjList(zsyzQktj);
+            //将所有部门数据分部门存放
+            Map<Long, List<ZsyzQktj>> zsyzQktjBmMap = zsyzQktjList.stream().collect(Collectors.groupingBy(ZsyzQktj::getDeptId));
+            //获取所有部门
+            List<SysDept> sysDeptList = sysDeptMapper.selectDeptList(new SysDept());
+            //查询本年所有线索审核通过的项目线索
+            List<ZsyzSbbzb> zsyzSbbzbList = zsyzSbbzbMapper.selectZsyzSbbzbListTz(year, null);
+            //将所有项目数据分部门存放
+            Map<Long, List<ZsyzSbbzb>> zsyzSbbzbBmMap = zsyzSbbzbList.stream().collect(Collectors.groupingBy(ZsyzSbbzb::getDeptId));
+
+            for (SysDept sysDept : sysDeptList) {
+                //部门不为产业链县干招商组,市直部门,承接地,市级领导,要素部门一级部门时纳入统计
+                if (sysDept.getDeptId() != 101 && sysDept.getDeptId() != 102 && sysDept.getDeptId() != 103 && sysDept.getDeptId() != 200 && sysDept.getDeptId() != 201) {
+                    ZsyzQktjDc zsyzQktjDc = new ZsyzQktjDc();
+                    zsyzQktjDc.setDeptName(sysDept.getDeptName());
+
+
+                    if (zsyzQktjBmMap.get(sysDept.getDeptId()) != null && zsyzQktjBmMap.get(sysDept.getDeptId()).size() > 0) {
+                        //部门存在数据
+                        Long zswcYear = 0L;//招商外出天数(年)
+                        Long sjksYear = 0L;//对接客商次数(年)
+                        for (ZsyzQktj qktj : zsyzQktjBmMap.get(sysDept.getDeptId())) {
+                            zswcYear = zswcYear + qktj.getNumberOutings();
+                            sjksYear = sjksYear + qktj.getNumberDocking();
+                            if (qktj.getMonth().equals(month)) {
+                                zsyzQktjDc.setZswcMonth(qktj.getNumberOutings());//招商外出天数(月)
+                                zsyzQktjDc.setSjksMonth(qktj.getNumberDocking());//招商外出天数(年)
+                            }
+
+                        }
+                        zsyzQktjDc.setZswcYear(zswcYear);//招商外出天数(年)
+                        zsyzQktjDc.setSjksYear(sjksYear);//对接客商次数(年)
+                    } else {
+                        //部门不存在数据
+                        zsyzQktjDc.setZswcMonth(0L);//招商外出天数(月)
+                        zsyzQktjDc.setSjksMonth(0L);//招商外出天数(年)
+                        zsyzQktjDc.setZswcYear(0L);//招商外出天数(年)
+                        zsyzQktjDc.setSjksYear(0L);//对接客商次数(年)
+                    }
+
+                    if (zsyzSbbzbBmMap.get(sysDept.getDeptId()) != null && zsyzSbbzbBmMap.get(sysDept.getDeptId()).size() > 0) {
+                        Long yxxsMonth = 0L;//有效线索(月)
+                        Long yxxsYear = Long.valueOf(zsyzSbbzbBmMap.get(sysDept.getDeptId()).size());//有效线索(年)
+                        for (ZsyzSbbzb zsyzSbbzb : zsyzSbbzbBmMap.get(sysDept.getDeptId())) {
+                            if (zsyzSbbzb.getShsj().contains(year + "-" + month)) {
+                                yxxsMonth++;
+                            }
+                        }
+                        zsyzQktjDc.setYxxsMonth(yxxsMonth);//有效线索(月)
+                        zsyzQktjDc.setYxxsYear(yxxsYear);//有效线索(年)
+
+                    } else {
+                        zsyzQktjDc.setYxxsMonth(0L);//有效线索(月)
+                        zsyzQktjDc.setYxxsYear(0L);//有效线索(年)
+                    }
+                    //zsyzQktjZswcList.add(zsyzQktjZswc);
+                    //zsyzQktjDjksList.add(zsyzQktjDjks);
+                    //zsyzQktjYxxsList.add(zsyzQktjYxxs);
+                    //zsyzQktjDc.setZsyzQktjZswcList(zsyzQktjZswcList);
+                    //zsyzQktjDc.setZsyzQktjZswc(zsyzQktjZswc);
+                    //zsyzQktjDc.setZsyzQktjDjksList(zsyzQktjDjksList);
+                    //zsyzQktjDc.setZsyzQktjYxxsList(zsyzQktjYxxsList);
+                    zsyzQktjDcList.add(zsyzQktjDc);
+                }
+
+            }
+            //合计
+            ZsyzQktjDc zsyzQktjDch = new ZsyzQktjDc();
+            zsyzQktjDch.setDeptName("合计");
+            /*//招商外出次数/天数
+            List<ZsyzQktjZswc> zsyzQktjZswcList = new ArrayList<>();
+            ZsyzQktjZswc zsyzQktjZswc = new ZsyzQktjZswc();
+            //对接客商次数
+            List<ZsyzQktjDjks> zsyzQktjDjksList = new ArrayList<>();
+            ZsyzQktjDjks zsyzQktjDjks = new ZsyzQktjDjks();
+            //提供有效招商线索数
+            List<ZsyzQktjYxxs> zsyzQktjYxxsList = new ArrayList<>();
+            ZsyzQktjYxxs zsyzQktjYxxs = new ZsyzQktjYxxs();*/
+            Long zswcYear = 0L;//招商外出天数(年)
+            Long zswcMonth = 0L;//招商外出天数(月)
+            Long sjksYear = 0L;//对接客商次数(年)
+            Long sjksMonth = 0L;//对接客商次数(月)
+            Long yxxsMonth = 0L;//有效线索(月)
+            Long yxxsYear = 0L;//有效线索(年)
+
+            for (ZsyzQktjDc zsyzQktjDc : zsyzQktjDcList) {
+                //zswcMonth = zswcMonth +zsyzQktjDc.getZsyzQktjZswcList().get(0).getZswcMonth();
+                //zswcYear = zswcYear + zsyzQktjDc.getZsyzQktjZswcList().get(0).getZswcYear();
+                //sjksMonth = sjksMonth + zsyzQktjDc.getZsyzQktjDjksList().get(0).getSjksMonth();
+                //sjksYear = sjksYear + zsyzQktjDc.getZsyzQktjDjksList().get(0).getSjksYear();
+                //yxxsMonth = yxxsMonth + zsyzQktjDc.getZsyzQktjYxxsList().get(0).getYxxsMonth();
+                //yxxsYear = yxxsYear + zsyzQktjDc.getZsyzQktjYxxsList().get(0).getYxxsYear();
+
+                zswcMonth = zswcMonth + zsyzQktjDc.getZswcMonth();
+                zswcYear = zswcYear + zsyzQktjDc.getZswcYear();
+                sjksMonth = sjksMonth + zsyzQktjDc.getSjksMonth();
+                sjksYear = sjksYear + zsyzQktjDc.getSjksYear();
+                yxxsMonth = yxxsMonth + zsyzQktjDc.getYxxsMonth();
+                yxxsYear = yxxsYear + zsyzQktjDc.getYxxsYear();
+
+            }
+            //zsyzQktjZswc.setZswcMonth(zswcMonth);//招商外出天数(月)
+            //zsyzQktjDjks.setSjksMonth(sjksMonth);//招商外出天数(年)
+            //zsyzQktjZswc.setZswcYear(zswcYear);//招商外出天数(年)
+            //zsyzQktjDjks.setSjksYear(sjksYear);//对接客商次数(年)
+            //zsyzQktjYxxs.setYxxsMonth(yxxsMonth);//有效线索(月)
+            //zsyzQktjYxxs.setYxxsYear(yxxsYear);//有效线索(年)
+
+            zsyzQktjDch.setZswcMonth(zswcMonth);//招商外出天数(月)
+            zsyzQktjDch.setSjksMonth(sjksMonth);//招商外出天数(年)
+            zsyzQktjDch.setZswcYear(zswcYear);//招商外出天数(年)
+            zsyzQktjDch.setSjksYear(sjksYear);//对接客商次数(年)
+            zsyzQktjDch.setYxxsMonth(yxxsMonth);//有效线索(月)
+            zsyzQktjDch.setYxxsYear(yxxsYear);//有效线索(年)
+
+            //zsyzQktjZswcList.add(zsyzQktjZswc);
+            //zsyzQktjDjksList.add(zsyzQktjDjks);
+            //zsyzQktjYxxsList.add(zsyzQktjYxxs);
+            //zsyzQktjDch.setZsyzQktjZswcList(zsyzQktjZswcList);
+            //zsyzQktjDch.setZsyzQktjZswc(zsyzQktjZswc);
+            //zsyzQktjDch.setZsyzQktjDjksList(zsyzQktjDjksList);
+            //zsyzQktjDch.setZsyzQktjYxxsList(zsyzQktjYxxsList);
+            zsyzQktjDcList.add(zsyzQktjDch);
+
+        } else {
+            //只查看自己部门数据
+            //查找年份的所有数据
+            ZsyzQktj zsyzQktj = new ZsyzQktj();
+            zsyzQktj.setYear(year);
+            zsyzQktj.setDeptId(currentUser.getDeptId());
+            List<ZsyzQktj> zsyzQktjList = zsyzQktjMapper.selectZsyzQktjList(zsyzQktj);
+            //查询本年当前部门所有线索审核通过的项目线索
+            List<ZsyzSbbzb> zsyzSbbzbList = zsyzSbbzbMapper.selectZsyzSbbzbListTz(year, currentUser.getDeptId());
+            ZsyzQktjDc zsyzQktjDc = new ZsyzQktjDc();
+            zsyzQktjDc.setDeptName(currentUser.getDept().getDeptName());
+            /*//招商外出次数/天数
+            List<ZsyzQktjZswc> zsyzQktjZswcList = new ArrayList<>();
+            ZsyzQktjZswc zsyzQktjZswc = new ZsyzQktjZswc();
+            //对接客商次数
+            List<ZsyzQktjDjks> zsyzQktjDjksList = new ArrayList<>();
+            ZsyzQktjDjks zsyzQktjDjks = new ZsyzQktjDjks();
+            //提供有效招商线索数
+            List<ZsyzQktjYxxs> zsyzQktjYxxsList = new ArrayList<>();
+            ZsyzQktjYxxs zsyzQktjYxxs = new ZsyzQktjYxxs();*/
+
+
+            zsyzQktjDc.setZswcMonth(0L);//招商外出天数(月)
+            zsyzQktjDc.setSjksMonth(0L);//对接客商次数(月)
+
+            Long zswcYear = 0L;//招商外出天数(年)
+            Long sjksYear = 0L;//对接客商次数(年)
+            for (ZsyzQktj qktj : zsyzQktjList) {
+                zswcYear = zswcYear + qktj.getNumberOutings();
+                sjksYear = sjksYear + qktj.getNumberDocking();
+            }
+            zsyzQktjDc.setZswcYear(zswcYear);//招商外出天数(年)
+            zsyzQktjDc.setSjksYear(sjksYear);//对接客商次数(年)
+            //统计线索数量
+            Long yxxsMonth = 0L;//有效线索(月)
+            Long yxxsYear = Long.valueOf(zsyzSbbzbList.size());//有效线索(年)
+            for (ZsyzSbbzb zsyzSbbzb : zsyzSbbzbList) {
+                if (zsyzSbbzb.getShsj().contains(year + "-" + month)) {
+                    yxxsMonth++;
+                }
+            }
+           /* zsyzQktjYxxs.setYxxsMonth(yxxsMonth);//有效线索(月)
+            zsyzQktjYxxs.setYxxsYear(yxxsYear);//有效线索(年)
+            zsyzQktjZswcList.add(zsyzQktjZswc);
+            zsyzQktjDjksList.add(zsyzQktjDjks);
+            zsyzQktjYxxsList.add(zsyzQktjYxxs);
+            //zsyzQktjDc.setZsyzQktjZswcList(zsyzQktjZswcList);
+            zsyzQktjDc.setZsyzQktjZswc(zsyzQktjZswc);
+            zsyzQktjDc.setZsyzQktjDjksList(zsyzQktjDjksList);
+            zsyzQktjDc.setZsyzQktjYxxsList(zsyzQktjYxxsList);*/
+            zsyzQktjDcList.add(zsyzQktjDc);
+
+            //部门合计数据与部门数据一样
+            zsyzQktjDc.setDeptName("合计");
+            zsyzQktjDcList.add(zsyzQktjDc);
+
+        }
+        return zsyzQktjDcList;
+    }
+}

+ 2 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzLdpsService.java

@@ -58,4 +58,6 @@ public interface IZsyzLdpsService
      * @return 结果
      */
     public int deleteZsyzLdpsById(Long id);
+
+    public ZsyzLdps getInfoZc(ZsyzLdps zsyzLdps);
 }

+ 66 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzQktjService.java

@@ -0,0 +1,66 @@
+package com.ruoyi.system.service.projectV2;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.system.domain.projectV2.Vo.ZsyzQktjDc;
+import com.ruoyi.system.domain.projectV2.ZsyzQktj;
+
+/**
+ * 招商引资_情况月统计Service接口
+ * 
+ * @author ruoyi
+ * @date 2023-03-10
+ */
+public interface IZsyzQktjService 
+{
+    /**
+     * 查询招商引资_情况月统计
+     * 
+     * @param id 招商引资_情况月统计主键
+     * @return 招商引资_情况月统计
+     */
+    public ZsyzQktj selectZsyzQktjById(Long id);
+
+    /**
+     * 查询招商引资_情况月统计列表
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 招商引资_情况月统计集合
+     */
+    public List<ZsyzQktj> selectZsyzQktjList(ZsyzQktj zsyzQktj);
+
+    /**
+     * 新增招商引资_情况月统计
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    public AjaxResult insertZsyzQktj(ZsyzQktj zsyzQktj);
+
+    /**
+     * 修改招商引资_情况月统计
+     * 
+     * @param zsyzQktj 招商引资_情况月统计
+     * @return 结果
+     */
+    public int updateZsyzQktj(ZsyzQktj zsyzQktj);
+
+    /**
+     * 批量删除招商引资_情况月统计
+     * 
+     * @param ids 需要删除的招商引资_情况月统计主键集合
+     * @return 结果
+     */
+    public int deleteZsyzQktjByIds(Long[] ids);
+
+    /**
+     * 删除招商引资_情况月统计信息
+     * 
+     * @param id 招商引资_情况月统计主键
+     * @return 结果
+     */
+    public int deleteZsyzQktjById(Long id);
+
+    List<ZsyzQktjDc> selectZsyzQktjListTj(ZsyzQktj zsyzQktj);
+}

+ 0 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/IZsyzSbbzbService.java

@@ -77,7 +77,6 @@ public interface IZsyzSbbzbService
 
     List<ZsyzSbbzb> ldpsList(ZsyzSbbzb zsyzSbbzb);
 
-    long ldpsListCount(ZsyzSbbzb zsyzSbbzb);
 
     long selectZsyzSbbzbListCount(ZsyzSbbzb zsyzSbbzb);
 

+ 3 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/projectV2/common/IZsyzCommonService.java

@@ -8,6 +8,7 @@ import com.ruoyi.system.domain.projectV2.ZsyzShyj;
 import com.ruoyi.system.domain.projectV2.common.SendSms;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 公共Service接口
@@ -47,4 +48,6 @@ public interface IZsyzCommonService
   public AjaxResult xszp(ZpVo zpVo);
   //撤回
   public AjaxResult xsch(ZsyzSbbzb zsyzSbbzb);
+
+  List<Map<String, Object>> statisticsMonth(String year, String month);
 }

+ 27 - 19
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzLdpsMapper.xml

@@ -9,10 +9,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="xmId"    column="xm_id"    />
         <result property="xmbh"    column="xmbh"    />
         <result property="xmmc"    column="xmmc"    />
-        <result property="sourceId"    column="source_id"    />
         <result property="psnr"    column="psnr"    />
         <result property="remark"    column="remark"    />
         <result property="deptId"    column="dept_id"    />
+        <result property="psnrId"    column="psnr_id"    />
         <result property="psr"    column="psr"    />
         <result property="cjsj"    column="cjsj"    />
         <result property="xgr"    column="xgr"    />
@@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectZsyzLdpsVo">
-        select id, xm_id, xmbh,xmmc, source_id, psnr,zcpsnr, remark, dept_id, psr, cjsj, xgr, xgsj from zsyz_ldps
+        select id, xm_id, xmbh,xmmc, psnr,zcpsnr, remark, dept_id,psnr_id, psr, cjsj, xgr, xgsj from zsyz_ldps
     </sql>
 
     <select id="selectZsyzLdpsList" parameterType="ZsyzLdps" resultMap="ZsyzLdpsResult">
@@ -28,9 +28,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <where>  
             <if test="xmId != null "> and xm_id = #{xmId}</if>
             <if test="xmbh != null  and xmbh != ''"> and xmbh = #{xmbh}</if>
-            <if test="sourceId != null "> and source_id = #{sourceId}</if>
             <if test="psnr != null  and psnr != ''"> and psnr = #{psnr}</if>
             <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="psnrId != null "> and psnr_id = #{psnrId}</if>
         </where>
     </select>
     
@@ -38,36 +38,44 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <include refid="selectZsyzLdpsVo"/>
         where id = #{id}
     </select>
-        
+    <select id="getInfoZc" resultMap="ZsyzLdpsResult">
+        <include refid="selectZsyzLdpsVo"/>
+        where psnr_id = #{psnrId}
+        and xm_id = #{xmId}
+        and zcpsnr !=''
+        and zcpsnr is not null
+        and (psnr = '' or psnr is null)
+    </select>
+
     <insert id="insertZsyzLdps" parameterType="ZsyzLdps" useGeneratedKeys="true" keyProperty="id">
         insert into zsyz_ldps
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="xmId != null">xm_id,</if>
             <if test="xmbh != null">xmbh,</if>
             <if test="xmmc != null">xmmc,</if>
-            <if test="sourceId != null">source_id,</if>
             <if test="psnr != null">psnr,</if>
             <if test="zcpsnr != null">zcpsnr,</if>
             <if test="remark != null">remark,</if>
             <if test="deptId != null">dept_id,</if>
-            <if test="createBy != null">create_by,</if>
-            <if test="createTime != null">create_time,</if>
-            <if test="updateBy != null">update_by,</if>
-            <if test="updateTime != null">update_time,</if>
+            <if test="psr != null ">psr,</if>
+            <if test="psnrId != null ">psnr_id,</if>
+            <if test="cjsj != null">cjsj,</if>
+            <if test="xgr != null">xgr,</if>
+            <if test="xgsj != null">xgsj,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="xmId != null">#{xmId},</if>
             <if test="xmbh != null">#{xmbh},</if>
             <if test="xmmc != null">#{xmmc},</if>
-            <if test="sourceId != null">#{sourceId},</if>
             <if test="psnr != null">#{psnr},</if>
             <if test="zcpsnr != null">#{zcpsnr},</if>
             <if test="remark != null">#{remark},</if>
             <if test="deptId != null">#{deptId},</if>
-            <if test="createBy != null">#{createBy},</if>
-            <if test="createTime != null">#{createTime},</if>
-            <if test="updateBy != null">#{updateBy},</if>
-            <if test="updateTime != null">#{updateTime},</if>
+            <if test="psr != null ">#{psr},</if>
+            <if test="psnrId != null ">#{psnrId},</if>
+            <if test="cjsj != null">#{cjsj},</if>
+            <if test="xgr != null">#{xgr},</if>
+            <if test="xgsj != null">#{xgsj},</if>
          </trim>
     </insert>
 
@@ -77,15 +85,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="xmId != null">xm_id = #{xmId},</if>
             <if test="xmbh != null">xmbh = #{xmbh},</if>
             <if test="xmmc != null">xmmc = #{xmmc},</if>
-            <if test="sourceId != null">source_id = #{sourceId},</if>
             <if test="psnr != null">psnr = #{psnr},</if>
             <if test="zcpsnr != null">zcpsnr = #{zcpsnr},</if>
             <if test="remark != null">remark = #{remark},</if>
             <if test="deptId != null">dept_id = #{deptId},</if>
-            <if test="createBy != null">create_by = #{createBy},</if>
-            <if test="createTime != null">create_time = #{createTime},</if>
-            <if test="updateBy != null">update_by = #{updateBy},</if>
-            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="psr != null ">psr = #{psr},</if>
+            <if test="psnrId != null ">psnr_id = #{psnrId},</if>
+            <if test="cjsj != null">cjsj = #{cjsj},</if>
+            <if test="xgr != null">xgr = #{xgr},</if>
+            <if test="xgsj != null">xgsj = #{xgsj},</if>
         </trim>
         where id = #{id}
     </update>

+ 125 - 0
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzQktjMapper.xml

@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.system.mapper.projectV2.ZsyzQktjMapper">
+    
+    <resultMap type="ZsyzQktj" id="ZsyzQktjResult">
+        <result property="id"    column="id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="deptName"    column="dept_name"    />
+        <result property="year"    column="year"    />
+        <result property="month"    column="month"    />
+        <result property="numberOutings"    column="number_outings"    />
+        <result property="numberDocking"    column="number_docking"    />
+        <result property="details"    column="details"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+
+        <collection property="zsyzFjList" javaType="java.util.List" resultMap="ZsyzFjResult"/>
+    </resultMap>
+
+    <resultMap type="ZsyzFj" id="ZsyzFjResult">
+        <result property="id"    column="id"    />
+        <result property="xmId"    column="xm_id"    />
+        <result property="xmbh"    column="xmbh"    />
+        <result property="sourceId"    column="source_id"    />
+        <result property="fjName"    column="fj_name"    />
+        <result property="path"    column="path"    />
+        <result property="type"    column="type"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectZsyzQktjVo">
+        select q.id, q.dept_id, q.dept_name, q.year, q.month, q.number_outings, q.number_docking, q.details, q.create_by, q.create_time, q.update_by, q.update_time, q.remark,
+               f.id,f.xm_id, f.xmbh, f.source_id, f.fj_name, f.path, f.type
+        from zsyz_qktj q
+        left join zsyz_fj f on q.id = f.source_id
+    </sql>
+
+    <select id="selectZsyzQktjList" parameterType="ZsyzQktj" resultMap="ZsyzQktjResult">
+        <include refid="selectZsyzQktjVo"/>
+        <where>  
+            <if test="deptId != null "> and q.dept_id = #{deptId}</if>
+            <if test="deptName != null  and deptName != ''"> and q.dept_name like concat('%', #{deptName}, '%')</if>
+            <if test="year != null  and year != ''"> and q.year = #{year}</if>
+            <if test="month != null  and month != ''"> and q.month = #{month}</if>
+            <if test="numberOutings != null  and numberOutings != ''"> and q.number_outings = #{numberOutings}</if>
+            <if test="numberDocking != null  and numberDocking != ''"> and q.number_docking = #{numberDocking}</if>
+            <if test="details != null  and details != ''"> and q.details = #{details}</if>
+        </where>
+    </select>
+    
+    <select id="selectZsyzQktjById" parameterType="Long" resultMap="ZsyzQktjResult">
+        select q.id, q.dept_id, q.dept_name, q.year, q.month, q.number_outings, q.number_docking, q.details, q.create_by, q.create_time, q.update_by, q.update_time, q.remark,
+               f.id ,f.xm_id, f.xmbh, f.source_id, f.fj_name, f.path, f.type
+        from zsyz_qktj q
+        left join zsyz_fj f on q.id = f.source_id
+        where q.id = #{id}
+    </select>
+        
+    <insert id="insertZsyzQktj" parameterType="ZsyzQktj" useGeneratedKeys="true" keyProperty="id">
+        insert into zsyz_qktj
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">dept_id,</if>
+            <if test="deptName != null and deptName != ''">dept_name,</if>
+            <if test="year != null">year,</if>
+            <if test="month != null">month,</if>
+            <if test="numberOutings != null">number_outings,</if>
+            <if test="numberDocking != null">number_docking,</if>
+            <if test="details != null">details,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="deptId != null">#{deptId},</if>
+            <if test="deptName != null and deptName != ''">#{deptName},</if>
+            <if test="year != null">#{year},</if>
+            <if test="month != null">#{month},</if>
+            <if test="numberOutings != null">#{numberOutings},</if>
+            <if test="numberDocking != null">#{numberDocking},</if>
+            <if test="details != null">#{details},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateZsyzQktj" parameterType="ZsyzQktj">
+        update zsyz_qktj
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="deptName != null and deptName != ''">dept_name = #{deptName},</if>
+            <if test="year != null">year = #{year},</if>
+            <if test="month != null">month = #{month},</if>
+            <if test="numberOutings != null">number_outings = #{numberOutings},</if>
+            <if test="numberDocking != null">number_docking = #{numberDocking},</if>
+            <if test="details != null">details = #{details},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteZsyzQktjById" parameterType="Long">
+        delete from zsyz_qktj where id = #{id}
+    </delete>
+
+    <delete id="deleteZsyzQktjByIds" parameterType="String">
+        delete from zsyz_qktj where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 292 - 117
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzSbbzbMapper.xml

@@ -54,6 +54,11 @@
         <result property="isMeet" column="is_meet"/>
         <result property="meetRemark" column="meet_remark"/>
         <result property="shjg" column="shjg"/>
+        <result property="shsj" column="shsj"/>
+        <result property="psnr" column="psnr"/>
+
+
+
 
 
         <association property="zsyzQyxx" javaType="ZsyzQyxx" resultMap="ZsyzQyxxResult"/>
@@ -254,7 +259,7 @@
                cjd_name,
                is_meet,
                meet_remark,
-               shjg
+               shjg,psnr
         from zsyz_sbbzb
     </sql>
 
@@ -265,7 +270,7 @@
         s.tzrxm, s.tzrzw, s.tzrdh, s.xmjj, s.name,
         s.strq, s.phone, s.zw, s.user_id, s.create_by, s.type, s.progress,s.xm_status, s.dept_id, s.create_time, s.update_by,
         s.is_del, s.update_time, s.remark, s.cjd_id,
-        s.cjd_name, s.is_meet, s.meet_remark,s.shjg,
+        s.cjd_name, s.is_meet, s.meet_remark,s.shjg,s.psnr,
         q.id, q.xm_id, q.xmbh, q.xmmc, q.dfqyr, q.wfqyr, q.tbrq, q.qyrq,q.xytzely, q.xytze, q.swzj, q.gdzctze,
         q.xmgjrxm,q.xmgjrzw,q.xmgjrsjh,
         q.xmszd, q.sshy, q.tzfs, q.jsfs, q.sfys, q.jsnr,
@@ -340,6 +345,90 @@
         order by s.create_time desc
     </select>
 
+
+    <select id="selectZsyzSbbzbListPs" parameterType="ZsyzSbbzb" resultMap="ZsyzSbbzbResult">
+        select s.id, s.sbdw, s.tbrq, s.zszxfzr, s.xmbh, s.xmxsmc, s.sfwlhxxxm, s.yzdq_id, s.yzdq_name, s.yzss_name,
+        s.ntze, s.cylx_id, s.cylx_name, s.xmlb,
+        s.tzlb, s.nlhd, s.czpt, s.tzzt, s.xmjz, s.gtzzrsfzhm, s.qytzrxyzdm, s.qybj, s.tzfjj, s.sndxse, s.sndnse,
+        s.tzrxm, s.tzrzw, s.tzrdh, s.xmjj, s.name,
+        s.strq, s.phone, s.zw, s.user_id, s.create_by, s.type, s.progress,s.xm_status, s.dept_id, s.create_time, s.update_by,
+        s.is_del, s.update_time, s.remark, s.cjd_id,
+        s.cjd_name, s.is_meet, s.meet_remark,s.shjg,s.psnr,
+        q.id, q.xm_id, q.xmbh, q.xmmc, q.dfqyr, q.wfqyr, q.tbrq, q.qyrq,q.xytzely, q.xytze, q.swzj, q.gdzctze,
+        q.xmgjrxm,q.xmgjrzw,q.xmgjrsjh,
+        q.xmszd, q.sshy, q.tzfs, q.jsfs, q.sfys, q.jsnr,
+        q.zlcf,q.gdmj, q.zcqymc, q.zcrq, q.zczb, q.frdb, q.lxfs, q.jyfw, q.lxrq, q.nkgrq,q. path, q.create_by,
+        q.create_time,
+        q.update_by, q.update_time, q.remark,
+        k.id, k.xm_id, k.xmbh, k.xmmc, k.kgrq, k.njgrq, k.sscrq, k.ntcsj, k.rtsj, k.nrtsj, k.kggjrsjh, k.create_by,
+        k.create_time, k.update_by,
+        k.update_time, k.remark,
+        t.id, t.xm_id, t.xmbh, t.xmmc, t.tcrq, t.rgsj, t.nrgsj, t.tcgjrsjh, t.sjdze, t.ydmj, t.tdcr, t.xjcf, t.cftr,
+        t.sbqd, t.sbfp, t.sbht, t.fkpz, t.zlcf,
+        t.zlcftr, t.zlsbqd, t.zlsbfp, t.zlsbht, t.zlfkpz, t.sjss, t.lxy, t.jnsb, t.zbtr, t.ndsjss, t.qt, t.create_by,
+        t.create_time, t.update_by,
+        t.update_time, t.remark
+        from zsyz_sbbzb s
+        left join zsyz_qyxx q on s.id = q.xm_id
+        left join zsyz_kgxx k on s.id = k.xm_id
+        left join zsyz_tcxx t on s.id = t.xm_id
+        <where>
+            s.is_del = 'N' and s.psnr is not null
+            <if test="sbdw != null  and sbdw != ''">and s.sbdw = #{sbdw}</if>
+            <if test="tbrq != null ">and s.tbrq = #{tbrq}</if>
+            <if test="zszxfzr != null  and zszxfzr != ''">and s.zszxfzr = #{zszxfzr}</if>
+            <if test="xmbh != null  and xmbh != ''">and s.xmbh = #{xmbh}</if>
+            <if test="xmxsmc != null  and xmxsmc != ''">and s.xmxsmc = #{xmxsmc}</if>
+            <if test="sfwlhxxxm != null  and sfwlhxxxm != ''">and s.sfwlhxxxm = #{sfwlhxxxm}</if>
+            <if test="yzdqId != null  and yzdqId != ''">and s.yzdq_id = #{yzdqId}</if>
+            <if test="yzdqName != null  and yzdqName != ''">and s.yzdq_name like concat('%', #{yzdqName}, '%')</if>
+            <if test="yzssName != null  and yzssName != ''">and s.yzss_name like concat('%', #{yzssName}, '%')</if>
+            <if test="ntze != null  and ntze != ''">and s.ntze = #{ntze}</if>
+            <if test="cylxId != null  and cylxId != ''">and s.cylx_id = #{cylxId}</if>
+            <if test="cylxName != null  and cylxName != ''">and s.cylx_name like concat('%', #{cylxName}, '%')</if>
+            <if test="xmlb != null  and xmlb != ''">and s.xmlb = #{xmlb}</if>
+            <if test="tzlb != null  and tzlb != ''">and s.tzlb = #{tzlb}</if>
+            <if test="nlhd != null  and nlhd != ''">and s.nlhd = #{nlhd}</if>
+            <if test="czpt != null  and czpt != ''">and s.czpt = #{czpt}</if>
+            <if test="tzzt != null  and tzzt != ''">and s.tzzt = #{tzzt}</if>
+            <if test="xmjz != null  and xmjz != ''">and s.xmjz = #{xmjz}</if>
+            <if test="gtzzrsfzhm != null  and gtzzrsfzhm != ''">and s.gtzzrsfzhm = #{gtzzrsfzhm}</if>
+            <if test="qytzrxyzdm != null  and qytzrxyzdm != ''">and s.qytzrxyzdm = #{qytzrxyzdm}</if>
+            <if test="qybj != null  and qybj != ''">and s.qybj = #{qybj}</if>
+            <if test="tzfjj != null  and tzfjj != ''">and s.tzfjj = #{tzfjj}</if>
+            <if test="sndxse != null  and sndxse != ''">and s.sndxse = #{sndxse}</if>
+            <if test="sndnse != null  and sndnse != ''">and s.sndnse = #{sndnse}</if>
+            <if test="tzrxm != null  and tzrxm != ''">and s.tzrxm = #{tzrxm}</if>
+            <if test="tzrzw != null  and tzrzw != ''">and s.tzrzw = #{tzrzw}</if>
+            <if test="tzrdh != null  and tzrdh != ''">and s.tzrdh = #{tzrdh}</if>
+            <if test="xmjj != null  and xmjj != ''">and s.xmjj = #{xmjj}</if>
+            <if test="name != null  and name != ''">and s.name like concat('%', #{name}, '%')</if>
+            <if test="strq != null ">and s.strq = #{strq}</if>
+            <if test="phone != null  and phone != ''">and s.phone = #{phone}</if>
+            <if test="zw != null  and zw != ''">and s.zw = #{zw}</if>
+            <if test="userId != null ">and s.user_id = #{userId}</if>
+            <if test="type != null  and type != ''">and s.type = #{type}</if>
+            <if test="progress != null  and progress != ''">and find_in_set(s.progress , #{progress})</if>
+            <if test="xmStatus != null  and xmStatus != ''">and xm_status = #{xmStatus})</if>
+            <if test="isDel != null  and isDel != ''">and s.is_del = #{isDel}</if>
+            <if test="cjdId != null ">and s.cjd_id = #{cjdId}</if>
+            <if test="cjdName != null  and cjdName != ''">and s.cjd_name like concat('%', #{cjdName}, '%')</if>
+            <if test="isMeet != null  and isMeet != ''">and s.is_meet = #{isMeet}</if>
+            <if test="meetRemark != null  and meetRemark != ''">and s.meet_remark = #{meetRemark}</if>
+            <if test="shjg != null  and shjg != ''">and s.shjg = #{shjg}</if>
+            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
+                AND date_format(s.create_time,'%Y%m%d') &gt;= date_format(#{params.beginTime},'%Y%m%d')
+            </if>
+            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
+                AND date_format(s.create_time,'%Y%m%d') &lt;= date_format(#{params.endTime},'%Y%m%d')
+            </if>
+
+        </where>
+        <!-- 数据范围过滤 -->
+        ${params.dataScope}
+        order by s.create_time desc
+    </select>
+
     <select id="selectZsyzSbbzbById" parameterType="Long" resultMap="ZsyzSbbzbResult">
                 select s.id, s.sbdw, s.tbrq, s.zszxfzr, s.xmbh, s.xmxsmc, s.sfwlhxxxm, s.yzdq_id, s.yzdq_name, s.yzss_name,
         s.ntze, s.cylx_id, s.cylx_name, s.xmlb,
@@ -347,7 +436,7 @@
         s.tzrxm, s.tzrzw, s.tzrdh, s.xmjj, s.name,
         s.strq, s.phone, s.zw, s.user_id, s.create_by, s.type, s.progress,s.xm_status, s.dept_id, s.create_time, s.update_by,
         s.is_del, s.update_time, s.remark, s.cjd_id,
-        s.cjd_name, s.is_meet, s.meet_remark,s.shjg
+        s.cjd_name, s.is_meet, s.meet_remark,s.shjg,s.psnr
         from zsyz_sbbzb s
         where s.id = #{id} and s.is_del = 'N'
     </select>
@@ -359,7 +448,7 @@
         s.tzrxm, s.tzrzw, s.tzrdh, s.xmjj, s.name,
         s.strq, s.phone, s.zw, s.user_id, s.create_by, s.type, s.progress,s.xm_status, s.dept_id, s.create_time, s.update_by,
         s.is_del, s.update_time, s.remark, s.cjd_id,
-        s.cjd_name, s.is_meet, s.meet_remark,
+        s.cjd_name, s.is_meet, s.meet_remark,s.psnr,
         q.id, q.xm_id, q.xmbh, q.xmmc, q.dfqyr, q.wfqyr, q.tbrq, q.qyrq,q.xytzely, q.xytze, q.swzj, q.gdzctze,
         q.xmgjrxm,q.xmgjrzw,q.xmgjrsjh,
         q.xmszd, q.sshy, q.tzfs, q.jsfs, q.sfys, q.jsnr,
@@ -485,7 +574,7 @@
         s.cjd_id,
         s.cjd_name,
         s.is_meet,
-        s.meet_remark
+        s.meet_remark,s.psnr
         from zsyz_project_dept d
         left join zsyz_sbbzb s on s.id = d.xm_id
         where s.is_del = 'N'
@@ -550,7 +639,7 @@
         s.cjd_id,
         s.cjd_name,
         s.is_meet,
-        s.meet_remark
+        s.meet_remark,s.psnr
         from zsyz_sbbzb s
         where s.is_del = 'N'
         <if test="deptId != null  and deptId != ''">and s.dept_id = #{deptId}</if>
@@ -569,126 +658,140 @@
 
         order by d.create_time desc
     </select>
-    <select id="ldpsList" parameterType="ZsyzSbbzb" resultMap="ZsyzSbbzbResult">
-        select s.id, s.sbdw, s.tbrq, s.zszxfzr, s.xmbh, s.xmxsmc, s.sfwlhxxxm, s.yzdq_id, s.yzdq_name, s.yzss_name,
-        s.ntze, s.cylx_id, s.cylx_name, s.xmlb,
-        s.tzlb, s.nlhd, s.czpt, s.tzzt, s.xmjz, s.gtzzrsfzhm, s.qytzrxyzdm, s.qybj, s.tzfjj, s.sndxse, s.sndnse,
-        s.tzrxm, s.tzrzw, s.tzrdh, s.xmjj, s.name,
-        s.strq, s.phone, s.zw, s.user_id, s.create_by, s.type, s.progress,s.xm_status, s.dept_id, s.create_time, s.update_by,
-        s.is_del, s.update_time, s.remark, s.cjd_id,
-        s.cjd_name, s.is_meet, s.meet_remark,
-        j.id,j.xm_id,j.xmbh,j.xmmc,j.dept_id,j.shrxm,j.xmjd,j.shjg,j.shyj,j.shsj
-        from zsyz_sbbzb s
-        left join zsyz_shyj j on s.id = j.xm_id
-        left join zsyz_ldps l on l.source_id = j.id
-        <where>
-            s.is_del = 'N' and l.psnr is not null
-            <if test="sbdw != null  and sbdw != ''">and s.sbdw = #{sbdw}</if>
-            <if test="tbrq != null ">and s.tbrq = #{tbrq}</if>
-            <if test="zszxfzr != null  and zszxfzr != ''">and s.zszxfzr = #{zszxfzr}</if>
-            <if test="xmbh != null  and xmbh != ''">and s.xmbh = #{xmbh}</if>
-            <if test="xmxsmc != null  and xmxsmc != ''">and s.xmxsmc = #{xmxsmc}</if>
-            <if test="sfwlhxxxm != null  and sfwlhxxxm != ''">and s.sfwlhxxxm = #{sfwlhxxxm}</if>
-            <if test="yzdqId != null  and yzdqId != ''">and s.yzdq_id = #{yzdqId}</if>
-            <if test="yzdqName != null  and yzdqName != ''">and s.yzdq_name like concat('%', #{yzdqName}, '%')</if>
-            <if test="yzssName != null  and yzssName != ''">and s.yzss_name like concat('%', #{yzssName}, '%')</if>
-            <if test="ntze != null  and ntze != ''">and s.ntze = #{ntze}</if>
-            <if test="cylxId != null  and cylxId != ''">and s.cylx_id = #{cylxId}</if>
-            <if test="cylxName != null  and cylxName != ''">and s.cylx_name like concat('%', #{cylxName}, '%')</if>
-            <if test="xmlb != null  and xmlb != ''">and s.xmlb = #{xmlb}</if>
-            <if test="tzlb != null  and tzlb != ''">and s.tzlb = #{tzlb}</if>
-            <if test="nlhd != null  and nlhd != ''">and s.nlhd = #{nlhd}</if>
-            <if test="czpt != null  and czpt != ''">and s.czpt = #{czpt}</if>
-            <if test="tzzt != null  and tzzt != ''">and s.tzzt = #{tzzt}</if>
-            <if test="xmjz != null  and xmjz != ''">and s.xmjz = #{xmjz}</if>
-            <if test="gtzzrsfzhm != null  and gtzzrsfzhm != ''">and s.gtzzrsfzhm = #{gtzzrsfzhm}</if>
-            <if test="qytzrxyzdm != null  and qytzrxyzdm != ''">and s.qytzrxyzdm = #{qytzrxyzdm}</if>
-            <if test="qybj != null  and qybj != ''">and s.qybj = #{qybj}</if>
-            <if test="tzfjj != null  and tzfjj != ''">and s.tzfjj = #{tzfjj}</if>
-            <if test="sndxse != null  and sndxse != ''">and s.sndxse = #{sndxse}</if>
-            <if test="sndnse != null  and sndnse != ''">and s.sndnse = #{sndnse}</if>
-            <if test="tzrxm != null  and tzrxm != ''">and s.tzrxm = #{tzrxm}</if>
-            <if test="tzrzw != null  and tzrzw != ''">and s.tzrzw = #{tzrzw}</if>
-            <if test="tzrdh != null  and tzrdh != ''">and s.tzrdh = #{tzrdh}</if>
-            <if test="xmjj != null  and xmjj != ''">and s.xmjj = #{xmjj}</if>
-            <if test="name != null  and name != ''">and s.name like concat('%', #{name}, '%')</if>
-            <if test="strq != null ">and s.strq = #{strq}</if>
-            <if test="phone != null  and phone != ''">and s.phone = #{phone}</if>
-            <if test="zw != null  and zw != ''">and s.zw = #{zw}</if>
-            <if test="userId != null ">and s.user_id = #{userId}</if>
-            <if test="type != null  and type != ''">and s.type = #{type}</if>
-            <if test="progress != null  and progress != ''">and find_in_set(s.progress , #{progress})</if>
-            <if test="xmStatus != null  and xmStatus != ''">and s.xm_status = #{xmStatus}</if>
-            <if test="cjdId != null ">and s.cjd_id = #{cjdId}</if>
-            <if test="cjdName != null  and cjdName != ''">and s.cjd_name like concat('%', #{cjdName}, '%')</if>
-            <if test="isMeet != null  and isMeet != ''">and s.is_meet = #{isMeet}</if>
-            <if test="meetRemark != null  and meetRemark != ''">and s.meet_remark = #{meetRemark}</if>
-            <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
-                AND date_format(s.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
-            </if>
-            <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
-                AND date_format(s.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
-            </if>
-        </where>
-        <!-- 数据范围过滤 -->
-        ${params.dataScope}
-        order by cjsj desc
-    </select>
-    <select id="ldpsListCount" resultType="java.lang.Long">
-        select count(1)
-        from (select s.id
+
+    <select id="selectZsyzSbbzbListByZpPs"  resultMap="ZsyzSbbzbResult">
+        SELECT * from ( select s.id,
+        s.sbdw,
+        s.tbrq,
+        s.zszxfzr,
+        s.xmbh,
+        s.xmxsmc,
+        s.sfwlhxxxm,
+        s.yzdq_id,
+        s.yzdq_name,
+        s.yzss_name,
+        s.ntze,
+        s.cylx_id,
+        s.cylx_name,
+        s.xmlb,
+        s.tzlb,
+        s.nlhd,
+        s.czpt,
+        s.tzzt,
+        s.xmjz,
+        s.gtzzrsfzhm,
+        s.qytzrxyzdm,
+        s.qybj,
+        s.tzfjj,
+        s.sndxse,
+        s.sndnse,
+        s.tzrxm,
+        s.tzrzw,
+        s.tzrdh,
+        s.xmjj,
+        s.name,
+        s.strq,
+        s.phone,
+        s.zw,
+        s.user_id,
+        s.create_by,
+        s.type,
+        s.progress,
+        s.xm_status,
+        s.dept_id,
+        s.create_time,
+        s.update_by,
+        s.is_del,
+        s.update_time,
+        s.remark,
+        s.cjd_id,
+        s.cjd_name,
+        s.is_meet,
+        s.meet_remark,s.psnr
+        from zsyz_project_dept d
+        left join zsyz_sbbzb s on s.id = d.xm_id
+        where s.is_del = 'N'
+        and d.dept_id = #{deptId} and d.is_del = 'N' and d.dept_type = '2'
+        <if test="xmxsmc != null  and xmxsmc != ''">and s.xmxsmc = #{xmxsmc}</if>
+        <if test="progress != null  and progress != ''">and find_in_set(s.progress , #{progress})</if>
+        <if test="xmStatus != null  and xmStatus != ''">and s.xm_status = #{xmStatus}</if>
+        <if test="cjdId != null ">and cjd_id = #{cjdId}</if>
+        <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
+            AND date_format(s.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
+        </if>
+        <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
+            AND date_format(s.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
+        </if>
+
+        UNION
+
+        select s.id,
+        s.sbdw,
+        s.tbrq,
+        s.zszxfzr,
+        s.xmbh,
+        s.xmxsmc,
+        s.sfwlhxxxm,
+        s.yzdq_id,
+        s.yzdq_name,
+        s.yzss_name,
+        s.ntze,
+        s.cylx_id,
+        s.cylx_name,
+        s.xmlb,
+        s.tzlb,
+        s.nlhd,
+        s.czpt,
+        s.tzzt,
+        s.xmjz,
+        s.gtzzrsfzhm,
+        s.qytzrxyzdm,
+        s.qybj,
+        s.tzfjj,
+        s.sndxse,
+        s.sndnse,
+        s.tzrxm,
+        s.tzrzw,
+        s.tzrdh,
+        s.xmjj,
+        s.name,
+        s.strq,
+        s.phone,
+        s.zw,
+        s.user_id,
+        s.create_by,
+        s.type,
+        s.progress,
+        s.xm_status,
+        s.dept_id,
+        s.create_time,
+        s.update_by,
+        s.is_del,
+        s.update_time,
+        s.remark,
+        s.cjd_id,
+        s.cjd_name,
+        s.is_meet,
+        s.meet_remark,s.psnr
         from zsyz_sbbzb s
-        left join zsyz_shyj j on s.id = j.xm_id
-        left join zsyz_ldps l on l.source_id = j.id
-        where s.is_del = 'N' and l.psnr is not null
-        <if test="sbdw != null  and sbdw != ''">and s.sbdw = #{sbdw}</if>
-        <if test="tbrq != null ">and s.tbrq = #{tbrq}</if>
-        <if test="zszxfzr != null  and zszxfzr != ''">and s.zszxfzr = #{zszxfzr}</if>
-        <if test="xmbh != null  and xmbh != ''">and s.xmbh = #{xmbh}</if>
+        where s.is_del = 'N'
+        <if test="deptId != null  and deptId != ''">and s.dept_id = #{deptId}</if>
         <if test="xmxsmc != null  and xmxsmc != ''">and s.xmxsmc = #{xmxsmc}</if>
-        <if test="sfwlhxxxm != null  and sfwlhxxxm != ''">and s.sfwlhxxxm = #{sfwlhxxxm}</if>
-        <if test="yzdqId != null  and yzdqId != ''">and s.yzdq_id = #{yzdqId}</if>
-        <if test="yzdqName != null  and yzdqName != ''">and s.yzdq_name like concat('%', #{yzdqName}, '%')</if>
-        <if test="yzssName != null  and yzssName != ''">and s.yzss_name like concat('%', #{yzssName}, '%')</if>
-        <if test="ntze != null  and ntze != ''">and s.ntze = #{ntze}</if>
-        <if test="cylxId != null  and cylxId != ''">and s.cylx_id = #{cylxId}</if>
-        <if test="cylxName != null  and cylxName != ''">and s.cylx_name like concat('%', #{cylxName}, '%')</if>
-        <if test="xmlb != null  and xmlb != ''">and s.xmlb = #{xmlb}</if>
-        <if test="tzlb != null  and tzlb != ''">and s.tzlb = #{tzlb}</if>
-        <if test="nlhd != null  and nlhd != ''">and s.nlhd = #{nlhd}</if>
-        <if test="czpt != null  and czpt != ''">and s.czpt = #{czpt}</if>
-        <if test="tzzt != null  and tzzt != ''">and s.tzzt = #{tzzt}</if>
-        <if test="xmjz != null  and xmjz != ''">and s.xmjz = #{xmjz}</if>
-        <if test="gtzzrsfzhm != null  and gtzzrsfzhm != ''">and s.gtzzrsfzhm = #{gtzzrsfzhm}</if>
-        <if test="qytzrxyzdm != null  and qytzrxyzdm != ''">and s.qytzrxyzdm = #{qytzrxyzdm}</if>
-        <if test="qybj != null  and qybj != ''">and s.qybj = #{qybj}</if>
-        <if test="tzfjj != null  and tzfjj != ''">and s.tzfjj = #{tzfjj}</if>
-        <if test="sndxse != null  and sndxse != ''">and s.sndxse = #{sndxse}</if>
-        <if test="sndnse != null  and sndnse != ''">and s.sndnse = #{sndnse}</if>
-        <if test="tzrxm != null  and tzrxm != ''">and s.tzrxm = #{tzrxm}</if>
-        <if test="tzrzw != null  and tzrzw != ''">and s.tzrzw = #{tzrzw}</if>
-        <if test="tzrdh != null  and tzrdh != ''">and s.tzrdh = #{tzrdh}</if>
-        <if test="xmjj != null  and xmjj != ''">and s.xmjj = #{xmjj}</if>
-        <if test="name != null  and name != ''">and s.name like concat('%', #{name}, '%')</if>
-        <if test="strq != null ">and s.strq = #{strq}</if>
-        <if test="phone != null  and phone != ''">and s.phone = #{phone}</if>
-        <if test="zw != null  and zw != ''">and s.zw = #{zw}</if>
-        <if test="userId != null ">and s.user_id = #{userId}</if>
-        <if test="type != null  and type != ''">and s.type = #{type}</if>
-        <if test="progress != null  and progress != ''">and and find_in_set(s.progress , #{progress})</if>
+        <if test="progress != null  and progress != ''">and find_in_set(s.progress , #{progress})</if>
         <if test="xmStatus != null  and xmStatus != ''">and s.xm_status = #{xmStatus}</if>
-        <if test="cjdId != null ">and s.cjd_id = #{cjdId}</if>
-        <if test="cjdName != null  and cjdName != ''">and s.cjd_name like concat('%', #{cjdName}, '%')</if>
-        <if test="isMeet != null  and isMeet != ''">and s.is_meet = #{isMeet}</if>
-        <if test="meetRemark != null  and meetRemark != ''">and s.meet_remark = #{meetRemark}</if>
+        <if test="cjdId != null ">and cjd_id = #{cjdId}</if>
         <if test="params.beginTime != null and params.beginTime != ''"><!-- 开始时间检索 -->
             AND date_format(s.create_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
         </if>
         <if test="params.endTime != null and params.endTime != ''"><!-- 结束时间检索 -->
             AND date_format(s.create_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
         </if>
-        group by s.id ) a
+
+        )d
+
+        order by d.create_time desc
     </select>
+
     <select id="selectZsyzSbbzbListCount" resultType="java.lang.Long">
         select count(1)
         from (
@@ -810,7 +913,7 @@
         s.cjd_id,
         s.cjd_name,
         s.is_meet,
-        s.meet_remark
+        s.meet_remark,s.psnr
         from zsyz_project_dept d
         left join zsyz_sbbzb s on s.id = d.xm_id
         where s.is_del = 'N'
@@ -828,6 +931,75 @@
         order by d.create_time desc
     </select>
 
+    <select id="selectZsyzSbbzbListTz" resultMap="ZsyzSbbzbResult">
+        SELECT
+        ANY_VALUE(a.id) AS id,
+        ANY_VALUE(a.xmbh) AS xmbh,
+        ANY_VALUE(a.xmxsmc) AS xmxsmc,
+        ANY_VALUE(a.user_id) AS user_id,
+        ANY_VALUE(a.progress) AS progress,
+        ANY_VALUE(a.xm_status) AS xm_status,
+        ANY_VALUE(a.dept_id) AS dept_id,
+        ANY_VALUE(MAX(a.shsj)) AS shsj
+        FROM
+        (
+        SELECT
+        s.id as id,
+        s.xmbh as xmbh,
+        s.xmxsmc as xmxsmc,
+        s.user_id as user_id,
+        s.progress as progress,
+        s.xm_status as xm_status,
+        s.dept_id as dept_id,
+        j.shsj as shsj
+        FROM
+        zsyz_sbbzb s
+        LEFT JOIN zsyz_shyj j ON s.xmbh = j.xmbh
+        WHERE
+        s.is_del = 'N'
+        AND j.xmjd = '项目首谈'
+        AND j.shjg = 2
+        <if test="year != null  and year != ''">and j.shsj like concat( #{year}, '%')</if>
+        <if test="deptId != null ">and s.dept_id = #{deptId}</if>
+        ) a
+        GROUP BY
+        a.xmbh
+    </select>
+
+    <!--<select id="selectZsyzSbbzbListTz" resultMap="ZsyzSbbzbResult">
+        SELECT
+        a.id,
+        a.xmbh,
+        a.xmxsmc,
+        a.user_id,
+        a.progress,
+        a.xm_status,
+        a.dept_id,
+        MAX(a.shsj) AS shsj
+        FROM
+        (
+        SELECT
+        s.id as id,
+        s.xmbh as xmbh,
+        s.xmxsmc as xmxsmc,
+        s.user_id as user_id,
+        s.progress as progress,
+        s.xm_status as xm_status,
+        s.dept_id as dept_id,
+        j.shsj as shsj
+        FROM
+        zsyz_sbbzb s
+        LEFT JOIN zsyz_shyj j ON s.xmbh = j.xmbh
+        WHERE
+        s.is_del = 'N'
+        AND j.xmjd = '项目首谈'
+        AND j.shjg = 2
+        <if test="year != null  and year != ''">and s.cjd_name like concat( #{year}, '%')</if>
+        ) a
+        GROUP BY
+        a.xmbh
+    </select>-->
+
 
     <insert id="insertZsyzSbbzb" parameterType="ZsyzSbbzb" useGeneratedKeys="true" keyProperty="id">
         insert into zsyz_sbbzb
@@ -880,6 +1052,7 @@
             <if test="isMeet != null">is_meet,</if>
             <if test="meetRemark != null">meet_remark,</if>
             <if test="shjg != null">shjg,</if>
+            <if test="psnr != null">psnr,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="sbdw != null and sbdw != ''">#{sbdw},</if>
@@ -930,6 +1103,7 @@
             <if test="isMeet != null">#{isMeet},</if>
             <if test="meetRemark != null">#{meetRemark},</if>
             <if test="shjg != null">#{shjg},</if>
+            <if test="psnr != null">#{psnr},</if>
         </trim>
     </insert>
 
@@ -984,6 +1158,7 @@
             <if test="isMeet != null">is_meet = #{isMeet},</if>
             <if test="meetRemark != null">meet_remark = #{meetRemark},</if>
             <if test="shjg != null">shjg = #{shjg},</if>
+            <if test="psnr != null">psnr = #{psnr},</if>
         </trim>
         where id = #{id}
     </update>

+ 2 - 24
ruoyi-system/src/main/resources/mapper/system/projectV2/ZsyzShyjMapper.xml

@@ -20,33 +20,11 @@
         <result property="updateBy" column="update_by"/>
         <result property="updateTime" column="update_time"/>
         <result property="remark" column="remark"/>
-
-        <collection property="zsyzLdpsList" javaType="java.util.List" resultMap="ZsyzLdpsResult"/>
-    </resultMap>
-
-
-    <resultMap type="ZsyzLdps" id="ZsyzLdpsResult">
-        <result property="ids" column="ids"/>
-        <result property="xmId" column="xm_id"/>
-        <result property="xmbh" column="xmbh"/>
-        <result property="xmmc" column="xmmc"/>
-        <result property="sourceId" column="source_id"/>
-        <result property="psnr" column="psnr"/>
-        <result property="zcpsnr" column="zcpsnr"/>
-        <result property="remark" column="remark"/>
-        <result property="deptId" column="dept_id"/>
-        <result property="psr" column="psr"/>
-        <result property="cjsj" column="cjsj"/>
-        <result property="xgr" column="xgr"/>
-        <result property="xgsj" column="xgsj"/>
     </resultMap>
 
     <sql id="selectZsyzShyjVo">
-        select s.id, s.xm_id, s.xmbh, s.dept_id, s.shrxm, s.xmjd,s.xmmc, s.shjg, s.shyj, s.shsj, s.create_by, s.create_time, s.update_by, s.update_time, s.remark ,
-               l.id as ids, l.xm_id, l.xmbh, l.xmmc, l.source_id, l.psnr, l.zcpsnr, l.remark, l.dept_id, l.psr, l.cjsj, l.xgr, l.xgsj
+        select s.id, s.xm_id, s.xmbh, s.dept_id, s.shrxm, s.xmjd,s.xmmc, s.shjg, s.shyj, s.shsj, s.create_by, s.create_time, s.update_by, s.update_time, s.remark
         from zsyz_shyj s
-        left join   zsyz_ldps l on s.id = l.source_id
-
     </sql>
 
     <select id="selectZsyzShyjList" parameterType="ZsyzShyj" resultMap="ZsyzShyjResult">
@@ -66,7 +44,7 @@
 
     <select id="selectZsyzShyjById" parameterType="Long" resultMap="ZsyzShyjResult">
         <include refid="selectZsyzShyjVo"/>
-        where l.id = #{id}
+        where s.id = #{id}
     </select>