1.保存代码

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

@ -13,6 +13,11 @@ public class Constant {
public static final String BUS_ORDER = "MY";
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 dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS";
public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS";

@ -1,5 +1,6 @@
package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.req.inout.DeleteRequest;
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.inventory.InvCountOrderResponse;
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.util.ResultVOUtils;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@ -60,8 +63,18 @@ public class InvCountOrderController {
* @return
*/
@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();
}

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

@ -2,8 +2,6 @@ package com.glxp.api.admin.entity.inventory;
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
*/
private Boolean status;
private Integer status;
}

@ -1,10 +1,25 @@
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 java.util.List;
/**
*
*/
@Data
public class AddInvCountOrderRequest {
/**
*
*/
private InvCountOrder invCountOrder;
/**
*
*/
private List<InvProductEntity> invProductList;
}

@ -1,5 +1,6 @@
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.res.inventory.InvCountOrderResponse;
@ -24,4 +25,11 @@ public interface InvCountOrderService {
* @param id
*/
void deleteOrder(String id);
/**
*
*
* @param invCountOrderRequest
*/
void saveCountOrder(AddInvCountOrderRequest invCountOrderRequest);
}

@ -1,12 +1,22 @@
package com.glxp.api.admin.service.inventory.impl;
import cn.hutool.core.bean.BeanUtil;
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.InvCountOrderDao;
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.res.inventory.InvCountOrderResponse;
import com.glxp.api.admin.service.auth.CustomerService;
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 org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -26,6 +36,10 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
private InvCountOrderDetailDao invCountOrderDetailDao;
@Resource
private InvCountCodesDao invCountCodesDao;
@Resource
private GennerOrderUtils gennerOrderUtils;
@Resource
private CustomerService customerService;
@Override
public List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
@ -46,4 +60,31 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
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},
#{auditTime,jdbcType=TIMESTAMP}, #{status,jdbcType=BOOLEAN}, #{remark,jdbcType=VARCHAR})
</insert>
<insert id="insertSelective" parameterType="com.glxp.api.admin.entity.inventory.InvCountOrder">
insert into inv_count_order
<trim prefix="(" suffix=")" suffixOverrides=",">

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

Loading…
Cancel
Save