소스 검색

新增协单意见与协单列表

anderx 1 년 전
부모
커밋
30b0d388f5

+ 87 - 0
src/main/java/com/goafanti/common/dao/PublicAssistAdviceMapper.java

@@ -0,0 +1,87 @@
+package com.goafanti.common.dao;
+
+import com.goafanti.common.model.PublicAssistAdvice;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.data.domain.Pageable;
+
+import java.util.List;
+
+/**
+ * 公出协单意见表(PublicAssistAdvice)表数据库访问层
+ *
+ * @author makejava
+ * @since 2024-07-12 09:21:26
+ */
+public interface PublicAssistAdviceMapper {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    PublicAssistAdvice queryById(Integer id);
+
+    
+
+    /**
+     * 查询指定行数据
+     *
+     * @param publicAssistAdvice 查询条件
+     * @param pageable         分页对象
+     * @return 对象列表
+     */
+    List<PublicAssistAdvice> findPublicAssistAdviceList(PublicAssistAdvice publicAssistAdvice, @Param("pageable") Pageable pageable);
+
+    /**
+     * 统计总行数
+     *
+     * @param publicAssistAdvice 查询条件
+     * @return 总行数
+     */
+    int findPublicAssistAdviceCount(PublicAssistAdvice publicAssistAdvice);
+
+    /**
+     * 新增数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 影响行数
+     */
+    int insert(PublicAssistAdvice publicAssistAdvice);
+
+    /**
+     * 批量新增数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<PublicAssistAdvice> 实例对象列表
+     * @return 影响行数
+     */
+    int insertBatch(@Param("entities") List<PublicAssistAdvice> entities);
+
+    /**
+     * 批量新增或按主键更新数据(MyBatis原生foreach方法)
+     *
+     * @param entities List<PublicAssistAdvice> 实例对象列表
+     * @return 影响行数
+     * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
+     */
+    int insertOrUpdateBatch(@Param("entities") List<PublicAssistAdvice> entities);
+
+    /**
+     * 修改数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 影响行数
+     */
+    int update(PublicAssistAdvice publicAssistAdvice);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 影响行数
+     */
+    int deleteById(Integer id);
+
+    List<PublicAssistAdvice> selectList(@Param("id") Integer id, @Param("type") Integer type);
+}
+

+ 150 - 0
src/main/java/com/goafanti/common/mapper/PublicAssistAdviceMapper.xml

@@ -0,0 +1,150 @@
+<?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.goafanti.common.dao.PublicAssistAdviceMapper">
+
+    <resultMap type="com.goafanti.common.model.PublicAssistAdvice" id="PublicAssistAdviceMap">
+        <result property="id" column="id" jdbcType="INTEGER"/>
+        <result property="prid" column="prid" jdbcType="INTEGER"/>
+        <result property="aid" column="aid" jdbcType="VARCHAR"/>
+        <result property="aname" column="aname" jdbcType="VARCHAR"/>
+        <result property="remarks" column="remarks" jdbcType="VARCHAR"/>
+        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <!--查询单个-->
+    <select id="queryById" resultMap="PublicAssistAdviceMap">
+        select
+id, prid, aid, aname, remarks, create_time
+        from public_assist_advice
+        where id = #{id}
+    </select>
+
+    <!--查询指定行数据-->
+    <select id="findPublicAssistAdviceList" resultMap="PublicAssistAdviceMap">
+        select
+id, prid, aid, aname, remarks, create_time
+        from public_assist_advice
+        <where>
+            <if test="id != null">
+                and id = #{id}
+            </if>
+            <if test="prid != null">
+                and prid = #{prid}
+            </if>
+            <if test="aid != null and aid != ''">
+                and aid = #{aid}
+            </if>
+            <if test="aname != null and aname != ''">
+                and aname = #{aname}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                and remarks = #{remarks}
+            </if>
+            <if test="createTime != null">
+                and create_time = #{createTime}
+            </if>
+        </where>
+        limit #{pageable.offset}, #{pageable.pageSize}
+    </select>
+
+    <!--统计总行数-->
+    <select id="findPublicAssistAdviceCount" resultType="java.lang.Integer">
+        select count(1)
+        from public_assist_advice
+        <where>
+            <if test="id != null">
+                and id = #{id}
+            </if>
+            <if test="prid != null">
+                and prid = #{prid}
+            </if>
+            <if test="aid != null and aid != ''">
+                and aid = #{aid}
+            </if>
+            <if test="aname != null and aname != ''">
+                and aname = #{aname}
+            </if>
+            <if test="remarks != null and remarks != ''">
+                and remarks = #{remarks}
+            </if>
+            <if test="createTime != null">
+                and create_time = #{createTime}
+            </if>
+        </where>
+    </select>
+
+
+    <!--新增所有列-->
+    <insert id="insert" keyProperty="id" useGeneratedKeys="true">
+        insert into public_assist_advice(prid, aid, aname, remarks)
+        values (#{prid}, #{aid}, #{aname}, #{remarks})
+    </insert>
+
+    <insert id="insertBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into public_assist_advice(prid, aid, aname, remarks, create_time)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+        (#{entity.prid}, #{entity.aid}, #{entity.aname}, #{entity.remarks}, #{entity.createTime})
+        </foreach>
+    </insert>
+
+    <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
+        insert into public_assist_advice(prid, aid, aname, remarks, create_time)
+        values
+        <foreach collection="entities" item="entity" separator=",">
+            (#{entity.prid}, #{entity.aid}, #{entity.aname}, #{entity.remarks}, #{entity.createTime})
+        </foreach>
+        on duplicate key update
+prid = values(prid),
+aid = values(aid),
+aname = values(aname),
+remarks = values(remarks),
+create_time = values(create_time)
+    </insert>
+
+    <!--通过主键修改数据-->
+    <update id="update">
+        update public_assist_advice
+        <set>
+            <if test="prid != null">
+                prid = #{prid},
+            </if>
+            <if test="aid != null and aid != ''">
+                aid = #{aid},
+            </if>
+            <if test="aname != null and aname != ''">
+                aname = #{aname},
+            </if>
+            <if test="remarks != null and remarks != ''">
+                remarks = #{remarks},
+            </if>
+            <if test="createTime != null">
+                create_time = #{createTime},
+            </if>
+        </set>
+        where id = #{id}
+    </update>
+
+    <!--通过主键删除-->
+    <delete id="deleteById">
+        delete from public_assist_advice where id = #{id}
+    </delete>
+
+
+    <select id="selectList" resultType="com.goafanti.common.model.PublicAssistAdvice">
+        select
+        a.id, a.prid, a.aid, a.aname, a.remarks, a.create_time
+        from  public_assist_advice a
+        <if test="type ==0">
+       left join public_release b on a.prid=b.id
+        where b.type=3 and b.id = #{id}
+        </if>
+        <if test="type ==1">
+        left  join public_release b on a.prid=b.id
+        left join public_release c on  b.main_id=c.id
+        where b.type=3 and c.id = #{id}
+        </if>
+    </select>
+
+</mapper>
+

+ 2 - 2
src/main/java/com/goafanti/common/mapper/PublicReleaseMapper.xml

@@ -816,7 +816,7 @@
     </select>
     <select id="selectCountByAssistUnaudited" resultType="java.lang.Integer">
         SELECT count(*)
-        from public_release a left join admin_public_reviewer b on a.aid =b.aid and b.reviewer_id ='3a13370b-4deb-4296-bac8-8e7ef121e8ca'
-        where a.`type`=3 and a.assist =2 and a.status =1
+        from public_release a left join admin_public_reviewer b on a.aid =b.aid
+        where a.`type`=3 and a.assist =2 and a.status =1  and b.reviewer_id = #{aid}
     </select>
 </mapper>

+ 88 - 0
src/main/java/com/goafanti/common/model/PublicAssistAdvice.java

@@ -0,0 +1,88 @@
+package com.goafanti.common.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+/**
+ * 公出协单意见表(PublicAssistAdvice)实体类
+ *
+ * @author makejava
+ * @since 2024-07-12 09:21:26
+ */
+public class PublicAssistAdvice implements Serializable {
+    private static final long serialVersionUID = -51499592786363889L;
+
+    private Integer id;
+/**
+     * 公出编号
+     */
+    private Integer prid;
+/**
+     * 协单意见人
+     */
+    private String aid;
+/**
+     * 协单意见人名称
+     */
+    private String aname;
+/**
+     * 审核人编号
+     */
+    private String remarks;
+/**
+     * 创建时间
+     */
+    private Date createTime;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getPrid() {
+        return prid;
+    }
+
+    public void setPrid(Integer prid) {
+        this.prid = prid;
+    }
+
+    public String getAid() {
+        return aid;
+    }
+
+    public void setAid(String aid) {
+        this.aid = aid;
+    }
+
+    public String getAname() {
+        return aname;
+    }
+
+    public void setAname(String aname) {
+        this.aname = aname;
+    }
+
+    public String getRemarks() {
+        return remarks;
+    }
+
+    public void setRemarks(String remarks) {
+        this.remarks = remarks;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+}
+

+ 4 - 0
src/main/java/com/goafanti/weChat/controller/AdminReleaseApiController.java

@@ -117,6 +117,10 @@ public class AdminReleaseApiController extends CertifyApiController{
 			res.getError().add(buildError("公出审核中,不可打卡!"));
 			return res;
 		}
+		if (x==-3){
+			res.getError().add(buildError("技术协单,必须先写协单意见,才可打卡!"));
+			return res;
+		}
 		res.setData(x);
 		return res;
 	}

+ 89 - 0
src/main/java/com/goafanti/weChat/controller/PublicAssistAdviceController.java

@@ -0,0 +1,89 @@
+package com.goafanti.weChat.controller;
+
+import com.goafanti.common.bo.Result;
+import com.goafanti.common.model.PublicAssistAdvice;
+import com.goafanti.weChat.controller.service.PublicAssistAdviceService;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+ * 公出协单意见表(PublicAssistAdvice)表控制层
+ *
+ * @author makejava
+ * @since 2024-07-12 09:21:26
+ */
+@RestController
+@RequestMapping("/api/admin/publicAssistAdvice")
+public class PublicAssistAdviceController {
+    /**
+     * 服务对象
+     */
+    @Resource
+    private PublicAssistAdviceService publicAssistAdviceService;
+
+
+    /**
+     * 新增数据
+     *
+     * @param publicAssistAdvice 实体
+     * @return 新增结果
+     */
+    @PostMapping("/add")
+    public Result add(PublicAssistAdvice publicAssistAdvice) {
+        return new Result<>().data(this.publicAssistAdviceService.insert(publicAssistAdvice));
+    }
+    
+    
+    /**
+     * 通过主键查询单条数据
+     *
+     * @param id 主键
+     * @return 单条数据
+     */
+    @GetMapping("/get")
+    public Result<PublicAssistAdvice> queryById( Integer id) {
+        return new Result<>().data(this.publicAssistAdviceService.queryById(id));
+    }
+
+
+
+    /**
+     * 编辑数据
+     *
+     * @param publicAssistAdvice 实体
+     * @return 编辑结果
+     */
+    @PostMapping("/update")
+    public Result edit(PublicAssistAdvice publicAssistAdvice) {
+        return new Result<>().data(this.publicAssistAdviceService.update(publicAssistAdvice));
+    }
+
+    /**
+     * 删除数据
+     *
+     * @param id 主键
+     * @return 删除是否成功
+     */
+    @GetMapping("/delete")
+    public Result deleteById(Integer id) {
+        return new Result<>().data(this.publicAssistAdviceService.deleteById(id));
+    }
+
+
+
+    /**
+     * 公出协单意见列表
+     * @return
+     */
+    @GetMapping("/list")
+    public Result<PublicAssistAdvice> list(Integer id, Integer type) {
+        if (type==null)type=0;
+        return new Result<>().data(this.publicAssistAdviceService.list(id,type));
+    }
+
+}
+

+ 48 - 0
src/main/java/com/goafanti/weChat/controller/service/PublicAssistAdviceService.java

@@ -0,0 +1,48 @@
+package com.goafanti.weChat.controller.service;
+
+import com.goafanti.common.model.PublicAssistAdvice;
+
+/**
+ * 公出协单意见表(PublicAssistAdvice)表服务接口
+ *
+ * @author makejava
+ * @since 2024-07-12 09:21:26
+ */
+public interface PublicAssistAdviceService {
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    PublicAssistAdvice queryById(Integer id);
+
+    
+
+    /**
+     * 新增数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 实例对象
+     */
+    PublicAssistAdvice insert(PublicAssistAdvice publicAssistAdvice);
+
+    /**
+     * 修改数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 实例对象
+     */
+    PublicAssistAdvice update(PublicAssistAdvice publicAssistAdvice);
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 是否成功
+     */
+    boolean deleteById(Integer id);
+
+    Object list(Integer id, Integer type);
+}

+ 82 - 0
src/main/java/com/goafanti/weChat/controller/service/impl/PublicAssistAdviceServiceImpl.java

@@ -0,0 +1,82 @@
+package com.goafanti.weChat.controller.service.impl;
+
+import com.goafanti.common.dao.PublicAssistAdviceMapper;
+import com.goafanti.common.model.Admin;
+import com.goafanti.common.model.PublicAssistAdvice;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.shiro.token.TokenManager;
+import com.goafanti.weChat.controller.service.PublicAssistAdviceService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 公出协单意见表(PublicAssistAdvice)表服务实现类
+ *
+ * @author makejava
+ * @since 2024-07-12 09:21:26
+ */
+@Service("publicAssistAdviceService")
+public class PublicAssistAdviceServiceImpl extends BaseMybatisDao< PublicAssistAdviceMapper> implements PublicAssistAdviceService {
+    @Resource
+    private PublicAssistAdviceMapper publicAssistAdviceMapper;
+    
+    
+    
+    @Override
+    public List<PublicAssistAdvice> list(Integer id, Integer type) {
+		return publicAssistAdviceMapper.selectList(id,type);
+	}
+
+    /**
+     * 通过ID查询单条数据
+     *
+     * @param id 主键
+     * @return 实例对象
+     */
+    @Override
+    public PublicAssistAdvice queryById(Integer id) {
+        return this.publicAssistAdviceMapper.queryById(id);
+    }
+
+
+
+    /**
+     * 新增数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public PublicAssistAdvice insert(PublicAssistAdvice publicAssistAdvice) {
+        Admin adminToken = TokenManager.getAdminToken();
+        publicAssistAdvice.setAid(adminToken.getId());
+        publicAssistAdvice.setAname(adminToken.getName());
+        this.publicAssistAdviceMapper.insert(publicAssistAdvice);
+        return publicAssistAdvice;
+    }
+
+    /**
+     * 修改数据
+     *
+     * @param publicAssistAdvice 实例对象
+     * @return 实例对象
+     */
+    @Override
+    public PublicAssistAdvice update(PublicAssistAdvice publicAssistAdvice) {
+        this.publicAssistAdviceMapper.update(publicAssistAdvice);
+        return this.queryById(publicAssistAdvice.getId());
+    }
+
+    /**
+     * 通过主键删除数据
+     *
+     * @param id 主键
+     * @return 是否成功
+     */
+    @Override
+    public boolean deleteById(Integer id) {
+        return this.publicAssistAdviceMapper.deleteById(id) > 0;
+    }
+}

+ 11 - 0
src/main/java/com/goafanti/weChat/service/impl/PublicReleaseServiceImpl.java

@@ -85,6 +85,8 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 	private OrderNewService orderNewService;
 	@Autowired
 	private AdminPublicReviewerMapper adminPublicReviewerMapper;
+	@Autowired
+	private PublicAssistAdviceMapper publicAssistAdviceMapper;
 
 	@Override
 	@Transactional
@@ -248,6 +250,9 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 			//无需订单负责人审核
 		if (in.getTechStartProcess()==0){
 			//获取公出审核人
+			if (my.getReviewer()==null){
+				throw new BusinessException("请让管理员设置公出审核人。");
+			}
 			Admin a=adminMapper.selectByPrimaryKey(my.getReviewer());
 			String str="["+my.getName()+"]发起["+nickname+"]的外出申请,请及时审核。";
 			//默认上级审核
@@ -1274,6 +1279,12 @@ public class PublicReleaseServiceImpl extends BaseMybatisDao<PublicReleaseMapper
 		if (use.getStatus()!=2){
 			return -2;
 		}
+		if(use.getType()==3){
+			List<PublicAssistAdvice> publicAssistAdvices = publicAssistAdviceMapper.selectList(id, 0);
+			if(publicAssistAdvices.isEmpty()){
+				return -3;
+			}
+		}
 		List<OutPublicReleaseDetails> prdList = publicReleaseDetailsMapper.selectByPrid(id);
 		List<PublicReleaseDateClock> prdcList = publicReleaseDateClockMapper.selectByPrid(id);
 		pushDateClockDetails(prdList,prdcList);