sunhh 2 лет назад
Родитель
Сommit
ca8eb5fdd1

+ 34 - 0
purchase-admin/src/main/java/com/ozs/web/controller/plan/ProvisionalPlanController.java

@@ -16,6 +16,7 @@ import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.framework.web.service.TokenService;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.ProvisionalPlan;
 import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
 import com.ozs.plan.doman.vo.requestVo.PlanYearsStandardVo;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.service.ProvisionalPlanService;
 import com.ozs.plan.service.ProvisionalPlanService;
@@ -117,6 +118,18 @@ public class ProvisionalPlanController extends BaseController {
         return success(page);
         return success(page);
     }
     }
 
 
+    @ApiOperation(value = "查询临时计划-审核单位")
+    @PostMapping("/selectProvisionalPlanAudit")
+    public AjaxResult selectProvisionalPlanAudit(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
+        if (StringUtils.isNull(provisionalPlanVo)
+                || StringUtils.isNull(provisionalPlanVo.getPageNum())
+                || StringUtils.isNull(provisionalPlanVo.getPageSize())) {
+            throw new ServiceException("查询条件及分页不能为空!");
+        }
+        PageInfo<ProvisionalPlan> page = provisionalPlanService.selectProvisionalPlanAudit(provisionalPlanVo);
+        return success(page);
+    }
+
     @ApiOperation(value = "查询临时计划详情")
     @ApiOperation(value = "查询临时计划详情")
     @PostMapping("/selectById")
     @PostMapping("/selectById")
     public AjaxResult selectById(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
     public AjaxResult selectById(@RequestBody ProvisionalPlanVo provisionalPlanVo) {
@@ -162,4 +175,25 @@ public class ProvisionalPlanController extends BaseController {
         return toAjax(provisionalPlanService.commitProvisionalPlan(provisionalPlanVo));
         return toAjax(provisionalPlanService.commitProvisionalPlan(provisionalPlanVo));
     }
     }
 
 
+    @ApiOperation(value = "审核通过")
+    @PostMapping("/auditPass")
+    public AjaxResult auditPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
+        if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
+            return error("审核数据ID不能为空!");
+        }
+        LoginUser loginUser = tokenService.getLoginUser(request);
+        provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId()));
+        return provisionalPlanService.auditPass(provisionalPlanVo);
+    }
+
+    @ApiOperation(value = "审核不通过")
+    @PostMapping("/auditNoPass")
+    public AjaxResult auditNoPass(@RequestBody ProvisionalPlanVo provisionalPlanVo, HttpServletRequest request) {
+        if (StringUtils.isNull(provisionalPlanVo) || StringUtils.isNull(provisionalPlanVo.getPlanPracticalId())) {
+            return error("审核数据ID不能为空!");
+        }
+        LoginUser loginUser = tokenService.getLoginUser(request);
+        provisionalPlanVo.setUpdated(String.valueOf(loginUser.getUserId()));
+        return provisionalPlanService.auditNoPass(provisionalPlanVo);
+    }
 }
 }

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

@@ -3,18 +3,24 @@ package com.ozs.plan.doman.vo.requestVo;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.vo.PageVo;
 import com.ozs.common.vo.PageVo;
+import com.ozs.system.domain.SysFileRef;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
 
 
 @Data
 @Data
 public class ProvisionalPlanVo extends PageVo {
 public class ProvisionalPlanVo extends PageVo {
 
 
     private Date startTime;
     private Date startTime;
     private Date endTime;
     private Date endTime;
+    /**
+     * 上传附件
+     */
+    private List<SysFileRef> sysFileRefs;
 
 
     @ApiModelProperty(value = "主键ID")
     @ApiModelProperty(value = "主键ID")
     private Integer planPracticalId;
     private Integer planPracticalId;

+ 4 - 0
purchase-system/src/main/java/com/ozs/plan/mapper/ProvisionalPlanMapper.java

@@ -22,4 +22,8 @@ public interface ProvisionalPlanMapper extends BaseMapper<ProvisionalPlan> {
     ProvisionalPlan seletById(Integer planPracticalId);
     ProvisionalPlan seletById(Integer planPracticalId);
 
 
     List<ProvisionalPlan> selectProvisionalPlan(ProvisionalPlanVo provisionalPlanVo);
     List<ProvisionalPlan> selectProvisionalPlan(ProvisionalPlanVo provisionalPlanVo);
+
+    List<ProvisionalPlan> selectProvisionalPlanAudit(ProvisionalPlanVo provisionalPlanVo);
+
+    int review(ProvisionalPlan provisionalPlan);
 }
 }

+ 6 - 0
purchase-system/src/main/java/com/ozs/plan/service/ProvisionalPlanService.java

@@ -25,4 +25,10 @@ public interface ProvisionalPlanService extends IService<ProvisionalPlan> {
     ProvisionalPlan seletById(Integer planPracticalId);
     ProvisionalPlan seletById(Integer planPracticalId);
 
 
     PageInfo<ProvisionalPlan> selectProvisionalPlan(ProvisionalPlanVo provisionalPlanVo);
     PageInfo<ProvisionalPlan> selectProvisionalPlan(ProvisionalPlanVo provisionalPlanVo);
+
+    PageInfo<ProvisionalPlan> selectProvisionalPlanAudit(ProvisionalPlanVo provisionalPlanVo);
+
+    AjaxResult auditPass(ProvisionalPlanVo provisionalPlanVo);
+
+    AjaxResult auditNoPass(ProvisionalPlanVo provisionalPlanVo);
 }
 }

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

@@ -6,21 +6,28 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
+import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.enums.ProjectStatus;
 import com.ozs.common.enums.ProjectStatus;
 import com.ozs.common.enums.ProjectTypes;
 import com.ozs.common.enums.ProjectTypes;
+import com.ozs.common.enums.SysFileRefEnum;
 import com.ozs.common.exception.ServiceException;
 import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.plan.doman.PlanQuarter;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.PlanYears;
 import com.ozs.plan.doman.ProvisionalPlan;
 import com.ozs.plan.doman.ProvisionalPlan;
+import com.ozs.plan.doman.vo.requestVo.PlanQuarterStandardVo;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo;
 import com.ozs.plan.mapper.PlanYearsMapper;
 import com.ozs.plan.mapper.PlanYearsMapper;
 import com.ozs.plan.mapper.ProvisionalPlanMapper;
 import com.ozs.plan.mapper.ProvisionalPlanMapper;
 import com.ozs.plan.service.ProvisionalPlanService;
 import com.ozs.plan.service.ProvisionalPlanService;
+import com.ozs.system.domain.SysFileRef;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.domain.vo.responseVo.SysDeptResponseVo;
 import com.ozs.system.mapper.SysDeptMapper;
 import com.ozs.system.mapper.SysDeptMapper;
+import com.ozs.system.mapper.SysFileRefMapper;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.system.service.ISysDictTypeService;
 import com.ozs.system.service.ISysDictTypeService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +48,10 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
     private SysDeptMapper deptMapper;
     private SysDeptMapper deptMapper;
     @Autowired
     @Autowired
     private ISysDeptService deptService;
     private ISysDeptService deptService;
+    @Autowired
+    private PlanYearsMapper planYearsMapper;
+    @Autowired
+    private SysFileRefMapper sysFileRefMapper;
 
 
     @Override
     @Override
     public int deleteProvisionalPlanById(Integer planYearId) {
     public int deleteProvisionalPlanById(Integer planYearId) {
@@ -178,6 +189,57 @@ public class ProvisionalPlanServiceImpl extends ServiceImpl<ProvisionalPlanMappe
         return pageInfo;
         return pageInfo;
     }
     }
 
 
+    @Override
+    public PageInfo<ProvisionalPlan> selectProvisionalPlanAudit(ProvisionalPlanVo provisionalPlanVo) {
+        List<ProvisionalPlan> provisionalPlanList = provisionalPlanMapper.selectProvisionalPlanAudit(provisionalPlanVo);
+        provisionalPlanList = changeTo(provisionalPlanList);
+        PageHelper.startPage(provisionalPlanVo.getPageNum().intValue(), provisionalPlanVo.getPageSize().intValue());
+        PageInfo<ProvisionalPlan> pageInfo = new PageInfo<>(provisionalPlanList);
+        return pageInfo;
+    }
+
+    @Override
+    public AjaxResult auditPass(ProvisionalPlanVo provisionalPlanVo) {
+        ProvisionalPlan byId = provisionalPlanMapper.seletById(provisionalPlanVo.getPlanPracticalId());
+        if (ObjectUtils.isEmpty(byId.getPlanYearId())) {
+            PlanYears ofYears = new PlanYears();
+            BeanUtils.copyProperties(provisionalPlanVo, ofYears);
+            planYearsMapper.insertPlanYears(ofYears);
+            Long planYearId = ofYears.getPlanYearId();
+            byId.setPlanYearId(ofYears.getPlanYearId().intValue());
+        }
+        byId.setProjectStatus(ProjectStatus.PLANTOEXAMINE.getCode());
+        return review(provisionalPlanVo, byId);
+    }
+
+    @Override
+    public AjaxResult auditNoPass(ProvisionalPlanVo provisionalPlanVo) {
+        ProvisionalPlan provisionalPlan = new ProvisionalPlan();
+        BeanUtils.copyProperties(provisionalPlanVo, provisionalPlan);
+        provisionalPlan.setProjectStatus(ProjectStatus.PLANTOBACK.getCode());
+        return review(provisionalPlanVo, provisionalPlan);
+    }
+
+    private AjaxResult review(ProvisionalPlanVo vo, ProvisionalPlan provisionalPlan) {
+        List<SysFileRef> sysFileRefs = vo.getSysFileRefs();
+        if (!ObjectUtils.isEmpty(sysFileRefs)) {
+            for (SysFileRef ref : sysFileRefs) {
+                ref.setRedId(vo.getPlanPracticalId().longValue());
+                ref.setType(SysFileRefEnum.PLAN_TEMPORARY.getType());
+                ref.setCreated(vo.getUpdated());
+                ref.setCreateTime(new Date());
+                ref.setUpdated(vo.getUpdated());
+                ref.setUpdateTime(new Date());
+                sysFileRefMapper.insert(ref);
+            }
+        }
+        int review = provisionalPlanMapper.review(provisionalPlan);
+        if (review != 1) {
+            return AjaxResult.error("项目状态数据异常");
+        }
+        return AjaxResult.success();
+    }
+
     //判断是否为超额计划
     //判断是否为超额计划
     public String isExcessOrNo(String projectType, BigDecimal evaluation) {
     public String isExcessOrNo(String projectType, BigDecimal evaluation) {
         BigDecimal threshold = new BigDecimal(0);
         BigDecimal threshold = new BigDecimal(0);

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

@@ -136,6 +136,39 @@
             <if test="purchaseServices != null and purchaseServices != ''">
             <if test="purchaseServices != null and purchaseServices != ''">
                 and purchase_services = #{purchaseServices}
                 and purchase_services = #{purchaseServices}
             </if>
             </if>
+            <if test="isExcess != null and isExcess != ''">
+                and is_excess = #{isExcess}
+            </if>
+            <if test="projectStatus != null and projectStatus != ''">
+                and project_status = #{projectStatus}
+            </if>
+            <if test="startTime != null  "><!-- 开始时间检索 -->
+                and date_format(plan_demand_sub_time,'%y%m%d') &gt;= date_format(#{startTime},'%y%m%d')
+            </if>
+            <if test="endTime != null  "><!-- 结束时间检索 -->
+                and date_format(plan_demand_sub_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
+            </if>
+            and plan_type = 1
+        </where>
+        order by create_time desc
+    </select>
+
+    <select id="selectProvisionalPlanAudit" resultType="com.ozs.plan.doman.ProvisionalPlan"
+            parameterType="com.ozs.plan.doman.vo.requestVo.ProvisionalPlanVo">
+        select * from plan_practical
+        <where>
+            <if test="projectName != null and projectName != ''">
+                and project_name like concat('%', #{projectName}, '%')
+            </if>
+            <if test="purchaseServices != null and purchaseServices != ''">
+                and purchase_services = #{purchaseServices}
+            </if>
+            <if test="isExcess != null and isExcess != ''">
+                and is_excess = #{isExcess}
+            </if>
+            <if test="projectStatus == null or projectStatus ==''">
+                and project_status in (1,3)
+            </if>
             <if test="projectStatus != null and projectStatus != ''">
             <if test="projectStatus != null and projectStatus != ''">
                 and project_status = #{projectStatus}
                 and project_status = #{projectStatus}
             </if>
             </if>
@@ -149,4 +182,18 @@
         </where>
         </where>
         order by create_time desc
         order by create_time desc
     </select>
     </select>
+
+    <!--	计划审核-->
+    <update id="review" parameterType="com.ozs.plan.doman.ProvisionalPlan">
+        update plan_practical
+        <set>
+            <if test="refuseReason != null and refuseReason != ''">
+                refuse_reason=#{refuseReason},
+            </if>
+            <if test="projectStatus != null and projectStatus != ''">
+                project_status=#{projectStatus}
+            </if>
+        </set>
+        where plan_practical_id = #{planPracticalId}
+    </update>
 </mapper>
 </mapper>