1.完善盘点单据功能

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

@ -1,10 +1,9 @@
package com.glxp.api.admin.controller.inventory;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
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.inventory.AddInvCountOrderRequest;
import com.glxp.api.admin.req.inventory.FilterInvCountOrderRequest;
import com.glxp.api.admin.res.PageSimpleResponse;
import com.glxp.api.admin.res.inventory.InvCountOrderResponse;
@ -64,18 +63,15 @@ public class InvCountOrderController {
* @return
*/
@PostMapping("/invCount/order/saveCountOrder")
public BaseResponse saveCountOrder(@RequestBody AddInvCountOrderRequest invCountOrderRequest, BindingResult bindingResult) {
public BaseResponse saveCountOrder(@RequestBody InvCountOrder invCountOrder, 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())) {
if (null == invCountOrder) {
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);
}
String orderId = invCountOrderService.saveCountOrder(invCountOrderRequest);
String orderId = invCountOrderService.saveCountOrder(invCountOrder);
return ResultVOUtils.success(orderId);
}

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

@ -1,6 +1,6 @@
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.res.inventory.InvCountOrderResponse;
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;
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.InvProductDao;
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.FilterInvCountOrderDetailRequest;
import com.glxp.api.admin.res.inventory.InvCountOrderDetailResponse;
import com.glxp.api.admin.service.inventory.InvCountOrderDetailService;
@ -24,6 +28,10 @@ public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailServic
@Resource
private InvCountOrderDetailDao invCountOrderDetailDao;
@Resource
private InvCountOrderDao invCountOrderDao;
@Resource
private InvProductDao invProductDao;
@Override
public List<InvCountOrderDetail> filterList(FilterInvCountOrderDetailRequest detailRequest) {
@ -62,7 +70,13 @@ public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailServic
@Override
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.entity.auth.AuthAdmin;
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.res.inventory.InvCountOrderResponse;
import com.glxp.api.admin.service.auth.CustomerService;
@ -64,8 +63,7 @@ public class InvCountOrderServiceImpl implements InvCountOrderService {
}
@Override
public String saveCountOrder(AddInvCountOrderRequest invCountOrderRequest) {
InvCountOrder invCountOrder = invCountOrderRequest.getInvCountOrder();
public String saveCountOrder(InvCountOrder invCountOrder) {
//封装相关数据
invCountOrder.setStatus(0); //未提交

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

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