| | |
| | | <database-info product="MySQL" version="8.0.19" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-java-8.0.25 (Revision: 08be9e9b4cba6aa115f9b27b215887af40b159e0)" dbms="MYSQL" exact-version="8.0.19" exact-driver-version="8.0"> |
| | | <extra-name-characters>#@</extra-name-characters> |
| | | <identifier-quote-string>`</identifier-quote-string> |
| | | <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema> |
| | | </database-info> |
| | | <case-sensitivity plain-identifiers="lower" quoted-identifiers="lower" /> |
| | | <secret-storage>master_key</secret-storage> |
| | |
| | | private Double otherMoney; |
| | | private String otherMoneyRemarks; |
| | | private String processingNote; |
| | | private String otherRemaks; |
| | | private String otherRemarks; |
| | | private Double area; |
| | | private Long quantity; |
| | | private String verifierId; |
| | | private String verifier; |
| | | private String createrId; |
| | | private String creater; |
| | | private String creatorId; |
| | | private String creator; |
| | | private Integer createOrder; |
| | | private Integer processReview; |
| | | private Integer orderReview; |
New file |
| | |
| | | package com.example.erp.mapper.sd; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.entity.sd.Order; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | public interface OrderDetailMapper extends BaseMapper<OrderDetail> { |
| | | |
| | | boolean insertBatch(List<OrderDetail> orderDetails); |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper |
| | | PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.example.erp.mapper.sd.OrderDetailMapper"> |
| | | <insert id="insertBatch" parameterType="java.util.List"> |
| | | INSERT INTO |
| | | order_detail (order_id, |
| | | order_number, |
| | | building_number, |
| | | product_id, |
| | | product_name, |
| | | price, |
| | | quantity, |
| | | gross_amount, |
| | | width, |
| | | height, |
| | | shape, |
| | | area, |
| | | gross_area, |
| | | compute_area, |
| | | compute_gross_area, |
| | | processing_note, |
| | | remarks, |
| | | bend_radius, |
| | | edging_type, |
| | | weight, |
| | | perimeter |
| | | ) |
| | | values |
| | | <foreach collection ="orderDetails" item="orderDetail" separator =","> |
| | | (#{orderDetail.orderId}, |
| | | #{orderDetail.orderNumber}, |
| | | #{orderDetail.buildingNumber}, |
| | | #{orderDetail.productId}, |
| | | #{orderDetail.productName}, |
| | | #{orderDetail.price}, |
| | | #{orderDetail.quantity}, |
| | | #{orderDetail.grossAmount}, |
| | | #{orderDetail.width}, |
| | | #{orderDetail.height}, |
| | | #{orderDetail.shape}, |
| | | #{orderDetail.area}, |
| | | #{orderDetail.grossArea}, |
| | | #{orderDetail.computeArea}, |
| | | #{orderDetail.computeGrossArea}, |
| | | #{orderDetail.processingNote}, |
| | | #{orderDetail.remarks}, |
| | | #{orderDetail.bendRadius}, |
| | | #{orderDetail.edgingType}, |
| | | #{orderDetail.weight}, |
| | | #{orderDetail.perimeter} |
| | | ) |
| | | </foreach> |
| | | </insert> |
| | | |
| | | </mapper> |