diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index a92a07dda..7404e4da8 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; @@ -36,11 +37,13 @@ import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.IntUtil; import com.glxp.api.util.OrderNoTypeBean; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.BindingResult; @@ -1041,6 +1044,72 @@ public class IoOrderController extends BaseController { AuthAdmin userBean = customerService.getUserBean(); return ResultVOUtils.success(userBean); } + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/filterInvoiceList") + public BaseResponse filterInvoiceList(FilterOrderRequest filterOrderRequest) { + + //这个不等于空表示要查询发票对应的单据 + if (filterOrderRequest.getInvoiceEncode() != null) { + //查询发票详情 + QueryWrapper ew=new QueryWrapper(); + ew.eq("invoiceEncode",filterOrderRequest.getInvoiceEncode()); + List ioOrderInvoiceEntity = orderInvoiceService.list(ew); + List orderIds = ioOrderInvoiceEntity.stream().map(IoOrderInvoiceEntity::getOrderIdFk).collect(Collectors.toList()); + filterOrderRequest.setOrderIds(orderIds); + if(CollectionUtils.isEmpty(orderIds)){ + PageInfo pageInfo = new PageInfo<>(); + return ResultVOUtils.page(pageInfo); + } + } + + + if (StrUtil.isNotBlank(filterOrderRequest.getStatusType())) { + orderService.setFilterStatus(filterOrderRequest); + } + if (StrUtil.isNotBlank(filterOrderRequest.getVueType())) { + orderService.setActions(filterOrderRequest); + } + + if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) { + orderService.setInvoiceFiltes(filterOrderRequest); + } + if (filterOrderRequest.getSourceLocalType() != null) { + if (filterOrderRequest.getSourceLocalType() == 1) { + filterOrderRequest.setSourceTypes(Arrays.asList(1, 2, 3, 4, 5)); + } else { + filterOrderRequest.setSourceTypes(Arrays.asList(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17)); + } + } + String customerId = getCustomerId(); + if (!customerId.equals("110")) { + filterOrderRequest.setFromCorp(customerId); + } + List list = orderService.getfilterOrderList(filterOrderRequest); + + for (IoOrderResponse ioOrderResponse : list) { + if (ioOrderResponse.getCheckStatus() == null) { + ioOrderResponse.setCheckStatus(0 + ""); + } + orderInvoiceService.findRegStausByBillNo(ioOrderResponse); + } + if (filterOrderRequest.getInvoiceEncode() == null) { + //查询已被登记的单据 + List ioOrderInvoiceEntity = orderInvoiceService.list(); + //已被选择的单据做标记 + if (ioOrderInvoiceEntity != null && ioOrderInvoiceEntity.size() > 0) { + for (IoOrderResponse ioOrderResponse : list) { + for (IoOrderInvoiceEntity orderInvoiceEntity : ioOrderInvoiceEntity) { + if (ioOrderResponse.getBillNo().equals(orderInvoiceEntity.getOrderIdFk())) { + ioOrderResponse.setCheckType(true); + break; + } + } + } + } + } + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } public String checkId(IoOrderDetailBizEntity bizEntity, IoCodeTempEntity codeEntity) { diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java index 7116e4ece..553fd279b 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderDetailBizController.java @@ -41,6 +41,7 @@ import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.*; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.purchase.PurOrderDetailService; import com.glxp.api.service.purchase.PurOrderService; import com.glxp.api.service.purchase.SupCertService; diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java index a22eed8d1..b24eaf5c0 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderInvoiceController.java @@ -2,7 +2,10 @@ package com.glxp.api.controller.inout; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; import com.glxp.api.common.res.BaseResponse; @@ -14,15 +17,29 @@ import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.http.sync.SpGetHttpClient; import com.glxp.api.idc.service.FileService; +import com.glxp.api.req.inout.FilterOrderDetailCodeRequest; +import com.glxp.api.req.inout.IoOrderInvoiceRequest; import com.glxp.api.req.inout.RefreshInoiceRequest; +import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.res.inout.IoOrderDetailCodeResponse; +import com.glxp.api.res.inout.IoOrderInvoiceResponse; +import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.RefreshInoiceResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailCodeService; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.BeanUtils; +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.math.BigDecimal; import java.util.ArrayList; +import java.util.Date; import java.util.List; @RestController @@ -35,6 +52,15 @@ public class IoOrderInvoiceController { FileService fileService; @Resource IoOrderDetailCodeDao ioOrderDetailCodeDao; + @Resource + IoOrderInvoiceService ioOrderInvoiceService; + @Resource + IoOrderDetailCodeService orderDetailCodeService; + @Resource + CustomerService customerService; + @Resource + IoOrderDetailBizService orderDetailBizService; + @AuthRuleAnnotation("") @PostMapping("/udiwms/inout/order/refrshInvoice") @@ -67,4 +93,148 @@ public class IoOrderInvoiceController { } + + + + + //分组查询发票列表 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/order/group/invoice") + public BaseResponse filterGroup(IoOrderInvoiceRequest orderInvoiceRequest) { + List orderInvoiceEntities = ioOrderInvoiceService.filterGroupBy(orderInvoiceRequest); + PageInfo pageInfo = new PageInfo<>(orderInvoiceEntities); + return ResultVOUtils.page(pageInfo); + } + + //发票对应产品信息汇总 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/invoice/product/detail") + public BaseResponse productDetail(IoOrderInvoiceRequest orderInvoiceRequest) { + if (StrUtil.isEmpty(orderInvoiceRequest.getInvoiceEncode())) + return ResultVOUtils.error(500, "发票编码不能为空!"); + List orderInvoiceEntities = ioOrderInvoiceService.filterInvoice(orderInvoiceRequest); + + //计算金额 + for (IoOrderInvoiceResponse orderInvoiceEntity : orderInvoiceEntities) { + if (orderInvoiceEntity.getPrice() != null && orderInvoiceEntity.getReCount() != 0) { + orderInvoiceEntity.setAmout(new BigDecimal(orderInvoiceEntity.getPrice()).multiply(new BigDecimal(orderInvoiceEntity.getReCount()))); + } + } + + PageInfo pageInfo = new PageInfo<>(orderInvoiceEntities); + return ResultVOUtils.page(pageInfo); + } + + //发票对应所有单据 + @AuthRuleAnnotation("") + @GetMapping("/udiwms/inout/invoice/order/detail") + public BaseResponse orderDetail(IoOrderInvoiceRequest orderInvoiceRequest) { + List orderInvoiceEntities = ioOrderInvoiceService.filterByInvoiceCode(orderInvoiceRequest); + for (IoOrderResponse orderInvoiceEntity : orderInvoiceEntities) { + ioOrderInvoiceService.findRegStausByBillNo(orderInvoiceEntity); + } + PageInfo pageInfo = new PageInfo<>(orderInvoiceEntities); + return ResultVOUtils.page(pageInfo); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/invoice/delete") + @Log(title = "发票删除", businessType = BusinessType.DELETE) + public BaseResponse deleteInvoice(@RequestBody DeleteRequest deleteRequest) { + if (StrUtil.isEmpty(deleteRequest.getInvoiceEncode())) + return ResultVOUtils.error(500, "发票编码不能为空"); + + boolean b = ioOrderInvoiceService.remove(new QueryWrapper().eq("invoiceEncode", deleteRequest.getInvoiceEncode())); + if (b) + return ResultVOUtils.success("删除成功!"); + else + return ResultVOUtils.error(500, "删除失败!"); + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/invoice/saveInvoice") + @Log(title = "发票增加", businessType = BusinessType.INSERT) + public BaseResponse saveInvoice(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) { + + List orderFkList = ioOrderInvoiceRequest.getOrderFkList(); + List ioOrderInvoiceEntityList = new ArrayList<>(); + for (String orderFk : orderFkList) { + //查询单据详情 + FilterOrderDetailCodeRequest orderDetailBizRequest = new FilterOrderDetailCodeRequest(); + orderDetailBizRequest.setOrderIdFk(orderFk); + List ioOrderDetailCodeResponses = orderDetailBizService.getfilterOrderList(orderDetailBizRequest); + for (IoOrderDetailCodeResponse ioOrderDetailCodeRespons : ioOrderDetailCodeResponses) { + IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); + BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity); + ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); + ioOrderInvoiceEntity.setOrderIdFk(orderFk); + ioOrderInvoiceEntity.setUpdateTime(new Date()); + ioOrderInvoiceEntity.setCreateTime(new Date()); + ioOrderInvoiceEntity.setCreateUser(customerService.getUserId() + ""); + ioOrderInvoiceEntity.setUpdateUser(customerService.getUserId() + ""); + ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailCodeRespons.getBindRlFk() + ""); + ioOrderInvoiceEntity.setBatchNo(ioOrderDetailCodeRespons.getBatchNo()); + ioOrderInvoiceEntity.setProductDate(ioOrderDetailCodeRespons.getProductDate()); + ioOrderInvoiceEntity.setExpireDate(ioOrderDetailCodeRespons.getExpireDate()); + ioOrderInvoiceEntityList.add(ioOrderInvoiceEntity); + } + } + + boolean b = ioOrderInvoiceService.saveBatch(ioOrderInvoiceEntityList); + if (b) + return ResultVOUtils.success("选入成功!"); + else + return ResultVOUtils.error(500, "选入失败!"); + } + + + @PostMapping("/udiwms/inout/invoice/uploadInvoice") + @Log(title = "发票管理", businessType = BusinessType.UPDATE) + public BaseResponse uploadInvoice(@RequestBody IoOrderInvoiceEntity ioOrderInvoice) { + + List ioOrderInvoiceEntityList=ioOrderInvoiceService.list(new QueryWrapper().eq("invoiceEncode",ioOrderInvoice.getInvoiceEncode())); + for (IoOrderInvoiceEntity ioOrderInvoiceEntity : ioOrderInvoiceEntityList) { + ioOrderInvoiceEntity.setInvoiceDate(ioOrderInvoice.getInvoiceDate()); + ioOrderInvoiceEntity.setPrice(ioOrderInvoice.getPrice()); + ioOrderInvoiceEntity.setLicenseUrl(ioOrderInvoice.getLicenseUrl()); + ioOrderInvoiceEntity.setRemark(ioOrderInvoice.getRemark()); + ioOrderInvoiceEntity.setMachineNo(ioOrderInvoice.getMachineNo()); + ioOrderInvoiceEntity.setInvoiceCode(ioOrderInvoice.getInvoiceCode()); + ioOrderInvoiceEntity.setUpdateTime(new Date()); + } + ioOrderInvoiceService.updateBatchById(ioOrderInvoiceEntityList); + + return ResultVOUtils.success("成功"); + + } + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/invoice/deleteInvoiceByOrderFk") + @Log(title = "发票删除", businessType = BusinessType.DELETE) + public BaseResponse deleteInvoiceByOrderFk(@RequestBody DeleteRequest deleteRequest) { + if (StrUtil.isEmpty(deleteRequest.getInvoiceEncode())) + return ResultVOUtils.error(500, "发票编码不能为空"); + + boolean b = ioOrderInvoiceService.remove(new QueryWrapper().eq("invoiceEncode", deleteRequest.getInvoiceEncode()).eq("orderIdFk",deleteRequest.getBillNo())); + if (b) + return ResultVOUtils.success("删除成功!"); + else + return ResultVOUtils.error(500, "删除失败!"); + } + + + @AuthRuleAnnotation("") + @PostMapping("/udiwms/inout/invoice/checkInvoiceCode") + public BaseResponse checkInvoiceCode(@RequestBody DeleteRequest deleteRequest) { + if (StrUtil.isEmpty(deleteRequest.getInvoiceEncode())) + return ResultVOUtils.error(500, "发票编码不能为空"); + + List ioOrderInvoiceEntityList = ioOrderInvoiceService.list(new QueryWrapper().eq("invoiceEncode", deleteRequest.getInvoiceEncode())); + if (CollectionUtils.isNotEmpty(ioOrderInvoiceEntityList) && ioOrderInvoiceEntityList.size()>0){ + return ResultVOUtils.error(999,"发票编码已存在!"); + } + return ResultVOUtils.success(); + + } + } diff --git a/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java b/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java index 7f0314953..359c857a9 100644 --- a/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java +++ b/src/main/java/com/glxp/api/dao/inout/IoOrderInvoiceMapper.java @@ -4,6 +4,8 @@ package com.glxp.api.dao.inout; import com.glxp.api.dao.BaseMapperPlus; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.res.inout.IoOrderInvoiceResponse; +import com.glxp.api.res.inout.IoOrderResponse; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -15,4 +17,10 @@ public interface IoOrderInvoiceMapper extends BaseMapperPlus selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceEntity); + + List filterGroupBy(IoOrderInvoiceRequest orderInvoiceRequest); + + List filterInvoice(IoOrderInvoiceRequest orderInvoiceRequest); + + List filterByInvoiceCode(IoOrderInvoiceRequest orderInvoiceRequest); } diff --git a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java index b1b3c9e94..adbc1a42f 100644 --- a/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inout/FilterOrderRequest.java @@ -191,5 +191,5 @@ public class FilterOrderRequest extends ListPageRequest { private String orderBy; private String uploadKey; - + private String invoiceEncode; } diff --git a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java index e8eaaa0bf..59fb6ca82 100644 --- a/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java +++ b/src/main/java/com/glxp/api/req/inout/IoOrderInvoiceRequest.java @@ -1,8 +1,10 @@ package com.glxp.api.req.inout; +import com.glxp.api.util.page.ListPageRequest; import lombok.Data; import java.util.Date; +import java.util.List; /** * @author : zhangsan @@ -10,7 +12,7 @@ import java.util.Date; * @modyified By : */ @Data -public class IoOrderInvoiceRequest { +public class IoOrderInvoiceRequest extends ListPageRequest { private Long id; @@ -62,6 +64,18 @@ public class IoOrderInvoiceRequest { private Long bizIdFk; + List orderFkList; + + /** + * 开始时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + public static final String COL_ID = "id"; public static final String COL_ORDERIDFK = "orderIdFk"; diff --git a/src/main/java/com/glxp/api/req/system/DeleteRequest.java b/src/main/java/com/glxp/api/req/system/DeleteRequest.java index ddad45de9..8e98c96ff 100644 --- a/src/main/java/com/glxp/api/req/system/DeleteRequest.java +++ b/src/main/java/com/glxp/api/req/system/DeleteRequest.java @@ -12,4 +12,5 @@ public class DeleteRequest { String billNo; List billNos; Integer dlType; //1:同步任务,2:下载记录 + String invoiceEncode; } diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java index 63a44894d..da748cd61 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderInvoiceResponse.java @@ -3,6 +3,7 @@ package com.glxp.api.res.inout; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import java.math.BigDecimal; import java.util.Date; @Data @@ -85,7 +86,14 @@ public class IoOrderInvoiceResponse { private String licenseUrl; private Long bizIdFk; - + private String coName; + private String spec; + private String measname; + private String manufacturer; + private String certCode; + private int reCount; + private int count; + private BigDecimal amout; public static final String COL_ID = "id"; diff --git a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java index 05b1f1363..f2771f3b7 100644 --- a/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inout/IoOrderResponse.java @@ -237,7 +237,7 @@ public class IoOrderResponse { */ private String errMsg; - + private boolean checkType; private Integer busType; //1:正常;2:送货;3.到货 private int invoiceStatus;//发票登记状态0:未登记,1:未全部登记;2:已全部登记 diff --git a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java index 0b53b51f4..940cad261 100644 --- a/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoChangeInoutService.java @@ -15,6 +15,7 @@ import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.basic.IBasicBusTypePreService; import com.glxp.api.service.basic.IBasicBussinessTypeService; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.inv.InvProductDetailService; import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.util.CustomUtil; diff --git a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java b/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java deleted file mode 100644 index 2473e6e5e..000000000 --- a/src/main/java/com/glxp/api/service/inout/IoOrderInvoiceService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.glxp.api.service.inout; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.glxp.api.entity.inout.IoOrderInvoiceEntity; -import com.glxp.api.req.inout.IoOrderInvoiceRequest; -import com.glxp.api.res.inout.IoOrderResponse; - -import java.util.List; - -public interface IoOrderInvoiceService extends IService { - - - List findByBillNo(String billNo); - - boolean deleteByInvId(String id); - - boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest); - - boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); - - List selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest); - - IoOrderResponse findRegStausByBillNo(IoOrderResponse orderResponse); - -} diff --git a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java similarity index 63% rename from src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java rename to src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java index a9b0e91c5..e0b28e805 100644 --- a/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceServiceImpl.java +++ b/src/main/java/com/glxp/api/service/inout/impl/IoOrderInvoiceService.java @@ -1,17 +1,17 @@ package com.glxp.api.service.inout.impl; import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.pagehelper.PageHelper; import com.glxp.api.dao.inout.IoOrderDetailCodeDao; import com.glxp.api.dao.inout.IoOrderInvoiceMapper; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.req.inout.IoOrderInvoiceRequest; +import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.res.inout.IoOrderResponse; -import com.glxp.api.service.inout.IoOrderInvoiceService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,24 +23,22 @@ import java.util.List; @Service @Transactional(rollbackFor = Exception.class) -public class IoOrderInvoiceServiceImpl extends ServiceImpl implements IoOrderInvoiceService { +public class IoOrderInvoiceService extends ServiceImpl { @Resource IoOrderInvoiceMapper ioOrderInvoiceMapper; @Resource IoOrderDetailCodeDao orderDetailCodeDao; - @Override + public List findByBillNo(String orderIdFk) { return ioOrderInvoiceMapper.selectList(new QueryWrapper().eq("orderIdFk", orderIdFk)); } - @Override public boolean deleteByInvId(String id) { return this.ioOrderInvoiceMapper.deleteById(id) > 0; } - @Override public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) { IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity); @@ -48,19 +46,28 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl 0; } - @Override public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) { - if (ioOrderInvoiceEntity.getId() == null) - ioOrderInvoiceEntity.setId(IdUtil.getSnowflakeNextId()); return ioOrderInvoiceMapper.insert(ioOrderInvoiceEntity) > 0; } - @Override public List selectOrderInvoice(IoOrderInvoiceRequest ioOrderInvoiceRequest) { return ioOrderInvoiceMapper.selectOrderInvoice(ioOrderInvoiceRequest); } - @Override + public boolean updateRegStatus(IoOrderDetailCodeEntity orderDetailCodeEntity) { + IoOrderInvoiceRequest orderInvoiceRequest = new IoOrderInvoiceRequest(); + orderInvoiceRequest.setBatchNo(orderDetailCodeEntity.getBatchNo()); + orderInvoiceRequest.setBindRlFk(orderDetailCodeEntity.getBindRlFk() + ""); + List orderInvoiceEntities = selectOrderInvoice(orderInvoiceRequest); + if (CollUtil.isNotEmpty(orderInvoiceEntities)) { + orderDetailCodeEntity.setRegStatus(true); + } else { + orderDetailCodeEntity.setRegStatus(false); + } + orderDetailCodeDao.updateById(orderDetailCodeEntity); + return true; + } + public IoOrderResponse findRegStausByBillNo(IoOrderResponse orderResponse) { List orderInvoiceEntities = ioOrderInvoiceMapper.selectList(new QueryWrapper().eq("orderIdFk", orderResponse.getBillNo())); List orderDetailCodeEntities = orderDetailCodeDao.selectList(new QueryWrapper().eq("orderIdFk", orderResponse.getBillNo())); @@ -78,6 +85,9 @@ public class IoOrderInvoiceServiceImpl extends ServiceImpl filterGroupBy(IoOrderInvoiceRequest orderInvoiceRequest) { + if (orderInvoiceRequest.getPage() != null) { + int offset = (orderInvoiceRequest.getPage() - 1) * orderInvoiceRequest.getLimit(); + PageHelper.offsetPage(offset, orderInvoiceRequest.getLimit()); + } + return ioOrderInvoiceMapper.filterGroupBy(orderInvoiceRequest); + } + + public List filterInvoice(IoOrderInvoiceRequest orderInvoiceRequest) { + if (orderInvoiceRequest.getPage() != null) { + int offset = (orderInvoiceRequest.getPage() - 1) * orderInvoiceRequest.getLimit(); + PageHelper.offsetPage(offset, orderInvoiceRequest.getLimit()); + } + return ioOrderInvoiceMapper.filterInvoice(orderInvoiceRequest); + } + + + public List filterByInvoiceCode(IoOrderInvoiceRequest orderInvoiceRequest) { + if (orderInvoiceRequest.getPage() != null) { + int offset = (orderInvoiceRequest.getPage() - 1) * orderInvoiceRequest.getLimit(); + PageHelper.offsetPage(offset, orderInvoiceRequest.getLimit()); + } + return ioOrderInvoiceMapper.filterByInvoiceCode(orderInvoiceRequest); + } + + } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index 6e495f75b..6fa58021b 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -36,6 +36,7 @@ import com.glxp.api.res.sync.*; import com.glxp.api.service.auth.*; import com.glxp.api.service.basic.*; import com.glxp.api.service.inout.*; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.system.*; import com.glxp.api.service.thrsys.*; import com.glxp.api.util.CustomUtil; diff --git a/src/main/java/com/glxp/api/service/sync/UpBasicService.java b/src/main/java/com/glxp/api/service/sync/UpBasicService.java index 67c5179ab..e453cda21 100644 --- a/src/main/java/com/glxp/api/service/sync/UpBasicService.java +++ b/src/main/java/com/glxp/api/service/sync/UpBasicService.java @@ -23,6 +23,7 @@ import com.glxp.api.service.basic.IBasicBusTypeChangeService; import com.glxp.api.service.basic.IBasicBusTypePreService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import com.glxp.api.service.inout.impl.IoOrderInvoiceService; import com.glxp.api.service.purchase.PurOrderDetailService; import com.glxp.api.service.purchase.PurOrderService; import com.glxp.api.service.system.*; diff --git a/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml b/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml deleted file mode 100644 index 45072669e..000000000 --- a/src/main/resources/mybatis/mapper/inout/InvUserProductDao.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - INSERT INTO io_order_invoice(orderIdFk, bindRlFk, batchNo, productDate, expireDate) - values (#{orderIdFk}, - #{bindRlFk}, - #{batchNo}, - #{productDate}, - #{expireDate}) - - - - diff --git a/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml b/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml new file mode 100644 index 000000000..0496015df --- /dev/null +++ b/src/main/resources/mybatis/mapper/inout/IoOrderInvoiceMapper.xml @@ -0,0 +1,168 @@ + + + + + INSERT INTO io_order_invoice(orderIdFk, bindRlFk, batchNo, productDate, expireDate) + values (#{orderIdFk}, + #{bindRlFk}, + #{batchNo}, + #{productDate}, + #{expireDate}) + + + + + + + + + + + + + + + +