guoyuji
2024-01-26 97a25e0cf8fcedda488bce97cdd95d85ec829619
修改实体类字段
3个文件已修改
2个文件已添加
115 ■■■■■ 已修改文件
north-glass-erp/.idea/dataSources.local.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderDetail.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/.idea/dataSources.local.xml
@@ -23,6 +23,7 @@
      <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>
north-glass-erp/src/main/java/com/example/erp/entity/sd/Order.java
@@ -36,13 +36,13 @@
    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;
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
New file
@@ -0,0 +1,14 @@
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);
}
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -5,6 +5,7 @@
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;
@@ -23,11 +24,28 @@
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);
@@ -35,11 +53,20 @@
        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;
    }
}
north-glass-erp/src/main/resources/mapper/sd/OrderDetail.xml
New file
@@ -0,0 +1,57 @@
<?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>