廖井涛
2024-05-15 135804204650bde3c4cdc3527804f1bac8fe2cca
修改
10个文件已修改
382 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/pp/Report.xml 306 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
@@ -7,8 +7,9 @@
import {useRouter,useRoute} from "vue-router"
import {useI18n} from "vue-i18n"
import WarehouseCreateBasicData from "@/views/mm/basicData/WarehouseCreateBasicData.vue";
import useUserInfoStore from "@/stores/userInfo";
const { t } = useI18n()
const userStore = useUserInfoStore()
let dialogTableVisible = ref(false)
const router = useRouter()
const xGrid = ref()
@@ -162,7 +163,9 @@
        v-on="gridEvents"
    >
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('warehouseSearchBasicData.edit') > -1"
                   link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" title="确定删除数据?">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
@@ -7,10 +7,11 @@
import {useRoute, useRouter} from "vue-router"
import {changeFilterEvent,filterChanged} from "@/hook"
import { useI18n } from 'vue-i18n'
import useUserInfoStore from "@/stores/userInfo";
//语言获取
const { t } = useI18n()
const userStore = useUserInfoStore()
const router = useRouter()
const route = useRoute()
let produceList = ref([])
@@ -326,7 +327,9 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('SelectIngredients.edit') > -1"
                   link type="primary" size="small">编辑</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" title="确定删除?">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
@@ -15,7 +15,7 @@
//语言获取
const { t } = useI18n()
const userStore = useUserInfoStore()
const router = useRouter()
let produceList = ref([])
const getTableRow = (row,type) =>{
@@ -274,7 +274,9 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('MaterialOutbound.edit') > -1"
                   link type="primary" size="small">编辑</el-button>
<!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>-->
      </template>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue
@@ -15,7 +15,7 @@
//语言获取
const { t } = useI18n()
const userStore = useUserInfoStore()
const router = useRouter()
let produceList = ref([])
const getTableRow = (row,type) =>{
@@ -280,7 +280,9 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('ReturnToStorage.edit') > -1"
                   link type="primary" size="small">编辑</el-button>
<!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>-->
      </template>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
@@ -13,7 +13,7 @@
//语言获取
const { t } = useI18n()
const userStore = useUserInfoStore()
const router = useRouter()
let produceList = ref([])
let produceLists = ref([])
@@ -654,7 +654,8 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>
      </template>
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
@@ -46,7 +46,7 @@
<style scoped>
#main-div{
  width: 99%;
  width: 100%;
  height: 100%;
}
#div-title{
@@ -62,8 +62,9 @@
}
/*main-body样式*/
#main-body{
  width: 100%;
  width: 99%;
  height: 95%;
  margin-top: 1%;
}
#select{
  margin-left:0.5rem;
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomer.vue
@@ -13,6 +13,7 @@
const { t } = useI18n()
const userStore = useUserInfoStore()
console.log(userStore.user.permissions)
const username = userStore.user.userName
const userid = userStore.user.userId
let router=useRouter()
@@ -254,8 +255,11 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'customerOrder')" link type="primary" size="small">客户订单</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('selectCustomer.edit') > -1"
                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'customerOrder')"
                   link type="primary" size="small">客户订单</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" title="确定删除?">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectDelivery.vue
@@ -329,7 +329,9 @@
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('selectDelivery.edit') > -1"
                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'printing')" :disabled="row.deliveryState!==2" link type="primary" size="small">打印</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" title="确定删除?">
          <template #reference>
north-glass-erp/target/classes/mapper/pp/Report.xml
@@ -364,4 +364,310 @@
        group by fc.process_id, fc.order_number, fc.technology_number
        order by fc.process_id, fc.order_number, fc.technology_number
    </select>
    <select id="selectDamageReportMp">
        SELECT
            o.order_id,
            o.project,
            rw.process_id,
            dd.order_number,
            dd.technology_number,
            date(rw.reporting_work_time) as reporting_work_time,
            dd.responsible_process,
            dd.responsible_team,
            dd.responsible_equipment,
            dd.breakage_type,
            dd.breakage_reason,
            dd.breakage_quantity,
            round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) as area,
            IFNULL(dd.responsible_personnel,'') as personnel,
            ogd.glass_child
        FROM
            sd.ORDER AS o
                LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id
                LEFT JOIN reporting_work AS rw ON rw.order_id = o.order_id
                LEFT JOIN damage_details AS dd ON dd.reporting_work_id = rw.reporting_work_id
                AND dd.order_number = ogd.order_number
                AND dd.technology_number = ogd.technology_number
        WHERE
            rw.reporting_work_time between #{selectTime1} and #{selectTime2}
          AND dd.available = 0
          AND LENGTH( rw.process_id )= 14
        GROUP BY
            dd.id
    </select>
    <select id="splittingDetailsOutsideMp">
        SELECT
            fc.process_id,
            fc.order_number,
            fc.technology_number,
            o.project,
            o.batch,
            ogd.child_width,
            ogd.child_height,
            fc.quantity,
            round( ogd.child_width * ogd.child_height * fc.quantity / 1000000, 2 ) as area,
            od.shape,
            od.remarks
        FROM
            sd.ORDER AS o
                LEFT JOIN sd.order_detail AS od ON od.order_id = od.order_id
                LEFT JOIN sd.order_glass_detail AS ogd ON o.order_id = ogd.order_id
                AND ogd.order_number = od.order_number
                LEFT JOIN flow_card AS fc ON fc.order_id = ogd.order_id
                AND fc.order_number
                AND fc.technology_number = ogd.technology_number
        WHERE
            fc.order_id = #{orderId}
        GROUP BY
            fc.id
    </select>
    <select id="qualityReportMp">
        SELECT o.order_id,
               o.customer_name,
               o.project,
               fc.order_number,
               fc.technology_number,
               od.product_name,
               od.quantity,
               MAX(opd.reporting_work_num_count)                                                   as quantityMax,
               IFNULL(SUM(distinct dd.breakage_quantity), 0)                                       as breakage_quantity,
               IFNULL(sum(distinct pl.patch_num), 0)                                               as patch_num,
               fc.received_quantity,
               CONCAT(ROUND(ROUND(od.quantity / MAX(opd.reporting_work_num_count), 2) * 100), '%') as finished
        FROM sd.`order` AS o
                 LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
                 LEFT JOIN flow_card AS fc ON o.order_id = fc.order_id
            AND fc.order_number = od.order_number
                 LEFT JOIN damage_details AS dd ON dd.process_id = fc.process_id
            AND dd.order_number = fc.order_number
            AND dd.technology_number = fc.technology_number
            and dd.available != 1
                 LEFT JOIN patch_log AS pl ON pl.order_id = fc.order_id
            AND pl.process_id = fc.process_id
            AND pl.order_sort = fc.order_number
            AND pl.technology_number = fc.technology_number
                 LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = fc.order_id
            AND opd.order_number = fc.order_number
            AND opd.technology_number = fc.technology_number
        WHERE o.create_time BETWEEN #{selectTime1} and #{selectTime2}
        GROUP BY o.order_id,
                 fc.order_number,
                 fc.technology_number
        ORDER BY fc.order_number
    </select>
    <select id="yieldMp">
        SELECT opd.process,
               o.order_id,
               o.customer_name,
               o.project,
               od.product_name,
               ROUND(SUM(distinct opd.reporting_work_num) * od.area, 2)                               as finishedArea
                ,
               ROUND(SUM(distinct opd.broken_num) * od.area, 2)                                       as brokenArea,
               (ROUND(SUM(distinct opd.reporting_work_num) * od.area, 2) +
                ROUND(SUM(distinct opd.broken_num) * od.area, 2))                                     as area,
               CONCAT(ROUND(ROUND(ROUND(SUM(distinct opd.reporting_work_num) * od.area, 2) /
                                  (ROUND(SUM(distinct opd.reporting_work_num) * od.area, 2) +
                                   ROUND(SUM(distinct opd.broken_num) * od.area, 2)), 2) * 100), '%') as finished
        FROM sd.`order` AS o
                 LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id
                 LEFT JOIN flow_card AS fc ON fc.order_id = od.order_id
            AND fc.order_number = fc.order_number
                 LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = fc.order_id
            AND opd.process_id = fc.process_id
            AND opd.order_number = fc.order_number
            AND opd.technology_number = fc.technology_number
        WHERE opd.reporting_work_num > 0
          and o.create_time BETWEEN #{selectTime1} and #{selectTime2}
          AND position(#{selectProcesses} IN opd.process)
        GROUP BY opd.process, o.order_id
    </select>
    <select id="productionScheduleMp">
        select
            a.order_number,
            a.shape,
            a.product_name,
            b.child_width,
            b.child_height,
            c.quantity,
            c.technology_number,
            b.glass_child,
            e.reportWorkQuantity,
            e.reportWorkQuantityCount,
            ifnull(f.inventory,0) as inventoryNum,
            round(ifnull(f.inventory,0)*a.area,2) as  inventoryArea,
                dd.quantity as shippedQuantity,
            dd.area
        from
            flow_card as c
                left join
            sd.order_detail as a
            on  c.order_id = a.order_id
                and c.order_number = a.order_number
                left join sd.order_glass_detail as b
                          on c.order_id = b.order_id
                              and b.order_number = c.order_number
                              and c.technology_number = b.technology_number
                left join sd.`order` as d
                          on c.order_id = d.order_id
                left join mm.finished_goods_inventory as f
                          on c.order_id = f.order_id and f.order_number = c.order_number
                left join (
                SELECT process_id,
                       technology_number,
                       sum(a.broken_num) as broken_num,
                       concat('{',
                              GROUP_CONCAT(concat("\"",process,"\":\"",reporting_work_num,"\"")),
                              '}'
                           ) as reportWorkQuantity,
                       concat('{',
                              GROUP_CONCAT(concat("\"",process,"\":\"",reporting_work_num,"\"")),
                              '}'
                           ) as  reportWorkQuantityCount
                FROM sd.order_process_detail as a
                where a.order_id=#{orderId}
                GROUP BY process_id,a.technology_number
            ) as e
                          on e.process_id = c.process_id
                              and e.technology_number = c.technology_number
                left join sd.delivery_detail as dd on dd.order_id=a.order_id and dd.order_number=a.order_number
        where a.order_id = #{orderId}
        ORDER BY a.order_number
    </select>
    <select id="taskCompletionStatusMp">
        select d.customer_name,
               d.project,
               d.batch,
               c.order_id,
               d.quantity,
               d.area,
               dd.quantity as shippedQuantity,
               dd.area     as shippedArea,
               e.reportWorkQuantity,
               e.reportWorkQuantityCount
        from sd.`order` as d
                 left join flow_card as c on c.order_id = d.order_id
                 left join
             sd.order_detail as a
             on c.order_id = a.order_id
                 and c.order_number = a.order_number
                 left join sd.order_glass_detail as b
                           on c.order_id = b.order_id
                               and b.order_number = c.order_number
                               and c.technology_number = b.technology_number
                 left join mm.finished_goods_inventory as f
                           on c.order_id = f.order_id and f.order_number = c.order_number
                 left join (SELECT process_id,
                                   technology_number,
                                   sum(a.broken_num) as broken_num,
                                   concat('{',
                                          GROUP_CONCAT(concat("\"", process, "\":\"", ifnull(reporting_work_num,0), "\"")),
                                          '}'
                                       )             as reportWorkQuantity,
                                   concat('{',
                                          GROUP_CONCAT(concat("\"", process, "\":\"", ifnull(reporting_work_num,0), "\"")),
                                          '}'
                                       )             as reportWorkQuantityCount
                            FROM sd.order_process_detail as a
                                     left join sd.`order` as o on o.order_id = a.order_id
                            where o.create_time BETWEEN #{selectTime1} and #{selectTime2}
                            GROUP BY process_id,a.technology_number
                            ) as e
                           on e.process_id = c.process_id
                               and e.technology_number = c.technology_number
                 left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number
        where d.create_time BETWEEN #{selectTime1} and #{selectTime2} and reportWorkQuantity is not null
        GROUP BY a.order_id
        ORDER BY a.order_id
    </select>
    <select id="orderPlanDecompositionMp">
        SELECT
            o.order_id,
            o.customer_name,
            o.project,
            o.batch,
            o.quantity,
            o.area,
            date(fc.create_time) as create_time,
            date(orw.startTime) as startTime,
            oopd.completionsNum,
            sum( DISTINCT fc.received_quantity ) AS received_quantity,
            sum( DISTINCT fc.quantity - fc.received_quantity ) AS receivedNo,
            IF(fc.quantity=fc.received_quantity,'已清单','') as accomplish,
            DATEDIFF(
                    MAX( rw.reporting_work_time ),
                    min( rw.reporting_work_time ))+1 AS daysDifference
        FROM
            sd.`order` AS o
                LEFT JOIN flow_card AS fc ON fc.order_id = o.order_id
                LEFT JOIN (
                SELECT
                    a.order_id,
                    MIN( b.reporting_work_time ) AS startTime
                FROM
                    sd.`order` AS a
                        LEFT JOIN reporting_work AS b ON a.order_id = b.order_id
                WHERE
                    b.this_process = '切割'
                  AND a.create_time BETWEEN #{selectTime1} and #{selectTime2}
                GROUP BY
                    a.order_id
            ) AS orw ON orw.order_id = o.order_id
                LEFT JOIN (
                SELECT
                    a.order_id,
                    SUM( b.reporting_work_num ) AS completionsNum
                FROM
                    sd.`order` AS a
                        LEFT JOIN sd.order_process_detail AS b ON a.order_id = b.order_id
                WHERE
                    b.process = '包装'
                  AND a.create_time BETWEEN #{selectTime1} and #{selectTime2}
                GROUP BY
                    a.order_id
            ) AS oopd ON oopd.order_id = o.order_id
                LEFT JOIN reporting_work AS rw ON rw.order_id = fc.order_id
                AND rw.process_id = fc.process_id
        WHERE
            o.create_time BETWEEN #{selectTime1} and #{selectTime2}
          AND fc.create_time IS NOT NULL
        GROUP BY
            o.order_id
    </select>
    <select id="rawMaterialRequisitionMp">
        SELECT
            fc.project_no,
            modl.material_name,
            modl.producer,
            ou.width,
            ou.height,
            modl.date_of_manufacture,
            SUM(distinct modl.outbound_quantity) as quantity,
            ROUND(SUM(modl.outbound_quantity)*SUM(modl.single_piece_area),2) as area,
            date(mo.material_requisition_date) as date
        FROM
            mm.material_outbound_detail AS modl
                left join mm.material_outbound as mo on mo.material_outbound_id=modl.material_outbound_id
                LEFT JOIN optimize_use AS ou ON modl.use_id = ou.id and ou.raw_stock_code=modl.inventory_id
                LEFT JOIN flow_card AS fc ON ou.project_no = fc.project_no
        where  modl.use_id IS NOT NULL and mo.material_requisition_date BETWEEN #{selectTime1} and #{selectTime2}
        GROUP BY
            ou.width,ou.height,material_code
    </select>
</mapper>
north-glass-erp/target/classes/mapper/sd/OrderProcessDetailMapper.xml
@@ -122,4 +122,32 @@
            and a.process=#{thisProcess}
    </update>
    <select id="filterOrderProcessCollect">
        select a.id,process,order_number,technology_number,a.order_id
        from order_process_detail as a
        left join `order` as b on a.order_id=b.order_id
        where b.create_time BETWEEN #{selectTime1} and #{selectTime2}
        group by process
    </select>
    <select id="getGlassLRowCollect">
        select
            max(a.technology_number) as rowCount,
            RowNum
        from order_process_detail as a
                 left join
             (select min((@i:=@i+1)) AS RowNum,c.*
              from sd.order_glass_detail as c
                   left join sd.`order` o2 on c.order_id = o2.order_id,
                   (SELECT @i:=-1) as d
              where o2.create_time BETWEEN #{selectTime1} and #{selectTime2}
              GROUP BY order_number
             ) as b
             on b.order_number = a.order_number
        left join sd.`order` o on a.order_id = o.order_id
        where o.create_time BETWEEN #{selectTime1} and #{selectTime2}
        group by a.order_number
    </select>
</mapper>