| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- package com.dk.mdm.service.mst;
- import com.dk.common.infrastructure.annotaiton.Pagination;
- import com.dk.common.model.pojo.PageList;
- import com.dk.common.response.ResponseResultUtil;
- import com.dk.common.response.ResponseResultVO;
- import com.dk.common.util.DateUtils;
- import com.dk.common.util.ExcelUtils;
- import com.dk.mdm.mapper.mst.ReceiptItemMapper;
- import com.dk.mdm.mapper.mst.ReceiptMapper;
- import com.dk.mdm.model.pojo.mst.CpTrade;
- import com.dk.mdm.mapper.mst.CpTradeMapper;
- import com.dk.common.service.BaseService;
- import com.dk.common.mapper.BaseMapper;
- import com.dk.mdm.model.pojo.mst.Receipt;
- import com.dk.mdm.model.query.mst.CpTradeQuery;
- import com.dk.mdm.model.query.mst.ReceiptItemQuery;
- import com.dk.mdm.model.query.mst.ReceiptQuery;
- import com.dk.mdm.model.response.mst.CpTradeResponse;
- import com.dk.mdm.model.response.mst.ReceiptItemResponse;
- import com.dk.mdm.model.vo.mst.ReceiptVO;
- import org.springframework.stereotype.Service;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.transaction.annotation.Transactional;
- import javax.servlet.http.HttpServletResponse;
- import java.time.LocalDate;
- import java.util.Date;
- import java.util.List;
- @Service
- @Transactional
- public class CpTradeService extends BaseService<CpTrade> {
- @Override
- public BaseMapper<CpTrade> getRepository() {
- return cpTradeMapper;
- }
- @Autowired
- private CpTradeMapper cpTradeMapper;
- @Autowired
- private ReceiptItemMapper receiptItemMapper;
- @Autowired
- private ReceiptMapper receiptMapper;
- /**
- * @desc : 查询
- * @author : 常皓宁
- * @date : 2023/1/5 9:39
- */
- @Pagination
- public ResponseResultVO<PageList<CpTradeResponse>> selectByCond(CpTradeQuery cpTradeQuery) {
- return super.mergeListWithCount(cpTradeQuery, cpTradeMapper.selectByCond(cpTradeQuery),
- cpTradeMapper.countByCond(cpTradeQuery));
- }
- /**
- * @desc : 发票管理查询
- * @author : 常皓宁
- * @date : 2023/1/5 9:39
- */
- @Pagination
- public ResponseResultVO<PageList<CpTradeResponse>> selectReceipt(CpTradeQuery cpTradeQuery) {
- return super.mergeListWithCount(cpTradeQuery, cpTradeMapper.selectReceipt(cpTradeQuery),
- cpTradeMapper.countByReceipt(cpTradeQuery));
- }
- /**
- * @desc : 开发票
- * @author : 常皓宁
- * @date : 2024/8/2 8:44
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> invoicing(List<CpTradeQuery> cpTradeQuery) {
- //交易记录list
- for (CpTradeQuery cpTradeQuery1 : cpTradeQuery) {
- //修改交易记录的状态和时间
- cpTradeMapper.updateCpReciptStatus(new CpTradeQuery()
- .setTradeId(cpTradeQuery1.getTradeId())
- .setReceiptStatus("开票状态-已开票")
- .setReceiptDate(LocalDate.now()));
- //查询发票明细
- List<ReceiptItemResponse> receiptItemResponse =
- receiptItemMapper.selectByCond(new ReceiptItemQuery().setTradeId(Math.toIntExact(cpTradeQuery1.getTradeId())));
- //根据发票明细查询发票总单
- if (receiptItemResponse != null && receiptItemResponse.size() > 0) {
- receiptMapper.updateReciptStatus(new ReceiptQuery()
- .setReceiptId(receiptItemResponse.get(0).getReceiptId())
- .setReceiptStatus("发票状态-开具")
- .setReceiptDate(LocalDate.now()));
- }
- }
- return ResponseResultUtil.success(cpTradeQuery);
- }
- /**
- * @desc : 取消开发票
- * @author : 常皓宁
- * @date : 2024/8/2 8:44
- */
- @Transactional(
- rollbackFor = {Exception.class}
- )
- public ResponseResultVO<?> unInvoicing(List<CpTradeQuery> cpTradeQuery) {
- //交易记录list
- for (CpTradeQuery cpTradeQuery1 : cpTradeQuery) {
- //修改交易记录的状态和时间
- cpTradeMapper.updateCpReciptStatus(new CpTradeQuery()
- .setTradeId(cpTradeQuery1.getTradeId())
- .setReceiptStatus("开票状态-开票中")
- .setReceiptDate(null));
- //查询发票明细
- List<ReceiptItemResponse> receiptItemResponse =
- receiptItemMapper.selectByCond(new ReceiptItemQuery().setTradeId(Math.toIntExact(cpTradeQuery1.getTradeId())));
- //根据发票明细查询发票总单
- if (receiptItemResponse != null && receiptItemResponse.size() > 0) {
- receiptMapper.updateReciptStatus(new ReceiptQuery()
- .setReceiptId(receiptItemResponse.get(0).getReceiptId())
- .setReceiptStatus("发票状态-申请")
- .setReceiptDate(null));
- }
- }
- return ResponseResultUtil.success(cpTradeQuery);
- }
- /**
- * @desc : 导出数据
- * @author : 常皓宁
- * @date : 2024/6/5 9:48
- */
- public void exportList(HttpServletResponse response,CpTradeQuery cpTradeQuery) {
- String title = "发票管理";
- ExcelUtils.exportExcel(cpTradeMapper.selectReceipt(cpTradeQuery),
- title, title, CpTradeResponse.class, title + "_" + DateUtils.formatDate(new Date(), "yyyy-MM-dd-HH-mm-ss") + ".xls", response);
- }
- }
|