feat(deletedata): 新增删除销售订单和销售出库单功能

- 新增 DeleteIcGeneralHVo 和 DeleteSoSaleVo 类用于查询销售出库单和销售订单
- 在 DeleteU8cDataUtilDao 中添加 queryIcGeneralHByDelete 和 querySoSaleByDelete 方法
- 在 DeleteU8cDataUtil 中实现 deleteSoSale 和 deleteIcGeneralH 方法
- 优化 deleteSoSaleinvoice 方法,使用日志记录条数
- 重构 sendU8C 方法,增加 URL 参数
This commit is contained in:
liuy 2024-12-19 11:27:35 +08:00
parent 8cfd0f2378
commit 4b0473e700
10 changed files with 367 additions and 22 deletions

View File

@ -120,7 +120,7 @@ class SoSaleOutPluginInitializerToCTest {
// String aaa = "LETS-SH2024102800021196"; // String aaa = "LETS-SH2024102800021196";
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-12-06 09:25:39", "2024-12-06 09:25:39"); // soSaleOutPluginInitializerToC.startImplementStockByTime("2024-12-06 09:25:39", "2024-12-06 09:25:39");
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-15 13:47:37", "2024-10-15 13:47:37"); soSaleOutPluginInitializerToC.startImplementStockByTime("2024-11-27 17:44:19", "2024-11-27 17:44:19");
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -26,7 +26,7 @@ public class DeleteU8cDataUtilTest {
@Test @Test
public void deleteSoSaleinvoice() { public void deleteSoSaleinvoice() {
try { try {
deleteU8cDataUtil.querySoSaleinvoice(); deleteU8cDataUtil.deleteSoSaleinvoice();
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

View File

@ -8,9 +8,9 @@ import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
//import com.hzya.frame.plugin.lets.dao.ISoSaleinvoiceDao; //import com.hzya.frame.plugin.lets.dao.ISoSaleinvoiceDao;
//import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity; //import com.hzya.frame.plugin.lets.entity.SoSaleinvoiceEntity;
//import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto; //import com.hzya.frame.plugin.lets.u8cdto.ReusltStrDto;
import com.hzya.frame.deletedata.vo.Deleteinfo; import com.hzya.frame.deletedata.vo.*;
import com.hzya.frame.deletedata.vo.JsonRootBean; import org.apache.logging.log4j.LogManager;
import com.hzya.frame.deletedata.vo.Queryinfo; import org.apache.logging.log4j.Logger;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -31,15 +31,17 @@ public class DeleteU8cDataUtil {
@Autowired @Autowired
private DeleteU8cDataUtilDao deleteU8cDataUtilDao; private DeleteU8cDataUtilDao deleteU8cDataUtilDao;
protected Logger logger = LogManager.getLogger(super.getClass());
/** /**
* 删除销售发票 * 删除销售订单
*/ */
public void querySoSaleinvoice() { public void deleteSoSale() {
try { try {
DeleteU8cDataUtilEntity soSaleinvoiceEntity = new DeleteU8cDataUtilEntity(); DeleteSoSaleVo deleteSoSaleVo = new DeleteSoSaleVo();
soSaleinvoiceEntity.setDataSourceCode("lets_u8c"); deleteSoSaleVo.setDataSourceCode("lets_u8c");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleinvoiceByDelete(soSaleinvoiceEntity); List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleByDelete(deleteSoSaleVo);
System.out.println("条数:" + soSaleinvoiceEntities.size()); logger.info("条数:{}", soSaleinvoiceEntities.size());
if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) { if (soSaleinvoiceEntities != null && soSaleinvoiceEntities.size() > 0) {
for (int i = 0; i < soSaleinvoiceEntities.size(); i++) { for (int i = 0; i < soSaleinvoiceEntities.size(); i++) {
DeleteU8cDataUtilEntity deleteU8cDataUtilEntity = soSaleinvoiceEntities.get(i); DeleteU8cDataUtilEntity deleteU8cDataUtilEntity = soSaleinvoiceEntities.get(i);
@ -49,14 +51,80 @@ public class DeleteU8cDataUtil {
Queryinfo queryinfo = new Queryinfo(); Queryinfo queryinfo = new Queryinfo();
queryinfo.setCorp(deleteU8cDataUtilEntity.getUnitcode()); queryinfo.setCorp(deleteU8cDataUtilEntity.getUnitcode());
queryinfo.setDate_begin("2024-11-01"); queryinfo.setDate_begin(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setDate_end("2024-11-30"); queryinfo.setDate_end(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setCode(deleteU8cDataUtilEntity.getVreceiptcode()); queryinfo.setCode(deleteU8cDataUtilEntity.getVreceiptcode());
JsonRootBean jsonRootBean = new JsonRootBean(); JsonRootBean jsonRootBean = new JsonRootBean();
jsonRootBean.setDeleteinfo(deleteinfo); jsonRootBean.setDeleteinfo(deleteinfo);
jsonRootBean.setQueryinfo(queryinfo); jsonRootBean.setQueryinfo(queryinfo);
sendU8C(JSON.toJSONString(jsonRootBean)); sendU8C("http://39.170.109.90:8088/u8cloud/api/so/saleorder/delete", JSON.toJSONString(jsonRootBean));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除销售出库单
*/
public void deleteIcGeneralH() {
try {
DeleteIcGeneralHVo deleteIcGeneralHVo = new DeleteIcGeneralHVo();
deleteIcGeneralHVo.setDataSourceCode("lets_u8c");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.queryIcGeneralHByDelete(deleteIcGeneralHVo);
logger.info("条数:{}", 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(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setDate_end(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setBillcode(deleteU8cDataUtilEntity.getVbillcode());
JsonRootBean jsonRootBean = new JsonRootBean();
jsonRootBean.setDeleteinfo(deleteinfo);
jsonRootBean.setQueryinfo(queryinfo);
sendU8C("http://39.170.109.90:8088/u8cloud/api/ic/saleout/delete", JSON.toJSONString(jsonRootBean));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 删除销售发票
*/
public void deleteSoSaleinvoice() {
try {
DeleteU8cDataUtilEntity soSaleinvoiceEntity = new DeleteU8cDataUtilEntity();
soSaleinvoiceEntity.setDataSourceCode("lets_u8c");
List<DeleteU8cDataUtilEntity> soSaleinvoiceEntities = deleteU8cDataUtilDao.querySoSaleinvoiceByDelete(soSaleinvoiceEntity);
logger.info("条数:{}", 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(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setDate_end(deleteU8cDataUtilEntity.getDbilldate());
queryinfo.setCode(deleteU8cDataUtilEntity.getVreceiptcode());
JsonRootBean jsonRootBean = new JsonRootBean();
jsonRootBean.setDeleteinfo(deleteinfo);
jsonRootBean.setQueryinfo(queryinfo);
sendU8C("http://39.170.109.90:8088/u8cloud/api/so/saleinvoice/delete", JSON.toJSONString(jsonRootBean));
} }
} }
} catch (Exception e) { } catch (Exception e) {
@ -71,13 +139,13 @@ public class DeleteU8cDataUtil {
* *
* @author liuyang * @author liuyang
*/ */
public void sendU8C(String param) throws Exception { public void sendU8C(String url, 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)//表单内容 String result = HttpRequest.post(url).header("usercode", "admin1").header("password", "f7fcde654e968541cc803c4b08c30abb").header("system", "lz1").header("trantype", "code").body(param)//表单内容
.timeout(600000)//超时毫秒 .timeout(600000)//超时毫秒
.execute().body(); .execute().body();
logger.info(result);
JSONObject jsonObject = JSON.parseObject(result); // JSONObject jsonObject = JSON.parseObject(result);
result = String.valueOf(jsonObject.get("attribute")); // result = String.valueOf(jsonObject.get("attribute"));
System.out.println(result); // System.out.println(result);
} }
} }

View File

@ -1,8 +1,9 @@
package com.hzya.frame.deletedata.dao; package com.hzya.frame.deletedata.dao;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.basedao.dao.IBaseDao; import com.hzya.frame.basedao.dao.IBaseDao;
import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity; import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
import com.hzya.frame.deletedata.vo.DeleteIcGeneralHVo;
import com.hzya.frame.deletedata.vo.DeleteSoSaleVo;
import java.util.List; import java.util.List;
@ -14,9 +15,23 @@ import java.util.List;
*/ */
public interface DeleteU8cDataUtilDao extends IBaseDao<DeleteU8cDataUtilEntity, String> { public interface DeleteU8cDataUtilDao extends IBaseDao<DeleteU8cDataUtilEntity, String> {
/** /**
* 查询需要删除的数据 * 查询需要删除的销售发票
* *
* @author liuyang * @author liuyang
*/ */
List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception; List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception;
/**
* 查询需要删除的销售出库单
*
* @author liuyang
*/
List<DeleteU8cDataUtilEntity> queryIcGeneralHByDelete(DeleteIcGeneralHVo deleteIcGeneralHVo) throws Exception;
/**
* 查询需要删除的销售订单
*
* @author liuyang
*/
List<DeleteU8cDataUtilEntity> querySoSaleByDelete(DeleteSoSaleVo deleteSoSaleVo) throws Exception;
} }

View File

@ -4,6 +4,8 @@ import com.baomidou.dynamic.datasource.annotation.DS;
import com.hzya.frame.basedao.dao.MybatisGenericDao; import com.hzya.frame.basedao.dao.MybatisGenericDao;
import com.hzya.frame.deletedata.dao.DeleteU8cDataUtilDao; import com.hzya.frame.deletedata.dao.DeleteU8cDataUtilDao;
import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity; import com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity;
import com.hzya.frame.deletedata.vo.DeleteIcGeneralHVo;
import com.hzya.frame.deletedata.vo.DeleteSoSaleVo;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@ -22,5 +24,17 @@ public class DeleteU8cDataUtilDaoImpl extends MybatisGenericDao<DeleteU8cDataUti
public List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception { public List<DeleteU8cDataUtilEntity> querySoSaleinvoiceByDelete(DeleteU8cDataUtilEntity soSaleinvoiceEntity) throws Exception {
return query("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.querySoSaleinvoiceByDelete", soSaleinvoiceEntity); return query("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.querySoSaleinvoiceByDelete", soSaleinvoiceEntity);
} }
@DS("lets_u8c")
@Override
public List<DeleteU8cDataUtilEntity> queryIcGeneralHByDelete(DeleteIcGeneralHVo deleteIcGeneralHVo) throws Exception {
return query("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.queryIcGeneralHByDelete", deleteIcGeneralHVo);
}
@DS("lets_u8c")
@Override
public List<DeleteU8cDataUtilEntity> querySoSaleByDelete(DeleteSoSaleVo deleteIcGeneralHVo) throws Exception {
return query("com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl.querySoSaleByDelete", deleteIcGeneralHVo);
}
} }

View File

@ -14,6 +14,15 @@ public class DeleteU8cDataUtilEntity extends BaseEntity {
private String pk_corp; private String pk_corp;
private String dbilldate; private String dbilldate;
private String unitcode; private String unitcode;
private String vbillcode;
public String getVbillcode() {
return vbillcode;
}
public void setVbillcode(String vbillcode) {
this.vbillcode = vbillcode;
}
public String getUnitcode() { public String getUnitcode() {
return unitcode; return unitcode;

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!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"> <mapper namespace="com.hzya.frame.deletedata.dao.impl.DeleteU8cDataUtilDaoImpl">
<resultMap id="get-DeleteU8cDataUtilEntity-result" type="com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity" > <resultMap id="get-DeleteU8cDataUtilEntity-result" type="com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity" >
<result property="vreceiptcode" column="vreceiptcode" jdbcType="VARCHAR"/> <result property="vreceiptcode" column="vreceiptcode" jdbcType="VARCHAR"/>
<result property="pk_corp" column="pk_corp" jdbcType="VARCHAR"/> <result property="pk_corp" column="pk_corp" jdbcType="VARCHAR"/>
@ -29,5 +30,61 @@
AND a.FSTATUS = 1 AND a.FSTATUS = 1
AND a.dr = 0 AND a.dr = 0
</select> </select>
<resultMap id="get-IcGeneralHByDelete-result" type="com.hzya.frame.deletedata.entity.DeleteU8cDataUtilEntity" >
<result property="vbillcode" column="vbillcode" 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="queryIcGeneralHByDelete" parameterType="com.hzya.frame.deletedata.vo.DeleteIcGeneralHVo" resultMap="get-IcGeneralHByDelete-result">
SELECT
a.cgeneralhid,
a.vbillcode,
a.dbilldate,
a.cbiztype,
a.fbillflag,
a.pk_corp,
b.unitname,
b.unitcode
FROM
ic_general_h 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.fbillflag = 2
AND a.dr = 0
</select>
<resultMap id="get-SoSaleByDelete-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="querySoSaleByDelete" parameterType="com.hzya.frame.deletedata.vo.DeleteSoSaleVo" resultMap="get-SoSaleByDelete-result">
SELECT
a.csaleid,
a.vreceiptcode,
a.dbilldate,
a.cbiztype,
a.fstatus,
a.pk_corp,
b.unitname,
b.unitcode
FROM
so_sale 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 = 2
AND a.dr = 0
</select>
</mapper> </mapper>

View File

@ -0,0 +1,87 @@
package com.hzya.frame.deletedata.vo;
import com.hzya.frame.web.entity.BaseEntity;
/**
* @Authorliuyang
* @Packagecom.hzya.frame.deletedata.vo
* @ProjectkangarooDataCenterV3
* @nameDeleteIcGeneralHVo
* @Date2024/12/19 10:32
* @FilenameDeleteIcGeneralHVo
*/
public class DeleteIcGeneralHVo extends BaseEntity {
private String cgeneralhid;
private String vbillcode;
private String dbilldate;
private String cbiztype;
private String fbillflag;
private String pk_corp;
private String unitname;
private String unitcode;
public String getCgeneralhid() {
return cgeneralhid;
}
public void setCgeneralhid(String cgeneralhid) {
this.cgeneralhid = cgeneralhid;
}
public String getVbillcode() {
return vbillcode;
}
public void setVbillcode(String vbillcode) {
this.vbillcode = vbillcode;
}
public String getDbilldate() {
return dbilldate;
}
public void setDbilldate(String dbilldate) {
this.dbilldate = dbilldate;
}
public String getCbiztype() {
return cbiztype;
}
public void setCbiztype(String cbiztype) {
this.cbiztype = cbiztype;
}
public String getFbillflag() {
return fbillflag;
}
public void setFbillflag(String fbillflag) {
this.fbillflag = fbillflag;
}
public String getPk_corp() {
return pk_corp;
}
public void setPk_corp(String pk_corp) {
this.pk_corp = pk_corp;
}
public String getUnitname() {
return unitname;
}
public void setUnitname(String unitname) {
this.unitname = unitname;
}
public String getUnitcode() {
return unitcode;
}
public void setUnitcode(String unitcode) {
this.unitcode = unitcode;
}
}

View File

@ -0,0 +1,86 @@
package com.hzya.frame.deletedata.vo;
import com.hzya.frame.web.entity.BaseEntity;
/**
* @Authorliuyang
* @Packagecom.hzya.frame.deletedata.vo
* @ProjectkangarooDataCenterV3
* @nameDeleteIcGeneralHVo
* @Date2024/12/19 10:32
* @FilenameDeleteIcGeneralHVo
*/
public class DeleteSoSaleVo extends BaseEntity {
private String csaleid;
private String vreceiptcode;
private String dbilldate;
private String cbiztype;
private String fstatus;
private String pk_corp;
private String unitname;
private String unitcode;
public String getCsaleid() {
return csaleid;
}
public void setCsaleid(String csaleid) {
this.csaleid = csaleid;
}
public String getVreceiptcode() {
return vreceiptcode;
}
public void setVreceiptcode(String vreceiptcode) {
this.vreceiptcode = vreceiptcode;
}
public String getDbilldate() {
return dbilldate;
}
public void setDbilldate(String dbilldate) {
this.dbilldate = dbilldate;
}
public String getCbiztype() {
return cbiztype;
}
public void setCbiztype(String cbiztype) {
this.cbiztype = cbiztype;
}
public String getFstatus() {
return fstatus;
}
public void setFstatus(String fstatus) {
this.fstatus = fstatus;
}
public String getPk_corp() {
return pk_corp;
}
public void setPk_corp(String pk_corp) {
this.pk_corp = pk_corp;
}
public String getUnitname() {
return unitname;
}
public void setUnitname(String unitname) {
this.unitname = unitname;
}
public String getUnitcode() {
return unitcode;
}
public void setUnitcode(String unitcode) {
this.unitcode = unitcode;
}
}

View File

@ -17,6 +17,15 @@ public class Queryinfo {
private String date_begin; private String date_begin;
private String date_end; private String date_end;
private String code; private String code;
private String billcode;
public String getBillcode() {
return billcode;
}
public void setBillcode(String billcode) {
this.billcode = billcode;
}
public String getCode() { public String getCode() {
return code; return code;