From eea903adbd5ed66299c22ce77a2efc83d0ea01aa Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Thu, 20 Jun 2024 16:08:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=80=E5=94=AE=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sms/apiadmin/SmsSalesBillAitemRest.java | 45 ++++ .../sms/biz/smssalesbill/SalesGoodsVo.java | 3 +- .../sms/biz/smssalesbill/SmsSalesBill.java | 8 + .../smssalesbill/SmsSalesBillDetailsVo.java | 5 + .../sms/biz/smssalesbill/SmsSalesBillDto.java | 18 +- .../biz/smssalesbill/SmsSalesBillMapper.java | 10 +- .../biz/smssalesbill/SmsSalesBillMapper.xml | 93 ++++---- .../biz/smssalesbill/SmsSalesBillQuery.java | 37 ++-- .../biz/smssalesbill/SmsSalesBillService.java | 203 +++++++++++++++--- .../sms/biz/smssalesbill/SmsSalesBillVo.java | 31 +-- .../smssalesbillaitem/SmsSalesBillAitem.java | 29 +++ .../SmsSalesBillAitemMapper.java | 49 +++++ .../SmsSalesBillAitemMapper.xml | 6 + .../SmsSalesBillAitemService.java | 49 +++++ .../SmsSalesBillDetail.java | 10 - .../smssalesreturn/SmsSalesReturnService.java | 10 +- .../java/com/yxt/sms/utils/SmsBillNo.java | 21 ++ .../main/java/com/yxt/sms/utils/SmsRule.java | 44 ++++ 18 files changed, 548 insertions(+), 123 deletions(-) create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillAitemRest.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitem.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.xml create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemService.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsBillNo.java create mode 100644 yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsRule.java diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillAitemRest.java b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillAitemRest.java new file mode 100644 index 0000000000..8fda4a0e2c --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/apiadmin/SmsSalesBillAitemRest.java @@ -0,0 +1,45 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.apiadmin; + + +import io.swagger.annotations.Api; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Api(tags = "销售单-附加项目") +@RestController +@RequestMapping("v1/SmsSalesBillAitem") +public class SmsSalesBillAitemRest { + + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java index 4589c6e0e8..54c562ff7e 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SalesGoodsVo.java @@ -43,6 +43,7 @@ public class SalesGoodsVo { private String currentCount; @ApiModelProperty("厂家") private String supplierName; - + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBill.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBill.java index eaca4e2e03..4de5edaf17 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBill.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBill.java @@ -94,4 +94,12 @@ public class SmsSalesBill extends BaseEntity { private String createOrgSid; // 创建组织sid @ApiModelProperty("应收金额") private BigDecimal receivableAmount; + @ApiModelProperty("制单部门sid") + private String deptSid; // 制单部门sid + @ApiModelProperty("制单部门") + private String deptName; // 制单部门 + @ApiModelProperty("车牌号") + private String vehMark; // 车牌号 + @ApiModelProperty("车架号") + private String vinNo; // 车架号 } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDetailsVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDetailsVo.java index 45dd1bfb7d..98fb13080d 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDetailsVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDetailsVo.java @@ -54,8 +54,13 @@ import java.util.List; public class SmsSalesBillDetailsVo implements Vo { private String sid; // sid + private String createTime; @ApiModelProperty("制单人姓名") private String createByName; // 制单人姓名 + @ApiModelProperty("制单部门sid") + private String deptSid; // 制单部门sid + @ApiModelProperty("制单部门") + private String deptName; // 制单部门 @ApiModelProperty("创建者") private String createBySid; @ApiModelProperty("客户sid") diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDto.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDto.java index 22042e180e..ded5cebef6 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDto.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillDto.java @@ -54,6 +54,10 @@ import java.util.List; public class SmsSalesBillDto implements Dto { private String sid; // sid + @ApiModelProperty("制单部门sid") + private String deptSid; // 制单部门sid + @ApiModelProperty("制单部门") + private String deptName; // 制单部门 @ApiModelProperty("制单人姓名") private String createByName; // 制单人姓名 @ApiModelProperty("创建者") @@ -96,4 +100,16 @@ public class SmsSalesBillDto implements Dto { @ApiModelProperty("创建组织sid") private String createOrgSid; // 创建组织sid -} \ No newline at end of file + + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + @ApiModelProperty("备注") + private String remarks; // 车架号 + @ApiModelProperty("客户单位") + private String customerOrg; // 客户单位 + @ApiModelProperty("应收金额") + private String receivableAmount; + private List aitemVos = new ArrayList<>();// 附加项目 + + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java index 5e17ad6bca..aa5acc4ff3 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.java @@ -58,11 +58,11 @@ public interface SmsSalesBillMapper extends BaseMapper { //@Update("update sms_sales_bill set name=#{msg} where id=#{id}") //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - + IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw); - + List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - + @Select("select * from sms_sales_bill") List selectListVo(); @@ -73,4 +73,6 @@ public interface SmsSalesBillMapper extends BaseMapper { IPage goodsTotalsReport(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); IPage goodsTrendReport(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); -} \ No newline at end of file + + int selectNum(String bill); +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml index 235a5ff027..7f2f9c7ad7 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillMapper.xml @@ -5,19 +5,19 @@ @@ -53,45 +53,48 @@ + - \ No newline at end of file + diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillQuery.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillQuery.java index 0a59bd5386..54821c15e7 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillQuery.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillQuery.java @@ -51,20 +51,29 @@ import java.math.BigDecimal; @ApiModel(value = "销售单 查询条件", description = "销售单 查询条件") public class SmsSalesBillQuery implements Query { -// @ApiModelProperty("制单人姓名") -// private String createByName; // 制单人姓名 -// @ApiModelProperty("单据编号") -// private String billNo; // 单据编号 -// @ApiModelProperty("销售姓名") -// private String salesName; // 销售姓名 -// @ApiModelProperty("客户名称") -// private String customerName; // 客户名称 -// @ApiModelProperty("联系电话") -// private String mobile; // 联系电话 - - private String queryName; - private String startDate; - private String endDate; + @ApiModelProperty("分公司") + private String useOrgName;//分公司 + @ApiModelProperty("制单部门") + private String deptName;//制单部门 + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + @ApiModelProperty("单据编号") + private String billNo; // 单据编号 + private String startDate; //开始日期 + private String endDate; //结束日期 + @ApiModelProperty("客户名称") + private String customerName; // 客户名称 + @ApiModelProperty("车牌号") + private String vehMark; // 车牌号 + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + @ApiModelProperty("服务顾问") + private String salesName; // 服务顾问 + @ApiModelProperty("使用组织sid") + private String orgPath; + private String userSid; + @ApiModelProperty("菜单url") + private String menuUrl; } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java index d5e3bf85af..63b508e6b0 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillService.java @@ -26,19 +26,29 @@ package com.yxt.sms.biz.smssalesbill; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.sms.biz.smsgoods.SmsGoods; +import com.yxt.sms.biz.smsgoods.SmsGoodsService; import com.yxt.sms.biz.smssalesbill.report.*; +import com.yxt.sms.biz.smssalesbillaitem.SmsSalesBillAitem; +import com.yxt.sms.biz.smssalesbillaitem.SmsSalesBillAitemService; import com.yxt.sms.biz.smssalesbilldetail.SmsSalesBillDetail; import com.yxt.sms.biz.smssalesbilldetail.SmsSalesBillDetailService; import com.yxt.sms.biz.smssalesbillinvoice.SmsSalesBillInvoice; import com.yxt.sms.biz.smssalesbillinvoice.SmsSalesBillInvoiceService; -import com.yxt.sms.biz.smssalesbillsettle.SmsSalesBillSettle; import com.yxt.sms.biz.smssalesbillsettle.SmsSalesBillSettleService; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettle; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettleDto; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettleFeign; +import com.yxt.sms.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.sms.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.sms.feign.privilege.PrivilegeQuery; +import com.yxt.sms.feign.sysuser.SysUserFeign; import com.yxt.sms.feign.wms.wmsinventory.*; +import com.yxt.sms.utils.SmsBillNo; +import com.yxt.sms.utils.SmsRule; import org.apache.commons.lang3.StringUtils; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.utils.PagerUtil; @@ -82,45 +92,132 @@ public class SmsSalesBillService extends MybatisBaseService createQueryWrapper(SmsSalesBillQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); QueryWrapper qw = new QueryWrapper<>(); - if (StringUtils.isNotBlank(query.getQueryName())) { - qw.and(wrapper -> wrapper.like("createByName", query.getQueryName()) - .or().like("billNo", query.getQueryName()) - .or().like("salesName", query.getQueryName()) - .or().like("customerName", query.getQueryName()) - .or().like("mobile", query.getQueryName()) - .or().like("vehMark", query.getQueryName()) - ); - } String startDate = query.getStartDate(); String endDate = query.getEndDate(); qw.apply(StringUtils.isNotEmpty(startDate), "date_format (createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(endDate), "date_format (createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" ); - qw.eq("1", "1"); qw.orderByDesc("createTime"); return qw; } public PagerVo listPageVo(PagerQuery pq) { SmsSalesBillQuery query = pq.getParams(); - QueryWrapper qw = createQueryWrapper(query); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("a.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("b.`name`", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("a.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("a.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("a.billNo", query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getCustomerName())) { + qw.like("a.customerName", query.getCustomerName()); + } + if (StringUtils.isNotBlank(query.getVehMark())) { + qw.like("a.vehMark", query.getVehMark()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("a.vinNo", query.getVinNo()); + } + String createStartTime = query.getStartDate(); + String createEndTime = query.getEndDate(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (a.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (a.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + if (StringUtils.isNotBlank(query.getSalesName())) { + qw.like("a.salesName", query.getSalesName()); + } IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.selectPageVo(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } + /** + * 生成单据编号 + * + * @param orgSid + * @return + */ + public String getApplyCode(String orgSid) { + //获取分公司sid + ResultBean resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); + String orgCode = resultBean1.getData().getOrgCode(); + SmsBillNo b = new SmsBillNo(); + b.setOrgCode(orgCode); + b.setBillType("XSD"); + String bill = SmsRule.getBill(b); + int i = baseMapper.selectNum(bill); + String billNo = SmsRule.getBillNo(bill, i); + return billNo; + } + @Transactional(rollbackFor = Exception.class) public String saveOrUpdateDto(SmsSalesBillDto dto) { String dtoSid = dto.getSid(); if (StringUtils.isBlank(dtoSid)) { SmsSalesBill entity = new SmsSalesBill(); BeanUtil.copyProperties(dto, entity, "id", "sid"); + String applyCode = getApplyCode(dto.getCreateOrgSid()); + entity.setBillNo(applyCode); baseMapper.insert(entity); SalesInvoiceVo invoiceVo = dto.getInvoiceVo(); if (null != invoiceVo) { @@ -138,6 +235,15 @@ public class SmsSalesBillService extends MybatisBaseService smsAttachitemVos = dto.getAitemVos(); + if (!smsAttachitemVos.isEmpty()) { + for (SmsAttachitemVo smsAttachitemVo : smsAttachitemVos) { + SmsSalesBillAitem aitem = new SmsSalesBillAitem(); + BeanUtil.copyProperties(smsAttachitemVo, aitem, "id", "sid"); + aitem.setBillSid(entity.getSid()); + smsSalesBillAitemService.insert(aitem); + } + } return entity.getSid(); } SmsSalesBill smsSalesBill = fetchBySid(dtoSid); @@ -146,6 +252,7 @@ public class SmsSalesBillService extends MybatisBaseService smsAttachitemVos = dto.getAitemVos(); + if (!smsAttachitemVos.isEmpty()) { + for (SmsAttachitemVo smsAttachitemVo : smsAttachitemVos) { + SmsSalesBillAitem aitem = new SmsSalesBillAitem(); + BeanUtil.copyProperties(smsAttachitemVo, aitem, "id", "sid"); + aitem.setBillSid(dtoSid); + smsSalesBillAitemService.insert(aitem); + } + } } return dtoSid; } @@ -188,11 +304,18 @@ public class SmsSalesBillService extends MybatisBaseService goodsVos = new ArrayList<>(); //商品信息 if (null != entity) { BeanUtil.copyProperties(entity, vo); + vo.setCreateTime(DateUtil.formatDate(entity.getCreateTime())); List billDetailList = smsSalesBillDetailService.fetchByMainSid(sid); if (!billDetailList.isEmpty()) { for (SmsSalesBillDetail smsSalesBillDetail : billDetailList) { SalesGoodsVo salesGoodsVo = new SalesGoodsVo(); BeanUtil.copyProperties(smsSalesBillDetail, salesGoodsVo); + SmsGoods goods = smsGoodsService.fetchEntityByGoodsID(smsSalesBillDetail.getGoodsID()); + if (null != goods) { + if (StringUtils.isNotBlank(goods.getSupplierName())) { + salesGoodsVo.setSupplierName(goods.getSupplierName()); + } + } goodsVos.add(salesGoodsVo); } vo.setGoodsVos(goodsVos); @@ -203,6 +326,28 @@ public class SmsSalesBillService extends MybatisBaseService aitems = smsSalesBillAitemService.fetchByBillSid(sid); + if (!aitems.isEmpty()) { + List aitemVos = new ArrayList<>();// 附加项目 + for (SmsSalesBillAitem aitem : aitems) { + SmsAttachitemVo aitemVo = new SmsAttachitemVo(); + if (StringUtils.isNotBlank(aitem.getAttachItemSid())) { + aitemVo.setAitemsid(aitem.getAttachItemSid()); + } + if (StringUtils.isNotBlank(aitem.getAttachItem())) { + aitemVo.setAitemName(aitem.getAttachItem()); + } + if (StringUtils.isNotBlank(aitem.getRemarks())) { + aitemVo.setRemarks(aitem.getRemarks()); + } + if (null != aitem.getPrice()) { + aitemVo.setPrice(aitem.getPrice().toString()); + } + aitemVos.add(aitemVo); + } + vo.setAitemVos(aitemVos); + } + SettlementVo settlementVo = new SettlementVo(); FmsReceivesettle receivesettle = fmsReceivesettleFeign.fetchBySourceSid(sid).getData(); if (null != receivesettle) { @@ -253,7 +398,7 @@ public class SmsSalesBillService extends MybatisBaseService qw = new QueryWrapper<>(); if (StringUtils.isNotBlank(query.getUseOrgSid())) { - qw.eq("s.useOrgSid",query.getUseOrgSid()); + qw.eq("s.useOrgSid", query.getUseOrgSid()); } if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { - qw.like("d.goodsSkuCode",query.getGoodsSkuCode()); + qw.like("d.goodsSkuCode", query.getGoodsSkuCode()); } if (StringUtils.isNotBlank(query.getGoodsSkuTitle())) { - qw.like("d.goodsSkuTitle",query.getGoodsSkuTitle()); + qw.like("d.goodsSkuTitle", query.getGoodsSkuTitle()); } if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("d.goodsSpuName",query.getGoodsSpuName()); + qw.like("d.goodsSpuName", query.getGoodsSpuName()); } if (StringUtils.isNotBlank(query.getWarehouse())) { - qw.like("d.warehouse",query.getWarehouse()); + qw.like("d.warehouse", query.getWarehouse()); } String startDate = query.getStartDate(); String endDate = query.getEndDate(); qw.apply(StringUtils.isNotEmpty(startDate), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" ); - qw.eq("s.state","0"); + qw.eq("s.state", "0"); qw.orderByDesc("s.createTime"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.goodsDetailsReport(page, qw); @@ -298,26 +443,26 @@ public class SmsSalesBillService extends MybatisBaseService qw = new QueryWrapper<>(); if (StringUtils.isNotBlank(query.getUseOrgSid())) { - qw.eq("s.useOrgSid",query.getUseOrgSid()); + qw.eq("s.useOrgSid", query.getUseOrgSid()); } if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { - qw.like("d.goodsSkuCode",query.getGoodsSkuCode()); + qw.like("d.goodsSkuCode", query.getGoodsSkuCode()); } if (StringUtils.isNotBlank(query.getGoodsSkuTitle())) { - qw.like("d.goodsSkuTitle",query.getGoodsSkuTitle()); + qw.like("d.goodsSkuTitle", query.getGoodsSkuTitle()); } if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("d.goodsSpuName",query.getGoodsSpuName()); + qw.like("d.goodsSpuName", query.getGoodsSpuName()); } if (StringUtils.isNotBlank(query.getWarehouse())) { - qw.like("d.warehouse",query.getWarehouse()); + qw.like("d.warehouse", query.getWarehouse()); } String startDate = query.getStartDate(); String endDate = query.getEndDate(); qw.apply(StringUtils.isNotEmpty(startDate), "date_format (s.createTime,'%Y-%m-%d') >= date_format('" + startDate + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" ); - qw.eq("s.state","0"); + qw.eq("s.state", "0"); qw.orderByDesc("s.createTime"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.goodsTotalsReport(page, qw); @@ -344,10 +489,10 @@ public class SmsSalesBillService extends MybatisBaseService qw = new QueryWrapper<>(); if (StringUtils.isNotBlank(query.getUseOrgSid())) { - qw.eq("s.useOrgSid",query.getUseOrgSid()); + qw.eq("s.useOrgSid", query.getUseOrgSid()); } if (StringUtils.isNotBlank(query.getGoodsSpuName())) { - qw.like("d.goodsSpuName",query.getGoodsSpuName()); + qw.like("d.goodsSpuName", query.getGoodsSpuName()); } else { PagerVo pagerVo = new PagerVo<>(); return pagerVo; @@ -357,11 +502,11 @@ public class SmsSalesBillService extends MybatisBaseService= date_format('" + startDate + "','%Y-%m-%d')"). apply(StringUtils.isNotEmpty(endDate), "date_format (s.createTime,'%Y-%m-%d') <= date_format('" + endDate + "','%Y-%m-%d')" ); - qw.eq("s.state","0"); + qw.eq("s.state", "0"); qw.orderByDesc("s.createTime"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.goodsTrendReport(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } -} \ No newline at end of file +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillVo.java index 2abfb0340c..e83c5310f9 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsSalesBillVo.java @@ -53,22 +53,25 @@ public class SmsSalesBillVo implements Vo { private String sid; // sid - private String createTime; - @ApiModelProperty("制单人姓名") - private String createByName; // 制单人姓名 - @ApiModelProperty("单据编号") + + @ApiModelProperty("单据编号") private String billNo; // 单据编号 - @ApiModelProperty("销售姓名") - private String salesName; // 销售姓名 - @ApiModelProperty("快捷备注(选择)") - private String shotRemarks; // 快捷备注(选择) - @ApiModelProperty("备注(打印)") - private String printRemarks; // 备注(打印) - @ApiModelProperty("客户名称") + @ApiModelProperty("分公司") + private String useOrgName; //分公司 + @ApiModelProperty("制单部门") + private String deptName; //制单部门 + @ApiModelProperty("制单人姓名") + private String createByName; // 制单人姓名 + @ApiModelProperty("制单日期") + private String createTime; + @ApiModelProperty("服务顾问") + private String salesName; // 服务顾问 + @ApiModelProperty("客户名称") private String customerName; // 客户名称 - @ApiModelProperty("联系电话") - private String mobile; // 联系电话 @ApiModelProperty("车辆牌照") private String vehMark; // 车辆牌照 - private String state; + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + + } diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitem.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitem.java new file mode 100644 index 0000000000..fe6d629b5a --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitem.java @@ -0,0 +1,29 @@ +package com.yxt.sms.biz.smssalesbillaitem; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Fan + * @description + * @date 2024/4/17 14:56 + */ +@Data +@ApiModel(value = "销售单-附加项目", description = "销售单-附加项目") +@TableName("sms_sales_bill_aitem") +public class SmsSalesBillAitem extends BaseEntity { + @ApiModelProperty("工单sid") + private String billSid; + @ApiModelProperty("附加项目sid") + private String attachItemSid; + @ApiModelProperty("附加项目名称") + private String attachItem; + @ApiModelProperty("销售价") + private BigDecimal price; + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.java new file mode 100644 index 0000000000..f6e15485ae --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.java @@ -0,0 +1,49 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.biz.smssalesbillaitem; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Mapper +public interface SmsSalesBillAitemMapper extends BaseMapper { + + @Select("select * from sms_sales_bill_aitem where billSid = #{billSid}") + List fetchByBillSid(@Param("billSid") String billSid); + + @Delete("delete from sms_sales_bill_aitem where billSid = #{sid}") + void delByBillSid(String billSid); +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.xml b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.xml new file mode 100644 index 0000000000..51d8fb1247 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemMapper.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemService.java new file mode 100644 index 0000000000..8b4297ed03 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbillaitem/SmsSalesBillAitemService.java @@ -0,0 +1,49 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.sms.biz.smssalesbillaitem; + +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class SmsSalesBillAitemService extends MybatisBaseService { + + public List fetchByBillSid(String billSid) { + return baseMapper.fetchByBillSid(billSid); + } + + public void delByBillSid(String billSid) { + baseMapper.delByBillSid(billSid); + } + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java index b10a5f620b..58b813cc99 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbilldetail/SmsSalesBillDetail.java @@ -54,8 +54,6 @@ public class SmsSalesBillDetail extends BaseEntity { @ApiModelProperty("工单sid") private String billSid; // 工单sid - @ApiModelProperty("商品库存sid") - private String inventorySid; // 商品库存sid @ApiModelProperty("商品ID") private String goodsID; // 商品ID @ApiModelProperty("商品基础信息Sid") @@ -70,14 +68,6 @@ public class SmsSalesBillDetail extends BaseEntity { private String goodsSkuCode; // 商品编码(图号) @ApiModelProperty("计量单位") private String unit; // 计量单位 - @ApiModelProperty("仓库sid") - private String warehouseSid; // 仓库sid - @ApiModelProperty("仓库名称") - private String warehouse; // 仓库名称 - @ApiModelProperty("科目sid") - private String subjectSid; // 科目sid - @ApiModelProperty("科目(自费、保内等)") - private String subject; // 科目(自费、保内等) @ApiModelProperty("销售前库存数量") private BigDecimal currentCount; // 销售前库存数量 @ApiModelProperty("销售价") diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java index 0de0501ca1..36a21da599 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesreturn/SmsSalesReturnService.java @@ -264,10 +264,10 @@ public class SmsSalesReturnService extends MybatisBaseService list = baseMapper.listExcel(qw); return list; } -} \ No newline at end of file +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsBillNo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsBillNo.java new file mode 100644 index 0000000000..5240d3da96 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsBillNo.java @@ -0,0 +1,21 @@ +package com.yxt.sms.utils; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author Fan + * @description + * @date 2024/6/20 15:39 + */ +@Data +public class SmsBillNo implements Serializable { + private static final long serialVersionUID = 1598887042562656350L; + @ApiModelProperty(value = "单据名称首字母") + private String billType; + @ApiModelProperty(value = "分公司编码") + private String orgCode; + +} diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsRule.java b/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsRule.java new file mode 100644 index 0000000000..7110c66931 --- /dev/null +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/utils/SmsRule.java @@ -0,0 +1,44 @@ +package com.yxt.sms.utils; + +import cn.hutool.core.date.DateUtil; +import org.springframework.util.StringUtils; + +/** + * @Author dimengzhe + * @Date 2022/7/1 9:44 + * @Description 规则 + */ +public class SmsRule { + + /** + * 单据编号规则:单据名称大写首字母+分公司编码+年份+月份+4位顺序号 + * 单据名称大写首字母+分公司编码+年份+月份 + * 注意:品牌编码暂不用 + * + * @return + */ + public static String getBill(SmsBillNo b) { + String billType = b.getBillType(); + String orgCode = b.getOrgCode(); + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + String bill = billType; + if (!StringUtils.isEmpty(orgCode)) { + bill = bill + orgCode; + } + bill = bill + date; + return bill; + } + + /** + * 生成单据编号规则 + * + * @param bill 单据名称大写首字母+分公司编码+年份+月份 + * @param i 根据单据编号包含单据名称大写首字母+分公司编码+年份+月份查询出来的单据的个数 + * @return + */ + public static String getBillNo(String bill, int i) { + String num = String.format("%04d", i + 1); // 不足4位补0 + String billNo = bill + num; + return billNo; + } +}