| | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.example.erp.entity.sd.Order; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.mapper.sd.OrderDetailMapper; |
| | | import com.example.erp.mapper.sd.OrderMapper; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | public class OrderService { |
| | | @Autowired |
| | | private OrderMapper orderMapper; |
| | | @Transactional |
| | | @Autowired |
| | | private OrderDetailMapper orderDetailMapper; |
| | | |
| | | public boolean saveOrder(Map<String,Object> orderMap) { |
| | | JSONObject orderJson = new JSONObject(orderMap); |
| | | Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("title")), Order.class); |
| | | List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(orderJson.get("detail")), OrderDetail.class); |
| | | boolean saveState = true; |
| | | //判断传入id参数是否为空,未传入id为空插入订单表,传入更新表 |
| | | if(order.getOrderId() == null){ |
| | | saveState = insertOrder(order,OrderDetails); |
| | | }else { |
| | | saveState = updateOrder(order,OrderDetails); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | return false; |
| | | } |
| | | @Transactional |
| | | public boolean insertOrder(Order order,List<OrderDetail> OrderDetails) { |
| | | Integer maxOrderId = orderMapper.selectMaxOrderId(); |
| | | //查询订单id,并且自增 |
| | | String formattedNumber = String.format("%02d", maxOrderId+1); |
| | |
| | | Date currentDate = new Date(); |
| | | SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); |
| | | String formattedDate = dateFormat.format(currentDate); |
| | | order.setOrderId("NG"+formattedDate + formattedNumber); |
| | | |
| | | //System.out.println(order); |
| | | //往主表插数据 |
| | | orderMapper.insert(order); |
| | | |
| | | //循环给订单明细表字段添加序号和周长 |
| | | for (int i = 0; i < OrderDetails.size(); i++) { |
| | | OrderDetails.get(i).setOrderNumber(i+1); |
| | | order.setOrderId(formattedDate); |
| | | OrderDetails.get(i).setPerimeter(OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()*2); |
| | | } |
| | | //往明细表插数据 |
| | | orderDetailMapper.insertBatch(OrderDetails); |
| | | return false; |
| | | } |
| | | |
| | | public boolean updateOrder(Order order,List<OrderDetail> OrderDetails) { |
| | | return false; |
| | | } |
| | | } |