Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | let otherMoney = ref([]) |
| | | let delivery = ref([]) |
| | | let money = ref("") |
| | | let otherMoneys = 0 |
| | | let takeCare = "注意:请妥善保管好我司的玻璃架,如有丢失或损坏,按1500元只赔偿。谢谢配合!" |
| | | let remark = "备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!" |
| | | |
| | |
| | | delivery.value=deepClone(res.data.delivery) |
| | | money.value=deepClone(res.data.money) |
| | | otherMoney.value=deepClone(res.data.otherMoney) |
| | | |
| | | otherMoney.value.forEach(item => { |
| | | otherMoneys+=item.DeliveryDetailOtherMoney.monery |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td></td> |
| | | <td>{{delivery.money}}</td> |
| | | <td>{{delivery.money-otherMoneys}}</td> |
| | | <td></td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | |
| | | <tr class="day-in"> |
| | | <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" > |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney" :key="index2"> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].alias}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].price}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].count}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].monery}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.monery}}</div> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大写金额: {{money}}</td> |
| | |
| | | </el-row> |
| | | <el-row style="text-align: left "> |
| | | <el-col :span="4">创建时间:{{props.order.createTime}}</el-col> |
| | | <el-col :span="4">审核时间:</el-col> |
| | | <el-col :span="4">审核时间:{{props.order.updateTime}}</el-col> |
| | | <el-col :span="4">打印时间:</el-col> |
| | | </el-row> |
| | | </div> |
| | |
| | | <th class="title-1">订单类型</th> |
| | | <th colspan="4">{{data.order.orderType}}</th> |
| | | <th class="title-1">跟单员</th> |
| | | <th colspan="3">{{data.order.creator}}</th> |
| | | <th colspan="3">{{data.order.salesman}}</th> |
| | | </tr> |
| | | <tr> |
| | | <th>磨边</th> |
| | |
| | | <th class="title-1">订单类型</th> |
| | | <th colspan="4">{{data.order.orderType}}</th> |
| | | <th class="title-1">跟单员</th> |
| | | <th colspan="3">{{data.order.creator}}</th> |
| | | <th colspan="3">{{data.order.salesman}}</th> |
| | | </tr> |
| | | <tr> |
| | | <th>磨边</th> |
| | |
| | | <th>半径</th> |
| | | <th>楼号</th> |
| | | <th>加工要求</th> |
| | | <th>备注</th> |
| | | <th>序号</th> |
| | | <th colspan="2">备注</th> |
| | | <th>备注1</th> |
| | | <th>备注2</th> |
| | | <th>备注3</th> |
| | |
| | | <td>{{item1.bendRadius}}</td> |
| | | <td>{{item1.buildingNumber}}</td> |
| | | <td>{{item1.processingNote}}</td> |
| | | <td>{{item1.remarks}}</td> |
| | | <td></td> |
| | | <td colspan="2">{{item1.remarks}}</td> |
| | | <td>{{((item1.otherColumns?.S04)?item1.otherColumns.S04:'')}}</td> |
| | | <td>{{((item1.otherColumns?.S05)?item1.otherColumns.S05:'')}}</td> |
| | | <td>{{((item1.otherColumns?.S06)?item1.otherColumns.S06:'')}}</td> |
| | |
| | | let delivery = ref([]) |
| | | let otherMoney = ref([]) |
| | | let money = ref("") |
| | | let otherMoneys = 0 |
| | | let takeCare = "注意:请妥善保管好我司的玻璃架,如有丢失或损坏,按1500元只赔偿。谢谢配合!" |
| | | let remark = "备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!" |
| | | |
| | |
| | | delivery.value=deepClone(res.data.delivery) |
| | | money.value=deepClone(res.data.money) |
| | | otherMoney.value=deepClone(res.data.otherMoney) |
| | | |
| | | otherMoney.value.forEach(item => { |
| | | otherMoneys+=item.DeliveryDetailOtherMoney.monery |
| | | }) |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | <td>{{item.DeliveryDetail.quantity}}</td> |
| | | <td>{{item.DeliveryDetail.area}}</td> |
| | | <td></td> |
| | | <td>{{item.DeliveryDetail.money}}</td> |
| | | <td>{{item.DeliveryDetail.grossAmount}}</td> |
| | | <td></td> |
| | | </tr> |
| | | |
| | |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td></td> |
| | | <td>{{delivery.money}}</td> |
| | | <td>{{delivery.money-otherMoneys}}</td> |
| | | <td></td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | |
| | | <tr class="day-in"> |
| | | <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" > |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney" :key="index2"> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].alias}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].price}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].count}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney[0].monery}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.monery}}</div> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;font-weight: bold;" colspan="5">大写金额: {{money}}</td> |
| | |
| | | stringToJson(item.productDetail) |
| | | }) |
| | | |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(3)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(3)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(3)) |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2)) |
| | | |
| | | }) |
| | | } |
| | |
| | | grossNum.value.grossArea=0 |
| | | grossNum.value.perimeter=0 |
| | | data.value= res.data |
| | | |
| | | data.value.orderProductDetail.forEach(item => { |
| | | grossNum.value.quantity += getQuantity(item.productDetail) |
| | | grossNum.value.grossArea += getArea(item.productDetail) |
| | | grossNum.value.perimeter += getPerimeter(item.productDetail) |
| | | stringToJson(item.productDetail) |
| | | }) |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(3)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(3)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(3)) |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2)) |
| | | |
| | | }) |
| | | |
| | |
| | | productList.forEach(item => { |
| | | quantity += item.quantity |
| | | }) |
| | | return parseFloat(quantity.toFixed(3)) |
| | | return parseFloat(quantity.toFixed(2)) |
| | | |
| | | } |
| | | |
| | | const getArea = (productList) => { |
| | | let area = 0 |
| | | productList.forEach(item => { |
| | | area += item.grossArea |
| | | area += item.computeGrossArea |
| | | }) |
| | | return parseFloat(area.toFixed(3)) |
| | | return parseFloat(area.toFixed(2)) |
| | | |
| | | } |
| | | |
| | |
| | | productList.forEach(item => { |
| | | perimeter += item.perimeter |
| | | }) |
| | | return parseFloat(perimeter.toFixed(3)) |
| | | return parseFloat(perimeter.toFixed(2)) |
| | | } |
| | | |
| | | const printSheet = () => { |
| | |
| | | <td colspan="2" style="font-size: 15px;font-weight: bold;" v-if="items.otherColumns?.S02">{{items.otherColumns?.S02}}</td> |
| | | <td colspan="2" style="font-size: 15px;font-weight: bold;" v-else>{{items.width}}x{{items.height}}</td> |
| | | <td>{{items.quantity}}</td> |
| | | <td>{{items.grossArea}}</td> |
| | | <td>{{items.grossArea.toFixed(2)}}</td> |
| | | <td colspan="2">{{items.processingNote}}</td> |
| | | </tr> |
| | | <tr class="day-in" > |
| | |
| | | </el-col> |
| | | <el-col :span="2"><el-text>{{$t('order.icon')}}:</el-text></el-col> |
| | | <el-col :span="2"> |
| | | <el-select v-model="titleUploadData.icon" clearable placeholder=" " allow-create filterable> |
| | | <el-select v-model="titleUploadData.icon" clearable placeholder=" " allow-create filterable default-first-option> |
| | | <el-option v-for="item in titleSelectJson['icon']" |
| | | :key="item.id" |
| | | :label="item.basicName" |
| | |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | url :'/order/getOrderProductSummary', |
| | | exportUrl :'/order/exportOrderReportProduct', |
| | | exportUrl :'/order/exportOrderProductSummary', |
| | | exportName:t('order.orderDetailsSummaryReport'), |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | }) |
| | |
| | | { code: 'sheet3', name: '浏览发货信息' } |
| | | |
| | | ] |
| | | } |
| | | }, |
| | | { code: 'oneClickStorage', name: "一键完工", prefixIcon: 'vxe-icon-copy', visible: true}, |
| | | // { code: 'getProcessList', name: t('searchOrder.processFlows'), prefixIcon: 'vxe-icon-file-txt', visible: true} |
| | | ] |
| | | ] |
| | |
| | | |
| | | break |
| | | } |
| | | case 'oneClickStorage': { |
| | | if(rowClickIndex.value.processReview===0||rowClickIndex.value.orderReview===0){ |
| | | ElMessage.warning('订单未审核') |
| | | return |
| | | } |
| | | if(rowClickIndex.value.warehousing>0){ |
| | | ElMessage.warning('订单已入库') |
| | | return |
| | | } |
| | | request.post(`/FinishedGoodsInventory/oneClickStorage/${rowClickIndex.value.orderId}/${userStore.user.userName}`).then((res) => { |
| | | if(res.code==200 && res.data===true){ |
| | | ElMessage.success(t('productStock.receivedSuccessfully')) |
| | | router.push({path:'/main/order/selectOrder',query:{random:Math.random()}}) |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | break |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | let childName = '' |
| | | try { |
| | | Object.keys(hollowBasic.value).forEach((item, index) => { |
| | | if (hollowBasic.value[item] === '') { |
| | | if (hollowBasic.value[item] === '' && item !== 'GlueDepth') { |
| | | throw new Error(t('product.msg.HollowReview')) |
| | | } |
| | | childName += hollowBasic.value[item] |
| | |
| | | //参数:相应的数据,实体类信息,相应的方法(数据获取),生成的excel名字 |
| | | DownExcel.download(response, FinishedOperateLogDTO.class, finishedGoodsInventoryService.exportFinishedOperateLogReport(dates),"orderReport"); |
| | | } |
| | | |
| | | |
| | | /*订单一键入库*/ |
| | | @ApiOperation("订单一键入库") |
| | | @SaCheckPermission("CreateProductStock.add") |
| | | @PostMapping("/oneClickStorage/{orderId}/{userName}") |
| | | public Result oneClickStorage( @PathVariable String orderId,@PathVariable String userName){ |
| | | return Result.seccess(finishedGoodsInventoryService.oneClickStorage(orderId,userName)); |
| | | |
| | | } |
| | | } |
| | |
| | | import com.example.erp.common.Constants; |
| | | import com.example.erp.common.Result; |
| | | import com.example.erp.dto.sd.OrderDTO; |
| | | import com.example.erp.dto.sd.OrderDetailProductDTO; |
| | | import com.example.erp.entity.sd.Order; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | |
| | | DownExcel.download(response, OrderDTO.class, orderService.exportOrderProductSummary(dates),"orderReport"); |
| | | } |
| | | |
| | | |
| | | @ApiOperation("订单小片标签") |
| | | @PostMapping("/getOrderProductDetailTag/{orderId}") |
| | | public Result getOrderProductDetailTag(@PathVariable String orderId) { |
| | |
| | | @Param("orderNumber") Integer orderNumber, |
| | | @Param("quantity") Integer quantity); |
| | | |
| | | List<OrderDetail> getSelectOrderDetail(String orderId); |
| | | |
| | | Boolean insertOrderFinishedGoodsInventory(@Param("orderDetail") OrderDetail orderDetail); |
| | | |
| | | Boolean updateOrderInventory(@Param("orderDetail") OrderDetail orderDetail); |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | @Param("finishedOperateLog") FinishedOperateLog finishedOperateLog); |
| | | |
| | | List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates); |
| | | |
| | | Boolean insertOrderFinishedOperateLog(@Param("orderDetail") OrderDetail orderDetail,@Param("userName") String userName,@Param("oddNumber") String oddNumber); |
| | | |
| | | } |
| | |
| | | List <Map<String, Object>> getSelectDeliveryDetailPrinting(@Param("deliveryId") String deliveryId, |
| | | @Param("productId") Integer productId,@Param("orderId") String orderId); |
| | | |
| | | List <Map<String, Object>> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId, |
| | | @Param("key") String key,@Param("value") String value); |
| | | Map<String, Object> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId, |
| | | @Param("orderNumber") Integer orderNumber,@Param("key") String key,@Param("value") String value); |
| | | |
| | | List <Map<String, Object>> getSelectOrderotherMoney(@Param("orderId") String orderId, @Param("key") String key,@Param("value") String value); |
| | | Map<String, Object> getSelectOrderotherMoney(@Param("orderId") String orderId,@Param("orderNumber") Integer orderNumber, @Param("key") String key,@Param("value") String value); |
| | | |
| | | List <Map<String, Object>> getSelectOrderDetailPrinting(@Param("productId") Integer productId,@Param("orderId") String orderId); |
| | | |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.dto.sd.OrderDTO; |
| | | import com.example.erp.dto.sd.OrderDetailProductDTO; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | |
| | | |
| | | List<OrderDTO> exportOrderProductSummary(List<LocalDate> dates); |
| | | |
| | | List<OrderDetailProductDTO> exportOrderReportProduct(List<LocalDate> dates); |
| | | |
| | | Map<String, String> getOrderProductDetailTag(String orderId); |
| | | |
| | | List<Map<String,Object>> getOrderProductDistinctById(String orderId); |
| | |
| | | import com.example.erp.mapper.mm.BasicWarehouseTypeMapper; |
| | | 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.service.userInfo.SysErrorService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | FinishedOperateLogMapper finishedOperateLogMapper; |
| | | @Autowired |
| | | BasicWarehouseTypeMapper basicWarehouseTypeMapper; |
| | | @Autowired |
| | | OrderDetailMapper orderDetailMapper; |
| | | @Autowired |
| | | SysErrorService sysErrorService; |
| | | |
| | |
| | | finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"已作废"); |
| | | //修改库存表入库数量 |
| | | finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog); |
| | | if(finishedOperateLog.getProcessId()!=null){ |
| | | //修改流程卡表入库数量 |
| | | finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog); |
| | | } |
| | | |
| | | //修改订单明细表入库数量 |
| | | finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity()); |
| | | //判断订单是否全部入库 |
| | |
| | | } |
| | | |
| | | |
| | | public Boolean oneClickStorage(String orderId,String userName) { |
| | | boolean saveState = true; |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | String oddNumber= orderNumberSetting("入库"); |
| | | 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){ |
| | | //修改库存表入库数量 |
| | | finishedGoodsInventoryMapper.updateOrderInventory(orderDetail); |
| | | }else{ |
| | | finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail); |
| | | } |
| | | finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber); |
| | | finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),Integer.parseInt(orderDetail.getQuantity().toString())); |
| | | } |
| | | finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2); |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | |
| | | return saveState; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | |
| | | List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliveryDetail); |
| | | String orderId=""; |
| | | double otherMoney=0.0; |
| | | for (DeliveryDetail detail : deliveryDetailList) { |
| | | System.out.println(detail); |
| | | orderId=detail.getOrderDetail().getOrderId(); |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | |
| | | List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | |
| | | for (Map<String, Object> stringObjectMap : deliveryDetailList2) { |
| | | if(stringObjectMap.get("other_columns")!=null){ |
| | | JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString()); |
| | |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), detail.getDeliveryId(), key, jsonObject.get(key).toString()); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), |
| | | detail.getDeliveryId(),Integer.parseInt(stringObjectMap.get("order_number").toString()), key, jsonObject.get(key).toString()); |
| | | otherMoney=otherMoney+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | } |
| | |
| | | |
| | | } |
| | | Delivery delivery=deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail); |
| | | delivery.setMoney(delivery.getMoney()+otherMoney); |
| | | map.put("data", list); |
| | | map.put("otherMoney",moneryList); |
| | | map.put("delivery", deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail)); |
| | |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull){ |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | List<Map<String, Object>> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),key,jsonObject.get(key).toString()); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()),key,jsonObject.get(key).toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.example.erp.common.Constants; |
| | | import com.example.erp.dto.sd.OrderDTO; |
| | | import com.example.erp.dto.sd.OrderDetailProductDTO; |
| | | import com.example.erp.entity.sd.*; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.exception.ServiceException; |
| | |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setError(Arrays.toString(e.getStackTrace())); |
| | | sysError.setFunc("saveOrder"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | |
| | | for (int i = 0; i < OrderDetails.size(); i++) { |
| | | OrderDetails.get(i).setOrderNumber(i+1); |
| | | OrderDetails.get(i).setOrderId(orderId); |
| | | OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000))); |
| | | OrderDetails.get(i).setPerimeter(Double.valueOf(String.format("%.3f",(OrderDetails.get(i).getWidth()+OrderDetails.get(i).getHeight())*2/1000*OrderDetails.get(i).getQuantity()))); |
| | | OrderDetails.get(i).setWeight(1.0); |
| | | if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){ |
| | | //获取弯钢弧度 |
| | |
| | | return orderDetailMapper.exportOrderProductSummary(dates); |
| | | } |
| | | |
| | | |
| | | public Map<String,String> getOrderProductDetailTag(String orderId) { |
| | | return orderDetailMapper.getOrderProductDetailTag(orderId); |
| | | } |
| | |
| | | orderProductDetailMap.put("productId",map.get("productId")); |
| | | orderProductDetailMap.put("productName",map.get("productName")); |
| | | List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId); |
| | | orderDetails.forEach(orderDetail->{ |
| | | |
| | | orderDetail.setGrossArea( |
| | | Double.parseDouble(String.format("%.3f",Double.parseDouble( |
| | | String.format("%.3f", |
| | | orderDetail.getWidth()*orderDetail.getHeight()/1000000) |
| | | ) * orderDetail.getQuantity())) |
| | | ); |
| | | }); |
| | | |
| | | orderProductDetailMap.put("productDetail",orderDetails); |
| | | orderProductDetail.add(orderProductDetailMap); |
| | |
| | | ; |
| | | </select> |
| | | |
| | | <select id="getSelectOrderDetail" > |
| | | select * from sd.order_detail where order_id=#{orderId} |
| | | </select> |
| | | |
| | | <insert id="insertOrderFinishedGoodsInventory" useGeneratedKeys="true" > |
| | | insert into mm.finished_goods_inventory (order_id, |
| | | order_number, |
| | | process_id, |
| | | inventory, |
| | | actual_signal_area, |
| | | area, |
| | | quantity_available, |
| | | warehouse_number, |
| | | storage_region, |
| | | `status`, |
| | | enter_storage_time, |
| | | update_time, |
| | | end_time, |
| | | remark |
| | | ) |
| | | values ( |
| | | #{orderDetail.orderId} ,#{orderDetail.orderNumber},"",#{orderDetail.quantity},#{orderDetail.computeArea}, |
| | | #{orderDetail.computeGrossArea}, |
| | | #{orderDetail.quantity},null,"", |
| | | 0,now(),now(),null,"" |
| | | ) |
| | | </insert> |
| | | |
| | | <update id="updateOrderInventory"> |
| | | update mm.finished_goods_inventory |
| | | set inventory=inventory+${orderDetail.quantity},quantity_available=quantity_available+${orderDetail.quantity}, |
| | | update_time=now(),area=actual_signal_area*quantity_available |
| | | where order_number=#{orderDetail.orderNumber} and order_id=#{orderDetail.orderId} |
| | | </update> |
| | | |
| | | |
| | | |
| | | |
| | |
| | | and fol.remarks regexp #{finishedOperateLog.remarksr} |
| | | </if> |
| | | </where> |
| | | order by fol.`status` desc |
| | | order by fol.operate_time desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | |
| | | |
| | | </select> |
| | | |
| | | <insert id="insertOrderFinishedOperateLog" useGeneratedKeys="true" > |
| | | insert into mm.finished_operate_log(operation_order_number, |
| | | order_id, |
| | | process_id, |
| | | operation_number, |
| | | operate_type, |
| | | operator, |
| | | quantity, |
| | | operate_time, |
| | | status |
| | | ) |
| | | values ( |
| | | #{oddNumber} ,#{orderDetail.orderId},"",#{orderDetail.orderNumber},"入库",#{userName},#{orderDetail.quantity},now(),"未审核" |
| | | ) |
| | | </insert> |
| | | |
| | | |
| | | |
| | | |
| | | </mapper> |
| | |
| | | </select> |
| | | |
| | | <select id="getSelectOrderPrinting" > |
| | | select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as money,sum(od.quantity) as quantity from |
| | | select od.order_id,od.product_id,p.remarks as product_name,sum(od.compute_gross_area) as area,sum(od.gross_amount) as gross_amount ,sum(od.quantity) as quantity from |
| | | order_detail od left join product p on od.product_id=p.id |
| | | |
| | | <where> |
| | |
| | | left join order_other_money oom on oom.order_id=dd.order_id and oom.column=#{key} |
| | | left join basic_other_money bom on bom.`column`=oom.`column` |
| | | where delivery_id = #{deliveryId} |
| | | and od.order_id = #{orderId} |
| | | and od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null) |
| | | </select> |
| | | |
| | | <select id="getSelectOrderotherMoney" > |
| | |
| | | from order_detail od |
| | | left join order_other_money oom on oom.order_id=od.order_id and oom.column=#{key} |
| | | left join basic_other_money bom on bom.`column`=oom.`column` |
| | | where od.order_id = #{orderId} |
| | | where od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null) |
| | | </select> |
| | | |
| | | <select id="getSelectOrderDetailPrinting" > |
| | |
| | | </select> |
| | | |
| | | <select id="exportOrderProductSummary" > |
| | | SELECT |
| | | *, |
| | | a.create_time as createTime, |
| | | d.type_name as level_one, |
| | | e.type_name as level_two |
| | | from order_detail as a |
| | | SELECT a.id, |
| | | a.order_id, |
| | | a.order_number, |
| | | a.building_number, |
| | | a.product_id, |
| | | a.product_name, |
| | | a.price, |
| | | sum(a.quantity) as quantity, |
| | | a.gross_amount, |
| | | a.width, |
| | | a.height, |
| | | a.shape, |
| | | sum(a.area) as area, |
| | | sum(a.gross_area) as gross_area, |
| | | sum(a.compute_area) as compute_area, |
| | | sum(a.compute_gross_area) as compute_gross_area, |
| | | a.processing_note, |
| | | a.remarks, |
| | | a.bend_radius, |
| | | a.edging_type, |
| | | a.weight, |
| | | a.perimeter, |
| | | a.other_columns, |
| | | a.warehouse_num, |
| | | a.delivery_num, |
| | | a.return_num, |
| | | a.state, |
| | | b.id, |
| | | b.order_id, |
| | | b.project, |
| | | b.customer_id, |
| | | b.customer_name, |
| | | b.order_type, |
| | | b.order_classify, |
| | | b.icon, |
| | | b.pack_type, |
| | | b.delivery_date, |
| | | b.batch, |
| | | b.calculate_type, |
| | | b.salesman_id, |
| | | b.salesman, |
| | | b.al_type, |
| | | b.money, |
| | | b.contract_id, |
| | | b.customer_batch, |
| | | b.contacts, |
| | | b.contact_number, |
| | | b.delivery_address, |
| | | b.other_money, |
| | | b.other_money_remarks, |
| | | b.processing_note, |
| | | b.other_remarks, |
| | | b.area, |
| | | b.quantity, |
| | | b.perimeter, |
| | | b.verifier_id, |
| | | b.verifier, |
| | | b.creator_id, |
| | | b.creator, |
| | | b.create_order, |
| | | b.process_review, |
| | | b.order_review, |
| | | b.production_order, |
| | | b.processing_card, |
| | | b.warehousing, |
| | | b.delivery, |
| | | b.create_time, |
| | | b.update_time, |
| | | d.type_name as level_one, e.type_name as level_two |
| | | from sd.order_detail as a |
| | | left join sd.`order` as b |
| | | on b.order_id = a.order_id |
| | | left join sd.product as c |
| | |
| | | on d.type_id = c.type_id |
| | | left join sd.basic_glass_type as e |
| | | on e.type_id = d.belong |
| | | where date(a.create_time)>=#{dates[0]} and date(a.create_time) <= #{dates[1]} |
| | | where date(a.create_time) >= #{dates[0]} |
| | | and date(a.create_time) <= #{dates[1]} |
| | | group by b.order_id,a.product_id |
| | | order by b.order_id desc |
| | | </select> |