1.业务单据上传添加日志记录

2.添加业务单据日志实体及对应的接口方法
3.增加业务单据上传列表查询接口
master
x_z 3 years ago
parent b1e8a79f85
commit 8ddd7b05d0

@ -0,0 +1,58 @@
package com.glxp.api.admin.controller.business;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.req.business.StockOrderUploadRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inout.StockOrderResponse;
import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
*
*/
@RestController
public class StockOrderUploadController {
@Resource
private StockOrderService stockOrderService;
@Resource
private OrderService orderService;
/**
*
*
* @param request
* @return
*/
@GetMapping("/udiwms/stock/order/upload/filter")
public BaseResponse filter(StockOrderUploadRequest request) {
List<StockOrderEntity> list = stockOrderService.filter(request);
PageInfo<StockOrderEntity> pageInfo = new PageInfo<>(list);
List<StockOrderResponse> responses = new ArrayList<>();
if (CollUtil.isNotEmpty(list)) {
for (StockOrderEntity stockOrderEntity : list) {
StockOrderResponse stockOrderResponse = new StockOrderResponse();
BeanUtil.copyProperties(stockOrderEntity, stockOrderResponse);
responses.add(stockOrderResponse);
}
}
orderService.checkSubmitOrder(responses);
PageSimpleResponse pageSimpleResponse = new PageSimpleResponse();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(responses);
return ResultVOUtils.success(pageSimpleResponse);
}
}

@ -0,0 +1,57 @@
package com.glxp.api.admin.controller.business;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.req.business.StockOrderUploadLogRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.business.StockOrderUploadLogService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
*
*/
@RestController
public class StockOrderUploadLogController {
@Resource
private StockOrderUploadLogService stockOrderUploadLogService;
/**
*
*
* @param request
* @return
*/
@GetMapping("/udiwms/stock/order/uploadLog/filter")
public BaseResponse filter(StockOrderUploadLogRequest request) {
List<StockOrderUploadLogEntity> list = stockOrderUploadLogService.filter(request);
PageInfo<StockOrderUploadLogEntity> pageInfo = new PageInfo<>(list);
PageSimpleResponse pageSimpleResponse = new PageSimpleResponse();
pageSimpleResponse.setList(list);
pageSimpleResponse.setTotal(pageInfo.getTotal());
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*
* @param id
* @return
*/
@GetMapping("/udiwms/stock/order/uploadLog/delete")
public BaseResponse delete(Integer id) {
if (null == id) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
stockOrderUploadLogService.deleteByPrimaryKey(id);
return ResultVOUtils.success("");
}
}

@ -4,6 +4,7 @@ import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.business.StockOrderQueryRequest;
import com.glxp.api.admin.req.business.StockOrderUploadRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -61,6 +62,7 @@ public interface StockOrderDao {
/**
*
*
* @return
*/
List<String> selectWaitSubmitOrders();
@ -72,4 +74,12 @@ public interface StockOrderDao {
* @return
*/
Integer selectIdByOrderIdFk(@Param("orderIdFk") String orderIdFk);
/**
*
*
* @param request
* @return
*/
List<StockOrderEntity> selectUploadList(@Param("request") StockOrderUploadRequest request);
}

@ -0,0 +1,50 @@
package com.glxp.api.admin.entity.business;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class StockOrderUploadLogEntity {
private Long id;
/**
*
*/
private String billNo;
/**
*
*/
private Date billDate;
/**
*
*/
private String billType;
/**
*
*/
private String thrBillNo;
/**
*
*/
private Date submitTime;
/**
* 0. 1. 2. 3.
*/
private Integer status;
/**
*
*/
private String result;
}

@ -0,0 +1,34 @@
package com.glxp.api.admin.req.business;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
import java.util.Date;
/**
*
*/
@Data
public class StockOrderUploadLogRequest extends ListPageRequest {
/**
*
*/
private String billNo;
/**
*
*/
private String thirdBillNo;
/**
*
*/
private Date submitTime;
/**
*
*/
private Integer status;
}

@ -0,0 +1,54 @@
package com.glxp.api.admin.req.business;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
import java.util.List;
/**
*
*/
@Data
public class StockOrderUploadRequest extends ListPageRequest {
/**
*
*/
private String billNo;
/**
*
*/
private String billType;
/**
*
*/
private List<String> billTypes;
/**
*
*/
private String corpName;
/**
*
*/
private String orderStatus;
/**
*
*/
private String submitStatus;
/**
*
*/
private String startTime;
/**
*
*/
private String endTime;
}

@ -5,6 +5,7 @@ import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.business.StockOrderQueryRequest;
import com.glxp.api.admin.req.business.StockOrderUploadRequest;
import com.glxp.api.admin.res.business.StockOrderExportResponse;
import com.glxp.api.common.res.BaseResponse;
@ -48,7 +49,6 @@ public interface StockOrderService {
List<StockOrderExportResponse> exportOrderData(StockOrderFilterRequest request);
/**
*
*
@ -57,4 +57,12 @@ public interface StockOrderService {
List<StockOrderEntity> getSupplementOrderBillNoList();
BaseResponse submitOrderToThirdys(String id);
/**
*
*
* @param request
* @return
*/
List<StockOrderEntity> filter(StockOrderUploadRequest request);
}

@ -0,0 +1,25 @@
package com.glxp.api.admin.service.business;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.req.business.StockOrderUploadLogRequest;
import java.util.List;
public interface StockOrderUploadLogService {
int deleteByPrimaryKey(Integer id);
int insert(StockOrderUploadLogEntity stockOrderUploadLogEntity);
StockOrderUploadLogEntity selectByPrimaryKey(Integer id);
int updateByPrimaryKey(StockOrderUploadLogEntity stockOrderUploadLogEntity);
/**
*
* @param request
* @return
*/
List<StockOrderUploadLogEntity> filter(StockOrderUploadLogRequest request);
}

@ -15,28 +15,32 @@ import com.glxp.api.admin.dao.basic.BussinessTypeDao;
import com.glxp.api.admin.dao.basic.UnitMaintainDao;
import com.glxp.api.admin.dao.business.StockOrderDao;
import com.glxp.api.admin.dao.business.StockOrderDetailDao;
import com.glxp.api.admin.dao.inout.OrderDao;
import com.glxp.api.admin.entity.basic.*;
import com.glxp.api.admin.entity.business.StockOrderDetailEntity;
import com.glxp.api.admin.entity.business.StockOrderEntity;
import com.glxp.api.admin.entity.business.StockOrderPrintEntity;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.api.admin.entity.thrsys.ThrInvWarehouseEntity;
import com.glxp.api.admin.httpclient.res.UdiwmsOrderResponse;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderDetail;
import com.glxp.api.admin.httpclient.req.UdiwmsOrderRequest;
import com.glxp.api.admin.httpclient.res.UdiwmsOrderResponse;
import com.glxp.api.admin.req.basic.FilterBasicThirdSysDetailRequest;
import com.glxp.api.admin.req.business.StockOrderDetailFilterRequest;
import com.glxp.api.admin.req.business.StockOrderFilterRequest;
import com.glxp.api.admin.req.business.StockOrderQueryRequest;
import com.glxp.api.admin.req.business.StockOrderUploadRequest;
import com.glxp.api.admin.res.business.StockOrderDetailEntityVo;
import com.glxp.api.admin.res.business.StockOrderExportResponse;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.business.StockOrderService;
import com.glxp.api.admin.service.business.StockOrderUploadLogService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inventory.InvWarehouseService;
import com.glxp.api.admin.service.thrsys.ThrInvWarehouseService;
import com.glxp.api.admin.util.DateUtil;
import com.glxp.api.admin.util.HttpClient;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
@ -46,9 +50,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
@ -67,8 +70,6 @@ public class StockOrderServiceImpl implements StockOrderService {
@Resource
private BasicThirdSysDao basicThirdSysDao;
@Resource
private OrderDao orderDao;
@Resource
private OrderService orderService;
@Resource
BussinessLocalTypeService bussinessLocalTypeService;
@ -78,6 +79,10 @@ public class StockOrderServiceImpl implements StockOrderService {
ThrInvWarehouseService thrInvWarehouseService;
@Resource
UdiRelevanceService udiRelevanceService;
@Resource
private BasicThirdSysBusApiDao basicThirdSysBusApiDao;
@Resource
private StockOrderUploadLogService stockOrderUploadLogService;
@Override
public List<StockOrderEntity> listStockOrders(StockOrderQueryRequest stockOrderQueryRequest) {
@ -287,7 +292,15 @@ public class StockOrderServiceImpl implements StockOrderService {
udiwmsOrderRequest.setItem(items);
//提交单据到第三方服务
//记录日志
StockOrderUploadLogEntity uploadLog = new StockOrderUploadLogEntity();
uploadLog.setBillDate(DateUtil.parseDate(udiwmsOrderRequest.getBillDate()));
uploadLog.setBillType(stockOrderEntity.getBillType());
uploadLog.setSubmitTime(new Date());
uploadLog.setBillNo(udiwmsOrderRequest.getBillNo());
BasicThirdSysEntity basicThirdSysEntity = basicThirdSysDao.selectByThirdId(thirdSysBusApiEntity.getThirdSys());
String response = HttpClient.uCloudPost(basicThirdSysEntity.getThridUrl() + "/udiwms/erp/submitOrders", udiwmsOrderRequest);
if (StrUtil.isNotBlank(response)) {
@ -306,18 +319,58 @@ public class StockOrderServiceImpl implements StockOrderService {
orderEntity.setThirdBillNo(udiwmsOrderResponse.getThirdBillNo());
}
orderService.updateOrder(orderEntity);
uploadLog.setStatus(2);
uploadLog.setThrBillNo(udiwmsOrderResponse.getThirdBillNo());
uploadLog.setResult("提交成功");
stockOrderUploadLogService.insert(uploadLog);
return ResultVOUtils.success("提交成功");
}
uploadLog.setStatus(3);
uploadLog.setResult("提交失败");
stockOrderUploadLogService.insert(uploadLog);
return ResultVOUtils.error(500, "提交失败");
} catch (Exception e) {
uploadLog.setStatus(3);
uploadLog.setResult("提交失败, " + e.getMessage());
stockOrderUploadLogService.insert(uploadLog);
return ResultVOUtils.error(500, "提交失败");
}
} else {
uploadLog.setStatus(3);
uploadLog.setResult("提交失败,调用接口返回为空");
stockOrderUploadLogService.insert(uploadLog);
return ResultVOUtils.error(500, "提交失败");
}
}
@Override
public List<StockOrderEntity> filter(StockOrderUploadRequest request) {
if (null == request) {
return Collections.emptyList();
}
if (StrUtil.isBlank(request.getBillType())) {
//查询可以提交的单据类型
List<String> thirdIds = basicThirdSysDao.selectEnabledThirdId();
if (CollUtil.isNotEmpty(thirdIds)) {
List<String> billTypes = new ArrayList<>();
for (String thirdId : thirdIds) {
FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest = new FilterBasicThirdSysDetailRequest();
filterBasicThirdSysDetailRequest.setThirdSysFk(thirdId);
List<BasicThirdSysBusApiEntity> thirdSysBusApiEntities = basicThirdSysBusApiDao.filterSysBusApi(filterBasicThirdSysDetailRequest);
if (CollUtil.isNotEmpty(thirdSysBusApiEntities)) {
Set<String> codes = thirdSysBusApiEntities.stream().map(BasicThirdSysBusApiEntity::getCode).collect(Collectors.toSet());
billTypes.addAll(codes);
}
}
request.setBillTypes(billTypes);
}
}
List<StockOrderEntity> stockOrderEntityList = stockOrderDao.selectUploadList(request);
return stockOrderEntityList;
}
/**
*
*

@ -0,0 +1,68 @@
package com.glxp.api.admin.service.business.impl;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.business.StockOrderUploadLogDao;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.entity.business.StockOrderUploadLogEntity;
import com.glxp.api.admin.req.business.StockOrderUploadLogRequest;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.admin.service.business.StockOrderUploadLogService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Slf4j
@Service
public class StockOrderUploadLogServiceImpl implements StockOrderUploadLogService {
@Resource
private StockOrderUploadLogDao stockOrderUploadLogMapper;
@Resource
private BussinessLocalTypeService bussinessLocalTypeService;
@Override
public int deleteByPrimaryKey(Integer id) {
return stockOrderUploadLogMapper.deleteByPrimaryKey(id);
}
@Override
public int insert(StockOrderUploadLogEntity stockOrderUploadLogEntity) {
return stockOrderUploadLogMapper.insert(stockOrderUploadLogEntity);
}
@Override
public StockOrderUploadLogEntity selectByPrimaryKey(Integer id) {
return stockOrderUploadLogMapper.selectByPrimaryKey(id);
}
@Override
public int updateByPrimaryKey(StockOrderUploadLogEntity stockOrderUploadLogEntity) {
return stockOrderUploadLogMapper.updateByPrimaryKey(stockOrderUploadLogEntity);
}
@Override
public List<StockOrderUploadLogEntity> filter(StockOrderUploadLogRequest request) {
if (null == request) {
return Collections.emptyList();
}
if (request.getPage() != null) {
int offset = (request.getPage() - 1) * request.getLimit();
PageHelper.offsetPage(offset, request.getLimit());
}
List<StockOrderUploadLogEntity> list = stockOrderUploadLogMapper.selectList(request);
if (CollUtil.isNotEmpty(list)) {
for (StockOrderUploadLogEntity uploadLog : list) {
BussinessLocalTypeEntity localTypeEntity = bussinessLocalTypeService.findBTByAction(uploadLog.getBillType());
uploadLog.setBillType(localTypeEntity.getName());
}
}
return list;
}
}

@ -313,4 +313,37 @@
where orderIdFk = #{orderIdFk}
</select>
<select id="selectUploadList" resultType="com.glxp.api.admin.entity.business.StockOrderEntity">
select t1.* from stock_order t1 left join io_order t2 on t1.billNo = t2.erpFk
<where>
<if test="request.billNo != null and request.billNo != ''">
AND (t2.erpFk like concat('%', #{request.billNo}, '%') or t2.thirdBillNo like concat('%',#{request.billNo},'%'))
</if>
<if test="request.submitStatus != null">
AND t2.exportStatus = #{request.submitStatus}
</if>
<if test="request.orderStatus != null">
AND t1.status = #{request.orderStatus} and t1.status != 1
</if>
<if test="request.billType != null and request.billType != ''">
AND t1.billType = #{request.billType}
</if>
<if test="request.billTypes != null and request.billTypes.size() != 0">
AND t1.billType in
<foreach collection="request.billTypes" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="request.corpName != null and request.corpName != ''">
AND t1.corpName like concat('%',#{request.corpName},'%')
</if>
<if test="request.startTime!=null and request.startTime!=''">
<![CDATA[ and DATE_FORMAT(t1.billdate, '%Y-%m-%d')>= DATE_FORMAT(#{request.startTime}, '%Y-%m-%d') ]]>
</if>
<if test="request.endTime!=null and request.endTime!=''">
<![CDATA[ and DATE_FORMAT(t1.billdate, '%Y-%m-%d') <= DATE_FORMAT(#{request.endTime}, '%Y-%m-%d') ]]>
</if>
</where>
order by t1.billdate desc
</select>
</mapper>
Loading…
Cancel
Save