feat: 项目组套和三方出入库明细

20231126-yw
chenhc 1 year ago
parent 2de35f3091
commit 85c9db2ae5

@ -50,5 +50,10 @@ public interface ThirdSysConstant {
*/ */
String SICKER_QUERY_URL = "sickerQueryUrl"; String SICKER_QUERY_URL = "sickerQueryUrl";
/**
*
*/
String INV_ORDER_QUERY_URL = "invOrderUrl";
} }

@ -6,9 +6,7 @@ import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.req.sync.BasicExportStatusRequest; import com.glxp.api.req.sync.BasicExportStatusRequest;
import com.glxp.api.task.SyncThirdSysTask;
import com.glxp.api.task.TestStatOrderService; import com.glxp.api.task.TestStatOrderService;
import com.glxp.api.task.ThrInvOrderTask;
import com.glxp.api.util.MsDateUtil; import com.glxp.api.util.MsDateUtil;
import com.glxp.api.util.RedisUtil; import com.glxp.api.util.RedisUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -17,15 +15,12 @@ import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.ParseException; import java.text.ParseException;
import java.util.Date;
@Slf4j @Slf4j
@RestController @RestController
public class TestController { public class TestController {
@Resource @Resource
TestStatOrderService statOrderService; TestStatOrderService statOrderService;
@Resource
ThrInvOrderTask thrInvOrderTask;
@GetMapping("/test/stat/order") @GetMapping("/test/stat/order")
@ -72,9 +67,4 @@ public class TestController {
return ResultVOUtils.success("hello"); return ResultVOUtils.success("hello");
} }
@GetMapping("/test/thrInvOrderTask")
public BaseResponse thrInvOrderTask() {
thrInvOrderTask.process();
return ResultVOUtils.success();
}
} }

@ -0,0 +1,111 @@
package com.glxp.api.controller.thrsys;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.thrsys.ThrInvOrder;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.api.entity.thrsys.ThrOrderEntity;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.req.thrsys.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.thrsys.ThrInvOrderDetailService;
import com.glxp.api.service.thrsys.ThrInvOrderService;
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 javax.validation.Valid;
import java.util.List;
@RestController
public class ThrInvOrderController {
@Resource
ThrInvOrderService thrInvOrderService;
@Resource
ThrInvOrderDetailService thrInvOrderDetailService;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/thrsys/getThrInvOrders")
public BaseResponse getOrders(FilterThrInvOrderRequest filterThrInvOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<ThrInvOrder> thrInvOrders
= thrInvOrderService.filterThrInvOrder(filterThrInvOrderRequest);
PageInfo<ThrInvOrder> pageInfo;
pageInfo = new PageInfo<>(thrInvOrders);
PageSimpleResponse<ThrInvOrder> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrInvOrders);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@GetMapping("/udiwms/thrsys/getThrInvOrderDetails")
public BaseResponse getThrInvOrderDetails(FilterThrInvOrderDetailRequest filterThrInvOrderDetailRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
List<ThrInvOrderDetail> thrInvOrderDetails
= thrInvOrderDetailService.filterThrInvOrderDetails(filterThrInvOrderDetailRequest);
PageInfo<ThrInvOrderDetail> pageInfo;
pageInfo = new PageInfo<>(thrInvOrderDetails);
PageSimpleResponse<ThrInvOrderDetail> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(thrInvOrderDetails);
return ResultVOUtils.success(pageSimpleResponse);
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/thrsys/delThrInvOrderDetail")
public BaseResponse delThrInvOrderDetail(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String id = deleteRequest.getId();
int b = thrInvOrderDetailService.delThrInvOrderDetail(Integer.parseInt(id));
if (b > 0) return ResultVOUtils.success("删除成功");
else return ResultVOUtils.error(500, "无法删除!");
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/thrsys/delThrInvOrder")
public BaseResponse delThrInvOrder(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String billNo = deleteRequest.getBillNo();
int b = thrInvOrderService.delThrInvOrderByBillNo(billNo);
if (b > 0) {
thrInvOrderDetailService.delThrInvOrderDetailByBillNo(billNo);
return ResultVOUtils.success("删除成功");
}
else return ResultVOUtils.error(500, "无法删除!");
}
@AuthRuleAnnotation("")
@PostMapping("/udiwms/thrsys/generateOrder")
public BaseResponse generateOrder(@RequestBody @Valid GenerateOrderRequest generateOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (thrInvOrderService.generateOrder(generateOrderRequest)){
return ResultVOUtils.success("生成成功");
}
return ResultVOUtils.error(500, "生成失败!");
}
}

@ -4,6 +4,7 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.dao.inout.IoOrderDetailBizDao; import com.glxp.api.dao.inout.IoOrderDetailBizDao;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail; import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.req.thrsys.FilterThrInvOrderDetailRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List; import java.util.List;
@ -21,4 +22,6 @@ public interface ThrInvOrderDetailMapper extends BaseMapperPlus<ThrInvOrderDetai
int updateByPrimaryKeySelective(ThrInvOrderDetail record); int updateByPrimaryKeySelective(ThrInvOrderDetail record);
int updateByPrimaryKey(ThrInvOrderDetail record); int updateByPrimaryKey(ThrInvOrderDetail record);
List<ThrInvOrderDetail> filterThrOrderDetailDetail(FilterThrInvOrderDetailRequest filterThrInvOrderDetailRequest);
} }

@ -1,10 +1,15 @@
package com.glxp.api.dao.thrsys; package com.glxp.api.dao.thrsys;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.thrsys.ThrInvOrder; import com.glxp.api.entity.thrsys.ThrInvOrder;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.req.thrsys.FilterThrInvOrderRequest;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper @Mapper
public interface ThrInvOrderMapper { public interface ThrInvOrderMapper extends BaseMapperPlus<ThrInvOrderMapper, ThrInvOrder, ThrInvOrder> {
int deleteByPrimaryKey(Integer id); int deleteByPrimaryKey(Integer id);
int insert(ThrInvOrder record); int insert(ThrInvOrder record);
@ -16,4 +21,6 @@ public interface ThrInvOrderMapper {
int updateByPrimaryKeySelective(ThrInvOrder record); int updateByPrimaryKeySelective(ThrInvOrder record);
int updateByPrimaryKey(ThrInvOrder record); int updateByPrimaryKey(ThrInvOrder record);
List<ThrInvOrder> filterThrInvOrder(FilterThrInvOrderRequest filterThrInvOrderRequest);
} }

@ -53,6 +53,11 @@ public class ThrInvOrder implements Serializable {
*/ */
private String billType; private String billType;
/**
*
*/
private String thirdSysFk;
/** /**
* *
*/ */

@ -79,27 +79,28 @@ public class ErpInvClient {
} }
public BaseResponse<PageSimpleResponse<ThrInvResultResponse>> getInvResult(FilterInvProductRequest invProductRequest) { public BaseResponse<PageSimpleResponse<ThrInvResultResponse>> getInvResult(FilterInvProductRequest invProductRequest) {
// ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(invProductRequest.getThirdSys()); ThrSystemEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(invProductRequest.getThirdSys());
// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/inv/getInvResult"; // String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/inv/getInvResult";
String url = basicThirdSysEntity.getThridUrl() + invProductRequest.getThirdSysUrlValue();
try { try {
// String response = httpOkClient.uCloudPost(url, invProductRequest); String response = httpOkClient.uCloudPost(url, invProductRequest);
ThrInvResultResponse thrInvResultResponse = new ThrInvResultResponse(); // ThrInvResultResponse thrInvResultResponse = new ThrInvResultResponse();
thrInvResultResponse.setThrCode("11"); // thrInvResultResponse.setThrCode("11");
thrInvResultResponse.setOutCount("2"); // thrInvResultResponse.setOutCount("2");
thrInvResultResponse.setBillType(ConstantType.TYPE_OUT); // thrInvResultResponse.setBillType(ConstantType.TYPE_OUT);
ArrayList<ThrInvResultResponse> objects = new ArrayList<>(); // ArrayList<ThrInvResultResponse> objects = new ArrayList<>();
objects.add(thrInvResultResponse); // objects.add(thrInvResultResponse);
PageSimpleResponse<ThrInvResultResponse> thrInvResultResponsePageSimpleResponse = new PageSimpleResponse<>(); // PageSimpleResponse<ThrInvResultResponse> thrInvResultResponsePageSimpleResponse = new PageSimpleResponse<>();
thrInvResultResponsePageSimpleResponse.setList(objects); // thrInvResultResponsePageSimpleResponse.setList(objects);
BaseResponse<PageSimpleResponse<ThrInvResultResponse>> pageSimpleResponseBaseResponse = new BaseResponse<>(); // BaseResponse<PageSimpleResponse<ThrInvResultResponse>> pageSimpleResponseBaseResponse = new BaseResponse<>();
pageSimpleResponseBaseResponse.setCode(20000); // pageSimpleResponseBaseResponse.setCode(20000);
pageSimpleResponseBaseResponse.setData(thrInvResultResponsePageSimpleResponse); // pageSimpleResponseBaseResponse.setData(thrInvResultResponsePageSimpleResponse);
return pageSimpleResponseBaseResponse; // return pageSimpleResponseBaseResponse;
// BaseResponse<PageSimpleResponse<ThrInvResultResponse>> listBaseResponse = BaseResponse<PageSimpleResponse<ThrInvResultResponse>> listBaseResponse =
// JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrInvResultResponse>>>() { JSONObject.parseObject(response, new TypeReference<BaseResponse<PageSimpleResponse<ThrInvResultResponse>>>() {
// }); });
//
// return listBaseResponse; return listBaseResponse;
} catch (Exception e) { } catch (Exception e) {
log.error("获取第三方库存明细异常", e); log.error("获取第三方库存明细异常", e);
return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); return ResultVOUtils.error(500, "连接第三方系统接口服务出错");

@ -124,6 +124,7 @@ public class FilterInvProductRequest extends ListPageRequest {
private Date startDate; private Date startDate;
private Date endDate; private Date endDate;
private String thirdSys; private String thirdSys;
private String thirdSysUrlValue;
private Long compareId; private Long compareId;

@ -0,0 +1,13 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class FilterThrInvOrderDetailRequest extends ListPageRequest {
private String orderIdFk;
}

@ -0,0 +1,32 @@
package com.glxp.api.req.thrsys;
import com.glxp.api.res.thrsys.ThrOrderResponse;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class FilterThrInvOrderRequest extends ListPageRequest {
/**
*
*/
private String billNo;
/**
*
*/
private String thirdSysFk;
/**
*
*/
private String startDate; //起始日期
/**
*
*/
private String endDate; //结束日期
/**
*
*/
private String billType;
}

@ -0,0 +1,28 @@
package com.glxp.api.req.thrsys;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
@Data
public class GenerateOrderRequest {
/**
*
*/
@NotEmpty(message = "来源单据号不能为空!")
private String billNo;
/**
*
*/
@NotEmpty(message = "业务类型不能为空!")
private String action;
/**
*
*/
@NotEmpty(message = "往来单位不能为空!")
private String fromCorp;
}

@ -0,0 +1,14 @@
package com.glxp.api.service.thrsys;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.req.thrsys.FilterThrInvOrderDetailRequest;
import java.util.List;
public interface ThrInvOrderDetailService {
public List<ThrInvOrderDetail> filterThrInvOrderDetails(FilterThrInvOrderDetailRequest filterThrInvOrderDetailRequest);
int delThrInvOrderDetail(Integer id);
int delThrInvOrderDetailByBillNo(String billNo);
}

@ -1,6 +1,12 @@
package com.glxp.api.service.thrsys; package com.glxp.api.service.thrsys;
import com.glxp.api.entity.thrsys.ThrInvOrder;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.req.thrsys.FilterThrInvOrderRequest;
import com.glxp.api.req.thrsys.GenerateOrderRequest;
import java.util.List;
public interface ThrInvOrderService { public interface ThrInvOrderService {
@ -8,4 +14,22 @@ public interface ThrInvOrderService {
* *
*/ */
public void handleExternalThrInvOrder(FilterInvProductRequest filterInvProductRequest); public void handleExternalThrInvOrder(FilterInvProductRequest filterInvProductRequest);
void downloadInvOrder(ThrSystemDetailEntity thrSystemDetailEntity);
/**
*
* @param filterThrInvOrderRequest
* @return
*/
List<ThrInvOrder> filterThrInvOrder(FilterThrInvOrderRequest filterThrInvOrderRequest);
int delThrInvOrderByBillNo(String billNo);
/**
*
* @param generateOrderRequest
* @return
*/
boolean generateOrder(GenerateOrderRequest generateOrderRequest);
} }

@ -0,0 +1,47 @@
package com.glxp.api.service.thrsys.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.thrsys.ThrInvOrderDetailMapper;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.api.req.thrsys.FilterThrInvOrderDetailRequest;
import com.glxp.api.service.thrsys.ThrInvOrderDetailService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class ThrInvOrderDetailServiceImpl implements ThrInvOrderDetailService {
@Resource
ThrInvOrderDetailMapper thrInvOrderDetailMapper;
@Override
public List<ThrInvOrderDetail> filterThrInvOrderDetails(FilterThrInvOrderDetailRequest filterThrInvOrderDetailRequest) {
if (filterThrInvOrderDetailRequest == null) {
return Collections.emptyList();
}
if (filterThrInvOrderDetailRequest.getPage() != null) {
int offset = (filterThrInvOrderDetailRequest.getPage() - 1) * filterThrInvOrderDetailRequest.getLimit();
PageHelper.offsetPage(offset, filterThrInvOrderDetailRequest.getLimit());
}
List<ThrInvOrderDetail> data = thrInvOrderDetailMapper.filterThrOrderDetailDetail(filterThrInvOrderDetailRequest);
return data;
}
@Override
public int delThrInvOrderDetail(Integer id) {
return thrInvOrderDetailMapper.deleteByPrimaryKey(id);
}
@Override
public int delThrInvOrderDetailByBillNo(String billNo) {
UpdateWrapper<ThrInvOrderDetail> uw = new UpdateWrapper<>();
uw.eq("orderIdFk",billNo);
return thrInvOrderDetailMapper.delete(uw);
}
}

@ -1,7 +1,11 @@
package com.glxp.api.service.thrsys.impl; package com.glxp.api.service.thrsys.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.constant.Constant; import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
@ -9,20 +13,34 @@ import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.thrsys.ThrInvOrderDetailMapper; import com.glxp.api.dao.thrsys.ThrInvOrderDetailMapper;
import com.glxp.api.dao.thrsys.ThrInvOrderMapper; import com.glxp.api.dao.thrsys.ThrInvOrderMapper;
import com.glxp.api.entity.basic.BasicSkProjectDetailEntity; import com.glxp.api.entity.basic.BasicSkProjectDetailEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrInvOrder; import com.glxp.api.entity.thrsys.ThrInvOrder;
import com.glxp.api.entity.thrsys.ThrInvOrderDetail; import com.glxp.api.entity.thrsys.ThrInvOrderDetail;
import com.glxp.api.entity.thrsys.ThrOrderEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.http.ErpInvClient; import com.glxp.api.http.ErpInvClient;
import com.glxp.api.req.inv.FilterInvProductRequest; import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.req.thrsys.FilterThrInvOrderRequest;
import com.glxp.api.req.thrsys.GenerateOrderRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inv.ThrInvResultResponse; import com.glxp.api.res.inv.ThrInvResultResponse;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.impl.BasicDestinyRelService; import com.glxp.api.service.basic.impl.BasicDestinyRelService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.service.thrsys.ThrInvOrderService; import com.glxp.api.service.thrsys.ThrInvOrderService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
@ -40,6 +58,17 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
ThrInvOrderMapper thrInvOrderMapper; ThrInvOrderMapper thrInvOrderMapper;
@Resource @Resource
ThrInvOrderDetailMapper thrInvOrderDetailMapper; ThrInvOrderDetailMapper thrInvOrderDetailMapper;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
CustomerService customerService;
@Resource
IoOrderService ioOrderService;
@Resource
IoOrderDetailBizService ioOrderDetailBizService;
// 设置要输出的日期格式 // 设置要输出的日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
@ -48,15 +77,15 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
BaseResponse<PageSimpleResponse<ThrInvResultResponse>> baseResponse = erpInvClient.getInvResult(filterInvProductRequest); BaseResponse<PageSimpleResponse<ThrInvResultResponse>> baseResponse = erpInvClient.getInvResult(filterInvProductRequest);
if (baseResponse.getCode() == 20000) { if (baseResponse.getCode() == 20000) {
List<ThrInvResultResponse> list = baseResponse.getData().getList(); List<ThrInvResultResponse> list = baseResponse.getData().getList();
if (CollectionUtil.isNotEmpty(list)){ if (CollectionUtil.isNotEmpty(list)) {
String billNo = generateBillNo(filterInvProductRequest);//单据号 String billNo = generateBillNo(filterInvProductRequest);//单据号
//处理 返回实体 转换成 单据 和 单据明细 //处理 返回实体 转换成 单据 和 单据明细
List<ThrInvOrderDetail> thrInvOrderDetails = new ArrayList<>(); List<ThrInvOrderDetail> thrInvOrderDetails = new ArrayList<>();
handleExternalConvertThrInvOrderDetail(list,thrInvOrderDetails,billNo); handleExternalConvertThrInvOrderDetail(list, thrInvOrderDetails, billNo);
if (CollectionUtil.isNotEmpty(thrInvOrderDetails)){ if (CollectionUtil.isNotEmpty(thrInvOrderDetails)) {
ThrInvOrder thrInvOrder = new ThrInvOrder(); ThrInvOrder thrInvOrder = new ThrInvOrder();
handleExternalConvertThrInvOrder(billNo,filterInvProductRequest,thrInvOrder,list.get(0)); handleExternalConvertThrInvOrder(billNo, filterInvProductRequest, thrInvOrder, list.get(0));
//保存数据 //保存数据
thrInvOrderMapper.insert(thrInvOrder); thrInvOrderMapper.insert(thrInvOrder);
@ -66,8 +95,98 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
} }
} }
@Override
public void downloadInvOrder(ThrSystemDetailEntity thrSystemDetailEntity) {
log.info("自动抓取第三方出入库明细生成单据定时任务开始");
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
filterInvProductRequest.setThirdSys(thrSystemDetailEntity.getThirdSysFk());
filterInvProductRequest.setThirdSysUrlValue(thrSystemDetailEntity.getValue());
String days = getBeginAndEndDateByDays(1);
filterInvProductRequest.setStartDate(stringToDate(days + " 00:00:00"));
filterInvProductRequest.setEndDate(stringToDate(days + " 23:59:59"));
handleExternalThrInvOrder(filterInvProductRequest);
log.info("自动抓取第三方出入库明细生成单据定时任务结束");
}
@Override
public List<ThrInvOrder> filterThrInvOrder(FilterThrInvOrderRequest filterThrInvOrderRequest) {
if (filterThrInvOrderRequest == null) {
return Collections.emptyList();
}
if (filterThrInvOrderRequest.getPage() != null) {
int offset = (filterThrInvOrderRequest.getPage() - 1) * filterThrInvOrderRequest.getLimit();
PageHelper.offsetPage(offset, filterThrInvOrderRequest.getLimit());
}
List<ThrInvOrder> data = thrInvOrderMapper.filterThrInvOrder(filterThrInvOrderRequest);
return data;
}
@Override
public int delThrInvOrderByBillNo(String billNo) {
UpdateWrapper<ThrInvOrder> uw = new UpdateWrapper<>();
uw.eq("billNo", billNo);
return thrInvOrderMapper.delete(uw);
}
@Override
public boolean generateOrder(GenerateOrderRequest generateOrderRequest) {
String billNo = generateOrderRequest.getBillNo();
//通过单号获取单据信息
QueryWrapper<ThrInvOrder> qw = new QueryWrapper<>();
qw.eq("billNo",billNo);
ThrInvOrder thrInvOrder = thrInvOrderMapper.selectOne(qw);
if (Objects.isNull(thrInvOrder)) return false;
//通过单号获取单据明细信息
QueryWrapper<ThrInvOrderDetail> qwd = new QueryWrapper<>();
qwd.eq("orderIdFk",billNo);
List<ThrInvOrderDetail> thrInvOrderDetails = thrInvOrderDetailMapper.selectList(qwd);
if (CollectionUtil.isNotEmpty(thrInvOrderDetails)) return false;
//新单号
String newBillNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
IoOrderEntity ioOrderEntity = new IoOrderEntity();
ioOrderEntity.setBillNo(newBillNo);
ioOrderEntity.setMainAction(thrInvOrder.getMainAction());
ioOrderEntity.setFromCorp(generateOrderRequest.getFromCorp());
ioOrderEntity.setInvCode(thrInvOrder.getInvCode());
ioOrderEntity.setDeptCode(thrInvOrder.getDeptCode());
ioOrderEntity.setFromType(ConstantStatus.FROM_THRORDER);//网页新增
ioOrderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);//草稿
ioOrderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);//草稿
ioOrderEntity.setCorpOrderId(billNo);//单据号
ioOrderEntity.setUpdateTime(new Date());
ioOrderEntity.setCreateTime(new Date());
Long userId = customerService.getUserId();
ioOrderEntity.setCreateUser(userId + "");
ioOrderEntity.setUpdateUser(userId + "");
ioOrderEntity.setOrderType(ConstantStatus.ORDER_TYPE_NORMAL);//正常单据处理
List<IoOrderDetailBizEntity> newOrderDetailBiz = new ArrayList<>(thrInvOrderDetails.size());
if (!copyOrderDetailBiz(thrInvOrderDetails,newOrderDetailBiz)){
return false;
}
ioOrderService.insertOrder(ioOrderEntity);
return ioOrderDetailBizService.batchInsertBizs(newOrderDetailBiz);
}
private boolean copyOrderDetailBiz(List<ThrInvOrderDetail> thrInvOrderDetails, List<IoOrderDetailBizEntity> newOrderDetailBiz) {
/**
* 1
* 2
*/
return true;
}
/** /**
* SFIO + 6 + 6 + 6 * SFIO + 6 + 6 + 6
*
* @param filterInvProductRequest * @param filterInvProductRequest
* @return * @return
*/ */
@ -75,16 +194,17 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
String startDate = sdf.format(filterInvProductRequest.getStartDate()).substring(2); String startDate = sdf.format(filterInvProductRequest.getStartDate()).substring(2);
String endDate = sdf.format(filterInvProductRequest.getEndDate()).substring(2); String endDate = sdf.format(filterInvProductRequest.getEndDate()).substring(2);
Integer random = new Random().nextInt(900000) + 100000; Integer random = new Random().nextInt(900000) + 100000;
return Constant.TRIPARTITE_INV_ORDER + startDate+endDate + random; return Constant.TRIPARTITE_INV_ORDER + startDate + endDate + random;
} }
/** /**
* *
*
* @param filterInvProductRequest * @param filterInvProductRequest
* @param thrInvOrder * @param thrInvOrder
* @param thrInvResultResponse * @param thrInvResultResponse
*/ */
private void handleExternalConvertThrInvOrder(String billNo,FilterInvProductRequest filterInvProductRequest,ThrInvOrder thrInvOrder,ThrInvResultResponse thrInvResultResponse) { private void handleExternalConvertThrInvOrder(String billNo, FilterInvProductRequest filterInvProductRequest, ThrInvOrder thrInvOrder, ThrInvResultResponse thrInvResultResponse) {
Date newDate = new Date(); Date newDate = new Date();
thrInvOrder.setBillNo(billNo);//单据号 thrInvOrder.setBillNo(billNo);//单据号
@ -93,6 +213,7 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
thrInvOrder.setEndDate(filterInvProductRequest.getEndDate());//库存结束时间 thrInvOrder.setEndDate(filterInvProductRequest.getEndDate());//库存结束时间
thrInvOrder.setMainAction(thrInvResultResponse.getMainAction());//出入库类型 thrInvOrder.setMainAction(thrInvResultResponse.getMainAction());//出入库类型
thrInvOrder.setBillType(thrInvResultResponse.getMainAction());//第三方单据类型 thrInvOrder.setBillType(thrInvResultResponse.getMainAction());//第三方单据类型
thrInvOrder.setThirdSysFk(filterInvProductRequest.getThirdSys());//外部系统
thrInvOrder.setDeptCode(thrInvResultResponse.getDeptCode());//部门编号 thrInvOrder.setDeptCode(thrInvResultResponse.getDeptCode());//部门编号
thrInvOrder.setInvCode(thrInvResultResponse.getInvCode());//仓库代码 thrInvOrder.setInvCode(thrInvResultResponse.getInvCode());//仓库代码
thrInvOrder.setSpaceCode(thrInvResultResponse.getSpaceCode());//货位编码 thrInvOrder.setSpaceCode(thrInvResultResponse.getSpaceCode());//货位编码
@ -104,31 +225,50 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
/** /**
* *
*
* @param list * @param list
* @param thrInvOrderDetails * @param thrInvOrderDetails
* @param billNo * @param billNo
*/ */
private void handleExternalConvertThrInvOrderDetail(List<ThrInvResultResponse> list, List<ThrInvOrderDetail> thrInvOrderDetails,String billNo) { private void handleExternalConvertThrInvOrderDetail(List<ThrInvResultResponse> list, List<ThrInvOrderDetail> thrInvOrderDetails, String billNo) {
list.forEach( item -> { Integer inv_set_enable = Integer.valueOf(systemParamConfigService.selectValueByParamKey("inv_set_enable"));
if (inv_set_enable == null || inv_set_enable == 0) {
list.forEach(item -> {
String mainAction = item.getMainAction();
Integer count = 0;
if (ConstantType.TYPE_PUT.equals(mainAction)) {
count = Integer.valueOf(item.getInCount());
} else {
count = Integer.valueOf(item.getOutCount());
}
ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail();
BeanUtils.copyProperties(item, thrInvOrderDetail);
thrInvOrderDetail.setOrderIdFk(billNo);
thrInvOrderDetail.setRelId(Long.parseLong(item.getThrCode()));
thrInvOrderDetail.setReCount(String.valueOf(count));
thrInvOrderDetails.add(thrInvOrderDetail);
});
} else {
list.forEach(item -> {
String thrCode = item.getThrCode(); String thrCode = item.getThrCode();
String mainAction = item.getMainAction(); String mainAction = item.getMainAction();
Integer count = 0; Integer count = 0;
if (ConstantType.TYPE_PUT.equals(mainAction)) { if (ConstantType.TYPE_PUT.equals(mainAction)) {
count = Integer.valueOf(item.getInCount()); count = Integer.valueOf(item.getInCount());
}else { } else {
count = Integer.valueOf(item.getOutCount()); count = Integer.valueOf(item.getOutCount());
} }
//通过thrCode获取到项目组套 //通过thrCode获取到项目组套
List<BasicSkProjectDetailEntity> skProjectDetailEntityList= basicDestinyRelService.filterDestinyRelListByPId(thrCode); List<BasicSkProjectDetailEntity> skProjectDetailEntityList = basicDestinyRelService.filterDestinyRelListByPId(thrCode);
if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0 ){ if (CollectionUtil.isNotEmpty(skProjectDetailEntityList) && count > 0) {
Integer finalCount = count; Integer finalCount = count;
skProjectDetailEntityList.forEach(sk -> { skProjectDetailEntityList.forEach(sk -> {
ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail(); ThrInvOrderDetail thrInvOrderDetail = new ThrInvOrderDetail();
BeanUtils.copyProperties(item,thrInvOrderDetail); BeanUtils.copyProperties(item, thrInvOrderDetail);
thrInvOrderDetail.setOrderIdFk(billNo); thrInvOrderDetail.setOrderIdFk(billNo);
thrInvOrderDetail.setRelId(sk.getRelId()); thrInvOrderDetail.setRelId(sk.getRelId());
Integer skCount = sk.getCount(); Integer skCount = sk.getCount();
if (skCount != null && skCount > 0){ if (skCount != null && skCount > 0) {
thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount)); thrInvOrderDetail.setReCount(String.valueOf(skCount * finalCount));
thrInvOrderDetails.add(thrInvOrderDetail); thrInvOrderDetails.add(thrInvOrderDetail);
} }
@ -136,4 +276,32 @@ public class ThrInvOrderServiceImpl implements ThrInvOrderService {
} }
}); });
} }
}
/**
* (n)
*
* @param n
* @return
*/
public static String getBeginAndEndDateByDays(int n) {
Date date = new Date();//取时间
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE, -1);//把日期往前减少一天,若想把日期向后推一天则将负数改为正数
date = calendar.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(date);
}
public static Date stringToDate(String time) {
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = dateformat.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
} }

@ -9,6 +9,7 @@ import com.glxp.api.constant.ThirdSysConstant;
import com.glxp.api.dao.schedule.ScheduledDao; import com.glxp.api.dao.schedule.ScheduledDao;
import com.glxp.api.dao.system.SyncDataSetDao; import com.glxp.api.dao.system.SyncDataSetDao;
import com.glxp.api.dao.thrsys.ThrSystemDetailDao; import com.glxp.api.dao.thrsys.ThrSystemDetailDao;
import com.glxp.api.entity.inv.InvPlaceOrderEntity;
import com.glxp.api.entity.system.ScheduledEntity; import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; import com.glxp.api.entity.thrsys.ThrSystemDetailEntity;
import com.glxp.api.req.basic.GetSickRequest; import com.glxp.api.req.basic.GetSickRequest;
@ -63,6 +64,8 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
private IoOrderService orderService; private IoOrderService orderService;
@Resource @Resource
ThrOrderService thrOrderService; ThrOrderService thrOrderService;
@Resource
ThrInvOrderService thrInvOrderService;
final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class); final Logger logger = LoggerFactory.getLogger(SyncHeartTask.class);
@Resource @Resource
@ -138,6 +141,10 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
//下载患者信息 //下载患者信息
downloadSicker(thrSystemDetailEntity); downloadSicker(thrSystemDetailEntity);
break; break;
case ThirdSysConstant.INV_ORDER_QUERY_URL:
//下载出入库明细
downloadInvOrder(thrSystemDetailEntity);
break;
default: default:
//其他接口暂不处理 //其他接口暂不处理
break; break;
@ -171,6 +178,29 @@ public class SyncThirdSysTask implements SchedulingConfigurer {
} }
} }
/**
*
*
* @param thrSystemDetailEntity
*/
private void downloadInvOrder(ThrSystemDetailEntity thrSystemDetailEntity) {
//校验任务并更新redis数据执行标识
if (verifyTask(thrSystemDetailEntity)) {
getExecutor().submit(() -> {
log.info("开始下载三方出入库明细");
try {
thrInvOrderService.downloadInvOrder(thrSystemDetailEntity);
} catch (Exception e) {
log.error("下载三方出入库明细异常", ExceptionUtils.getStackTrace(e));
} finally {
updateTask(getTaskKey(thrSystemDetailEntity));
}
log.info("下载三方出入库明细完成");
});
}
}
/** /**
* *
* *

@ -1,88 +0,0 @@
package com.glxp.api.task;
import cn.hutool.core.date.DateRange;
import com.glxp.api.dao.schedule.ScheduledDao;
import com.glxp.api.entity.system.ScheduledEntity;
import com.glxp.api.req.inv.FilterInvProductRequest;
import com.glxp.api.req.system.ScheduledRequest;
import com.glxp.api.service.thrsys.ThrInvOrderService;
import lombok.extern.slf4j.Slf4j;
import org.apache.regexp.RE;
import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import org.springframework.scheduling.support.CronTrigger;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
*
*/
@Slf4j
@Component
public class ThrInvOrderTask implements SchedulingConfigurer {
@Resource
ScheduledDao scheduledDao;
@Resource
ThrInvOrderService thrInvOrderService;
@Override
public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {
scheduledTaskRegistrar.addTriggerTask(this::process, triggerContext -> {
ScheduledRequest scheduledRequest = new ScheduledRequest();
scheduledRequest.setCronName("thrInvOrderTask");
ScheduledEntity scheduled = scheduledDao.findScheduled(scheduledRequest);
if (null == scheduled) {
log.error("自动抓取第三方出入库明细生成单据定时任务未配置,请注意!");
return null;
}
String cron = scheduled.getCron();
return new CronTrigger(cron).nextExecutionTime(triggerContext);
});
}
public void process() {
log.info("自动抓取第三方出入库明细生成单据定时任务开始");
FilterInvProductRequest filterInvProductRequest = new FilterInvProductRequest();
String days = getBeginAndEndDateByDays(1);
filterInvProductRequest.setStartDate(stringToDate(days +" 00:00:00"));
filterInvProductRequest.setEndDate(stringToDate(days +" 23:59:59"));
thrInvOrderService.handleExternalThrInvOrder(filterInvProductRequest);
log.info("自动抓取第三方出入库明细生成单据定时任务结束");
}
/**
* (n)
* @param n
* @return
*/
public static String getBeginAndEndDateByDays(int n) {
Date date=new Date();//取时间
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
calendar.add(calendar.DATE,-1);//把日期往前减少一天,若想把日期向后推一天则将负数改为正数
date=calendar.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(date);
}
public static Date stringToDate(String time) {
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = dateformat.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}

@ -353,4 +353,15 @@
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
<select id="filterThrOrderDetailDetail" parameterType="com.glxp.api.req.thrsys.FilterThrInvOrderDetailRequest"
resultType="com.glxp.api.entity.thrsys.ThrInvOrderDetail">
SELECT *
FROM thr_inv_order_detail
<where>
<if test="orderIdFk != '' and orderIdFk != null">
AND orderIdFk = #{orderIdFk}
</if>
</where>
</select>
</mapper> </mapper>

@ -11,6 +11,7 @@
<result column="endDate" jdbcType="TIMESTAMP" property="endDate" /> <result column="endDate" jdbcType="TIMESTAMP" property="endDate" />
<result column="mainAction" jdbcType="VARCHAR" property="mainAction" /> <result column="mainAction" jdbcType="VARCHAR" property="mainAction" />
<result column="billType" jdbcType="VARCHAR" property="billType" /> <result column="billType" jdbcType="VARCHAR" property="billType" />
<result column="thirdSysFk" jdbcType="VARCHAR" property="thirdSysFk" />
<result column="deptCode" jdbcType="VARCHAR" property="deptCode" /> <result column="deptCode" jdbcType="VARCHAR" property="deptCode" />
<result column="invCode" jdbcType="VARCHAR" property="invCode" /> <result column="invCode" jdbcType="VARCHAR" property="invCode" />
<result column="spaceCode" jdbcType="VARCHAR" property="spaceCode" /> <result column="spaceCode" jdbcType="VARCHAR" property="spaceCode" />
@ -23,7 +24,7 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, billNo, billDate, startDate, endDate, mainAction, billType, deptCode, invCode, id, billNo, billDate, startDate, endDate, mainAction, billType,thirdSysFk, deptCode, invCode,
spaceCode, `status`, createTime, `createUser`, updateTime, updateUser, remark spaceCode, `status`, createTime, `createUser`, updateTime, updateUser, remark
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap"> <select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
@ -41,13 +42,13 @@
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.glxp.api.entity.thrsys.ThrInvOrder" useGeneratedKeys="true"> <insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.glxp.api.entity.thrsys.ThrInvOrder" useGeneratedKeys="true">
<!--@mbg.generated--> <!--@mbg.generated-->
insert into thr_inv_order (billNo, billDate, startDate, insert into thr_inv_order (billNo, billDate, startDate,
endDate, mainAction, billType, endDate, mainAction, billType,thirdSysFk,
deptCode, invCode, spaceCode, deptCode, invCode, spaceCode,
`status`, createTime, `createUser`, `status`, createTime, `createUser`,
updateTime, updateUser, remark updateTime, updateUser, remark
) )
values (#{billNo,jdbcType=VARCHAR}, #{billDate,jdbcType=TIMESTAMP}, #{startDate,jdbcType=TIMESTAMP}, values (#{billNo,jdbcType=VARCHAR}, #{billDate,jdbcType=TIMESTAMP}, #{startDate,jdbcType=TIMESTAMP},
#{endDate,jdbcType=TIMESTAMP}, #{mainAction,jdbcType=VARCHAR}, #{billType,jdbcType=VARCHAR}, #{endDate,jdbcType=TIMESTAMP}, #{mainAction,jdbcType=VARCHAR}, #{billType,jdbcType=VARCHAR},#{thirdSysFk,jdbcType=VARCHAR},
#{deptCode,jdbcType=VARCHAR}, #{invCode,jdbcType=VARCHAR}, #{spaceCode,jdbcType=VARCHAR}, #{deptCode,jdbcType=VARCHAR}, #{invCode,jdbcType=VARCHAR}, #{spaceCode,jdbcType=VARCHAR},
#{status,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, #{createUser,jdbcType=VARCHAR}, #{status,jdbcType=TINYINT}, #{createTime,jdbcType=TIMESTAMP}, #{createUser,jdbcType=VARCHAR},
#{updateTime,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR} #{updateTime,jdbcType=TIMESTAMP}, #{updateUser,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}
@ -75,6 +76,9 @@
<if test="billType != null"> <if test="billType != null">
billType, billType,
</if> </if>
<if test="thirdSysFk != null">
thirdSysFk,
</if>
<if test="deptCode != null"> <if test="deptCode != null">
deptCode, deptCode,
</if> </if>
@ -122,6 +126,9 @@
<if test="billType != null"> <if test="billType != null">
#{billType,jdbcType=VARCHAR}, #{billType,jdbcType=VARCHAR},
</if> </if>
<if test="thirdSysFk != null">
#{thirdSysFk,jdbcType=VARCHAR},
</if>
<if test="deptCode != null"> <if test="deptCode != null">
#{deptCode,jdbcType=VARCHAR}, #{deptCode,jdbcType=VARCHAR},
</if> </if>
@ -173,6 +180,9 @@
<if test="billType != null"> <if test="billType != null">
billType = #{billType,jdbcType=VARCHAR}, billType = #{billType,jdbcType=VARCHAR},
</if> </if>
<if test="thirdSysFk != null">
thirdSysFk = #{thirdSysFk,jdbcType=VARCHAR},
</if>
<if test="deptCode != null"> <if test="deptCode != null">
deptCode = #{deptCode,jdbcType=VARCHAR}, deptCode = #{deptCode,jdbcType=VARCHAR},
</if> </if>
@ -212,6 +222,7 @@
endDate = #{endDate,jdbcType=TIMESTAMP}, endDate = #{endDate,jdbcType=TIMESTAMP},
mainAction = #{mainAction,jdbcType=VARCHAR}, mainAction = #{mainAction,jdbcType=VARCHAR},
billType = #{billType,jdbcType=VARCHAR}, billType = #{billType,jdbcType=VARCHAR},
thirdSysFk = #{thirdSysFk,jdbcType=VARCHAR},
deptCode = #{deptCode,jdbcType=VARCHAR}, deptCode = #{deptCode,jdbcType=VARCHAR},
invCode = #{invCode,jdbcType=VARCHAR}, invCode = #{invCode,jdbcType=VARCHAR},
spaceCode = #{spaceCode,jdbcType=VARCHAR}, spaceCode = #{spaceCode,jdbcType=VARCHAR},
@ -223,4 +234,32 @@
remark = #{remark,jdbcType=VARCHAR} remark = #{remark,jdbcType=VARCHAR}
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
<select id="filterThrInvOrder" parameterType="com.glxp.api.req.thrsys.FilterThrInvOrderRequest"
resultType="com.glxp.api.entity.thrsys.ThrInvOrder">
SELECT thr_inv_order.*
FROM thr_inv_order
<where>
<if test="billNo != '' and billNo != null">
AND billNo like concat('%', #{billNo}, '%')
</if>
<if test="billType != '' and billType != null">
AND billType = #{billType}
</if>
<if test="thirdSysFk != '' and thirdSysFk != null">
AND thirdSysFk = #{thirdSysFk}
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[
and DATE_FORMAT(billdate, '%Y-%m-%d') >= DATE_FORMAT(#{startDate}, '%Y-%m-%d')
]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[
and DATE_FORMAT(billdate, '%Y-%m-%d') <= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
]]>
</if>
</where>
ORDER BY thr_inv_order.billNo DESC
</select>
</mapper> </mapper>
Loading…
Cancel
Save