1.保存代码

feature-order-fix
x_z 3 years ago
parent 9716d12d7c
commit 245af4f36b

@ -13,6 +13,11 @@ public class Constant {
public static final String BUS_ORDER = "MY"; public static final String BUS_ORDER = "MY";
public static final String LIN_YONG = "ML"; public static final String LIN_YONG = "ML";
/**
*
*/
public static final String COUNT_ORDER = "MP";
public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS";
public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS";
public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS";

@ -1,5 +1,6 @@
package com.glxp.api.admin.controller.inventory; package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.req.inout.DeleteRequest; import com.glxp.api.admin.req.inout.DeleteRequest;
import com.glxp.api.admin.req.inventory.AddInvCountOrderRequest; import com.glxp.api.admin.req.inventory.AddInvCountOrderRequest;
@ -7,8 +8,10 @@ import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest;
import com.glxp.api.admin.res.PageSimpleResponse; import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.InvCountOrderResponse; import com.glxp.api.admin.res.inventory.InvCountOrderResponse;
import com.glxp.api.admin.service.inventory.InvCountOrderService; import com.glxp.api.admin.service.inventory.InvCountOrderService;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
@ -60,8 +63,18 @@ public class InvCountOrderController {
* @return * @return
*/ */
@PostMapping("/invCount/order/saveCountOrder") @PostMapping("/invCount/order/saveCountOrder")
public BaseResponse saveCountOrder(@RequestBody AddInvCountOrderRequest invCountOrderRequest) { public BaseResponse saveCountOrder(@RequestBody AddInvCountOrderRequest invCountOrderRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
if (null == invCountOrderRequest || null == invCountOrderRequest.getInvCountOrder() || CollUtil.isEmpty(invCountOrderRequest.getInvProductList())) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
if (null == invCountOrderRequest.getInvCountOrder().getInvStorageCode() || null == invCountOrderRequest.getInvCountOrder().getInvWarehouseCode() || null == invCountOrderRequest.getInvCountOrder().getInvSpaceCode()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
invCountOrderService.saveCountOrder(invCountOrderRequest);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }

@ -58,7 +58,7 @@ public class InvCountOrder {
private Date auditTime; private Date auditTime;
/** /**
* * 0 1 2
*/ */
private Integer status; private Integer status;

@ -2,8 +2,6 @@ package com.glxp.api.admin.entity.inventory;
import lombok.Data; import lombok.Data;
import java.util.Date;
/** /**
* *
*/ */
@ -30,12 +28,12 @@ public class InvCountOrderDetail {
/** /**
* *
*/ */
private Date produceDate; private String produceDate;
/** /**
* *
*/ */
private Date expireDate; private String expireDate;
/** /**
* *
@ -65,6 +63,6 @@ public class InvCountOrderDetail {
/** /**
* 0 1 * 0 1
*/ */
private Boolean status; private Integer status;
} }

@ -1,10 +1,25 @@
package com.glxp.api.admin.req.inventory; package com.glxp.api.admin.req.inventory;
import com.glxp.api.admin.entity.inventory.InvCountOrder;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* *
*/ */
@Data @Data
public class AddInvCountOrderRequest { public class AddInvCountOrderRequest {
/**
*
*/
private InvCountOrder invCountOrder;
/**
*
*/
private List<InvProductEntity> invProductList;
} }

@ -1,5 +1,6 @@
package com.glxp.api.admin.service.inventory; package com.glxp.api.admin.service.inventory;
import com.glxp.api.admin.req.inventory.AddInvCountOrderRequest;
import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest; import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest;
import com.glxp.api.admin.res.inventory.InvCountOrderResponse; import com.glxp.api.admin.res.inventory.InvCountOrderResponse;
@ -24,4 +25,11 @@ public interface InvCountOrderService {
* @param id * @param id
*/ */
void deleteOrder(String id); void deleteOrder(String id);
/**
*
*
* @param invCountOrderRequest
*/
void saveCountOrder(AddInvCountOrderRequest invCountOrderRequest);
} }

@ -1,12 +1,22 @@
package com.glxp.api.admin.service.inventory.impl; package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.admin.constant.Constant;
import com.glxp.api.admin.dao.inventory.InvCountCodesDao; import com.glxp.api.admin.dao.inventory.InvCountCodesDao;
import com.glxp.api.admin.dao.inventory.InvCountOrderDao; import com.glxp.api.admin.dao.inventory.InvCountOrderDao;
import com.glxp.api.admin.dao.inventory.InvCountOrderDetailDao; import com.glxp.api.admin.dao.inventory.InvCountOrderDetailDao;
import com.glxp.api.admin.entity.auth.AuthAdmin;
import com.glxp.api.admin.entity.inventory.InvCountOrder;
import com.glxp.api.admin.entity.inventory.InvCountOrderDetail;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
import com.glxp.api.admin.req.inventory.AddInvCountOrderRequest;
import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest; import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest;
import com.glxp.api.admin.res.inventory.InvCountOrderResponse; import com.glxp.api.admin.res.inventory.InvCountOrderResponse;
import com.glxp.api.admin.service.auth.CustomerService;
import com.glxp.api.admin.service.inventory.InvCountOrderService; import com.glxp.api.admin.service.inventory.InvCountOrderService;
import com.glxp.api.admin.util.GennerOrderUtils;
import com.glxp.api.admin.util.OrderNoTypeBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -26,6 +36,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
private InvCountOrderDetailDao invCountOrderDetailDao; private InvCountOrderDetailDao invCountOrderDetailDao;
@Resource @Resource
private InvCountCodesDao invCountCodesDao; private InvCountCodesDao invCountCodesDao;
@Resource
private GennerOrderUtils gennerOrderUtils;
@Resource
private CustomerService customerService;
@Override @Override
public List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) { public List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
@ -46,4 +60,31 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
invCountCodesDao.deleteByOrderId(orderId); invCountCodesDao.deleteByOrderId(orderId);
} }
@Override
public void saveCountOrder(AddInvCountOrderRequest invCountOrderRequest) {
InvCountOrder invCountOrder = invCountOrderRequest.getInvCountOrder();
//封装相关数据
invCountOrder.setStatus(0); //未提交
//生成单据号
String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.COUNT_ORDER, "yyyyMMdd"));
invCountOrder.setOrderId(orderNo); //盘点单号
AuthAdmin user = customerService.getUserBean();
invCountOrder.setCreateUser(user.getUserName());
int id = invCountOrderDao.insert(invCountOrder);
List<InvProductEntity> invProductList = invCountOrderRequest.getInvProductList();
//根据库存产品信息生成盘点单据详情
for (InvProductEntity invProductEntity : invProductList) {
InvCountOrderDetail countOrderDetail = new InvCountOrderDetail();
BeanUtil.copyProperties(invProductEntity, countOrderDetail);
countOrderDetail.setOrderIdFk(String.valueOf(id));
countOrderDetail.setBookNum(invProductEntity.getInCount() - invProductEntity.getOutCount());
countOrderDetail.setProduceDate(invProductEntity.getProductionDate());
countOrderDetail.setProductId(invProductEntity.getRelIdFk());
invCountOrderDetailDao.insert(countOrderDetail);
}
}
} }

@ -54,6 +54,7 @@
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{auditUser,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{auditUser,jdbcType=VARCHAR},
#{auditTime,jdbcType=TIMESTAMP}, #{status,jdbcType=BOOLEAN}, #{remark,jdbcType=VARCHAR}) #{auditTime,jdbcType=TIMESTAMP}, #{status,jdbcType=BOOLEAN}, #{remark,jdbcType=VARCHAR})
</insert> </insert>
<insert id="insertSelective" parameterType="com.glxp.api.admin.entity.inventory.InvCountOrder"> <insert id="insertSelective" parameterType="com.glxp.api.admin.entity.inventory.InvCountOrder">
insert into inv_count_order insert into inv_count_order
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

@ -6,14 +6,14 @@
<result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk"/> <result column="orderIdFk" jdbcType="VARCHAR" property="orderIdFk"/>
<result column="productId" jdbcType="VARCHAR" property="productId"/> <result column="productId" jdbcType="VARCHAR" property="productId"/>
<result column="batchNo" jdbcType="VARCHAR" property="batchNo"/> <result column="batchNo" jdbcType="VARCHAR" property="batchNo"/>
<result column="produceDate" jdbcType="TIMESTAMP" property="produceDate"/> <result column="produceDate" jdbcType="VARCHAR" property="produceDate"/>
<result column="expireDate" jdbcType="TIMESTAMP" property="expireDate"/> <result column="expireDate" jdbcType="VARCHAR" property="expireDate"/>
<result column="serialNo" jdbcType="VARCHAR" property="serialNo"/> <result column="serialNo" jdbcType="VARCHAR" property="serialNo"/>
<result column="countNum" jdbcType="INTEGER" property="countNum"/> <result column="countNum" jdbcType="INTEGER" property="countNum"/>
<result column="bookNum" jdbcType="INTEGER" property="bookNum"/> <result column="bookNum" jdbcType="INTEGER" property="bookNum"/>
<result column="profitNum" jdbcType="INTEGER" property="profitNum"/> <result column="profitNum" jdbcType="INTEGER" property="profitNum"/>
<result column="lossNum" jdbcType="INTEGER" property="lossNum"/> <result column="lossNum" jdbcType="INTEGER" property="lossNum"/>
<result column="status" jdbcType="BOOLEAN" property="status"/> <result column="status" jdbcType="INTEGER" property="status"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -51,9 +51,9 @@
countNum, bookNum, profitNum, countNum, bookNum, profitNum,
lossNum, `status`) lossNum, `status`)
values (#{orderIdFk,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR}, values (#{orderIdFk,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR},
#{produceDate,jdbcType=TIMESTAMP}, #{expireDate,jdbcType=TIMESTAMP}, #{serialNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, #{expireDate,jdbcType=VARCHAR}, #{serialNo,jdbcType=VARCHAR},
#{countNum,jdbcType=INTEGER}, #{bookNum,jdbcType=INTEGER}, #{profitNum,jdbcType=INTEGER}, #{countNum,jdbcType=INTEGER}, #{bookNum,jdbcType=INTEGER}, #{profitNum,jdbcType=INTEGER},
#{lossNum,jdbcType=INTEGER}, #{status,jdbcType=BOOLEAN}) #{lossNum,jdbcType=INTEGER}, #{status,jdbcType=INTEGER})
</insert> </insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" <insert id="insertSelective" keyColumn="id" keyProperty="id"
@ -105,10 +105,10 @@
#{batchNo,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR},
</if> </if>
<if test="produceDate != null"> <if test="produceDate != null">
#{produceDate,jdbcType=TIMESTAMP}, #{produceDate,jdbcType=VARCHAR},
</if> </if>
<if test="expireDate != null"> <if test="expireDate != null">
#{expireDate,jdbcType=TIMESTAMP}, #{expireDate,jdbcType=VARCHAR},
</if> </if>
<if test="serialNo != null"> <if test="serialNo != null">
#{serialNo,jdbcType=VARCHAR}, #{serialNo,jdbcType=VARCHAR},
@ -126,7 +126,7 @@
#{lossNum,jdbcType=INTEGER}, #{lossNum,jdbcType=INTEGER},
</if> </if>
<if test="status != null"> <if test="status != null">
#{status,jdbcType=BOOLEAN}, #{status,jdbcType=INTEGER},
</if> </if>
</trim> </trim>
</insert> </insert>
@ -144,10 +144,10 @@
batchNo = #{batchNo,jdbcType=VARCHAR}, batchNo = #{batchNo,jdbcType=VARCHAR},
</if> </if>
<if test="produceDate != null"> <if test="produceDate != null">
produceDate = #{produceDate,jdbcType=TIMESTAMP}, produceDate = #{produceDate,jdbcType=VARCHAR},
</if> </if>
<if test="expireDate != null"> <if test="expireDate != null">
expireDate = #{expireDate,jdbcType=TIMESTAMP}, expireDate = #{expireDate,jdbcType=VARCHAR},
</if> </if>
<if test="serialNo != null"> <if test="serialNo != null">
serialNo = #{serialNo,jdbcType=VARCHAR}, serialNo = #{serialNo,jdbcType=VARCHAR},
@ -165,7 +165,7 @@
lossNum = #{lossNum,jdbcType=INTEGER}, lossNum = #{lossNum,jdbcType=INTEGER},
</if> </if>
<if test="status != null"> <if test="status != null">
`status` = #{status,jdbcType=BOOLEAN}, `status` = #{status,jdbcType=INTEGER},
</if> </if>
</set> </set>
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
@ -176,14 +176,14 @@
set orderIdFk = #{orderIdFk,jdbcType=VARCHAR}, set orderIdFk = #{orderIdFk,jdbcType=VARCHAR},
productId = #{productId,jdbcType=VARCHAR}, productId = #{productId,jdbcType=VARCHAR},
batchNo = #{batchNo,jdbcType=VARCHAR}, batchNo = #{batchNo,jdbcType=VARCHAR},
produceDate = #{produceDate,jdbcType=TIMESTAMP}, produceDate = #{produceDate,jdbcType=VARCHAR},
expireDate = #{expireDate,jdbcType=TIMESTAMP}, expireDate = #{expireDate,jdbcType=VARCHAR},
serialNo = #{serialNo,jdbcType=VARCHAR}, serialNo = #{serialNo,jdbcType=VARCHAR},
countNum = #{countNum,jdbcType=INTEGER}, countNum = #{countNum,jdbcType=INTEGER},
bookNum = #{bookNum,jdbcType=INTEGER}, bookNum = #{bookNum,jdbcType=INTEGER},
profitNum = #{productId,jdbcType=INTEGER}, profitNum = #{productId,jdbcType=INTEGER},
lossNum = #{lossNum,jdbcType=INTEGER}, lossNum = #{lossNum,jdbcType=INTEGER},
`status` = #{status,jdbcType=BOOLEAN} `status` = #{status,jdbcType=INTEGER}
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
@ -207,12 +207,12 @@
</trim> </trim>
<trim prefix="produceDate = case" suffix="end,"> <trim prefix="produceDate = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.produceDate,jdbcType=TIMESTAMP} when id = #{item.id,jdbcType=INTEGER} then #{item.produceDate,jdbcType=VARCHAR}
</foreach> </foreach>
</trim> </trim>
<trim prefix="expireDate = case" suffix="end,"> <trim prefix="expireDate = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.expireDate,jdbcType=TIMESTAMP} when id = #{item.id,jdbcType=INTEGER} then #{item.expireDate,jdbcType=VARCHAR}
</foreach> </foreach>
</trim> </trim>
<trim prefix="serialNo = case" suffix="end,"> <trim prefix="serialNo = case" suffix="end,">
@ -242,7 +242,7 @@
</trim> </trim>
<trim prefix="`status` = case" suffix="end,"> <trim prefix="`status` = case" suffix="end,">
<foreach collection="list" index="index" item="item"> <foreach collection="list" index="index" item="item">
when id = #{item.id,jdbcType=INTEGER} then #{item.status,jdbcType=BOOLEAN} when id = #{item.id,jdbcType=INTEGER} then #{item.status,jdbcType=INTEGER}
</foreach> </foreach>
</trim> </trim>
</trim> </trim>
@ -259,9 +259,9 @@
values values
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
(#{item.orderIdFk,jdbcType=VARCHAR}, #{item.productId,jdbcType=VARCHAR}, #{item.batchNo,jdbcType=VARCHAR}, (#{item.orderIdFk,jdbcType=VARCHAR}, #{item.productId,jdbcType=VARCHAR}, #{item.batchNo,jdbcType=VARCHAR},
#{item.produceDate,jdbcType=TIMESTAMP}, #{item.expireDate,jdbcType=TIMESTAMP}, #{item.produceDate,jdbcType=VARCHAR}, #{item.expireDate,jdbcType=VARCHAR},
#{item.serialNo,jdbcType=VARCHAR}, #{item.countNum,jdbcType=INTEGER}, #{item.bookNum,jdbcType=INTEGER}, #{item.serialNo,jdbcType=VARCHAR}, #{item.countNum,jdbcType=INTEGER}, #{item.bookNum,jdbcType=INTEGER},
#{item.profitNum,jdbcType=INTEGER}, #{item.lossNum,jdbcType=INTEGER}, #{item.status,jdbcType=BOOLEAN}) #{item.profitNum,jdbcType=INTEGER}, #{item.lossNum,jdbcType=INTEGER}, #{item.status,jdbcType=INTEGER})
</foreach> </foreach>
</insert> </insert>

Loading…
Cancel
Save