Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | visible: true, |
| | | disabled: false |
| | | }, |
| | | { |
| | | code: 'flashback', |
| | | name: '倒叙', |
| | | prefixIcon: 'vxe-icon-indicator', |
| | | visible: true, |
| | | disabled: false |
| | | }, |
| | | ] |
| | | ] |
| | | } |
| | |
| | | } |
| | | break |
| | | } |
| | | case 'flashback' : { |
| | | let result = toolbarButtonClickEvent() |
| | | if (result.cell === "sort" ) { |
| | | if (result) { |
| | | const dataList = xGridDetail.value.getTableData().visibleData |
| | | let val = dataList[result.start][result.cell] |
| | | dataList.forEach((item, index) => { |
| | | if (index >= result.start && index <= result.end) { |
| | | item[result.cell] = val |
| | | val=val*1-1 |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | //修改相同产品名称标签 |
| | | const updateProductName = (event, index) => { |
| | | const updateProductName = (event, index,id) => { |
| | | // 创建映射对象 |
| | | const propertyMapping = {}; |
| | | labelList.forEach(item => { |
| | |
| | | } |
| | | |
| | | // 遍历 lastList 并更新对应的属性 |
| | | console.log(lastList.value,id) |
| | | console.log(lastList.value[index].glassNumber) |
| | | lastList.value.forEach(obj => { |
| | | // 获取前缀和 orderId |
| | | const prefix = obj.processId.substring(0, 11); |
| | | const orderId = obj.orderId; |
| | | const glassNumber=obj.glassNumber |
| | | |
| | | const glassNumber=lastList.value[id].glassNumber |
| | | // 根据 propertyName 更新属性 |
| | | if (propertyName === 'productAbbreviation' && prefix === obj.processId.substring(0, 11)) { |
| | | obj.productAbbreviation = result; |
| | |
| | | if (propertyName === 'project' && orderId === obj.orderId) { |
| | | obj.project = result; |
| | | } |
| | | |
| | | if (propertyName === 'productName' && glassNumber === obj.glassNumber){ |
| | | obj.productName = result; |
| | | } |
| | |
| | | |
| | | <template> |
| | | <div id="print" :class="company.printLabel.className.custom.printFlowCardName()"> |
| | | <div v-for="(item1,id) in lastList" :class="company.printLabel.className.custom.entiretyName()"> |
| | | <div v-for="(item1,index) in lastList" :class="company.printLabel.className.custom.entiretyName()"> |
| | | <div class="row4">{{ faceOrientation }}</div> |
| | | <div v-for="(item,id) in labelList" :class="company.printLabel.className.custom.contentRowName()"> |
| | | <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1" contenteditable="true" @input="updateProductName($event, id)" v-text="item.title+':'+item1[item.name]"></div> |
| | | <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row1" contenteditable="true" @input="updateProductName($event, id,index)" v-text="item.title+':'+item1[item.name]"></div> |
| | | <!-- <div class="row2" style="width: 100%;"><input class="contentRow2" v-model="item1[item.name]" @keyup="updataProductName()" style="border: none;"/></div>--> |
| | | <!-- <div v-if="item1[item.name] != null && item1[item.name] !== ''" class="row2" style="width: 100%;" contenteditable="true" @input="updateProductName($event, id)" v-text="item1[item.name]"></div>--> |
| | | </div> |
| | |
| | | </tr> |
| | | <tr v-for="(itemtextareas,index) in item.detail" :key="index"> |
| | | <td colspan="29" rowspan="6" style="width: 480px;height: 150px "> |
| | | <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px">{{itemtextareas.processing_note}}</textarea> |
| | | <div style="width: 100%;height: 100%;"><textarea style="height: 99%;width: 99%;border: none;;font-size: 12px;overflow: hidden;">{{itemtextareas.processing_note}}</textarea> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | |
| | | visible: true, |
| | | disabled: false |
| | | }, |
| | | { |
| | | code: 'flashback', |
| | | name: '倒叙', |
| | | prefixIcon: 'vxe-icon-indicator', |
| | | visible: true, |
| | | disabled: false |
| | | }, |
| | | ] |
| | | ] |
| | | } |
| | |
| | | } |
| | | break |
| | | } |
| | | case 'flashback' : { |
| | | let result = toolbarButtonClickEvent() |
| | | if (result.cell === "sort" ) { |
| | | if (result) { |
| | | const dataList = xGridDetail.value.getTableData().visibleData |
| | | let val = dataList[result.start][result.cell] |
| | | dataList.forEach((item, index) => { |
| | | if (index >= result.start && index <= result.end) { |
| | | item[result.cell] = val |
| | | val=val*1-1 |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | {field: 'price',width:120, title: t('order.price'),editRender: { name: 'input' },filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'finishedGoodsInventory.storageRegion',width:120, title: t('productStock.inventoryArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'deliveryDetail.money',width:120, title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'width',width:120, title: t('order.width'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'height',width:120, title: t('order.height'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'order.batch',width:120, title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'shape',width:120, title: t('order.shape'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'finishedGoodsInventory.actualSignalArea',width:120, title: t('productStock.singlePieceArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | |
| | | |
| | | }) |
| | | request.post("/Delivery/insertDelivery", flowData.value).then((res) => { |
| | | if(res.code==200 && res.data===true){ |
| | | if(res.code==200 && res.data==="true"){ |
| | | ElMessage.success(t('delivery.deliveryNoteSubmittedSuccessfully')) |
| | | router.push({path: '/main/delivery/selectDelivery', query:{random:Math.random()}}) |
| | | }else if(res.data===false){ |
| | | }else if(res.data==="false1"){ |
| | | ElMessage.warning(t('delivery.pleaseMsg1')) |
| | | }else if(res.data==="false2"){ |
| | | ElMessage.warning("订单存在已发货请刷新界面") |
| | | }else if(res.data==="false3"){ |
| | | ElMessage.warning("数据不存在") |
| | | }else{ |
| | | ElMessage.warning(t('basicData.msg.saveFail')) |
| | | } |
| | |
| | | |
| | | List<DeliveryDetailProductDTO> exportDeliveryDetailProductReport(List<LocalDate> dates); |
| | | |
| | | OrderDetail selectOrderDetailDeliveryCount(@Param("orderDetail") OrderDetail orderDetail); |
| | | |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Boolean insertDelivery(Map<String,Object> object) { |
| | | public String insertDelivery(Map<String,Object> object) { |
| | | |
| | | boolean saveState = true; |
| | | String saveState = "true"; |
| | | //设置回滚点 |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | |
| | |
| | | //获取对象集合循环进行新增修改 |
| | | if (!orderDetaillist.isEmpty()) { |
| | | for (OrderDetail orderDetail : orderDetaillist) { |
| | | double deliveryDetailotherMoneys=0.0; |
| | | Integer calculateType=0; |
| | | OrderDetail orderDetails =deliveryDetailMapper.selectOrderDetailDeliveryCount(orderDetail); |
| | | Boolean aBoolean1 =orderDetails.getQuantity()>= orderDetail.getDeliveryDetail().getQuantity()+orderDetails.getDeliveryNum(); |
| | | Boolean aBoolean2 = !Integer.valueOf(orderDetails.getQuantity().toString()).equals(orderDetails.getDeliveryNum()); |
| | | //判断是否已经发货 |
| | | if(aBoolean1 && aBoolean2){ |
| | | double deliveryDetailotherMoneys=0.0; |
| | | Integer calculateType=0; |
| | | |
| | | if (orderDetail.getOrder().getOrderId()==null){ |
| | | Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId()); |
| | | calculateType=order.getCalculateType(); |
| | | }else{ |
| | | calculateType=orderDetail.getOrder().getCalculateType(); |
| | | } |
| | | double deliveryDetailMoney = 0.0; |
| | | |
| | | BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea()); |
| | | BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getDeliveryDetail().getQuantity()); |
| | | BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice()); |
| | | BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth()); |
| | | BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight()); |
| | | BigDecimal singlePieceArea =getComputeArea.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP) |
| | | .multiply(getPrice).setScale(2, RoundingMode.HALF_UP); |
| | | //根据订单计算方式进行金额计算 |
| | | if (calculateType==1){ |
| | | deliveryDetailMoney=singlePieceArea.doubleValue(); |
| | | |
| | | }else if (calculateType==2){ |
| | | if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())){ |
| | | deliveryDetailMoney=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP) |
| | | .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | if (orderDetail.getOrder().getOrderId()==null){ |
| | | Order order=deliveryMapper.selectOrderId(orderDetail.getOrderId()); |
| | | calculateType=order.getCalculateType(); |
| | | }else{ |
| | | deliveryDetailMoney=singlePieceArea.doubleValue(); |
| | | calculateType=orderDetail.getOrder().getCalculateType(); |
| | | } |
| | | }else if (calculateType==3){ |
| | | deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | double deliveryDetailMoney = 0.0; |
| | | |
| | | } |
| | | BigDecimal getComputeArea= BigDecimal.valueOf(orderDetail.getComputeArea()); |
| | | BigDecimal getQuantity= BigDecimal.valueOf(orderDetail.getDeliveryDetail().getQuantity()); |
| | | BigDecimal getPrice= BigDecimal.valueOf(orderDetail.getPrice()); |
| | | BigDecimal getWidth= BigDecimal.valueOf(orderDetail.getWidth()); |
| | | BigDecimal getHeight= BigDecimal.valueOf(orderDetail.getHeight()); |
| | | BigDecimal singlePieceArea =getComputeArea.multiply(getQuantity).setScale(2, RoundingMode.HALF_UP) |
| | | .multiply(getPrice).setScale(2, RoundingMode.HALF_UP); |
| | | //根据订单计算方式进行金额计算 |
| | | if (calculateType==1){ |
| | | deliveryDetailMoney=singlePieceArea.doubleValue(); |
| | | |
| | | }else if (calculateType==2){ |
| | | if(Objects.equals(orderDetail.getArea(), orderDetail.getComputeArea())){ |
| | | deliveryDetailMoney=getWidth.multiply(getHeight).multiply(getQuantity).divide(BigDecimal.valueOf(1000000), 2, RoundingMode.HALF_UP) |
| | | .multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | }else{ |
| | | deliveryDetailMoney=singlePieceArea.doubleValue(); |
| | | } |
| | | }else if (calculateType==3){ |
| | | deliveryDetailMoney=getQuantity.multiply(getPrice).setScale(2, RoundingMode.HALF_UP).doubleValue(); |
| | | |
| | | } |
| | | /*if (calculateType==1){ |
| | | deliveryDetailMoney=Double.parseDouble(String.format("%.2f",Double.parseDouble( |
| | | String.format("%.2f", orderDetail.getComputeArea()*orderDetail.getDeliveryDetail().getQuantity()) |
| | |
| | | |
| | | |
| | | |
| | | if(orderDetail.getOtherColumns()!="{}"&&orderDetail.getOtherColumns()!=null){ |
| | | JSONObject jsonObject = JSON.parseObject(orderDetail.getOtherColumns()); |
| | | for(String key : jsonObject.keySet()){ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), key, jsonObject.get(key).toString()); |
| | | if(deliveryDetailOtherMoney.get("monery")!=null){ |
| | | otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | deliveryDetailotherMoneys=Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | }else{ |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | return false; |
| | | if(orderDetail.getOtherColumns()!="{}"&&orderDetail.getOtherColumns()!=null){ |
| | | JSONObject jsonObject = JSON.parseObject(orderDetail.getOtherColumns()); |
| | | for(String key : jsonObject.keySet()){ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), key, jsonObject.get(key).toString()); |
| | | if(deliveryDetailOtherMoney.get("monery")!=null){ |
| | | otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | deliveryDetailotherMoneys=Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | }else{ |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | return "false1"; |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //对循环明细的数据进行累加 |
| | | quantity += orderDetail.getDeliveryDetail().getQuantity(); |
| | | area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | money += deliveryDetailMoney; |
| | | Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber); |
| | | |
| | | //额外金额修改 |
| | | Map<String,String> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, String>>(){}); |
| | | if(otherColumns!=null){ |
| | | otherColumns.forEach((key, value) ->{ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull){ |
| | | deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{ |
| | | if(deliveryOtherMoney.getColumn().equals(key)){ |
| | | deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+( Double.valueOf(value)* orderDetail.getDeliveryDetail().getQuantity())); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //新增发货明细数据 |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys); |
| | | //修改订单明细 |
| | | deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail); |
| | | //修改库存表出库数量 |
| | | finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity()); |
| | | }else{ |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | return "false2"; |
| | | } |
| | | |
| | | |
| | | //对循环明细的数据进行累加 |
| | | quantity += orderDetail.getDeliveryDetail().getQuantity(); |
| | | area += orderDetail.getComputeArea() * orderDetail.getDeliveryDetail().getQuantity(); |
| | | money += deliveryDetailMoney; |
| | | Integer deliveryDetailmaximum = deliveryDetailMapper.getdeliveryDetailmaximum(oddNumber); |
| | | |
| | | //额外金额修改 |
| | | Map<String,String> otherColumns = JSON.parseObject(orderDetail.getOtherColumns(), new TypeReference<Map<String, String>>(){}); |
| | | if(otherColumns!=null){ |
| | | otherColumns.forEach((key, value) ->{ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull){ |
| | | deliveryOtherMoneyList.forEach(deliveryOtherMoney ->{ |
| | | if(deliveryOtherMoney.getColumn().equals(key)){ |
| | | deliveryOtherMoney.setQuantity(deliveryOtherMoney.getQuantity()+( Double.valueOf(value)* orderDetail.getDeliveryDetail().getQuantity())); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //新增发货明细数据 |
| | | deliveryDetailMapper.insertDeliveryDetail(orderDetail, oddNumber, deliveryDetailmaximum + 1,deliveryDetailMoney,deliveryDetailotherMoneys); |
| | | //修改订单明细 |
| | | deliveryDetailMapper.updateOrderDetailDeliveryNum(orderDetail); |
| | | //修改库存表出库数量 |
| | | finishedGoodsInventoryMapper.updateInventoryquantityOut(orderDetail.getOrderId(), orderDetail.getOrderNumber(), orderDetail.getDeliveryDetail().getQuantity()); |
| | | |
| | | } |
| | | //往订单其他金额副表传入数据 |
| | |
| | | deliveryMapper.updatedelivery(Double.valueOf(String.format("%.2f", area)), quantity, Double.valueOf(intMoney), otherMoney.get(), oddNumber); |
| | | logService.saveLog(log); |
| | | } else { |
| | | return false; |
| | | return "false3"; |
| | | } |
| | | }catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | |
| | | sysError.setError(e+Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("insertDelivery"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | saveState = "false4"; |
| | | |
| | | } |
| | | |
| | |
| | | ogds.order_number, |
| | | GROUP_CONCAT(ogds.technology_number SEPARATOR '') AS technology_number, |
| | | ogds.glass_child AS concatenated_glass_child, |
| | | process AS processed_part |
| | | process AS processed_part, |
| | | ogds.child_width, |
| | | ogds.child_height |
| | | from sd.order_glass_detail as ogds |
| | | where ogds.order_id = #{orderId} |
| | | GROUP BY order_id, order_number, ogds.glass_child,process) as ogdss |
| | | GROUP BY order_id, order_number, ogds.glass_child,process,ogds.child_width,ogds.child_height) as ogdss |
| | | on fc.order_id = ogdss.order_id and ogdss.order_number = fc.order_number |
| | | where fc.order_id = #{orderId} |
| | | GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part |
| | | GROUP BY fc.process_id, ogdss.concatenated_glass_child,ogdss.processed_part,ogdss.child_width,ogdss.child_height |
| | | order by fc.process_id, ogdss.technology_number) |
| | | |
| | | UNION |
| | |
| | | <select id="getDetailList"> |
| | | select fc.order_number, |
| | | concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width, |
| | | od.quantity, |
| | | fc.quantity, |
| | | round(ogd.total_area, 2) as total_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | |
| | | and fcs.process=#{process} |
| | | where fc.process_id = #{processId} |
| | | and position(fc.technology_number in #{technologyNumber}) |
| | | group by fc.process_id, fc.order_number |
| | | group by fc.process_id, fc.order_number,fc.technology_number |
| | | order by IF(fcs.sort != NULL or fcs.sort != '', fcs.sort, fc.order_number) |
| | | </select> |
| | | |
| | |
| | | <select id="getDetailListLike"> |
| | | select fc.order_number, |
| | | concat(round(ogd.child_width), "*", round(ogd.child_height)) as child_width, |
| | | od.quantity, |
| | | fc.quantity, |
| | | round(ogd.total_area, 2) as total_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | |
| | | select sum(quantity) from sd.order_detail where order_id=#{orderId} |
| | | </select> |
| | | |
| | | <select id="selectOrderDetailDeliveryCount"> |
| | | SELECT * FROM sd.order_detail where order_id=#{orderDetail.orderId} and order_number=#{orderDetail.orderNumber} |
| | | </select> |
| | | |
| | | |
| | | <insert id="insertDeliveryDetail" useGeneratedKeys="true" > |
| | | insert into sd.delivery_detail (delivery_id,delivery_number,order_number, |