diff --git a/src/main/java/com/sunyo/wlpt/station/manage/domain/Warehouse.java b/src/main/java/com/sunyo/wlpt/station/manage/domain/Warehouse.java index 00fc299..2f5f84e 100644 --- a/src/main/java/com/sunyo/wlpt/station/manage/domain/Warehouse.java +++ b/src/main/java/com/sunyo/wlpt/station/manage/domain/Warehouse.java @@ -2,11 +2,9 @@ package com.sunyo.wlpt.station.manage.domain; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; - import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; - import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -14,8 +12,8 @@ import lombok.NoArgsConstructor; /** * @author 子诚 - * Description:仓库静态资源表 - * 时间:2020/10/12 12:00 + * Description: + * 时间:2020/10/13 10:39 */ @ApiModel(value = "仓库静态资源表") @Data @@ -24,8 +22,7 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class Warehouse implements Serializable { - private static final long serialVersionUID = 7237627901812899555L; - + private static final long serialVersionUID = 1224656100260220596L; /** * ID */ @@ -51,22 +48,28 @@ public class Warehouse implements Serializable { private String name; /** + * 仓库类型:001:进港仓库;002:出港仓库;003:监管仓库;004:危险品仓库 + */ + @ApiModelProperty(value = "仓库类型:001:进港仓库;002:出港仓库;003:查验仓库;004:危险品仓库") + private String warehouseType; + + /** * 仓库长度 */ @ApiModelProperty(value = "仓库长度") - private BigDecimal length; + private BigDecimal warehouseLength; /** * 仓库宽度 */ @ApiModelProperty(value = "仓库宽度") - private BigDecimal width; + private BigDecimal warehouseWidth; /** * 仓库面积 */ @ApiModelProperty(value = "仓库面积") - private BigDecimal area; + private BigDecimal warehouseArea; /** * 创建者 diff --git a/src/main/java/com/sunyo/wlpt/station/manage/mapper/WarehouseMapper.java b/src/main/java/com/sunyo/wlpt/station/manage/mapper/WarehouseMapper.java index 6561c5e..65a1a02 100644 --- a/src/main/java/com/sunyo/wlpt/station/manage/mapper/WarehouseMapper.java +++ b/src/main/java/com/sunyo/wlpt/station/manage/mapper/WarehouseMapper.java @@ -1,14 +1,12 @@ package com.sunyo.wlpt.station.manage.mapper; import com.sunyo.wlpt.station.manage.domain.Warehouse; -import org.apache.ibatis.annotations.Mapper; - -import java.util.List; +import org.apache.ibatis.annotations.Mapper;import java.util.List; /** * @author 子诚 * Description: - * 时间:2020/10/12 12:00 + * 时间:2020/10/13 10:39 */ @Mapper public interface WarehouseMapper { diff --git a/src/main/java/com/sunyo/wlpt/station/manage/service/WarehouseService.java b/src/main/java/com/sunyo/wlpt/station/manage/service/WarehouseService.java index 9cbdb79..4ee2f79 100644 --- a/src/main/java/com/sunyo/wlpt/station/manage/service/WarehouseService.java +++ b/src/main/java/com/sunyo/wlpt/station/manage/service/WarehouseService.java @@ -68,3 +68,4 @@ public interface WarehouseService { */ ResultJson selectListByPage(Warehouse warehouse, Integer pageNum, Integer pageSize); } + diff --git a/src/main/java/com/sunyo/wlpt/station/manage/service/impl/BayonetServiceImpl.java b/src/main/java/com/sunyo/wlpt/station/manage/service/impl/BayonetServiceImpl.java index 3ebf472..3dac330 100644 --- a/src/main/java/com/sunyo/wlpt/station/manage/service/impl/BayonetServiceImpl.java +++ b/src/main/java/com/sunyo/wlpt/station/manage/service/impl/BayonetServiceImpl.java @@ -58,8 +58,8 @@ public class BayonetServiceImpl implements BayonetService { @Override public ResultJson insertSelective(Bayonet bayonet) { - Yard yard = yardMapper.selectByYardName(bayonet.getStationName()); - bayonet.setYardId(yard.getId()); +// Yard yard = yardMapper.selectByYardName(bayonet.getStationName()); +// bayonet.setYardId(yard.getId()); bayonet.setId(IdUtils.generateId()); return bayonetMapper.insertSelective(bayonet) > 0 ? ResultJson.success("200", "新增卡口信息,成功") @@ -81,8 +81,8 @@ public class BayonetServiceImpl implements BayonetService { @Override public ResultJson updateByPrimaryKeySelective(Bayonet bayonet) { - Yard yard = yardMapper.selectByYardName(bayonet.getStationName()); - bayonet.setYardId(yard.getId()); +// Yard yard = yardMapper.selectByYardName(bayonet.getStationName()); +// bayonet.setYardId(yard.getId()); return bayonetMapper.updateByPrimaryKeySelective(bayonet) > 0 ? ResultJson.success("200", "编辑卡口信息,成功") : ResultJson.error("500", "编辑卡口信息,失败"); @@ -108,9 +108,9 @@ public class BayonetServiceImpl implements BayonetService { PageHelper.startPage(pageNum, pageSize); List<Bayonet> bayonetList = bayonetMapper.selectListByPage(bayonet); - bayonetList.stream().parallel().forEach(item -> { - item.setStationName(yardMapper.selectByPrimaryKey(item.getYardId()).getName()); - }); +// bayonetList.stream().parallel().forEach(item -> { +// item.setStationName(yardMapper.selectByPrimaryKey(item.getYardId()).getName()); +// }); PageInfo<Bayonet> pageInfo = new PageInfo<>(bayonetList); return pageInfo.getTotal() >= 0 diff --git a/src/main/java/com/sunyo/wlpt/station/manage/service/impl/WarehouseServiceImpl.java b/src/main/java/com/sunyo/wlpt/station/manage/service/impl/WarehouseServiceImpl.java index 4fe5f0a..b7e2b5e 100644 --- a/src/main/java/com/sunyo/wlpt/station/manage/service/impl/WarehouseServiceImpl.java +++ b/src/main/java/com/sunyo/wlpt/station/manage/service/impl/WarehouseServiceImpl.java @@ -2,8 +2,10 @@ package com.sunyo.wlpt.station.manage.service.impl; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.github.pagehelper.util.StringUtil; import com.sunyo.wlpt.station.manage.domain.Bayonet; import com.sunyo.wlpt.station.manage.response.ResultJson; +import com.sunyo.wlpt.station.manage.utils.BigDecimalUtil; import com.sunyo.wlpt.station.manage.utils.IdUtils; import org.springframework.stereotype.Service; @@ -12,7 +14,9 @@ import javax.annotation.Resource; import com.sunyo.wlpt.station.manage.domain.Warehouse; import com.sunyo.wlpt.station.manage.mapper.WarehouseMapper; import com.sunyo.wlpt.station.manage.service.WarehouseService; +import org.springframework.util.StringUtils; +import java.math.BigDecimal; import java.util.List; /** @@ -56,6 +60,13 @@ public class WarehouseServiceImpl implements WarehouseService { public ResultJson insertSelective(Warehouse warehouse) { warehouse.setId(IdUtils.generateId()); + BigDecimal warehouseLength = warehouse.getWarehouseLength(); + BigDecimal warehouseWidth = warehouse.getWarehouseWidth(); + if (StringUtils.isEmpty(warehouseLength) || StringUtils.isEmpty(warehouseWidth)) { + return ResultJson.error("400", "仓库长度与仓库宽度,不能为空!"); + } + + warehouse.setWarehouseArea(BigDecimalUtil.mul(warehouseLength, warehouseWidth)); return warehouseMapper.insertSelective(warehouse) > 0 ? ResultJson.success("200", "增加仓库信息,成功") : ResultJson.error("500", "增加仓库信息,失败"); @@ -106,3 +117,4 @@ public class WarehouseServiceImpl implements WarehouseService { : ResultJson.error("500", "查询仓库信息列表,失败!"); } } + diff --git a/src/main/java/com/sunyo/wlpt/station/manage/utils/BigDecimalUtil.java b/src/main/java/com/sunyo/wlpt/station/manage/utils/BigDecimalUtil.java new file mode 100644 index 0000000..38db450 --- /dev/null +++ b/src/main/java/com/sunyo/wlpt/station/manage/utils/BigDecimalUtil.java @@ -0,0 +1,102 @@ +package com.sunyo.wlpt.station.manage.utils; + +import java.math.BigDecimal; + +/** + * @author 子诚 + * Description:BigDecimal的简单加减乘除工具类 + * <p> + * 可将double类型转成BigDecimal类型; + * BigDecimal b1 = new BigDecimal(Double.toString(v1)); + * <p> + * 时间:2020/10/13 10:59 + */ +public class BigDecimalUtil { + + /** + * 私有构造方法 + */ + private BigDecimalUtil() + { + + } + + /** + * 加法 + * + * @param v1 参数一 + * @param v2 参数二 + * @return + */ + public static BigDecimal add(BigDecimal v1, BigDecimal v2) + { + return v1.add(v1); + } + + /** + * 减法 + * + * @param v1 参数一 + * @param v2 参数二 + * @return + */ + public static BigDecimal sub(BigDecimal v1, BigDecimal v2) + { + return v1.subtract(v2); + } + + /** + * 乘法 + * + * @param v1 参数一 + * @param v2 参数二 + * @return + */ + public static BigDecimal mul(BigDecimal v1, BigDecimal v2) + { + return v1.multiply(v2); + } + + /** + * 乘法 + * + * @param v1 参数一 + * @param v2 参数二 + * @return + */ + public static BigDecimal div(BigDecimal v1, BigDecimal v2) + { + //四舍五入,保留2位小数 + return v1.divide(v2, 2, BigDecimal.ROUND_HALF_UP); + //除不尽的情况 + } + + + public static BigDecimal add(double v1,double v2){ + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.add(b2); + } + + public static BigDecimal sub(double v1,double v2){ + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.subtract(b2); + } + + + public static BigDecimal mul(double v1,double v2){ + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.multiply(b2); + } + + public static BigDecimal div(double v1,double v2){ + BigDecimal b1 = new BigDecimal(Double.toString(v1)); + BigDecimal b2 = new BigDecimal(Double.toString(v2)); + return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留2位小数 + + //除不尽的情况 + } + +} diff --git a/src/main/resources/mapper/WarehouseMapper.xml b/src/main/resources/mapper/WarehouseMapper.xml index 96d18be..8601c28 100644 --- a/src/main/resources/mapper/WarehouseMapper.xml +++ b/src/main/resources/mapper/WarehouseMapper.xml @@ -8,9 +8,10 @@ <result column="yard_id" jdbcType="VARCHAR" property="yardId"/> <result column="cop_code" jdbcType="VARCHAR" property="copCode"/> <result column="name" jdbcType="VARCHAR" property="name"/> - <result column="length" jdbcType="DECIMAL" property="length"/> - <result column="width" jdbcType="DECIMAL" property="width"/> - <result column="area" jdbcType="DECIMAL" property="area"/> + <result column="warehouse_type" jdbcType="VARCHAR" property="warehouseType"/> + <result column="warehouse_length" jdbcType="DECIMAL" property="warehouseLength"/> + <result column="warehouse_width" jdbcType="DECIMAL" property="warehouseWidth"/> + <result column="warehouse_area" jdbcType="DECIMAL" property="warehouseArea"/> <result column="create_by" jdbcType="VARCHAR" property="createBy"/> <result column="create_date" jdbcType="TIMESTAMP" property="createDate"/> <result column="update_by" jdbcType="VARCHAR" property="updateBy"/> @@ -18,19 +19,10 @@ <result column="remarks" jdbcType="VARCHAR" property="remarks"/> <result column="del_flag" jdbcType="CHAR" property="delFlag"/> </resultMap> - - <!-- 该Mapper映射关系的作用,是仓库与场站的1:1的关系映射 --> - <resultMap id="WarehouseAndYardMap" extends="BaseResultMap" - type="com.sunyo.wlpt.station.manage.domain.Warehouse"> - <association property="yard" javaType="com.sunyo.wlpt.station.manage.domain.Yard"> - <id column="id" property="id"/> - <result column="yard_name" property="name"/> - </association> - </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, yard_id, cop_code, `name`, `length`, width, area, create_by, create_date, update_by, - update_date, remarks, del_flag + id, yard_id, cop_code, `name`, warehouse_type, warehouse_length, warehouse_width, warehouse_area, + create_by, create_date, update_by, update_date, remarks, del_flag </sql> <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -39,38 +31,6 @@ from warehouse where id = #{id,jdbcType=VARCHAR} </select> - - <!-- 分页查询 --> - <select id="selectListByPage" parameterType="com.sunyo.wlpt.station.manage.domain.Warehouse" resultMap="WarehouseAndYardMap"> - select w.id, - w.yard_id, - w.cop_code, - w.name, - w.length, - w.width, - w.area, - w.create_by, - w.create_date, - w.update_by, - w.update_date, - w.remarks, - w.del_flag, - y.name as yard_name - from warehouse w, - yard y - <where> - <!-- name,仓库名称 --> - <if test="name != null and name != ''"> - and w.name = #{name,jdbcType=VARCHAR} - </if> - <!-- stationName,货站名称 --> - <if test="stationName != null and stationName != ''"> - and y.name = #{stationName,jdbcType=VARCHAR} - </if> - and w.yard_id = y.id - </where> - </select> - <delete id="deleteByPrimaryKey" parameterType="java.lang.String"> <!--@mbg.generated--> delete @@ -80,15 +40,15 @@ <insert id="insert" parameterType="com.sunyo.wlpt.station.manage.domain.Warehouse"> <!--@mbg.generated--> insert into warehouse (id, yard_id, cop_code, - `name`, `length`, width, - area, create_by, create_date, - update_by, update_date, remarks, - del_flag) + `name`, warehouse_type, warehouse_length, + warehouse_width, warehouse_area, create_by, + create_date, update_by, update_date, + remarks, del_flag) values (#{id,jdbcType=VARCHAR}, #{yardId,jdbcType=VARCHAR}, #{copCode,jdbcType=VARCHAR}, - #{name,jdbcType=VARCHAR}, #{length,jdbcType=DECIMAL}, #{width,jdbcType=DECIMAL}, - #{area,jdbcType=DECIMAL}, #{createBy,jdbcType=VARCHAR}, #{createDate,jdbcType=TIMESTAMP}, - #{updateBy,jdbcType=VARCHAR}, #{updateDate,jdbcType=TIMESTAMP}, #{remarks,jdbcType=VARCHAR}, - #{delFlag,jdbcType=CHAR}) + #{name,jdbcType=VARCHAR}, #{warehouseType,jdbcType=VARCHAR}, #{warehouseLength,jdbcType=DECIMAL}, + #{warehouseWidth,jdbcType=DECIMAL}, #{warehouseArea,jdbcType=DECIMAL}, #{createBy,jdbcType=VARCHAR}, + #{createDate,jdbcType=TIMESTAMP}, #{updateBy,jdbcType=VARCHAR}, #{updateDate,jdbcType=TIMESTAMP}, + #{remarks,jdbcType=VARCHAR}, #{delFlag,jdbcType=CHAR}) </insert> <insert id="insertSelective" parameterType="com.sunyo.wlpt.station.manage.domain.Warehouse"> <!--@mbg.generated--> @@ -106,14 +66,17 @@ <if test="name != null"> `name`, </if> - <if test="length != null"> - `length`, + <if test="warehouseType != null"> + warehouse_type, </if> - <if test="width != null"> - width, + <if test="warehouseLength != null"> + warehouse_length, </if> - <if test="area != null"> - area, + <if test="warehouseWidth != null"> + warehouse_width, + </if> + <if test="warehouseArea != null"> + warehouse_area, </if> <if test="createBy != null"> create_by, @@ -147,14 +110,17 @@ <if test="name != null"> #{name,jdbcType=VARCHAR}, </if> - <if test="length != null"> - #{length,jdbcType=DECIMAL}, + <if test="warehouseType != null"> + #{warehouseType,jdbcType=VARCHAR}, + </if> + <if test="warehouseLength != null"> + #{warehouseLength,jdbcType=DECIMAL}, </if> - <if test="width != null"> - #{width,jdbcType=DECIMAL}, + <if test="warehouseWidth != null"> + #{warehouseWidth,jdbcType=DECIMAL}, </if> - <if test="area != null"> - #{area,jdbcType=DECIMAL}, + <if test="warehouseArea != null"> + #{warehouseArea,jdbcType=DECIMAL}, </if> <if test="createBy != null"> #{createBy,jdbcType=VARCHAR}, @@ -189,14 +155,17 @@ <if test="name != null"> `name` = #{name,jdbcType=VARCHAR}, </if> - <if test="length != null"> - `length` = #{length,jdbcType=DECIMAL}, + <if test="warehouseType != null"> + warehouse_type = #{warehouseType,jdbcType=VARCHAR}, </if> - <if test="width != null"> - width = #{width,jdbcType=DECIMAL}, + <if test="warehouseLength != null"> + warehouse_length = #{warehouseLength,jdbcType=DECIMAL}, </if> - <if test="area != null"> - area = #{area,jdbcType=DECIMAL}, + <if test="warehouseWidth != null"> + warehouse_width = #{warehouseWidth,jdbcType=DECIMAL}, + </if> + <if test="warehouseArea != null"> + warehouse_area = #{warehouseArea,jdbcType=DECIMAL}, </if> <if test="createBy != null"> create_by = #{createBy,jdbcType=VARCHAR}, @@ -222,18 +191,59 @@ <update id="updateByPrimaryKey" parameterType="com.sunyo.wlpt.station.manage.domain.Warehouse"> <!--@mbg.generated--> update warehouse - set yard_id = #{yardId,jdbcType=VARCHAR}, - cop_code = #{copCode,jdbcType=VARCHAR}, - `name` = #{name,jdbcType=VARCHAR}, - `length` = #{length,jdbcType=DECIMAL}, - width = #{width,jdbcType=DECIMAL}, - area = #{area,jdbcType=DECIMAL}, - create_by = #{createBy,jdbcType=VARCHAR}, - create_date = #{createDate,jdbcType=TIMESTAMP}, - update_by = #{updateBy,jdbcType=VARCHAR}, - update_date = #{updateDate,jdbcType=TIMESTAMP}, - remarks = #{remarks,jdbcType=VARCHAR}, - del_flag = #{delFlag,jdbcType=CHAR} + set yard_id = #{yardId,jdbcType=VARCHAR}, + cop_code = #{copCode,jdbcType=VARCHAR}, + `name` = #{name,jdbcType=VARCHAR}, + warehouse_type = #{warehouseType,jdbcType=VARCHAR}, + warehouse_length = #{warehouseLength,jdbcType=DECIMAL}, + warehouse_width = #{warehouseWidth,jdbcType=DECIMAL}, + warehouse_area = #{warehouseArea,jdbcType=DECIMAL}, + create_by = #{createBy,jdbcType=VARCHAR}, + create_date = #{createDate,jdbcType=TIMESTAMP}, + update_by = #{updateBy,jdbcType=VARCHAR}, + update_date = #{updateDate,jdbcType=TIMESTAMP}, + remarks = #{remarks,jdbcType=VARCHAR}, + del_flag = #{delFlag,jdbcType=CHAR} where id = #{id,jdbcType=VARCHAR} </update> + + <!-- 该Mapper映射关系的作用,是仓库与场站的1:1的关系映射 --> + <resultMap extends="BaseResultMap" id="WarehouseAndYardMap" type="com.sunyo.wlpt.station.manage.domain.Warehouse"> + <association javaType="com.sunyo.wlpt.station.manage.domain.Yard" property="yard"> + <id column="id" property="id"/> + <result column="yard_name" property="name"/> + </association> + </resultMap> + + <!-- 分页查询 --> + <select id="selectListByPage" parameterType="com.sunyo.wlpt.station.manage.domain.Warehouse" resultMap="WarehouseAndYardMap"> + select w.id, + w.yard_id, + w.cop_code, + w.name, + w.warehouse_type, + w.warehouse_length, + w.warehouse_width, + w.warehouse_area, + w.create_by, + w.create_date, + w.update_by, + w.update_date, + w.remarks, + w.del_flag, + y.name as yard_name + from warehouse w, + yard y + <where> + <!-- name,仓库名称 --> + <if test="name != null and name != ''"> + and w.name = #{name,jdbcType=VARCHAR} + </if> + <!-- stationName,货站名称 --> + <if test="stationName != null and stationName != ''"> + and y.name = #{stationName,jdbcType=VARCHAR} + </if> + and w.yard_id = y.id + </where> + </select> </mapper> \ No newline at end of file