diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java index 81e6558..26b937c 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/basic/SpsSyncDownloadService.java @@ -1,6 +1,7 @@ package com.glxp.sale.admin.controller.basic; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.db.sql.Order; import com.glxp.sale.admin.constant.ConstantStatus; import com.glxp.sale.admin.dao.basic.UdiInfoDao; @@ -21,6 +22,7 @@ import com.glxp.sale.admin.req.inventory.FilterInvUserRequest; import com.glxp.sale.admin.req.inventory.FilterInvWarehouseRequest; import com.glxp.sale.admin.req.receipt.ProductInfoFilterRequest; import com.glxp.sale.admin.req.thrsys.*; +import com.glxp.sale.admin.res.auth.AuthAdminRoleResponse; import com.glxp.sale.admin.res.basic.SpSyncUdiResponse; import com.glxp.sale.admin.res.basic.SpsSyncBusResponse; import com.glxp.sale.admin.res.basic.SpsSyncDataResponse; @@ -44,6 +46,7 @@ import org.springframework.web.bind.annotation.GetMapping; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; @Service public class SpsSyncDownloadService { @@ -297,6 +300,10 @@ public class SpsSyncDownloadService { OrderService orderService; @Resource CodesService codesService; + @Resource + StockOrderDetailService stockOrderDetailService; + @Resource + StockOrderService stockOrderService; public BaseResponse findOrder(SpsSyncDataRequest spsSyncDataRequest) { @@ -379,23 +386,48 @@ public class SpsSyncDownloadService { } } - - List allOrderDetailEntityList = new ArrayList<>(); + List stockOrderRemakEntities = new ArrayList<>(); List warehouseEntityList = new ArrayList<>(); if (CollUtil.isNotEmpty(orderEntities)) { for (OrderEntity orderEntity : orderEntities) { -// List orderDetailEntityList = orderDetailService.filterAllByOrderIdFk(orderEntity.getId()); -// if (CollUtil.isNotEmpty(orderDetailEntityList)) { -// allOrderDetailEntityList.addAll(orderDetailEntityList); -// } List codes = codesService.findByReceiptId(orderEntity.getId()); if (CollUtil.isNotEmpty(codes)) { warehouseEntityList.addAll(codes); } + String erpId = orderEntity.getErpFk(); + List erpIdArray = new ArrayList<>(); + if (StrUtil.isNotEmpty(erpId)) { + if (erpId.contains(",")) { + String[] erpIDs = erpId.split(","); + for (int i = 0; i < erpIDs.length; i++) { + erpIdArray.add(erpIDs[i]); + } + } else { + erpIdArray.add(erpId); + } + + } + List stockOrderDetailArray = new ArrayList<>(); + for (String erpNo : erpIdArray) { + StockOrderEntity stockOrderEntity = stockOrderService.findByBillNo(erpNo); + if (stockOrderEntity != null) { + List stockOrderDetailEntities = stockOrderDetailService.findByOrderIdFk(stockOrderEntity.getId()); + stockOrderDetailArray.addAll(stockOrderDetailEntities); + } + + + } + List remakEntityList = stockOrderDetailArray.stream().map(e -> { + StockOrderRemakEntity stockOrderRemakEntity = new StockOrderRemakEntity(); + BeanUtils.copyProperties(e, stockOrderRemakEntity); + stockOrderRemakEntity.setOrderIdFk(orderEntity.getId()); + return stockOrderRemakEntity; + }).collect(Collectors.toList()); + stockOrderRemakEntities.addAll(remakEntityList); } } + syncOrderResponse.setStockOrderRemakEntities(stockOrderRemakEntities); syncOrderResponse.setOrderEntities(orderEntities); - syncOrderResponse.setOrderDetailEntityList(allOrderDetailEntityList); syncOrderResponse.setWarehouseEntityList(warehouseEntityList); } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java index 1a9c92e..0f03776 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/controller/inout/WareHouseController.java @@ -482,7 +482,6 @@ public class WareHouseController { } } BaseResponse baseResponse = ResultVOUtils.error(501, "UDI码格式错误"); - baseResponse.setData(originCode); return baseResponse; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java new file mode 100644 index 0000000..92a92d5 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/dao/inout/StockOrderRemakDao.java @@ -0,0 +1,17 @@ +package com.glxp.sale.admin.dao.inout; + +import com.glxp.sale.admin.entity.inout.StockOrderRemakEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface StockOrderRemakDao { + + List findByOrderIdFk(@Param("id") String id); + + boolean insertOrderRemaks(@Param("orderRemakEntities") List OrderRemakEntitys); + + boolean deleteByOrderIdFk(@Param("id") String id); +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java new file mode 100644 index 0000000..513caf2 --- /dev/null +++ b/api-admin/src/main/java/com/glxp/sale/admin/entity/inout/StockOrderRemakEntity.java @@ -0,0 +1,21 @@ +package com.glxp.sale.admin.entity.inout; + +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class StockOrderRemakEntity { + private Integer id; + private String orderIdFk; + private String relId; + private String batchNo; + private BigDecimal price; + private String secSalesListNo; + private String firstSalesInvNo; + private String secSalesInvNo; + private String invoiceDate; + private String remark; + + +} diff --git a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java index 857cf92..717e520 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/res/basic/SpsSyncOrderResponse.java @@ -2,6 +2,7 @@ package com.glxp.sale.admin.res.basic; import com.glxp.sale.admin.entity.inout.ErpOrderEntity; import com.glxp.sale.admin.entity.inout.OrderEntity; +import com.glxp.sale.admin.entity.inout.StockOrderRemakEntity; import com.glxp.sale.admin.entity.inout.WarehouseEntity; import lombok.Data; @@ -15,4 +16,6 @@ public class SpsSyncOrderResponse { List orderEntities; List orderDetailEntityList; List warehouseEntityList; + + List stockOrderRemakEntities; } diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java index db84b90..e129f27 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/StockOrderDetailService.java @@ -9,6 +9,9 @@ import java.util.List; public interface StockOrderDetailService { + + List findByOrderIdFk(String orderFk); + List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); List filterStockOrderDetail2(StockOrderDetailFilterRequest stockOrderDetailFilterRequest); diff --git a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java index ac24067..7550b63 100644 --- a/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/sale/admin/service/inout/impl/StockOrderDetailServiceImpl.java @@ -23,6 +23,17 @@ public class StockOrderDetailServiceImpl implements StockOrderDetailService { @Resource private SystemParamConfigDao systemParamConfigDao; + @Override + public List findByOrderIdFk(String orderFk) { + if (StrUtil.isEmpty(orderFk)) { + return null; + } else { + StockOrderDetailFilterRequest stockOrderDetailFilterRequest = new StockOrderDetailFilterRequest(); + stockOrderDetailFilterRequest.setOrderIdFk(orderFk); + return stockOrderDetailDao.filterStockOrderDetail(stockOrderDetailFilterRequest); + } + } + @Override public List filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest) { if (stockOrderDetailFilterRequest == null) { diff --git a/api-admin/src/main/resources/application-dev.properties b/api-admin/src/main/resources/application-dev.properties index 47695ab..e7a43e4 100644 --- a/api-admin/src/main/resources/application-dev.properties +++ b/api-admin/src/main/resources/application-dev.properties @@ -1,7 +1,7 @@ # \u751F\u4EA7\u73AF\u5883 server.port=9906 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms_ph2?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true +spring.datasource.jdbc-url=jdbc:mysql://127.0.0.1:3306/spms?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=123456 #spring.datasource.password=123456 diff --git a/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml new file mode 100644 index 0000000..cdc0947 --- /dev/null +++ b/api-admin/src/main/resources/mybatis/mapper/inout/StockOrderRemakDao.xml @@ -0,0 +1,39 @@ + + + + + + + + + + insert INTO stock_order_remak( + orderIdFk,batchNo,price,relId + ,firstSalesInvNo,secSalesInvNo,secSalesListNo,invoiceDate,remark) + values + + ( + #{item.orderIdFk}, + #{item.batchNo}, + #{item.price},#{item.relId},#{item.firstSalesInvNo},#{item.secSalesInvNo}, + #{item.secSalesListNo},#{item.invoiceDate},#{remark} + ) + + + + + + DELETE + FROM stock_order_remak + WHERE orderIdFk = #{id} + + + + \ No newline at end of file