diff --git a/jnpf-app/pages/scm/form/purchaseReceiptVoucher/index.vue b/jnpf-app/pages/scm/form/purchaseReceiptVoucher/index.vue new file mode 100644 index 00000000..855345a7 --- /dev/null +++ b/jnpf-app/pages/scm/form/purchaseReceiptVoucher/index.vue @@ -0,0 +1,1236 @@ + + + + diff --git a/jnpf-app/pages/scm/index/purchaseReceiptVoucher/index.vue b/jnpf-app/pages/scm/index/purchaseReceiptVoucher/index.vue new file mode 100644 index 00000000..c75a0a65 --- /dev/null +++ b/jnpf-app/pages/scm/index/purchaseReceiptVoucher/index.vue @@ -0,0 +1,446 @@ + + + + diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/BusinessOrderServiceImpl.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/BusinessOrderServiceImpl.java index 48e009e0..5fd7ee12 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/BusinessOrderServiceImpl.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-biz/src/main/java/jnpf/service/impl/BusinessOrderServiceImpl.java @@ -1109,9 +1109,9 @@ public class BusinessOrderServiceImpl extends ServiceImpl tableField140 = JsonUtil.getJsonToList(voucherForm.getVoucherVehicleList(),VoucherVehicleEntity.class); for(VoucherVehicleEntity entitys : tableField140){ + if (StringUtils.isNotEmpty(entitys.getVehicleNumber())){ + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.lambda().eq(VehicleEntity::getVehicleNumber,entitys.getVehicleNumber()); + queryWrapper.lambda().isNull(VehicleEntity::getDeleteMark); + VehicleEntity vehicleEntity = vehicleService.getOne(queryWrapper); //查询车牌号是否存在 + if (ObjectUtil.isNotEmpty(vehicleEntity)){ + entitys.setVehicleId(vehicleEntity.getId());//将车牌号ID赋值给子表 + }else { + VehicleEntity vehicle = new VehicleEntity(); + vehicle.setId(RandomUtil.uuId()); + vehicle.setType("1"); + vehicle.setVehicleNumber(entitys.getVehicleNumber()); + vehicle.setPhoto(entity.getVehiclePictures()); + vehicle.setStatus("1"); + vehicle.setName(entitys.getDriverName()); + vehicle.setMobile(entitys.getTelephone()); + vehicleService.save(vehicle); //新增车辆到系统 + entitys.setVehicleId(vehicle.getId()); //将车牌号ID赋值给子表 + VehicleDriverEntity vehicleDriverEntity = new VehicleDriverEntity(); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.lambda().eq(DriverEntity::getName,entitys.getDriverName()); + queryWrapper1.lambda().isNull(DriverEntity::getDeleteMark); + DriverEntity driverEntity = driverService.getOne(queryWrapper1); //查询司机 + if (ObjectUtil.isNotEmpty(driverEntity)){ + vehicleDriverEntity.setDriverId(driverEntity.getId()); //赋值司机ID + } + vehicleDriverEntity.setId(RandomUtil.uuId()); + vehicleDriverEntity.setVehicleId(vehicle.getId()); + vehicleDriverEntity.setName(entitys.getDriverName()); + vehicleDriverEntity.setMobile(entitys.getTelephone()); + vehicleDriverService.save(vehicleDriverEntity); //新增车辆和司机的关系表 + } + } entitys.setId(RandomUtil.uuId()); entitys.setVoucherId(entity.getId()); if(isSave){ @@ -731,29 +764,46 @@ public class VoucherServiceImpl extends ServiceImpl queryVoucherPopupInfo(VoucherPagination voucherPagination) { - UserInfo userInfo=userProvider.get(); - OrganizeEntity organizeEntity = organizeService.getInfo(userInfo.getOrganizeId()); - List organizeJsonId = Arrays.stream(organizeEntity.getCompanyIdTree().split(",")).collect(Collectors.toList()); - String organize = JSON.toJSONString(organizeJsonId); - organize = organize.replace("[",""); - organize = organize.replace("]",""); - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("a.business_type",voucherPagination.getBusinessType()); - queryWrapper.eq("a.document_type",voucherPagination.getDocumentType()); - queryWrapper.eq("a.delivery_type","2"); - queryWrapper.eq("a.voucher_status","4"); + QueryWrapper queryWrapper1 = new QueryWrapper<>(); + queryWrapper1.eq("a.business_type",voucherPagination.getBusinessType()); + queryWrapper1.eq("a.document_type",voucherPagination.getDocumentType()); + queryWrapper1.eq("a.delivery_type","2"); + queryWrapper1.eq("a.voucher_status","4"); if (StringUtils.isNotEmpty(voucherPagination.getKeyword())) { - queryWrapper.and(wrapper -> wrapper.like("a.purchase_contract_no", voucherPagination.getKeyword()) + queryWrapper1.and(wrapper -> wrapper.like("a.purchase_contract_no", voucherPagination.getKeyword()) .or().like("f.name", voucherPagination.getKeyword()) .or().like("a.voucher_code",voucherPagination.getKeyword())); } - queryWrapper.notIn(ObjectUtils.isNotEmpty(voucherPagination.getExcludeIdList()),"a.id",voucherPagination.getExcludeIdList()); - queryWrapper.in(ObjectUtils.isNotEmpty(voucherPagination.getProductIdList()),"c.product_id",voucherPagination.getProductIdList()); - queryWrapper.isNull("a.f_delete_mark"); -// queryWrapper.inSql("a.id", "SELECT f_process_id FROM flow_task WHERE f_status = '2'");//通过审核的订单 - queryWrapper.like("a.organize_json_id",organize); + queryWrapper1.notIn(ObjectUtils.isNotEmpty(voucherPagination.getExcludeIdList()),"a.id",voucherPagination.getExcludeIdList()); + queryWrapper1.isNull("a.f_delete_mark"); + queryWrapper1.eq(StringUtils.isNotEmpty(voucherPagination.getBusinessOrderId()),"a.business_order_id",voucherPagination.getBusinessOrderId()); + IPage voucherEntityIPage = new Page<>(); Page page=new Page<>(voucherPagination.getCurrentPage(), voucherPagination.getPageSize()); - IPage voucherEntityIPage = voucherMapper.queryVoucherPopup(page,queryWrapper,voucherPagination.getBusinessType(),voucherPagination.getDocumentType()); + voucherEntityIPage = voucherMapper.queryVoucherPopup(page, queryWrapper1,voucherPagination.getBusinessType(),voucherPagination.getDocumentType()); + if (voucherEntityIPage.getTotal() == 0) { + UserInfo userInfo = userProvider.get(); + OrganizeEntity organizeEntity = organizeService.getInfo(userInfo.getOrganizeId()); + List organizeJsonId = Arrays.stream(organizeEntity.getCompanyIdTree().split(",")).collect(Collectors.toList()); + String organize = JSON.toJSONString(organizeJsonId); + organize = organize.replace("[", ""); + organize = organize.replace("]", ""); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("a.business_type", voucherPagination.getBusinessType()); + queryWrapper.eq("a.document_type", voucherPagination.getDocumentType()); + queryWrapper.eq("a.delivery_type", "2"); + queryWrapper.eq("a.voucher_status", "4"); + if (StringUtils.isNotEmpty(voucherPagination.getKeyword())) { + queryWrapper.and(wrapper -> wrapper.like("a.purchase_contract_no", voucherPagination.getKeyword()) + .or().like("f.name", voucherPagination.getKeyword()) + .or().like("a.voucher_code", voucherPagination.getKeyword())); + } + queryWrapper.notIn(ObjectUtils.isNotEmpty(voucherPagination.getExcludeIdList()), "a.id", voucherPagination.getExcludeIdList()); + queryWrapper.in(ObjectUtils.isNotEmpty(voucherPagination.getProductIdList()), "c.product_id", voucherPagination.getProductIdList()); + queryWrapper.isNull("a.f_delete_mark"); +// queryWrapper.inSql("a.id", "SELECT f_process_id FROM flow_task WHERE f_status = '2'");//通过审核的订单 + queryWrapper.like("a.organize_json_id", organize); + voucherEntityIPage = voucherMapper.queryVoucherPopup(page, queryWrapper, voucherPagination.getBusinessType(), voucherPagination.getDocumentType()); + } return voucherPagination.setData(voucherEntityIPage.getRecords(),voucherEntityIPage.getTotal()); } diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/VoucherVehicleEntity.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/VoucherVehicleEntity.java index c6778871..ab0f9384 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/VoucherVehicleEntity.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/entity/VoucherVehicleEntity.java @@ -48,4 +48,6 @@ public class VoucherVehicleEntity { private String organizeJsonId; @TableField("F_TENANT_ID") private String tenantId; + @TableField(exist = false) + private String vehicleNumber; } diff --git a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/voucher/VoucherVehicleModel.java b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/voucher/VoucherVehicleModel.java index 564d4591..85dba654 100644 --- a/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/voucher/VoucherVehicleModel.java +++ b/jnpf-java-boot/jnpf-scm/jnpf-scm-entity/src/main/java/jnpf/model/voucher/VoucherVehicleModel.java @@ -30,4 +30,7 @@ public class VoucherVehicleModel { /** 承运商 **/ @JSONField(name = "carrier") private String carrier; + /** 车牌号 **/ + @JSONField(name = "vehicleNumber") + private String vehicleNumber; } diff --git a/jnpf-java-boot/jnpf-web/src/views/scm/publicPopup/VoucherBox.vue b/jnpf-java-boot/jnpf-web/src/views/scm/publicPopup/VoucherBox.vue index d9b186bb..79a8a12a 100644 --- a/jnpf-java-boot/jnpf-web/src/views/scm/publicPopup/VoucherBox.vue +++ b/jnpf-java-boot/jnpf-web/src/views/scm/publicPopup/VoucherBox.vue @@ -34,6 +34,8 @@ + + diff --git a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/deliveryOrder/form.vue b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/deliveryOrder/form.vue index 9b48aa1d..76687691 100644 --- a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/deliveryOrder/form.vue +++ b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/deliveryOrder/form.vue @@ -586,7 +586,8 @@

- + @@ -1190,6 +1191,39 @@ export default { this.initPurchaseData(); }, methods: { + getSummaries(param) { + const summaryField = ["saleNum", "grossWeight", "tareWeight", "buckleWeight", "netWeight", "deliveryNum", "taxCount", "notTaxCount"]; + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '合计'; + return; + } + if (!summaryField.includes(column.property)) { + sums[index] = ''; + return; + } + const values = data.map(item => Number(item[column.property])); + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return this.jnpf.floatAdd(prev, curr); + } else { + return prev; + } + }, 0); + const thousandsField = []; + if (thousandsField.includes(column.property)) { + sums[index] = thousandsFormat(sums[index]); + } + } else { + sums[index] = ''; + } + }); + return sums; + }, //选择数据弹窗 choiceProduct() { this.BomgoodsBoxVisible = true diff --git a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/purchaseOrder/form.vue b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/purchaseOrder/form.vue index e5fa9ffd..38624d71 100644 --- a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/purchaseOrder/form.vue +++ b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/purchaseOrder/form.vue @@ -817,7 +817,8 @@

- + @@ -1561,6 +1562,39 @@ export default { this.initPurchaseData(); }, methods: { + getSummaries(param) { + const summaryField = ["businessNum", "taxCount", "notTaxCount"]; + const { columns, data } = param; + const sums = []; + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '合计'; + return; + } + if (!summaryField.includes(column.property)) { + sums[index] = ''; + return; + } + const values = data.map(item => Number(item[column.property])); + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr); + if (!isNaN(value)) { + return this.jnpf.floatAdd(prev, curr); + } else { + return prev; + } + }, 0); + const thousandsField = []; + if (thousandsField.includes(column.property)) { + sums[index] = thousandsFormat(sums[index]); + } + } else { + sums[index] = ''; + } + }); + return sums; + }, // 选择业务线清除表单 removeForm() { if (this.dataForm.orderType == '3') { diff --git a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/receiptOrder/form.vue b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/receiptOrder/form.vue index c4af9432..56b37f90 100644 --- a/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/receiptOrder/form.vue +++ b/jnpf-java-boot/jnpf-web/src/views/scm/purchaseCenter/receiptOrder/form.vue @@ -746,7 +746,8 @@

- + @@ -958,7 +959,7 @@ + prop="clearWeight" width="120"> + prop="clearWeight" width="150">