diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java index 9a4164b00d..5659ee34a5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbillsettelapply/AsBillSettelApplyService.java @@ -2590,6 +2590,175 @@ public class AsBillSettelApplyService extends MybatisBaseService goodsDetailsVos = data.getGoodsVos(); + if (!goodsDetailsVos.isEmpty()) { + List goodsList = new ArrayList<>(); + for (SalesGoodsVo g : goodsDetailsVos) { + SettleGoodsDetailsVo v = new SettleGoodsDetailsVo(); + BeanUtil.copyProperties(g, v); + BigDecimal yingshou = BigDecimal.ZERO; //应收 + BigDecimal youhui = BigDecimal.ZERO; //优惠 + BigDecimal jiesuan = BigDecimal.ZERO; //结算 + BigDecimal chengben = BigDecimal.ZERO; //成本 + BigDecimal chengbenPrice = BigDecimal.ZERO; //成本单价 + BigDecimal lirun = BigDecimal.ZERO; //利润 + BigDecimal count = BigDecimal.ZERO; //数量 + if (StringUtils.isNotBlank(g.getCount())) { + count = new BigDecimal(g.getCount()); + } + if (StringUtils.isNotBlank(g.getPrice())) { + BigDecimal price = new BigDecimal(g.getPrice()); + yingshou = price.multiply(count); + v.setGoodsReceivableAmount(yingshou.toString()); + } + if (StringUtils.isNotBlank(g.getDiscountAmount())) { + youhui = new BigDecimal(g.getDiscountAmount()); + } + jiesuan = yingshou.subtract(youhui); + v.setGoodsSettleAmount(jiesuan.toString()); + //求成本 + if (StringUtils.isNotBlank(g.getInventorySid())) { + String inventorySid = g.getInventorySid(); + WmsInventory inventory = wmsInventoryFeign.fetchEntityBySid(inventorySid).getData(); + if (null != inventory) { + if (null != inventory.getCost()) { + chengbenPrice = inventory.getCost(); + chengben = chengbenPrice.multiply(count); + } + } + } + v.setGoodsCost(chengben.toString()); + lirun = jiesuan.subtract(chengben); + v.setGoodsPrint(lirun.toString()); + costAmount = costAmount.add(chengben); + profit = profit.add(lirun); + goodsList.add(v); + } + vo.setGoodsDetailsVos(goodsList); + } + List aitemVos = data.getAitemVos(); + if (!aitemVos.isEmpty()) { + List aitemVoList = new ArrayList<>(); + for (SmsAttachitemVo a : aitemVos) { + SettleAitemVo v = new SettleAitemVo(); + BeanUtil.copyProperties(a, v); + BigDecimal yingshou = BigDecimal.ZERO; //应收 + BigDecimal chengben = BigDecimal.ZERO; //成本 + BigDecimal lirun = BigDecimal.ZERO; //利润 + if (StringUtils.isNotBlank(a.getPrice())) { + yingshou = new BigDecimal(a.getPrice()); + v.setAitemReceivableAmount(yingshou.toString()); + } + //求成本 + if (StringUtils.isNotBlank(a.getAitemsid())) { + String aitemsid = a.getAitemsid(); + AsServiceAttachItem attachItem = asServiceAttachItemService.fetchBySid(aitemsid); + if (null != attachItem) { + if (null != attachItem.getCost()) { + chengben = attachItem.getCost(); + } + } + } + v.setAitemCost(chengben.toString()); + lirun = yingshou.subtract(chengben); + v.setAitemPrint(lirun.toString()); + costAmount = costAmount.add(chengben); + profit = profit.add(lirun); + aitemVoList.add(v); + } + vo.setAitemVos(aitemVoList); + } + vo.setProfit(profit.toString()); + vo.setCostAmount(costAmount.toString()); + } + //根据用户查询发起人、发起部门、发起日期为当前日期 + String deptName = ""; + String deptSid = ""; + String useOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData(); + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptName = sysOrganization.getName() + "/" + sysOrganization1.getName(); + deptName = sysOrganization1.getName(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptName = sysOrganization.getName(); + deptName = sysOrganization.getName(); + deptSid = sysOrganization.getSid(); + } + useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); + } + //创建组织使用组织 + ResultBean organizationResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); + if (organizationResultBean.getData() != null) { + vo.setUseOrgName(organizationResultBean.getData().getName()); + } + //根据用户sid查询人员姓名 + ResultBean userVoResultBean = sysUserFeign.fetchBySid(userSid); + vo.setDept(deptName); + vo.setDeptSid(deptSid); + vo.setCreateByName(userVoResultBean.getData().getName()); + vo.setApplyDate(DateUtil.today()); + vo.setOrgPath(orgPath); + vo.setCreateBySid(userSid); + vo.setUseOrgSid(useOrgSid); + vo.setSourceBillType("0"); + return vo; } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index 89361c1642..92ff7c5e87 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -23,6 +23,7 @@ import com.yxt.anrui.as.api.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRep import com.yxt.anrui.as.api.asbusrepairbillvech.AsBusrepairBillVech; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; +import com.yxt.anrui.as.api.asserviceattachitem.AsServiceAttachItem; import com.yxt.anrui.as.api.asserviceitem.AsServiceItem; import com.yxt.anrui.as.api.astrackbill.AsTrackBillDto; import com.yxt.anrui.as.api.enums.AsBillTypeEnum; @@ -44,6 +45,7 @@ import com.yxt.anrui.as.biz.asbusrepairbillsitem.AsBusrepairBillSitemService; import com.yxt.anrui.as.biz.asbusrepairbillsitemrepairer.AsBusrepairBillSitemRepairerService; import com.yxt.anrui.as.biz.asbusrepairbillvech.AsBusrepairBillVechService; import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; +import com.yxt.anrui.as.biz.asserviceattachitem.AsServiceAttachItemService; import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService; import com.yxt.anrui.as.biz.astechtitledetail.AsTechTitleDetailService; import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService; @@ -117,6 +119,8 @@ public class AsBusrepairBillService extends MybatisBaseService> listPage(@RequestBody PagerQuery pq){ @@ -44,6 +42,14 @@ public class AsServiceAttachItemRest { return rb.success().setData(vo); } + @ApiOperation("详情查看") + @GetMapping("/fetchBySid/{sid}") + public ResultBean fetchBySid(@PathVariable("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + AsServiceAttachItem entity = asServiceAttachItemService.fetchBySid(sid); + return rb.success().setData(entity); + } + @ApiOperation("修改保存") @PostMapping("/saveAttachItem") public ResultBean saveAttachItem(@RequestBody AsServiceAttachItemDto dto) { diff --git a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsAttachitemVo.java b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsAttachitemVo.java index 6e1eeac88b..98a8641471 100644 --- a/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsAttachitemVo.java +++ b/yxt-sms-biz/src/main/java/com/yxt/sms/biz/smssalesbill/SmsAttachitemVo.java @@ -11,7 +11,8 @@ import lombok.Data; @Data public class SmsAttachitemVo { @ApiModelProperty("附加项目sid") - private String aitemsid; +// private String aitemsid; + private String aitemSid; @ApiModelProperty("附加项目名称") private String aitemName; @ApiModelProperty("销售价") 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 0203eb4838..8c74101e18 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 @@ -41,6 +41,8 @@ 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.SmsSalesBillSettleService; +import com.yxt.sms.feign.as.asaitem.AsServiceAttachItem; +import com.yxt.sms.feign.as.asaitem.AsServiceAttachItemFeign; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettle; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettleDto; import com.yxt.sms.feign.fms.fmsreceivesettle.FmsReceivesettleFeign; @@ -110,7 +112,8 @@ public class SmsSalesBillService extends MybatisBaseService createQueryWrapper(SmsSalesBillQuery query) { // todo: 这里根据具体业务调整查询条件 // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName())); @@ -248,6 +251,12 @@ public class SmsSalesBillService extends MybatisBaseService fetchBySid(@PathVariable("sid") String sid); +}