From 07d4f77718e5513d74400ce8fd762eca39b0d24c Mon Sep 17 00:00:00 2001 From: z Date: Tue, 25 Feb 2025 13:44:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=BA=93=E4=BB=B7?= =?UTF-8?q?=E6=A0=BC=E4=B8=BA=E5=85=A5=E5=BA=93=E5=8D=95=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/storage/StorageController.java | 4 +- .../storagelogNow/StorageLogNowDO.java | 3 +- .../mysql/storagelog/StorageLogNowMapper.java | 2 +- .../src/views/heli/purchaseorder/audit.vue | 14 ++--- .../views/heli/purchaseorder/auditdetail.vue | 42 +++++++-------- .../src/views/heli/purchaseorder/detail.vue | 54 +++++++++---------- .../src/views/heli/purchaseorder/edit.vue | 54 +++++++++---------- .../src/views/heli/storage/StorageForm.vue | 4 +- .../src/views/heli/storagelogprice/index.vue | 7 ++- 9 files changed, 92 insertions(+), 92 deletions(-) diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java index 2ad8e38..02b5394 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/controller/admin/storage/StorageController.java @@ -157,7 +157,7 @@ public class StorageController { if (ObjectUtil.isEmpty(materialDO.getPrice())){ materialDO.setPrice(BigDecimal.ZERO); } - BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).add(storageMatDO.getPrice()); + BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).add(storageMatDO.getPrice().multiply(storageMatDO.getStorageOkQty())); BigDecimal divide = add.divide(totalStorageOkQty.add(storageMatDO.getStorageOkQty()),2,RoundingMode.HALF_UP); materialDO.setPrice(divide); materialMapper.updateById(materialDO); @@ -179,7 +179,7 @@ public class StorageController { if (ObjectUtil.isEmpty(materialDO.getPrice())){ materialDO.setPrice(BigDecimal.ZERO); } - BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).subtract(storageMatDO.getPrice()); + BigDecimal add = totalStorageOkQty.multiply(materialDO.getPrice()).subtract(storageMatDO.getPrice().multiply(storageMatDO.getStorageOkQty())); BigDecimal divide = add.divide(totalStorageOkQty.subtract(storageMatDO.getStorageOkQty()),2,RoundingMode.HALF_UP); materialDO.setPrice(divide); materialMapper.updateById(materialDO); diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java index 9b185a8..8356eff 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/dataobject/storagelogNow/StorageLogNowDO.java @@ -49,7 +49,8 @@ public class StorageLogNowDO extends BaseDO { private Long pnId; private String pnName; private BigDecimal sumKcMoney; - + @TableField(exist = false) + private BigDecimal sumKcMoneys; @TableField(exist = false) private Long materialTypeId; diff --git a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java index c11b476..9e25312 100644 --- a/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java +++ b/mes-module-heli/mes-module-heli-biz/src/main/java/com/chanko/yunxi/mes/module/heli/dal/mysql/storagelog/StorageLogNowMapper.java @@ -112,7 +112,7 @@ public interface StorageLogNowMapper extends BaseMapperX { MPJLambdaWrapper query = new MPJLambdaWrapper<>(); query.selectAll(StorageLogNowDO.class) - .select("COALESCE(SUM(storage_ok_qty), 0) as storageOkQtys,a.price as price") + .select("COALESCE(SUM(storage_ok_qty), 0) as storageOkQtys,a.price as price,COALESCE(SUM(storage_ok_qty), 0) * a.price as sumKcMoneys") .leftJoin(MaterialDO.class,"a",MaterialDO::getCode,StorageLogNowDO::getMatCode) .groupBy(StorageLogNowDO::getMatCode) .orderByDesc(StorageLogNowDO::getId); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/audit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/audit.vue index 3e3a338..b7ee5b4 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/audit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/audit.vue @@ -94,8 +94,8 @@ v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_ORDER_STATUS).filter(it - - + + @@ -104,8 +104,8 @@ v-for="dict in getIntDictOptions(DICT_TYPE.HELI_PURCHASE_ORDER_STATUS).filter(it - - + - + @@ -281,21 +281,21 @@ - + - + @@ -391,21 +391,21 @@ - + - + @@ -488,18 +488,18 @@ - + - + @@ -711,24 +711,24 @@ const formRules = reactive({ }) const subFormRules = reactive({ matId: [{ required: true, message: '物料编码不能为空', trigger: 'blur' }], - estimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }], + estimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }], purchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }] }) const subBoomFormRules = reactive({ boomName: [{ required: true, message: '零件名称不能为空', trigger: 'blur' }], composition: [{ required: true, message: '材质不能为空', trigger: 'blur' }], boomPurchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - boomEstimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }], + boomEstimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }], boomArriveTime: [{ required: true, message: '预计到货时间不能为空', trigger: 'blur' }], }) const subMatPlanFormRules = reactive({ purchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - estimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }] + estimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }] }) const subBoomPlanFormRules = reactive({ boomName: [{ required: true, message: '零件名称不能为空', trigger: 'blur' }], boomPurchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - boomEstimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }] + boomEstimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }] }) const formRef = ref() // 表单 Ref const subFormRef = ref() // 表单 Ref @@ -759,12 +759,12 @@ const handleSelectedMaterialPlanMat = (arr) => { }); }; const handleSelectedMaterialPlanBoom =async (arrBoom) => { - //debugger + //debugger const existingBoomDetailIds = new Set(formData.value.boomItemDOList.map(boom => boom.boomDetailId)); arrBoom.forEach((item) => { if (!existingBoomDetailIds.has(item.boomDetailId)) { - item.description = ''; + item.description = ''; // formData.value.boomItemDOList.requireTime = item.boomArriveDate // formData.value.boomItemDOList.composition = item.compositionName // formData.value.boomItemDOList.boomName = item.materialName @@ -812,7 +812,7 @@ const handleEstimatedPrice = () => { formData.value.actualPrice = allActualPrice } const handleActualPrice = () => { - + } // ====================附件信息 开始======================================= @@ -981,7 +981,7 @@ const onAddItem = () => { } const getList = async (arrMat) => { arrMat.forEach((row) => { - if ( formData.value.matItemDOList.filter((item) => item.matId == row.matId).length == 0) + if ( formData.value.matItemDOList.filter((item) => item.matId == row.matId).length == 0) { row.id = undefined formData.value.matItemDOList.push(row) @@ -1180,7 +1180,7 @@ const submitForm = async () => { } catch (e) { return } - // 计划状态为已送审 + // 计划状态为已送审 formData.value.receivingStatus = 2 formData.value.status = 2 formData.value.submitUserId = useUserStore().getUser.id @@ -1227,7 +1227,7 @@ onMounted(async () => { }) formData.value.matItemRemoveList = [] formData.value.boomItemRemoveList = [] - + // 获取采购订单数据 formData.value.boomItemDOList = ( @@ -1245,7 +1245,7 @@ formData.value.boomItemDOList.forEach((item) => { item.boomDescription = item.description; item.materialName = item.boomName; item.compositionName = item.composition; - + // 确保 composition 是一个有效的数组 if (Array.isArray(item.composition) && item.composition.length > 0) { item.composition = Number(item.composition); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/edit.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/edit.vue index 47700a3..c14df42 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/edit.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/purchaseorder/edit.vue @@ -177,18 +177,18 @@ - + - + @@ -281,21 +281,21 @@ - + - + @@ -391,21 +391,21 @@ - + - + @@ -488,18 +488,18 @@ - + - + @@ -719,24 +719,24 @@ const formRules = reactive({ }) const subFormRules = reactive({ matId: [{ required: true, message: '物料编码不能为空', trigger: 'blur' }], - estimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }], + estimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }], purchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }] }) const subBoomFormRules = reactive({ boomName: [{ required: true, message: '零件名称不能为空', trigger: 'blur' }], composition: [{ required: true, message: '材质不能为空', trigger: 'blur' }], boomPurchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - boomEstimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }], + boomEstimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }], boomArriveTime: [{ required: true, message: '预计到货时间不能为空', trigger: 'blur' }], }) const subMatPlanFormRules = reactive({ purchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - estimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }] + estimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }] }) const subBoomPlanFormRules = reactive({ boomName: [{ required: true, message: '零件名称不能为空', trigger: 'blur' }], boomPurchaseAmount: [{ required: true, message: '采购数量不能为空', trigger: 'blur' }], - boomEstimatedPrice: [{ required: true, message: '暂估价金额不能为空', trigger: 'blur' }] + boomEstimatedPrice: [{ required: true, message: '暂估单价不能为空', trigger: 'blur' }] }) const formRef = ref() // 表单 Ref const subFormRef = ref() // 表单 Ref @@ -769,12 +769,12 @@ const handleSelectedMaterialPlanMat = (arr) => { }); }; const handleSelectedMaterialPlanBoom =async (arrBoom) => { - //debugger + //debugger const existingBoomDetailIds = new Set(formData.value.boomItemDOList.map(boom => boom.boomDetailId)); arrBoom.forEach((item) => { if (!existingBoomDetailIds.has(item.boomDetailId)) { - item.description = ''; + item.description = ''; // formData.value.boomItemDOList.requireTime = item.boomArriveDate // formData.value.boomItemDOList.composition = item.compositionName // formData.value.boomItemDOList.boomName = item.materialName @@ -822,7 +822,7 @@ const handleEstimatedPrice = () => { formData.value.actualPrice = allActualPrice } const handleActualPrice = () => { - + } // ====================附件信息 开始======================================= @@ -991,7 +991,7 @@ const onAddItem = () => { } const getList = async (arrMat) => { arrMat.forEach((row) => { - if ( formData.value.matItemDOList.filter((item) => item.matId == row.matId).length == 0) + if ( formData.value.matItemDOList.filter((item) => item.matId == row.matId).length == 0) { row.id = undefined formData.value.matItemDOList.push(row) @@ -1212,7 +1212,7 @@ const submitForm = async () => { } catch (e) { return } - // 计划状态为已送审 + // 计划状态为已送审 formData.value.receivingStatus = 2 formData.value.status = 2 formData.value.submitUserId = useUserStore().getUser.id @@ -1259,7 +1259,7 @@ onMounted(async () => { }) formData.value.matItemRemoveList = [] formData.value.boomItemRemoveList = [] - + // 获取采购订单数据 formData.value.boomItemDOList = ( @@ -1277,7 +1277,7 @@ formData.value.boomItemDOList.forEach((item) => { item.boomDescription = item.description; item.materialName = item.boomName; item.compositionName = item.composition; - + // 确保 composition 是一个有效的数组 if (Array.isArray(item.composition) && item.composition.length > 0) { item.composition = Number(item.composition); diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue index 0ac950e..b2b69bf 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storage/StorageForm.vue @@ -179,7 +179,7 @@ - +