2026.3.19 晚
缓存出库确认后台
This commit is contained in:
@@ -659,7 +659,7 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
callBackErp.setCcompany(inStockin.getCompanyShortName()); // 公司简称
|
||||
callBackErp.setCcode(inStockin.getStockinId()); // wms 单据号
|
||||
callBackErp.setDdate(inStockin.getFinishDate()); // 操作日期
|
||||
callBackErp.setCintype("1"); // 业务类型
|
||||
callBackErp.setCintype(inStockin.getInType()); // 业务类型
|
||||
callBackErp.setCvencode(inStockin.getSupplierNo()); // 供应商编码
|
||||
callBackErp.setCvenname(inStockin.getSupplierNo()); // 供应商名称
|
||||
callBackErp.setCoptname(inStockin.getCreateManId()); // 操作人
|
||||
@@ -720,7 +720,7 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
String sendMsg = JSONUtil.toJsonStr(callBackErp);
|
||||
try {
|
||||
//todo 发送给erp 成功失败改状态
|
||||
RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(callBackErp), "入库回传", "wms", "erp");
|
||||
RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(callBackErp), "入库回传", "wms", "erp", inStockin.getInType(), inStockin.getAccountSetNo());
|
||||
if ("1".equals(requestLog.getIsSuccessful())) {
|
||||
inStockin.setSendStatus("1");
|
||||
inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
@@ -728,6 +728,8 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
inStockinDetailParam.setSendStatus("1");
|
||||
inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
inStockinDetailParam.setMsg("成功");
|
||||
inStockinDetailBackService.insertInStockInDetailBackFinish(inStockinDetails);
|
||||
inStockinDetailBackService.deleteInStockInDetailList(inStockinDetails);
|
||||
} else {
|
||||
inStockin.setSendStatus("2");
|
||||
inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
@@ -739,6 +741,7 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
inStockinBackService.updateInStockinBack(inStockin);
|
||||
inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam);
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
inStockin.setSendStatus("2");
|
||||
inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
@@ -752,6 +755,11 @@ public class ToErpServiceImpl implements IToErpService {
|
||||
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void callbackDeliveryOutNoticeNew() {
|
||||
OutStockoutBack outStockoutBack = outStockoutBackService.selelctTopOutStockout();
|
||||
|
||||
@@ -44,7 +44,7 @@ public class ToWcsServiceImpl implements IToWcsService {
|
||||
|
||||
|
||||
@Override
|
||||
eduled(fixedDelay=1500)
|
||||
@Scheduled(fixedDelay=1500)
|
||||
public void pushOutMydoJob() {
|
||||
//查询所有未推送的料箱出库作业
|
||||
MydoJob mydoJobParam = new MydoJob();
|
||||
|
||||
@@ -4,18 +4,18 @@ import java.util.List;
|
||||
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 入库单据子信息Mapper接口
|
||||
*
|
||||
*
|
||||
* @author ruoyi
|
||||
* @date 2026-01-27
|
||||
*/
|
||||
public interface InStockinDetailBackMapper
|
||||
{
|
||||
public interface InStockinDetailBackMapper {
|
||||
/**
|
||||
* 查询入库单据子信息
|
||||
*
|
||||
*
|
||||
* @param stockinDetailId 入库单据子信息主键
|
||||
* @return 入库单据子信息
|
||||
*/
|
||||
@@ -23,7 +23,7 @@ public interface InStockinDetailBackMapper
|
||||
|
||||
/**
|
||||
* 查询入库单据子信息列表
|
||||
*
|
||||
*
|
||||
* @param inStockinDetailBack 入库单据子信息
|
||||
* @return 入库单据子信息集合
|
||||
*/
|
||||
@@ -31,16 +31,17 @@ public interface InStockinDetailBackMapper
|
||||
|
||||
/**
|
||||
* 新增入库单据子信息
|
||||
*
|
||||
*
|
||||
* @param inStockinDetailBack 入库单据子信息
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertInStockinDetailBack(InStockinDetailBack inStockinDetailBack);
|
||||
|
||||
public int insertInStockinDetailBackById(InStockin inStockin);
|
||||
|
||||
/**
|
||||
* 修改入库单据子信息
|
||||
*
|
||||
*
|
||||
* @param inStockinDetailBack 入库单据子信息
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -48,7 +49,7 @@ public interface InStockinDetailBackMapper
|
||||
|
||||
/**
|
||||
* 删除入库单据子信息
|
||||
*
|
||||
*
|
||||
* @param stockinDetailId 入库单据子信息主键
|
||||
* @return 结果
|
||||
*/
|
||||
@@ -56,9 +57,13 @@ public interface InStockinDetailBackMapper
|
||||
|
||||
/**
|
||||
* 批量删除入库单据子信息
|
||||
*
|
||||
*
|
||||
* @param stockinDetailIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInStockinDetailBackByStockinDetailIds(String[] stockinDetailIds);
|
||||
|
||||
void insertInStockInDetailBackFinish(@Param("list") List<InStockinDetailBack> inStockinDetailParam);
|
||||
|
||||
void deleteInStockInDetailList(@Param("idList") List<InStockinDetailBack> inStockinDetails);
|
||||
}
|
||||
|
||||
@@ -58,4 +58,8 @@ public interface IInStockinDetailBackService
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteInStockinDetailBackByStockinDetailId(String stockinDetailId);
|
||||
|
||||
void insertInStockInDetailBackFinish(List<InStockinDetailBack> inStockinDetailParam);
|
||||
|
||||
void deleteInStockInDetailList(List<InStockinDetailBack> inStockinDetails);
|
||||
}
|
||||
|
||||
@@ -90,4 +90,14 @@ public class InStockinDetailBackServiceImpl implements IInStockinDetailBackServi
|
||||
{
|
||||
return inStockinDetailBackMapper.deleteInStockinDetailBackByStockinDetailId(stockinDetailId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertInStockInDetailBackFinish(List<InStockinDetailBack> inStockinDetailParam) {
|
||||
inStockinDetailBackMapper.insertInStockInDetailBackFinish(inStockinDetailParam);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteInStockInDetailList(List<InStockinDetailBack> inStockinDetails) {
|
||||
inStockinDetailBackMapper.deleteInStockInDetailList(inStockinDetails);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.ruoyi.in.stockindetail.mapper;
|
||||
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack;
|
||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
@@ -69,4 +70,5 @@ public interface InStockinDetailMapper
|
||||
void deleteInStockinDetailByStockinGuid(String stockinGuid);
|
||||
|
||||
InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail);
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.in.stockindetail.service;
|
||||
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack;
|
||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||
|
||||
import java.util.List;
|
||||
@@ -81,4 +82,6 @@ public interface IInStockinDetailService
|
||||
|
||||
|
||||
public InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.in.stockindetail.service.impl;
|
||||
import com.ruoyi.common.annotation.DataScope;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.in.stockin.domain.InStockin;
|
||||
import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack;
|
||||
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
|
||||
import com.ruoyi.in.stockindetail.mapper.InStockinDetailMapper;
|
||||
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
|
||||
@@ -127,4 +128,6 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService
|
||||
return inStockinDetailMapper.selectStockinByDetailById(inStockinDetail);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -69,6 +69,9 @@ public interface IRequestLogService
|
||||
* @return
|
||||
*/
|
||||
public RequestLog getRequestLog(String url, String param, String remark,String source,String target);
|
||||
|
||||
public RequestLog getRequestLog(String url, String param, String remark,String source,String target,String billType,String ciccid);
|
||||
|
||||
/**
|
||||
* 接收接口记录
|
||||
*
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.ruoyi.log.service.impl;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUnit;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
@@ -24,8 +25,7 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
public class RequestLogServiceImpl implements IRequestLogService
|
||||
{
|
||||
public class RequestLogServiceImpl implements IRequestLogService {
|
||||
@Autowired
|
||||
private RequestLogMapper requestLogMapper;
|
||||
|
||||
@@ -36,8 +36,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 接口记录
|
||||
*/
|
||||
@Override
|
||||
public RequestLog selectRequestLogByRequestId(Long requestId)
|
||||
{
|
||||
public RequestLog selectRequestLogByRequestId(Long requestId) {
|
||||
return requestLogMapper.selectRequestLogByRequestId(requestId);
|
||||
}
|
||||
|
||||
@@ -48,8 +47,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 接口记录
|
||||
*/
|
||||
@Override
|
||||
public List<RequestLog> selectRequestLogList(RequestLog requestLog)
|
||||
{
|
||||
public List<RequestLog> selectRequestLogList(RequestLog requestLog) {
|
||||
return requestLogMapper.selectRequestLogList(requestLog);
|
||||
}
|
||||
|
||||
@@ -60,10 +58,9 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertRequestLog(RequestLog requestLog)
|
||||
{
|
||||
public int insertRequestLog(RequestLog requestLog) {
|
||||
|
||||
return requestLogMapper.insertRequestLog(requestLog);
|
||||
return requestLogMapper.insertRequestLog(requestLog);
|
||||
|
||||
}
|
||||
|
||||
@@ -74,8 +71,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateRequestLog(RequestLog requestLog)
|
||||
{
|
||||
public int updateRequestLog(RequestLog requestLog) {
|
||||
return requestLogMapper.updateRequestLog(requestLog);
|
||||
}
|
||||
|
||||
@@ -86,8 +82,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRequestLogByRequestIds(Long[] requestIds)
|
||||
{
|
||||
public int deleteRequestLogByRequestIds(Long[] requestIds) {
|
||||
return requestLogMapper.deleteRequestLogByRequestIds(requestIds);
|
||||
}
|
||||
|
||||
@@ -98,8 +93,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteRequestLogByRequestId(Long requestId)
|
||||
{
|
||||
public int deleteRequestLogByRequestId(Long requestId) {
|
||||
return requestLogMapper.deleteRequestLogByRequestId(requestId);
|
||||
}
|
||||
|
||||
@@ -111,7 +105,7 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
* @return requestLog
|
||||
*/
|
||||
@Override
|
||||
public RequestLog getRequestLog(String url, String param, String remark,String source,String target) {
|
||||
public RequestLog getRequestLog(String url, String param, String remark, String source, String target) {
|
||||
RequestLog requestLog = new RequestLog();
|
||||
requestLog.setRequestTime(DateUtil.formatDateTime(new Date()));
|
||||
requestLog.setSourceSystem(source);
|
||||
@@ -122,7 +116,9 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
requestLog.setRequestBody(param);
|
||||
requestLog.setRequestUrl(url);
|
||||
try {
|
||||
String resStr = HttpUtil.post(url, param);
|
||||
String resStr = HttpRequest.post(url).form("datajson", param).form("ibilltype", "").form("cacc_id", "").contentType("application/x-www-from-urlencoded").
|
||||
timeout(2000).execute().body();
|
||||
// String resStr = HttpUtil.post(url, param);
|
||||
requestLog.setResponseBody(resStr);
|
||||
// 判断resStr的状态码,如果不是200抛出异常让catch捕获
|
||||
if (!JSONUtil.isJsonObj(resStr)) {
|
||||
@@ -147,13 +143,54 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
return requestLog;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public RequestLog getRequestLog(String url, String param, String remark, String source, String target, String billType, String ciccid) {
|
||||
RequestLog requestLog = new RequestLog();
|
||||
requestLog.setRequestTime(DateUtil.formatDateTime(new Date()));
|
||||
requestLog.setSourceSystem(source);
|
||||
requestLog.setTargetSystem(target);
|
||||
requestLog.setEndpoint(remark);
|
||||
requestLog.setRequestMethod("post");
|
||||
requestLog.setRequestHeaders(null);
|
||||
requestLog.setRequestBody("datajson:" + param + ",ibilltype:" + billType + ",cacc_id:" + ciccid);
|
||||
requestLog.setRequestUrl(url);
|
||||
try {
|
||||
String resStr = HttpRequest.post(url).form("datajson", param).form("ibilltype", billType).form("cacc_id", ciccid).contentType("application/x-www-from-urlencoded").
|
||||
timeout(2000).execute().body();
|
||||
// String resStr = HttpUtil.post(url, param);
|
||||
requestLog.setResponseBody(resStr);
|
||||
// 判断resStr的状态码,如果不是200抛出异常让catch捕获
|
||||
if (!JSONUtil.isJsonObj(resStr)) {
|
||||
throw new RuntimeException("返回结果不是有效的JSON对象");
|
||||
}
|
||||
cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(resStr);
|
||||
Object codeObj = jsonObject.get("code");
|
||||
if (codeObj == null || !codeObj.toString().equals("200")) {
|
||||
throw new RuntimeException("请求失败,状态码: " + (codeObj != null ? codeObj.toString() : "null"));
|
||||
}
|
||||
requestLog.setResponseTime(DateUtil.formatDateTime(new Date()));
|
||||
requestLog.setResponseStatus("1");
|
||||
requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS)));
|
||||
requestLog.setIsSuccessful("1");
|
||||
} catch (Exception e) {
|
||||
requestLog.setErrorDetails(e.getMessage());
|
||||
requestLog.setIsSuccessful("0");
|
||||
requestLog.setResponseStatus("0");
|
||||
} finally {
|
||||
insertRequestLog(requestLog);
|
||||
}
|
||||
return requestLog;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 插入请求日志
|
||||
*
|
||||
* @return requestLog
|
||||
*/
|
||||
@Override
|
||||
public RequestLog getRequestLog(String param, String remark,AjaxResult ajaxResult) {
|
||||
public RequestLog getRequestLog(String param, String remark, AjaxResult ajaxResult) {
|
||||
RequestLog requestLog = new RequestLog();
|
||||
requestLog.setRequestTime(DateUtil.formatDateTime(new Date()));
|
||||
requestLog.setRequestBody(param);
|
||||
@@ -164,9 +201,9 @@ public class RequestLogServiceImpl implements IRequestLogService
|
||||
requestLog.setResponseTime(DateUtil.formatDateTime(new Date()));
|
||||
requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS)));
|
||||
requestLog.setResponseStatus("1");
|
||||
if (ajaxResult.isSuccess()){
|
||||
if (ajaxResult.isSuccess()) {
|
||||
requestLog.setIsSuccessful("1");
|
||||
}else {
|
||||
} else {
|
||||
requestLog.setIsSuccessful("0");
|
||||
}
|
||||
requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg")));
|
||||
|
||||
@@ -6,9 +6,9 @@ spring:
|
||||
druid:
|
||||
# 主库数据源
|
||||
master:
|
||||
url: jdbc:sqlserver://192.168.188.236:1433;databaseName=FT546-wms;encrypt=true;trustServerCertificate=true;
|
||||
url: jdbc:sqlserver://127.0.0.1:1433;databaseName=FT546-wms;encrypt=true;trustServerCertificate=true;
|
||||
username: sa
|
||||
password: Flrd0914.
|
||||
password: 123456
|
||||
# 从库数据源
|
||||
slave:
|
||||
# 从数据源开关/默认关闭
|
||||
|
||||
@@ -71,7 +71,7 @@ spring:
|
||||
# redis 配置
|
||||
redis:
|
||||
# 地址
|
||||
host: 192.168.188.236
|
||||
host: 127.0.0.1
|
||||
# 端口,默认为6379
|
||||
port: 6379
|
||||
# 数据库索引
|
||||
|
||||
@@ -27,6 +27,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<result property="sendStatus" column="send_status"/>
|
||||
<result property="sendTime" column="send_time"/>
|
||||
<result property="msg" column="msg"/>
|
||||
<result property="msg" column="msg"/>
|
||||
<result property="msg" column="msg"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectInStockinBackVo">
|
||||
|
||||
@@ -274,10 +274,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
delete from in_stockin_detail_back where stockin_detail_id = #{stockinDetailId}
|
||||
</delete>
|
||||
|
||||
<insert id="insertInStockInDetailBackFinish" parameterType="java.util.List">
|
||||
INSERT INTO in_stockin_detail_back_finish
|
||||
<foreach collection="list" item="item" separator="UNION ALL">
|
||||
SELECT * FROM in_stockin_detail_back
|
||||
WHERE stockin_detail_id = #{item.stockinDetailId}
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
||||
<delete id="deleteInStockinDetailBackByStockinDetailIds" parameterType="String">
|
||||
delete from in_stockin_detail_back where stockin_detail_id in
|
||||
<foreach item="stockinDetailId" collection="array" open="(" separator="," close=")">
|
||||
#{stockinDetailId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
<delete id="deleteInStockInDetailList">
|
||||
DELETE FROM in_stockin_detail
|
||||
WHERE stockin_detail_id IN
|
||||
<foreach collection="idList" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
@@ -343,4 +343,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</where>
|
||||
order by ist.create_date desc
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user