漱玉远得取数定时任务

beta-enc
yishiqihuasheng 2 years ago
parent 7ca3f51dfd
commit 34f25cd0d8
  1. 65
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/dto/yuande/YuandeInvoiceFormDTO.java
  2. 27
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/yuande/CorpBody.java
  3. 47
      jianshui-invoice/src/main/java/com/jianshui/invoice/domain/yuande/Invoiceformitem.java
  4. 31
      jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/yuande/InvoiceFormItemMapper.java
  5. 49
      jianshui-invoice/src/main/java/com/jianshui/invoice/mapper/yuande/InvoiceFormMapper.java
  6. 195
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/impl/yuande/InvoiceFormServiceImpl.java
  7. 36
      jianshui-invoice/src/main/java/com/jianshui/invoice/service/yuande/IInvoiceFormService.java
  8. 128
      jianshui-invoice/src/main/java/com/jianshui/invoice/task/yuande/YuanDeInformPushShuYuTask.java
  9. 25
      jianshui-invoice/src/main/java/com/jianshui/invoice/utils/yuande/EntityToMap.java
  10. 35
      jianshui-invoice/src/main/resources/mapper/invoice/yuande/InvoiceFormItemMapper.xml
  11. 143
      jianshui-invoice/src/main/resources/mapper/invoice/yuande/InvoiceFormMapper.xml

@ -0,0 +1,65 @@
package com.jianshui.invoice.domain.dto.yuande;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jianshui.invoice.domain.yuande.Invoiceformitem;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class YuandeInvoiceFormDTO implements Serializable {
private static final long serialVersionUID = 1L;
//记录Id
private String id;
//开票人(固定值)
private String[] owner = {"FSUID_5DCF10DE85AA29CF6ECF414C2F22F669"};
//对象名称(固定值)
private String dataObjectApiName = "Invoiceform__c";
//客户名称
private String customer__c;
//订单编号
private String salesorderid__c;
//发票抬头
private String fptt__c;
//开户银行
private String fkdwkhyh__c;
//银行账号
private String fkdwyhzh__c;
//地址
private String fkdwdz__c;
//电话
private String fkdwdh__c;
//税号
private String tyshxydm__c;
@JsonFormat(pattern = "yyyy-MM-dd")
//开票日期
private Date kprq__c;
//发票号码
private String fphm__c;
//备注
private String field_91Rds__c;
//税率:百分比暂时
private BigDecimal taxrate__c;
//关联明细表
private List<Invoiceformitem> invoiceformitems;
}

@ -0,0 +1,27 @@
package com.jianshui.invoice.domain.yuande;
import lombok.Data;
import java.io.Serializable;
@Data
public class CorpBody implements Serializable {
private static final long serialVersionUID = 1L;
/** 企业应用访问公司合法性凭证 */
private String corpAccessToken;
/** 开放平台派发的公司帐号 */
private String corpId;
/** 过期时间 */
private String expiresIn;
/** 返回码 */
private String errorCode;
/** 错误信息提示 */
private String errorMessage;
private String traceId;
}

@ -0,0 +1,47 @@
package com.jianshui.invoice.domain.yuande;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
@Data
public class Invoiceformitem implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 开票人固定
*/
private String owner = "FSUID_5DCF10DE85AA29CF6ECF414C2F22F669";
/**
* 数量
*/
private int quantity__c;
/**
* 开票单价
*/
private BigDecimal price__c;
/**
* 物料编码
*/
private String field_E01xD__c;
/*
* 开票单位
*/
private String unit__c;
// private String id;
// private String name;
// private String InvoiceformId;
// private BigDecimal subTotal;
// private String remark;
}

@ -0,0 +1,31 @@
package com.jianshui.invoice.mapper.yuande;
import com.jianshui.invoice.domain.yuande.Invoiceformitem;
import java.util.List;
/*/**
* @Author 一十七画生
* @Description 查询远得库开票信息明细
* @Date 2023/4/6
**/
public interface InvoiceFormItemMapper {
/*/**
* @Author 一十七画生
* @Description
* @Date 2023/4/6
* @Param
* @return 开票信息明细集合
**/
List<Invoiceformitem> findAllPushInfo(List<String> ids);
/*/**
* @Author 一十七画生
* @Description 跟据id查询远得系统内开票信息明细
* @Date 2023/4/7
* @Param
* @return
**/
List<Invoiceformitem> findAllPushInfoWithId(String id);
}

@ -0,0 +1,49 @@
package com.jianshui.invoice.mapper.yuande;
import com.jianshui.invoice.domain.dto.yuande.YuandeInvoiceFormDTO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/*/**
* @Author 一十七画生
* @Description 查询远得系统数据库开票信息表
* @Date 2023/4/6
**/
public interface InvoiceFormMapper {
/*/**
* @Author 一十七画生
* @Description 查询总数
* @Date 2023/4/10
* @return
**/
public long findTotal(@Param("date1") String date1,@Param("date2") String date2);
/*/**
* @Author 一十七画生
* @Description
* @Date 2023/4/6
* @Param date1上一个日期date2本次执行日期
* @return 开票信息集合
**/
public List<YuandeInvoiceFormDTO> findInvoiceFormListWithInvoiceFromItem(@Param("date1") String date1, @Param("date2") String date2);
/*/**
* @Author 一十七画生
* @Description
* @Date 2023/4/6
* @Param date1上一个日期date2本次执行日期
* @return 开票信息集合
**/
public List<YuandeInvoiceFormDTO> findInvoiceFormList(@Param("date1") String date1, @Param("date2") String date2);
/*/**
* @Author 一十七画生
* @Description
* @Date 2023/4/6
* @Param date1上一个日期date2本次执行日期
* @return 分页查询开票信息集合
**/
public List<YuandeInvoiceFormDTO> findInvoiceFormByPage(@Param("date1") String date1, @Param("date2") String date2, @Param("pageSize")int pageSize, @Param("currentPage")int currentPage);
}

@ -0,0 +1,195 @@
package com.jianshui.invoice.service.impl.yuande;
import cn.hutool.core.map.MapUtil;
import com.alibaba.fastjson.JSONObject;
import com.jianshui.invoice.domain.dto.yuande.YuandeInvoiceFormDTO;
import com.jianshui.invoice.domain.yuande.CorpBody;
import com.jianshui.invoice.domain.yuande.Invoiceformitem;
import com.jianshui.invoice.mapper.yuande.InvoiceFormItemMapper;
import com.jianshui.invoice.mapper.yuande.InvoiceFormMapper;
import com.jianshui.invoice.service.yuande.IInvoiceFormService;
import com.jianshui.invoice.utils.yuande.EntityToMap;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
@Slf4j
@Data
public class InvoiceFormServiceImpl implements IInvoiceFormService {
@Autowired
private InvoiceFormMapper invoiceFormMapper;
@Autowired
private InvoiceFormItemMapper invoiceFromItemMapper;
/** 前一天日期 */
private static String date1;
/** 后一天日期 */
private static String date2;
/**
* @Description 将所有信息封装一起
**/
@Override
public JSONObject getPushInfo(CorpBody corpBody) {
//判断参数是否为空
if (ObjectUtils.isEmpty(corpBody)){
return null;
}
//获取日期转换器
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
//获取当天日期
date2 = dateFormat.format(date);
//查询传输信息
List<YuandeInvoiceFormDTO> invoiceFormList = invoiceFormMapper.findInvoiceFormList(date1,date2);
//date1转换为当天日期
date1 = date2;
//获取所有开票信息的id集合
List<String> ids = invoiceFormList.stream().map(YuandeInvoiceFormDTO::getId).collect(Collectors.toList());
//将开票信息放入objectData
Map<String, Object> objectData = MapUtil.newHashMap();
objectData.put("object_data",invoiceFormList);
//查询开票信息明细
List<Invoiceformitem> allPushInfo = invoiceFromItemMapper.findAllPushInfo(ids);
//将开票信息明细放入到details
Map<String, Object> details = MapUtil.newHashMap();
details.put("Invoiceformitem__c",allPushInfo);
//将objectData和details放入到data中
Map<String, Object> data = MapUtil.newHashMap();
data.put("object_data",objectData);
data.put("details",details);
//将信息放入到jsonobject中
JSONObject dataMap = new JSONObject();
dataMap.put("corpAccessToken",corpBody.getCorpAccessToken());
dataMap.put("corpId",corpBody.getCorpId());
dataMap.put("currentOpenUserId","FSUID_5DCF10DE85AA29CF6ECF414C2F22F669");
dataMap.put("data",data);
//返回结果集
return dataMap;
}
/**
* @Description 一条开票信息分装
**/
@Override
public List<JSONObject> getPushInfos(CorpBody corpBody) {
//判断参数是否为空
if (ObjectUtils.isEmpty(corpBody)){
log.info("传入应用授权参数为空");
return null;
}
//获取日期转换器
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
//获取当天日期
date2 = dateFormat.format(date);
//查询开票信息
List<YuandeInvoiceFormDTO> invoiceFormList = invoiceFormMapper.findInvoiceFormListWithInvoiceFromItem(date1,date2);
//date1转换为当天日期
date1 = date2;
if (Objects.isNull(invoiceFormList)){
log.info("查询到的开票信息表为空");
return null;
}
//创建一个list封装返回值
List<JSONObject> list = new ArrayList<>();
for (YuandeInvoiceFormDTO invoiceFromDTO : invoiceFormList) {
//details信息封装
HashMap<String, Object> details = MapUtil.newHashMap();
details.put("Invoiceformitem__c",invoiceFromDTO.getInvoiceformitems());
//objectData封装
Map<String, Object> objectData = EntityToMap.toMap(invoiceFromDTO);
objectData.remove("invoiceformitems");
//data数据封装
HashMap<String, Object> data = MapUtil.newHashMap();
data.put("object_data",objectData);
data.put("details",details);
//创建返回json
JSONObject dataMap = new JSONObject();
//添加认证信息
dataMap.put("corpAccessToken",corpBody.getCorpAccessToken());
dataMap.put("corpId",corpBody.getCorpId());
dataMap.put("currentOpenUserId","FSUID_5DCF10DE85AA29CF6ECF414C2F22F669");
dataMap.put("data",data);
//将数据添加到集合
list.add(dataMap);
}
return list;
}
/**
* @Description 分页进行封装
**/
@Override
public List<JSONObject> getPushInfo(CorpBody corpBody, int pageSize) {
//判断参数是否为空
if (ObjectUtils.isEmpty(corpBody)){
log.info("传入应用授权参数为空");
return null;
}
//获取日期转换器
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
//获取当天日期
date2 = dateFormat.format(date);
//查询信息总数
long total = invoiceFormMapper.findTotal(date1, date2);
//计算总页数
int pageTotal = (int) (total % pageSize == 0 ? total / pageSize:total / pageSize+1);
//当前页数
int currentPage = 1;
//创建集合
List<JSONObject> list = new ArrayList<>();
for (int i = 0; i < pageTotal; i++) {
//查询传输信息
List<YuandeInvoiceFormDTO> invoiceFormList = invoiceFormMapper.findInvoiceFormByPage(date1,date2,pageSize,(currentPage-1)*pageSize);
//判断查询信息是否为空
if (ObjectUtils.isEmpty(invoiceFormList)) {
log.info("查询到开票信息为空");
return null;
}
//获取开票信息id集合
List<String> ids = invoiceFormList.stream().map(YuandeInvoiceFormDTO::getId).collect(Collectors.toList());
//将开票信息放入objectData
Map<String, Object> objectData = MapUtil.newHashMap();
objectData.put("object_data",invoiceFormList);
//查询开票信息明细
List<Invoiceformitem> invoiceformitems = invoiceFromItemMapper.findAllPushInfo(ids);
//将开票信息明细放入到details
Map<String, Object> details = MapUtil.newHashMap();
details.put("Invoiceformitem__c",invoiceformitems);
//将objectData和details放入到data中
Map<String, Object> data = MapUtil.newHashMap();
data.put("object_data",objectData);
data.put("details",details);
//将信息放入到jsonobject中
JSONObject dataMap = new JSONObject();
dataMap.put("corpAccessToken",corpBody.getCorpAccessToken());
dataMap.put("corpId",corpBody.getCorpId());
dataMap.put("currentOpenUserId","FSUID_5DCF10DE85AA29CF6ECF414C2F22F669");
dataMap.put("data",data);
list.add(dataMap);
//当前页进入下一页
currentPage++;
}
//date1转换为当天日期
date1 = date2;
return list;
}
}

@ -0,0 +1,36 @@
package com.jianshui.invoice.service.yuande;
import com.alibaba.fastjson.JSONObject;
import com.jianshui.invoice.domain.yuande.CorpBody;
import java.util.List;
public interface IInvoiceFormService {
/*/**
* @Author 一十七画生
* @Description
* @Date 2023/4/6
* @Param cropBody
* @return 封装
**/
JSONObject getPushInfo(CorpBody corpBody);
/*/**
* @Author 一十七画生
* @Description 将所需报文封装到list
* @Date 2023/4/7
* @Param CorpBody
* @return
**/
List<JSONObject> getPushInfos(CorpBody corpBody);
/*/**
* @Author 一十七画生
* @Description 分页查询开票信息表
* @Date 2023/4/10
* @Param 认证授权参数分页大小
* @return
**/
List<JSONObject> getPushInfo(CorpBody corpBody, int pageSize);
}

@ -0,0 +1,128 @@
package com.jianshui.invoice.task.yuande;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import com.jianshui.invoice.domain.yuande.CorpBody;
import com.jianshui.invoice.service.yuande.IInvoiceFormService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Objects;
@Component("yuanDeInformPushShuYuTask")
@Slf4j
public class YuanDeInformPushShuYuTask {
@Autowired
private IInvoiceFormService invoiceFormService;
/**
* @Author 路明慧
* @Description 将开票信息表一次性发送
* @Date 2023/4/10
**/
public void infoPushAllMap(){
//请求接口路径
String url= "https://open.fxiaoke.com/cgi/corpAccessToken/get/V2";
//请求参数封装
JSONObject paramMap = new JSONObject();
paramMap.put("appId","FSAID_131be20");
paramMap.put("appSecret","78db04ad63c645609d0b05127fe73715");
paramMap.put("permanentCode","C1A6DFC2DFDEC79CECC207D00658DBF3");
//发送请求
String respRaw = HttpUtil.createPost(url).body(paramMap.toString()).execute().body();
//返回报文封装实体
CorpBody corpBody = JSONUtil.toBean(respRaw, CorpBody.class);
//获取要传输的报文信息
JSONObject pushInfo = invoiceFormService.getPushInfo(corpBody);
//调用对方接口完成信息推送
String url1 = "https://open.fxiaoke.com/cgi/crm/custom/v2/data/create";
HttpUtil.createPost(url1).body(pushInfo.toString()).execute().body();
}
/**
* @Author 路明慧
* @Description 将开票信息表每次一条记录
* @Date 2023/4/10
**/
public void infoPush(){
log.info("开始执行推送远得数据的定时任务");
//请求接口路径
String url1= "https://open.fxiaoke.com/cgi/corpAccessToken/get/V2";
//请求参数封装
JSONObject paramMap = new JSONObject();
paramMap.put("appId","FSAID_131be20");
paramMap.put("appSecret","78db04ad63c645609d0b05127fe73715");
paramMap.put("permanentCode","C1A6DFC2DFDEC79CECC207D00658DBF3");
//发送请求
String respRaw = HttpUtil.createPost(url1).body(paramMap.toString()).execute().body();
//返回报文封装实体
CorpBody corpBody = JSONUtil.toBean(respRaw, CorpBody.class);
if ("success".equals(corpBody.getErrorMessage())){
log.info("获取应用授权成功");
}else {
log.info("获取应用授权失败:"+corpBody.getErrorMessage());
}
//信息传输接口
String url2 = "https://open.fxiaoke.com/cgi/crm/custom/v2/data/create";
//获取要传输的报文信息
List<JSONObject> pushInfos = invoiceFormService.getPushInfos(corpBody);
//判断参数是否为空
if (!Objects.isNull(pushInfos)){
for (int i = 0; i < pushInfos.size(); i++) {
//调用对方接口完成信息推送
HttpUtil.createPost(url2).body(pushInfos.get(i).toString()).execute().body();
try {
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
log.info("线程休眠异常");
}
}
log.info("任务完成");
}
}
public void infoPushLimit(int pageSize){
log.info("开始执行推送远得数据的定时任务");
//获取应用授权的url
String url1 = "https://open.fxiaoke.com/cgi/corpAccessToken/get/V2";
//封装认证所需要的参数
JSONObject paramMap = new JSONObject();
paramMap.put("appId","FSAID_131be20");
paramMap.put("appSecret","78db04ad63c645609d0b05127fe73715");
paramMap.put("permanentCode","C1A6DFC2DFDEC79CECC207D00658DBF3");
//获取应用授权
String respRaw = HttpUtil.createPost(url1).body(paramMap.toString()).execute().body();
//反序列化为实体
CorpBody corpBody = JSONUtil.toBean(respRaw, CorpBody.class);
if ("success".equals(corpBody.getErrorMessage())){
log.info("获取应用授权成功");
}else {
log.info("获取应用授权失败:"+corpBody.getErrorMessage());
}
//获取推送信息集合
List<JSONObject> jsonObjects = invoiceFormService.getPushInfo(corpBody, pageSize);
//判断是否为空
if (!jsonObjects.isEmpty()) {
log.info("任务开始执行");
//信息传输接口
String url2 = "https://open.fxiaoke.com/cgi/crm/custom/v2/data/create";
for (JSONObject jsonObject: jsonObjects) {
//调用对方接口完成信息推送
HttpUtil.createPost(url2).body(jsonObject.toString()).execute().body();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
log.info("线程休眠异常");
}
}
}
log.info("任务完成");
}
}

@ -0,0 +1,25 @@
package com.jianshui.invoice.utils.yuande;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class EntityToMap {
//将实体转化成map
public static Map<String,Object> toMap(Object object){
Map<String, Object> map = new HashMap<>();
for (Field field : object.getClass().getDeclaredFields()) {
try {
boolean flag = field.isAccessible();
field.setAccessible(true);
Object o = field.get(object);
map.put(field.getName(), o);
field.setAccessible(flag);
} catch (Exception e) {
e.printStackTrace();
}
}
return map;
}
}

@ -0,0 +1,35 @@
<?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.jianshui.invoice.mapper.yuande.InvoiceFormItemMapper">
<resultMap id="invoiceFromItem" type="com.jianshui.invoice.domain.yuande.Invoiceformitem">
<result column="quantity" property="quantity__c"></result>
<result column="price" property="price__c"></result>
<result column="unit" property="unit__c"></result>
<result column="product" property="field_E01xD__c"></result>
</resultMap>
<!-- 查询所有-->
<select id="findAllPushInfo" resultMap="invoiceFromItem" parameterType="list">
select quantity,
price,
unit,
product
from invoiceformitem
where invoiceformid in
<foreach collection="invoiceformids" item="invoiceformid" separator="," close=")" open="(">
#{invoiceformid}
</foreach>
</select>
<!-- 跟据invoiceformid查询所有-->
<select id="findAllPushInfoWithId" parameterType="string" resultMap="invoiceFromItem">
select quantity,
price,
unit,
product
from invoiceformitem
where invoiceformid = #{id}
</select>
</mapper>

@ -0,0 +1,143 @@
<?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.jianshui.invoice.mapper.yuande.InvoiceFormMapper">
<!--两表联查-->
<resultMap id="invoiceFromVoWithItem" type="com.jianshui.invoice.domain.dto.yuande.YuandeInvoiceFormDTO">
<result property="customer__c" column="customer"></result>
<result property="salesorderid__c" column="salesorderid"></result>
<result property="fptt__c" column="fptt"></result>
<result property="fkdwkhyh__c" column="fkdwkhyh"></result>
<result property="fkdwyhzh__c" column="fkdwyhzh"></result>
<result property="fkdwdz__c" column="fkdwdz"></result>
<result property="fkdwdh__c" column="fkdwdh"></result>
<result property="tyshxydm__c" column="tyshxydm"></result>
<result property="kprq__c" column="kprq"></result>
<result property="fphm__c" column="fphm"></result>
<result property="field_91Rds__c" column="bz"></result>
<result property="taxrate__c" column="taxrate"></result>
<collection property="invoiceformitems" ofType="com.jianshui.invoice.domain.yuande.Invoiceformitem">
<result property="quantity__c" column="quantity"></result>
<result property="price__c" column="price"></result>
<result property="field_E01xD__c" column="product"></result>
<result property="unit__c" column="unit"></result>
</collection>
</resultMap>
<select id="findInvoiceFormListWithInvoiceFromItem" resultMap="invoiceFromVoWithItem">
select
invoiceform.customer customer,
invoiceform.salesorderid salesorderid,
invoiceform.fptt fptt,
invoiceform.fkdwkhyh fkdwkhyh,
invoiceform.fkdwyhzh fkdwyhzh,
invoiceform.fkdwdz fkdwdz,
invoiceform.fkdwdh fkdwdh,
invoiceform.tyshxydm tyshxydm,
invoiceform.kprq kprq,
invoiceform.fphm fphm,
invoiceform.bz bz,
invoiceform.taxrate taxrate,
invoiceformitem.quantity quantity,
invoiceformitem.price price,
invoiceformitem.product product,
invoiceformitem.unit unit
from invoiceform left join invoiceformitem
on invoiceform.id = invoiceformitem.id
<where>
<if test="date1 != null || date1 != ''">
and DATE(invoiceform.kprq) > #{date1}
</if>
<if test="date2 != null || date2 != ''">
and #{date2} >= DATE(invoiceform.kprq)
</if>
and LENGTH(invoiceform.customer)>=3
and invoiceform.tyshxydm is not null
</where>
</select>
<!-- 单表查询开票信息表-->
<resultMap id="invoiceFrom" type="com.jianshui.invoice.domain.dto.yuande.YuandeInvoiceFormDTO">
<result property="customer__c" column="customer"></result>
<result property="salesorderid__c" column="salesorderid"></result>
<result property="fptt__c" column="fptt"></result>
<result property="fkdwkhyh__c" column="fkdwkhyh"></result>
<result property="fkdwyhzh__c" column="fkdwyhzh"></result>
<result property="fkdwdz__c" column="fkdwdz"></result>
<result property="fkdwdh__c" column="fkdwdh"></result>
<result property="tyshxydm__c" column="tyshxydm"></result>
<result property="kprq__c" column="kprq"></result>
<result property="fphm__c" column="fphm"></result>
<result property="field_91Rds__c" column="bz"></result>
<result property="taxrate__c" column="taxrate"></result>
</resultMap>
<select id="findInvoiceFormList" resultMap="invoiceFrom">
select
customer,
salesorderid,
fptt,
fkdwkhyh,
fkdwyhzh,
fkdwdz,
fkdwdh,
tyshxydm,
kprq,
fphm,
bz,
taxrate
from invoiceform
<where>
<if test="date1 != null || date1 != ''">
and DATE(invoiceform.kprq) > #{date1}
</if>
<if test="date2 != null || date2 != ''">
and #{date2} >= DATE(invoiceform.kprq)
</if>
and LENGTH(invoiceform.customer)>=3
and invoiceform.tyshxydm is not null
</where>
</select>
<!-- 分页查询-->
<select id="findInvoiceFormByPage" resultMap="invoiceFrom">
select
customer,
salesorderid,
fptt,
fkdwkhyh,
fkdwyhzh,
fkdwdz,
fkdwdh,
tyshxydm,
kprq,
fphm,
bz,
taxrate
from invoiceform
<where>
<if test="date1 != null || date1 != ''">
and DATE(invoiceform.kprq) > #{date1}
</if>
<if test="date2 != null || date2 != ''">
and #{date2} >= DATE(invoiceform.kprq)
</if>
and LENGTH(invoiceform.customer)>=3
and invoiceform.tyshxydm is not null
</where>
limit #{currentPage},#{pageSize}
</select>
<!-- 查询总数-->
<select id="findTotal" resultType="long">
select count(*) from invoiceform
<where>
<if test="date1 != null || date1 != ''">
and DATE(invoiceform.kprq) > #{date1}
</if>
<if test="date2 != null || date2 != ''">
and #{date2} >= DATE(invoiceform.kprq)
</if>
and LENGTH(invoiceform.customer)>=3
and invoiceform.tyshxydm is not null
</where>
</select>
</mapper>
Loading…
Cancel
Save