Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | } |
| | | }; |
| | | const currentRoute = router.currentRoute.value; |
| | | console.log('当前路由信息:', currentRoute); |
| | | const isRoutesEqual = currentRoute.name === targetRoute.name && |
| | | currentRoute.params.projectNo === targetRoute.params.projectNo && |
| | | currentRoute.params.thickNess === targetRoute.params.thickNess && |
| | |
| | | projectdetail: selectRecords, |
| | | userName : username |
| | | }) |
| | | request.post(`/glassOptimize/addProject/${optionVal.value}/${oddNumbers.value}/${projectNmae.value}`, projectData.value).then((res) => { |
| | | let inputProject = projectNmae.value |
| | | if (inputProject == undefined) { |
| | | inputProject = null |
| | | } |
| | | request.post(`/glassOptimize/addProject/${optionVal.value}/${oddNumbers.value}/${inputProject}`, projectData.value).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | selectFlowCardList() |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | |
| | | <el-input disabled v-model="oddNumbers" style="width: 100px"></el-input> |
| | | <!-- <vxe-input :disabled="isDisabled" placeholder="" v-model="oddNumbers" size="small" style="color:black;"></vxe-input> --> |
| | | <span style="font-size: 14px">工程名称:</span> |
| | | <vxe-input placeholder="" v-model="projectNmae" size="small"></vxe-input> |
| | | <el-input style="width: 150px" placeholder="" v-model="projectNmae" size="small"></el-input> |
| | | <el-button style="margin-left: 20px" type="primary" @click="addProject">创建</el-button> |
| | | </h1> |
| | | <vxe-grid |
| | |
| | | }, |
| | | |
| | | columns: [ |
| | | {type:'seq',fixed:"left",slots: { content:'content' },width: 50}, |
| | | {field: 'order_number', title: '订序', width: 70}, |
| | | {field: 'child_width', width: 100, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num2_filter'}}, |
| | | { |
| | |
| | | [ |
| | | {code: 'setAmount', name: '设置统一磨量',}, |
| | | {code: 'displayProcessCard', name: '显示流程卡',}, |
| | | {code: 'hideProcessCard', name: '隐藏流程卡',}, |
| | | {code: 'setShape', name: '设置图形',}, |
| | | {code: 'Export', name: '数据导出', prefixIcon: 'vxe-icon-download', visible: true, disabled: false}, |
| | | {code: 'safeDXF', name: '图形另存为DXF',}, |
| | |
| | | }, |
| | | |
| | | }) |
| | | const processCardColumns = reactive([ |
| | | { field: 'process_id', title: '流程卡', width: 200, align: 'center' }, |
| | | { field: 'project', title: '项目名', width: 150, align: 'center' }, |
| | | { field: 'order_number', title: '订序', width: 100, align: 'center' }, |
| | | { field: 'sizes', title: '尺寸', width: 200, align: 'center' }, |
| | | { field: 'layer', title: '层', width: 100, align: 'center' }, |
| | | { field: 'quantity', title: '数量', width: 100, align: 'center' } |
| | | ]); |
| | | |
| | | // 右键菜单 |
| | | const operationConfigs = [ |
| | | { |
| | |
| | | successMsg: '操作成功!', |
| | | gridRef: xGrid, |
| | | requiresRow: false, |
| | | showMessage: () => { |
| | | ElMessage.info('此功能暂未完善,暂时无法执行显示流程卡操作。'); |
| | | } |
| | | }, |
| | | { |
| | | code: 'hideProcessCard', |
| | | successMsg: '操作成功!', |
| | | gridRef: xGrid, |
| | | requiresRow: false, |
| | | showMessage: () => { |
| | | ElMessage.info('此功能暂未完善,暂时无法执行隐藏流程卡操作。'); |
| | | displayProcess: () => { |
| | | getProcessCard(); |
| | | processCardDialogVisible.value = true; |
| | | } |
| | | }, |
| | | { |
| | |
| | | if (config.code === 'setAmount') { |
| | | config.openAmount(); |
| | | ElMessage.success(config.successMsg); |
| | | }else if (['displayProcessCard', 'hideProcessCard', 'setShape', 'safeDXF', 'exportOPTIMA'].includes(config.code)) { |
| | | } else if ( config.code === 'displayProcessCard' ) { |
| | | config.displayProcess(); |
| | | ElMessage.success(config.successMsg); |
| | | } |
| | | else if (['setShape', 'safeDXF', 'exportOPTIMA'].includes(config.code)) { |
| | | config.showMessage(); |
| | | } |
| | | }).catch(() => { |
| | |
| | | fetchData(); |
| | | } |
| | | }); |
| | | |
| | | // 流程卡窗口 |
| | | const processCardDialogVisible = ref(false); |
| | | // 用于存储流程卡数据 |
| | | const processCardData = ref(null); |
| | | //流程卡 |
| | | const getProcessCard = () => { |
| | | request.post(`/glassOptimize/getProcessCard/${projectNo.value}`).then((res) => { |
| | | if (Number(res.code) === 200) { |
| | | processCardData.value = res.data.data; |
| | | } else { |
| | | ElMessage.warning(res.msg); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | // 从子组件SetAmount获取磨量值,并更新表格数据 |
| | | const Amount = (amountData) => { |
| | |
| | | </template> |
| | | </vxe-grid> |
| | | |
| | | <!-- 流程卡表格 --> |
| | | <el-dialog |
| | | v-model="processCardDialogVisible" |
| | | title="流程卡数据" |
| | | width="65%" |
| | | heigth="600px" |
| | | style="height: 500px;" |
| | | > |
| | | <vxe-grid |
| | | height="100%" |
| | | class="mytable - scrollbar" |
| | | :data="processCardData" |
| | | :columns="processCardColumns" |
| | | > |
| | | </vxe-grid> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | //页脚翻页查询 |
| | | const selectPageList = () => { |
| | | let inputVal = form.orderId |
| | | let selectProcesses = value.value |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | let inputProject = form.project |
| | | if (inputProject == '') { |
| | | inputProject = null |
| | | } |
| | | let optionVal=stateValue.value |
| | | if (optionVal == '') { |
| | | optionVal = null |
| | | } |
| | | console.log(selectProcesses) |
| | | request.post(`/report/workInProgress/${pageNum.value}/${total.pageSize}/${inputVal}/${inputProject}/${selectProcesses}/${optionVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | |
| | | return |
| | | } |
| | | |
| | | /*const project = titleUploadData.value.project |
| | | if(project === null || project === undefined || project === ''){ |
| | | ElMessage.error(t('order.msg.projectCheck')) |
| | | return |
| | | }*/ |
| | | const project = titleUploadData.value.project |
| | | if(project === null || project === undefined ){ |
| | | titleUploadData.value.project='' |
| | | } |
| | | const customer = titleUploadData.value.customerId |
| | | if(customer === null || customer === undefined || customer === ''){ |
| | | ElMessage.error(t('order.msg.customerCheck')) |
| | |
| | | return Result.seccess(glassOptimizeService.projectInfoSv(projectNo)); |
| | | } |
| | | |
| | | //工程信息流程卡 |
| | | @ApiOperation("工程信息流程卡接口") |
| | | @PostMapping ("/getProcessCard/{projectNo}") |
| | | public Result getProcessCard( |
| | | @PathVariable String projectNo){ |
| | | return Result.seccess(glassOptimizeService.getProcessCardSv(projectNo)); |
| | | } |
| | | |
| | | //库存信息 |
| | | @ApiOperation("库存信息接口") |
| | | @PostMapping ("/materialStore/{thickness}/{model}") |
| | |
| | | //工程信息 |
| | | List<Map<String, Object>> projectInfoMp(String projectNo); |
| | | |
| | | //工程信息流程卡 |
| | | List<Map<String, Object>> getProcessCardMp(String projectNo); |
| | | |
| | | //库存信息 |
| | | List<Map<String, Object>> materialStoreMp(String thickness, String model); |
| | | |
| | |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @DS("mm") |
| | |
| | | //获取对象集合循环进行新增修改 |
| | | List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class); |
| | | if (!flowCardlist.isEmpty()){ |
| | | //获取单号 |
| | | String oddNumber= orderNumberSetting("入库"); |
| | | for (FlowCard flowCard : flowCardlist) { |
| | | //获取单号 |
| | | String oddNumber= orderNumberSetting("入库"); |
| | | //添加出入库记录 |
| | | finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber,container); |
| | | Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber()); |
| | |
| | | return map; |
| | | } |
| | | |
| | | //工程信息流程卡 |
| | | public Map<String, Object> getProcessCardSv(String projectNo) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", glassOptimizeMapper.getProcessCardMp(projectNo)); |
| | | return map; |
| | | } |
| | | |
| | | //库存信息 |
| | | public Map<String, Object> materialStoreSv(String thickness, String model) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | if (object.get("userName") != null) { |
| | | userName = object.get("userName").toString(); |
| | | } |
| | | if ("null".equals(projectNmae)) { |
| | | projectNmae = ""; |
| | | } |
| | | Double sumArea = (double) 0; |
| | | Double area = (double) 0; |
| | | Integer sumQuantity = 0; |
| | |
| | | fc.process_id, |
| | | fc.received_quantity, |
| | | o.batch |
| | | from pp.flow_card fc left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on |
| | | from (select *,min(inventory_quantity) as min_inventory_quantity from pp.flow_card group by order_id,order_number,process_id) as fc |
| | | left join sd.order_detail od on fc.order_id=od.order_id and fc.order_number=od.order_number inner join sd.`order` o on |
| | | o.order_id=fc.order_id |
| | | <where> |
| | | and fc.received_quantity <![CDATA[<]]> fc.inventory_quantity |
| | | and fc.received_quantity <![CDATA[<]]> fc.min_inventory_quantity |
| | | <if test="flowCard.order.orderId != null and flowCard.order.orderId != ''"> |
| | | and o.order_id regexp #{flowCard.order.orderId} |
| | | </if> |
| | |
| | | <if test="finishedOperateLog.quantity != null and finishedOperateLog.quantity != ''"> |
| | | and fol.quantity regexp #{finishedOperateLog.quantity} |
| | | </if> |
| | | <if test="finishedOperateLog.processId != null and finishedOperateLog.processId != ''"> |
| | | and fol.process_id regexp #{finishedOperateLog.processId} |
| | | </if> |
| | | <if test="finishedOperateLog.operator != null and finishedOperateLog.operator != ''"> |
| | | and fol.operator regexp #{finishedOperateLog.operator} |
| | | </if> |
| | |
| | | f.order_number; |
| | | </select> |
| | | |
| | | <!--工程信息流程卡--> |
| | | <select id="getProcessCardMp"> |
| | | SELECT |
| | | fc.process_id, |
| | | fc.order_number, |
| | | fc.quantity, |
| | | CONCAT(fc.technology_number, '/', COUNT(fc.technology_number)) AS layer, |
| | | so.project, |
| | | CONCAT(sd.child_width, ' × ', sd.child_height) AS sizes |
| | | FROM |
| | | pp.flow_card AS fc |
| | | INNER JOIN sd.order AS so ON fc.order_id = so.order_id |
| | | INNER JOIN sd.order_glass_detail AS sd ON sd.order_id = so.order_id AND fc.order_id = sd.order_id |
| | | AND fc.order_number = sd.order_number |
| | | WHERE |
| | | fc.project_no = #{projectNo} |
| | | GROUP BY |
| | | fc.order_id, |
| | | fc.technology_number, |
| | | fc.order_number |
| | | </select> |
| | | |
| | | <!--库存信息--> |
| | | <select id="materialStoreMp"> |
| | | SELECT |