| | |
| | | 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.entity.pp.FlowCard; |
| | |
| | | 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.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.*; |
| | |
| | | FinishedOperateLogMapper finishedOperateLogMapper; |
| | | @Autowired |
| | | BasicWarehouseTypeMapper basicWarehouseTypeMapper; |
| | | @Autowired |
| | | OrderDetailMapper orderDetailMapper; |
| | | @Autowired |
| | | OrderMapper orderMapper; |
| | | @Autowired |
| | | SysErrorService sysErrorService; |
| | | |
| | |
| | | Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId()); |
| | | Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId()); |
| | | |
| | | System.out.println("订单总数:" + ordersum + "已入库数量:" + ordernumbersum + "准备入库数量" + flowCard.getInventoryQuantity()); |
| | | /*System.out.println("订单总数:" + ordersum + "已入库数量:" + ordernumbersum + "准备入库数量" + flowCard.getInventoryQuantity());*/ |
| | | if (finishedGoodsInventorycount > 0) { |
| | | //修改库存表入库数量 |
| | | finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark); |
| | |
| | | finishedGoodsInventoryMapper.updateflowcard(flowCard); |
| | | //修改订单明细表入库数量 |
| | | finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity()); |
| | | //修改订单表入库状态 |
| | | finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); |
| | | if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) { |
| | | //修改订单表入库状态 |
| | | finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2); |
| | | }else{ |
| | | //修改订单表入库状态 |
| | | finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1); |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId()); |
| | | Integer orderDeliveryQuantitySum = finishedGoodsInventoryMapper.findOrderDeliveryQuantitySum(orderDetail.getDeliveryDetail().getOrderId()); |
| | | Integer orderNumberdsum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId()); |
| | | |
| | | Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId()); |
| | | Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0); |
| | |
| | | deliverydetailsum=0; |
| | | } |
| | | |
| | | System.out.println("订单总数:" + ordersum + "订单已发数量:" + orderDeliveryQuantitySum + "准备出库数量" + |
| | | /*System.out.println("订单总数:" + ordersum + "订单库存数:" + orderNumberdsum + "准备出库数量" + |
| | | orderDetail.getWarehouseNum()+ "发货数量" + orderDetail.getDeliveryDetail().getQuantity()+ "发货总数" + |
| | | deliverysum+ "已发数量" + deliverydetailsum); |
| | | deliverysum+ "已发数量" + deliverydetailsum);*/ |
| | | if (finishedGoodsInventorycount > 0) { |
| | | if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){ |
| | | //修改库存表库存数量 |
| | |
| | | //修改订单表发货状态 |
| | | finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1); |
| | | //判断订单是否全部发货 |
| | | if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) { |
| | | if (orderNumberdsum == orderDetail.getWarehouseNum()) { |
| | | //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) { |
| | | //修改订单表发货状态 |
| | | finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2); |
| | | } |
| | |
| | | for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) { |
| | | Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId()); |
| | | Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId()); |
| | | System.out.println(finishedOperateLog.getOperateType()); |
| | | |
| | | if(Objects.equals(finishedOperateLog.getOperateType(), "入库")){ |
| | | //修改记录表 |
| | | finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"已作废"); |
| | | //修改库存表入库数量 |
| | | finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog); |
| | | //修改流程卡表入库数量 |
| | | finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog); |
| | | if(finishedOperateLog.getProcessId()!=null){ |
| | | //修改流程卡表入库数量 |
| | | finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog); |
| | | } |
| | | |
| | | //修改订单明细表入库数量 |
| | | finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity()); |
| | | //判断订单是否全部入库 |
| | |
| | | |
| | | } |
| | | |
| | | public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) { |
| | | return finishedOperateLogMapper.exportFinishedOperateLogReport(dates); |
| | | } |
| | | |
| | | |
| | | public Boolean oneClickStorage(String orderId,String userName) { |
| | | boolean saveState = true; |
| | | 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){ |
| | | FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber()); |
| | | if(finishedGoodsInventory!=null){ |
| | | //修改库存表入库数量 |
| | | 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; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |