1.完善盘点单据功能

feature-order-fix
x_z 3 years ago
parent f8fcfb6d84
commit 9657c7d757

@ -1,10 +1,9 @@
package com.glxp.api.admin.controller.inventory; package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.admin.entity.inventory.InvCountOrder;
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.FilterInvCountOrderRequest; 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;
@ -64,18 +63,15 @@ public class InvCountOrderController {
* @return * @return
*/ */
@PostMapping("/invCount/order/saveCountOrder") @PostMapping("/invCount/order/saveCountOrder")
public BaseResponse saveCountOrder(@RequestBody AddInvCountOrderRequest invCountOrderRequest, BindingResult bindingResult) { public BaseResponse saveCountOrder(@RequestBody InvCountOrder invCountOrder, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
if (null == invCountOrderRequest || null == invCountOrderRequest.getInvCountOrder() || CollUtil.isEmpty(invCountOrderRequest.getInvProductList())) { if (null == invCountOrder) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
if (null == invCountOrderRequest.getInvCountOrder().getInvStorageCode() || null == invCountOrderRequest.getInvCountOrder().getInvWarehouseCode() || null == invCountOrderRequest.getInvCountOrder().getInvSpaceCode()) { String orderId = invCountOrderService.saveCountOrder(invCountOrder);
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
String orderId = invCountOrderService.saveCountOrder(invCountOrderRequest);
return ResultVOUtils.success(orderId); return ResultVOUtils.success(orderId);
} }

@ -57,4 +57,12 @@ public interface InvCountOrderDao {
* @param invCountOrder * @param invCountOrder
*/ */
void updateByOrderId(InvCountOrder invCountOrder); void updateByOrderId(InvCountOrder invCountOrder);
/**
*
*
* @param orderId
* @return
*/
InvCountOrder selectByOrderId(@Param("orderId") String orderId);
} }

@ -43,5 +43,15 @@ public interface InvProductDao {
*/ */
Integer countByWarehouseCode(@Param("warehouseCode") String warehouseCode, @Param("subWarehouseCode") String subWarehouseCode); Integer countByWarehouseCode(@Param("warehouseCode") String warehouseCode, @Param("subWarehouseCode") String subWarehouseCode);
/**
*
*
* @param productId ID
* @param batchNo
* @param invStorageCode
* @param invWarehouseCode
* @return
*/
InvProductEntity selectProductInfo(@Param("productId") String productId, @Param("batchNo") String batchNo, @Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode);
} }

@ -1,11 +1,8 @@
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.InvCountOrder;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* *
*/ */
@ -17,9 +14,5 @@ public class AddInvCountOrderRequest {
*/ */
private InvCountOrder invCountOrder; private InvCountOrder invCountOrder;
/**
*
*/
private List<InvProductEntity> invProductList;
} }

@ -1,6 +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.entity.inventory.InvCountOrder;
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.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
@ -30,9 +30,9 @@ public interface InvCountOrderService {
/** /**
* *
* *
* @param invCountOrderRequest * @param invCountOrder
*/ */
String saveCountOrder(AddInvCountOrderRequest invCountOrderRequest); String saveCountOrder(InvCountOrder invCountOrder);
/** /**
* *

@ -1,8 +1,12 @@
package com.glxp.api.admin.service.inventory.impl; package com.glxp.api.admin.service.inventory.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
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.dao.inventory.InvProductDao;
import com.glxp.api.admin.entity.inventory.InvCountOrder;
import com.glxp.api.admin.entity.inventory.InvCountOrderDetail; import com.glxp.api.admin.entity.inventory.InvCountOrderDetail;
import com.glxp.api.admin.entity.inventory.InvProductEntity;
import com.glxp.api.admin.req.inventory.FilterInvCountOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterInvCountOrderDetailRequest;
import com.glxp.api.admin.res.inventory.InvCountOrderDetailResponse; import com.glxp.api.admin.res.inventory.InvCountOrderDetailResponse;
import com.glxp.api.admin.service.inventory.InvCountOrderDetailService; import com.glxp.api.admin.service.inventory.InvCountOrderDetailService;
@ -24,6 +28,10 @@ public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailServic
@Resource @Resource
private InvCountOrderDetailDao invCountOrderDetailDao; private InvCountOrderDetailDao invCountOrderDetailDao;
@Resource
private InvCountOrderDao invCountOrderDao;
@Resource
private InvProductDao invProductDao;
@Override @Override
public List<InvCountOrderDetail> filterList(FilterInvCountOrderDetailRequest detailRequest) { public List<InvCountOrderDetail> filterList(FilterInvCountOrderDetailRequest detailRequest) {
@ -62,7 +70,13 @@ public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailServic
@Override @Override
public BaseResponse addCountOrderDetail(InvCountOrderDetail invCountOrderDetail) { public BaseResponse addCountOrderDetail(InvCountOrderDetail invCountOrderDetail) {
return null; //查询单据信息
InvCountOrder invCountOrder = invCountOrderDao.selectByOrderId(invCountOrderDetail.getOrderIdFk());
InvProductEntity invProductEntity = invProductDao.selectProductInfo(invCountOrderDetail.getProductId(), invCountOrderDetail.getBatchNo(), invCountOrder.getInvStorageCode(), invCountOrder.getInvWarehouseCode());
invCountOrderDetail.setInvNum(invProductEntity.getInCount() - invProductEntity.getOutCount());
invCountOrderDetail.setCountNum(0);
invCountOrderDetailDao.insert(invCountOrderDetail);
return ResultVOUtils.success();
} }
} }

@ -10,7 +10,6 @@ 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.auth.AuthAdmin;
import com.glxp.api.admin.entity.inventory.InvCountOrder; import com.glxp.api.admin.entity.inventory.InvCountOrder;
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.auth.CustomerService;
@ -64,8 +63,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
} }
@Override @Override
public String saveCountOrder(AddInvCountOrderRequest invCountOrderRequest) { public String saveCountOrder(InvCountOrder invCountOrder) {
InvCountOrder invCountOrder = invCountOrderRequest.getInvCountOrder();
//封装相关数据 //封装相关数据
invCountOrder.setStatus(0); //未提交 invCountOrder.setStatus(0); //未提交

@ -344,4 +344,8 @@
remark = #{remark,jdbcType=VARCHAR} remark = #{remark,jdbcType=VARCHAR}
where orderId = #{orderId} where orderId = #{orderId}
</update> </update>
<select id="selectByOrderId" resultMap="BaseResultMap">
select * from inv_count_order where orderId = #{orderId}
</select>
</mapper> </mapper>

@ -2,10 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.glxp.api.admin.dao.inventory.InvProductDao"> <mapper namespace="com.glxp.api.admin.dao.inventory.InvProductDao">
<select id="filterInvProduct" parameterType="com.glxp.api.admin.req.inventory.FilterInvProductRequest" <select id="filterInvProduct" parameterType="com.glxp.api.admin.req.inventory.FilterInvProductRequest"
resultType="com.glxp.api.admin.entity.inventory.InvProductEntity"> resultType="com.glxp.api.admin.entity.inventory.InvProductEntity">
SELECT * FROM inv_product SELECT *
FROM inv_product
<where> <where>
<if test="productsName != '' and productsName != null"> <if test="productsName != '' and productsName != null">
AND inv_product.productsName like concat('%', #{productsName}, '%') AND inv_product.productsName like concat('%', #{productsName}, '%')
@ -56,7 +56,6 @@
<if test="groupType != '' and groupType != null"> <if test="groupType != '' and groupType != null">
GROUP BY #{groupType} GROUP BY #{groupType}
</if> </if>
</select> </select>
<select id="selectById" parameterType="Map" <select id="selectById" parameterType="Map"
@ -64,7 +63,6 @@
SELECT * SELECT *
FROM inv_product FROM inv_product
WHERE id = #{id} WHERE id = #{id}
</select> </select>
<select id="selectByUuid" parameterType="Map" <select id="selectByUuid" parameterType="Map"
@ -96,7 +94,6 @@
AND invWarehouseCode is NULL AND invWarehouseCode is NULL
</if> </if>
</where> </where>
</select> </select>
@ -112,16 +109,31 @@
<select id="filterJoinInvProduct" parameterType="com.glxp.api.admin.req.inventory.FilterInvProductRequest" <select id="filterJoinInvProduct" parameterType="com.glxp.api.admin.req.inventory.FilterInvProductRequest"
resultType="com.glxp.api.admin.res.inventory.InvProductResponse"> resultType="com.glxp.api.admin.res.inventory.InvProductResponse">
SELECT SELECT inv_product.id,
inv_product.id, basic_products.cpmctymc,
basic_products.cpmctymc,basic_products.nameCode,inv_product.relIdFk,basic_products.ggxh, basic_products.nameCode,
inv_product.relIdFk,
basic_products.ggxh,
inv_product.batchNo inv_product.batchNo
,inv_product.productionDate,inv_product.expireDate, ,
basic_products.ylqxzcrbarmc,basic_products.zczbhhzbapzbh, inv_product.productionDate,
inv_product.inCount,inv_product.outCount inv_product.expireDate,
,inv_product.reCount,inv_product.customerId,basic_corp.name companyName,inv_product.unitFk,inv_product.supId basic_products.ylqxzcrbarmc,
,inv_warehouse.name invStorageName,inv_product.invStorageCode,inv_product.price, basic_products.zczbhhzbapzbh,
inv_warehouse_sub.name invSubStorageName,inv_product.invWarehouseCode inv_product.inCount,
inv_product.outCount
,
inv_product.reCount,
inv_product.customerId,
basic_corp.name companyName,
inv_product.unitFk,
inv_product.supId
,
inv_warehouse.name invStorageName,
inv_product.invStorageCode,
inv_product.price,
inv_warehouse_sub.name invSubStorageName,
inv_product.invWarehouseCode
FROM inv_product FROM inv_product
inner join basic_udirel on inv_product.relIdFk = basic_udirel.id inner join basic_udirel on inv_product.relIdFk = basic_udirel.id
inner join basic_products on basic_udirel.uuid = basic_products.uuid inner join basic_products on basic_udirel.uuid = basic_products.uuid
@ -182,7 +194,6 @@
#{id} #{id}
</foreach> </foreach>
</if> </if>
</where> </where>
<if test="groupType != '' and groupType != null"> <if test="groupType != '' and groupType != null">
GROUP BY #{groupType} GROUP BY #{groupType}
@ -206,7 +217,8 @@
ip.customerId, ip.customerId,
bc.name companyName, bc.name companyName,
ip.unitFk, ip.unitFk,
ip.supId,ip.price, ip.supId,
ip.price,
iw.name invStorageName, iw.name invStorageName,
inCount, inCount,
outCount outCount
@ -272,32 +284,70 @@
<update id="updateInvProduct" parameterType="com.glxp.api.admin.entity.inventory.InvProductEntity"> <update id="updateInvProduct" parameterType="com.glxp.api.admin.entity.inventory.InvProductEntity">
UPDATE inv_product UPDATE inv_product
<trim prefix="set" suffixOverrides=","> <trim prefix="set" suffixOverrides=",">
<if test="productsName != null">productsName=#{productsName},</if> <if test="productsName != null">
<if test="nameCode != null">nameCode=#{nameCode},</if> productsName=#{productsName},
<if test="relIdFk != null">relIdFk=#{relIdFk},</if> </if>
<if test="ggxh != null">ggxh=#{ggxh},</if> <if test="nameCode != null">
<if test="batchNo != null">batchNo=#{batchNo},</if> nameCode=#{nameCode},
<if test="productionDate != null">productionDate=#{productionDate},</if> </if>
<if test="expireDate != null">expireDate=#{expireDate},</if> <if test="relIdFk != null">
<if test="ylqxzcrbarmc != null">ylqxzcrbarmc=#{ylqxzcrbarmc},</if> relIdFk=#{relIdFk},
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if> </if>
<if test="inCount != null">inCount=#{inCount},</if> <if test="ggxh != null">
<if test="outCount != null">outCount=#{outCount},</if> ggxh=#{ggxh},
<if test="reCount != null">reCount=#{reCount},</if> </if>
<if test="customerId != null">customerId=#{customerId},</if> <if test="batchNo != null">
<if test="unitFk != null">unitFk=#{unitFk},</if> batchNo=#{batchNo},
<if test="supId != null">supId=#{supId},</if> </if>
<if test="invStorageCode != null">invStorageCode=#{invStorageCode},</if> <if test="productionDate != null">
<if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if> productionDate=#{productionDate},
<if test="price != null">price=#{price},</if> </if>
<if test="updateTime != null">updateTime=#{updateTime},</if> <if test="expireDate != null">
expireDate=#{expireDate},
</if>
<if test="ylqxzcrbarmc != null">
ylqxzcrbarmc=#{ylqxzcrbarmc},
</if>
<if test="zczbhhzbapzbh != null">
zczbhhzbapzbh=#{zczbhhzbapzbh},
</if>
<if test="inCount != null">
inCount=#{inCount},
</if>
<if test="outCount != null">
outCount=#{outCount},
</if>
<if test="reCount != null">
reCount=#{reCount},
</if>
<if test="customerId != null">
customerId=#{customerId},
</if>
<if test="unitFk != null">
unitFk=#{unitFk},
</if>
<if test="supId != null">
supId=#{supId},
</if>
<if test="invStorageCode != null">
invStorageCode=#{invStorageCode},
</if>
<if test="invWarehouseCode != null">
invWarehouseCode=#{invWarehouseCode},
</if>
<if test="price != null">
price=#{price},
</if>
<if test="updateTime != null">
updateTime=#{updateTime},
</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
<select id="countByWarehouseCode" resultType="java.lang.Integer"> <select id="countByWarehouseCode" resultType="java.lang.Integer">
select count(*) from inv_product select count(*)
from inv_product
<where> <where>
<if test="warehouseCode != null and warehouseCode != ''"> <if test="warehouseCode != null and warehouseCode != ''">
AND invStorageCode = #{warehouseCode} AND invStorageCode = #{warehouseCode}
@ -308,4 +358,12 @@
</where> </where>
</select> </select>
<select id="selectProductInfo" resultType="com.glxp.api.admin.entity.inventory.InvProductEntity">
select *
from inv_product
where relIdFk = #{productId}
and batchNo = #{batchNo}
and invStorageCode = #{invStorageCode}
and invWarehouseCode = #{invWarehouseCode}
</select>
</mapper> </mapper>
Loading…
Cancel
Save