丽知:委外采购(付款单)->采购付款申请(新)、代理采购(付款单)->采购付款申请(店群专用)调拨单内部交易(付款单)->特殊业务处理(新)。对接钉钉。
This commit is contained in:
parent
b6d160cfc6
commit
a51094efe8
|
@ -0,0 +1,15 @@
|
||||||
|
package com.hzya.frame.plugin.lets.dingtalk.dao;
|
||||||
|
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
|
||||||
|
import com.hzya.frame.basedao.dao.IBaseDao;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (ding_u8c_bill: table)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-10-28 15:45:32
|
||||||
|
*/
|
||||||
|
public interface IDingU8cBillDao extends IBaseDao<DingU8cBillEntity, String> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.hzya.frame.plugin.lets.dingtalk.dao.impl;
|
||||||
|
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao;
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
import com.hzya.frame.basedao.dao.MybatisGenericDao;
|
||||||
|
/**
|
||||||
|
* (DingU8cBill)表数据库访问层
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-10-28 15:45:32
|
||||||
|
*/
|
||||||
|
@Repository("dingU8cBillDao")
|
||||||
|
public class DingU8cBillDaoImpl extends MybatisGenericDao<DingU8cBillEntity, String> implements IDingU8cBillDao{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
package com.hzya.frame.plugin.lets.dingtalk.entity;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import com.hzya.frame.web.entity.BaseEntity;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (DingU8cBill)实体类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-10-28 15:45:32
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class DingU8cBillEntity extends BaseEntity {
|
||||||
|
|
||||||
|
/** 公司主键 */
|
||||||
|
private String u8cPkCorp;
|
||||||
|
/** 公司编码 */
|
||||||
|
private String u8cCodeCorp;
|
||||||
|
/** u8c单据类型 */
|
||||||
|
private String u8cBillType;
|
||||||
|
/** u8c单据号 */
|
||||||
|
private String u8cBillCode;
|
||||||
|
/** u8c单据主键 */
|
||||||
|
private String u8cBillId;
|
||||||
|
/** 是否推送成功 */
|
||||||
|
private String pushStatus;
|
||||||
|
/** 推送日志 */
|
||||||
|
private String pushInfo;
|
||||||
|
/** 钉钉审批实例id */
|
||||||
|
private String dingTalkProcessId;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,229 @@
|
||||||
|
<?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.hzya.frame.plugin.lets.dingtalk.dao.impl.DingU8cBillDaoImpl">
|
||||||
|
|
||||||
|
<resultMap id="get-DingU8cBillEntity-result" type="com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity" >
|
||||||
|
<result property="id" column="id" jdbcType="INTEGER"/>
|
||||||
|
<result property="u8cPkCorp" column="u8c_pk_corp" jdbcType="VARCHAR"/>
|
||||||
|
<result property="u8cCodeCorp" column="u8c_code_corp" jdbcType="VARCHAR"/>
|
||||||
|
<result property="u8cBillType" column="u8c_bill_type" jdbcType="VARCHAR"/>
|
||||||
|
<result property="u8cBillCode" column="u8c_bill_code" jdbcType="VARCHAR"/>
|
||||||
|
<result property="u8cBillId" column="u8c_bill_id" jdbcType="VARCHAR"/>
|
||||||
|
<result property="pushStatus" column="push_status" jdbcType="VARCHAR"/>
|
||||||
|
<result property="pushInfo" column="push_info" jdbcType="VARCHAR"/>
|
||||||
|
<result property="dingTalkProcessId" column="ding_talk_process_id" jdbcType="VARCHAR"/>
|
||||||
|
<result property="modify_time" column="modify_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="create_time" column="create_time" jdbcType="TIMESTAMP"/>
|
||||||
|
<result property="sts" column="sts" jdbcType="VARCHAR"/>
|
||||||
|
</resultMap>
|
||||||
|
<!-- 查询的字段-->
|
||||||
|
<sql id = "DingU8cBillEntity_Base_Column_List">
|
||||||
|
id
|
||||||
|
,u8c_pk_corp
|
||||||
|
,u8c_code_corp
|
||||||
|
,u8c_bill_type
|
||||||
|
,u8c_bill_code
|
||||||
|
,u8c_bill_id
|
||||||
|
,push_status
|
||||||
|
,push_info
|
||||||
|
,ding_talk_process_id
|
||||||
|
,modify_time
|
||||||
|
,create_time
|
||||||
|
,sts
|
||||||
|
</sql>
|
||||||
|
<!-- 查询 采用==查询 -->
|
||||||
|
<select id="entity_list_base" resultMap="get-DingU8cBillEntity-result" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity">
|
||||||
|
select
|
||||||
|
<include refid="DingU8cBillEntity_Base_Column_List" />
|
||||||
|
from ding_u8c_bill
|
||||||
|
<trim prefix="where" prefixOverrides="and">
|
||||||
|
<if test="id != null"> and id = #{id} </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> and u8c_pk_corp = #{u8cPkCorp} </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> and u8c_code_corp = #{u8cCodeCorp} </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> and u8c_bill_type = #{u8cBillType} </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> and u8c_bill_code = #{u8cBillCode} </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> and u8c_bill_id = #{u8cBillId} </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> and push_status = #{pushStatus} </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> and push_info = #{pushInfo} </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> and ding_talk_process_id = #{dingTalkProcessId} </if>
|
||||||
|
<if test="modify_time != null"> and modify_time = #{modify_time} </if>
|
||||||
|
<if test="create_time != null"> and create_time = #{create_time} </if>
|
||||||
|
<if test="sts != null and sts != ''"> and sts = #{sts} </if>
|
||||||
|
and sts='Y'
|
||||||
|
</trim>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询符合条件的数量 -->
|
||||||
|
<select id="entity_count" resultType="Integer" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity">
|
||||||
|
select count(1) from ding_u8c_bill
|
||||||
|
<trim prefix="where" prefixOverrides="and">
|
||||||
|
<if test="id != null"> and id = #{id} </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> and u8c_pk_corp = #{u8cPkCorp} </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> and u8c_code_corp = #{u8cCodeCorp} </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> and u8c_bill_type = #{u8cBillType} </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> and u8c_bill_code = #{u8cBillCode} </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> and u8c_bill_id = #{u8cBillId} </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> and push_status = #{pushStatus} </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> and push_info = #{pushInfo} </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> and ding_talk_process_id = #{dingTalkProcessId} </if>
|
||||||
|
<if test="modify_time != null"> and modify_time = #{modify_time} </if>
|
||||||
|
<if test="create_time != null"> and create_time = #{create_time} </if>
|
||||||
|
<if test="sts != null and sts != ''"> and sts = #{sts} </if>
|
||||||
|
and sts='Y'
|
||||||
|
</trim>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 分页查询列表 采用like格式 -->
|
||||||
|
<select id="entity_list_like" resultMap="get-DingU8cBillEntity-result" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity">
|
||||||
|
select
|
||||||
|
<include refid="DingU8cBillEntity_Base_Column_List" />
|
||||||
|
from ding_u8c_bill
|
||||||
|
<trim prefix="where" prefixOverrides="and">
|
||||||
|
<if test="id != null"> and id like concat('%',#{id},'%') </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> and u8c_pk_corp like concat('%',#{u8cPkCorp},'%') </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> and u8c_code_corp like concat('%',#{u8cCodeCorp},'%') </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> and u8c_bill_type like concat('%',#{u8cBillType},'%') </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> and u8c_bill_code like concat('%',#{u8cBillCode},'%') </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> and u8c_bill_id like concat('%',#{u8cBillId},'%') </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> and push_status like concat('%',#{pushStatus},'%') </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> and push_info like concat('%',#{pushInfo},'%') </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> and ding_talk_process_id like concat('%',#{dingTalkProcessId},'%') </if>
|
||||||
|
<if test="modify_time != null"> and modify_time like concat('%',#{modify_time},'%') </if>
|
||||||
|
<if test="create_time != null"> and create_time like concat('%',#{create_time},'%') </if>
|
||||||
|
<if test="sts != null and sts != ''"> and sts like concat('%',#{sts},'%') </if>
|
||||||
|
and sts='Y'
|
||||||
|
</trim>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 查询列表 字段采用or格式 -->
|
||||||
|
<select id="DingU8cBillentity_list_or" resultMap="get-DingU8cBillEntity-result" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity">
|
||||||
|
select
|
||||||
|
<include refid="DingU8cBillEntity_Base_Column_List" />
|
||||||
|
from ding_u8c_bill
|
||||||
|
<trim prefix="where" prefixOverrides="and">
|
||||||
|
<if test="id != null"> or id = #{id} </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> or u8c_pk_corp = #{u8cPkCorp} </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> or u8c_code_corp = #{u8cCodeCorp} </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> or u8c_bill_type = #{u8cBillType} </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> or u8c_bill_code = #{u8cBillCode} </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> or u8c_bill_id = #{u8cBillId} </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> or push_status = #{pushStatus} </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> or push_info = #{pushInfo} </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> or ding_talk_process_id = #{dingTalkProcessId} </if>
|
||||||
|
<if test="modify_time != null"> or modify_time = #{modify_time} </if>
|
||||||
|
<if test="create_time != null"> or create_time = #{create_time} </if>
|
||||||
|
<if test="sts != null and sts != ''"> or sts = #{sts} </if>
|
||||||
|
and sts='Y'
|
||||||
|
</trim>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!--新增所有列-->
|
||||||
|
<insert id="entity_insert" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity" keyProperty="id" useGeneratedKeys="true">
|
||||||
|
insert into ding_u8c_bill(
|
||||||
|
<trim suffix="" suffixOverrides=",">
|
||||||
|
<if test="id != null"> id , </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> u8c_pk_corp , </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> u8c_code_corp , </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> u8c_bill_type , </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> u8c_bill_code , </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> u8c_bill_id , </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> push_status , </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> push_info , </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> ding_talk_process_id , </if>
|
||||||
|
<if test="modify_time != null"> modify_time , </if>
|
||||||
|
<if test="create_time != null"> create_time , </if>
|
||||||
|
<if test="sts != null and sts != ''"> sts , </if>
|
||||||
|
<if test="sts == null ">sts,</if>
|
||||||
|
</trim>
|
||||||
|
)values(
|
||||||
|
<trim suffix="" suffixOverrides=",">
|
||||||
|
<if test="id != null"> #{id} ,</if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> #{u8cPkCorp} ,</if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> #{u8cCodeCorp} ,</if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> #{u8cBillType} ,</if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> #{u8cBillCode} ,</if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> #{u8cBillId} ,</if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> #{pushStatus} ,</if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> #{pushInfo} ,</if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> #{dingTalkProcessId} ,</if>
|
||||||
|
<if test="modify_time != null"> #{modify_time} ,</if>
|
||||||
|
<if test="create_time != null"> #{create_time} ,</if>
|
||||||
|
<if test="sts != null and sts != ''"> #{sts} ,</if>
|
||||||
|
<if test="sts == null ">'Y',</if>
|
||||||
|
</trim>
|
||||||
|
)
|
||||||
|
</insert>
|
||||||
|
<!-- 批量新增 -->
|
||||||
|
<insert id="entityInsertBatch" keyProperty="id" useGeneratedKeys="true">
|
||||||
|
insert into ding_u8c_bill(u8c_pk_corp, u8c_code_corp, u8c_bill_type, u8c_bill_code, u8c_bill_id, push_status, push_info, ding_talk_process_id, modify_time, create_time, sts, sts)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#{entity.u8cPkCorp},#{entity.u8cCodeCorp},#{entity.u8cBillType},#{entity.u8cBillCode},#{entity.u8cBillId},#{entity.pushStatus},#{entity.pushInfo},#{entity.dingTalkProcessId},#{entity.modify_time},#{entity.create_time},#{entity.sts}, 'Y')
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
<!-- 批量新增或者修改-->
|
||||||
|
<insert id="entityInsertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
|
||||||
|
insert into ding_u8c_bill(u8c_pk_corp, u8c_code_corp, u8c_bill_type, u8c_bill_code, u8c_bill_id, push_status, push_info, ding_talk_process_id, modify_time, create_time, sts)
|
||||||
|
values
|
||||||
|
<foreach collection="entities" item="entity" separator=",">
|
||||||
|
(#{entity.u8cPkCorp},#{entity.u8cCodeCorp},#{entity.u8cBillType},#{entity.u8cBillCode},#{entity.u8cBillId},#{entity.pushStatus},#{entity.pushInfo},#{entity.dingTalkProcessId},#{entity.modify_time},#{entity.create_time},#{entity.sts})
|
||||||
|
</foreach>
|
||||||
|
on duplicate key update
|
||||||
|
u8c_pk_corp = values(u8c_pk_corp),
|
||||||
|
u8c_code_corp = values(u8c_code_corp),
|
||||||
|
u8c_bill_type = values(u8c_bill_type),
|
||||||
|
u8c_bill_code = values(u8c_bill_code),
|
||||||
|
u8c_bill_id = values(u8c_bill_id),
|
||||||
|
push_status = values(push_status),
|
||||||
|
push_info = values(push_info),
|
||||||
|
ding_talk_process_id = values(ding_talk_process_id),
|
||||||
|
modify_time = values(modify_time),
|
||||||
|
create_time = values(create_time),
|
||||||
|
sts = values(sts)</insert>
|
||||||
|
<!--通过主键修改方法-->
|
||||||
|
<update id="entity_update" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity" >
|
||||||
|
update ding_u8c_bill set
|
||||||
|
<trim suffix="" suffixOverrides=",">
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> u8c_pk_corp = #{u8cPkCorp},</if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> u8c_code_corp = #{u8cCodeCorp},</if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> u8c_bill_type = #{u8cBillType},</if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> u8c_bill_code = #{u8cBillCode},</if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> u8c_bill_id = #{u8cBillId},</if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> push_status = #{pushStatus},</if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> push_info = #{pushInfo},</if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> ding_talk_process_id = #{dingTalkProcessId},</if>
|
||||||
|
<if test="modify_time != null"> modify_time = #{modify_time},</if>
|
||||||
|
<if test="create_time != null"> create_time = #{create_time},</if>
|
||||||
|
<if test="sts != null and sts != ''"> sts = #{sts},</if>
|
||||||
|
</trim>
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
<!-- 逻辑删除 -->
|
||||||
|
<update id="entity_logicDelete" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity" >
|
||||||
|
update ding_u8c_bill set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id}
|
||||||
|
where id = #{id}
|
||||||
|
</update>
|
||||||
|
<!-- 多条件逻辑删除 -->
|
||||||
|
<update id="entity_logicDelete_Multi_Condition" parameterType = "com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity" >
|
||||||
|
update ding_u8c_bill set sts= 'N' ,modify_time = #{modify_time},modify_user_id = #{modify_user_id}
|
||||||
|
<trim prefix="where" prefixOverrides="and">
|
||||||
|
<if test="id != null"> and id = #{id} </if>
|
||||||
|
<if test="u8cPkCorp != null and u8cPkCorp != ''"> and u8c_pk_corp = #{u8cPkCorp} </if>
|
||||||
|
<if test="u8cCodeCorp != null and u8cCodeCorp != ''"> and u8c_code_corp = #{u8cCodeCorp} </if>
|
||||||
|
<if test="u8cBillType != null and u8cBillType != ''"> and u8c_bill_type = #{u8cBillType} </if>
|
||||||
|
<if test="u8cBillCode != null and u8cBillCode != ''"> and u8c_bill_code = #{u8cBillCode} </if>
|
||||||
|
<if test="u8cBillId != null and u8cBillId != ''"> and u8c_bill_id = #{u8cBillId} </if>
|
||||||
|
<if test="pushStatus != null and pushStatus != ''"> and push_status = #{pushStatus} </if>
|
||||||
|
<if test="pushInfo != null and pushInfo != ''"> and push_info = #{pushInfo} </if>
|
||||||
|
<if test="dingTalkProcessId != null and dingTalkProcessId != ''"> and ding_talk_process_id = #{dingTalkProcessId} </if>
|
||||||
|
<if test="sts != null and sts != ''"> and sts = #{sts} </if>
|
||||||
|
and sts='Y'
|
||||||
|
</trim>
|
||||||
|
</update>
|
||||||
|
<!--通过主键删除-->
|
||||||
|
<delete id="entity_delete">
|
||||||
|
delete from ding_u8c_bill where id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
|
@ -24,27 +24,36 @@ public class PushController extends DefaultController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private PushU8CService pushU8CService;
|
private PushU8CService pushU8CService;
|
||||||
|
|
||||||
/** 委外采购(付款单)->采购付款申请(新) **/
|
/** 委外采购(付款单)->采购付款申请(新) **/
|
||||||
@RequestMapping(value = "U8COutSourceBill")
|
@RequestMapping(value = "U8COutSourceBill")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public JsonResultEntity pushU8COutSourceBill(@RequestBody DjFileVO djFileVO){
|
public JsonResultEntity pushU8COutSourceBill(@RequestBody DjFileVO djFileVO){
|
||||||
String processInstanceId = pushU8CService.outSource(djFileVO);
|
String processInstanceId = pushU8CService.outSource(djFileVO);
|
||||||
|
if("".equals(processInstanceId)){
|
||||||
|
return getFailureMessageEntity(null);
|
||||||
|
}
|
||||||
return getSuccessMessageEntity(processInstanceId);
|
return getSuccessMessageEntity(processInstanceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 代理采购(付款单)->采购付款申请(店群专用) **/
|
/** 代理采购(付款单)->采购付款申请(店群专用) **/
|
||||||
@RequestMapping(value = "U8CAgencyBill")
|
@RequestMapping(value = "U8CAgencyBill")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public JsonResultEntity pushU8CAgencyBill(@RequestBody DjFileVO djFileVO){
|
public JsonResultEntity pushU8CAgencyBill(@RequestBody DjFileVO djFileVO){
|
||||||
System.out.println("com.hzya.frame.plugin.lets.dingtalk.push.pushController.pushU8CAgencyBill");
|
String processInstanceId = pushU8CService.agency(djFileVO);
|
||||||
return getSuccessMessageEntity("112233445566778899");
|
if("".equals(processInstanceId)){
|
||||||
|
return getFailureMessageEntity(null);
|
||||||
|
}
|
||||||
|
return getSuccessMessageEntity(processInstanceId);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 调拨单内部交易(付款单)->特殊业务处理(新) **/
|
/** 调拨单内部交易(付款单)->特殊业务处理(新) **/
|
||||||
@RequestMapping(value = "U8CTransferBill")
|
@RequestMapping(value = "U8CTransferBill")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public JsonResultEntity pushU8CTransferBill(@RequestBody DjFileVO djFileVO){
|
public JsonResultEntity pushU8CTransferBill(@RequestBody DjFileVO djFileVO){
|
||||||
System.out.println("com.hzya.frame.plugin.lets.dingtalk.push.pushController.pushU8CTransferBill");
|
String processInstanceId = pushU8CService.transfer(djFileVO);
|
||||||
return getSuccessMessageEntity("112233445566778899");
|
if("".equals(processInstanceId)){
|
||||||
|
return getFailureMessageEntity(null);
|
||||||
|
}
|
||||||
|
return getSuccessMessageEntity(processInstanceId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,11 @@ import cn.hutool.json.JSONUtil;
|
||||||
import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponseBody;
|
import com.aliyun.dingtalkoauth2_1_0.models.GetAccessTokenResponseBody;
|
||||||
import com.aliyun.dingtalkworkflow_1_0.models.StartProcessInstanceRequest;
|
import com.aliyun.dingtalkworkflow_1_0.models.StartProcessInstanceRequest;
|
||||||
import com.aliyun.dingtalkworkflow_1_0.models.StartProcessInstanceResponse;
|
import com.aliyun.dingtalkworkflow_1_0.models.StartProcessInstanceResponse;
|
||||||
|
import com.dingtalk.api.response.OapiV2DepartmentGetResponse;
|
||||||
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
import com.dingtalk.api.response.OapiV2UserGetResponse;
|
||||||
import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
|
import com.dingtalk.api.response.OapiV2UserGetbymobileResponse;
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao;
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
|
||||||
import com.hzya.frame.plugin.lets.dingtalk.push.serivce.PushU8CService;
|
import com.hzya.frame.plugin.lets.dingtalk.push.serivce.PushU8CService;
|
||||||
import com.hzya.frame.plugin.lets.dingtalk.utils.DingTalkUtils;
|
import com.hzya.frame.plugin.lets.dingtalk.utils.DingTalkUtils;
|
||||||
import com.hzya.frame.plugin.lets.dingtalk.utils.FileUtil;
|
import com.hzya.frame.plugin.lets.dingtalk.utils.FileUtil;
|
||||||
|
@ -15,6 +18,7 @@ import com.hzya.frame.plugin.lets.dingtalk.vo.*;
|
||||||
import com.hzya.frame.plugin.lets.plugin.adjust.AdjustInPluginInitializer;
|
import com.hzya.frame.plugin.lets.plugin.adjust.AdjustInPluginInitializer;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
@ -27,6 +31,7 @@ import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Base64;
|
import java.util.Base64;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -65,82 +70,133 @@ public class PushU8CServiceImpl implements PushU8CService {
|
||||||
@Value("${DING.APPROVE_FOLDER_SPACE.PURCHASE_PAYMENT_REQUEST_SHOP}")
|
@Value("${DING.APPROVE_FOLDER_SPACE.PURCHASE_PAYMENT_REQUEST_SHOP}")
|
||||||
private String PURCHASE_PAYMENT_REQUEST_SHOP_FOLDER;
|
private String PURCHASE_PAYMENT_REQUEST_SHOP_FOLDER;
|
||||||
|
|
||||||
|
|
||||||
Logger logger = LoggerFactory.getLogger(PushU8CServiceImpl.class);
|
Logger logger = LoggerFactory.getLogger(PushU8CServiceImpl.class);
|
||||||
|
|
||||||
|
|
||||||
/** 委外采购(付款单)->采购付款申请(新) */
|
/**
|
||||||
|
* 委外采购(付款单)->采购付款申请(新)
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String outSource(DjFileVO djFileVO) {
|
public String outSource(DjFileVO djFileVO) {
|
||||||
|
String instanceId = "";
|
||||||
//校验参数
|
//校验参数
|
||||||
|
try {
|
||||||
checkParameter(djFileVO);
|
checkParameter(djFileVO);
|
||||||
try{
|
|
||||||
//获取钉钉参数
|
//获取钉钉参数
|
||||||
GetAccessTokenResponseBody tokenBody = DingTalkUtils.getTokenBody(APPKEY, AppSecret);
|
GetAccessTokenResponseBody tokenBody = DingTalkUtils.getTokenBody(APPKEY, AppSecret);
|
||||||
|
|
||||||
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
||||||
OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), "13783530043");
|
if (djFileVO.getDjzbVO().getParentvo().getLrr_code() == null || "".equals(djFileVO.getDjzbVO().getParentvo().getLrr_code())) {
|
||||||
|
Assert.state(false, "录入人手机号为空!!!");
|
||||||
|
}
|
||||||
|
OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code());
|
||||||
String userid = userByMobile.getResult().getUserid();
|
String userid = userByMobile.getResult().getUserid();
|
||||||
OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid);
|
OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid);
|
||||||
String unionid = userById.getResult().getUnionid();
|
String unionid = userById.getResult().getUnionid();
|
||||||
|
|
||||||
|
|
||||||
//base转文件流-上传钉盘-拿到钉盘信息。可能是List集合
|
//base转文件流-上传钉盘-拿到钉盘信息。可能是List集合
|
||||||
List<FileModuleVO> fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(),tokenBody.getAccessToken(),unionid,SPACEID,PURCHASE_PAYMENT_REQUEST_NEW_FOLDER);
|
List<FileModuleVO> fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(), tokenBody.getAccessToken(), unionid, SPACEID, PURCHASE_PAYMENT_REQUEST_NEW_FOLDER);
|
||||||
System.out.println(fileModuleVOList);
|
|
||||||
|
|
||||||
//推送钉钉--》发起审批实例
|
//推送钉钉--》发起审批实例
|
||||||
excuteDingTalkOutSource(tokenBody.getAccessToken(),PURCHASE_PAYMENT_REQUEST_NEW,djFileVO.getDjzbVO(),fileModuleVOList);
|
instanceId = excuteDingTalkOutSource(tokenBody.getAccessToken(), userid, PURCHASE_PAYMENT_REQUEST_NEW, djFileVO.getDjzbVO(), fileModuleVOList);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("委外采购(付款单)->采购付款申请(新)报错", e);
|
||||||
|
|
||||||
}catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
logger.error("委外采购(付款单)->采购付款申请(新)报错",e);
|
|
||||||
}
|
}
|
||||||
return "110";
|
return instanceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 代理采购(付款单)->采购付款申请(店群专用) */
|
/**
|
||||||
|
* 代理采购(付款单)->采购付款申请(店群专用)
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String agency(DjFileVO djFileVO) {
|
public String agency(DjFileVO djFileVO) {
|
||||||
|
String instanceId = "";
|
||||||
|
try {
|
||||||
checkParameter(djFileVO);
|
checkParameter(djFileVO);
|
||||||
return null;
|
//获取钉钉参数
|
||||||
|
GetAccessTokenResponseBody tokenBody = DingTalkUtils.getTokenBody(APPKEY, AppSecret);
|
||||||
|
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
||||||
|
if (djFileVO.getDjzbVO().getParentvo().getLrr_code() == null || "".equals(djFileVO.getDjzbVO().getParentvo().getLrr_code())) {
|
||||||
|
Assert.state(false, "录入人手机号为空!!!");
|
||||||
|
}
|
||||||
|
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
||||||
|
OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code());
|
||||||
|
String userid = userByMobile.getResult().getUserid();
|
||||||
|
OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid);
|
||||||
|
String unionid = userById.getResult().getUnionid();
|
||||||
|
|
||||||
|
//base转文件流-上传钉盘-拿到钉盘信息。可能是List集合
|
||||||
|
List<FileModuleVO> fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(), tokenBody.getAccessToken(), unionid, SPACEID, PURCHASE_PAYMENT_REQUEST_SHOP_FOLDER);
|
||||||
|
|
||||||
|
//推送钉钉--》发起审批实例
|
||||||
|
instanceId = excuteDingTalkAgency(tokenBody.getAccessToken(), userid, PURCHASE_PAYMENT_REQUEST_SHOP, djFileVO.getDjzbVO(), fileModuleVOList);
|
||||||
|
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("代理采购(付款单)->采购付款申请(店群专用)报错", e);
|
||||||
|
}
|
||||||
|
return instanceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 调拨单内部交易(付款单)->特殊业务处理(新) */
|
/**
|
||||||
|
* 调拨单内部交易(付款单)->特殊业务处理(新)
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String transfer(DjFileVO djFileVO) {
|
public String transfer(DjFileVO djFileVO) {
|
||||||
|
String instanceId = "";
|
||||||
|
try {
|
||||||
checkParameter(djFileVO);
|
checkParameter(djFileVO);
|
||||||
return null;
|
//获取钉钉参数
|
||||||
|
GetAccessTokenResponseBody tokenBody = DingTalkUtils.getTokenBody(APPKEY, AppSecret);
|
||||||
|
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
||||||
|
if (djFileVO.getDjzbVO().getParentvo().getLrr_code() == null || "".equals(djFileVO.getDjzbVO().getParentvo().getLrr_code())) {
|
||||||
|
Assert.state(false, "录入人手机号为空!!!");
|
||||||
|
}
|
||||||
|
//制单人的钉钉unionid:通过手机号获取钉钉的userid在获取unionid 13783530043
|
||||||
|
OapiV2UserGetbymobileResponse userByMobile = DingTalkUtils.getUserByMobile(tokenBody.getAccessToken(), djFileVO.getDjzbVO().getParentvo().getLrr_code());
|
||||||
|
String userid = userByMobile.getResult().getUserid();
|
||||||
|
OapiV2UserGetResponse userById = DingTalkUtils.getUserById(tokenBody.getAccessToken(), userid);
|
||||||
|
String unionid = userById.getResult().getUnionid();
|
||||||
|
//base转文件流-上传钉盘-拿到钉盘信息。可能是List集合
|
||||||
|
List<FileModuleVO> fileModuleVOList = baseTransformFile2uploadDing(djFileVO.getSysFileVOS(), tokenBody.getAccessToken(), unionid, SPACEID, SPECIAL_SERVICE_PROCESSING_FOLDER);
|
||||||
|
|
||||||
|
//推送钉钉--》发起审批实例
|
||||||
|
instanceId = excuteDingTalkTransfer(tokenBody.getAccessToken(), userid, SPECIAL_SERVICE_PROCESSING, djFileVO.getDjzbVO(), fileModuleVOList);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("调拨单内部交易(付款单)->特殊业务处理(新)报错", e);
|
||||||
|
}
|
||||||
|
return instanceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查参数,VO不能为空,文件不能空
|
* 检查参数,VO不能为空,文件不能空
|
||||||
|
*
|
||||||
* @param djFileVO:djzbVO+sysFileVOS
|
* @param djFileVO:djzbVO+sysFileVOS
|
||||||
*/
|
*/
|
||||||
public void checkParameter(DjFileVO djFileVO){
|
public void checkParameter(DjFileVO djFileVO) {
|
||||||
Assert.notNull(djFileVO.getDjzbVO(),"u8c单据推送钉钉表单,检查参数,VO不能为空");
|
Assert.notNull(djFileVO.getDjzbVO(), "u8c单据推送钉钉表单,检查参数,VO不能为空");
|
||||||
if (djFileVO.getSysFileVOS().size() == 0) {
|
if (djFileVO.getSysFileVOS().size() == 0) {
|
||||||
Assert.state(false,"u8c单据推送钉钉表单,检查参数,文件不能空");
|
Assert.state(false, "u8c单据推送钉钉表单,检查参数,文件不能空");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件转换
|
* 文件转换
|
||||||
* 将base64转为文件流上传钉盘,并返回钉钉的 List<FileModuleVO>
|
* 将base64转为文件流上传钉盘,并返回钉钉的 List<FileModuleVO>
|
||||||
|
*
|
||||||
* @Param fileVOS 文件集合
|
* @Param fileVOS 文件集合
|
||||||
* @Param token token
|
* @Param token token
|
||||||
* @Param unionid unionid
|
* @Param unionid unionid
|
||||||
* @Param spaceId 空间信息
|
* @Param spaceId 空间信息
|
||||||
* @Param dingFileUrlID 钉盘审批实例中附件地址
|
* @Param dingFileUrlID 钉盘审批实例中附件地址
|
||||||
*/
|
*/
|
||||||
public List<FileModuleVO> baseTransformFile2uploadDing(List<SysFileVO> fileVOS,String token,String unionid,String spaceId,String dingFileUrlID) throws IOException {
|
public List<FileModuleVO> baseTransformFile2uploadDing(List<SysFileVO> fileVOS, String token, String unionid, String spaceId, String dingFileUrlID) throws IOException {
|
||||||
List<FileModuleVO> fileModuleVOList=new ArrayList<>();
|
List<FileModuleVO> fileModuleVOList = new ArrayList<>();
|
||||||
for (SysFileVO fileVO : fileVOS) {
|
for (SysFileVO fileVO : fileVOS) {
|
||||||
// 指定输出文件路径
|
// 指定输出文件路径
|
||||||
Path outputPath = Paths.get(fileVO.getFileName()+"."+fileVO.getType());
|
Path outputPath = Paths.get(fileVO.getFileName() + "." + fileVO.getType());
|
||||||
// 1. 解码Base64字符串并写入文件
|
// 1. 解码Base64字符串并写入文件
|
||||||
byte[] decodedBytes = Base64.getDecoder().decode(fileVO.getBaseCode());
|
byte[] decodedBytes = Base64.getDecoder().decode(fileVO.getBaseCode());
|
||||||
Files.write(outputPath, decodedBytes);
|
Files.write(outputPath, decodedBytes);
|
||||||
|
@ -153,7 +209,7 @@ public class PushU8CServiceImpl implements PushU8CService {
|
||||||
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
while ((bytesRead = inputStream.read(buffer)) != -1) {
|
||||||
byteArrayOutputStream.write(buffer, 0, bytesRead);
|
byteArrayOutputStream.write(buffer, 0, bytesRead);
|
||||||
}
|
}
|
||||||
}catch(Exception e){
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
// 3. 打印ByteArrayOutputStream的内容(可选)
|
// 3. 打印ByteArrayOutputStream的内容(可选)
|
||||||
|
@ -166,62 +222,66 @@ public class PushU8CServiceImpl implements PushU8CService {
|
||||||
return fileModuleVOList;
|
return fileModuleVOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**\
|
|
||||||
|
@Autowired
|
||||||
|
private IDingU8cBillDao dingU8cBillDao;
|
||||||
|
|
||||||
|
/**
|
||||||
* 委外采购(付款单)->采购付款申请(新):推送钉钉审批实例
|
* 委外采购(付款单)->采购付款申请(新):推送钉钉审批实例
|
||||||
|
*
|
||||||
* @param accessToken token
|
* @param accessToken token
|
||||||
|
* @param userId userId
|
||||||
* @param processCode 钉钉模板Code
|
* @param processCode 钉钉模板Code
|
||||||
* @param djzbVO U8C单据VO
|
* @param djzbVO U8C单据VO
|
||||||
* @param fileModuleVOList 钉钉文件信息,用于上传审批实例使用
|
* @param fileModuleVOList 钉钉文件信息,用于上传审批实例使用
|
||||||
*/
|
*/
|
||||||
public void excuteDingTalkOutSource(String accessToken,String processCode,DjzbVO djzbVO,List<FileModuleVO> fileModuleVOList) throws Exception {
|
public String excuteDingTalkOutSource(String accessToken, String userId, String processCode, DjzbVO djzbVO, List<FileModuleVO> fileModuleVOList) throws Exception {
|
||||||
try {
|
|
||||||
DjzbVO.Arap_djzb parentvo = djzbVO.getParentvo();
|
DjzbVO.Arap_djzb parentvo = djzbVO.getParentvo();
|
||||||
List<DjzbVO.Arap_djfb> childrens = djzbVO.getChildren();
|
List<DjzbVO.Arap_djfb> childrens = djzbVO.getChildren();
|
||||||
|
String instanceId = "";
|
||||||
//公司
|
try {
|
||||||
//部门
|
//部门查询
|
||||||
//发起人
|
Long dingDeptId = queryDingDeptId(parentvo.getDeptid_name(), accessToken, userId);
|
||||||
|
if (dingDeptId == null) {
|
||||||
|
Assert.state(false, "根据u8c部门查询钉钉部门失败,可能该录入人:{},不在钉钉部门:{} 下。", parentvo.getLrr_name(), parentvo.getDeptid_name());
|
||||||
|
}
|
||||||
|
|
||||||
//formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
//formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
||||||
List<StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues> form = new ArrayList<>();
|
List<StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues> form = new ArrayList<>();
|
||||||
|
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属公司").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属公司").setValue(parentvo.getDwbm_name()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属部门(选择至末级部门)").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属部门(选择至末级部门)").setValue(parentvo.getDeptid_name()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("品牌").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("品牌").setValue(parentvo.getPinpai()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属类目").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属类目").setValue(parentvo.getBusitypename()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款类型").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款类型").setValue(parentvo.getPrepay()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款比例").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款比例").setValue(parentvo.getFkbl()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类目所属(供应链)").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类目所属(供应链)").setValue("供应链类"));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目编号").setValue("1"));
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目编号").setValue("1"));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目名称").setValue("1"));
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目名称").setValue("1"));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类型").setValue("1"));
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("类型").setValue("1"));
|
||||||
//列表
|
//列表
|
||||||
List<List<DingTableVO>> dingTableVOSMaterialList = new ArrayList<>();
|
List<List<DingTableVO>> dingTableVOSMaterialList = new ArrayList<>();
|
||||||
for (DjzbVO.Arap_djfb children : childrens) {
|
for (DjzbVO.Arap_djfb children : childrens) {
|
||||||
List<DingTableVO> dingTableVOS = new ArrayList<>();
|
List<DingTableVO> dingTableVOS = new ArrayList<>();
|
||||||
dingTableVOS.add(new DingTableVO("存货分类", "2"));
|
// dingTableVOS.add(new DingTableVO("存货分类", "存货分类"));
|
||||||
dingTableVOS.add(new DingTableVO("产品名称", "2"));
|
dingTableVOS.add(new DingTableVO("产品名称", children.getCinventoryid_name()));
|
||||||
dingTableVOS.add(new DingTableVO("产品数量", "2"));
|
dingTableVOS.add(new DingTableVO("产品数量", children.getDfshl()));
|
||||||
dingTableVOS.add(new DingTableVO("付款金额(元)", "665"));
|
dingTableVOS.add(new DingTableVO("付款金额(元)", children.getBbye()));
|
||||||
dingTableVOS.add(new DingTableVO("税率", "13"));
|
dingTableVOS.add(new DingTableVO("税率", children.getSl()));
|
||||||
dingTableVOSMaterialList.add(dingTableVOS);
|
dingTableVOSMaterialList.add(dingTableVOS);
|
||||||
}
|
}
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款明细").setValue(JSONUtil.toJsonStr(dingTableVOSMaterialList)));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("付款明细").setValue(JSONUtil.toJsonStr(dingTableVOSMaterialList)));
|
||||||
|
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票抬头").setValue("1"));
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票抬头").setValue(parentvo.getDwname()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票方").setValue("1"));
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("开票方").setValue(parentvo.getCustname()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("对方类型").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("对方类型").setValue("1"));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("支付方式-银行").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("支付方式-银行").setValue(parentvo.getAccountname() + parentvo.getAccount() + parentvo.getBanktypename()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("银行支行名称").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("银行支行名称").setValue(parentvo.getBankdocname()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请支付日期").setValue("2024-10-27"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请支付日期").setValue(parentvo.getDjrq()));
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue("1"));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue(parentvo.getScomment()));
|
||||||
//附件
|
//附件
|
||||||
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("上传相关附件(业务相关证明、关联原合同审批件)").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1PDRXW3QT4G00").setName("上传相关附件(业务相关证明、关联原合同审批件)").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
||||||
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1PDRXW3QT4G00").setName("上传相关附件(业务相关证明、关联原合同审批件)").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
|
||||||
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1PDRXW3QT4G00").setName("上传相关附件").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 推送钉钉--》发起审批实例
|
* 推送钉钉--》发起审批实例
|
||||||
* accessToken-->
|
* accessToken-->
|
||||||
|
@ -232,29 +292,192 @@ public class PushU8CServiceImpl implements PushU8CService {
|
||||||
* approvers-->不使用审批流模板时,直接指定的审批人列表,最大列表长度:20。
|
* approvers-->不使用审批流模板时,直接指定的审批人列表,最大列表长度:20。
|
||||||
* formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
* formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
||||||
*/
|
*/
|
||||||
StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, "6715600736721738", processCode, -1L, Long.valueOf(U8C_TEST_AGENTID), null, form);
|
StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, userId, processCode, dingDeptId, Long.valueOf(U8C_TEST_AGENTID), null, form);
|
||||||
JSONObject jsonObject = JSONUtil.parseObj(startProcessInstanceResponse);
|
JSONObject jsonObject = JSONUtil.parseObj(startProcessInstanceResponse);
|
||||||
String statusCode = jsonObject.get("statusCode").toString();
|
String statusCode = jsonObject.get("statusCode").toString();
|
||||||
if (statusCode!=null&&!statusCode.equals("200")) {
|
if (statusCode != null && !statusCode.equals("200")) {
|
||||||
Assert.state(false, "委外采购(付款单)->采购付款申请(新):推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body")));
|
Assert.state(false, "委外采购(付款单)->采购付款申请(新):推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body")));
|
||||||
}
|
}
|
||||||
logger.info("推送钉钉-->发起审批实例:委外采购(付款单)->采购付款申请(新)-->执行成功");
|
logger.info("推送钉钉-->发起审批实例:委外采购(付款单)->采购付款申请(新)-->执行成功");
|
||||||
|
|
||||||
//审批实例id
|
//审批实例id
|
||||||
String instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString();
|
instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString();
|
||||||
System.out.println(instanceId);
|
|
||||||
|
|
||||||
//记录成功记录
|
//记录成功记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
try {
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
} catch (Exception e) {
|
||||||
|
DingU8cBillEntity dingU8cBillEntity1 = new DingU8cBillEntity();
|
||||||
|
dingU8cBillEntity1.setU8cPkCorp(parentvo.getDwbm());
|
||||||
|
dingU8cBillEntity1.setU8cCodeCorp(parentvo.getDwbm_code());
|
||||||
|
dingU8cBillEntity1.setU8cBillType(parentvo.getBusitypecode());
|
||||||
|
dingU8cBillEntity1.setU8cBillCode(parentvo.getDjbh());
|
||||||
|
dingU8cBillEntity1.setU8cBillId(parentvo.getVouchid());
|
||||||
|
dingU8cBillEntity1.setPushStatus("Y");
|
||||||
|
dingU8cBillEntity1.setPushInfo(e.getMessage());
|
||||||
|
dingU8cBillEntity1.setDingTalkProcessId(instanceId);
|
||||||
|
dingU8cBillEntity1.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity1);
|
||||||
|
}
|
||||||
|
return instanceId;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
}catch (Exception e){
|
|
||||||
logger.error(e.getMessage());
|
logger.error(e.getMessage());
|
||||||
e.printStackTrace();
|
//记录失败记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
try {
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
} catch (Exception e1) {
|
||||||
|
DingU8cBillEntity dingU8cBillEntity1 = new DingU8cBillEntity();
|
||||||
|
dingU8cBillEntity1.setU8cPkCorp(parentvo.getDwbm());
|
||||||
|
dingU8cBillEntity1.setU8cCodeCorp(parentvo.getDwbm_code());
|
||||||
|
dingU8cBillEntity1.setU8cBillType(parentvo.getBusitypecode());
|
||||||
|
dingU8cBillEntity1.setU8cBillCode(parentvo.getDjbh());
|
||||||
|
dingU8cBillEntity1.setU8cBillId(parentvo.getVouchid());
|
||||||
|
dingU8cBillEntity1.setPushStatus("N");
|
||||||
|
dingU8cBillEntity1.setPushInfo(e.getMessage());
|
||||||
|
dingU8cBillEntity1.setDingTalkProcessId(null);
|
||||||
|
dingU8cBillEntity1.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 代理采购(付款单)->采购付款申请(店群专用)
|
||||||
|
*/
|
||||||
|
public String excuteDingTalkAgency(String accessToken, String userId, String processCode, DjzbVO djzbVO, List<FileModuleVO> fileModuleVOList) throws Exception {
|
||||||
|
DjzbVO.Arap_djzb parentvo = djzbVO.getParentvo();
|
||||||
|
List<DjzbVO.Arap_djfb> childrens = djzbVO.getChildren();
|
||||||
|
String instanceId = "";
|
||||||
|
try {
|
||||||
|
//部门查询
|
||||||
|
Long dingDeptId = queryDingDeptId(parentvo.getDeptid_name(), accessToken, userId);
|
||||||
|
if (dingDeptId == null) {
|
||||||
|
Assert.state(false, "根据u8c部门查询钉钉部门失败,可能该录入人:{},不在钉钉部门:{} 下。", parentvo.getLrr_name(), parentvo.getDeptid_name());
|
||||||
|
}
|
||||||
|
//formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
||||||
|
List<StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues> form = new ArrayList<>();
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属公司").setValue(parentvo.getDwbm_name()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用归属部门(选择至末级部门)").setValue(parentvo.getDeptid_name()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目所属类目").setValue("红人代运营"));//固定值
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属类目").setValue("运营类"));//固定值
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("总价").setValue(parentvo.getNtaxpricemny()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("实际应支付金额").setValue(parentvo.getBbje()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("归档编号").setValue(parentvo.getGdbh()));
|
||||||
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue(parentvo.getScomment()));
|
||||||
|
//附件
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_D7JK56572Y00").setName("附件").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
||||||
|
|
||||||
|
//推送钉钉审批实例
|
||||||
|
StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, userId, processCode, dingDeptId, Long.valueOf(U8C_TEST_AGENTID), null, form);
|
||||||
|
JSONObject jsonObject = JSONUtil.parseObj(startProcessInstanceResponse);
|
||||||
|
String statusCode = jsonObject.get("statusCode").toString();
|
||||||
|
if (statusCode != null && !statusCode.equals("200")) {
|
||||||
|
Assert.state(false, "代理采购(付款单)->采购付款申请(店群专用):推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body")));
|
||||||
|
}
|
||||||
|
logger.info("推送钉钉-->发起审批实例:代理采购(付款单)->采购付款申请(店群专用)-->执行成功");
|
||||||
|
|
||||||
|
instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString();
|
||||||
|
|
||||||
|
//记录成功记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
|
||||||
|
return instanceId;
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
//记录失败记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
}
|
||||||
|
return instanceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 调拨单内部交易(付款单)->特殊业务处理(新)
|
||||||
|
*/
|
||||||
|
public String excuteDingTalkTransfer(String accessToken, String userId, String processCode, DjzbVO djzbVO, List<FileModuleVO> fileModuleVOList) throws Exception {
|
||||||
|
DjzbVO.Arap_djzb parentvo = djzbVO.getParentvo();
|
||||||
|
List<DjzbVO.Arap_djfb> childrens = djzbVO.getChildren();
|
||||||
|
String instanceId = "";
|
||||||
|
try {
|
||||||
|
//部门查询
|
||||||
|
Long dingDeptId = queryDingDeptId(parentvo.getDeptid_name(), accessToken, userId);
|
||||||
|
if (dingDeptId == null) {
|
||||||
|
Assert.state(false, "根据u8c部门查询钉钉部门失败,可能该录入人:{},不在钉钉部门:{} 下。", parentvo.getLrr_name(), parentvo.getDeptid_name());
|
||||||
|
}
|
||||||
|
//formComponentValues-->表单数据内容,控件列表,最大列表长度:150。
|
||||||
|
List<StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues> form = new ArrayList<>();
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属公司").setValue(parentvo.getDwbm_name()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属部门").setValue(parentvo.getDeptid_name()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("项目所属类目").setValue("综合"));//固定值
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("费用所属项目").setValue("内部往来"));//固定值
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请事由").setValue(parentvo.getScomment()));
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("申请金额(元)").setValue(parentvo.getBbje()));
|
||||||
|
// form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setName("备注").setValue(parentvo.getScomment()));
|
||||||
|
//附件
|
||||||
|
form.add(new StartProcessInstanceRequest.StartProcessInstanceRequestFormComponentValues().setComponentType("DDAttachment").setId("DDAttachment_1XN8VWYAKBTS0").setName("附件").setValue(JSONUtil.toJsonStr(fileModuleVOList)));
|
||||||
|
//推送钉钉审批实例
|
||||||
|
StartProcessInstanceResponse startProcessInstanceResponse = DingTalkUtils.InitiateApprovalInstance(accessToken, userId, processCode, dingDeptId, Long.valueOf(U8C_TEST_AGENTID), null, form);
|
||||||
|
JSONObject jsonObject = JSONUtil.parseObj(startProcessInstanceResponse);
|
||||||
|
String statusCode = jsonObject.get("statusCode").toString();
|
||||||
|
if (statusCode != null && !statusCode.equals("200")) {
|
||||||
|
Assert.state(false, "调拨单内部交易(付款单)->特殊业务处理(新):推送钉钉审批实例失败。失败原因:{}", JSONUtil.toJsonStr(jsonObject.get("body")));
|
||||||
|
}
|
||||||
|
logger.info("推送钉钉-->发起审批实例:调拨单内部交易(付款单)->特殊业务处理(新)-->执行成功");
|
||||||
|
|
||||||
|
instanceId = JSONUtil.parseObj(jsonObject.get("body")).get("instanceId").toString();
|
||||||
|
|
||||||
|
//记录成功记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "Y", "success", instanceId);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
//记录失败记录
|
||||||
|
DingU8cBillEntity dingU8cBillEntity = new DingU8cBillEntity(parentvo.getDwbm(), parentvo.getDwbm_code(), parentvo.getBusitypecode(), parentvo.getDjbh(), parentvo.getVouchid(), "N", e.getMessage(), null);
|
||||||
|
dingU8cBillEntity.setCreate_time(new Date());
|
||||||
|
dingU8cBillDao.save(dingU8cBillEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
return instanceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询钉钉部门
|
||||||
|
*
|
||||||
|
* @return 钉钉部门id
|
||||||
|
* @Param u8cDeptName u8c部门名称
|
||||||
|
* @Param token
|
||||||
|
* @Param userId
|
||||||
|
*/
|
||||||
|
public Long queryDingDeptId(String u8cDeptName, String token, String userId) {
|
||||||
|
try {
|
||||||
|
Assert.notNull(u8cDeptName, "查询钉钉部门u8c部门名称不能为空!!!");
|
||||||
|
OapiV2UserGetResponse user = DingTalkUtils.getUserById(token, userId);
|
||||||
|
List<Long> deptIdList = user.getResult().getDeptIdList();
|
||||||
|
//查询钉钉部门
|
||||||
|
for (Long deptId : deptIdList) {
|
||||||
|
OapiV2DepartmentGetResponse dingDept = DingTalkUtils.getDeptByDeptId(token, deptId);
|
||||||
|
String dingDeptName = dingDept.getResult().getName();
|
||||||
|
if (u8cDeptName.equals(dingDeptName)) {
|
||||||
|
return deptId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error(e.getMessage());
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.hzya.frame.plugin.lets.dingtalk.service;
|
||||||
|
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
|
||||||
|
import com.hzya.frame.basedao.service.IBaseService;
|
||||||
|
/**
|
||||||
|
* (DingU8cBill)表服务接口
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-10-28 15:45:32
|
||||||
|
*/
|
||||||
|
public interface IDingU8cBillService extends IBaseService<DingU8cBillEntity, String>{
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
package com.hzya.frame.plugin.lets.dingtalk.service.impl;
|
||||||
|
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.entity.DingU8cBillEntity;
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.dao.IDingU8cBillDao;
|
||||||
|
import com.hzya.frame.plugin.lets.dingtalk.service.IDingU8cBillService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||||
|
/**
|
||||||
|
* (DingU8cBill)表服务实现类
|
||||||
|
*
|
||||||
|
* @author makejava
|
||||||
|
* @since 2024-10-28 15:45:32
|
||||||
|
*/
|
||||||
|
@Service(value = "dingU8cBillServiceImpl")
|
||||||
|
public class DingU8cBillServiceImpl extends BaseService<DingU8cBillEntity, String> implements IDingU8cBillService {
|
||||||
|
|
||||||
|
private IDingU8cBillDao dingU8cBillDao;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setDingU8cBillDao(IDingU8cBillDao dao) {
|
||||||
|
this.dingU8cBillDao = dao;
|
||||||
|
this.dao = dao;
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,7 +15,30 @@ public class DjzbVO {
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class Arap_djzb {
|
public static class Arap_djzb {
|
||||||
private String bbje;//本币金额合计
|
private String bbje;//本币金额合计、实际应支付金额 or 申请金额(元)
|
||||||
|
private String busitypecode;//单据类型编码
|
||||||
|
private String busitypename;//单据类型名称、费用所属类目
|
||||||
|
private String deptid_code;//部门编码
|
||||||
|
private String deptid_name;//部门名称
|
||||||
|
private String dwbm_code;//公司编码
|
||||||
|
private String dwbm_name;//公司名称
|
||||||
|
private String hbbm_code;//客商编码、开票方编码
|
||||||
|
private String hbbm_name;//客商名称、开票方名称
|
||||||
|
private String lrr_code;//录入人编码
|
||||||
|
private String lrr_name;//录入人名称
|
||||||
|
private String ntaxpricemny;//总价
|
||||||
|
private String gdbh;//归档编码
|
||||||
|
private String pinpai;//品牌
|
||||||
|
private String fkbl;// 付款比例
|
||||||
|
private String accountname;//户名
|
||||||
|
private String account;//账号
|
||||||
|
private String banktypename;//银行
|
||||||
|
private String bankdocname;//银行所在地区
|
||||||
|
private String scomment;//备注、银行所在地区
|
||||||
|
private String prepay;//预收付标志、付款类型
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String bzbm;//币种主键
|
private String bzbm;//币种主键
|
||||||
private String bzbm_code;//币种编码
|
private String bzbm_code;//币种编码
|
||||||
private String bzbm_name;//币种名称
|
private String bzbm_name;//币种名称
|
||||||
|
@ -50,33 +73,23 @@ public class DjzbVO {
|
||||||
private String def8;//自定义项名称8
|
private String def8;//自定义项名称8
|
||||||
private String def9;//自定义项名称9
|
private String def9;//自定义项名称9
|
||||||
private String deptid;//部门主键
|
private String deptid;//部门主键
|
||||||
private String deptid_code;//部门编码
|
|
||||||
private String deptid_name;//部门名称
|
|
||||||
private String dfyhzh;//付款银行帐号
|
private String dfyhzh;//付款银行帐号
|
||||||
private String djbh;//单据编号
|
private String djbh;//单据编号
|
||||||
private String djdl;//单据大类
|
private String djdl;//单据大类
|
||||||
private String djkjnd;//会计年度
|
private String djkjnd;//会计年度
|
||||||
private String djkjqj;//会计期间
|
private String djkjqj;//会计期间
|
||||||
private String djrq;//单据日期
|
private String djrq;//单据日期、申请支付日期
|
||||||
private String djzt;//单据状态
|
private String djzt;//单据状态
|
||||||
private String dwbm;//公司主键
|
private String dwbm;//公司主键
|
||||||
private String dwbm_code;//公司编码
|
|
||||||
private String dwbm_name;//公司名称
|
|
||||||
private String dzrq;//对帐日期
|
private String dzrq;//对帐日期
|
||||||
private String enduser;//最终修改人(5.1开始支持)
|
private String enduser;//最终修改人(5.1开始支持)
|
||||||
private String hbbm;//客商主键
|
private String hbbm;//客商主键
|
||||||
private String hbbm_code;//客商编码
|
|
||||||
private String hbbm_name;//客商名称
|
|
||||||
private String lrr;//录入人主键
|
private String lrr;//录入人主键
|
||||||
private String lrr_code;//录入人编码
|
|
||||||
private String lrr_name;//录入人名称
|
|
||||||
private String paydate;//支付日期(5.1及以后版本支持)
|
private String paydate;//支付日期(5.1及以后版本支持)
|
||||||
private String prepay;//预收付标志
|
|
||||||
private String qcbz;//是期初
|
private String qcbz;//是期初
|
||||||
private String qrr;//确认人主键
|
private String qrr;//确认人主键
|
||||||
private String qrr_code;//确认人编码
|
private String qrr_code;//确认人编码
|
||||||
private String qrr_name;//确认人名称
|
private String qrr_name;//确认人名称
|
||||||
private String scomment;//备注
|
|
||||||
private String shr;//审核人主键
|
private String shr;//审核人主键
|
||||||
private String shr_code;//审核人编码
|
private String shr_code;//审核人编码
|
||||||
private String shr_name;//审核人名称
|
private String shr_name;//审核人名称
|
||||||
|
@ -137,14 +150,20 @@ public class DjzbVO {
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class Arap_djfb {
|
public static class Arap_djfb {
|
||||||
|
private String bbye;//付款明细-付款金额(元)
|
||||||
|
private String invcl_code;//付款明细-类目所属编码
|
||||||
|
private String invcl_name;//付款明细-类目所属名称
|
||||||
|
private String dfshl;//付款明细-数量
|
||||||
|
private String cinventoryid_code;//存货编码、付款明细-产品编码
|
||||||
|
private String cinventoryid_name;//存货名称、付款明细-产品名称
|
||||||
|
|
||||||
|
|
||||||
private String bbhl;//本币汇率
|
private String bbhl;//本币汇率
|
||||||
private String bfyhzh;//本方银行帐号主键
|
private String bfyhzh;//本方银行帐号主键
|
||||||
private String bzbm;//币种主键
|
private String bzbm;//币种主键
|
||||||
private String bzbm_code;//币种编码
|
private String bzbm_code;//币种编码
|
||||||
private String bzbm_name;//币种名称
|
private String bzbm_name;//币种名称
|
||||||
private String cinventoryid;//存货主键
|
private String cinventoryid;//存货主键
|
||||||
private String cinventoryid_code;//存货编码
|
|
||||||
private String cinventoryid_name;//存货名称
|
|
||||||
private String contractno;//采购合同号 5.1开始支持
|
private String contractno;//采购合同号 5.1开始支持
|
||||||
private String ddh;//订单号 5.0sp开始支持
|
private String ddh;//订单号 5.0sp开始支持
|
||||||
private String def1;//自定义项名称1
|
private String def1;//自定义项名称1
|
||||||
|
@ -194,8 +213,8 @@ public class DjzbVO {
|
||||||
private String fkyhzh;//付款银行帐号编码
|
private String fkyhzh;//付款银行帐号编码
|
||||||
private String fph;//发票号 5.0sp开始支持
|
private String fph;//发票号 5.0sp开始支持
|
||||||
private String hbbm;//客商主键
|
private String hbbm;//客商主键
|
||||||
private String hbbm_code;//客商编码
|
private String hbbm_code;//客商编码、开票方编码
|
||||||
private String hbbm_name;//客商名称
|
private String hbbm_name;//客商名称、开票方名称
|
||||||
private String hsdj;//含税单价
|
private String hsdj;//含税单价
|
||||||
private String jfbbje;//借方本币金额
|
private String jfbbje;//借方本币金额
|
||||||
private String jfbbsj;//借方本币税金
|
private String jfbbsj;//借方本币税金
|
||||||
|
|
Loading…
Reference in New Issue