From e91f79a6ecda93bb3f9e1000ed33ea229bf23f61 Mon Sep 17 00:00:00 2001 From: yuqh <123456> Date: Wed, 23 Apr 2025 16:01:42 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=90=89=E5=AE=A2=E4=BA=91?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...eckYunGoodsdocInBakPluginInitializer.java} | 27 +- .../JeckYunGoodsdocInPluginInitializer.java | 103 +++ ...eckYunGoodsdocInToU8PluginInitializer.java | 102 +++ ...eckYunGoodsdocOutBakPluginInitializer.java | 102 +++ .../JeckYunGoodsdocOutPluginInitializer.java | 103 +++ .../kjs/spring/spring-buildpackage-plugin.xml | 5 + .../goodsdocin/dao/IGoodsdocInDao.java | 15 + .../goodsdocin/dao/IGoodsdocInDetailDao.java | 11 + .../dao/IGoodsdocInLogisticDao.java | 9 + .../dao/impl/GoodsdocInDaoImpl.java | 41 +- .../dao/impl/GoodsdocInDetailDaoImpl.java | 28 + .../dao/impl/GoodsdocInLogisticDaoImpl.java | 24 +- .../entity/GoodsdocInDetailEntity.java | 554 +++++++++++++++ .../entity/GoodsdocInDetailEntity.xml | 414 ++++++++++- .../goodsdocin/entity/GoodsdocInEntity.java | 662 ++++++++++++++++++ .../goodsdocin/entity/GoodsdocInEntity.xml | 460 +++++++++++- .../entity/GoodsdocInLogisticEntity.java | 71 ++ .../entity/GoodsdocInLogisticEntity.xml | 97 ++- .../service/IGoodsdocInService.java | 6 +- .../service/impl/GoodsdocInServiceImpl.java | 267 ++++++- .../goodsdocout/dao/IGoodsdocOutDao.java | 13 + .../dao/IGoodsdocOutDetailDao.java | 9 + .../dao/IGoodsdocOutLogisticDao.java | 10 + .../dao/impl/GoodsdocOutDaoImpl.java | 28 + .../dao/impl/GoodsdocOutDetailDaoImpl.java | 23 + .../dao/impl/GoodsdocOutLogisticDaoImpl.java | 24 + .../entity/GoodsdocOutDetailEntity.java | 413 +++++++++++ .../entity/GoodsdocOutDetailEntity.xml | 367 +++++++++- .../goodsdocout/entity/GoodsdocOutEntity.java | 480 +++++++++++++ .../goodsdocout/entity/GoodsdocOutEntity.xml | 335 ++++++++- .../entity/GoodsdocOutLogisticEntity.java | 66 ++ .../entity/GoodsdocOutLogisticEntity.xml | 102 ++- .../service/IGoodsdocOutService.java | 20 + .../service/impl/GoodsdocOutServiceImpl.java | 150 +++- .../service/impl/MasterDataServiceImpl.java | 8 +- .../service/IDeliveryOrderService.java | 10 + .../impl/DeliveryOrderServiceImpl.java | 309 ++++++++ .../u8/saleout/service/ISaleOutService.java | 9 + .../service/impl/SaleOutServiceImpl.java | 271 +++++++ .../java/com/hzya/frame/u8/util/U8Util.java | 10 +- 40 files changed, 5682 insertions(+), 76 deletions(-) rename buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/{GoodsdocInPluginInitializer.java => JeckYunGoodsdocInBakPluginInitializer.java} (84%) create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInPluginInitializer.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInToU8PluginInitializer.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutBakPluginInitializer.java create mode 100644 buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutPluginInitializer.java diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/GoodsdocInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInBakPluginInitializer.java similarity index 84% rename from buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/GoodsdocInPluginInitializer.java rename to buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInBakPluginInitializer.java index a52442f0..0fd456d0 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/GoodsdocInPluginInitializer.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInBakPluginInitializer.java @@ -1,28 +1,23 @@ package com.hzya.frame.plugin.kjs.plugin; import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocin.service.IGoodsdocInService; import com.hzya.frame.base.PluginBaseEntity; import com.hzya.frame.web.entity.BaseResult; import com.hzya.frame.web.entity.JsonResultEntity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import com.hzya.frame.Jackyun.goodsdocin.service.IGoodsdocInService; /** - * - * @content 吉客云出库单 - * @className: Administrator - * @author laborer - * @date 2025-03-27 15:42 - * - */ - -public class GoodsdocInPluginInitializer extends PluginBaseEntity { + * @Description + * @Author xiangerlin + * @Date 2024/8/22 16:39 + **/ +public class JeckYunGoodsdocInBakPluginInitializer extends PluginBaseEntity { Logger logger = LoggerFactory.getLogger(getClass()); @Autowired - private IGoodsdocInService IGoodsdocInService; - + private IGoodsdocInService goodsdocInService; /*** * 插件初始化方法 * @Author 👻👻👻👻👻👻👻👻 gjh @@ -54,7 +49,7 @@ public class GoodsdocInPluginInitializer extends PluginBaseEntity { **/ @Override public String getPluginId() { - return "GoodsdocInPluginInitializer"; + return "JeckYunGoodsdocInBakPluginInitializer"; } /**** @@ -65,7 +60,7 @@ public class GoodsdocInPluginInitializer extends PluginBaseEntity { **/ @Override public String getPluginName() { - return "kjs入库单获取吉客云数据插件"; + return "吉客云入库单同步WMS插件"; } /**** @@ -76,7 +71,7 @@ public class GoodsdocInPluginInitializer extends PluginBaseEntity { **/ @Override public String getPluginLabel() { - return "kjs入库单获取吉客云数据插件"; + return "吉客云入库单同步WMS插件"; } /*** @@ -101,7 +96,7 @@ public class GoodsdocInPluginInitializer extends PluginBaseEntity { @Override public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { logger.info("开始执行"+getPluginName()+requestJson.toString()); - IGoodsdocInService.getJeckGoodsdocIn(); + goodsdocInService.getJeckGoodsdocInBak(requestJson); return BaseResult.getSuccessMessageEntity("操作成功"); } } diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInPluginInitializer.java new file mode 100644 index 00000000..8a44c025 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInPluginInitializer.java @@ -0,0 +1,103 @@ +package com.hzya.frame.plugin.kjs.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocin.service.IGoodsdocInService; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.kjs.service.IDeliveryOrderPluginService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description + * @Author xiangerlin + * @Date 2024/8/22 16:39 + **/ +public class JeckYunGoodsdocInPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private IGoodsdocInService goodsdocInService; + /*** + * 插件初始化方法 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 10:48 + * @Param [] + * @return void + **/ + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + /**** + * 插件销毁方法 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + /**** + * 插件的ID + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginId() { + return "JeckYunGoodsdocInPluginInitializer"; + } + + /**** + * 插件的名称 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginName() { + return "吉客云入库单同步WMS插件"; + } + + /**** + * 插件的显示值 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginLabel() { + return "吉客云入库单同步WMS插件"; + } + + /*** + * 插件类型 1、场景插件 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 14:01 + * @Param [] + * @return java.lang.String + **/ + @Override + public String getPluginType() { + return "1"; + } + + /*** + * 执行业务代码 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-07 11:20 + * @param requestJson 执行业务代码的参数 + * @return void + **/ + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + goodsdocInService.getJeckGoodsdocIn(requestJson); + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInToU8PluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInToU8PluginInitializer.java new file mode 100644 index 00000000..f7131eb3 --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocInToU8PluginInitializer.java @@ -0,0 +1,102 @@ +package com.hzya.frame.plugin.kjs.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocin.service.IGoodsdocInService; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description + * @Author xiangerlin + * @Date 2024/8/22 16:39 + **/ +public class JeckYunGoodsdocInToU8PluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private IGoodsdocInService goodsdocInService; + /*** + * 插件初始化方法 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 10:48 + * @Param [] + * @return void + **/ + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + /**** + * 插件销毁方法 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + /**** + * 插件的ID + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginId() { + return "JeckYunGoodsdocInToU8PluginInitializer"; + } + + /**** + * 插件的名称 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginName() { + return "吉客云入库单同步WMS插件"; + } + + /**** + * 插件的显示值 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginLabel() { + return "吉客云入库单同步WMS插件"; + } + + /*** + * 插件类型 1、场景插件 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 14:01 + * @Param [] + * @return java.lang.String + **/ + @Override + public String getPluginType() { + return "1"; + } + + /*** + * 执行业务代码 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-07 11:20 + * @param requestJson 执行业务代码的参数 + * @return void + **/ + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + goodsdocInService.getJeckGoodsdocInToU8(requestJson); + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutBakPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutBakPluginInitializer.java new file mode 100644 index 00000000..47ad5b8d --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutBakPluginInitializer.java @@ -0,0 +1,102 @@ +package com.hzya.frame.plugin.kjs.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocout.service.IGoodsdocOutService; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description + * @Author xiangerlin + * @Date 2024/8/22 16:39 + **/ +public class JeckYunGoodsdocOutBakPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private IGoodsdocOutService IGoodsdocOutService; + /*** + * 插件初始化方法 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 10:48 + * @Param [] + * @return void + **/ + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + /**** + * 插件销毁方法 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + /**** + * 插件的ID + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginId() { + return "JeckYunGoodsdocOutBakPluginInitializer"; + } + + /**** + * 插件的名称 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginName() { + return "吉客云出库单同步WMS插件"; + } + + /**** + * 插件的显示值 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginLabel() { + return "吉客云出库单同步WMS插件"; + } + + /*** + * 插件类型 1、场景插件 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 14:01 + * @Param [] + * @return java.lang.String + **/ + @Override + public String getPluginType() { + return "1"; + } + + /*** + * 执行业务代码 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-07 11:20 + * @param requestJson 执行业务代码的参数 + * @return void + **/ + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + IGoodsdocOutService.jeckYunGoodsdocOutBak( requestJson); + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutPluginInitializer.java b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutPluginInitializer.java new file mode 100644 index 00000000..b4ba628d --- /dev/null +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/kjs/plugin/JeckYunGoodsdocOutPluginInitializer.java @@ -0,0 +1,103 @@ +package com.hzya.frame.plugin.kjs.plugin; + +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocout.service.IGoodsdocOutService; +import com.hzya.frame.base.PluginBaseEntity; +import com.hzya.frame.plugin.kjs.service.IDeliveryOrderPluginService; +import com.hzya.frame.web.entity.BaseResult; +import com.hzya.frame.web.entity.JsonResultEntity; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; + +/** + * @Description + * @Author xiangerlin + * @Date 2024/8/22 16:39 + **/ +public class JeckYunGoodsdocOutPluginInitializer extends PluginBaseEntity { + Logger logger = LoggerFactory.getLogger(getClass()); + @Autowired + private IGoodsdocOutService IGoodsdocOutService; + /*** + * 插件初始化方法 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 10:48 + * @Param [] + * @return void + **/ + @Override + public void initialize() { + logger.info(getPluginLabel() + "執行初始化方法initialize()"); + } + + /**** + * 插件销毁方法 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public void destroy() { + logger.info(getPluginLabel() + "執行銷毀方法destroy()"); + } + + /**** + * 插件的ID + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginId() { + return "JeckYunGoodsdocOutPluginInitializer"; + } + + /**** + * 插件的名称 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginName() { + return "吉客云出库单同步WMS插件"; + } + + /**** + * 插件的显示值 + * @author 👻👻👻👻👻👻👻👻 gjh + * @date 2023-08-02 10:48 + * @return void + **/ + @Override + public String getPluginLabel() { + return "吉客云出库单同步WMS插件"; + } + + /*** + * 插件类型 1、场景插件 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-02 14:01 + * @Param [] + * @return java.lang.String + **/ + @Override + public String getPluginType() { + return "1"; + } + + /*** + * 执行业务代码 + * @Author 👻👻👻👻👻👻👻👻 gjh + * @Date 2023-08-07 11:20 + * @param requestJson 执行业务代码的参数 + * @return void + **/ + @Override + public JsonResultEntity executeBusiness(JSONObject requestJson) throws Exception { + logger.info("开始执行"+getPluginName()+requestJson.toString()); + IGoodsdocOutService.getjRckYunGoodsdocOut(requestJson); + return BaseResult.getSuccessMessageEntity("操作成功"); + } +} diff --git a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml index d2f4372d..cb18f473 100644 --- a/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml +++ b/buildpackage/src/main/resources/cfgHome/plugin/kjs/spring/spring-buildpackage-plugin.xml @@ -11,4 +11,9 @@ + + + + + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDao.java index 787e6e4b..072acad7 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDao.java @@ -15,4 +15,19 @@ import java.util.List; */ public interface IGoodsdocInDao extends IBaseDao { + List checkBill(GoodsdocInEntity checkEntity); + + GoodsdocInEntity saveGoodsdocIn(GoodsdocInEntity goodsdocIn); + + List getGoodsdocInList(GoodsdocInEntity goodsdocInEntity); + + GoodsdocInEntity saveGoodsdocInBak(GoodsdocInEntity item); + + int deleteByRecId(String recId); + + List getGoodsdocInListAll(GoodsdocInEntity goodsdocInEntity); + + List getGoodsdocInListGroup(GoodsdocInEntity goodsdocInEntity); + + int updateGoodsdocIn(GoodsdocInEntity goodsdocInEntity); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDetailDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDetailDao.java index cd333790..5a9572a7 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDetailDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInDetailDao.java @@ -3,6 +3,8 @@ package com.hzya.frame.Jackyun.goodsdocin.dao; import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInDetailEntity; import com.hzya.frame.basedao.dao.IBaseDao; +import java.util.List; + /** * @@ -13,4 +15,13 @@ import com.hzya.frame.basedao.dao.IBaseDao; * */ public interface IGoodsdocInDetailDao extends IBaseDao { + GoodsdocInDetailEntity saveDetails(GoodsdocInDetailEntity details); + + List getGoodsdocInDetailList(GoodsdocInDetailEntity detailEntity); + + GoodsdocInDetailEntity saveDetailsBak(GoodsdocInDetailEntity details); + + int deleteByMainId(GoodsdocInDetailEntity detailEntity); + + List getGoodsdocInDetailListGroup(GoodsdocInDetailEntity detailEntity); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInLogisticDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInLogisticDao.java index afebd9ea..e4b6b946 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInLogisticDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/IGoodsdocInLogisticDao.java @@ -4,6 +4,8 @@ import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInEntity; import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInLogisticEntity; import com.hzya.frame.basedao.dao.IBaseDao; +import java.util.List; + /** * * @content 吉客云入库单 @@ -14,4 +16,11 @@ import com.hzya.frame.basedao.dao.IBaseDao; */ public interface IGoodsdocInLogisticDao extends IBaseDao { + GoodsdocInLogisticEntity saveLogis(GoodsdocInLogisticEntity logis); + + List getGoodsdocInLogisticList(GoodsdocInLogisticEntity logisEntity); + + GoodsdocInLogisticEntity saveLogisBak(GoodsdocInLogisticEntity logis); + + int deleteByMainId(GoodsdocInLogisticEntity logisEntity); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDaoImpl.java index b1e58df7..1d84b3ae 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDaoImpl.java @@ -18,5 +18,44 @@ import java.util.List; */ @Repository(value = "GoodsdocInDaoImpl") public class GoodsdocInDaoImpl extends MybatisGenericDao implements IGoodsdocInDao { - + @DS("jeckYun") + @Override + public List checkBill(GoodsdocInEntity checkEntity) { + return (List) super.selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_list_base", checkEntity); + } + @DS("jeckYun") + @Override + public GoodsdocInEntity saveGoodsdocIn(GoodsdocInEntity goodsdocIn) { + return super.save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_insert", goodsdocIn); + } + @DS("jeckYun") + @Override + public List getGoodsdocInList(GoodsdocInEntity goodsdocInEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_list_base_bak", goodsdocInEntity); + } + @DS("jeckYun") + @Override + public GoodsdocInEntity saveGoodsdocInBak(GoodsdocInEntity item) { + return save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_insert_bak",item); + } + @DS("jeckYun") + @Override + public int deleteByRecId(String recId) { + return delete("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_delete", recId); + } + @DS("jeckYun") + @Override + public List getGoodsdocInListAll(GoodsdocInEntity goodsdocInEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_list_base_all", goodsdocInEntity); + } + @DS("jeckYun") + @Override + public List getGoodsdocInListGroup(GoodsdocInEntity goodsdocInEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_list_base_group", goodsdocInEntity); + } + @DS("jeckYun") + @Override + public int updateGoodsdocIn(GoodsdocInEntity goodsdocInEntity) { + return super.update("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDaoImpl.entity_update", goodsdocInEntity); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDetailDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDetailDaoImpl.java index 6d9f1c51..5c0327d1 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDetailDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInDetailDaoImpl.java @@ -1,10 +1,13 @@ package com.hzya.frame.Jackyun.goodsdocin.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.Jackyun.goodsdocin.dao.IGoodsdocInDetailDao; import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInDetailEntity; import com.hzya.frame.basedao.dao.MybatisGenericDao; import org.springframework.stereotype.Repository; +import java.util.List; + /** * * @content 吉客云入库单 @@ -15,4 +18,29 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "GoodsdocInDetailDaoImpl") public class GoodsdocInDetailDaoImpl extends MybatisGenericDao implements IGoodsdocInDetailDao { + @DS("jeckYun") + @Override + public GoodsdocInDetailEntity saveDetails(GoodsdocInDetailEntity details) { + return super.save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDetailDaoImpl.entity_insert", details); + } + @DS("jeckYun") + @Override + public List getGoodsdocInDetailList(GoodsdocInDetailEntity detailEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDetailDaoImpl.entity_list_base", detailEntity); + } + @DS("jeckYun") + @Override + public GoodsdocInDetailEntity saveDetailsBak(GoodsdocInDetailEntity details) { + return super.save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDetailDaoImpl.entity_insert_bak", details); + } + @DS("jeckYun") + @Override + public int deleteByMainId(GoodsdocInDetailEntity detailEntity) { + return super.delete("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDetailDaoImpl.entity_delete", detailEntity.getMainId()); + } + @DS("jeckYun") + @Override + public List getGoodsdocInDetailListGroup(GoodsdocInDetailEntity detailEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInDetailDaoImpl.entity_list_base_group", detailEntity); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInLogisticDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInLogisticDaoImpl.java index 19f7a227..db9e7641 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInLogisticDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/dao/impl/GoodsdocInLogisticDaoImpl.java @@ -1,5 +1,6 @@ package com.hzya.frame.Jackyun.goodsdocin.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.Jackyun.goodsdocin.dao.IGoodsdocInDao; import com.hzya.frame.Jackyun.goodsdocin.dao.IGoodsdocInLogisticDao; import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInEntity; @@ -7,6 +8,8 @@ import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInLogisticEntity; import com.hzya.frame.basedao.dao.MybatisGenericDao; import org.springframework.stereotype.Repository; +import java.util.List; + /** * * @content 吉客云入库单 @@ -17,5 +20,24 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "GoodsdocInLogisticDaoImpl") public class GoodsdocInLogisticDaoImpl extends MybatisGenericDao implements IGoodsdocInLogisticDao { - + @DS("jeckYun") + @Override + public GoodsdocInLogisticEntity saveLogis(GoodsdocInLogisticEntity logis) { + return super.save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInLogisticDaoImpl.entity_insert",logis); + } + @DS("jeckYun") + @Override + public List getGoodsdocInLogisticList(GoodsdocInLogisticEntity logisEntity) { + return (List) selectList("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInLogisticDaoImpl.entity_list_base", logisEntity); + } + @DS("jeckYun") + @Override + public GoodsdocInLogisticEntity saveLogisBak(GoodsdocInLogisticEntity logis) { + return super.save("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInLogisticDaoImpl.entity_insert_bak",logis); + } + @DS("jeckYun") + @Override + public int deleteByMainId(GoodsdocInLogisticEntity logisEntity) { + return super.delete("com.hzya.frame.Jackyun.goodsdocin.dao.impl.GoodsdocInLogisticDaoImpl.entity_delete",logisEntity.getMainId()); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.java index 9e7d37fa..73d10c96 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.java @@ -1,6 +1,9 @@ package com.hzya.frame.Jackyun.goodsdocin.entity; import com.hzya.frame.web.entity.BaseEntity; + +import java.util.List; + /** * * @content 吉客云入库单 @@ -11,4 +14,555 @@ import com.hzya.frame.web.entity.BaseEntity; */ public class GoodsdocInDetailEntity extends BaseEntity { + /** 入库单明细ID */ + private Integer recId; + /** 货品ID */ + private String goodsId; + /** 货品编号 */ + private String goodsNo; + /** 货品名称 */ + private String goodsName; + /** 规格ID */ + private String skuId; + /** 规格名称 */ + private String skuName; + /** 条码 */ + private String skuBarcode; + /** 单位 */ + private String unitName; + /** 单价 */ + private String cuPrice; + /** 金额 */ + private String cuValue; + /** 箱号 */ + private String caseNumber; + /** 明细备注 */ + private String rowRemark; + /** 辅助单位显示 */ + private String assistUnit; + /** 含税金额 */ + private String estCost; + /** 税额 */ + private String estTax; + /** 含税单价 */ + private String estPrice; + /** 含税单价 */ + private String estPriceNoTax; + /** 无税金额 */ + private String estCostNoTax; + /** 税率 */ + private String taxRate; + /** 批次编号 */ + private String batchNo; + /** 序列号 */ + private String serialNo; + /** 生产日期 */ + private String productionDate; + /** 到期日期 */ + private String expirationDate; + /** 质保期 */ + private String shelfLife; + /** 质保期单位 */ + private String shelfLiftUnit; + /** 来源单据明细Id */ + private String sourceDetailId; + /** 无税单价(原币种) */ + private String transNoTaxPrice; + /** 无税金额(原币种) */ + private String transNoTaxAmount; + /** 含税单价(原币种) */ + private String transHasTaxPrice; + /** + 含税金额(原币种) */ + private String transHasTaxAmount; + /** 税额(原币种) */ + private String transTaxAmount; + /** 自定义字段1 */ + private String detailField1; + /** 自定义字段2 */ + private String detailField2; + /** 自定义字段3 */ + private String detailField3; + /** 自定义字段4 */ + private String detailField4; + /** 自定义字段5 */ + private String detailField5; + /** 是否正品0-否1-是 */ + private String isCertified; + /** 批准文号 */ + private String registrationNumber; + /** + 批文有效期 */ + private String approvalDate; + /** 生产单位 */ + private String productionDepart; + /** 生产批号 */ + private String batchNumber; + /** 数量 */ + private String quantity; + /** 采购单号 */ + private String orderNum; + /** 出库唯一码关联字段,此值不为空时,需要查询接口获取唯一码信息:erp.storage.goodsdocserial */ + private String serialSourceId; + private String mainId; + private ListgoodsdocInEntityList; + + public List getGoodsdocInEntityList() { + return goodsdocInEntityList; + } + + public void setGoodsdocInEntityList(List goodsdocInEntityList) { + this.goodsdocInEntityList = goodsdocInEntityList; + } + + public String getMainId() { + return mainId; + } + + public void setMainId(String mainId) { + this.mainId = mainId; + } + + /** 入库单明细ID */ + public void setRecId(Integer recId) { + this.recId = recId; + } + /** 入库单明细ID */ + public Integer getRecId() { + return recId; + } + + + /** 货品ID */ + public void setGoodsId(String goodsId) { + this.goodsId = goodsId; + } + /** 货品ID */ + public String getGoodsId() { + return goodsId; + } + + + /** 货品编号 */ + public void setGoodsNo(String goodsNo) { + this.goodsNo = goodsNo; + } + /** 货品编号 */ + public String getGoodsNo() { + return goodsNo; + } + + + /** 货品名称 */ + public void setGoodsName(String goodsName) { + this.goodsName = goodsName; + } + /** 货品名称 */ + public String getGoodsName() { + return goodsName; + } + + + /** 规格ID */ + public void setSkuId(String skuId) { + this.skuId = skuId; + } + /** 规格ID */ + public String getSkuId() { + return skuId; + } + + + /** 规格名称 */ + public void setSkuName(String skuName) { + this.skuName = skuName; + } + /** 规格名称 */ + public String getSkuName() { + return skuName; + } + + + /** 条码 */ + public void setSkuBarcode(String skuBarcode) { + this.skuBarcode = skuBarcode; + } + /** 条码 */ + public String getSkuBarcode() { + return skuBarcode; + } + + + /** 单位 */ + public void setUnitName(String unitName) { + this.unitName = unitName; + } + /** 单位 */ + public String getUnitName() { + return unitName; + } + + + /** 单价 */ + public void setCuPrice(String cuPrice) { + this.cuPrice = cuPrice; + } + /** 单价 */ + public String getCuPrice() { + return cuPrice; + } + + + /** 金额 */ + public void setCuValue(String cuValue) { + this.cuValue = cuValue; + } + /** 金额 */ + public String getCuValue() { + return cuValue; + } + + + /** 箱号 */ + public void setCaseNumber(String caseNumber) { + this.caseNumber = caseNumber; + } + /** 箱号 */ + public String getCaseNumber() { + return caseNumber; + } + + + /** 明细备注 */ + public void setRowRemark(String rowRemark) { + this.rowRemark = rowRemark; + } + /** 明细备注 */ + public String getRowRemark() { + return rowRemark; + } + + + /** 辅助单位显示 */ + public void setAssistUnit(String assistUnit) { + this.assistUnit = assistUnit; + } + /** 辅助单位显示 */ + public String getAssistUnit() { + return assistUnit; + } + + + /** 含税金额 */ + public void setEstCost(String estCost) { + this.estCost = estCost; + } + /** 含税金额 */ + public String getEstCost() { + return estCost; + } + + + /** 税额 */ + public void setEstTax(String estTax) { + this.estTax = estTax; + } + /** 税额 */ + public String getEstTax() { + return estTax; + } + + + /** 含税单价 */ + public void setEstPrice(String estPrice) { + this.estPrice = estPrice; + } + /** 含税单价 */ + public String getEstPrice() { + return estPrice; + } + + + /** 含税单价 */ + public void setEstPriceNoTax(String estPriceNoTax) { + this.estPriceNoTax = estPriceNoTax; + } + /** 含税单价 */ + public String getEstPriceNoTax() { + return estPriceNoTax; + } + + + /** 无税金额 */ + public void setEstCostNoTax(String estCostNoTax) { + this.estCostNoTax = estCostNoTax; + } + /** 无税金额 */ + public String getEstCostNoTax() { + return estCostNoTax; + } + + + /** 税率 */ + public void setTaxRate(String taxRate) { + this.taxRate = taxRate; + } + /** 税率 */ + public String getTaxRate() { + return taxRate; + } + + + /** 批次编号 */ + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + /** 批次编号 */ + public String getBatchNo() { + return batchNo; + } + + + /** 序列号 */ + public void setSerialNo(String serialNo) { + this.serialNo = serialNo; + } + /** 序列号 */ + public String getSerialNo() { + return serialNo; + } + + + /** 生产日期 */ + public void setProductionDate(String productionDate) { + this.productionDate = productionDate; + } + /** 生产日期 */ + public String getProductionDate() { + return productionDate; + } + + + /** 到期日期 */ + public void setExpirationDate(String expirationDate) { + this.expirationDate = expirationDate; + } + /** 到期日期 */ + public String getExpirationDate() { + return expirationDate; + } + + + /** 质保期 */ + public void setShelfLife(String shelfLife) { + this.shelfLife = shelfLife; + } + /** 质保期 */ + public String getShelfLife() { + return shelfLife; + } + + + /** 质保期单位 */ + public void setShelfLiftUnit(String shelfLiftUnit) { + this.shelfLiftUnit = shelfLiftUnit; + } + /** 质保期单位 */ + public String getShelfLiftUnit() { + return shelfLiftUnit; + } + + + /** 来源单据明细Id */ + public void setSourceDetailId(String sourceDetailId) { + this.sourceDetailId = sourceDetailId; + } + /** 来源单据明细Id */ + public String getSourceDetailId() { + return sourceDetailId; + } + + + /** 无税单价(原币种) */ + public void setTransNoTaxPrice(String transNoTaxPrice) { + this.transNoTaxPrice = transNoTaxPrice; + } + /** 无税单价(原币种) */ + public String getTransNoTaxPrice() { + return transNoTaxPrice; + } + + + /** 无税金额(原币种) */ + public void setTransNoTaxAmount(String transNoTaxAmount) { + this.transNoTaxAmount = transNoTaxAmount; + } + /** 无税金额(原币种) */ + public String getTransNoTaxAmount() { + return transNoTaxAmount; + } + + + /** 含税单价(原币种) */ + public void setTransHasTaxPrice(String transHasTaxPrice) { + this.transHasTaxPrice = transHasTaxPrice; + } + /** 含税单价(原币种) */ + public String getTransHasTaxPrice() { + return transHasTaxPrice; + } + + + /** + 含税金额(原币种) */ + public void setTransHasTaxAmount(String transHasTaxAmount) { + this.transHasTaxAmount = transHasTaxAmount; + } + /** + 含税金额(原币种) */ + public String getTransHasTaxAmount() { + return transHasTaxAmount; + } + + + /** 税额(原币种) */ + public void setTransTaxAmount(String transTaxAmount) { + this.transTaxAmount = transTaxAmount; + } + /** 税额(原币种) */ + public String getTransTaxAmount() { + return transTaxAmount; + } + + + /** 自定义字段1 */ + public void setDetailField1(String detailField1) { + this.detailField1 = detailField1; + } + /** 自定义字段1 */ + public String getDetailField1() { + return detailField1; + } + + + /** 自定义字段2 */ + public void setDetailField2(String detailField2) { + this.detailField2 = detailField2; + } + /** 自定义字段2 */ + public String getDetailField2() { + return detailField2; + } + + + /** 自定义字段3 */ + public void setDetailField3(String detailField3) { + this.detailField3 = detailField3; + } + /** 自定义字段3 */ + public String getDetailField3() { + return detailField3; + } + + + /** 自定义字段4 */ + public void setDetailField4(String detailField4) { + this.detailField4 = detailField4; + } + /** 自定义字段4 */ + public String getDetailField4() { + return detailField4; + } + + + /** 自定义字段5 */ + public void setDetailField5(String detailField5) { + this.detailField5 = detailField5; + } + /** 自定义字段5 */ + public String getDetailField5() { + return detailField5; + } + + + /** 是否正品0-否1-是 */ + public void setIsCertified(String isCertified) { + this.isCertified = isCertified; + } + /** 是否正品0-否1-是 */ + public String getIsCertified() { + return isCertified; + } + + + /** 批准文号 */ + public void setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + } + /** 批准文号 */ + public String getRegistrationNumber() { + return registrationNumber; + } + + + /** + 批文有效期 */ + public void setApprovalDate(String approvalDate) { + this.approvalDate = approvalDate; + } + /** + 批文有效期 */ + public String getApprovalDate() { + return approvalDate; + } + + + /** 生产单位 */ + public void setProductionDepart(String productionDepart) { + this.productionDepart = productionDepart; + } + /** 生产单位 */ + public String getProductionDepart() { + return productionDepart; + } + + + /** 生产批号 */ + public void setBatchNumber(String batchNumber) { + this.batchNumber = batchNumber; + } + /** 生产批号 */ + public String getBatchNumber() { + return batchNumber; + } + + + /** 数量 */ + public void setQuantity(String quantity) { + this.quantity = quantity; + } + /** 数量 */ + public String getQuantity() { + return quantity; + } + + + /** 采购单号 */ + public void setOrderNum(String orderNum) { + this.orderNum = orderNum; + } + /** 采购单号 */ + public String getOrderNum() { + return orderNum; + } + + + /** 出库唯一码关联字段,此值不为空时,需要查询接口获取唯一码信息:erp.storage.goodsdocserial */ + public void setSerialSourceId(String serialSourceId) { + this.serialSourceId = serialSourceId; + } + /** 出库唯一码关联字段,此值不为空时,需要查询接口获取唯一码信息:erp.storage.goodsdocserial */ + public String getSerialSourceId() { + return serialSourceId; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.xml index c999e60e..45e10d50 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInDetailEntity.xml @@ -2,10 +2,420 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + orderNum, + serialSourceId + + + + + + + + + + insert into jeck_goodsdocin_details( + + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + orderNum, + serialSourceId, + mainId + + )values + ( + + #{recId}, + #{goodsId}, + #{goodsNo}, + #{goodsName}, + #{skuId}, + #{skuName}, + #{skuBarcode}, + #{unitName}, + #{cuPrice}, + #{cuValue}, + #{caseNumber}, + #{rowRemark}, + #{assistUnit}, + #{estCost}, + #{estTax}, + #{estPrice}, + #{estPriceNoTax}, + #{estCostNoTax}, + #{taxRate}, + #{batchNo}, + #{serialNo}, + #{productionDate}, + #{expirationDate}, + #{shelfLife}, + #{shelfLiftUnit}, + #{sourceDetailId}, + #{transNoTaxPrice}, + #{transNoTaxAmount}, + #{transHasTaxPrice}, + #{transHasTaxAmount}, + #{transTaxAmount}, + #{detailField1}, + #{detailField2}, + #{detailField3}, + #{detailField4}, + #{detailField5}, + #{isCertified}, + #{registrationNumber}, + #{approvalDate}, + #{productionDepart}, + #{batchNumber}, + #{quantity}, + #{orderNum}, + #{serialSourceId}, + #{mainId} + + ) + + + + + + insert into jeck_goodsdocin_details_bak( + + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + orderNum, + serialSourceId, + mainId + + )values + ( + + #{recId}, + #{goodsId}, + #{goodsNo}, + #{goodsName}, + #{skuId}, + #{skuName}, + #{skuBarcode}, + #{unitName}, + #{cuPrice}, + #{cuValue}, + #{caseNumber}, + #{rowRemark}, + #{assistUnit}, + #{estCost}, + #{estTax}, + #{estPrice}, + #{estPriceNoTax}, + #{estCostNoTax}, + #{taxRate}, + #{batchNo}, + #{serialNo}, + #{productionDate}, + #{expirationDate}, + #{shelfLife}, + #{shelfLiftUnit}, + #{sourceDetailId}, + #{transNoTaxPrice}, + #{transNoTaxAmount}, + #{transHasTaxPrice}, + #{transHasTaxAmount}, + #{transTaxAmount}, + #{detailField1}, + #{detailField2}, + #{detailField3}, + #{detailField4}, + #{detailField5}, + #{isCertified}, + #{registrationNumber}, + #{approvalDate}, + #{productionDepart}, + #{batchNumber}, + #{quantity}, + #{orderNum}, + #{serialSourceId}, + #{mainId} + + ) + + + + delete from jeck_goodsdocin_details where recId =#{recId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.java index bfe561bd..9cb64b15 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.java @@ -2,6 +2,8 @@ package com.hzya.frame.Jackyun.goodsdocin.entity; import com.hzya.frame.web.entity.BaseEntity; +import java.util.List; + /** * * @content 吉客云入库单 @@ -14,4 +16,664 @@ import com.hzya.frame.web.entity.BaseEntity; public class GoodsdocInEntity extends BaseEntity { + /** 入库单ID */ + private String recId; + /** 入库单号 */ + private String goodsdocNo; + /** 上游单据号(关联单号) */ + private String billNo; + /** 入库时间 */ + private String inOutDate; + /** + 创建时间 */ + private String gmtCreate; + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + private String inouttype; + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + private String inouttypeName; + /** 标记id */ + private String flagData; + /** 标记名称 */ + private String flagDataName; + /** 往来单位编号 */ + private String vendCustomerCode; + /** 往来单位名称 */ + private String vendCustomerName; + /** 币种编号 */ + private String currencyCode; + /** 币种汇率 */ + private String currencyRate; + /** 业务员名字 */ + private String userName; + /** 仓库编号 */ + private String warehouseCode; + /** 仓库名字 */ + private String warehouseName; + /** 备注 */ + private String comment; + /** 收货备注 */ + private String memo; + /** 物流公司 */ + private String logisticName; + /** 物流单号 */ + private String logisticNo; + /** 公司id */ + private String companyId; + /** 公司名称 */ + private String companyName; + /** 物流类型1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + private String logisticType; + /** 物流公司编码 */ + private String logisticCode; + /** 入库原因 */ + private String inOutReason; + /** 来源单号 */ + private String sourceBillNo; + /** 渠道ID */ + private String channelId; + /** 渠道编号 */ + private String channelCode; + /** 渠道名称 */ + private String channelName; + /** + 红冲状态:1蓝单(未红冲);2被冲蓝单;9红冲单 */ + private String redStatus; + /** 自定义字段1 */ + private String field1; + /** 自定义字段2 */ + private String field2; + /** 自定义字段3 */ + private String field3; + /** 自定义字段4 */ + private String field4; + /** 自定义字段5 */ + private String field5; + /** <21是未成本核算,>=21<30已成本核算,>30不成本核算,其中25表示财务过账。 */ + private String financeBillStatus; + /** 申请人公司ID */ + private String applyCompanyId; + /** 申请人公司名称 */ + private String applyCompanyName; + /** 申请人公司编号 */ + private String applyCompanyCode; + /** 申请部门id */ + private String applyDepartId; + /** 申请人部门名称 */ + private String applyDepartName; + /** + 申请人部门编号 */ + private String departCode; + /** 申请人id */ + private String applyUserId; + /** 申请人名称 */ + private String applyUserName; + /** 外部单号 */ + private String outBillNo; + /** 修改日期 */ + private String gmtModified; + /** 公司编号 */ + private String companyCode; + /** 往来单位id */ + private String vendCustomerId; + /** 收货单号 */ + private String deliveryNo; + private String state; + private String u8BillCode; + private String accId; + + public String getU8BillCode() { + return u8BillCode; + } + + public void setU8BillCode(String u8BillCode) { + this.u8BillCode = u8BillCode; + } + + public String getAccId() { + return accId; + } + + public void setAccId(String accId) { + this.accId = accId; + } + + private List groupList; + private List goodsdocInDetailEntityList; + + public List getGoodsdocInDetailEntityList() { + return goodsdocInDetailEntityList; + } + + public void setGoodsdocInDetailEntityList(List goodsdocInDetailEntityList) { + this.goodsdocInDetailEntityList = goodsdocInDetailEntityList; + } + + public List getGroupList() { + return groupList; + } + + public void setGroupList(List groupList) { + this.groupList = groupList; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + private ListlogisticList; + private ListgoodsDocDetailList; + + public List getLogisticList() { + return logisticList; + } + + public void setLogisticList(List logisticList) { + this.logisticList = logisticList; + } + + public List getGoodsDocDetailList() { + return goodsDocDetailList; + } + + public void setGoodsDocDetailList(List goodsDocDetailList) { + this.goodsDocDetailList = goodsDocDetailList; + } + + /** 入库单ID */ + public void setRecId(String recId) { + this.recId = recId; + } + /** 入库单ID */ + public String getRecId() { + return recId; + } + + + /** 入库单号 */ + public void setGoodsdocNo(String goodsdocNo) { + this.goodsdocNo = goodsdocNo; + } + /** 入库单号 */ + public String getGoodsdocNo() { + return goodsdocNo; + } + + + /** 上游单据号(关联单号) */ + public void setBillNo(String billNo) { + this.billNo = billNo; + } + /** 上游单据号(关联单号) */ + public String getBillNo() { + return billNo; + } + + + /** 入库时间 */ + public void setInOutDate(String inOutDate) { + this.inOutDate = inOutDate; + } + /** 入库时间 */ + public String getInOutDate() { + return inOutDate; + } + + + /** + 创建时间 */ + public void setGmtCreate(String gmtCreate) { + this.gmtCreate = gmtCreate; + } + /** + 创建时间 */ + public String getGmtCreate() { + return gmtCreate; + } + + + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + public void setInouttype(String inouttype) { + this.inouttype = inouttype; + } + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + public String getInouttype() { + return inouttype; + } + + + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + public void setInouttypeName(String inouttypeName) { + this.inouttypeName = inouttypeName; + } + /** 入库类型(100-期初库存101-采购入库102-调拨入库103-盘盈入库104-其他入库105-销售退货106-完工入库107-组 */ + public String getInouttypeName() { + return inouttypeName; + } + + + /** 标记id */ + public void setFlagData(String flagData) { + this.flagData = flagData; + } + /** 标记id */ + public String getFlagData() { + return flagData; + } + + + /** 标记名称 */ + public void setFlagDataName(String flagDataName) { + this.flagDataName = flagDataName; + } + /** 标记名称 */ + public String getFlagDataName() { + return flagDataName; + } + + + /** 往来单位编号 */ + public void setVendCustomerCode(String vendCustomerCode) { + this.vendCustomerCode = vendCustomerCode; + } + /** 往来单位编号 */ + public String getVendCustomerCode() { + return vendCustomerCode; + } + + + /** 往来单位名称 */ + public void setVendCustomerName(String vendCustomerName) { + this.vendCustomerName = vendCustomerName; + } + /** 往来单位名称 */ + public String getVendCustomerName() { + return vendCustomerName; + } + + + /** 币种编号 */ + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + /** 币种编号 */ + public String getCurrencyCode() { + return currencyCode; + } + + + /** 币种汇率 */ + public void setCurrencyRate(String currencyRate) { + this.currencyRate = currencyRate; + } + /** 币种汇率 */ + public String getCurrencyRate() { + return currencyRate; + } + + + /** 业务员名字 */ + public void setUserName(String userName) { + this.userName = userName; + } + /** 业务员名字 */ + public String getUserName() { + return userName; + } + + + /** 仓库编号 */ + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + /** 仓库编号 */ + public String getWarehouseCode() { + return warehouseCode; + } + + + /** 仓库名字 */ + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } + /** 仓库名字 */ + public String getWarehouseName() { + return warehouseName; + } + + + /** 备注 */ + public void setComment(String comment) { + this.comment = comment; + } + /** 备注 */ + public String getComment() { + return comment; + } + + + /** 收货备注 */ + public void setMemo(String memo) { + this.memo = memo; + } + /** 收货备注 */ + public String getMemo() { + return memo; + } + + + /** 物流公司 */ + public void setLogisticName(String logisticName) { + this.logisticName = logisticName; + } + /** 物流公司 */ + public String getLogisticName() { + return logisticName; + } + + + /** 物流单号 */ + public void setLogisticNo(String logisticNo) { + this.logisticNo = logisticNo; + } + /** 物流单号 */ + public String getLogisticNo() { + return logisticNo; + } + + + /** 公司id */ + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + /** 公司id */ + public String getCompanyId() { + return companyId; + } + + + /** 公司名称 */ + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + /** 公司名称 */ + public String getCompanyName() { + return companyName; + } + + + /** 物流类型1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + public void setLogisticType(String logisticType) { + this.logisticType = logisticType; + } + /** 物流类型1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + public String getLogisticType() { + return logisticType; + } + + + /** 物流公司编码 */ + public void setLogisticCode(String logisticCode) { + this.logisticCode = logisticCode; + } + /** 物流公司编码 */ + public String getLogisticCode() { + return logisticCode; + } + + + /** 入库原因 */ + public void setInOutReason(String inOutReason) { + this.inOutReason = inOutReason; + } + /** 入库原因 */ + public String getInOutReason() { + return inOutReason; + } + + + /** 来源单号 */ + public void setSourceBillNo(String sourceBillNo) { + this.sourceBillNo = sourceBillNo; + } + /** 来源单号 */ + public String getSourceBillNo() { + return sourceBillNo; + } + + + /** 渠道ID */ + public void setChannelId(String channelId) { + this.channelId = channelId; + } + /** 渠道ID */ + public String getChannelId() { + return channelId; + } + + + /** 渠道编号 */ + public void setChannelCode(String channelCode) { + this.channelCode = channelCode; + } + /** 渠道编号 */ + public String getChannelCode() { + return channelCode; + } + + + /** 渠道名称 */ + public void setChannelName(String channelName) { + this.channelName = channelName; + } + /** 渠道名称 */ + public String getChannelName() { + return channelName; + } + + + /** + 红冲状态:1蓝单(未红冲);2被冲蓝单;9红冲单 */ + public void setRedStatus(String redStatus) { + this.redStatus = redStatus; + } + /** + 红冲状态:1蓝单(未红冲);2被冲蓝单;9红冲单 */ + public String getRedStatus() { + return redStatus; + } + + + /** 自定义字段1 */ + public void setField1(String field1) { + this.field1 = field1; + } + /** 自定义字段1 */ + public String getField1() { + return field1; + } + + + /** 自定义字段2 */ + public void setField2(String field2) { + this.field2 = field2; + } + /** 自定义字段2 */ + public String getField2() { + return field2; + } + + + /** 自定义字段3 */ + public void setField3(String field3) { + this.field3 = field3; + } + /** 自定义字段3 */ + public String getField3() { + return field3; + } + + + /** 自定义字段4 */ + public void setField4(String field4) { + this.field4 = field4; + } + /** 自定义字段4 */ + public String getField4() { + return field4; + } + + + /** 自定义字段5 */ + public void setField5(String field5) { + this.field5 = field5; + } + /** 自定义字段5 */ + public String getField5() { + return field5; + } + + + /** <21是未成本核算,>=21<30已成本核算,>30不成本核算,其中25表示财务过账。 */ + public void setFinanceBillStatus(String financeBillStatus) { + this.financeBillStatus = financeBillStatus; + } + /** <21是未成本核算,>=21<30已成本核算,>30不成本核算,其中25表示财务过账。 */ + public String getFinanceBillStatus() { + return financeBillStatus; + } + + + /** 申请人公司ID */ + public void setApplyCompanyId(String applyCompanyId) { + this.applyCompanyId = applyCompanyId; + } + /** 申请人公司ID */ + public String getApplyCompanyId() { + return applyCompanyId; + } + + + /** 申请人公司名称 */ + public void setApplyCompanyName(String applyCompanyName) { + this.applyCompanyName = applyCompanyName; + } + /** 申请人公司名称 */ + public String getApplyCompanyName() { + return applyCompanyName; + } + + + /** 申请人公司编号 */ + public void setApplyCompanyCode(String applyCompanyCode) { + this.applyCompanyCode = applyCompanyCode; + } + /** 申请人公司编号 */ + public String getApplyCompanyCode() { + return applyCompanyCode; + } + + + /** 申请部门id */ + public void setApplyDepartId(String applyDepartId) { + this.applyDepartId = applyDepartId; + } + /** 申请部门id */ + public String getApplyDepartId() { + return applyDepartId; + } + + + /** 申请人部门名称 */ + public void setApplyDepartName(String applyDepartName) { + this.applyDepartName = applyDepartName; + } + /** 申请人部门名称 */ + public String getApplyDepartName() { + return applyDepartName; + } + + + /** + 申请人部门编号 */ + public void setDepartCode(String departCode) { + this.departCode = departCode; + } + /** + 申请人部门编号 */ + public String getDepartCode() { + return departCode; + } + + + /** 申请人id */ + public void setApplyUserId(String applyUserId) { + this.applyUserId = applyUserId; + } + /** 申请人id */ + public String getApplyUserId() { + return applyUserId; + } + + + /** 申请人名称 */ + public void setApplyUserName(String applyUserName) { + this.applyUserName = applyUserName; + } + /** 申请人名称 */ + public String getApplyUserName() { + return applyUserName; + } + + + /** 外部单号 */ + public void setOutBillNo(String outBillNo) { + this.outBillNo = outBillNo; + } + /** 外部单号 */ + public String getOutBillNo() { + return outBillNo; + } + + + /** 修改日期 */ + public void setGmtModified(String gmtModified) { + this.gmtModified = gmtModified; + } + /** 修改日期 */ + public String getGmtModified() { + return gmtModified; + } + + + /** 公司编号 */ + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + /** 公司编号 */ + public String getCompanyCode() { + return companyCode; + } + + + /** 往来单位id */ + public void setVendCustomerId(String vendCustomerId) { + this.vendCustomerId = vendCustomerId; + } + /** 往来单位id */ + public String getVendCustomerId() { + return vendCustomerId; + } + + + /** 收货单号 */ + public void setDeliveryNo(String deliveryNo) { + this.deliveryNo = deliveryNo; + } + /** 收货单号 */ + public String getDeliveryNo() { + return deliveryNo; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.xml index c766a128..eda8f4f8 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInEntity.xml @@ -2,24 +2,464 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + recId, + goodsdocNo, + billNo, + inOutDate, + gmtCreate, + inouttype, + inouttypeName, + flagData, + flagDataName, + vendCustomerCode, + vendCustomerName, + currencyCode, + currencyRate, + userName, + warehouseCode, + warehouseName, + comment, + memo, + logisticName, + logisticNo, + companyId, + companyName, + logisticType, + logisticCode, + inOutReason, + sourceBillNo, + channelId, + channelCode, + channelName, + redStatus, + field1, + field2, + field3, + field4, + field5, + financeBillStatus, + applyCompanyId, + applyCompanyName, + applyCompanyCode, + applyDepartId, + applyDepartName, + departCode, + applyUserId, + applyUserName, + outBillNo, + gmtModified, + companyCode, + vendCustomerId, + u8BillCode, + accId, + deliveryNo + + + + + + + + + - - update ${AccCode}.dbo.Ap_CloseBill set sync_flag = #{state} - where iID = #{iID} - + + insert into jeck_goodsdocin( + + recId, + goodsdocNo, + billNo, + inOutDate, + gmtCreate, + inouttype, + inouttypeName, + flagData, + flagDataName, + vendCustomerCode, + vendCustomerName, + currencyCode, + currencyRate, + userName, + warehouseCode, + warehouseName, + comment, + memo, + logisticName, + logisticNo, + companyId, + companyName, + logisticType, + logisticCode, + inOutReason, + sourceBillNo, + channelId, + channelCode, + channelName, + redStatus, + field1, + field2, + field3, + field4, + field5, + financeBillStatus, + applyCompanyId, + applyCompanyName, + applyCompanyCode, + applyDepartId, + applyDepartName, + departCode, + applyUserId, + applyUserName, + outBillNo, + gmtModified, + companyCode, + vendCustomerId, + u8BillCode, + accId, + deliveryNo + + )values + ( + + #{recId}, + #{goodsdocNo}, + #{billNo}, + #{inOutDate}, + #{gmtCreate}, + #{inouttype}, + #{inouttypeName}, + #{flagData}, + #{flagDataName}, + #{vendCustomerCode}, + #{vendCustomerName}, + #{currencyCode}, + #{currencyRate}, + #{userName}, + #{warehouseCode}, + #{warehouseName}, + #{comment}, + #{memo}, + #{logisticName}, + #{logisticNo}, + #{companyId}, + #{companyName}, + #{logisticType}, + #{logisticCode}, + #{inOutReason}, + #{sourceBillNo}, + #{channelId}, + #{channelCode}, + #{channelName}, + #{redStatus}, + #{field1}, + #{field2}, + #{field3}, + #{field4}, + #{field5}, + #{financeBillStatus}, + #{applyCompanyId}, + #{applyCompanyName}, + #{applyCompanyCode}, + #{applyDepartId}, + #{applyDepartName}, + #{departCode}, + #{applyUserId}, + #{applyUserName}, + #{outBillNo}, + #{gmtModified}, + #{companyCode}, + #{vendCustomerId}, + #{u8BillCode}, + #{accId}, + #{deliveryNo} + + ) + + + + + + + insert into jeck_goodsdocin_bak( + + recId, + goodsdocNo, + billNo, + inOutDate, + gmtCreate, + inouttype, + inouttypeName, + flagData, + flagDataName, + vendCustomerCode, + vendCustomerName, + currencyCode, + currencyRate, + userName, + warehouseCode, + warehouseName, + comment, + memo, + logisticName, + logisticNo, + companyId, + companyName, + logisticType, + logisticCode, + inOutReason, + sourceBillNo, + channelId, + channelCode, + channelName, + redStatus, + field1, + field2, + field3, + field4, + field5, + financeBillStatus, + applyCompanyId, + applyCompanyName, + applyCompanyCode, + applyDepartId, + applyDepartName, + departCode, + applyUserId, + applyUserName, + outBillNo, + gmtModified, + companyCode, + vendCustomerId, + u8BillCode, + accId, + deliveryNo + + )values + ( + + #{recId}, + #{goodsdocNo}, + #{billNo}, + #{inOutDate}, + #{gmtCreate}, + #{inouttype}, + #{inouttypeName}, + #{flagData}, + #{flagDataName}, + #{vendCustomerCode}, + #{vendCustomerName}, + #{currencyCode}, + #{currencyRate}, + #{userName}, + #{warehouseCode}, + #{warehouseName}, + #{comment}, + #{memo}, + #{logisticName}, + #{logisticNo}, + #{companyId}, + #{companyName}, + #{logisticType}, + #{logisticCode}, + #{inOutReason}, + #{sourceBillNo}, + #{channelId}, + #{channelCode}, + #{channelName}, + #{redStatus}, + #{field1}, + #{field2}, + #{field3}, + #{field4}, + #{field5}, + #{financeBillStatus}, + #{applyCompanyId}, + #{applyCompanyName}, + #{applyCompanyCode}, + #{applyDepartId}, + #{applyDepartName}, + #{departCode}, + #{applyUserId}, + #{applyUserName}, + #{outBillNo}, + #{gmtModified}, + #{companyCode}, + #{vendCustomerId}, + #{u8BillCode}, + #{accId}, + #{deliveryNo} + + ) + + + + + + update jeck_goodsdocin set + + #{state} , + #{u8BillCode} + + where recId in ( + + + #{recId}, + + + ) + + + + + delete from jeck_goodsdocin where recId =#{recId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.java index 23059c5b..e54c80c9 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.java @@ -14,4 +14,75 @@ import com.hzya.frame.web.entity.BaseEntity; public class GoodsdocInLogisticEntity extends BaseEntity { + /** 入库单号 */ + private String docNo; + /** 物流单号 */ + private String logisticNo; + /** 物流公司编码 */ + private String logisticCode; + /** 物流公司名称 */ + private String logisticName; + /** + 物流类型,1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + private String logisticType; + + private String mainId; + + public String getMainId() { + return mainId; + } + + public void setMainId(String mainId) { + this.mainId = mainId; + } + /** 入库单号 */ + public void setDocNo(String docNo) { + this.docNo = docNo; + } + /** 入库单号 */ + public String getDocNo() { + return docNo; + } + + + /** 物流单号 */ + public void setLogisticNo(String logisticNo) { + this.logisticNo = logisticNo; + } + /** 物流单号 */ + public String getLogisticNo() { + return logisticNo; + } + + + /** 物流公司编码 */ + public void setLogisticCode(String logisticCode) { + this.logisticCode = logisticCode; + } + /** 物流公司编码 */ + public String getLogisticCode() { + return logisticCode; + } + + + /** 物流公司名称 */ + public void setLogisticName(String logisticName) { + this.logisticName = logisticName; + } + /** 物流公司名称 */ + public String getLogisticName() { + return logisticName; + } + + + /** + 物流类型,1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + public void setLogisticType(String logisticType) { + this.logisticType = logisticType; + } + /** + 物流类型,1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 */ + public String getLogisticType() { + return logisticType; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.xml index 2c70a524..93f68b11 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/entity/GoodsdocInLogisticEntity.xml @@ -2,24 +2,101 @@ - + + + + + + + + + + + + - - + + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType - - update ${AccCode}.dbo.Ap_CloseBill set sync_flag = #{state} - where iID = #{iID} - + + insert into jeck_goodsdocin_logistic( + + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType, + mainId + + )values + ( + + #{id}, + #{docNo}, + #{logisticNo}, + #{logisticCode}, + #{logisticName}, + #{logisticType}, + #{mainId} + + ) + + + + + insert into jeck_goodsdocin_logistic_bak( + + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType, + mainId + + )values + ( + + #{id}, + #{docNo}, + #{logisticNo}, + #{logisticCode}, + #{logisticName}, + #{logisticType}, + #{mainId} + + ) + + + + + delete from jeck_goodsdocin_logistic where recId =#{recId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/service/IGoodsdocInService.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/service/IGoodsdocInService.java index 18f7f697..675647e2 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/service/IGoodsdocInService.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocin/service/IGoodsdocInService.java @@ -20,5 +20,9 @@ public interface IGoodsdocInService extends IBaseService implements IGoodsdocInService { + @Autowired + private IGoodsdocInDao goodsdocInDao; + @Autowired + private IGoodsdocInDetailDao goodsdocInDetailDao; + @Autowired + private IGoodsdocInLogisticDao goodsdocInLogisticDao; + @Autowired + private IDeliveryOrderService deliveryOrderService; + @Autowired + private ISaleOutService saleOutService; @Override - public void getJeckGoodsdocIn() { + public void getJeckGoodsdocIn(JSONObject json) { + JSONArray dataArr = new JSONArray(); + int i = 0; + String method = "erp.storage.goodsdocin.v2"; + // 创建 Calendar 实例 + Date now = json.getDate("startTime"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(now); + + // 向前偏移两分钟 + calendar.add(Calendar.MINUTE, -30); + Date twoMinutesAgo = calendar.getTime(); + + // 创建 Calendar 实例 + Date now1 = json.getDate("endTime"); + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(now1); + + // 向前偏移两分钟 + calendar1.add(Calendar.MINUTE, 10); + Date twoMinutesAgo1 = calendar1.getTime(); + String startTime = DateUtil.format(twoMinutesAgo,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的开始时间 + String endTime = DateUtil.format(twoMinutesAgo1,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的结束时间 + try { + while (true){ + JSONObject main = new JSONObject(); + main.put("pageSize","50"); + main.put("pageIndex",i++); + String fields = "recId,goodsdocNo,billNo,inInDate,gmtCreate,inIntype,inIntypeName,flagData,flagDataName,vendCustomerCode,vendCustomerName,currencyCode,currencyRate,userName,warehouseCode,warehouseName,comment,memo,logisticName,logisticNo,companyId,companyName,logisticType,logisticCode,inInReason,sourceBillNo,channelId,channelCode,channelName,redStatus,field1,field2,field3,field4,field5,financeBillStatus,applyCompanyId,applyCompanyName,applyCompanyCode,applyDepartId,applyDepartName,departCode,applyUserId,applyUserName,InBillNo,gmtModified,companyCode,vendCustomerId,logisticList.id,logisticList.docNo,logisticList.logisticNo,logisticList.logisticCode,logisticList.logisticName,logisticList.logisticType,goodsDocDetailList.recId,goodsDocDetailList.goodsId,goodsDocDetailList.goodsNo,goodsDocDetailList.goodsName,goodsDocDetailList.skuId,goodsDocDetailList.skuName,goodsDocDetailList.skuBarcode,goodsDocDetailList.unitName,goodsDocDetailList.cuPrice,goodsDocDetailList.cuValue,goodsDocDetailList.caseNumber,goodsDocDetailList.rowRemark,goodsDocDetailList.assistUnit,goodsDocDetailList.estCost,goodsDocDetailList.estTax,goodsDocDetailList.estPrice,goodsDocDetailList.estPriceNoTax,goodsDocDetailList.estCostNoTax,goodsDocDetailList.taxRate,goodsDocDetailList.batchNo,goodsDocDetailList.serialNo,goodsDocDetailList.productionDate,goodsDocDetailList.expirationDate,goodsDocDetailList.shelfLife,goodsDocDetailList.shelfLiftUnit,goodsDocDetailList.sourceDetailId,goodsDocDetailList.transNoTaxPrice,goodsDocDetailList.transNoTaxAmount,goodsDocDetailList.transHasTaxPrice,goodsDocDetailList.transHasTaxAmount,goodsDocDetailList.transTaxAmount,goodsDocDetailList.detailField1,goodsDocDetailList.detailField2,goodsDocDetailList.detailField3,goodsDocDetailList.detailField4,goodsDocDetailList.detailField5,goodsDocDetailList.isCertified,goodsDocDetailList.registrationNumber,goodsDocDetailList.approvalDate,goodsDocDetailList.productionDepart,goodsDocDetailList.batchNumber,goodsDocDetailList.quantity,goodsDocDetailList.orderNum,goodsDocDetailList.serialSourceId,deliveryNo"; + main.put("selelctFields",fields); + main.put("startDate", startTime); + main.put("endDate", endTime); + String result = JackyunOpenHttpUtils.post(method, "v1.0", main); + if(StrUtil.isEmpty(result)){ + throw new RuntimeException("获取吉客云入库单失败"); + } + JSONObject resultObj = JSONObject.parseObject(result); + String code = resultObj.getString("code"); + if("200".equals(code)){ + JSONObject dataTitle = resultObj.getJSONObject("result"); + JSONArray datas = dataTitle.getJSONArray("data"); + if(datas.size()>0){ + dataArr.addAll(datas); + }else { + break; + } + } + } + AtomicInteger j = new AtomicInteger(); + //判断是否有数据处理到如果数组数据不为O则进行数据处理 + if(dataArr.size()>0){ + + dataArr.forEach(item->{ + j.getAndIncrement(); + logger.info("失败数据位置====================================="+j); + GoodsdocInEntity goodsdocIn = JSONObject.parseObject(JSON.toJSONString(item),GoodsdocInEntity.class); + //判断是否已经存在此单据,如果存在则跳过,如果不存在则新增写入 + GoodsdocInEntity checkEntity = new GoodsdocInEntity(); + checkEntity.setRecId(goodsdocIn.getRecId()); + List goodsdocInEntityList = goodsdocInDao.checkBill(checkEntity); + if(goodsdocInEntityList.size() == 0){ + //新增入库单数据 + GoodsdocInEntity goodsdocInEntity =goodsdocInDao.saveGoodsdocIn(goodsdocIn); + //判断是否有物流数据如果有则保存 + ListgoodsdocInLogisticEntityList = goodsdocIn.getLogisticList(); + if(null != goodsdocInLogisticEntityList && goodsdocInLogisticEntityList.size()>0){ + goodsdocInLogisticEntityList.forEach(logis->{ + logis.setMainId(goodsdocIn.getRecId()); + GoodsdocInLogisticEntity goodsdocInLogisticEntity = goodsdocInLogisticDao.saveLogis(logis); + }); + } + //判断是否有商品数据如果有则保存 + List goodsdocInDetailEntityList = goodsdocIn.getGoodsDocDetailList(); + if(null != goodsdocInDetailEntityList && goodsdocInDetailEntityList.size()>0){ + goodsdocInDetailEntityList.forEach(details->{ + details.setMainId(goodsdocIn.getRecId()); + GoodsdocInDetailEntity goodsdocInDetailEntity = goodsdocInDetailDao.saveDetails(details); + }); + } + } + }); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public void getJeckGoodsdocInBak(JSONObject requestJson) { + GoodsdocInEntity goodsdocInEntity = new GoodsdocInEntity(); + goodsdocInEntity.setState("Y"); + //查询所有所有已经处理完成的出库单 + List goodsdocInEntityList = goodsdocInDao.getGoodsdocInList(goodsdocInEntity); + if(CollectionUtils.isNotEmpty(goodsdocInEntityList)){ + goodsdocInEntityList.forEach(item -> { + String recId = item.getRecId(); + if(StrUtil.isNotEmpty(recId)){ + //查询出库单物流信息 + GoodsdocInLogisticEntity logisEntity = new GoodsdocInLogisticEntity(); + logisEntity.setMainId(recId); + List goodsdocInLogisticEntityList = goodsdocInLogisticDao.getGoodsdocInLogisticList(logisEntity); + if(CollectionUtils.isNotEmpty(goodsdocInLogisticEntityList)){ + goodsdocInLogisticEntityList.forEach(logis -> { + //新增到备份表 + goodsdocInLogisticDao.saveLogisBak(logis); + //在业务表删除数据 + goodsdocInLogisticDao.deleteByMainId(logisEntity); + }); + } + //查询出库单明细数据 + GoodsdocInDetailEntity detailEntity = new GoodsdocInDetailEntity(); + detailEntity.setMainId(recId); + List goodsdocInDetailEntityList = goodsdocInDetailDao.getGoodsdocInDetailList(detailEntity); + if(CollectionUtils.isNotEmpty(goodsdocInDetailEntityList)){ + goodsdocInDetailEntityList.forEach(details -> { + //新增到备份表 + goodsdocInDetailDao.saveDetailsBak(details); + //在业务表删除数据 + goodsdocInDetailDao.deleteByMainId(detailEntity); + }); + } + //将表头数据新增到备份表 + goodsdocInDao.saveGoodsdocInBak(item); + //删除业务表数据 + goodsdocInDao.deleteByRecId(recId); + } + }); + } + } + + @Override + public void getJeckGoodsdocInToU8(JSONObject requestJson) { + GoodsdocInEntity goodsdocInEntity = new GoodsdocInEntity(); +// goodsdocInEntity.setState("Y"); + //查询所有未处理的出库单信息 + List goodsdocInEntityList = goodsdocInDao.getGoodsdocInListAll(goodsdocInEntity); + if (CollectionUtils.isNotEmpty(goodsdocInEntityList)){ + goodsdocInEntity.setGroupList(goodsdocInEntityList); + //重新查询 然后进行分组 + List goodsdocInList = goodsdocInDao.getGoodsdocInListGroup(goodsdocInEntity); + if(CollectionUtils.isNotEmpty(goodsdocInList)){ + //查询明细数据 + GoodsdocInDetailEntity detailEntity = new GoodsdocInDetailEntity(); + detailEntity.setGoodsdocInEntityList(goodsdocInEntityList); + List goodsdocInDetailEntityList = goodsdocInDetailDao.getGoodsdocInDetailListGroup(detailEntity); + goodsdocInEntity = goodsdocInList.get(0); + JSONObject jsonObject = bdingParm(goodsdocInEntity,goodsdocInDetailEntityList); + //调用U8接口生成退货单 + U8ResultEntity u8ResultEntity = deliveryOrderService.addDeliveryT(jsonObject); + String state = ""; + if(!u8ResultEntity.issuccess()){ + goodsdocInEntity.setState("N"); + } + goodsdocInEntity.setU8BillCode(u8ResultEntity.getmessage()); + //开始组装U8红字销售出库单数据 + JSONObject saleOut = bdingParmOut(goodsdocInEntity,goodsdocInDetailEntityList); + U8ResultEntity u8ResultOut =saleOutService.addSaleOutT(saleOut); + if(!u8ResultOut.issuccess()){ + goodsdocInEntity.setState("N"); + } + goodsdocInDao.updateGoodsdocIn(goodsdocInEntity); + } + } } + /** + * + * @content 开始组装U8红字销售出库单数据 + * @className: Administrator + * @author laborer + * @date 2025-04-23 15:11 + * + */ + + private JSONObject bdingParmOut(GoodsdocInEntity goodsdocInEntity, List goodsdocInDetailEntityList) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("AccId", "201"); + jsonObject.put("billid", "123"); + JSONObject head = new JSONObject(); + head.put("cbuscode", goodsdocInEntity.getU8BillCode());//发货单号 + head.put("cdepcode", "普通销售");//部门编码 + head.put("cmaker", "吉客云入库单自动生成");//创建人 + head.put("crdcode", "203");//入库类别编码 + head.put("cdepcode", "01001");//仓库编码 todo 正式需要切换为04009 + head.put("ddate", "2024-12-31");//销售类型 + jsonObject.put("head",head); + JSONArray body = new JSONArray(); + int i = 0; + if(CollectionUtils.isNotEmpty(goodsdocInDetailEntityList)){ + for(GoodsdocInDetailEntity item : goodsdocInDetailEntityList){ + i++; + JSONObject details = new JSONObject(); + details.put("cbdlcode",goodsdocInEntity.getU8BillCode());//发货单号 + details.put("cdblrowno", i);//行号 + details.put("cinvcode", item.getGoodsNo());//存货编码 + details.put("iquantity", item.getQuantity());//数量 + body.add(details); + } + } + jsonObject.put("body",body); + return jsonObject; + } + + private JSONObject bdingParm(GoodsdocInEntity goodsdocInEntity, List goodsdocInDetailEntityList) { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("AccId", "201"); + jsonObject.put("billid", "123"); + JSONObject head = new JSONObject(); + head.put("brdflag", "1");//发货0,退货1 + head.put("cbustype", "普通销售");// + head.put("cdepcode", "00702");//销售部门 + head.put("cmaker", "吉客云入库单自动生成");//创建人 + head.put("cstcode", "11");//销售类型 + head.put("ddate", "2024-12-31");//销售类型 + jsonObject.put("head",head); + JSONArray body = new JSONArray(); + if(CollectionUtils.isNotEmpty(goodsdocInDetailEntityList)){ + goodsdocInDetailEntityList.forEach(item -> { + JSONObject details = new JSONObject(); + details.put("cwhcode","01001");//todo 正式需要切换为04009 + details.put("cinvcode",item.getGoodsNo()); + //计量单位编码需要按照名称去U8查询 + String unitName = item.getUnitName(); + if(StrUtil.isNotEmpty(unitName)){ + details.put("cunitid",unitName);//计量单位名称 todo 业务接口需要再次查询一下 + } + //todo idiscount原币折扣金额没有 看看是否需要调整代码 + details.put("isum",item.getTransHasTaxAmount()); + details.put("iquantity",item.getQuantity()); + details.put("itaxrate",item.getTaxRate()); + body.add(details); + }); + } + jsonObject.put("body",body); + return jsonObject; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDao.java index 022ab578..2e8ab419 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDao.java @@ -3,6 +3,8 @@ package com.hzya.frame.Jackyun.goodsdocout.dao; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutEntity; import com.hzya.frame.basedao.dao.IBaseDao; +import java.util.List; + /** * * @content 吉客云出库单 @@ -13,4 +15,15 @@ import com.hzya.frame.basedao.dao.IBaseDao; */ public interface IGoodsdocOutDao extends IBaseDao { + + List checkBill(GoodsdocOutEntity checkEntity); + + + GoodsdocOutEntity saveGoodsdocOut(GoodsdocOutEntity goodsdocOut); + + List getGoodsdocOutList(GoodsdocOutEntity goodsdocOutEntity); + + GoodsdocOutEntity saveGoodsdocOutBak(GoodsdocOutEntity item); + + int deleteByRecId(String recId); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDetailDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDetailDao.java index 473a908d..2df0e6a0 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDetailDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutDetailDao.java @@ -3,6 +3,8 @@ package com.hzya.frame.Jackyun.goodsdocout.dao; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutDetailEntity; import com.hzya.frame.basedao.dao.IBaseDao; +import java.util.List; + /** * @@ -13,4 +15,11 @@ import com.hzya.frame.basedao.dao.IBaseDao; * */ public interface IGoodsdocOutDetailDao extends IBaseDao { + GoodsdocOutDetailEntity saveDetails(GoodsdocOutDetailEntity details); + + List getGoodsdocOutDetailList(GoodsdocOutDetailEntity detailEntity); + + GoodsdocOutDetailEntity saveDetailsBak(GoodsdocOutDetailEntity details); + + int deleteByMainId(GoodsdocOutDetailEntity details); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutLogisticDao.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutLogisticDao.java index 0604e752..e5e09160 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutLogisticDao.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/IGoodsdocOutLogisticDao.java @@ -1,8 +1,11 @@ package com.hzya.frame.Jackyun.goodsdocout.dao; +import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInLogisticEntity; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutLogisticEntity; import com.hzya.frame.basedao.dao.IBaseDao; +import java.util.List; + /** * * @content 吉客云出库单 @@ -13,4 +16,11 @@ import com.hzya.frame.basedao.dao.IBaseDao; */ public interface IGoodsdocOutLogisticDao extends IBaseDao { + GoodsdocOutLogisticEntity saveLogis(GoodsdocOutLogisticEntity logis); + + List getGoodsdocOutLogisticList(GoodsdocOutLogisticEntity logis); + + GoodsdocOutLogisticEntity saveLogisBak(GoodsdocOutLogisticEntity logis); + + int deleteByMainId(GoodsdocOutLogisticEntity logis); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDaoImpl.java index bed8d9b8..daba4760 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDaoImpl.java @@ -1,10 +1,13 @@ package com.hzya.frame.Jackyun.goodsdocout.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutDao; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutEntity; import com.hzya.frame.basedao.dao.MybatisGenericDao; import org.springframework.stereotype.Repository; +import java.util.List; + /** * * @content 吉客云出库单 @@ -15,5 +18,30 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "GoodsdocOutDaoImpl") public class GoodsdocOutDaoImpl extends MybatisGenericDao implements IGoodsdocOutDao { +@DS("jeckYun") + @Override + public List checkBill(GoodsdocOutEntity checkEntity) { + return (List) super.selectList("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDaoImpl.entity_list_base",checkEntity); + } + @DS("jeckYun") + @Override + public GoodsdocOutEntity saveGoodsdocOut(GoodsdocOutEntity goodsdocOut) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDaoImpl.entity_insert", goodsdocOut); + } + @DS("jeckYun") + @Override + public List getGoodsdocOutList(GoodsdocOutEntity goodsdocOutEntity) { + return (List) super.selectList("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDaoImpl.entity_list_base_bak",goodsdocOutEntity); + } + @DS("jeckYun") + @Override + public GoodsdocOutEntity saveGoodsdocOutBak(GoodsdocOutEntity item) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDaoImpl.entity_insert_bak", item); + } + @DS("jeckYun") + @Override + public int deleteByRecId(String recId) { + return super.delete("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDaoImpl.entity_delete", recId); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDetailDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDetailDaoImpl.java index 69827319..4aadbedd 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDetailDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutDetailDaoImpl.java @@ -1,10 +1,13 @@ package com.hzya.frame.Jackyun.goodsdocout.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutDetailDao; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutDetailEntity; import com.hzya.frame.basedao.dao.MybatisGenericDao; import org.springframework.stereotype.Repository; +import java.util.List; + /** * * @content 吉客云出库单 @@ -15,4 +18,24 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "GoodsdocOutDetailDaoImpl") public class GoodsdocOutDetailDaoImpl extends MybatisGenericDao implements IGoodsdocOutDetailDao { + @DS("jeckYun") + @Override + public GoodsdocOutDetailEntity saveDetails(GoodsdocOutDetailEntity details) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDetailDaoImpl.entity_insert",details); + } + @DS("jeckYun") + @Override + public List getGoodsdocOutDetailList(GoodsdocOutDetailEntity detailEntity) { + return (List) super.selectList("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDetailDaoImpl.entity_list_base",detailEntity); + } + @DS("jeckYun") + @Override + public GoodsdocOutDetailEntity saveDetailsBak(GoodsdocOutDetailEntity details) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDetailDaoImpl.entity_insert_bak",details); + } + @DS("jeckYun") + @Override + public int deleteByMainId(GoodsdocOutDetailEntity details) { + return super.delete("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutDetailDaoImpl.entity_delete",details.getMainId()); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutLogisticDaoImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutLogisticDaoImpl.java index 732a7754..ca0e391b 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutLogisticDaoImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/dao/impl/GoodsdocOutLogisticDaoImpl.java @@ -1,10 +1,14 @@ package com.hzya.frame.Jackyun.goodsdocout.dao.impl; +import com.baomidou.dynamic.datasource.annotation.DS; +import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInLogisticEntity; import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutLogisticDao; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutLogisticEntity; import com.hzya.frame.basedao.dao.MybatisGenericDao; import org.springframework.stereotype.Repository; +import java.util.List; + /** * * @content 吉客云出库单 @@ -15,5 +19,25 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "GoodsdocOutLogisticDaoImpl") public class GoodsdocOutLogisticDaoImpl extends MybatisGenericDao implements IGoodsdocOutLogisticDao { + @DS("jeckYun") + @Override + public GoodsdocOutLogisticEntity saveLogis(GoodsdocOutLogisticEntity logis) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutLogisticDaoImpl.entity_insert",logis); + } + @DS("jeckYun") + @Override + public List getGoodsdocOutLogisticList(GoodsdocOutLogisticEntity logis) { + return (List) super.selectList("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutLogisticDaoImpl.entity_list_base",logis); + } + @DS("jeckYun") + @Override + public GoodsdocOutLogisticEntity saveLogisBak(GoodsdocOutLogisticEntity logis) { + return super.save("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutLogisticDaoImpl.entity_insert_bak",logis); + } + @DS("jeckYun") + @Override + public int deleteByMainId(GoodsdocOutLogisticEntity logis) { + return super.delete("com.hzya.frame.Jackyun.goodsdocout.dao.impl.GoodsdocOutLogisticDaoImpl.entity_delete",logis.getMainId()); + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.java index 00da072a..d90c404f 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.java @@ -10,5 +10,418 @@ import com.hzya.frame.web.entity.BaseEntity; * */ public class GoodsdocOutDetailEntity extends BaseEntity { + private String recId;//出库单明细ID + private String goodsId;//货品ID + private String goodsNo;//货品编号 + private String goodsName;//货品名称 + private String skuId;//规格ID + private String skuName;//规格名称 + private String skuBarcode;//条码 + private String unitName;//单位 + private String cuPrice;//成本单价 + private String cuValue;//成本金额 + private String caseNumber;//箱号 + private String rowRemark;//明细备注 + private String assistUnit;//辅助单位显示 + private String estCost;//本位币含税金额 + private String estTax;//税额 + private String estPrice;//含税单价 + private String estPriceNoTax;//含税单价 + private String estCostNoTax;//无税金额 + private String taxRate;//税率 + private String batchNo;//批次编号 + private String serialNo;//序列号 + private String productionDate;//生产日期 + private String expirationDate;//到期日期 + private String shelfLife;//质保期 + private String shelfLiftUnit;//质保期单位 + private String sourceDetailId;//来源单据明细Id + private String transNoTaxPrice;//无税单价(原币种) + private String transNoTaxAmount;//无税金额(原币种) + private String transHasTaxPrice;//含税单价(原币种) + private String transHasTaxAmount;//含税金额(原币种) + private String transTaxAmount;//税额(原币种) + private String detailField1;//自定义字段1 + private String detailField2;//自定义字段2 + private String detailField3;//自定义字段3 + private String detailField4;//自定义字段4 + private String detailField5;//自定义字段5 + private String isCertified;//是否正品0-否1-是 + private String registrationNumber;//批准文号 + private String approvalDate;//批文有效期 + private String productionDepart;//生产单位 + private String batchNumber;//生产批号 + private String quantity;//数量 + private String cateId;//分类id + private String cateName;//分类名称 + private String serialSourceId;//出库唯一码关联字段,此值不为空时,需要查询接口获取唯一码信息:erp.storage.goodsdocserial + private String mainId; + public String getMainId() { + return mainId; + } + + public void setMainId(String mainId) { + this.mainId = mainId; + } + + public String getSerialSourceId() { + return serialSourceId; + } + + public void setSerialSourceId(String serialSourceId) { + this.serialSourceId = serialSourceId; + } + + public String getRecId() { + return recId; + } + + public void setRecId(String recId) { + this.recId = recId; + } + + public String getGoodsId() { + return goodsId; + } + + public void setGoodsId(String goodsId) { + this.goodsId = goodsId; + } + + public String getGoodsNo() { + return goodsNo; + } + + public void setGoodsNo(String goodsNo) { + this.goodsNo = goodsNo; + } + + public String getGoodsName() { + return goodsName; + } + + public void setGoodsName(String goodsName) { + this.goodsName = goodsName; + } + + public String getSkuId() { + return skuId; + } + + public void setSkuId(String skuId) { + this.skuId = skuId; + } + + public String getSkuName() { + return skuName; + } + + public void setSkuName(String skuName) { + this.skuName = skuName; + } + + public String getSkuBarcode() { + return skuBarcode; + } + + public void setSkuBarcode(String skuBarcode) { + this.skuBarcode = skuBarcode; + } + + public String getUnitName() { + return unitName; + } + + public void setUnitName(String unitName) { + this.unitName = unitName; + } + + public String getCuPrice() { + return cuPrice; + } + + public void setCuPrice(String cuPrice) { + this.cuPrice = cuPrice; + } + + public String getCuValue() { + return cuValue; + } + + public void setCuValue(String cuValue) { + this.cuValue = cuValue; + } + + public String getCaseNumber() { + return caseNumber; + } + + public void setCaseNumber(String caseNumber) { + this.caseNumber = caseNumber; + } + + public String getRowRemark() { + return rowRemark; + } + + public void setRowRemark(String rowRemark) { + this.rowRemark = rowRemark; + } + + public String getAssistUnit() { + return assistUnit; + } + + public void setAssistUnit(String assistUnit) { + this.assistUnit = assistUnit; + } + + public String getEstCost() { + return estCost; + } + + public void setEstCost(String estCost) { + this.estCost = estCost; + } + + public String getEstTax() { + return estTax; + } + + public void setEstTax(String estTax) { + this.estTax = estTax; + } + + public String getEstPrice() { + return estPrice; + } + + public void setEstPrice(String estPrice) { + this.estPrice = estPrice; + } + + public String getEstPriceNoTax() { + return estPriceNoTax; + } + + public void setEstPriceNoTax(String estPriceNoTax) { + this.estPriceNoTax = estPriceNoTax; + } + + public String getEstCostNoTax() { + return estCostNoTax; + } + + public void setEstCostNoTax(String estCostNoTax) { + this.estCostNoTax = estCostNoTax; + } + + public String getTaxRate() { + return taxRate; + } + + public void setTaxRate(String taxRate) { + this.taxRate = taxRate; + } + + public String getBatchNo() { + return batchNo; + } + + public void setBatchNo(String batchNo) { + this.batchNo = batchNo; + } + + public String getSerialNo() { + return serialNo; + } + + public void setSerialNo(String serialNo) { + this.serialNo = serialNo; + } + + public String getProductionDate() { + return productionDate; + } + + public void setProductionDate(String productionDate) { + this.productionDate = productionDate; + } + + public String getExpirationDate() { + return expirationDate; + } + + public void setExpirationDate(String expirationDate) { + this.expirationDate = expirationDate; + } + + public String getShelfLife() { + return shelfLife; + } + + public void setShelfLife(String shelfLife) { + this.shelfLife = shelfLife; + } + + public String getShelfLiftUnit() { + return shelfLiftUnit; + } + + public void setShelfLiftUnit(String shelfLiftUnit) { + this.shelfLiftUnit = shelfLiftUnit; + } + + public String getSourceDetailId() { + return sourceDetailId; + } + + public void setSourceDetailId(String sourceDetailId) { + this.sourceDetailId = sourceDetailId; + } + + public String getTransNoTaxPrice() { + return transNoTaxPrice; + } + + public void setTransNoTaxPrice(String transNoTaxPrice) { + this.transNoTaxPrice = transNoTaxPrice; + } + + public String getTransNoTaxAmount() { + return transNoTaxAmount; + } + + public void setTransNoTaxAmount(String transNoTaxAmount) { + this.transNoTaxAmount = transNoTaxAmount; + } + + public String getTransHasTaxPrice() { + return transHasTaxPrice; + } + + public void setTransHasTaxPrice(String transHasTaxPrice) { + this.transHasTaxPrice = transHasTaxPrice; + } + + public String getTransHasTaxAmount() { + return transHasTaxAmount; + } + + public void setTransHasTaxAmount(String transHasTaxAmount) { + this.transHasTaxAmount = transHasTaxAmount; + } + + public String getTransTaxAmount() { + return transTaxAmount; + } + + public void setTransTaxAmount(String transTaxAmount) { + this.transTaxAmount = transTaxAmount; + } + + public String getDetailField1() { + return detailField1; + } + + public void setDetailField1(String detailField1) { + this.detailField1 = detailField1; + } + + public String getDetailField2() { + return detailField2; + } + + public void setDetailField2(String detailField2) { + this.detailField2 = detailField2; + } + + public String getDetailField3() { + return detailField3; + } + + public void setDetailField3(String detailField3) { + this.detailField3 = detailField3; + } + + public String getDetailField4() { + return detailField4; + } + + public void setDetailField4(String detailField4) { + this.detailField4 = detailField4; + } + + public String getDetailField5() { + return detailField5; + } + + public void setDetailField5(String detailField5) { + this.detailField5 = detailField5; + } + + public String getIsCertified() { + return isCertified; + } + + public void setIsCertified(String isCertified) { + this.isCertified = isCertified; + } + + public String getRegistrationNumber() { + return registrationNumber; + } + + public void setRegistrationNumber(String registrationNumber) { + this.registrationNumber = registrationNumber; + } + + public String getApprovalDate() { + return approvalDate; + } + + public void setApprovalDate(String approvalDate) { + this.approvalDate = approvalDate; + } + + public String getProductionDepart() { + return productionDepart; + } + + public void setProductionDepart(String productionDepart) { + this.productionDepart = productionDepart; + } + + public String getBatchNumber() { + return batchNumber; + } + + public void setBatchNumber(String batchNumber) { + this.batchNumber = batchNumber; + } + + public String getQuantity() { + return quantity; + } + + public void setQuantity(String quantity) { + this.quantity = quantity; + } + + public String getCateId() { + return cateId; + } + + public void setCateId(String cateId) { + this.cateId = cateId; + } + + public String getCateName() { + return cateName; + } + + public void setCateName(String cateName) { + this.cateName = cateName; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.xml index b84d27eb..fc2a1859 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutDetailEntity.xml @@ -2,10 +2,373 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + cateId, + cateName, + serialSourceId + + + + + insert into jeck_goodsdocout_details( + + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + cateId, + cateName, + serialSourceId, + mainId + + + )values + ( + + #{recId}, + #{goodsId}, + #{goodsNo}, + #{goodsName}, + #{skuId}, + #{skuName}, + #{skuBarcode}, + #{unitName}, + #{cuPrice}, + #{cuValue}, + #{caseNumber}, + #{rowRemark}, + #{assistUnit}, + #{estCost}, + #{estTax}, + #{estPrice}, + #{estPriceNoTax}, + #{estCostNoTax}, + #{taxRate}, + #{batchNo}, + #{serialNo}, + #{productionDate}, + #{expirationDate}, + #{shelfLife}, + #{shelfLiftUnit}, + #{sourceDetailId}, + #{transNoTaxPrice}, + #{transNoTaxAmount}, + #{transHasTaxPrice}, + #{transHasTaxAmount}, + #{transTaxAmount}, + #{detailField1}, + #{detailField2}, + #{detailField3}, + #{detailField4}, + #{detailField5}, + #{isCertified}, + #{registrationNumber}, + #{approvalDate}, + #{productionDepart}, + #{batchNumber}, + #{quantity}, + #{cateId}, + #{cateName}, + #{serialSourceId}, + #{mainId} + + + ) + + + + + + + insert into jeck_goodsdocout_details_bak( + + recId, + goodsId, + goodsNo, + goodsName, + skuId, + skuName, + skuBarcode, + unitName, + cuPrice, + cuValue, + caseNumber, + rowRemark, + assistUnit, + estCost, + estTax, + estPrice, + estPriceNoTax, + estCostNoTax, + taxRate, + batchNo, + serialNo, + productionDate, + expirationDate, + shelfLife, + shelfLiftUnit, + sourceDetailId, + transNoTaxPrice, + transNoTaxAmount, + transHasTaxPrice, + transHasTaxAmount, + transTaxAmount, + detailField1, + detailField2, + detailField3, + detailField4, + detailField5, + isCertified, + registrationNumber, + approvalDate, + productionDepart, + batchNumber, + quantity, + cateId, + cateName, + serialSourceId, + mainId + + + )values + ( + + #{recId}, + #{goodsId}, + #{goodsNo}, + #{goodsName}, + #{skuId}, + #{skuName}, + #{skuBarcode}, + #{unitName}, + #{cuPrice}, + #{cuValue}, + #{caseNumber}, + #{rowRemark}, + #{assistUnit}, + #{estCost}, + #{estTax}, + #{estPrice}, + #{estPriceNoTax}, + #{estCostNoTax}, + #{taxRate}, + #{batchNo}, + #{serialNo}, + #{productionDate}, + #{expirationDate}, + #{shelfLife}, + #{shelfLiftUnit}, + #{sourceDetailId}, + #{transNoTaxPrice}, + #{transNoTaxAmount}, + #{transHasTaxPrice}, + #{transHasTaxAmount}, + #{transTaxAmount}, + #{detailField1}, + #{detailField2}, + #{detailField3}, + #{detailField4}, + #{detailField5}, + #{isCertified}, + #{registrationNumber}, + #{approvalDate}, + #{productionDepart}, + #{batchNumber}, + #{quantity}, + #{cateId}, + #{cateName}, + #{serialSourceId}, + #{mainId} + + + ) + + + + + delete from jeck_goodsdocout_details where mainId =#{mainId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.java index 0528335f..99b4f7ab 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.java @@ -2,6 +2,8 @@ package com.hzya.frame.Jackyun.goodsdocout.entity; import com.hzya.frame.web.entity.BaseEntity; +import java.util.List; + /** * * @content 吉客云出库单 @@ -13,5 +15,483 @@ import com.hzya.frame.web.entity.BaseEntity; public class GoodsdocOutEntity extends BaseEntity { + private String recId;//出库单ID + private String goodsdocNo;//出库单号 + private String billNo;//上游单据号(关联单号) + private String inOutDate;//出库时间 + private String gmtCreate;//创建时间 + private String inouttype;//出入库类型(201-销售出库202-调拨出库203 - 盘亏出库204-其他出库205-采购退货206-生产领料207-组装拆卸出库208-翻新出库209-报废出库210-残次品出库211-倒冲出库212-包材出库215-维修还厂216-资产出库217-借用出库218-归还出库219-生产委外领料222-调拨退货出库223-生产余料出库299-可用库存修正231-成本调整出库) + private String inouttypeName;//出入库类型(201-销售出库202-调拨出库203 - 盘亏出库204-其他出库205-采购退货206-生产领料207-组装拆卸出库208-翻新出库209-报废出库210-残次品出库211-倒冲出库212-包材出库215-维修还厂216-资产出库217-借用出库218-归还出库219-生产委外领料222-调拨退货出库223-生产余料出库299-可用库存修正231-成本调整出库) + private String flagData;//标记id + private String flagDataName;//标记名称 + private String vendCustomerName;//往来单位名称 + private String currencyCode;//币种编号 + private String currencyRate;//币种汇率 + private String userName;//业务员名字 + private String warehouseCode;//仓库编号 + private String warehouseName;//仓库名字 + private String comment;//备注 + private String memo;//收货备注 + private String logisticName;//物流公司 + private String logisticNo;//物流单号 + private String companyId;//公司id + private String companyName;//公司名称 + private String logisticType;//物流类型1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 + private String logisticCode;//物流公司编码 + private String inOutReason;//出库原因 + private String sourceBillNo;//来源单号 + private String channelId;//渠道ID + private String channelCode;//渠道编号 + private String channelName;//渠道名称 + private String redStatus;//红冲状态:1蓝单(未红冲);2被冲蓝单;9红冲单 + private String field1;//自定义字段1 + private String field2;//自定义字段2 + private String field3;//自定义字段3 + private String field4;//自定义字段4 + private String field5;//自定义字段5 + private String financeBillStatus;//<21是未成本核算,>=21<30已成本核算,>30不成本核算,其中25表示财务过账。 + private String vendCustomerId;//往来单位的id + private String applyDepartId;//申请人部门id + private String applyDepartName;//申请人部门名称 + private String outBillNo;//外部单号 + private String serialSourceId;//出库唯一码关联字段,此值不为空时,需要查询接口获取唯一码信息:erp.storage.goodsdocserial + private String gmtModified;//最近修改时间 + private String departCode;//申请人部门编号 + private String applyCompanyName;//申请人公司名称 + private String applyCompanyCode;//申请人公司编号 + private String applyCompanyId;//申请人公司id + private String applyUserId;//申请人id + private String applyUserName;//申请人名称 + private String companyCode;//公司编号 + private String state; + private String u8BillCode; + private String accId; + public String getU8BillCode() { + return u8BillCode; + } + + public void setU8BillCode(String u8BillCode) { + this.u8BillCode = u8BillCode; + } + + public String getAccId() { + return accId; + } + + public void setAccId(String accId) { + this.accId = accId; + } + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + private ListlogisticList; + private ListgoodsDocDetailList; + + public List getLogisticList() { + return logisticList; + } + + public void setLogisticList(List logisticList) { + this.logisticList = logisticList; + } + + public List getGoodsDocDetailList() { + return goodsDocDetailList; + } + + public void setGoodsDocDetailList(List goodsDocDetailList) { + this.goodsDocDetailList = goodsDocDetailList; + } + + public String getGmtModified() { + return gmtModified; + } + + public void setGmtModified(String gmtModified) { + this.gmtModified = gmtModified; + } + + public String getDepartCode() { + return departCode; + } + + public void setDepartCode(String departCode) { + this.departCode = departCode; + } + + public String getApplyCompanyName() { + return applyCompanyName; + } + + public void setApplyCompanyName(String applyCompanyName) { + this.applyCompanyName = applyCompanyName; + } + + public String getApplyCompanyCode() { + return applyCompanyCode; + } + + public void setApplyCompanyCode(String applyCompanyCode) { + this.applyCompanyCode = applyCompanyCode; + } + + public String getApplyCompanyId() { + return applyCompanyId; + } + + public void setApplyCompanyId(String applyCompanyId) { + this.applyCompanyId = applyCompanyId; + } + + public String getApplyUserId() { + return applyUserId; + } + + public void setApplyUserId(String applyUserId) { + this.applyUserId = applyUserId; + } + + public String getApplyUserName() { + return applyUserName; + } + + public void setApplyUserName(String applyUserName) { + this.applyUserName = applyUserName; + } + + public String getCompanyCode() { + return companyCode; + } + + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + + public String getSerialSourceId() { + return serialSourceId; + } + + public void setSerialSourceId(String serialSourceId) { + this.serialSourceId = serialSourceId; + } + + public String getRecId() { + return recId; + } + + public void setRecId(String recId) { + this.recId = recId; + } + + public String getGoodsdocNo() { + return goodsdocNo; + } + + public void setGoodsdocNo(String goodsdocNo) { + this.goodsdocNo = goodsdocNo; + } + + public String getBillNo() { + return billNo; + } + + public void setBillNo(String billNo) { + this.billNo = billNo; + } + + public String getInOutDate() { + return inOutDate; + } + + public void setInOutDate(String inOutDate) { + this.inOutDate = inOutDate; + } + + public String getGmtCreate() { + return gmtCreate; + } + + public void setGmtCreate(String gmtCreate) { + this.gmtCreate = gmtCreate; + } + + public String getInouttype() { + return inouttype; + } + + public void setInouttype(String inouttype) { + this.inouttype = inouttype; + } + + public String getInouttypeName() { + return inouttypeName; + } + + public void setInouttypeName(String inouttypeName) { + this.inouttypeName = inouttypeName; + } + + public String getFlagData() { + return flagData; + } + + public void setFlagData(String flagData) { + this.flagData = flagData; + } + + public String getFlagDataName() { + return flagDataName; + } + + public void setFlagDataName(String flagDataName) { + this.flagDataName = flagDataName; + } + + public String getVendCustomerName() { + return vendCustomerName; + } + + public void setVendCustomerName(String vendCustomerName) { + this.vendCustomerName = vendCustomerName; + } + + public String getCurrencyCode() { + return currencyCode; + } + + public void setCurrencyCode(String currencyCode) { + this.currencyCode = currencyCode; + } + + public String getCurrencyRate() { + return currencyRate; + } + + public void setCurrencyRate(String currencyRate) { + this.currencyRate = currencyRate; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getWarehouseName() { + return warehouseName; + } + + public void setWarehouseName(String warehouseName) { + this.warehouseName = warehouseName; + } + + public String getComment() { + return comment; + } + + public void setComment(String comment) { + this.comment = comment; + } + + public String getMemo() { + return memo; + } + + public void setMemo(String memo) { + this.memo = memo; + } + + public String getLogisticName() { + return logisticName; + } + + public void setLogisticName(String logisticName) { + this.logisticName = logisticName; + } + + public String getLogisticNo() { + return logisticNo; + } + + public void setLogisticNo(String logisticNo) { + this.logisticNo = logisticNo; + } + + @Override + public String getCompanyId() { + return companyId; + } + + @Override + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getLogisticType() { + return logisticType; + } + + public void setLogisticType(String logisticType) { + this.logisticType = logisticType; + } + + public String getLogisticCode() { + return logisticCode; + } + + public void setLogisticCode(String logisticCode) { + this.logisticCode = logisticCode; + } + + public String getInOutReason() { + return inOutReason; + } + + public void setInOutReason(String inOutReason) { + this.inOutReason = inOutReason; + } + + public String getSourceBillNo() { + return sourceBillNo; + } + + public void setSourceBillNo(String sourceBillNo) { + this.sourceBillNo = sourceBillNo; + } + + public String getChannelId() { + return channelId; + } + + public void setChannelId(String channelId) { + this.channelId = channelId; + } + + public String getChannelCode() { + return channelCode; + } + + public void setChannelCode(String channelCode) { + this.channelCode = channelCode; + } + + public String getChannelName() { + return channelName; + } + + public void setChannelName(String channelName) { + this.channelName = channelName; + } + + public String getRedStatus() { + return redStatus; + } + + public void setRedStatus(String redStatus) { + this.redStatus = redStatus; + } + + public String getField1() { + return field1; + } + + public void setField1(String field1) { + this.field1 = field1; + } + + public String getField2() { + return field2; + } + + public void setField2(String field2) { + this.field2 = field2; + } + + public String getField3() { + return field3; + } + + public void setField3(String field3) { + this.field3 = field3; + } + + public String getField4() { + return field4; + } + + public void setField4(String field4) { + this.field4 = field4; + } + + public String getField5() { + return field5; + } + + public void setField5(String field5) { + this.field5 = field5; + } + + public String getFinanceBillStatus() { + return financeBillStatus; + } + + public void setFinanceBillStatus(String financeBillStatus) { + this.financeBillStatus = financeBillStatus; + } + + public String getVendCustomerId() { + return vendCustomerId; + } + + public void setVendCustomerId(String vendCustomerId) { + this.vendCustomerId = vendCustomerId; + } + + public String getApplyDepartId() { + return applyDepartId; + } + + public void setApplyDepartId(String applyDepartId) { + this.applyDepartId = applyDepartId; + } + + public String getApplyDepartName() { + return applyDepartName; + } + + public void setApplyDepartName(String applyDepartName) { + this.applyDepartName = applyDepartName; + } + + public String getOutBillNo() { + return outBillNo; + } + + public void setOutBillNo(String outBillNo) { + this.outBillNo = outBillNo; + } } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.xml index d843a0b2..17284d35 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutEntity.xml @@ -2,24 +2,339 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - update ${AccCode}.dbo.Ap_CloseBill set sync_flag = #{state} - where iID = #{iID} - + + INSERT INTO [dbo].[jeck_goodsdocout] ( + + [recId], + [goodsdocNo], + [billNo], + [inOutDate], + [gmtCreate], + [inouttype], + [inouttypeName], + [flagData], + [flagDataName], + [vendCustomerName], + [currencyCode], + [currencyRate], + [userName], + [warehouseCode], + [warehouseName], + [comment], + [memo], + [logisticName], + [logisticNo], + [companyId], + [companyName], + [logisticType], + [logisticCode], + [inOutReason], + [sourceBillNo], + [channelId], + [channelCode], + [channelName], + [redStatus], + [field1], + [field2], + [field3], + [field4], + [field5], + [financeBillStatus], + [vendCustomerId], + [applyDepartId], + [applyDepartName], + [outBillNo], + [gmtModified], + [departCode], + [applyCompanyName], + [applyCompanyCode], + [applyCompanyId], + [applyUserId], + [applyUserName], + [u8BillCode], + [companyCode], + + ) + VALUES + ( + + #{recId}, + #{goodsdocNo}, + #{billNo}, + #{inOutDate}, + #{gmtCreate}, + #{inouttype}, + #{inouttypeName}, + #{flagData}, + #{flagDataName}, + #{vendCustomerName}, + #{currencyCode}, + #{currencyRate}, + #{userName}, + #{warehouseCode}, + #{warehouseName}, + #{comment}, + #{memo}, + #{logisticName}, + #{logisticNo}, + #{companyId}, + #{companyName}, + #{logisticType}, + #{logisticCode}, + #{inOutReason}, + #{sourceBillNo}, + #{channelId}, + #{channelCode}, + #{channelName}, + #{redStatus}, + #{field1}, + #{field2}, + #{field3}, + #{field4}, + #{field5}, + #{financeBillStatus}, + #{vendCustomerId}, + #{applyDepartId}, + #{applyDepartName}, + #{outBillNo}, + #{gmtModified}, + #{departCode}, + #{applyCompanyName}, + #{applyCompanyCode}, + #{applyCompanyId}, + #{applyUserId}, + #{applyUserName}, + #{u8BillCode}, + #{companyCode}, + + ); + + + + + + INSERT INTO [dbo].[jeck_goodsdocout_bak] ( + + [recId], + [goodsdocNo], + [billNo], + [inOutDate], + [gmtCreate], + [inouttype], + [inouttypeName], + [flagData], + [flagDataName], + [vendCustomerName], + [currencyCode], + [currencyRate], + [userName], + [warehouseCode], + [warehouseName], + [comment], + [memo], + [logisticName], + [logisticNo], + [companyId], + [companyName], + [logisticType], + [logisticCode], + [inOutReason], + [sourceBillNo], + [channelId], + [channelCode], + [channelName], + [redStatus], + [field1], + [field2], + [field3], + [field4], + [field5], + [financeBillStatus], + [vendCustomerId], + [applyDepartId], + [applyDepartName], + [outBillNo], + [gmtModified], + [departCode], + [applyCompanyName], + [applyCompanyCode], + [applyCompanyId], + [applyUserId], + [applyUserName], + [u8BillCode], + [companyCode], + + ) + VALUES + ( + + #{recId}, + #{goodsdocNo}, + #{billNo}, + #{inOutDate}, + #{gmtCreate}, + #{inouttype}, + #{inouttypeName}, + #{flagData}, + #{flagDataName}, + #{vendCustomerName}, + #{currencyCode}, + #{currencyRate}, + #{userName}, + #{warehouseCode}, + #{warehouseName}, + #{comment}, + #{memo}, + #{logisticName}, + #{logisticNo}, + #{companyId}, + #{companyName}, + #{logisticType}, + #{logisticCode}, + #{inOutReason}, + #{sourceBillNo}, + #{channelId}, + #{channelCode}, + #{channelName}, + #{redStatus}, + #{field1}, + #{field2}, + #{field3}, + #{field4}, + #{field5}, + #{financeBillStatus}, + #{vendCustomerId}, + #{applyDepartId}, + #{applyDepartName}, + #{outBillNo}, + #{gmtModified}, + #{departCode}, + #{applyCompanyName}, + #{applyCompanyCode}, + #{applyCompanyId}, + #{applyUserId}, + #{applyUserName}, + #{u8BillCode}, + #{companyCode}, + + ); + + + + + delete from jeck_goodsdocout where recId =#{recId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.java index 0cde18b5..2cdb0cdd 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.java @@ -13,5 +13,71 @@ import com.hzya.frame.web.entity.BaseEntity; public class GoodsdocOutLogisticEntity extends BaseEntity { + private String id;//- + private String docNo;//出入库单号 + private String logisticNo;//物流单号 + private String logisticCode;//物流公司编码 + private String logisticName;//物流公司名称 + private String logisticType;//物流类型,1-普通快递2-上门自提3-门店配送5-无需配送6-线下配送 + private String mainId; + + public String getMainId() { + return mainId; + } + + public void setMainId(String mainId) { + this.mainId = mainId; + } + + @Override + public String getId() { + return id; + } + + @Override + public void setId(String id) { + this.id = id; + } + + public String getDocNo() { + return docNo; + } + + public void setDocNo(String docNo) { + this.docNo = docNo; + } + + public String getLogisticNo() { + return logisticNo; + } + + public void setLogisticNo(String logisticNo) { + this.logisticNo = logisticNo; + } + + public String getLogisticCode() { + return logisticCode; + } + + public void setLogisticCode(String logisticCode) { + this.logisticCode = logisticCode; + } + + public String getLogisticName() { + return logisticName; + } + + public void setLogisticName(String logisticName) { + this.logisticName = logisticName; + } + + public String getLogisticType() { + return logisticType; + } + + public void setLogisticType(String logisticType) { + this.logisticType = logisticType; + } + } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.xml b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.xml index 950692e5..d160bf8c 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.xml +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/entity/GoodsdocOutLogisticEntity.xml @@ -2,24 +2,102 @@ - - - + + + + + + + + + + + + - + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType - - - update ${AccCode}.dbo.Ap_CloseBill set sync_flag = #{state} - where iID = #{iID} - + + + + insert into jeck_goodsdocout_logistic( + + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType, + mainId + + )values + ( + + #{id}, + #{docNo}, + #{logisticNo}, + #{logisticCode}, + #{logisticName}, + #{logisticType}, + #{mainId} + + + ) + + + + + + insert into jeck_goodsdocout_logistic_bak( + + id, + docNo, + logisticNo, + logisticCode, + logisticName, + logisticType, + mainId + + )values + ( + + #{id}, + #{docNo}, + #{logisticNo}, + #{logisticCode}, + #{logisticName}, + #{logisticType}, + #{mainId} + + + ) + + + + + delete from jeck_goodsdocout_logistic where mainId =#{mainId} + diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/IGoodsdocOutService.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/IGoodsdocOutService.java index 4e464d49..774acd42 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/IGoodsdocOutService.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/IGoodsdocOutService.java @@ -1,5 +1,6 @@ package com.hzya.frame.Jackyun.goodsdocout.service; +import com.alibaba.fastjson.JSONObject; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutEntity; import com.hzya.frame.basedao.service.IBaseService; @@ -12,5 +13,24 @@ import com.hzya.frame.basedao.service.IBaseService; * */ public interface IGoodsdocOutService extends IBaseService { +/** + * + * @content 获取吉客云出库数据 + * @className: Administrator + * @author laborer + * @date 2025-04-10 10:56 + * + */ + void getjRckYunGoodsdocOut(JSONObject json); +/** + * + * @content + * @className: Administrator + * @author laborer + * @date 2025-04-16 9:46 + * + */ + + void jeckYunGoodsdocOutBak(JSONObject requestJson); } diff --git a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/impl/GoodsdocOutServiceImpl.java b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/impl/GoodsdocOutServiceImpl.java index 4724a100..f6269333 100644 --- a/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/impl/GoodsdocOutServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/Jackyun/goodsdocout/service/impl/GoodsdocOutServiceImpl.java @@ -1,10 +1,28 @@ package com.hzya.frame.Jackyun.goodsdocout.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.hzya.frame.Jackyun.goodsdocin.entity.GoodsdocInLogisticEntity; +import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutDao; +import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutDetailDao; +import com.hzya.frame.Jackyun.goodsdocout.dao.IGoodsdocOutLogisticDao; +import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutDetailEntity; import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutEntity; +import com.hzya.frame.Jackyun.goodsdocout.entity.GoodsdocOutLogisticEntity; import com.hzya.frame.Jackyun.goodsdocout.service.IGoodsdocOutService; +import com.hzya.frame.Jackyun.util.JackyunOpenHttpUtils; import com.hzya.frame.basedao.service.impl.BaseService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + /** * * @content 吉客云出库单 @@ -15,6 +33,136 @@ import org.springframework.stereotype.Service; */ @Service(value = "GoodsdocOutServiceImpl") public class GoodsdocOutServiceImpl extends BaseService implements IGoodsdocOutService { + @Autowired + private IGoodsdocOutDao goodsdocOutDao; + @Autowired + private IGoodsdocOutLogisticDao goodsdocOutLogisticDao; + @Autowired + private IGoodsdocOutDetailDao goodsdocOutDetailDao; + @Override + public void getjRckYunGoodsdocOut(JSONObject json) { + JSONArray dataArr = new JSONArray(); + int i = 0; + String method = "erp.storage.goodsdocout.v2"; + // 创建 Calendar 实例 + Date now = json.getDate("startTime"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(now); - + // 向前偏移两分钟 + calendar.add(Calendar.MINUTE, -30); + Date twoMinutesAgo = calendar.getTime(); + + // 创建 Calendar 实例 + Date now1 = json.getDate("endTime"); + Calendar calendar1 = Calendar.getInstance(); + calendar1.setTime(now1); + + // 向前偏移两分钟 + calendar1.add(Calendar.MINUTE, 10); + Date twoMinutesAgo1 = calendar1.getTime(); + String startTime = DateUtil.format(twoMinutesAgo,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的开始时间 + String endTime = DateUtil.format(twoMinutesAgo1,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的结束时间 + try { + while (true){ + JSONObject main = new JSONObject(); + main.put("pageSize","50"); + main.put("pageIndex",i++); + String fields = "recId,goodsdocNo,billNo,inOutDate,gmtCreate,inouttype,inouttypeName,flagData,flagDataName,vendCustomerCode,vendCustomerName,currencyCode,currencyRate,userName,warehouseCode,warehouseName,comment,memo,logisticName,logisticNo,companyId,companyName,logisticType,logisticCode,inOutReason,sourceBillNo,channelId,channelCode,channelName,redStatus,field1,field2,field3,field4,field5,financeBillStatus,applyCompanyId,applyCompanyName,applyCompanyCode,applyDepartId,applyDepartName,departCode,applyUserId,applyUserName,outBillNo,gmtModified,companyCode,vendCustomerId,logisticList.id,logisticList.docNo,logisticList.logisticNo,logisticList.logisticCode,logisticList.logisticName,logisticList.logisticType,goodsDocDetailList.recId,goodsDocDetailList.goodsId,goodsDocDetailList.goodsNo,goodsDocDetailList.goodsName,goodsDocDetailList.skuId,goodsDocDetailList.skuName,goodsDocDetailList.skuBarcode,goodsDocDetailList.unitName,goodsDocDetailList.cuPrice,goodsDocDetailList.cuValue,goodsDocDetailList.caseNumber,goodsDocDetailList.rowRemark,goodsDocDetailList.assistUnit,goodsDocDetailList.estCost,goodsDocDetailList.estTax,goodsDocDetailList.estPrice,goodsDocDetailList.estPriceNoTax,goodsDocDetailList.estCostNoTax,goodsDocDetailList.taxRate,goodsDocDetailList.batchNo,goodsDocDetailList.serialNo,goodsDocDetailList.productionDate,goodsDocDetailList.expirationDate,goodsDocDetailList.shelfLife,goodsDocDetailList.shelfLiftUnit,goodsDocDetailList.sourceDetailId,goodsDocDetailList.transNoTaxPrice,goodsDocDetailList.transNoTaxAmount,goodsDocDetailList.transHasTaxPrice,goodsDocDetailList.transHasTaxAmount,goodsDocDetailList.transTaxAmount,goodsDocDetailList.detailField1,goodsDocDetailList.detailField2,goodsDocDetailList.detailField3,goodsDocDetailList.detailField4,goodsDocDetailList.detailField5,goodsDocDetailList.isCertified,goodsDocDetailList.registrationNumber,goodsDocDetailList.approvalDate,goodsDocDetailList.productionDepart,goodsDocDetailList.batchNumber,goodsDocDetailList.quantity,goodsDocDetailList.orderNum,goodsDocDetailList.serialSourceId,deliveryNo"; + main.put("selelctFields",fields); + main.put("startDate", startTime); + main.put("endDate", endTime); + String result = JackyunOpenHttpUtils.post(method, "v1.0", main); + if(StrUtil.isEmpty(result)){ + throw new RuntimeException("获取吉客云出库单失败"); + } + JSONObject resultObj = JSONObject.parseObject(result); + String code = resultObj.getString("code"); + if("200".equals(code)){ + JSONObject dataTitle = resultObj.getJSONObject("result"); + JSONArray datas = dataTitle.getJSONArray("data"); + if(datas.size()>0){ + dataArr.addAll(datas); + }else { + break; + } + } + } + //判断是否有数据处理到如果数组数据不为O则进行数据处理 + if(dataArr.size()>0){ + dataArr.forEach(item->{ + GoodsdocOutEntity goodsdocOut = JSONObject.parseObject(JSON.toJSONString(item),GoodsdocOutEntity.class); + //判断是否已经存在此单据,如果存在则跳过,如果不存在则新增写入 + GoodsdocOutEntity checkEntity = new GoodsdocOutEntity(); + checkEntity.setRecId(goodsdocOut.getRecId()); + List goodsdocOutEntityList = goodsdocOutDao.checkBill(checkEntity); + if(goodsdocOutEntityList.size() == 0){ + //新增出库单数据 + GoodsdocOutEntity goodsdocOutEntity =goodsdocOutDao.saveGoodsdocOut(goodsdocOut); + //判断是否有物流数据如果有则保存 + ListgoodsdocOutLogisticEntityList = goodsdocOut.getLogisticList(); + if(null != goodsdocOutLogisticEntityList && goodsdocOutLogisticEntityList.size()>0){ + goodsdocOutLogisticEntityList.forEach(logis->{ + logis.setMainId(goodsdocOut.getRecId()); + GoodsdocOutLogisticEntity goodsdocOutLogisticEntity = goodsdocOutLogisticDao.saveLogis(logis); + }); + } + //判断是否有商品数据如果有则保存 + List goodsdocOutDetailEntityList = goodsdocOut.getGoodsDocDetailList(); + if(null != goodsdocOutDetailEntityList && goodsdocOutDetailEntityList.size()>0){ + goodsdocOutDetailEntityList.forEach(details->{ + details.setMainId(goodsdocOut.getRecId()); + GoodsdocOutDetailEntity goodsdocOutDetailEntity = goodsdocOutDetailDao.saveDetails(details); + }); + } + } + }); + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public void jeckYunGoodsdocOutBak(JSONObject requestJson) { + GoodsdocOutEntity goodsdocOutEntity = new GoodsdocOutEntity(); + goodsdocOutEntity.setState("Y"); + //查询所有所有已经处理完成的出库单 + List goodsdocOutEntityList = goodsdocOutDao.getGoodsdocOutList(goodsdocOutEntity); + if(CollectionUtils.isNotEmpty(goodsdocOutEntityList)){ + goodsdocOutEntityList.forEach(item -> { + String recId = item.getRecId(); + if(StrUtil.isNotEmpty(recId)){ + //查询出库单物流信息 + GoodsdocOutLogisticEntity logisEntity = new GoodsdocOutLogisticEntity(); + logisEntity.setMainId(recId); + List goodsdocOutLogisticEntityList = goodsdocOutLogisticDao.getGoodsdocOutLogisticList(logisEntity); + if(CollectionUtils.isNotEmpty(goodsdocOutLogisticEntityList)){ + goodsdocOutLogisticEntityList.forEach(logis -> { + //新增到备份表 + goodsdocOutLogisticDao.saveLogisBak(logis); + //在业务表删除数据 + goodsdocOutLogisticDao.deleteByMainId(logisEntity); + }); + } + //查询出库单明细数据 + GoodsdocOutDetailEntity detailEntity = new GoodsdocOutDetailEntity(); + detailEntity.setMainId(recId); + List goodsdocOutDetailEntityList = goodsdocOutDetailDao.getGoodsdocOutDetailList(detailEntity); + if(CollectionUtils.isNotEmpty(goodsdocOutDetailEntityList)){ + goodsdocOutDetailEntityList.forEach(details -> { + //新增到备份表 + goodsdocOutDetailDao.saveDetailsBak(details); + //在业务表删除数据 + goodsdocOutDetailDao.deleteByMainId(detailEntity); + }); + } + //将表头数据新增到备份表 + goodsdocOutDao.saveGoodsdocOutBak(item); + //删除业务表数据 + goodsdocOutDao.deleteByRecId(recId); + } + }); + } + } } diff --git a/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java b/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java index be035af1..b9f4b28f 100644 --- a/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/sysnew/comparison/masterData/service/impl/MasterDataServiceImpl.java @@ -68,7 +68,7 @@ public class MasterDataServiceImpl extends BaseService calendar.setTime(now); // 向前偏移两分钟 - calendar.add(Calendar.MINUTE, -2); + calendar.add(Calendar.MINUTE, -30); Date twoMinutesAgo = calendar.getTime(); // 创建 Calendar 实例 @@ -77,7 +77,7 @@ public class MasterDataServiceImpl extends BaseService calendar1.setTime(now1); // 向前偏移两分钟 - calendar1.add(Calendar.MINUTE, 2); + calendar1.add(Calendar.MINUTE, 10); Date twoMinutesAgo1 = calendar1.getTime(); String startTime = DateUtil.format(twoMinutesAgo,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的开始时间 String endTime = DateUtil.format(twoMinutesAgo1,"yyyy-MM-dd HH:mm:ss");//定时任务执行时传入的结束时间 @@ -238,8 +238,8 @@ public class MasterDataServiceImpl extends BaseService sb.append(" and a.cinvccode = '"+code+"'"); }else{ // ts = DateUtil.dateToString(new Date(), "yyyy-MM-dd HH:mm:ss"); - sb.append(" and a.dModifyDate >= '"+startTime+"'"); - sb.append(" and a.dModifyDate <= '"+endTime+"'"); + sb.append(" and a.ts >= '"+startTime+"'"); + sb.append(" and a.ts <= '"+endTime+"'"); } StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("select * from v_hzya_Inventory a where 1=1 " +sb.toString()); diff --git a/service/src/main/java/com/hzya/frame/u8/delivery/service/IDeliveryOrderService.java b/service/src/main/java/com/hzya/frame/u8/delivery/service/IDeliveryOrderService.java index 9b88ffa5..693a43cd 100644 --- a/service/src/main/java/com/hzya/frame/u8/delivery/service/IDeliveryOrderService.java +++ b/service/src/main/java/com/hzya/frame/u8/delivery/service/IDeliveryOrderService.java @@ -37,6 +37,16 @@ public interface IDeliveryOrderService extends IBaseService255){ + jsonObject.put("cmemo", cmemo.substring(0,254)); + } + if(StrUtil.isEmpty(AccId)){ + return BaseU8Result.getFailureMessageEntity("请传入正确的账套号"); + } + String AccCode = U8Util.accMap.get(AccId); + if(StrUtil.isEmpty(AccCode)){ + return BaseU8Result.getFailureMessageEntity("请传入正确的账套号"); + } + JSONObject jHead = jsonObject.getJSONObject("head"); + //业务类型 + String cbustype = jHead.getString("cbustype"); + if(StrUtil.isEmpty(cbustype)){ + jHead.put("cbustype","普通销售"); + } + //销售类型 + String cvouchtype = jHead.getString("cvouchtype"); + if(StrUtil.isEmpty(cvouchtype)){ + jHead.put("cvouchtype","05"); + } + //日期 + String ddate = jHead.getString("ddate"); + if(StrUtil.isEmpty(ddate)){ + jHead.put("ddate", DateUtil.format(new Date(),"yyyy-MM-dd")); + } + //单据模版号 + String ivtid = jHead.getString("ivtid"); + if(StrUtil.isEmpty(ivtid)){ + jHead.put("ivtid","71"); + } + //税率 + String itaxrate = jHead.getString("itaxrate"); + if(StrUtil.isEmpty(itaxrate)){ + jHead.put("itaxrate","13"); + } + //汇率 + String iexchrate = jHead.getString("iexchrate"); + if(StrUtil.isEmpty(iexchrate)){ + jHead.put("iexchrate","1"); + } + //币种 + String cexch_name = jHead.getString("cexch_name"); + if(StrUtil.isEmpty(cexch_name)){ + jHead.put("cexch_name","人民币"); + } + //是否立账单据 bcredit 0 + String bcredit = jHead.getString("bcredit"); + if(StrUtil.isEmpty(bcredit)){ + jHead.put("bcredit","0"); + } + //流程id iflowid 0 + String iflowid = jHead.getString("iflowid"); + if(StrUtil.isEmpty(iflowid)){ + jHead.put("iflowid","0"); + } + //签回损失生成 bsigncreate 0 + String bsigncreate = jHead.getString("bsigncreate"); + if(StrUtil.isEmpty(bsigncreate)){ + jHead.put("bsigncreate","0"); + } + //现款结算 bcashsale + String bcashsale = jHead.getString("bcashsale"); + if(StrUtil.isEmpty(bcashsale)){ + jHead.put("bcashsale","0"); + } + //必有定金 bmustbook 0 + String bmustbook = jHead.getString("bmustbook"); + if(StrUtil.isEmpty(bmustbook)){ + jHead.put("bmustbook","0"); + } + //存货选项切换 baccswitchflag 0 + String baccswitchflag = jHead.getString("baccswitchflag"); + if(StrUtil.isEmpty(baccswitchflag)){ + jHead.put("baccswitchflag","0"); + } + //todo 发货单表头必输项 + String[] MustInputCode = new String[] { "cvouchtype", "cstcode", "ddate", "breturnflag", "cdepcode" }; + String[] MustInputName = new String[] { "单据类型编码", "销售类型编码 ", "单据日期", "退货标识(0发货,1退货)", "部门编码" }; + //根据当前单据类型 所需参数判断是否传入该参数没有传入 + for (int i = 0; i < MustInputCode.length; i++) + { + if (StrUtil.isEmpty(jHead.getString(MustInputCode[i]))) { + resultStr.append("请输入:" + MustInputCode[i] + "(" + MustInputName[i] + ")") ; + } + } + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getFailureMessageEntity(resultStr.toString()); + } +// //校验发货单是否存在 CRM cdefine10是唯一的 +// String cDLCodeIsExist = "select cDefine10,cDLCode from "+AccCode+".dbo.DispatchList where cDefine10 = '"+jHead.getString("cdefine10")+"'"; +// //查询银行账户列表 +// SaleInvEntity U8Obj = new SaleInvEntity(); +// U8Obj.setDataSourceCode("YONYOUU8NEW"); +// List> hashMaps = saleInvDao.getU8BillData(cDLCodeIsExist,U8Obj); +// if(CollectionUtils.isNotEmpty(hashMaps)){ +// return BaseU8Result.getFailureMessageEntity("发货通知单号已存在!对应发货单号为:"+jHead.getString("cdefine10")); +// } + + + //todo 发货单表体 + JSONArray body = new JSONArray(); + JSONArray jBody = jsonObject.getJSONArray("body"); + for (int i = 0; i < jBody.size(); i++) { + JSONObject jBodyObj = jBody.getJSONObject(i); + //验证数据,如果为空则返回报错信息 + String[] MustInputCodes = new String[] { "iquantity", "cinvcode","inum" }; + String[] MustInputNames = new String[] { "数量", "存货编码","辅计量单位数量" }; + for (int j = 0; j < MustInputCodes.length; j++){ + if (StrUtil.isEmpty(MustInputCodes[j])){ + resultStr.append("请输入:" + MustInputCodes[j] + "(" + MustInputNames[j] + "),错误行:" + (i + 1)) ; + + } + } + //获取计量单位组信息 + String sqlUnit = "select b.cInvCName,a.* from "+AccCode+".dbo.Inventory a left join "+AccCode+".dbo.InventoryClass b on b.cInvCCode = a.cInvCCode " + + "where cInvCode='"+jBodyObj.getString("cinvcode")+"'"; + SaleInvEntity U8Body = new SaleInvEntity(); + U8Body.setDataSourceCode("YONYOUU8NEW"); + List> U8BodyHashMaps = saleInvDao.getU8BillData(sqlUnit,U8Body); + if(CollectionUtils.isEmpty(U8BodyHashMaps)){ + resultStr.append("存货编码不存在[" + jBodyObj.getString("cinvcode")+ "],行:"+i + 1+"" ); + } + //存货信息 + HashMap inv= U8BodyHashMaps.get(0); + //必须传下面参数不然CO会报错 + jBodyObj.put("cgroupcode",inv.get("cGroupCode")); + jBodyObj.put("igrouptype",inv.get("iGroupType")); + jBodyObj.put("ccomunitcode",inv.get("cComUnitCode")); + //默认项 在第三方调用不传输数据情况下 则默认以下数据 + + // 买赠类型 + String cdefine22 = jBodyObj.getString("cdefine22"); + if(StrUtil.isEmpty(cdefine22)){ + jBodyObj.put("cdefine22","正常"); + } + //累计出库数量 (似乎有这个bug,不传这个参数,累计出库数量会和发货数量一致,导致发货单关闭,反正加上没坏处) + jBodyObj.put("fOutQuantity","0.00"); + //工厂编码 + jBodyObj.put("cfactorycode","001"); + //退补数量 tbquantity + String tbquantity = jBodyObj.getString("tbquantity"); + if(StrUtil.isEmpty(tbquantity)){ + jBodyObj.put("tbquantity","0"); + } + //零售单价 fsalecost + String fsalecost = jBodyObj.getString("fsalecost"); + if(StrUtil.isEmpty(fsalecost)){ + jBodyObj.put("fsalecost","0"); + } + //零售金额 fsaleprice + String fsaleprice = jBodyObj.getString("fsaleprice"); + if(StrUtil.isEmpty(fsaleprice)){ + jBodyObj.put("fsaleprice","0"); + } + //客户最低售价 fcusminprice + String fcusminprice = jBodyObj.getString("fcusminprice"); + if(StrUtil.isEmpty(fcusminprice)){ + jBodyObj.put("fcusminprice","0"); + } + //有效期推算方式 iexpiratdatecalcu + String iexpiratdatecalcu = jBodyObj.getString("iexpiratdatecalcu"); + if(StrUtil.isEmpty(iexpiratdatecalcu)){ + jBodyObj.put("iexpiratdatecalcu","0"); + } + //需要签回 bneedsign + String bneedsign = jBodyObj.getString("bneedsign"); + if(StrUtil.isEmpty(bneedsign)){ + jBodyObj.put("bneedsign","0"); + } + //报价含税标识 bsaleprice + String bsaleprice = jBodyObj.getString("bsaleprice"); + if(StrUtil.isEmpty(bsaleprice)){ + jBodyObj.put("bsaleprice","1"); + } + //是否赠品 bgift + String bgift = jBodyObj.getString("bgift"); + if(StrUtil.isEmpty(bgift)){ + jBodyObj.put("bgift","0"); + } + //行号 irowno + jBodyObj.put("irowno",i+1); + // 金额计算 + //原币折扣金额 + BigDecimal idiscount = StrUtil.isNotEmpty(jBodyObj.getString("idiscount")) ? jBodyObj.getBigDecimal("idiscount") : new BigDecimal(0); + BigDecimal iquantity = jBodyObj.getBigDecimal("iquantity");//数量 + BigDecimal isum = jBodyObj.getBigDecimal("isum");//价税合计 + BigDecimal itaxrate_b = jBodyObj.getBigDecimal("itaxrate");//税率 + BigDecimal nflat = jHead.getBigDecimal("iexchrate");//汇率 + BigDecimal iTaxUnitPrice = isum.divide(iquantity,6); //原币含税单价 + JSONObject ae = new JSONObject(); + //工具类编写金额信息进行计算 + U8Util.CalculationSum(isum, iquantity, nflat, itaxrate_b, 6); + jBodyObj.put("iquotedprice",ae.getString("TaxPrice")) ; + jBodyObj.put("itaxunitprice",ae.getString("TaxPrice")) ;//原币含税单价 + jBodyObj.put("isum",ae.getString("Sum"));//价税合计 + jBodyObj.put("iunitprice",ae.getString("UnitPrice")) ;//原币不含税单价 + jBodyObj.put("imoney",ae.getString("Money"));//原货不含税金额 + jBodyObj.put("itax",ae.getString("Tax"));//原币税额 + jBodyObj.put("inatunitprice",ae.getString("NatUnitPrice"));//本币含税单价 + jBodyObj.put("inatmoney",ae.getString("NatMoney"));//本币含税金额 + jBodyObj.put("inattax",ae.getString("NatTax"));//本币税额 + jBodyObj.put("inatsum",ae.getString("NatSum"));//本币含税金额 + String kl = jBodyObj.getString("kl"); + String kl2 = jBodyObj.getString("kl2"); + if(StrUtil.isEmpty(kl)){ + jBodyObj.put("kl","100"); + } + if(StrUtil.isEmpty(kl2)){ + jBodyObj.put("kl2","100"); + } + body.add(jBodyObj) ; + } + JSONObject main = new JSONObject(); + main.put("head",jHead); + main.put("billid",billid); + main.put("AccId",AccId); + main.put("head",jHead); + main.put("body",body); + main.put("domPosition",new ArrayList<>()); + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getSuccessMessageEntity(resultStr.toString()); + } + logger.info("发货单新增推送U8:"+main.toString()); + String result = U8Util.sengBillToU8(main.toString(), "8000110015"); + logger.info("发货单新增推送U8结果:"+result); + JSONObject resultObj = JSON.parseObject(result); + boolean flag = resultObj.getBoolean("success"); + logger.info(resultObj.toString()); + if(!flag){ + return BaseU8Result.getFailureMessageEntity("新增失败:::"+resultObj.getString("message")); + }else{ + billCode = resultObj.getString("message"); + //新增成功之后调用审核接口进行审核 + //通过返回的编码获取发货单主键 + String dlSql = "select DLID from "+AccCode+".dbo.DispatchList where cDLCode = '"+billCode+"' "; + SaleInvEntity erdt = new SaleInvEntity(); + erdt.setDataSourceCode("YONYOUU8NEW"); + List> dlMap = saleInvDao.getU8BillData(dlSql,erdt); + if(CollectionUtils.isEmpty(dlMap)){ + return BaseU8Result.getFailureMessageEntity("查询发货单主键失败::"+billCode); + } + JSONObject dt3 = new JSONObject(dlMap.get(0)); + dlId = dt3.getString("DLID"); + //审核 + JSONObject audit = new JSONObject(); + audit.put("billid", UUID.randomUUID()); + audit.put("AccId", AccId); + audit.put("cVoucherId", dlId); + logger.info("发货单审核:"+main.toString()); + String resultAudit = U8Util.sengBillToU8(audit.toString(), "8000110016"); + logger.info("发货单审核结果:"+result); + JSONObject resultObjA = JSON.parseObject(resultAudit); + boolean flagAudit = resultObjA.getBoolean("success"); +// logger.info(resultObj.toString()); + if(!flagAudit){ + //如果审核失败需要调用删除接口回滚单据 + JSONObject delete = new JSONObject(); + delete.put("billid", UUID.randomUUID()); + delete.put("AccId", AccId); + delete.put("cVoucherId", dlId); + //删除 + String resultDelete = U8Util.sengBillToU8(delete.toString(), "8000110017"); + //删除之后直接返回失败信息 + return BaseU8Result.getFailureMessageEntity("新增正常但审核失败:::"+resultObjA.getString("message")); + } + + } + // {"code":1,"success":"true","message":"2012502250010"} + return BaseU8Result.getSuccessMessageEntity(resultObj.getString("message")); + } catch (Exception e) { + //如果进入异常,并且单据主键不为空,也同样删除单据进行回滚 + JSONObject delete = new JSONObject(); + delete.put("billid", UUID.randomUUID()); + delete.put("AccId", AccId); + delete.put("cVoucherId", dlId); + //删除 + String resultDelete = U8Util.sengBillToU8(delete.toString(), "8000110017"); + //删除之后直接返回失败信息 + logger.info("新增失败:"+e.getMessage()); + return BaseU8Result.getFailureMessageEntity("新增失败,请联系U8管理员"); + } + } + /** * * @content 发货单-关闭 diff --git a/service/src/main/java/com/hzya/frame/u8/saleout/service/ISaleOutService.java b/service/src/main/java/com/hzya/frame/u8/saleout/service/ISaleOutService.java index a61bf46f..0af73971 100644 --- a/service/src/main/java/com/hzya/frame/u8/saleout/service/ISaleOutService.java +++ b/service/src/main/java/com/hzya/frame/u8/saleout/service/ISaleOutService.java @@ -35,6 +35,15 @@ public interface ISaleOutService extends IBaseService { */ U8ResultEntity addSaleOut(JSONObject parm); + /** + * + * @content 红字销售出库-新增 + * @className: Administrator + * @author laborer + * @date 2025-02-24 14:33 + * + */ + U8ResultEntity addSaleOutT(JSONObject parm); /** * * @content 销售出库-新增 diff --git a/service/src/main/java/com/hzya/frame/u8/saleout/service/impl/SaleOutServiceImpl.java b/service/src/main/java/com/hzya/frame/u8/saleout/service/impl/SaleOutServiceImpl.java index fcc0f5e6..9efc9847 100644 --- a/service/src/main/java/com/hzya/frame/u8/saleout/service/impl/SaleOutServiceImpl.java +++ b/service/src/main/java/com/hzya/frame/u8/saleout/service/impl/SaleOutServiceImpl.java @@ -513,6 +513,277 @@ public class SaleOutServiceImpl extends BaseService implem } } + @Override + public U8ResultEntity addSaleOutT(JSONObject parm) { + String billCode = ""; + String dlId = ""; + String AccId = ""; + JSONObject jsonObject = parm.getJSONObject("jsonStr"); + logger.info("接收到的参数"+jsonObject.toString()); + StringBuffer resultStr = new StringBuffer();//回传json + try { + String billid = jsonObject.getString("billid"); + if(StrUtil.isEmpty(billid)){ + return BaseU8Result.getFailureMessageEntity("请传入第三方唯一标识"); + } +// AccId = jsonObject.getString("AccId"); +// if(StrUtil.isEmpty(AccId)){ +// return BaseU8Result.getFailureMessageEntity("请传入正确的账套号"); +// } +// String AccCode = U8Util.accMap.get(AccId); +// if(StrUtil.isEmpty(AccCode)){ +// return BaseU8Result.getFailureMessageEntity("请传入正确的账套号"); +// } + JSONObject jHead = jsonObject.getJSONObject("head"); + //todo 发货单表头必输项 + String[] MustInputCode = new String[] { "cbuscode", "crdcode", "cwhcode", "cmaker"}; + String[] MustInputName = new String[] { "发货单号", "收发类别", "仓库", "制单人"}; + //根据当前单据类型 所需参数判断是否传入该参数没有传入 + for (int i = 0; i < MustInputCode.length; i++) + { + if (StrUtil.isEmpty(jHead.getString(MustInputCode[i]))) { + resultStr.append("请输入:" + MustInputCode[i] + "(" + MustInputName[i] + ")") ; + } + } + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getFailureMessageEntity(resultStr.toString()); + } + String sqlAccId = "select * from [kjs_external].[dbo].[v_dispatchlist_forout] where cDLCode = '"+jHead.getString("cbuscode")+"'"; + //查询账套中的发货单信息 + SaleInvEntity U8Obj = new SaleInvEntity(); + U8Obj.setDataSourceCode("YONYOUU8NEW"); + List> hashMaps = saleInvDao.getU8BillData(sqlAccId,U8Obj); + if(CollectionUtils.isEmpty(hashMaps) || hashMaps.size() > 1){ + return BaseU8Result.getFailureMessageEntity("发货单不存在,或存在多个发货单号为:"+jHead.getString("cbuscode")); + } + HashMap cbusc= hashMaps.get(0); + AccId = String.valueOf(cbusc.get("zhangtao")); + if(StrUtil.isEmpty(AccId)){ + return BaseU8Result.getFailureMessageEntity("获取账套号有误,请联系管理员"+AccId); + } + String AccCode = U8Util.accMap.get(AccId); + if(StrUtil.isEmpty(AccCode)){ + return BaseU8Result.getFailureMessageEntity("获取账套号有误,请联系管理员"); + } + + //验证单号唯一 + String cdefine5 = jsonObject.getString("cdefine5"); + if(StrUtil.isNotEmpty(cdefine5)){ + String cdefine5Sql = "select cdefine5 from "+AccCode+".dbo.rdrecord32 where cdefine5 = '"+cdefine5+"'"; + List> cdefine5Map = saleInvDao.getU8BillData(cdefine5Sql,U8Obj); + if(CollectionUtils.isNotEmpty(cdefine5Map) ){ + return BaseU8Result.getFailureMessageEntity("单号重复,请检查:"+cdefine5); + } + } + + //发货退货单主表@ + //发货退货单主表 + String sqlSelDisList = "select DLID as 'dlid',DLID as 'cdlcode' ,cDLCode as 'cbuscode' ,cDepCode as 'cdepcode' ,cPersonCode as 'cpersoncode' ,cCusCode as 'ccuscode'," + + "cCusCode as 'cinvoicecompany',cSTCode as 'cstcode ,'32' as 'cvouchtype' ,'普通销售' as 'cbustype' ,'发货单' as 'csource' ,GETDATE() as 'ddate' ,'form WMS' as 'cmemo'," + + "case when bReturnFlag = 1 then '多组织-红字采购入库' else '多组织-采购订单' end as 'cdefine1' " + + "from "+AccCode+".dbo.DispatchList " + + "where cDLCode = '"+jHead.getString("cbuscode")+"'"; + + List> selDisListMap = saleInvDao.getU8BillData(sqlSelDisList,U8Obj); + if(CollectionUtils.isEmpty(selDisListMap) ){ + return BaseU8Result.getFailureMessageEntity("发货单主表查询失败"+jHead.getString("cbuscode")); + } + HashMap selDis= hashMaps.get(0); + if(StrUtil.isEmpty(jHead.getString("dlid"))){ + jHead.put("dlid",selDis.get("dlid")); + } + if(StrUtil.isEmpty(jHead.getString("cdlcode"))){ + jHead.put("cdlcode",selDis.get("cdlcode")); + } + if(StrUtil.isEmpty(jHead.getString("cbuscode"))){ + jHead.put("cbuscode",selDis.get("cbuscode")); + } + if(StrUtil.isEmpty(jHead.getString("cdepcode"))){ + jHead.put("cdepcode",selDis.get("cdepcode")); + } + if(StrUtil.isEmpty(jHead.getString("cpersoncode"))){ + jHead.put("cpersoncode",selDis.get("cpersoncode")); + } + if(StrUtil.isEmpty(jHead.getString("ccuscode"))){ + jHead.put("ccuscode",selDis.get("ccuscode")); + } + if(StrUtil.isEmpty(jHead.getString("cinvoicecompany"))){ + jHead.put("cinvoicecompany",selDis.get("cinvoicecompany")); + } + if(StrUtil.isEmpty(jHead.getString("cinvoicecompany"))){ + jHead.put("cinvoicecompany",selDis.get("cinvoicecompany")); + } + if(StrUtil.isEmpty(jHead.getString("cvouchtype"))){ + jHead.put("cvouchtype",selDis.get("cvouchtype")); + } + if(StrUtil.isEmpty(jHead.getString("cbustype"))){ + jHead.put("cbustype",selDis.get("cbustype")); + } + if(StrUtil.isEmpty(jHead.getString("csource"))){ + jHead.put("csource",selDis.get("csource")); + } + if(StrUtil.isEmpty(jHead.getString("ddate"))){ + jHead.put("ddate",selDis.get("ddate")); + } + if(StrUtil.isEmpty(jHead.getString("cmemo"))){ + jHead.put("cmemo",selDis.get("cmemo")); + } + if(StrUtil.isEmpty(jHead.getString("cdefine1"))){ + jHead.put("cdefine1",selDis.get("cdefine1")); + } + //表体 + JSONArray body = new JSONArray(); + JSONArray jBody = jsonObject.getJSONArray("body"); + for (int i = 0; i < jBody.size(); i++) { + JSONObject jBodyObj = jBody.getJSONObject(i); + if(StrUtil.isEmpty(jBodyObj.getString("cinvcode"))){ + resultStr.append("材料编码不能为空 行:"+i+1) ; + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getFailureMessageEntity(resultStr.toString()); + } + } + if(StrUtil.isEmpty(jBodyObj.getString("iquantity"))){ + resultStr.append("数量不能为空 行:"+i+1) ; + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getFailureMessageEntity(resultStr.toString()); + } + } + if("0".equals(jBodyObj.getString("iquantity"))){ + resultStr.append("数量不能为0 行:"+i+1) ; + //如果有错误信息,则返回错误信息 + if(StrUtil.isNotEmpty(resultStr.toString())){ + return BaseU8Result.getFailureMessageEntity(resultStr.toString()); + } + } + //发货退货单子表@ + String sqlSelDisLists = " select idlsid from "+AccCode+".dbo.DispatchList dl left join "+AccCode+".dbo.DispatchLists dls on dls.DLID = dl.DLID " + + "where cDLCode = '"+jBodyObj.getString("cbdlcode")+"" + + "' and cInvCode = '"+jBodyObj.getString("cinvcode")+"" + + "' and irowno = '"+jBodyObj.getString("cdblrowno")+"'"; + List> selDisDetailsListMap = saleInvDao.getU8BillData(sqlSelDisLists,U8Obj); + if(CollectionUtils.isEmpty(selDisDetailsListMap) ){ + return BaseU8Result.getFailureMessageEntity("发货单子表查询失败"+jHead.getString("cbuscode")+"发货单表体存货"+jBodyObj.getString("cinvcode")+"行号"+jBodyObj.getString("cdblrowno")+"不存在"); + } + HashMap selDisDetails= hashMaps.get(0); + if(StrUtil.isEmpty(jBodyObj.getString("idlsid"))){ + jBodyObj.put("idlsid",selDisDetails.get("idlsid")); + } + + + //获取辅计量单位 + String dtInvSql = "select cInvCode,cInvName,cInvStd,Inv.cComUnitCode,cInvCCode,iChangRate, cPUComUnitCode,cSAComUnitCode,cProductUnit,cSTComUnitCode " + + "from "+AccCode+".dbo.Inventory Inv " + + "left join "+AccCode+".dbo.ComputationUnit Com On Inv.cComUnitCode = Com.cComUnitCode " + + "where cInvCode='" + jBodyObj.getString("cinvcode") +"'"; + List> dtInv = saleInvDao.getU8BillData(dtInvSql,U8Obj); + if(CollectionUtils.isEmpty(dtInv) ){ + return BaseU8Result.getFailureMessageEntity("ERP没有该物料,请检查,行号:"+i+1); + } + HashMap dtInvObj= dtInv.get(0); + //存在辅计量单位则 计算件数 =数量/换算率 + if(StrUtil.isNotEmpty(String.valueOf(dtInvObj.get("cSTComUnitCode")))){ + jBodyObj.put("cassunit",dtInvObj.get("cSTComUnitCode")); + String sqlCassUnit = "select * from "+AccCode+".dbo.ComputationUnit where cComUnitCode='" +dtInvObj.get("cSTComUnitCode")+"'"; + List> dtUnit = saleInvDao.getU8BillData(sqlCassUnit,U8Obj); + if(CollectionUtils.isEmpty(dtUnit) ){ + return BaseU8Result.getFailureMessageEntity("查询单位失败,请检查,行号:"+i+1); + } + HashMap dtUnitObj= dtUnit.get(0); + jBodyObj.put("iinvexchrate",dtUnitObj.get("iChangRate")); + + jBodyObj.put("inum",jBodyObj.getBigDecimal("iquantity").divide(new BigDecimal(String.valueOf(dtUnitObj.get("iChangRate"))),6, RoundingMode.HALF_UP)); + + } + jBodyObj.put("irowno",i+1); + //默认字段 + //是否需要开票 + if(StrUtil.isEmpty(jBodyObj.getString("bneedbill"))){ + jBodyObj.put("bneedbill",1); + } + //是否存货核算开票 + if(StrUtil.isEmpty(jBodyObj.getString("bIAcreatebill"))){ + jBodyObj.put("bIAcreatebill",0); + } + //是否销售出库开票 + if(StrUtil.isEmpty(jBodyObj.getString("bsaleoutcreatebill"))){ + jBodyObj.put("bsaleoutcreatebill",0); + } + //存货是05分类下的且没有供应商存货调价单就报错 +// if(!"001".equals(AccId)){ +// String sqlInv = " select cInvCCode from "+AccCode+".dbo.Inventory where cInvCode = '"+jBodyObj.getString("cinvcode")+"' and cInvCCode like '05%' "; +// List> dtInvSu = saleInvDao.getU8BillData(sqlInv,U8Obj); +// if(CollectionUtils.isNotEmpty(dtInvSu) ){ +// String sqlVenPrice = "select * " + +// "from "+AccCode+".dbo.Ven_Inv_Price " + +// "where cVenCode = '001' and cInvCode = '"+jBodyObj.getString("cinvcode")+"' " + +// "and dEnableDate <= convert(varchar,getdate(),23) " + +// "and ISNULL(dDisableDate,'9999-12-31') > convert(varchar,getdate(),23) " + +// "order by dEnableDate "; +// List> dtVenPrice = saleInvDao.getU8BillData(sqlVenPrice,U8Obj); +// if(CollectionUtils.isEmpty(dtVenPrice)){ +// return BaseU8Result.getFailureMessageEntity("存货:"+jBodyObj.getString("cinvcode")+"供应商:001,供应商存货调价单不存在!"); +// } +// } +// } + body.add(jBodyObj); + } + JSONObject main = new JSONObject(); + main.put("head",jHead); + main.put("billid",billid); + main.put("AccId",AccId); + main.put("head",jHead); + main.put("body",body); + main.put("domPosition",new ArrayList<>()); + logger.info("销售出库单新增推送U8:"+main.toString()); + String result = U8Util.sengBillToU8(main.toString(), "8000110021"); + logger.info("销售出库单新增推送U8结果:"+result); + JSONObject resultObj = JSON.parseObject(result); + boolean flag = resultObj.getBoolean("success"); + logger.info(resultObj.toString()); + if(!flag){ + return BaseU8Result.getFailureMessageEntity("新增失败:::"+resultObj.getString("message")); + }else{ + billCode = resultObj.getString("message"); + //审核 + JSONObject audit = new JSONObject(); + audit.put("billid", UUID.randomUUID()); + audit.put("AccId", AccId); + audit.put("cVoucherId", billCode); + logger.info("销售出库单审核:"+main.toString()); + String resultAudit = U8Util.sengBillToU8(audit.toString(), "8000110022"); + logger.info("销售出库单审核结果:"+result); + JSONObject resultObjA = JSON.parseObject(resultAudit); + boolean flagAudit = resultObjA.getBoolean("success"); +// logger.info(resultObj.toString()); + if(!flagAudit){ + //如果审核失败需要调用删除接口回滚单据 + JSONObject delete = new JSONObject(); + delete.put("billid", UUID.randomUUID()); + delete.put("AccId", AccId); + delete.put("cVoucherId", billCode); + //删除 + String resultDelete = U8Util.sengBillToU8(delete.toString(), "8000110023"); + //删除之后直接返回失败信息 + return BaseU8Result.getFailureMessageEntity("新增正常但审核失败:::"+resultObjA.getString("message")); + } + } + return BaseU8Result.getSuccessMessageEntity(resultObj.getString("message")); + } catch (Exception e) { + //如果审核失败需要调用删除接口回滚单据 + JSONObject delete = new JSONObject(); + delete.put("billid", UUID.randomUUID()); + delete.put("AccId", AccId); + delete.put("cVoucherId", billCode); + //删除 + String resultDelete = U8Util.sengBillToU8(delete.toString(), "8000110023"); + logger.info("新增失败:"+e.getMessage()); + return BaseU8Result.getFailureMessageEntity("新增失败,请联系U8管理员"); + } + } + @Override public U8ResultEntity deleteSaleOut(JSONObject parm) { String billCode = ""; diff --git a/service/src/main/java/com/hzya/frame/u8/util/U8Util.java b/service/src/main/java/com/hzya/frame/u8/util/U8Util.java index ebc7f346..93b29dcf 100644 --- a/service/src/main/java/com/hzya/frame/u8/util/U8Util.java +++ b/service/src/main/java/com/hzya/frame/u8/util/U8Util.java @@ -77,19 +77,19 @@ public class U8Util { ae.put("iLenDecimal",iLenDecimal); ae.put("TaxPrice",iSum.divide(iQuantity,6, RoundingMode.HALF_UP)); - ae.put("Money",iSum.divide(new BigDecimal(1).add(iPerTaxRate.multiply(new BigDecimal(0.01))),2)) ; + ae.put("Money",iSum.divide(new BigDecimal(1).add(iPerTaxRate.multiply(new BigDecimal(0.01))),6)) ; ae.put("UnitPrice",ae.getBigDecimal("Money").divide(iQuantity,6, RoundingMode.HALF_UP)); ae.put("NatSum",iSum.multiply(nflat)); ae.put("NatUnitPrice",ae.getBigDecimal("UnitPrice").multiply(nflat)); ae.put("NatMoney",ae.getBigDecimal("Money").multiply(nflat)) ; ae.put("NatTaxPrice",ae.getBigDecimal("TaxPrice").multiply(nflat)); - ae.put("Sum",ae.getBigDecimal("iSum").setScale(2)) ; + ae.put("Sum",ae.getBigDecimal("iSum").setScale(6)) ; ae.put("UnitPrice",ae.getBigDecimal("UnitPrice").setScale(iLenDecimal)); - ae.put("Money",ae.getBigDecimal("Money").setScale(2)); + ae.put("Money",ae.getBigDecimal("Money").setScale(6)); ae.put("NatTaxPrice",ae.getBigDecimal("NatTaxPrice").setScale(iLenDecimal)) ; - ae.put("NatSum",ae.getBigDecimal("NatSum").setScale(2)); + ae.put("NatSum",ae.getBigDecimal("NatSum").setScale(6)); ae.put("NatUnitPrice",ae.getBigDecimal("NatUnitPrice").setScale(iLenDecimal)); - ae.put("NatMoney",ae.getBigDecimal("NatMoney").setScale(2)); + ae.put("NatMoney",ae.getBigDecimal("NatMoney").setScale(6)); ae.put("Tax",ae.getBigDecimal("Sum").subtract(ae.getBigDecimal("Money"))); ae.put("NatTax",ae.getBigDecimal("NatSum").subtract(ae.getBigDecimal("NatMoney"))); return ae;