package com.ydtech.modules.inv.service.impl; import com.github.pagehelper.PageHelper; import com.ydtech.core.page.HttpResult; import com.ydtech.core.page.PageResult; import com.ydtech.modules.admin.model.SysDept; import com.ydtech.modules.admin.service.SysDeptService; import com.ydtech.modules.ins.dao.InsSettleMapper; import com.ydtech.modules.ins.model.InsSettle; import com.ydtech.modules.inv.dao.InvoiceMapper; import com.ydtech.modules.inv.service.InvoiceService; import com.ydtech.modules.inv.vo.req.InvoiceReq; import com.ydtech.modules.inv.vo.res.InvoiceRes; import com.ydtech.security.utils.JwtTokenUtils; import com.ydtech.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletRequest; import java.util.Date; import java.util.List; @Service public class InvoiceServiceImpl implements InvoiceService { @Autowired private InvoiceMapper invoiceMapper; @Autowired private InsSettleMapper insSettleMapper; @Autowired private SysDeptService sysDeptService; @Override public HttpResult save(InvoiceReq req, HttpServletRequest request) { String msg = "保存成功"; if (StringUtils.isNullOrEmpty(req.getFphm())) { return HttpResult.error("发票号不可为空!"); } if (StringUtils.isNullOrEmpty(req.getSettleno())) { return HttpResult.error("结算单号不可为空!"); } if (StringUtils.isNullOrEmpty(req.getFileid())) { return HttpResult.error("文件id不可为空!"); } InsSettle insSettle = insSettleMapper.selectByPrimaryKey(req.getSettleno()); req.setComcode(insSettle.getComcode()); req.setCreatedate(new Date()); String usercode = JwtTokenUtils.getUsernameFromRequest(request); req.setCreatecode(usercode); req.setUpdatedate(new Date()); req.setUpdatecode(usercode); invoiceMapper.save(req); return HttpResult.ok(msg); } @Transactional @Override public HttpResult saveList(List reqList, HttpServletRequest request) { String msg = "保存成功"; if (CollectionUtils.isEmpty(reqList)) { return HttpResult.error("请求参数为空!"); } for (InvoiceReq req : reqList) { if (StringUtils.isNullOrEmpty(req.getFphm())) { return HttpResult.error("发票号码不可为空!"); } if (StringUtils.isNullOrEmpty(req.getSettleno())) { return HttpResult.error("结算单号不可为空!"); } if (StringUtils.isNullOrEmpty(req.getFileid())) { return HttpResult.error("文件id不可为空!"); } InsSettle insSettle = insSettleMapper.selectByPrimaryKey(req.getSettleno()); req.setComcode(insSettle.getComcode()); req.setCreatedate(new Date()); String usercode = JwtTokenUtils.getUsernameFromRequest(request); req.setCreatecode(usercode); req.setUpdatedate(new Date()); req.setUpdatecode(usercode); } int a = invoiceMapper.deleteBatch(reqList); int i = invoiceMapper.insertBatch(reqList); return HttpResult.ok(msg); } @Override public HttpResult select(InvoiceReq req) { String msg = "查询成功!"; PageHelper.startPage(req.getPageNum(), req.getPageSize()); List list = invoiceMapper.select(req); for (InvoiceRes invoiceVo : list) { SysDept sysDept = sysDeptService.getById(invoiceVo.getComcode()); invoiceVo.setComname(sysDept.getName()); } return HttpResult.ok(msg, new PageResult<>(list)); } }