| | |
| | | import {VXETable} from "vxe-table"; |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import {useI18n} from "vue-i18n"; |
| | | import { computed } from 'vue' |
| | | import UpdateOrderCraft from "@/components/sd/order/UpdateOrderCraft.vue"; |
| | | import {filterChanged} from "@/hook"; |
| | | let productGlassTypeStore = useProductGlassTypeStore() |
| | |
| | | const saveCraft = () => { |
| | | //rowIndex.value.process = craftObj.newCraft.join('->') |
| | | let orderProcess= craftObj.newCraft.join('->') |
| | | request.post(`/processCard/updateProcess/${rowIndex.value.process_id}/${rowIndex.value.order_number}/${rowIndex.value.technology_number}/${rowIndex.value.order_id}/${orderProcess}`, craftObj).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | router.push({ |
| | | path: '/main/processCard/SelectDetailProcessCard', |
| | | query: {processId: processId,random: Math.random()} |
| | | }) |
| | | } else { |
| | | //获取差异工序 |
| | | const diffCraft = computed(() => { |
| | | return [ |
| | | ...craftObj.oldCraft.filter(item => !craftObj.newCraft.includes(item)), //删除 |
| | | ...craftObj.newCraft.filter(item => !craftObj.oldCraft.includes(item))//增加 |
| | | ] |
| | | }) |
| | | if (diffCraft.value == '') {//无变化不执行后续 |
| | | return |
| | | } |
| | | //获取最新报工工序的顺序 |
| | | request.post(`/processCard/getNewProcess/${rowIndex.value.process_id}/${rowIndex.value.order_number}/${rowIndex.value.technology_number}/${diffCraft.value}`).then((res) => { |
| | | if (res.code == 200 ) { |
| | | if (res.data){ |
| | | request.post(`/processCard/updateProcess/${rowIndex.value.process_id}/${rowIndex.value.order_number}/${rowIndex.value.technology_number}/${rowIndex.value.order_id}/${orderProcess}`, craftObj).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | router.push({ |
| | | path: '/main/processCard/SelectDetailProcessCard', |
| | | query: {processId: processId,random: Math.random()} |
| | | }) |
| | | } else { |
| | | |
| | | ElMessage.warning(t('processCard.updateProcessMsg')) |
| | | ElMessage.warning(t('processCard.updateProcessMsg')) |
| | | |
| | | } |
| | | }) |
| | | craftVisible.value= false |
| | | }else { |
| | | ElMessage.warning(t('processCard.updateProcessMsg')) |
| | | } |
| | | } |
| | | }) |
| | | craftVisible.value= false |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | @ApiOperation("获取最报工新工序") |
| | | @PostMapping("/getNewProcess/{processId}/{orderNumber}/{technologyNumber}/{orderProcess}") |
| | | public Result getNewProcess(@PathVariable String processId, |
| | | @PathVariable String orderNumber, |
| | | @PathVariable String technologyNumber, |
| | | @PathVariable List<String> orderProcess){ |
| | | return Result.success(flowCardService.getNewProcessSv(processId,orderNumber,technologyNumber,orderProcess)); |
| | | } |
| | | |
| | | @ApiOperation("修改工艺流程") |
| | | @PostMapping("/updateProcess/{processId}/{orderNumber}/{technologyNumber}/{orderId}/{process}") |
| | | public Result updateProcess( |
| | |
| | | package com.example.erp.mapper.pp; |
| | | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.dto.pp.FlowCardDTO; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | |
| | | Boolean updateTerminationStatus(String processId, Integer orderNumber); |
| | | |
| | | Boolean updateTerminationNoMp(String processId, Integer orderNumber); |
| | | |
| | | List<Map<String, Object>> getNewProcessMp(String processId, String orderNumber, String technologyNumber); |
| | | |
| | | Map<String, Object> getProcessInfo( String processName); |
| | | } |
| | |
| | | import java.io.IOException; |
| | | |
| | | |
| | | import java.sql.Date; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.IntStream; |
| | |
| | | } |
| | | //将原来已报工的数据更新 |
| | | if (resultList != null && !resultList.isEmpty()) { |
| | | for (OrderProcessDetail d : resultList) { |
| | | flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(), |
| | | d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess()); |
| | | |
| | | for (String number : numberList) { |
| | | for (OrderProcessDetail d : resultList) { |
| | | flowCardMapper.updateOrderProcessDetail(d.getProcessId(),number,d.getTechnologyNumber(), |
| | | d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return true; |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | public boolean getNewProcessSv(String processId, String orderNumber, String technologyNumber, List<String> orderProcess) { |
| | | |
| | | // 获取最新报工工序 |
| | | List<Map<String, Object>> newProcess = flowCardMapper.getNewProcessMp(processId, orderNumber, technologyNumber); |
| | | |
| | | if (newProcess == null || newProcess.isEmpty()) { |
| | | return false; // 找不到标准值 |
| | | } |
| | | |
| | | // 最新工序排序号 |
| | | int standardSort = Integer.parseInt(newProcess.get(0).get("sort").toString()); |
| | | |
| | | // 循环 orderProcess 的每一个工序,查询它们的 sort |
| | | for (String processName : orderProcess) { |
| | | Map<String, Object> data = flowCardMapper.getProcessInfo(processName); |
| | | |
| | | if (data == null) { |
| | | return false; // 工序查不到 |
| | | } |
| | | int orderSort = Integer.parseInt(data.get("sort").toString()); |
| | | // orderSort 必须 > standardSort |
| | | if (orderSort <= standardSort) { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | |
| | |
| | | <update id="updateTerminationNoMp"> |
| | | update pp.flow_card set termination_status=0 , termination_quantity=0 where process_id = #{processId} and order_number = #{orderNumber} |
| | | </update> |
| | | |
| | | <select id="getNewProcessMp"> |
| | | select opd.process,bd.sort from sd.order_process_detail as opd |
| | | left join sd.basic_data as bd on bd.basic_name = opd.process and bd.basic_category='process' |
| | | where opd.process_id=#{processId} and opd.order_number=#{orderNumber} |
| | | and opd.technology_number = #{technologyNumber} and reporting_work_num_count>0 ORDER BY opd.id DESC LIMIT 1 |
| | | </select> |
| | | |
| | | <select id="getProcessInfo"> |
| | | select basic_name as process,sort FROM sd.basic_data as bd |
| | | where bd.basic_category='process' and bd.basic_name = #{processName} |
| | | </select> |
| | | </mapper> |