feat(deletedata): 新增删除U8C数据功能

- 新增 DeleteU8cDataUtil 类实现删除U8C数据的功能- 添加 DeleteU8cDataUtilDao 接口和实现类,用于查询需要删除的数据
- 新增 DeleteU8cDataUtilEntity 类作为删除数据的实体类- 添加 JsonRootBean、Deleteinfo 和 Queryinfo 类作为数据传输对象
- 在 SoSaleOutPluginInitializerToCTest 和 SoSaleReturnPluginInitializerToCTest 中添加测试代码
- 新增 DeleteU8cDataUtilTest 类进行删除功能的单元测试
This commit is contained in:
liuy 2024-12-18 20:14:08 +08:00
parent bbabc87ebb
commit 8cfd0f2378
15 changed files with 406 additions and 14 deletions

View File

@ -3,6 +3,8 @@ package com.hzya.frame.plugin.lets.dao;
import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity;
import com.hzya.frame.basedao.dao.IBaseDao;
import java.util.List;
/**
* (SO_SALEINVOICE: table)表数据库访问层
*
@ -11,5 +13,11 @@ import com.hzya.frame.basedao.dao.IBaseDao;
*/
public interface ISoSaleinvoiceDao extends IBaseDao<SoSaleinvoiceEntity, String> {
/**
* 查询需要删除的数据
*
* @author liuyang
*/
// List<SoSaleinvoiceEntity> querySoSaleinvoiceByDelete(SoSaleinvoiceEntity soSaleinvoiceEntity) throws Exception;
}

View File

@ -4,13 +4,20 @@ import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity;
import com.hzya.frame.plugin.lets.dao.ISoSaleinvoiceDao;
import org.springframework.stereotype.Repository;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
import java.util.List;
/**
* (SoSaleinvoice)表数据库访问层
*
* @author makejava
* @since 2024-08-31 14:43:53
*/
public class SoSaleinvoiceDaoImpl extends MybatisGenericDao<SoSaleinvoiceEntity, String> implements ISoSaleinvoiceDao{
public class SoSaleinvoiceDaoImpl extends MybatisGenericDao<SoSaleinvoiceEntity, String> implements ISoSaleinvoiceDao {
// @Override
// public List<SoSaleinvoiceEntity> querySoSaleinvoiceByDelete(SoSaleinvoiceEntity soSaleinvoiceEntity) throws Exception {
// return query("com.hzya.frame.plugin.lets.dao.impl.SoSaleinvoiceDaoImpl.querySoSaleinvoiceByDelete", soSaleinvoiceEntity);
// }
}

View File

@ -9,7 +9,6 @@ import com.hzya.frame.web.entity.BaseEntity;
* @since 2024-08-31 14:43:53
*/
public class SoSaleinvoiceEntity extends BaseEntity {
private String bfreecustflag;
private String binitflag;
private String btogoldtax;
@ -125,7 +124,6 @@ public class SoSaleinvoiceEntity extends BaseEntity {
// public void setCheckNtotalsummny(String checkNtotalsummny) {
// this.checkNtotalsummny = checkNtotalsummny;
// }
public String getBfreecustflag() {
return bfreecustflag;
}

View File

@ -1226,6 +1226,5 @@ update SO_SALEINVOICE set sts= 'N' ,modify_time = #{modify_time},modify_user_id
<delete id="entity_delete">
delete from SO_SALEINVOICE where CSALEID = #{csaleid}
</delete>
</mapper>

View File

@ -1,11 +1,19 @@
package com.hzya.frame.plugin.lets.plugin.sales;
import cn.hutool.core.lang.Assert;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.WebappApplication;
import com.hzya.frame.plugin.lets.constant.OverallConstant;
import com.hzya.frame.plugin.lets.dao.ISoSaleinvoiceDao;
import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity;
import com.hzya.frame.plugin.lets.ofs.dao.ITocofsSaleoutDetailedDao;
import com.hzya.frame.plugin.lets.ofs.entity.TocofsSaleoutDetailedEntity;
import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo;
import com.hzya.frame.plugin.lets.u8cdto.ErrorHeaderDetailsDtoDto;
import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
import com.hzya.frame.plugin.lets.u8cdto.SoSaleResultRootDto;
import com.hzya.frame.plugin.lets.util.OfsStandardUtil;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
@ -112,7 +120,7 @@ class SoSaleOutPluginInitializerToCTest {
// String aaa = "LETS-SH2024102800021196";
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-12-06 09:25:39", "2024-12-06 09:25:39");
soSaleOutPluginInitializerToC.startImplementStockByTime("2024-12-01 00:00:00", "2024-12-01 23:59:59");
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-15 13:47:37", "2024-10-15 13:47:37");
} catch (Exception e) {
e.printStackTrace();
}
@ -120,7 +128,7 @@ class SoSaleOutPluginInitializerToCTest {
// soSaleOutPluginInitializerToC.sendU8CTOCOrder("123446");
try {
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024113000012787", "stock");
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024101500002500", "stock");
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500013375", "tran");
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024111700013756", "tran");

View File

@ -2,7 +2,9 @@ package com.hzya.frame.plugin.lets.plugin.sales;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.WebappApplication;
import com.hzya.frame.plugin.lets.entity.BdBusitypeEntity;
import com.hzya.frame.plugin.lets.queryvo.StartAndEndVo;
import com.hzya.frame.plugin.lets.util.QueryBdBusitypeUtil;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@ -26,15 +28,18 @@ public class SoSaleReturnPluginInitializerToCTest {
@Autowired
private SoSaleReturnPluginInitializerToC soSaleReturnPluginInitializerToC;
@Autowired
private QueryBdBusitypeUtil queryBdBusitypeUtil;
@Test
public void startImplement() {
// soSaleReturnPluginInitializerToC.startImplement(null, null);
try {
String code = "LETS-RE2024112600000411";
soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock");
} catch (Exception e) {
e.printStackTrace();
}
// try {
// String code = "LETS-RE2024112600000411";
// soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock");
// } catch (Exception e) {
// e.printStackTrace();
// }
// List<StartAndEndVo> startAndEndVos = soSaleReturnPluginInitializerToC.calculateCalculateEntireDayPeriod(null);
// soSaleReturnPluginInitializerToC.startImplementStockByTime(startAndEndVos.get(0).getStart_time(), startAndEndVos.get(0).getEnd_time());
@ -50,5 +55,15 @@ public class SoSaleReturnPluginInitializerToCTest {
} catch (Exception e) {
e.printStackTrace();
}
BdBusitypeEntity bdBusitypeEntity1 = queryBdBusitypeUtil.queryBdBusitype("TOC销售");
System.out.println("TOC销售:" + bdBusitypeEntity1.getPkBusitype());
BdBusitypeEntity bdBusitypeEntity2 = queryBdBusitypeUtil.queryBdBusitype("TOC冲发出商品");
System.out.println("TOC冲发出商品:" + bdBusitypeEntity2.getPkBusitype());
BdBusitypeEntity bdBusitypeEntity3 = queryBdBusitypeUtil.queryBdBusitype("TOC确认收入");
System.out.println("TOC确认收入:" + bdBusitypeEntity3.getPkBusitype());
BdBusitypeEntity bdBusitypeEntity4 = queryBdBusitypeUtil.queryBdBusitype("TOC售后完成");
System.out.println("TOC售后完成:" + bdBusitypeEntity4.getPkBusitype());
}
}

View File

@ -0,0 +1,34 @@
package com.hzya.frame.plugin.lets.util;
import com.hzya.frame.WebappApplication;
import com.hzya.frame.deletedata.DeleteU8cDataUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/**
* @Authorliuyang
* @Packagecom.hzya.frame.plugin.lets.util
* @ProjectkangarooDataCenterV3
* @nameDeleteU8cDataUtilTest
* @Date2024/12/18 18:36
* @FilenameDeleteU8cDataUtilTest
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = WebappApplication.class)
public class DeleteU8cDataUtilTest {
@Autowired
private DeleteU8cDataUtil deleteU8cDataUtil;
@Test
public void deleteSoSaleinvoice() {
try {
deleteU8cDataUtil.querySoSaleinvoice();
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -0,0 +1,83 @@
package com.hzya.frame.deletedata;
import cn.hutool.http.HttpRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hzya.frame.deletedata.dao.DeleteU8cDataUtilDao;
import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
//import com.hzya.frame.plugin.lets.dao.ISoSaleinvoiceDao;
//import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity;
//import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
import com.hzya.frame.deletedata.vo.Deleteinfo;
import com.hzya.frame.deletedata.vo.JsonRootBean;
import com.hzya.frame.deletedata.vo.Queryinfo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Authorliuyang
* @Packagecom.hzya.frame.plugin.lets.util
* @ProjectkangarooDataCenterV3
* @nameDeleteU8cDataUtil
* @Date2024/12/18 18:35
* @FilenameDeleteU8cDataUtil
*/
@Component
public class DeleteU8cDataUtil {
@Autowired
private DeleteU8cDataUtilDao deleteU8cDataUtilDao;
/**
* 删除销售发票
*/
public void querySoSaleinvoice() {
try {
DeleteU8cDataUtilEntity soSaleinvoiceEntity = new DeleteU8cDataUtilEntity();
soSaleinvoiceEntity.setDataSourceCode("lets_u8c");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleinvoiceByDelete(soSaleinvoiceEntity);
System.out.println("条数:" + soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
for (int i = 0; i < soSaleinvoiceEntities.size(); i++) {
DeleteU8cDataUtilEntity deleteU8cDataUtilEntity = soSaleinvoiceEntities.get(i);
Deleteinfo deleteinfo = new Deleteinfo();
deleteinfo.setCoperator("tbadmin");
Queryinfo queryinfo = new Queryinfo();
queryinfo.setCorp(deleteU8cDataUtilEntity.getUnitcode());
queryinfo.setDate_begin("2024-11-01");
queryinfo.setDate_end("2024-11-30");
queryinfo.setCode(deleteU8cDataUtilEntity.getVreceiptcode());
JsonRootBean jsonRootBean = new JsonRootBean();
jsonRootBean.setDeleteinfo(deleteinfo);
jsonRootBean.setQueryinfo(queryinfo);
sendU8C(JSON.toJSONString(jsonRootBean));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 2024年8月8日 10:54:48
* 推送U8C销售订单方法
*
* @author liuyang
*/
public void sendU8C(String param) throws Exception {
String result = HttpRequest.post("http://39.170.109.90:8088/u8cloud/api/so/saleinvoice/delete").header("usercode", "admin1").header("password", "f7fcde654e968541cc803c4b08c30abb").header("system", "lz1").header("trantype", "code").body(param)//表单内容
.timeout(600000)//超时毫秒
.execute().body();
JSONObject jsonObject = JSON.parseObject(result);
result = String.valueOf(jsonObject.get("attribute"));
System.out.println(result);
}
}

View File

@ -0,0 +1,22 @@
package com.hzya.frame.deletedata.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.basedao.dao.IBaseDao;
import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
import java.util.List;
/**
* 报表授权表(report_accredit: table)表数据库访问层
*
* @author makejava
* @since 2024-05-21 15:02:11
*/
public interface DeleteU8cDataUtilDao extends IBaseDao<DeleteU8cDataUtilEntity, String> {
/**
* 查询需要删除的数据
*
* @author liuyang
*/
List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception;
}

View File

@ -0,0 +1,26 @@
package com.hzya.frame.deletedata.dao.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.deletedata.dao.DeleteU8cDataUtilDao;
import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* 报表授权表(ReportAccredit)表数据库访问层
*
* @author makejava
* @since 2024-05-21 15:02:11
*/
@Repository(value = "DeleteU8cDataUtilDaoImpl")
public class DeleteU8cDataUtilDaoImpl extends MybatisGenericDao<DeleteU8cDataUtilEntity, String> implements DeleteU8cDataUtilDao {
@DS("lets_u8c")
@Override
public List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception {
return query("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.querySoSaleinvoiceByDelete", soSaleinvoiceEntity);
}
}

View File

@ -0,0 +1,50 @@
package com.hzya.frame.deletedata.entity;
import com.hzya.frame.web.entity.BaseEntity;
/**
* 报表授权表(ReportAccredit)实体类
*
* @author makejava
* @since 2024-05-21 15:02:12
*/
public class DeleteU8cDataUtilEntity extends BaseEntity {
private String vreceiptcode;
private String pk_corp;
private String dbilldate;
private String unitcode;
public String getUnitcode() {
return unitcode;
}
public void setUnitcode(String unitcode) {
this.unitcode = unitcode;
}
public String getVreceiptcode() {
return vreceiptcode;
}
public void setVreceiptcode(String vreceiptcode) {
this.vreceiptcode = vreceiptcode;
}
public String getPk_corp() {
return pk_corp;
}
public void setPk_corp(String pk_corp) {
this.pk_corp = pk_corp;
}
public String getDbilldate() {
return dbilldate;
}
public void setDbilldate(String dbilldate) {
this.dbilldate = dbilldate;
}
}

View File

@ -0,0 +1,33 @@
<?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.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl">
<resultMap id="get-DeleteU8cDataUtilEntity-result" type="com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity" >
<result property="vreceiptcode" column="vreceiptcode" jdbcType="VARCHAR"/>
<result property="pk_corp" column="pk_corp" jdbcType="VARCHAR"/>
<result property="dbilldate" column="dbilldate" jdbcType="VARCHAR"/>
<result property="unitcode" column="unitcode" jdbcType="VARCHAR"/>
</resultMap>
<!--查询需要删除的销售发票-->
<select id="querySoSaleinvoiceByDelete" parameterType="com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity" resultMap="get-DeleteU8cDataUtilEntity-result">
SELECT
a.csaleid,
a.vreceiptcode,
a.dbilldate,
a.cbiztype,
a.fstatus,
a.pk_corp,
b.unitname,
b.unitcode
FROM
so_saleinvoice a
LEFT JOIN bd_corp b ON b.pk_corp = a.pk_corp
WHERE
a.cbiztype IN ( '0001A110000000000E7S', '0001A110000000001TH5', '0001A110000000001TH6', '0001A11000000000H1FM' )
AND a.dbilldate >= '2024-11-01 00:00:00'
AND a.dbilldate &lt;= '2024-11-30 23:59:59'
AND a.FSTATUS = 1
AND a.dr = 0
</select>
</mapper>

View File

@ -0,0 +1,24 @@
/**
* Copyright 2024 bejson.com
*/
package com.hzya.frame.deletedata.vo;
/**
* Auto-generated: 2024-12-18 19:6:3
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Deleteinfo {
private String coperator;
public void setCoperator(String coperator) {
this.coperator = coperator;
}
public String getCoperator() {
return coperator;
}
}

View File

@ -0,0 +1,33 @@
/**
* Copyright 2024 bejson.com
*/
package com.hzya.frame.deletedata.vo;
/**
* Auto-generated: 2024-12-18 19:6:3
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class JsonRootBean {
private Deleteinfo deleteinfo;
private Queryinfo queryinfo;
public void setDeleteinfo(Deleteinfo deleteinfo) {
this.deleteinfo = deleteinfo;
}
public Deleteinfo getDeleteinfo() {
return deleteinfo;
}
public void setQueryinfo(Queryinfo queryinfo) {
this.queryinfo = queryinfo;
}
public Queryinfo getQueryinfo() {
return queryinfo;
}
}

View File

@ -0,0 +1,52 @@
/**
* Copyright 2024 bejson.com
*/
package com.hzya.frame.deletedata.vo;
import java.util.Date;
/**
* Auto-generated: 2024-12-18 19:6:3
*
* @author bejson.com (i@bejson.com)
* @website http://www.bejson.com/java2pojo/
*/
public class Queryinfo {
private String corp;
private String date_begin;
private String date_end;
private String code;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCorp() {
return corp;
}
public void setCorp(String corp) {
this.corp = corp;
}
public String getDate_begin() {
return date_begin;
}
public void setDate_begin(String date_begin) {
this.date_begin = date_begin;
}
public String getDate_end() {
return date_end;
}
public void setDate_end(String date_end) {
this.date_end = date_end;
}
}