| | |
| | | <th style="width: 12%;" colspan="2">加工要求</th> |
| | | </tr> |
| | | |
| | | |
| | | </thead> |
| | | <tr> |
| | | <td style="font-size: 15px;text-align: left" colspan="4">产品名称:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td> |
| | | <td style="font-size: 15px;text-align: left" colspan="3">对方单号:</td> |
| | | <td style="font-size: 15px;text-align: left" colspan="3">订单编号:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td> |
| | | </tr> |
| | | </thead> |
| | | |
| | | <tr class="day-in" v-for="(items, index1) in item.DeliveryDetailList" :key="index1"> |
| | | <td>{{items.order_number}}</td> |
| | |
| | | |
| | | |
| | | <style scoped> |
| | | #child{ |
| | | margin-top: 20px; |
| | | } |
| | | h1,h3{ |
| | | left:0; |
| | | right:0; |
| | |
| | | } |
| | | h3{ |
| | | font-size: 1.2rem; |
| | | font-weight: bolder; |
| | | } |
| | | |
| | | |
| | |
| | | .title-s,.title-s th{ |
| | | border:0 |
| | | } |
| | | |
| | | .hr-border{ |
| | | height: 2px; |
| | | width: 100%; |
| | | background-color: black; |
| | | color: black; |
| | | } |
| | | table { |
| | | border-collapse: collapse; |
| | | width: 100%; |
| | |
| | | td > table { |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | .hr-border{ |
| | | height: 2px; |
| | | width: 100%; |
| | | background-color: black; |
| | | color: black; |
| | | } |
| | | @page { |
| | | size: auto; |
| | |
| | | |
| | | |
| | | <style scoped> |
| | | #child{ |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | h1,h3{ |
| | | left:0; |
| | | right:0; |
| | |
| | | print:'打印', |
| | | export:'导出', |
| | | empty:'清空', |
| | | |
| | | incrementalAll:'之后递增', |
| | | incrementalChecked:'选中递增', |
| | | msg:{ |
| | | max255:"最多输入255个字符", |
| | | range99999Dec2: |
| | |
| | | titleUploadData.value.paymentTerms = titleSelectJson.value.paymentTerms[0].basicName |
| | | titleUploadData.value.payMethod = titleSelectJson.value.payMethod[0].basicName |
| | | const today = new Date |
| | | today.setTime(today.getTime() + (15 * 24 * 60 * 60 * 1000)) |
| | | today.setTime(today.getTime() ) |
| | | titleUploadData.value.deliveryDate=today.getFullYear() + |
| | | '-' + ("0" + (today.getMonth() + 1)).slice(-2) |
| | | + '-' + ("0" + today.getDate()).slice(-2) |
| | |
| | | const projectArray=[]; |
| | | for (let i=0;i<selectRecords.length;i++){ |
| | | customerIdArray.push(selectRecords[i].customerId) |
| | | if(selectRecords[i].project.trim.length===0){ |
| | | projectArray.push(selectRecords[i].project.trim) |
| | | }else{ |
| | | projectArray.push(selectRecords[i].project) |
| | | } |
| | | |
| | | if(i+1===selectRecords.length){ |
| | | order_id+=selectRecords[i].orderId |
| | | }else{ |
| | |
| | | return |
| | | } |
| | | //判断所选项目是否相同 |
| | | console.log(projectArray) |
| | | if(!isAllEqual(projectArray)){ |
| | | ElMessage.warning(t('delivery.pleaseSelectTheSameCustomerProject')) |
| | | return |
| | |
| | | { code: 'copyAll', name: t('basicData.sameAfterwards'), prefixIcon: 'vxe-icon-feedback', visible: true, disabled: false }, |
| | | { code: 'clearChecked', name: t('basicData.clearSelection'), prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false }, |
| | | { code: 'computedMoney', name: t('basicData.calculateAmount'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: true }, |
| | | { code: 'incrementalAll', name: t('basicData.incrementalAll'), prefixIcon: 'vxe-icon-feedback', visible: true, disabled: false }, |
| | | { code: 'incrementalChecked', name: t('basicData.incrementalChecked'), prefixIcon: 'vxe-icon-copy', visible: true, disabled: false }, |
| | | { code: 'errorArea', name: t('basicData.errorSettlementArea'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'otherMoney', name: t('basicData.otherAmounts'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'sizeCheck', name: t('basicData.sizeReview'), prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false } |
| | |
| | | sizeCheckVisible.value=true |
| | | break |
| | | } |
| | | case 'incrementalAll' :{ |
| | | let result = toolbarButtonClickEvent() |
| | | if(result){ |
| | | const dataList = xGrid.value.getTableData().visibleData |
| | | const val = getNestedProperty(dataList[result.start],result.cell) |
| | | let numbers = parseInt(val.match(/(\d+)$/)) |
| | | const string=val.replace(/\d+$/, '') |
| | | dataList.forEach((item,index) =>{ |
| | | if(index>=result.start ){ |
| | | setNestedValue(item,result.cell,string+numbers) |
| | | numbers=numbers+1 |
| | | } |
| | | |
| | | }) |
| | | |
| | | } |
| | | gridOptions.menuConfig.body.options[0][5].disabled=false |
| | | break |
| | | } |
| | | case 'incrementalChecked' : { |
| | | let result = toolbarButtonClickEvent() |
| | | if (result) { |
| | | const dataList = xGrid.value.getTableData().visibleData |
| | | const val = getNestedProperty(dataList[result.start], result.cell) |
| | | let numbers = parseInt(val.match(/(\d+)$/)) |
| | | const string=val.replace(/\d+$/, '') |
| | | dataList.forEach((item, index) => { |
| | | if (index >= result.start && index <= result.end) { |
| | | setNestedValue(item, result.cell, string + numbers) |
| | | numbers = numbers + 1 |
| | | } |
| | | }) |
| | | |
| | | } |
| | | gridOptions.menuConfig.body.options[0][5].disabled = false |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | lastObj[lastKey] = value; |
| | | } |
| | | |
| | | |
| | | //行单元格修改修改触发此事件 |
| | | const editClosedEvent = ({ row, column }) => { |
| | | //判断修改相应的数值修改面积与金额 |
| | |
| | | Integer findOrderNumberdcount(@Param("orderId") String orderId, |
| | | @Param("orderNumber") Integer orderNumber); |
| | | |
| | | FinishedGoodsInventory findOrderNumberd(@Param("orderId") String orderId, |
| | | @Param("orderNumber") Integer orderNumber); |
| | | |
| | | Integer finishedGoodsInventorybycount(@Param("orderId") String orderId, |
| | | @Param("orderNumber") Integer orderNumber); |
| | | |
| | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.example.erp.dto.mm.FinishedOperateLogDTO; |
| | | import com.example.erp.entity.mm.FinishedGoodsInventory; |
| | | import com.example.erp.entity.mm.FinishedOperateLog; |
| | |
| | | import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper; |
| | | import com.example.erp.mapper.mm.FinishedOperateLogMapper; |
| | | import com.example.erp.mapper.sd.OrderDetailMapper; |
| | | import com.example.erp.mapper.sd.OrderMapper; |
| | | import com.example.erp.service.userInfo.SysErrorService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import java.sql.SQLException; |
| | | import java.sql.Wrapper; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | |
| | | BasicWarehouseTypeMapper basicWarehouseTypeMapper; |
| | | @Autowired |
| | | OrderDetailMapper orderDetailMapper; |
| | | @Autowired |
| | | OrderMapper orderMapper; |
| | | @Autowired |
| | | SysErrorService sysErrorService; |
| | | |
| | |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | String oddNumber= orderNumberSetting("入库"); |
| | | Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",orderId)); |
| | | if(order.getWarehousing()==0){ |
| | | List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId); |
| | | for (OrderDetail orderDetail:orderDetailList){ |
| | | Integer finishedGoodsInventoryCount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getOrderId(),orderDetail.getOrderNumber()); |
| | | System.out.println(finishedGoodsInventoryCount); |
| | | if(finishedGoodsInventoryCount>0){ |
| | | FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber()); |
| | | if(finishedGoodsInventory!=null){ |
| | | //修改库存表入库数量 |
| | | finishedGoodsInventoryMapper.updateOrderInventory(orderDetail); |
| | | }else{ |
| | |
| | | finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),Integer.parseInt(orderDetail.getQuantity().toString())); |
| | | } |
| | | finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2); |
| | | } |
| | | |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | |
| | | } |
| | | double deliveryDetailMoney = 0.0; |
| | | if (calculateType==1){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",orderDetail.getComputeArea() |
| | | *orderDetail.getDeliveryDetail().getQuantity()*orderDetail.getPrice())); |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf( |
| | | String.format("%.2f", orderDetail.getComputeArea()*orderDetail.getDeliveryDetail().getQuantity()) |
| | | )*orderDetail.getPrice())); |
| | | }else if (calculateType==2){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",Double.valueOf( |
| | | String.format("%.2f", (orderDetail.getComputeArea())*orderDetail.getDeliveryDetail().getQuantity()) |
| | | String.format("%.2f", orderDetail.getComputeArea()*orderDetail.getDeliveryDetail().getQuantity()) |
| | | )*orderDetail.getPrice())); |
| | | }else if (calculateType==3){ |
| | | deliveryDetailMoney=Double.valueOf(String.format("%.2f",orderDetail.getPrice() * orderDetail.getDeliveryDetail().getQuantity())); |
| | |
| | | |
| | | </select> |
| | | |
| | | <select id="findOrderNumberd" > |
| | | select * |
| | | from mm.`finished_goods_inventory` |
| | | where order_number = #{orderNumber} and order_id=#{orderId}; |
| | | |
| | | </select> |
| | | |
| | | <select id="finishedGoodsInventorybycount" > |
| | | select quantity_available |
| | | from mm.`finished_goods_inventory` |
| | |
| | | |
| | | <update id="updateOrderInventory"> |
| | | update mm.finished_goods_inventory |
| | | set inventory=inventory+${orderDetail.quantity},quantity_available=quantity_available+${orderDetail.quantity}, |
| | | set inventory=${orderDetail.quantity},quantity_available=${orderDetail.quantity}, |
| | | update_time=now(),area=actual_signal_area*quantity_available |
| | | where order_number=#{orderDetail.orderNumber} and order_id=#{orderDetail.orderId} |
| | | </update> |