Ver código fonte

Merge branch 'master' into prod

buzhanyi 1 ano atrás
pai
commit
47a06a7b53

+ 4 - 7
purchase-admin/src/main/java/com/ozs/web/controller/system/SysDeptOrganController.java

@@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.Date;
 import java.util.List;
 
 
@@ -37,8 +36,8 @@ public class SysDeptOrganController extends BaseController {
      */
     @GetMapping("/list")
     @ApiOperation("获取机关指导处列表")
-    public AjaxResult list() {
-        List<SysDeptOrgan> deptOrganList = sysDeptOrganService.selectList();
+    public AjaxResult list(SysDeptOrgan deptOrgan) {
+        List<SysDeptOrgan> deptOrganList = sysDeptOrganService.selectList(deptOrgan);
         return success(deptOrganList);
     }
 
@@ -57,11 +56,9 @@ public class SysDeptOrganController extends BaseController {
     @Log(title = "机关指导处管理", businessType = BusinessType.INSERT)
     @PostMapping("/add")
     @ApiOperation("新增机关指导处")
-    public AjaxResult add(@RequestBody SysDeptOrgan deptOrgan) {
+    public AjaxResult add(@RequestBody List<SysDeptOrgan> deptOrganList) {
         Long userId = getUserId();
-        deptOrgan.setCreateBy(String.valueOf(userId));
-        deptOrgan.setCreateTime(new Date());
-        return sysDeptOrganService.insertDeptOrgan(deptOrgan);
+        return sysDeptOrganService.insertDeptOrgan(deptOrganList, userId);
     }
 
     /**

+ 12 - 8
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanQuarterServiceImpl.java

@@ -31,10 +31,12 @@ import com.ozs.pm.mapper.PmAuditDeptRefMapper;
 import com.ozs.pm.mapper.PmDemandMapper;
 import com.ozs.pm.service.IPmDemandService;
 import com.ozs.pm.service.PmAuditDeptRefService;
+import com.ozs.system.domain.SysDeptOrgan;
 import com.ozs.system.domain.SysFileInfo;
 import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.mapper.SysDeptOrganMapper;
 import com.ozs.system.mapper.SysFileRefMapper;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictDataService;
@@ -95,6 +97,8 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
     private PmAuditDeptRefService pmAuditDeptRefService;
     @Autowired
     private PmAuditDeptRefMapper pmAuditDeptRefMapper;
+    @Autowired
+    private SysDeptOrganMapper sysDeptOrganMapper;
 
     @Override
     public List<PlanQuarterResponseVo> selectPlanQuarterListEXP(PlanQuarterStandardVo vo, LoginUser loginUser) {
@@ -824,25 +828,25 @@ public class PlanQuarterServiceImpl extends ServiceImpl<PlanQuarterMapper, PlanQ
             String organDivision = planQuarter.getOrganDivision();
             if (!ObjectUtils.isEmpty(organDivision)) {
                 int length = organDivision.split(",").length;
-                SysDept sysDept = new SysDept();
+                SysDeptOrgan organ = new SysDeptOrgan();
                 if (length > 1) {
                     StringBuilder builder = new StringBuilder();
                     String[] split = organDivision.split(",");
                     for (String s : split) {
-                        sysDept = deptService.selectById(Long.valueOf(s));
-                        if (!ObjectUtils.isEmpty(sysDept)) {
+                        organ = sysDeptOrganMapper.selectById(s);
+                        if (!ObjectUtils.isEmpty(organ)) {
                             if (!organDivision.endsWith(s)) {
-                                builder.append(sysDept.getDeptName() + ",");
+                                builder.append(organ.getOrganName() + ",");
                             } else {
-                                builder.append(sysDept.getDeptName());
+                                builder.append(organ.getOrganName());
                             }
                         }
                     }
                     planQuarter.setOrganDivisionStr(builder.toString());
                 } else if (length == 1) {
-                    sysDept = deptService.selectById(Long.valueOf(organDivision));
-                    if (!ObjectUtils.isEmpty(sysDept)) {
-                        planQuarter.setOrganDivisionStr(sysDept.getDeptName());
+                    organ = sysDeptOrganMapper.selectById(organDivision);
+                    if (!ObjectUtils.isEmpty(organ)) {
+                        planQuarter.setOrganDivisionStr(organ.getOrganName());
                     }
                 }
             }

+ 17 - 17
purchase-system/src/main/java/com/ozs/plan/service/impl/PlanYearsServiceImpl.java

@@ -33,10 +33,12 @@ import com.ozs.pm.doman.vo.responseVo.*;
 import com.ozs.pm.mapper.PmAuditDeptRefMapper;
 import com.ozs.pm.mapper.PmDemandMapper;
 import com.ozs.pm.service.*;
+import com.ozs.system.domain.SysDeptOrgan;
 import com.ozs.system.domain.SysFileInfo;
 import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.mapper.SysDeptOrganMapper;
 import com.ozs.system.mapper.SysFileRefMapper;
 import com.ozs.system.mapper.SysRoleMapper;
 import com.ozs.system.service.*;
@@ -80,6 +82,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     @Autowired
     private SysFileRefMapper sysFileRefMapper;
     @Autowired
+    private SysDeptOrganMapper sysDeptOrganMapper;
+    @Autowired
     private SysDeptMapper deptMapper;
     @Autowired
     private SysFileService fileService;
@@ -254,10 +258,6 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
 
         PlanYearsResponseVo responseVo = new PlanYearsResponseVo();
         PlanYears byId = planYearsMapper.getById(yearsStandardVo.getPlanYearId());
-        byId.getPlanYearId();
-        if (byId == null) {
-            return AjaxResult.error("数据查询失败");
-        }
         SysDeptResponseVo sysDeptResponseVo = (SysDeptResponseVo) deptService.selectDeptById(Long.valueOf(byId.getPurchaseDeptId())).get("sysDept");
         byId.setPurchaseDeptName(sysDeptResponseVo.getDeptName());
         LambdaQueryWrapper<SysFileRef> lw = new LambdaQueryWrapper<>();
@@ -382,18 +382,18 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                 if (ofYear.getOrganDivision().contains(",")) {
                     String[] split = ofYear.getOrganDivision().split(",");
                     for (String s : split) {
-                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
+                        SysDeptOrgan infoTow = sysDeptOrganMapper.checkDeptOrganNameOnlyOne(s);
                         //不是最后一位就加‘,’,是就直接结尾
                         if (!ofYear.getOrganDivision().endsWith(s)) {
                             if (!ObjectUtils.isEmpty(infoTow)) {
-                                zBuilder.append(infoTow.getDeptId() + ",");
+                                zBuilder.append(infoTow.getId() + ",");
                             } else {
                                 ++failureNum;
                                 failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
                             }
                         } else {
                             if (!ObjectUtils.isEmpty(infoTow)) {
-                                zBuilder.append(infoTow.getDeptId());
+                                zBuilder.append(infoTow.getId());
                             } else {
                                 ++failureNum;
                                 failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
@@ -408,9 +408,9 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
                     }
                 } else {
                     //没有多选
-                    SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
+                    SysDeptOrgan infoTow = sysDeptOrganMapper.checkDeptOrganNameOnlyOne(ofYear.getOrganDivision());
                     if (!ObjectUtils.isEmpty(infoTow)) {
-                        zBuilder.append(infoTow.getDeptId());
+                        zBuilder.append(infoTow.getId());
                     } else {
                         ++failureNum;
                         failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
@@ -1462,25 +1462,25 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
             String organDivision = planYear.getOrganDivision();
             if (!ObjectUtils.isEmpty(organDivision)) {
                 int length = organDivision.split(",").length;
-                SysDept sysDept = new SysDept();
+                SysDeptOrgan organ = new SysDeptOrgan();
                 if (length > 1) {
                     StringBuilder builder = new StringBuilder();
                     String[] split = organDivision.split(",");
                     for (String s : split) {
-                        sysDept = deptService.selectById(Long.valueOf(s));
-                        if (!ObjectUtils.isEmpty(sysDept)) {
+                        organ = sysDeptOrganMapper.selectById(s);
+                        if (!ObjectUtils.isEmpty(organ)) {
                             if (!organDivision.endsWith(s)) {
-                                builder.append(sysDept.getDeptName() + ",");
+                                builder.append(organ.getOrganName() + ",");
                             } else {
-                                builder.append(sysDept.getDeptName());
+                                builder.append(organ.getOrganName());
                             }
                         }
                     }
                     planYear.setOrganDivisionStr(builder.toString());
                 } else if (length == 1) {
-                    sysDept = deptService.selectById(Long.valueOf(organDivision));
-                    if (!ObjectUtils.isEmpty(sysDept)) {
-                        planYear.setOrganDivisionStr(sysDept.getDeptName());
+                    organ = sysDeptOrganMapper.selectById(organDivision);
+                    if (!ObjectUtils.isEmpty(organ)) {
+                        planYear.setOrganDivisionStr(organ.getOrganName());
                     }
                 }
             }

+ 77 - 70
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -35,14 +35,17 @@ import com.ozs.pm.mapper.PmAuditDeptRefMapper;
 import com.ozs.pm.mapper.PmDemandMapper;
 import com.ozs.pm.service.IPmDemandService;
 import com.ozs.pm.service.PmAuditDeptRefService;
+import com.ozs.system.domain.SysDeptOrgan;
 import com.ozs.system.domain.SysFileInfo;
 import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.mapper.SysDeptOrganMapper;
 import com.ozs.system.mapper.SysFileRefMapper;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictTypeService;
 import com.ozs.system.service.ISysUserService;
+import com.ozs.system.service.SysDeptOrganService;
 import com.ozs.system.service.SysFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -60,31 +63,33 @@ import java.util.stream.Collectors;
 public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMapper, ProvisionalPlan> implements ProvisionalPlanService {
 
     @Autowired
-    private ProvisionalPlanMapper provisionalPlanMapper;
+    private SysDeptMapper deptMapper;
     @Autowired
-    private ISysDictTypeService dictTypeService;
+    private SysFileService fileService;
     @Autowired
-    private SysDeptMapper deptMapper;
+    private ISysUserService userService;
     @Autowired
     private ISysDeptService deptService;
     @Autowired
-    private PlanYearsMapper planYearsMapper;
+    private PmDemandMapper pmDemandMapper;
     @Autowired
-    private SysFileRefMapper sysFileRefMapper;
+    private IPmDemandService demandService;
     @Autowired
-    private SysFileService fileService;
+    private PlanYearsMapper planYearsMapper;
     @Autowired
-    private PmDemandMapper pmDemandMapper;
+    private PlanQuarterService quarterService;
     @Autowired
-    private IPmDemandService demandService;
+    private SysFileRefMapper sysFileRefMapper;
     @Autowired
-    private ISysUserService userService;
+    private ISysDictTypeService dictTypeService;
     @Autowired
-    private PmAuditDeptRefService pmAuditDeptRefService;
+    private SysDeptOrganMapper sysDeptOrganMapper;
     @Autowired
     private PmAuditDeptRefMapper pmAuditDeptRefMapper;
     @Autowired
-    private PlanQuarterService quarterService;
+    private PmAuditDeptRefService pmAuditDeptRefService;
+    @Autowired
+    private ProvisionalPlanMapper provisionalPlanMapper;
 
     @Override
     public int deleteProvisionalPlanById(Long planPracticalId) {
@@ -133,77 +138,79 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         for (ProvisionalPlan ofProvisionalPlan : provisionalPlans) {
             try {
                 //将录入信息中的值更改为要保存的数据
-                    //采购单位
-                    SysDept info = deptMapper.checkDeptNameOnlyOne(ofProvisionalPlan.getPurchaseDeptName());
-                    if (StringUtils.isNotNull(info)) {
-                        ofProvisionalPlan.setPurchaseDeptId(String.valueOf(info.getDeptId()));
-                    }
-                    ofProvisionalPlan.setProjectType(projectTypesMap.get(ofProvisionalPlan.getProjectType()));
-                    ofProvisionalPlan.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
-
-                    //机关业务指导处是多选字段
-                    StringBuilder zBuilder = new StringBuilder();
-                    if (ofProvisionalPlan.getOrganDivision().contains(",")) {
-                        String[] split = ofProvisionalPlan.getOrganDivision().split(",");
-                        for (String s : split) {
-                            SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
-                            //不是最后一位就加‘,’,是就直接结尾
-                            if (!ofProvisionalPlan.getOrganDivision().endsWith(s)) {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId() + ",");
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
-                                }
+                //采购单位
+                SysDept info = deptMapper.checkDeptNameOnlyOne(ofProvisionalPlan.getPurchaseDeptName());
+                if (StringUtils.isNotNull(info)) {
+                    ofProvisionalPlan.setPurchaseDeptId(String.valueOf(info.getDeptId()));
+                }
+                ofProvisionalPlan.setProjectType(projectTypesMap.get(ofProvisionalPlan.getProjectType()));
+                ofProvisionalPlan.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+
+                //机关业务指导处是多选字段
+                StringBuilder zBuilder = new StringBuilder();
+                if (ofProvisionalPlan.getOrganDivision().contains(",")) {
+                    String[] split = ofProvisionalPlan.getOrganDivision().split(",");
+                    for (String s : split) {
+                        SysDeptOrgan infoTow = sysDeptOrganMapper.checkDeptOrganNameOnlyOne(s);
+                        //不是最后一位就加‘,’,是就直接结尾
+                        if (!ofProvisionalPlan.getOrganDivision().endsWith(s)) {
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getId() + ",");
                             } else {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId());
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
-                                }
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
                             }
-                        }
-                        String zs = zBuilder.toString();
-                        if (zs.endsWith(",")) {
-                            zBuilder = null;
-                            zBuilder.append(zs.substring(0, zs.length() - 1));
-                        }
-                    } else {
-                        //没有多选
-                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofProvisionalPlan.getOrganDivision());
-                        if (!ObjectUtils.isEmpty(infoTow)) {
-                            zBuilder.append(infoTow.getDeptId());
                         } else {
-                            ++failureNum;
-                            failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getId());
+                            } else {
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
+                            }
                         }
                     }
-                    ofProvisionalPlan.setOrganDivision(zBuilder.toString());
+                    String zs = zBuilder.toString();
+                    if (zs.endsWith(",")) {
+                        zBuilder = null;
+                        zBuilder.append(zs.substring(0, zs.length() - 1));
+                    }
+                } else {
+                    //没有多选
+                    SysDeptOrgan infoTow = sysDeptOrganMapper.checkDeptOrganNameOnlyOne(ofProvisionalPlan.getOrganDivision());
+                    if (!ObjectUtils.isEmpty(infoTow)) {
+                        zBuilder.append(infoTow.getId());
+                    } else {
+                        ++failureNum;
+                        failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofProvisionalPlan.getOrganDivision() + "”不存在");
+                    }
+                }
+                ofProvisionalPlan.setOrganDivision(zBuilder.toString());
 
 
-                    //项目属性是多选字段
-                    StringBuilder builder = new StringBuilder();
-                    if (ofProvisionalPlan.getProjectAttr().contains(",")) {
-                        String[] split = ofProvisionalPlan.getProjectAttr().split(",");
-                        for (String s : split) {
-                            if (!ofProvisionalPlan.getProjectAttr().endsWith(s)) {
-                                builder.append(projectAttributes.get(s) + ",");
-                            } else {
-                                builder.append(projectAttributes.get(s));
-                            }
+                //项目属性是多选字段
+                StringBuilder builder = new StringBuilder();
+                if (ofProvisionalPlan.getProjectAttr().contains(",")) {
+                    String[] split = ofProvisionalPlan.getProjectAttr().split(",");
+                    for (String s : split) {
+                        if (!ofProvisionalPlan.getProjectAttr().endsWith(s)) {
+                            builder.append(projectAttributes.get(s) + ",");
+                        } else {
+                            builder.append(projectAttributes.get(s));
                         }
-                    } else {
-                        builder.append(projectAttributes.get(ofProvisionalPlan.getProjectAttr()));
                     }
-                    ofProvisionalPlan.setProjectAttr(builder.toString());
-                    //ofProvisionalPlan.setIsExcess(deptService.isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation(), info.getDeptId()));
-                    ofProvisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
-                    ofProvisionalPlan.setCreateTime(new Date());
-                    ofProvisionalPlan.setPlanType("1");
+                } else {
+                    builder.append(projectAttributes.get(ofProvisionalPlan.getProjectAttr()));
+                }
+                ofProvisionalPlan.setProjectAttr(builder.toString());
+                //ofProvisionalPlan.setIsExcess(deptService.isExcessOrNo(ofProvisionalPlan.getProjectType(), ofProvisionalPlan.getEvaluation(), info.getDeptId()));
+                ofProvisionalPlan.setCreated(String.valueOf(loginUser.getUserId()));
+                ofProvisionalPlan.setCreateTime(new Date());
+                ofProvisionalPlan.setPlanType("1");
+                if (!ObjectUtils.isEmpty(ofProvisionalPlan.getPlanPracticalId()) && !ObjectUtils.isEmpty(ofProvisionalPlan.getOrganDivision())) {
                     provisionalPlanMapper.insert(ofProvisionalPlan);
                     successNum++;
                     successMsg.append(successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 导入成功!");
+                }
             } catch (Exception exc) {
                 failureNum++;
                 String msg = successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 导入失败;";

+ 8 - 0
purchase-system/src/main/java/com/ozs/system/mapper/SysDeptOrganMapper.java

@@ -4,6 +4,7 @@ package com.ozs.system.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.system.domain.SysDeptOrgan;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -15,4 +16,11 @@ import java.util.List;
 @Mapper
 public interface SysDeptOrganMapper extends BaseMapper<SysDeptOrgan> {
 
+    /**
+     * 校验机关指导处名称是否唯一
+     *
+     * @param organName 机关指导处名称
+     * @return 结果
+     */
+    public SysDeptOrgan checkDeptOrganNameOnlyOne(@Param("organName") String organName);
 }

+ 2 - 3
purchase-system/src/main/java/com/ozs/system/service/SysDeptOrganService.java

@@ -18,15 +18,14 @@ public interface SysDeptOrganService {
      *
      * @return
      */
-    List<SysDeptOrgan> selectList();
+    List<SysDeptOrgan> selectList(SysDeptOrgan deptOrgan);
 
     AjaxResult selectListMap();
 
     /**
-     * @param deptOrgan
      * @return
      */
-    AjaxResult insertDeptOrgan(SysDeptOrgan deptOrgan);
+    AjaxResult insertDeptOrgan(List<SysDeptOrgan> deptOrganList, Long userId);
 
     /**
      * 删除机关指导处

+ 35 - 20
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptOrganServiceImpl.java

@@ -8,13 +8,15 @@ import com.ozs.system.domain.SysDeptOrgan;
 import com.ozs.system.mapper.SysDeptMapper;
 import com.ozs.system.mapper.SysDeptOrganMapper;
 import com.ozs.system.service.SysDeptOrganService;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -32,50 +34,63 @@ public class SysDeptOrganServiceImpl implements SysDeptOrganService {
 
 
     @Override
-    public List<SysDeptOrgan> selectList() {
-        Long deptId = SecurityUtils.getDeptId();
-        SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
-        List<Long> list = new ArrayList<>();
-        list.add(deptId);
-        //本级和上级
-        if (!ObjectUtils.isEmpty(sysDept) && !ObjectUtils.isEmpty(sysDept.getParentId())) {
-            list.add(sysDept.getParentId());
-        }
+    public List<SysDeptOrgan> selectList(SysDeptOrgan deptOrgan) {
         LambdaQueryWrapper<SysDeptOrgan> wrapper = new LambdaQueryWrapper<>();
-        wrapper.in(SysDeptOrgan::getDeptId, list);
+        wrapper.eq(SysDeptOrgan::getDeptId, deptOrgan.getDeptId());
         List<SysDeptOrgan> organs = deptOrganMapper.selectList(wrapper);
         return organs;
     }
 
     @Override
     public AjaxResult selectListMap() {
-        HashMap<String, List<SysDeptOrgan>> hashMap = new HashMap<>();
+        HashMap<String, List<SysDeptOrgan>> hashMap = new LinkedHashMap<>();
         Long deptId = SecurityUtils.getDeptId();
         SysDept sysDept = sysDeptMapper.selectDeptById(deptId);
         //本部门
         LambdaQueryWrapper<SysDeptOrgan> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(SysDeptOrgan::getDeptId, deptId);
         List<SysDeptOrgan> organs = deptOrganMapper.selectList(wrapper);
-        hashMap.put(sysDept.getDeptName(), organs);
         //上级
         LambdaQueryWrapper<SysDeptOrgan> wrapperT = new LambdaQueryWrapper<>();
         List<SysDeptOrgan> organsT;
         if (sysDept.getParentId() != 0) {
             wrapperT.eq(SysDeptOrgan::getDeptId, sysDept.getParentId());
             organsT = deptOrganMapper.selectList(wrapperT);
-            SysDept sysDeptTwo = sysDeptMapper.selectDeptById(deptId);
+            SysDept sysDeptTwo = sysDeptMapper.selectDeptById(sysDept.getParentId());
             hashMap.put(sysDeptTwo.getDeptName(), organsT);
         }
+        hashMap.put(sysDept.getDeptName(), organs);
         return AjaxResult.success(hashMap);
     }
 
     @Override
-    public AjaxResult insertDeptOrgan(SysDeptOrgan deptOrgan) {
-        if (deptOrganMapper.insert(deptOrgan) == 1) {
-            return AjaxResult.success();
-        } else {
-            return AjaxResult.error("网络出小差,请稍后重试");
+    public AjaxResult insertDeptOrgan(List<SysDeptOrgan> deptOrganList, Long userId) {
+        if (!ObjectUtils.isEmpty(deptOrganList)) {
+            LambdaQueryWrapper<SysDeptOrgan> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(SysDeptOrgan::getDeptId, deptOrganList.get(0).getDeptId());
+            List<SysDeptOrgan> organs = deptOrganMapper.selectList(wrapper);
+            List<Long> idList = organs.stream().map(SysDeptOrgan::getId).collect(Collectors.toList());
+            List<Long> didList = deptOrganList.stream().map(SysDeptOrgan::getId).collect(Collectors.toList());
+            for (Long aLong : idList) {
+                if (!didList.contains(aLong)) {
+                    deptOrganMapper.deleteById(aLong);
+                }
+            }
+            if (!ObjectUtils.isEmpty(deptOrganList)) {
+                for (SysDeptOrgan organ : deptOrganList) {
+                    LambdaQueryWrapper<SysDeptOrgan> wrapperT = new LambdaQueryWrapper<>();
+                    wrapperT.eq(SysDeptOrgan::getDeptId, deptOrganList.get(0).getDeptId());
+                    List<SysDeptOrgan> organsT = deptOrganMapper.selectList(wrapperT);
+                    List<String> organNameList = organsT.stream().map(SysDeptOrgan::getOrganName).collect(Collectors.toList());
+                    if (!organNameList.contains(organ.getOrganName())) {
+                        organ.setCreateBy(String.valueOf(userId));
+                        organ.setCreateTime(new Date());
+                        deptOrganMapper.insert(organ);
+                    }
+                }
+            }
         }
+        return AjaxResult.success();
     }
 
     @Override

+ 24 - 0
purchase-system/src/main/resources/mapper/system/SysDeptOrganMapper.xml

@@ -0,0 +1,24 @@
+<?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.ozs.system.mapper.SysDeptOrganMapper">
+
+    <resultMap type="SysDeptOrgan" id="SysDeptOrganResult">
+        <id property="id" column="id"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="organName" column="organ_name"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+    <select id="checkDeptOrganNameOnlyOne" resultType="com.ozs.system.domain.SysDeptOrgan"
+            parameterType="java.lang.String">
+        select id
+        from sys_dept_organ
+        where organ_name = #{organName}
+    </select>
+
+</mapper>