新增本地单据

master
anthonywj 4 years ago
parent 1005c7d362
commit bcdf535bed

@ -63,7 +63,16 @@ public class BasicThirdSysController {
// filterBasicThirdSysRequest.setMainSys(null);
// }
// }
basicThirdSysEntities = basicThirdSysService.filterBasicThiSys(filterBasicThirdSysRequest);
// if (filterBasicThirdSysRequest.getIsBuType() != null && filterBasicThirdSysRequest.getIsBuType()) {
// BasicThirdSysEntity basicThirdSysEntity = new BasicThirdSysEntity();
// basicThirdSysEntity.setThirdId("local");
// basicThirdSysEntity.setThirdName("本地系统");
// basicThirdSysEntities.add(basicThirdSysEntity);
//
// }
PageInfo<BasicThirdSysEntity> pageInfo;
pageInfo = new PageInfo<>(basicThirdSysEntities);
PageSimpleResponse<BasicThirdSysEntity> pageSimpleResponse = new PageSimpleResponse<>();

@ -0,0 +1,74 @@
package com.glxp.api.admin.controller.basic;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest;
import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
@RestController
public class BussinessLocalTypeController {
@Resource
private BussinessLocalTypeService bussinessTypeService;
@GetMapping("/udiwms/localBusType/filter")
public BaseResponse filterBussinessType(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<BussinessLocalTypeEntity> bussinessTypeEntities;
bussinessTypeEntities = bussinessTypeService.filterList(bussinessTypeFilterRequest);
PageInfo<BussinessLocalTypeEntity> pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse<BussinessLocalTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(bussinessTypeEntities);
return ResultVOUtils.success(pageSimpleResponse);
}
@PostMapping("/udiwms/localBusType/delete")
public BaseResponse deleteBussinessType(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
bussinessTypeService.deleteById(id);
return ResultVOUtils.success("删除成功");
}
@PostMapping("/udiwms/localBusType/update")
public BaseResponse updateBussinessType(@RequestBody BussinessLocalTypeEntity bussinessTypeEntity,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (bussinessTypeEntity != null) {
bussinessTypeService.updateBusLocalType(bussinessTypeEntity);
} else {
ResultVOUtils.error(999, "参数错误");
}
return ResultVOUtils.success("更新成功");
}
}

@ -6,8 +6,7 @@ import com.glxp.api.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.entity.info.SystemParamConfigEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.FilterErpOrderRequest;
import com.glxp.api.admin.entity.inout.*;
import com.glxp.api.admin.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.api.admin.entity.thrsys.ThrOrderEntity;
import com.glxp.api.admin.httpclient.ErpOrderClient;
@ -16,23 +15,20 @@ import com.glxp.api.admin.req.thrsys.FilterThrOrderRequest;
import com.glxp.api.admin.res.basic.BussinessTypResponse;
import com.glxp.api.admin.res.inout.ErpOrderResponse;
import com.glxp.api.admin.res.inout.PurchaseinResponse;
import com.glxp.api.admin.entity.inout.OrderEntity;
import com.glxp.api.admin.entity.inout.WarehouseEntity;
import com.glxp.api.admin.req.inout.*;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.service.basic.BussinessTypeService;
import com.glxp.api.admin.service.basic.UdiInfoService;
import com.glxp.api.admin.service.basic.UdiRelevanceService;
import com.glxp.api.admin.service.info.SystemParamConfigService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.service.inout.*;
import com.glxp.api.admin.service.thrsys.ThrOrderDetailService;
import com.glxp.api.admin.service.thrsys.ThrOrderService;
import com.glxp.api.admin.thread.IoTransInoutService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import org.aspectj.lang.annotation.DeclareWarning;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
@ -72,6 +68,12 @@ public class OrderDetailController {
@Resource
private ThrOrderDetailService thrOrderDetailService;
@Resource
private StockOrderService stockOrderService;
@Resource
private StockOrderDetailService stockOrderDetailService;
@GetMapping("/udiwms/erpOrder/filter")
public BaseResponse filterErpOrder(FilterOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
@ -82,17 +84,39 @@ public class OrderDetailController {
BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(filterErpOrderRequest.getBillAction(), "orderQueryUrl");
if (basicThirdSysDetailEntity.getValue() == null) {
return ResultVOUtils.error(500, "业务单据查询接口未定义");
}
if (!basicThirdSysDetailEntity.getEnabled()) {
if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) {
return ResultVOUtils.error(500, "第三方业务单据服务未启用");
}
if (filterErpOrderRequest.getIsDownThrSys() != null && filterErpOrderRequest.getIsDownThrSys()) {
return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest);
}
if (filterErpOrderRequest.getIsLocal() != null && filterErpOrderRequest.getIsLocal()) {
return getLoaclData(filterErpOrderRequest);
}
if (basicThirdSysDetailEntity.getFromType() == 0) {
return new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest);
if (basicThirdSysDetailEntity.getValue() == null) {
return ResultVOUtils.error(500, "业务单据查询接口未定义");
}
BaseResponse<PageSimpleResponse<ErpOrderResponse>> baseResponse = new ErpOrderClient(basicThirdSysDetailEntity.getValue()).getErpOrderResponse(filterErpOrderRequest);
//
// if (basicThirdSysDetailEntity.getLocalAction() != null) {
// if (baseResponse.getData().getList() != null) {
// BaseResponse<PageSimpleResponse<ErpOrderResponse>> loca = getLoaclData(filterErpOrderRequest);
// baseResponse.getData().getList().addAll(loca.getData().getList());
// }
// }
//
// if ((baseResponse == null || baseResponse.getCode() != 20000 || baseResponse.getData().getList().size() == 0)
// && basicThirdSysDetailEntity.getIsLocal()) {
// return
// }
return baseResponse;
} else {
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
@ -119,6 +143,9 @@ public class OrderDetailController {
erpOrderResponse.setSubErpOrders(subErpOrders);
erpOrderResponses.add(erpOrderResponse);
}
} else {
// if (basicThirdSysDetailEntity.getIsLocal())
// return getLoaclData(filterErpOrderRequest);
}
PageInfo<ThrOrderEntity> pageInfo;
pageInfo = new PageInfo<>(data);
@ -128,10 +155,43 @@ public class OrderDetailController {
return ResultVOUtils.success(pageSimpleResponse);
}
}
public BaseResponse getLoaclData(FilterOrderRequest filterErpOrderRequest) {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
BeanUtils.copyProperties(filterErpOrderRequest, stockOrderFilterRequest);
stockOrderFilterRequest.setBillType(filterErpOrderRequest.getLocalAction());
stockOrderFilterRequest.setPage(filterErpOrderRequest.getPage());
stockOrderFilterRequest.setLimit(filterErpOrderRequest.getLimit());
List<ErpOrderResponse> erpOrderResponses = new ArrayList<>();
List<StockOrderEntity> data = stockOrderService.filterListOr(stockOrderFilterRequest);
if (data != null && data.size() > 0) {
for (StockOrderEntity thrOrderEntity : data) {
StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest();
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
List<StockOrderDetailEntity> thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest);
ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse);
List<ErpOrderResponse.SubErpOrder> subErpOrders = new ArrayList<>();
if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) {
for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder();
BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder);
subErpOrders.add(subErpOrder);
}
}
erpOrderResponse.setSubErpOrders(subErpOrders);
erpOrderResponses.add(erpOrderResponse);
}
}
PageInfo<StockOrderEntity> pageInfo;
pageInfo = new PageInfo<>(data);
PageSimpleResponse<ErpOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpOrderResponses);
return ResultVOUtils.success(pageSimpleResponse);
}
@GetMapping("/warehouse/getMyErpOrders")
public BaseResponse getMyErpOrders(FilterErpOrderRequest filterErpOrderRequest,

@ -0,0 +1,23 @@
package com.glxp.api.admin.dao.basic;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest;
import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface BussinessLocalTypeDao {
List<BussinessLocalTypeEntity> filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest);
BussinessLocalTypeEntity findBTByAction(String action);
BussinessLocalTypeEntity findBTByName(String name);
boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity);
boolean deleteById(@Param("id") String id);
}

@ -0,0 +1,31 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.StockOrderEntity;
import com.glxp.api.admin.req.inout.StockOrderFilterRequest;
import com.glxp.api.admin.req.inout.StockOrderQueryRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface StockOrderDao {
List<StockOrderEntity> listStockOrder(StockOrderQueryRequest stockOrderQueryRequest);
List<StockOrderEntity> listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest);
boolean insertStockOrder(StockOrderEntity stockOrderEntity);
boolean updateById(StockOrderEntity stockOrderEntity);
boolean deleteByOrderId(@Param("orderId") String orderId);
boolean deleteById(@Param("id") String id);
boolean updateByStatus(@Param("orderId") String orderId, @Param("status") Integer status);
List<StockOrderEntity> filterListOr(StockOrderFilterRequest stockOrderFilterRequest);
StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest);
}

@ -0,0 +1,26 @@
package com.glxp.api.admin.dao.inout;
import com.glxp.api.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface StockOrderDetailDao {
List<StockOrderDetailEntity> filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest);
boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity);
boolean insertStockOrderDetails(@Param("stockOrderDetailEntities") List<StockOrderDetailEntity> stockOrderDetailEntitys);
boolean updateById(StockOrderDetailEntity stockOrderDetailEntity);
boolean deleteById(@Param("id") String id);
boolean deleteByOrderIdFk(@Param("id") String id);
StockOrderDetailEntity findOne(@Param("id") String id);
}

@ -15,6 +15,7 @@ public class BasicThirdSysDetailEntity {
private String thirdSysFk;
private String name;
private Integer fromType;
private String localAction;
}

@ -0,0 +1,15 @@
package com.glxp.api.admin.entity.basic;
import lombok.Data;
@Data
public class BussinessLocalTypeEntity {
private Integer id;
private String action;
private String name;
private String remark;
private Boolean enable;
}

@ -11,5 +11,6 @@ public class BussinessTypeEntity {
private String remark;
private String mainAction;
private String thirdSysFk;
private String localAction;
}

@ -0,0 +1,15 @@
package com.glxp.api.admin.req.basic;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class BussinessLocalTypeFilterRequest extends ListPageRequest {
private String action;
private String name;
private String mainAction;
private Boolean enabled;
}

@ -12,5 +12,6 @@ public class FilterBasicThirdSysRequest extends ListPageRequest {
private Integer fromType;
private Boolean mainSys;
private Boolean filter;
private Boolean isBuType;
}

@ -14,5 +14,7 @@ public class FilterOrderRequest {
private Integer page;
private Boolean isDownThrSys;
private String corpName;
private Boolean isLocal;
private String localAction;
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.req.inout;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class StockOrderDetailFilterRequest extends ListPageRequest {
private String id;
private String orderIdFk;
private String productId;
private String productName;
private String spec;
private String batchNo;
private String expireDate;
private String productDate;
private String count;
private String reCount;
private String sweepCount;
}

@ -0,0 +1,22 @@
package com.glxp.api.admin.req.inout;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class StockOrderFilterRequest extends ListPageRequest {
private String id;
private String billNo;
private String billdate;
private String corpId;
private String corpName;
private String billType;
private String billFlag;
private String thirdSysFk;
private String status;
private String statusInfo;
private String type;
private String sourceType;
private String status2;
}

@ -0,0 +1,13 @@
package com.glxp.api.admin.req.inout;
import lombok.Data;
import java.util.List;
@Data
public class StockOrderIdsRequest {
String id;
List<String> ids;
boolean filterUDIType;
}

@ -0,0 +1,26 @@
package com.glxp.api.admin.req.inout;
import com.glxp.api.admin.entity.inout.StockOrderDetailEntity;
import lombok.Data;
import java.util.List;
@Data
public class StockOrderPostRequest {
private String id;
private String billNo;
private String billdate;
private String corpId;
private String corpName;
private String billType;
private String billFlag;
private String thirdSysFk;
private String status;
private String statusInfo;
private String type;
private String sourceType;
private String status2;
private List<StockOrderDetailEntity> subErpOrders;
}

@ -0,0 +1,9 @@
package com.glxp.api.admin.req.inout;
import com.glxp.api.admin.req.ListPageRequest;
import lombok.Data;
@Data
public class StockOrderQueryRequest extends ListPageRequest {
}

@ -15,5 +15,6 @@ public class BussinessTypResponse {
private String thirdId;
private String thirdName;
private Boolean enabled;
private String localAction;
}

@ -0,0 +1,21 @@
package com.glxp.api.admin.service.basic;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest;
import java.util.List;
public interface BussinessLocalTypeService {
List<BussinessLocalTypeEntity> filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest);
BussinessLocalTypeEntity findBTByAction(String action);
BussinessLocalTypeEntity findBTByName(String name);
boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity);
boolean deleteById(String id);
}

@ -0,0 +1,66 @@
package com.glxp.api.admin.service.basic.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.basic.BussinessLocalTypeDao;
import com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity;
import com.glxp.api.admin.entity.basic.BussinessTypeEntity;
import com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest;
import com.glxp.api.admin.req.receipt.BussinessTypeFilterRequest;
import com.glxp.api.admin.service.basic.BussinessLocalTypeService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class BussinessLocalTypeServiceImpl implements BussinessLocalTypeService {
@Resource
BussinessLocalTypeDao bussinessLocalTypeDao;
@Override
public List<BussinessLocalTypeEntity> filterList(BussinessLocalTypeFilterRequest bussinessTypeFilterRequest) {
if (bussinessTypeFilterRequest == null) {
return Collections.emptyList();
}
if (bussinessTypeFilterRequest.getPage() != null) {
int offset = (bussinessTypeFilterRequest.getPage() - 1) * bussinessTypeFilterRequest.getLimit();
PageHelper.offsetPage(offset, bussinessTypeFilterRequest.getLimit());
}
List<BussinessLocalTypeEntity> data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest);
return data;
}
@Override
public BussinessLocalTypeEntity findBTByAction(String action) {
BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest();
bussinessTypeFilterRequest.setAction(action);
List<BussinessLocalTypeEntity> data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest);
if (data != null && data.size() > 0) {
return data.get(0);
}
return null;
}
@Override
public BussinessLocalTypeEntity findBTByName(String name) {
BussinessLocalTypeFilterRequest bussinessTypeFilterRequest = new BussinessLocalTypeFilterRequest();
bussinessTypeFilterRequest.setName(name);
List<BussinessLocalTypeEntity> data = bussinessLocalTypeDao.filterList(bussinessTypeFilterRequest);
if (data != null && data.size() > 0) {
return data.get(0);
}
return null;
}
@Override
public boolean updateBusLocalType(BussinessLocalTypeEntity bussinessTypeEntity) {
return bussinessLocalTypeDao.updateBusLocalType(bussinessTypeEntity);
}
@Override
public boolean deleteById(String id) {
return bussinessLocalTypeDao.deleteById(id);
}
}

@ -87,7 +87,24 @@ public class BussinessTypeServiceImpl implements BussinessTypeService {
BussinessTypResponse bussinessTypResponse = findJoinBTByAction(action);
if (bussinessTypResponse != null) {
BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey(key, bussinessTypResponse.getThirdSysFk());
if (basicThirdSysDetailEntity == null) {
basicThirdSysDetailEntity = new BasicThirdSysDetailEntity();
basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction());
basicThirdSysDetailEntity.setEnabled(true);
return basicThirdSysDetailEntity;
} else {
basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse.getLocalAction());
return basicThirdSysDetailEntity;
}
} else {
BussinessTypeEntity bussinessTypResponse2 = findBTByAction(action);
if (bussinessTypResponse2 != null){
BasicThirdSysDetailEntity basicThirdSysDetailEntity = new BasicThirdSysDetailEntity();
basicThirdSysDetailEntity.setLocalAction(bussinessTypResponse2.getLocalAction());
basicThirdSysDetailEntity.setEnabled(true);
return basicThirdSysDetailEntity;
}
}
return null;
}

@ -0,0 +1,24 @@
package com.glxp.api.admin.service.inout;
import com.glxp.api.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface StockOrderDetailService {
List<StockOrderDetailEntity> filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest);
boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity);
boolean insertStockOrderDetails(List<StockOrderDetailEntity> stockOrderDetailEntities);
boolean updateById(StockOrderDetailEntity stockOrderDetailEntity);
boolean deleteById(String id);
boolean deleteByOrderIdFk(String id);
StockOrderDetailEntity findOne(@Param("id") String id);
}

@ -0,0 +1,33 @@
package com.glxp.api.admin.service.inout;
import com.glxp.api.admin.entity.inout.StockOrderEntity;
import com.glxp.api.admin.req.inout.StockOrderFilterRequest;
import com.glxp.api.admin.req.inout.StockOrderQueryRequest;
import java.util.List;
public interface StockOrderService {
List<StockOrderEntity> listStockOrders(StockOrderQueryRequest stockOrderQueryRequest);
List<StockOrderEntity> listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest);
boolean insertStockOrder(StockOrderEntity orderEntity);
boolean updateById(StockOrderEntity stockOrderEntity);
boolean deleteByOrderId(String orderId);
boolean deleteById(String id);
boolean updateByStatus(String orderId, Integer status);
List<StockOrderEntity> findAllOrders(StockOrderFilterRequest stockOrderFilterRequest);
List<StockOrderEntity> filterListOr(StockOrderFilterRequest stockOrderFilterRequest);
StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest);
StockOrderEntity findById(String orderId);
}

@ -0,0 +1,61 @@
package com.glxp.api.admin.service.inout.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inout.StockOrderDetailDao;
import com.glxp.api.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest;
import com.glxp.api.admin.service.inout.StockOrderDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class StockOrderDetailServiceImpl implements StockOrderDetailService {
@Resource
StockOrderDetailDao stockOrderDetailDao;
@Override
public List<StockOrderDetailEntity> filterStockOrderDetail(StockOrderDetailFilterRequest stockOrderDetailFilterRequest) {
if (stockOrderDetailFilterRequest == null) {
return Collections.emptyList();
}
if (stockOrderDetailFilterRequest.getPage() != null) {
int offset = (stockOrderDetailFilterRequest.getPage() - 1) * stockOrderDetailFilterRequest.getLimit();
PageHelper.offsetPage(offset, stockOrderDetailFilterRequest.getLimit());
}
return stockOrderDetailDao.filterStockOrderDetail(stockOrderDetailFilterRequest);
}
@Override
public boolean insertStockOrderDetail(StockOrderDetailEntity stockOrderDetailEntity) {
return stockOrderDetailDao.insertStockOrderDetail(stockOrderDetailEntity);
}
@Override
public boolean insertStockOrderDetails(List<StockOrderDetailEntity> StockOrderDetailEntitys) {
return stockOrderDetailDao.insertStockOrderDetails(StockOrderDetailEntitys);
}
@Override
public boolean updateById(StockOrderDetailEntity stockOrderDetailEntity) {
return stockOrderDetailDao.updateById(stockOrderDetailEntity);
}
@Override
public boolean deleteById(String id) {
return stockOrderDetailDao.deleteById(id);
}
@Override
public boolean deleteByOrderIdFk(String id) {
return stockOrderDetailDao.deleteByOrderIdFk(id);
}
@Override
public StockOrderDetailEntity findOne(String id) {
return stockOrderDetailDao.findOne(id);
}
}

@ -0,0 +1,95 @@
package com.glxp.api.admin.service.inout.impl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.dao.inout.StockOrderDao;
import com.glxp.api.admin.entity.inout.StockOrderEntity;
import com.glxp.api.admin.req.inout.StockOrderFilterRequest;
import com.glxp.api.admin.req.inout.StockOrderQueryRequest;
import com.glxp.api.admin.service.inout.StockOrderService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class StockOrderServiceImpl implements StockOrderService {
@Resource
StockOrderDao stockOrderDao;
@Override
public List<StockOrderEntity> listStockOrders(StockOrderQueryRequest stockOrderQueryRequest) {
if (stockOrderQueryRequest == null) {
return Collections.emptyList();
}
int offset = (stockOrderQueryRequest.getPage() - 1) * stockOrderQueryRequest.getLimit();
PageHelper.offsetPage(offset, stockOrderQueryRequest.getLimit());
return stockOrderDao.listStockOrder(stockOrderQueryRequest);
}
@Override
public boolean insertStockOrder(StockOrderEntity stockOrderEntity) {
return stockOrderDao.insertStockOrder(stockOrderEntity);
}
@Override
public List<StockOrderEntity> listStockOrderNoDealWith(StockOrderQueryRequest stockOrderQueryRequest) {
if (stockOrderQueryRequest == null) {
return Collections.emptyList();
}
int offset = (stockOrderQueryRequest.getPage() - 1) * stockOrderQueryRequest.getLimit();
PageHelper.offsetPage(offset, stockOrderQueryRequest.getLimit());
return stockOrderDao.listStockOrderNoDealWith(stockOrderQueryRequest);
}
@Override
public boolean updateById(StockOrderEntity stockOrderEntity) {
return stockOrderDao.updateById(stockOrderEntity);
}
@Override
public boolean deleteByOrderId(String orderId) {
return stockOrderDao.deleteByOrderId(orderId);
}
@Override
public boolean deleteById(String id) {
return stockOrderDao.deleteById(id);
}
@Override
public boolean updateByStatus(String orderId, Integer status) {
return stockOrderDao.updateByStatus(orderId, status);
}
@Override
public List<StockOrderEntity> findAllOrders(StockOrderFilterRequest stockOrderFilterRequest) {
return stockOrderDao.filterListOr(stockOrderFilterRequest);
}
@Override
public List<StockOrderEntity> filterListOr(StockOrderFilterRequest stockOrderFilterRequest) {
if (stockOrderFilterRequest == null) {
return Collections.emptyList();
}
int offset = (stockOrderFilterRequest.getPage() - 1) * stockOrderFilterRequest.getLimit();
PageHelper.offsetPage(offset, stockOrderFilterRequest.getLimit());
return stockOrderDao.filterListOr(stockOrderFilterRequest);
}
@Override
public StockOrderEntity findOne(StockOrderFilterRequest stockOrderFilterRequest) {
return stockOrderDao.findOne(stockOrderFilterRequest);
}
@Override
public StockOrderEntity findById(String orderId) {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setId(orderId);
return stockOrderDao.findOne(stockOrderFilterRequest);
}
}

@ -2,14 +2,22 @@ package com.glxp.api.admin.service.thrsys;
import com.glxp.api.admin.entity.basic.BasicThirdSysDetailEntity;
import com.glxp.api.admin.entity.basic.BasicThirdSysEntity;
import com.glxp.api.admin.entity.inout.ErpOrderEntity;
import com.glxp.api.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.api.admin.entity.inout.StockOrderEntity;
import com.glxp.api.admin.entity.thrsys.ThrProductsEntity;
import com.glxp.api.admin.httpclient.ErpBasicClient;
import com.glxp.api.admin.req.basic.FilterErpGoodsRequest;
import com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest;
import com.glxp.api.admin.req.inout.StockOrderFilterRequest;
import com.glxp.api.admin.req.thrsys.FilterThrProductsRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.basic.ErpProductsResponse;
import com.glxp.api.admin.res.inout.ErpOrderResponse;
import com.glxp.api.admin.service.basic.BasicThirdSysDetailService;
import com.glxp.api.admin.service.basic.BasicThirdSysService;
import com.glxp.api.admin.service.inout.StockOrderDetailService;
import com.glxp.api.admin.service.inout.StockOrderService;
import com.glxp.api.admin.thread.IoModifyErpTask;
import com.glxp.api.common.res.BaseResponse;
import org.slf4j.Logger;
@ -18,6 +26,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
@ -31,19 +40,22 @@ public class ThrDataService {
private BasicThirdSysDetailService basicThirdSysDetailService;
@Resource
private ThrProductsService thrProductsService;
@Resource
private StockOrderService stockOrderService;
@Resource
private StockOrderDetailService stockOrderDetailService;
final Logger logger = LoggerFactory.getLogger(ThrDataService.class);
public ThrProductsEntity getProducts(String code, String thirdSys) {
BasicThirdSysDetailEntity basicThirdSysDetailEntity = basicThirdSysDetailService.selectByKey("piQueryUrl", thirdSys);
if(basicThirdSysDetailEntity==null || !basicThirdSysDetailEntity.getEnabled()){
if (basicThirdSysDetailEntity == null || !basicThirdSysDetailEntity.getEnabled()) {
logger.info("第三方产品信息服务未启用");
return null;
}
if ( basicThirdSysDetailEntity.getFromType() == 0 ) {
if (basicThirdSysDetailEntity.getFromType() == 0) {
FilterErpGoodsRequest filterErpGoodsRequest = new FilterErpGoodsRequest();
filterErpGoodsRequest.setCode(code);
filterErpGoodsRequest.setPage(1);
@ -69,4 +81,68 @@ public class ThrDataService {
return null;
}
public List<ErpOrderEntity> getStockOrders(List<String> billCodes) {
if (billCodes != null && billCodes.size() > 0) {
for (String billCode : billCodes) {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(billCode);
List<StockOrderEntity> data = stockOrderService.findAllOrders(stockOrderFilterRequest);
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
if (data != null && data.size() > 0) {
for (StockOrderEntity thrOrderEntity : data) {
StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest();
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
List<StockOrderDetailEntity> thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest);
List<ErpOrderResponse.SubErpOrder> subErpOrders = new ArrayList<>();
if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) {
for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
ErpOrderEntity erpOrderResponse = new ErpOrderEntity();
BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse);
BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderResponse);
erpOrderEntities.add(erpOrderResponse);
}
}
}
}
return erpOrderEntities;
}
}
return null;
}
public List<ErpOrderEntity> getCacheOrders(List<String> billCodes) {
if (billCodes != null && billCodes.size() > 0) {
for (String billCode : billCodes) {
StockOrderFilterRequest stockOrderFilterRequest = new StockOrderFilterRequest();
stockOrderFilterRequest.setBillNo(billCode);
List<StockOrderEntity> data = stockOrderService.findAllOrders(stockOrderFilterRequest);
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
if (data != null && data.size() > 0) {
for (StockOrderEntity thrOrderEntity : data) {
StockOrderDetailFilterRequest filterThrOrderDetailRequest = new StockOrderDetailFilterRequest();
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
List<StockOrderDetailEntity> thrOrderDetailEntities = stockOrderDetailService.filterStockOrderDetail(filterThrOrderDetailRequest);
List<ErpOrderResponse.SubErpOrder> subErpOrders = new ArrayList<>();
if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) {
for (StockOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
ErpOrderEntity erpOrderResponse = new ErpOrderEntity();
BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse);
BeanUtils.copyProperties(thrOrderDetailEntity, erpOrderResponse);
erpOrderEntities.add(erpOrderResponse);
}
}
}
}
return erpOrderEntities;
}
}
return null;
}
}

@ -26,6 +26,8 @@ import com.glxp.api.admin.service.inout.CodesTempService;
import com.glxp.api.admin.service.inout.OrderDetailService;
import com.glxp.api.admin.service.inout.OrderService;
import com.glxp.api.admin.service.inout.CodesService;
import com.glxp.api.admin.service.thrsys.ThrDataService;
import com.glxp.api.admin.service.thrsys.ThrOrderService;
import com.glxp.api.admin.util.FilterUdiUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -62,6 +64,10 @@ public class IoTransInoutService {
private SystemParamConfigService systemParamConfigService;
@Resource
private BussinessTypeService bussinessTypeService;
@Resource
private ThrOrderService thrOrderService;
@Resource
ThrDataService thrDataService;
//生成订单,插入零时表
@Async
@ -198,8 +204,12 @@ public class IoTransInoutService {
if (erpIds != null && erpIds.size() > 0) {
BasicThirdSysDetailEntity basicThirdSysDetailEntity = bussinessTypeService.findByActionKey(orderEntity.getAction(), "orderQueryUrl");
if (basicThirdSysDetailEntity.getEnabled() && basicThirdSysDetailEntity.getFromType() == 0) {
if (basicThirdSysDetailEntity.getValue() == null) {
if (basicThirdSysDetailEntity.getThirdSysFk() == null && basicThirdSysDetailEntity.getLocalAction() != null) {
List<ErpOrderEntity> erpOrderEntities = thrDataService.getStockOrders(erpIds);
checkThirdOrder(erpOrderEntities, orderEntity, transData);
} else if (basicThirdSysDetailEntity != null && basicThirdSysDetailEntity.getEnabled()) {
if (basicThirdSysDetailEntity.getFromType() == 0) {
if (basicThirdSysDetailEntity.getValue() == null) {//实时拉取
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("获取ERP出入库单据接口地址未定义");
@ -207,44 +217,75 @@ public class IoTransInoutService {
} else {
String erpOrderUrl = basicThirdSysDetailEntity.getValue();
List<ErpOrderEntity> cloudErps = new ErpOrderClient(erpOrderUrl).getErpOrder(erpIds, orderEntity.getAction());
if (cloudErps != null && cloudErps.size() > 0) {
List<ErpOrderEntity> returnOrders = new ContrastErpUtil().transErp(cloudErps, udiRelevanceService, orderEntity.getId());
ErpOrderEntity temp = returnOrders.get(0);
for (int i = 0; i < returnOrders.size(); i++) {
if (!temp.getCompanyname().equals(returnOrders.get(i).getCompanyname())) {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("选择Erp订单往来单位不一致");
orderService.updateOrder(orderEntity);
return;
if (basicThirdSysDetailEntity.getLocalAction() != null) {
List<ErpOrderEntity> erpOrderEntities = thrDataService.getStockOrders(erpIds);
if (cloudErps == null) {
cloudErps = new ArrayList<>();
}
cloudErps.addAll(erpOrderEntities);
checkThirdOrder(erpOrderEntities, orderEntity, transData);
} else {
checkThirdOrder(cloudErps, orderEntity, transData);
}
myErpOrderService.deleteByOrderId(orderEntity.getId());
myErpOrderService.insertErpOrders(returnOrders);
new ContrastErpUtil(udiUrl).contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService);
}
} else { //缓存表拉取
List<ErpOrderEntity> erpOrderEntities = thrOrderService.filterAllOrders(erpIds, basicThirdSysDetailEntity.getThirdSysFk());
if (basicThirdSysDetailEntity.getLocalAction() != null) {
List<ErpOrderEntity> temps = thrDataService.getStockOrders(erpIds);
if (erpOrderEntities == null) {
erpOrderEntities = new ArrayList<>();
}
erpOrderEntities.addAll(temps);
checkThirdOrder(erpOrderEntities, orderEntity, transData);
} else {
checkThirdOrder(erpOrderEntities, orderEntity, transData);
}
}
} else {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("获取ERP出入库单据失败");
orderEntity.setRemark("第三方出入库单据未启用");
orderService.updateOrder(orderEntity);
myErpOrderService.deleteByOrderId(orderEntity.getId());
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData);
}
}
} else {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("第三方出入库单据未启用");
orderEntity.setRemark("未选入第三方出入库单据进行校验,请手动选择");
orderService.updateOrder(orderEntity);
myErpOrderService.deleteByOrderId(orderEntity.getId());
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData);
}
}
public void checkThirdOrder(List<ErpOrderEntity> cloudErps, OrderEntity orderEntity, List<WarehouseEntity> transData) {
if (cloudErps != null && cloudErps.size() > 0) {
List<ErpOrderEntity> returnOrders = new ContrastErpUtil().transErp(cloudErps, udiRelevanceService, orderEntity.getId());
ErpOrderEntity temp = returnOrders.get(0);
for (int i = 0; i < returnOrders.size(); i++) {
if (!temp.getCompanyname().equals(returnOrders.get(i).getCompanyname())) {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("选择Erp订单往来单位不一致");
orderService.updateOrder(orderEntity);
return;
}
}
myErpOrderService.deleteByOrderId(orderEntity.getId());
myErpOrderService.insertErpOrders(returnOrders);
new ContrastErpUtil(udiUrl).contrastErp(udiInfoService, udiRelevanceService, myErpOrderService, orderService, transData, systemParamConfigService);
} else {
orderEntity.setContrastStatus(ConstantStatus.ORDER_CHECK_FAIL);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_SUCCESS);
orderEntity.setRemark("未选入第三方出入库单据进行校验,请手动选择");
orderEntity.setRemark("获取ERP出入库单据失败");
orderService.updateOrder(orderEntity);
myErpOrderService.deleteByOrderId(orderEntity.getId());
new InoutUtils(udiUrl).generateConstrastDetail(udiInfoService, udiRelevanceService, myErpOrderService, transData);

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.basic.BussinessLocalTypeDao">
<select id="filterList" parameterType="com.glxp.api.admin.req.basic.BussinessLocalTypeFilterRequest"
resultType="com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity">
SELECT * FROM basic_bustype_local
<where>
<if test="name != ''and name != null">
AND name LIKE concat(#{name},'%')
</if>
<if test="action != ''and action != null">
AND action LIKE concat(#{action},'%')
</if>
<if test="enabled != ''and enabled != null">
AND enable =#{enabled}
</if>
</where>
</select>
<insert id="insertBussinessType" keyProperty="id"
parameterType="com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity">
INSERT INTO basic_bustype_local
(action,name,enable,remark)
values
(
#{action},
#{name},
#{enable},
#{remark},
)
</insert>
<update id="updateBusLocalType" parameterType="com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity">
UPDATE basic_bustype_local
<trim prefix="set" suffixOverrides=",">
<if test="action != null">action = #{action},</if>
<if test="name != null">name = #{name},</if>
<if test="enable != null">enable = #{enable},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
WHERE id = #{id}
</update>
<delete id="deleteById" parameterType="Map">
DELETE FROM basic_bustype_local WHERE id = #{id}
</delete>
<select id="selectById" parameterType="Map" resultType="com.glxp.api.admin.entity.basic.BussinessLocalTypeEntity">
select * FROM basic_bustype_local WHERE id = #{id}
</select>
</mapper>

@ -49,14 +49,14 @@
<insert id="insertBussinessType" keyProperty="id"
parameterType="com.glxp.api.admin.entity.basic.BussinessTypeEntity">
INSERT INTO basic_bussiness_type
(action,name,enable,remark,mainAction)
(action,name,enable,remark,mainAction,localAction)
values
(
#{action},
#{name},
#{enable},
#{remark},
#{mainAction}
#{mainAction},#{localAction}
)
</insert>
@ -68,7 +68,8 @@
<if test="enable != null">enable = #{enable},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="mainAction != null">mainAction = #{mainAction},</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk}</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if>
<if test="localAction != null">localAction=#{localAction},</if>
</trim>
WHERE id = #{id}
</update>

@ -0,0 +1,145 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.inout.StockOrderDao">
<select id="listStockOrder" parameterType="com.glxp.api.admin.req.inout.StockOrderQueryRequest"
resultType="com.glxp.api.admin.entity.inout.StockOrderEntity">
SELECT *
FROM stock_order
where status = 'success'
</select>
<select id="listStockOrderNoDealWith" parameterType="com.glxp.api.admin.req.inout.StockOrderQueryRequest"
resultType="com.glxp.api.admin.entity.inout.StockOrderEntity">
select *
from stock_order
where `status` = '101'
ORDER BY id DESC
</select>
<insert id="insertStockOrder" useGeneratedKeys="true" keyProperty="id" parameterType="com.glxp.api.admin.entity.inout.StockOrderEntity">
insert INTO stock_order(id, billNo, billdate, corpId, corpName, billType, billFlag,
thirdSysFk, status, statusInfo, type, sourceType, status2)
values (
#{id},
#{billNo},
#{billdate},
#{corpId},
#{corpName},
#{billType},
#{billFlag},
#{thirdSysFk},
#{status},
#{statusInfo},
#{type},
#{sourceType},
#{status2}
)
</insert>
<update id="updateById" parameterType="com.glxp.api.admin.entity.inout.StockOrderEntity">
UPDATE stock_order
<set>
<if test="billNo != null">billNo=#{billNo},</if>
<if test="billdate != null">billdate=#{billdate},</if>
<if test="corpId != null">corpId=#{corpId},</if>
<if test="corpName != null">corpName=#{corpName},</if>
<if test="billType != null">billType=#{billType},</if>
<if test="billFlag != null">billFlag=#{billFlag},</if>
<if test="thirdSysFk != null">thirdSysFk=#{thirdSysFk},</if>
<if test="status != null">status=#{status},</if>
<if test="statusInfo != null">statusInfo=#{statusInfo},</if>
<if test="type != null">type=#{type},</if>
<if test="sourceType != null">sourceType=#{sourceType},</if>
<if test="status2 != null">status2=#{status2},</if>
</set>
WHERE id = #{id}
</update>
<delete id="deleteByOrderId" parameterType="Map">
DELETE
FROM stock_order
WHERE id = #{orderId}
</delete>
<delete id="deleteById" parameterType="Map">
DELETE
FROM stock_order
WHERE id = #{id}
</delete>
<update id="updateByStatus" parameterType="Map">
UPDATE stock_order
SET `status` = #{status}
where id = #{orderId}
</update>
<select id="filterListOr" parameterType="com.glxp.api.admin.req.inout.StockOrderFilterRequest"
resultType="com.glxp.api.admin.entity.inout.StockOrderEntity">
SELECT * FROM stock_order
<where>
<if test="id != '' and id!=null">
and id =#{id}
</if>
<if test="billNo != '' and billNo!=null">
and billNo =#{billNo}
</if>
<if test="billdate != '' and billdate!=null">
and billdate = #{billdate}
</if>
<if test="corpId != '' and corpId!=null">
and corpId = #{corpId}
</if>
<if test="corpName != '' and corpName!=null">
and corpName = #{corpName}
</if>
<if test="billType != '' and billType!=null">
and billType = #{billType}
</if>
<if test="billFlag != '' and billFlag!=null">
and billFlag = #{billFlag}
</if>
<if test="thirdSysFk != '' and thirdSysFk!=null">
and thirdSysFk = #{thirdSysFk}
</if>
<if test="status != '' and status!=null">
and status = #{status}
</if>
<if test="statusInfo != '' and statusInfo!=null">
and statusInfo = #{statusInfo}
</if>
<if test="type != '' and type!=null">
and type = #{type}
</if>
<if test="sourceType != '' and sourceType!=null">
and sourceType = #{sourceType}
</if>
<if test="status2 != '' and status2!=null">
and status2 = #{status2}
</if>
</where>
ORDER BY id DESC
</select>
<select id="findOne" parameterType="com.glxp.api.admin.req.inout.StockOrderFilterRequest"
resultType="com.glxp.api.admin.entity.inout.StockOrderEntity">
SELECT * FROM stock_order
<where>
<if test="id != '' and id!=null">
and id =#{id}
</if>
<if test="corpId != '' and corpId !=null">
and corpId =#{corpId}
</if>
<if test="billNo != '' and billNo !=null">
and billNo =#{billNo}
</if>
</where>
limit 1
</select>
</mapper>

@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.inout.StockOrderDetailDao">
<select id="filterStockOrderDetail" parameterType="com.glxp.api.admin.req.inout.StockOrderDetailFilterRequest"
resultType="com.glxp.api.admin.entity.inout.StockOrderDetailEntity">
select * from stock_order_detail
<where>
<if test="orderIdFk != '' and orderIdFk!=null">
and orderIdFk = #{orderIdFk}
</if>
<if test="productId != '' and productId!=null">
and productId = #{productId}
</if>
<if test="batchNo != '' and batchNo!=null">
and batchNo = #{batchNo}
</if>
<if test="productDate != '' and productDate!=null">
and productDate = #{productDate}
</if>
<if test="expireDate != '' and expireDate!=null">
and expireDate = #{expireDate}
</if>
</where>
ORDER BY id DESC
</select>
<insert id="insertStockOrderDetail" keyProperty="id" parameterType="com.glxp.api.admin.entity.inout.StockOrderDetailEntity">
replace
INTO stock_order_detail(id,
orderIdFk,productId,productName,spec,batchNo,productDate,
expireDate,count,reCount,sweepCount)
values(
#{id},
#{orderIdFk},
#{productId},
#{productName},
#{spec},
#{batchNo},
#{productDate},
#{expireDate},
#{count},
#{reCount},
#{sweepCount}
)
</insert>
<insert id="insertStockOrderDetails" keyProperty="id" parameterType="com.glxp.api.admin.entity.inout.StockOrderDetailEntity">
replace INTO stock_order_detail(id,
orderIdFk,productId,productName,spec,batchNo,productDate,
expireDate,count,reCount,sweepCount)
values
<foreach collection="stockOrderDetailEntities" item="item" index="index"
separator=",">
(
#{item.id},
#{item.orderIdFk},
#{item.productId},
#{item.productName},
#{item.spec},
#{item.batchNo},
#{item.productDate},
#{item.expireDate},
#{item.count},
#{item.reCount},
#{item.sweepCount}
)
</foreach>
</insert>
<update id="updateById" parameterType="com.glxp.api.admin.entity.inout.StockOrderDetailEntity">
UPDATE stock_order_detail
<set>
<if test="batchNo != null">batchNo=#{batchNo},</if>
<if test="productDate != null">productDate=#{productDate},</if>
<if test="expireDate != null">expireDate=#{expireDate},</if>
<if test="sweepCount != null">sweepCount=#{sweepCount},</if>
<if test="reCount != null">reCount=#{reCount},</if>
</set>
WHERE id = #{id}
</update>
<delete id="deleteById" parameterType="Map">
DELETE
FROM stock_order_detail
WHERE id = #{id}
</delete>
<delete id="deleteByOrderIdFk" parameterType="Map">
DELETE
FROM stock_order_detail
WHERE orderIdFk = #{id}
</delete>
<select id="findOne" parameterType="Map"
resultType="com.glxp.api.admin.entity.inout.StockOrderDetailEntity">
SELECT * FROM stock_order_detail
WHERE id = #{id}
limit 1
</select>
</mapper>
Loading…
Cancel
Save