瀏覽代碼

Merge branch 'master' into prod

buzhanyi 1 年之前
父節點
當前提交
bac494a2f9

+ 77 - 0
purchase-admin/src/main/java/com/ozs/web/controller/system/SysDeptOrganController.java

@@ -0,0 +1,77 @@
+package com.ozs.web.controller.system;
+
+import com.ozs.common.annotation.Log;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.system.domain.SysDeptOrgan;
+import com.ozs.system.service.SysDeptOrganService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+import java.util.List;
+
+
+/**
+ * 部门的机关指导处 操作处理
+ *
+ * @author ruoyi
+ */
+@Api(tags = "机关指导处")
+@RestController
+@RequestMapping("/system/dept/organ")
+public class SysDeptOrganController extends BaseController {
+
+    @Autowired
+    private SysDeptOrganService sysDeptOrganService;
+
+    /**
+     * 获取机关指导处列表(本级和上级)
+     */
+    @GetMapping("/list")
+    @ApiOperation("获取机关指导处列表")
+    public AjaxResult list() {
+        List<SysDeptOrgan> deptOrganList = sysDeptOrganService.selectList();
+        return success(deptOrganList);
+    }
+
+    /**
+     * 获取机关指导处列表(下拉框)
+     */
+    @GetMapping("/map")
+    @ApiOperation("获取机关指导处列表")
+    public AjaxResult map() {
+        return sysDeptOrganService.selectListMap();
+    }
+
+    /**
+     * 新增机关指导处
+     */
+    @Log(title = "机关指导处管理", businessType = BusinessType.INSERT)
+    @PostMapping("/add")
+    @ApiOperation("新增机关指导处")
+    public AjaxResult add(@RequestBody SysDeptOrgan deptOrgan) {
+        Long userId = getUserId();
+        deptOrgan.setCreateBy(String.valueOf(userId));
+        deptOrgan.setCreateTime(new Date());
+        return sysDeptOrganService.insertDeptOrgan(deptOrgan);
+    }
+
+    /**
+     * 删除机关指导处
+     */
+    @Log(title = "机关指导处管理", businessType = BusinessType.DELETE)
+    @PostMapping("/deleteById")
+    @ApiOperation("删除机关指导处")
+    public AjaxResult deleteById(@RequestBody SysDeptOrgan deptOrgan) {
+        return sysDeptOrganService.deleteById(deptOrgan);
+    }
+
+}

+ 10 - 0
purchase-system/src/main/java/com/ozs/plan/doman/vo/requestVo/ProvisionalPlanVo.java

@@ -3,6 +3,7 @@ package com.ozs.plan.doman.vo.requestVo;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ozs.common.annotation.Excel;
 import com.ozs.common.vo.PageVo;
 import com.ozs.system.domain.SysFileInfo;
 import com.ozs.system.domain.SysFileRef;
@@ -67,6 +68,15 @@ public class ProvisionalPlanVo extends PageVo {
     @ApiModelProperty(value = "采购方式  (0:公开招标, 1:单一来源,2:邀请招标,3:竞争式谈判,4:询价)")
     private String purchaseMode;
 
+    /**
+     * 机关业务指导处(科)
+     */
+    private String organDivision;
+    /**
+     * 预算科目
+     */
+    private String budgetAccount;
+
     @JsonFormat(pattern = "yyyy-MM-dd")
     @ApiModelProperty(value = "计划提报需求时间--->需求单位成功提报采购需求的日期(具体到月)")
     private Date planDemandSubTime;

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

@@ -101,6 +101,8 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     private PmAuditDeptRefService pmAuditDeptRefService;
     @Autowired
     private PmAuditDeptRefMapper pmAuditDeptRefMapper;
+    @Autowired
+    private PlanQuarterMapper quarterMapper;
 
     @Override
     public List<PlanYearsResponseVo> selectPlanYearsListEXP(PlanYearsStandardVo vo, LoginUser loginUser) {
@@ -211,8 +213,39 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
     }
 
     @Override
-    public AjaxResult deletePlanYearsById(Long planId) {
-        planYearsMapper.deletePlanYearsById(planId);
+    public AjaxResult deletePlanYearsById(Long planYearId) {
+        //删除年度计划
+        //PlanYears byId = planYearsMapper.getById(planYearId);
+        planYearsMapper.deletePlanYearsById(planYearId);
+        //清除年度计划的审核记录
+        PmAuditDeptRef ref = new PmAuditDeptRef();
+        ref.setRefId(planYearId).setRefType("0");
+        PlanQuarterServiceImpl.refIsExist(ref, pmAuditDeptRefMapper);
+        //删除季度计划
+        LambdaQueryWrapper<PlanQuarter> quarterWrapper = new LambdaQueryWrapper<>();
+        quarterWrapper.eq(PlanQuarter::getPlanYearId, planYearId);
+        List<PlanQuarter> quarterList = quarterMapper.selectList(quarterWrapper);
+        quarterMapper.delete(quarterWrapper);
+        if (!ObjectUtils.isEmpty(quarterList)) {
+            //清除季度计划的审核记录
+            for (PlanQuarter quarter : quarterList) {
+                PmAuditDeptRef refT = new PmAuditDeptRef();
+                refT.setRefId(quarter.getPlanPracticalId()).setRefType("1");
+                PlanQuarterServiceImpl.refIsExist(refT, pmAuditDeptRefMapper);
+                //删除项目数据
+                LambdaQueryWrapper<PmDemand> demandWrapper = new LambdaQueryWrapper<>();
+                demandWrapper.eq(PmDemand::getPlanId, quarter.getPlanPracticalId());
+                List<PmDemand> demandList = demandService.list(demandWrapper);
+                demandService.remove(demandWrapper);
+                //清除项目数据的审核记录
+                for (PmDemand demand : demandList) {
+                    PmAuditDeptRef refTh = new PmAuditDeptRef();
+                    refTh.setRefId(demand.getDemandId()).setRefType("2");
+                    PlanQuarterServiceImpl.refIsExist(refTh, pmAuditDeptRefMapper);
+                }
+            }
+        }
+
         return AjaxResult.success();
     }
 
@@ -335,87 +368,80 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         //deptService
         for (PlanYears ofYear : plans) {
             try {
-                //验证项目名称是否重复导入
                 //将录入信息中的值更改为要保存的数据
-                if (planYearsMapper.countProjectName(ofYear.getProjectName()) == 0) {
-                    //采购单位
-                    SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
-                    if (!ObjectUtils.isEmpty(info)) {
-                        ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
-                    } else {
-                        ++failureNum;
-                        failureMsg.append(failureNum + "、采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
-                    }
-                    //机关业务指导处是多选字段
-                    StringBuilder zBuilder = new StringBuilder();
-                    if (ofYear.getOrganDivision().contains(",")) {
-                        String[] split = ofYear.getOrganDivision().split(",");
-                        for (String s : split) {
-                            SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
-                            //不是最后一位就加‘,’,是就直接结尾
-                            if (!ofYear.getOrganDivision().endsWith(s)) {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId() + ",");
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
-                                }
+                //采购单位
+                SysDept info = deptMapper.checkDeptNameOnlyOne(ofYear.getPurchaseDeptName());
+                if (!ObjectUtils.isEmpty(info)) {
+                    ofYear.setPurchaseDeptId(String.valueOf(info.getDeptId()));
+                } else {
+                    ++failureNum;
+                    failureMsg.append(failureNum + "、采购单位“" + ofYear.getPurchaseDeptName() + "”不存在");
+                }
+                //机关业务指导处是多选字段
+                StringBuilder zBuilder = new StringBuilder();
+                if (ofYear.getOrganDivision().contains(",")) {
+                    String[] split = ofYear.getOrganDivision().split(",");
+                    for (String s : split) {
+                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(s);
+                        //不是最后一位就加‘,’,是就直接结尾
+                        if (!ofYear.getOrganDivision().endsWith(s)) {
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getDeptId() + ",");
                             } else {
-                                if (!ObjectUtils.isEmpty(infoTow)) {
-                                    zBuilder.append(infoTow.getDeptId());
-                                } else {
-                                    ++failureNum;
-                                    failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
-                                }
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
                             }
-                        }
-                        //去掉末尾的标点符号
-                        String zs = zBuilder.toString();
-                        if (zs.endsWith(",")) {
-                            zBuilder.replace(0, zBuilder.length(), "");
-                            zBuilder.append(zs.substring(0, zs.length() - 1));
-                        }
-                    } else {
-                        //没有多选
-                        SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
-                        if (!ObjectUtils.isEmpty(infoTow)) {
-                            zBuilder.append(infoTow.getDeptId());
                         } else {
-                            ++failureNum;
-                            failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
-                        }
-                    }
-                    ofYear.setOrganDivision(zBuilder.toString());
-
-
-                    ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
-                    ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
-                    ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));
-                    ofYear.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
-                    //项目属性是多选字段
-                    StringBuilder builder = new StringBuilder();
-                    if (ofYear.getProjectAttr().contains(",")) {
-                        String[] split = ofYear.getProjectAttr().split(",");
-                        for (String s : split) {
-                            if (!ofYear.getProjectAttr().endsWith(s)) {
-                                builder.append(projectAttributes.get(s) + ",");
+                            if (!ObjectUtils.isEmpty(infoTow)) {
+                                zBuilder.append(infoTow.getDeptId());
                             } else {
-                                builder.append(projectAttributes.get(s));
+                                ++failureNum;
+                                failureMsg.append(failureNum + "、机关业务指导处(科)“" + s + "”不存在");
                             }
                         }
+                    }
+                    //去掉末尾的标点符号
+                    String zs = zBuilder.toString();
+                    if (zs.endsWith(",")) {
+                        zBuilder.replace(0, zBuilder.length(), "");
+                        zBuilder.append(zs.substring(0, zs.length() - 1));
+                    }
+                } else {
+                    //没有多选
+                    SysDept infoTow = deptMapper.checkDeptNameOnlyOne(ofYear.getOrganDivision());
+                    if (!ObjectUtils.isEmpty(infoTow)) {
+                        zBuilder.append(infoTow.getDeptId());
                     } else {
-                        builder.append(projectAttributes.get(ofYear.getProjectAttr()));
+                        ++failureNum;
+                        failureMsg.append(failureNum + "、机关业务指导处(科)“" + ofYear.getOrganDivision() + "”不存在");
+                    }
+                }
+                ofYear.setOrganDivision(zBuilder.toString());
+
+                ofYear.setProjectType(projectTypesMap.get(ofYear.getProjectType()));
+                ofYear.setPurchaseServices(purchaseServicesMap.get(ofYear.getPurchaseServices()));
+                ofYear.setBudgetAccount(budgetAccountMap.get(ofYear.getBudgetAccount()));
+                ofYear.setProjectStatus(ProjectStatus.PLANWAITCOMMIT.getCode());
+                //项目属性是多选字段
+                StringBuilder builder = new StringBuilder();
+                if (ofYear.getProjectAttr().contains(",")) {
+                    String[] split = ofYear.getProjectAttr().split(",");
+                    for (String s : split) {
+                        if (!ofYear.getProjectAttr().endsWith(s)) {
+                            builder.append(projectAttributes.get(s) + ",");
+                        } else {
+                            builder.append(projectAttributes.get(s));
+                        }
                     }
-                    ofYear.setProjectAttr(builder.toString());
-                    ofYear.setCreated(String.valueOf(loginUser.getUserId()));
-                    ofYear.setCreateTime(new Date());
-                    planYearsMapper.insertPlanYears(ofYear);
-                    successNum++;
-                    successMsg.append(successNum + "、项目【" + ofYear.getProjectName() + "】导入成功!");
                 } else {
-                    failureNum++;
-                    failureMsg.append(failureNum + "、项目【" + ofYear.getProjectName() + "】已存在!");
+                    builder.append(projectAttributes.get(ofYear.getProjectAttr()));
                 }
+                ofYear.setProjectAttr(builder.toString());
+                ofYear.setCreated(String.valueOf(loginUser.getUserId()));
+                ofYear.setCreateTime(new Date());
+                planYearsMapper.insertPlanYears(ofYear);
+                successNum++;
+                successMsg.append(successNum + "、项目【" + ofYear.getProjectName() + "】导入成功!");
             } catch (Exception exc) {
                 failureNum++;
                 String msg = successNum + "、项目【" + ofYear.getProjectName() + "】导入失败";
@@ -441,7 +467,7 @@ public class PlanYearsServiceImpl extends ServiceImpl<PlanYearsMapper, PlanYears
         }
         //申请修改之后再次提交,先清除上一次提交后的审核记录
         PmAuditDeptRef ref = new PmAuditDeptRef();
-        ref.setRefId(byId.getPlanYearId()).setRefType("0").setProjectType(byId.getProjectType()).setEvaluation(byId.getEvaluation());
+        ref.setRefId(byId.getPlanYearId()).setRefType("0");
         PlanQuarterServiceImpl.refIsExist(ref, pmAuditDeptRefMapper);
         PlanQuarterServiceImpl.insertAuditDeptRef(userService, pmAuditDeptRefService, ref);
 

+ 0 - 7
purchase-system/src/main/java/com/ozs/plan/service/impl/ProvisionalPlanServiceImpl.java

@@ -132,10 +132,7 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
 
         for (ProvisionalPlan ofProvisionalPlan : provisionalPlans) {
             try {
-                //验证项目名称是否重复导入
-                List<ProvisionalPlan> plan = provisionalPlanMapper.selectProjectName(ofProvisionalPlan.getProjectName());
                 //将录入信息中的值更改为要保存的数据
-                if (plan.size() == 0) {
                     //采购单位
                     SysDept info = deptMapper.checkDeptNameOnlyOne(ofProvisionalPlan.getPurchaseDeptName());
                     if (StringUtils.isNotNull(info)) {
@@ -207,10 +204,6 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
                     provisionalPlanMapper.insert(ofProvisionalPlan);
                     successNum++;
                     successMsg.append(successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 导入成功!");
-                } else {
-                    failureNum++;
-                    failureMsg.append(successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 已存在;");
-                }
             } catch (Exception exc) {
                 failureNum++;
                 String msg = successNum + "、项目 " + ofProvisionalPlan.getProjectName() + " 导入失败;";

+ 48 - 0
purchase-system/src/main/java/com/ozs/system/domain/SysDeptOrgan.java

@@ -0,0 +1,48 @@
+package com.ozs.system.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.ozs.common.annotation.DataScope;
+import com.ozs.common.core.domain.BaseEntity;
+import lombok.Data;
+import nonapi.io.github.classgraph.json.Id;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import javax.validation.constraints.Size;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 部门下机关指导处表 sys_dept_organ
+ *
+ * @author ruoyi
+ */
+@Data
+@TableName(value = "sys_dept_organ")
+public class SysDeptOrgan extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /** 部门ID */
+    /**
+     * 主键编号
+     */
+    @Id
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 关联部门ID
+     */
+    @TableField("dept_id")
+    private Long deptId;
+
+    /**
+     * 机关指导处名称
+     */
+    @TableField("organ_name")
+    private String organName;
+
+}

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

@@ -0,0 +1,18 @@
+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 java.util.List;
+
+/**
+ * 部门的机关指导处
+ *
+ * @author bu
+ */
+@Mapper
+public interface SysDeptOrganMapper extends BaseMapper<SysDeptOrgan> {
+
+}

+ 38 - 0
purchase-system/src/main/java/com/ozs/system/service/SysDeptOrganService.java

@@ -0,0 +1,38 @@
+package com.ozs.system.service;
+
+
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.system.domain.SysDeptOrgan;
+
+import java.util.List;
+
+/**
+ * 部门的机关指导处 服务层
+ *
+ * @author buzy
+ */
+public interface SysDeptOrganService {
+
+    /**
+     * 获取机关指导处列表
+     *
+     * @return
+     */
+    List<SysDeptOrgan> selectList();
+
+    AjaxResult selectListMap();
+
+    /**
+     * @param deptOrgan
+     * @return
+     */
+    AjaxResult insertDeptOrgan(SysDeptOrgan deptOrgan);
+
+    /**
+     * 删除机关指导处
+     *
+     * @param deptOrgan
+     * @return
+     */
+    AjaxResult deleteById(SysDeptOrgan deptOrgan);
+}

+ 90 - 0
purchase-system/src/main/java/com/ozs/system/service/impl/SysDeptOrganServiceImpl.java

@@ -0,0 +1,90 @@
+package com.ozs.system.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.utils.SecurityUtils;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+
+/**
+ * 参数配部门的机关指导处 服务层实现
+ *
+ * @author buzy
+ */
+@Service
+public class SysDeptOrganServiceImpl implements SysDeptOrganService {
+
+    @Autowired
+    private SysDeptOrganMapper deptOrganMapper;
+    @Autowired
+    private SysDeptMapper sysDeptMapper;
+
+
+    @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());
+        }
+        LambdaQueryWrapper<SysDeptOrgan> wrapper = new LambdaQueryWrapper<>();
+        wrapper.in(SysDeptOrgan::getDeptId, list);
+        List<SysDeptOrgan> organs = deptOrganMapper.selectList(wrapper);
+        return organs;
+    }
+
+    @Override
+    public AjaxResult selectListMap() {
+        HashMap<String, List<SysDeptOrgan>> hashMap = new HashMap<>();
+        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);
+            hashMap.put(sysDeptTwo.getDeptName(), organsT);
+        }
+        return AjaxResult.success(hashMap);
+    }
+
+    @Override
+    public AjaxResult insertDeptOrgan(SysDeptOrgan deptOrgan) {
+        if (deptOrganMapper.insert(deptOrgan) == 1) {
+            return AjaxResult.success();
+        } else {
+            return AjaxResult.error("网络出小差,请稍后重试");
+        }
+    }
+
+    @Override
+    public AjaxResult deleteById(SysDeptOrgan deptOrgan) {
+        if (deptOrganMapper.deleteById(deptOrgan.getId()) == 1) {
+            return AjaxResult.success();
+        } else {
+            return AjaxResult.error("网络出小差,请稍后重试");
+        }
+    }
+
+}

+ 6 - 0
purchase-system/src/main/resources/mapper/plan/ProvisionalPlanMapper.xml

@@ -64,6 +64,12 @@
             <if test="purchaseMode != null and purchaseMode != '' ">
                 purchase_mode = #{purchaseMode},
             </if>
+            <if test="organDivision != null and organDivision != '' ">
+                organ_division = #{organDivision},
+            </if>
+            <if test="budgetAccount != null and budgetAccount != '' ">
+                budget_account = #{budgetAccount},
+            </if>
             <if test="planDemandSubTime != null">
                 plan_demand_sub_time = #{planDemandSubTime},
             </if>