领料出库库存变化记录

This commit is contained in:
mashuai 2024-12-11 14:57:08 +08:00
parent ca941eb028
commit e16bcc5123
20 changed files with 112 additions and 34 deletions

View File

@ -4,6 +4,7 @@ import com.alibaba.fastjson2.JSON;
import com.bonus.common.biz.annotation.StoreLog;
import com.bonus.common.biz.domain.BmStorageLog;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import com.bonus.common.biz.domain.lease.LeaseOutRequestVo;
import com.bonus.common.biz.service.AsyncStoreLogService;
import com.bonus.common.biz.utils.HttpResult;
import com.bonus.common.core.utils.ServletUtils;
@ -18,6 +19,7 @@ import org.springframework.http.HttpMethod;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -110,7 +112,23 @@ public class StoreLogAspect {
String requestMethod = ServletUtils.getRequest().getMethod();
Map<?, ?> paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest());
// if (StringUtils.isEmpty(paramsMap) && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) {
if (StringUtils.isEmpty(paramsMap) && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) {
// 领料出库库存变化
if (joinPoint.getArgs()[0] instanceof LeaseOutRequestVo) {
LeaseOutRequestVo lod = (LeaseOutRequestVo) joinPoint.getArgs()[0];
for (LeaseOutDetails leaseOutDetails : lod.getLeaseOutDetailsList()) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
bmStorageLog.setTypeName(leaseOutDetails.getTypeName());
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeModelName());
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
bmStorageLog.setOutNum(Objects.isNull(leaseOutDetails.getInputNum()) ? BigDecimal.ZERO : leaseOutDetails.getInputNum());
bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum());
bmStorageLogList.add(bmStorageLog);
}
}
// // 盘点入库操作
// if (joinPoint.getArgs()[0] instanceof SavePutInfoDto) {
// SavePutInfoDto savePutInfoDto = (SavePutInfoDto) joinPoint.getArgs()[0];
@ -182,6 +200,6 @@ public class StoreLogAspect {
// } else {
// log.warn("没有获取到请求参数{},或请求方式不是POST、PUT请求:{}", joinPoint.getSignature(), requestMethod);
// }
}
}
}

View File

@ -6,6 +6,8 @@ import lombok.Data;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import java.math.BigDecimal;
/**
* 库存日志对象 bm_storage_log
*
@ -41,42 +43,42 @@ public class BmStorageLog extends BaseEntity
/** 操作前库存数量 */
@Excel(name = "操作前库存数量")
@ApiModelProperty(value = "操作前库存数量")
private Long preStoreNum;
private BigDecimal preStoreNum;
/** 入库数量 */
@Excel(name = "入库数量")
@ApiModelProperty(value = "入库数量")
private Long inNum;
private BigDecimal inNum;
/** 出库数量 */
@Excel(name = "出库数量")
@ApiModelProperty(value = "出库数量")
private Long outNum;
private BigDecimal outNum;
/** 退库接收-总数量 */
@Excel(name = "退库接收-总数量")
@ApiModelProperty(value = "退库接收-总数量")
private Long backNum;
private BigDecimal backNum;
/** 退库接收-合格数量 */
@Excel(name = "退库接收-合格数量")
@ApiModelProperty(value = "退库接收-合格数量")
private Long passNum;
private BigDecimal passNum;
/** 退库接收-维修数量 */
@Excel(name = "退库接收-维修数量")
@ApiModelProperty(value = "退库接收-维修数量")
private Long repairNum;
private BigDecimal repairNum;
/** 退库接收-报废数量 */
@Excel(name = "退库接收-报废数量")
@ApiModelProperty(value = "退库接收-报废数量")
private Long scrapNum;
private BigDecimal scrapNum;
/** 操作后库存 */
@Excel(name = "操作后库存")
@ApiModelProperty(value = "操作后库存")
private Long postStoreNum;
private BigDecimal postStoreNum;
/** 任务id */
@Excel(name = "任务id")

View File

@ -1,4 +1,4 @@
package com.bonus.material.lease.domain;
package com.bonus.common.biz.domain.lease;
import java.math.BigDecimal;
import java.util.Date;
@ -11,7 +11,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;
import org.apache.poi.hpsf.Decimal;
/**
* 领料任务对象 lease_apply_info

View File

@ -1,7 +1,7 @@
package com.bonus.material.lease.domain.vo;
package com.bonus.common.biz.domain.lease;
import com.bonus.common.core.web.domain.BaseEntity;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

View File

@ -26,7 +26,7 @@ public interface RemoteStoreLogService {
* @return 结果
* @throws Exception 异常信息
*/
@PostMapping("/bm_storage_logs")
@PostMapping("/bm_storage_log")
R<Boolean> batchInsert(@RequestBody List<BmStorageLog> bmStorageLogList, @RequestHeader(SecurityConstants.FROM_SOURCE) String source) throws Exception;

View File

@ -1,11 +1,15 @@
package com.bonus.common.biz.service.factory;
import com.bonus.common.biz.domain.BmStorageLog;
import com.bonus.common.core.domain.R;
import com.bonus.common.biz.service.RemoteStoreLogService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 物资库存日志服务降级处理
@ -21,7 +25,13 @@ public class RemoteStoreLogFallbackFactory implements FallbackFactory<RemoteStor
public RemoteStoreLogService create(Throwable throwable)
{
log.error("日志服务调用失败:{}", throwable.getMessage());
return (sysLogsVo, s) -> null;
return new RemoteStoreLogService()
{
@Override
public R<Boolean> batchInsert(List<BmStorageLog> bmStorageLogList, String source) throws Exception {
return R.fail("保存物资库存日志失败:" + throwable.getMessage());
}
};
}
}

View File

@ -3,6 +3,7 @@ package com.bonus.material.basic.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.InnerAuth;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -81,8 +82,8 @@ public class BmStorageLogController extends BaseController
*/
@ApiOperation(value = "新增库存日志")
@SysLog(title = "库存日志", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增库存日志")
@PostMapping
public AjaxResult batchInsert(@RequestBody BmStorageLog bmStorageLog)
@PostMapping("/add")
public AjaxResult insert(@RequestBody BmStorageLog bmStorageLog)
{
return toAjax(bmStorageLogService.insertBmStorageLog(bmStorageLog));
}
@ -112,4 +113,10 @@ public class BmStorageLogController extends BaseController
{
return toAjax(bmStorageLogService.deleteBmStorageLogByIds(ids));
}
@InnerAuth
@PostMapping
public AjaxResult batchInsert(@RequestBody List<BmStorageLog> bmStorageLogList) {
return toAjax(bmStorageLogService.batchInsert(bmStorageLogList));
}
}

View File

@ -58,4 +58,11 @@ public interface BmStorageLogMapper
* @return 结果
*/
public int deleteBmStorageLogByIds(Long[] ids);
/**
* 批量插入库存日志
* @param records
* @return
*/
int batchInsert(List<BmStorageLog> records);
}

View File

@ -58,4 +58,11 @@ public interface IBmStorageLogService
* @return 结果
*/
public int deleteBmStorageLogById(Long id);
/**
* 批量新增库存日志
* @param bmStorageLogList
* @return
*/
int batchInsert(List<BmStorageLog> bmStorageLogList);
}

View File

@ -2,6 +2,8 @@ package com.bonus.material.basic.service.impl;
import java.util.List;
import com.bonus.common.core.utils.DateUtils;
import com.bonus.common.security.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.material.basic.mapper.BmStorageLogMapper;
@ -15,6 +17,7 @@ import com.bonus.material.basic.service.IBmStorageLogService;
* @date 2024-09-26
*/
@Service
@Slf4j
public class BmStorageLogServiceImpl implements IBmStorageLogService {
@Autowired
@ -93,4 +96,11 @@ public class BmStorageLogServiceImpl implements IBmStorageLogService {
{
return bmStorageLogMapper.deleteBmStorageLogById(id);
}
@Override
public int batchInsert(List<BmStorageLog> records) {
log.info("batch insert log {}", records);
records.forEach(bmStorageLog -> bmStorageLog.setCreator(SecurityUtils.getUserId().toString()));
return bmStorageLogMapper.batchInsert(records);
}
}

View File

@ -7,11 +7,10 @@ import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo;
import com.bonus.common.log.annotation.SysLog;
import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.material.common.annotation.PreventRepeatSubmit;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
import com.bonus.material.lease.domain.vo.LeaseOutRequestVo;
import com.bonus.common.biz.domain.lease.LeaseOutRequestVo;
import com.bonus.material.lease.service.ILeaseApplyInfoService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

View File

@ -2,7 +2,7 @@ package com.bonus.material.lease.domain.vo;
import com.bonus.common.core.web.domain.BaseEntity;
import com.bonus.material.lease.domain.LeaseApplyDetails;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

View File

@ -1,7 +1,7 @@
package com.bonus.material.lease.mapper;
import java.util.List;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
/**
* 领料任务Mapper接口

View File

@ -2,9 +2,9 @@ package com.bonus.material.lease.service;
import java.util.List;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
import com.bonus.material.lease.domain.vo.LeaseOutRequestVo;
import com.bonus.common.biz.domain.lease.LeaseOutRequestVo;
/**
* 领料任务Service接口

View File

@ -15,7 +15,7 @@ import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.material.lease.domain.LeaseApplyDetails;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
import com.bonus.material.lease.domain.vo.LeaseOutRequestVo;
import com.bonus.common.biz.domain.lease.LeaseOutRequestVo;
import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper;
import com.bonus.material.lease.service.ILeaseOutDetailsService;
import com.bonus.material.task.domain.TmTask;
@ -25,7 +25,7 @@ import com.bonus.material.task.mapper.TmTaskMapper;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;
import com.bonus.material.lease.mapper.LeaseApplyInfoMapper;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.material.lease.service.ILeaseApplyInfoService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;

View File

@ -1,7 +1,7 @@
package com.bonus.material.ma.mapper;
import com.bonus.material.lease.domain.LeaseApplyDetails;
import com.bonus.material.lease.domain.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
import com.bonus.common.biz.domain.lease.LeaseOutDetails;
import com.bonus.material.ma.domain.DirectApplyDetails;
import com.bonus.material.ma.domain.DirectApplyInfo;

View File

@ -3,7 +3,7 @@
//import com.bonus.common.core.annotation.Excel;
//import com.bonus.common.core.web.domain.BaseEntity;
//import com.bonus.material.lease.domain.LeaseApplyDetails;
//import com.bonus.material.lease.domain.LeaseApplyInfo;
//import com.bonus.common.biz.domain.lease.LeaseApplyInfo;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//import java.util.List;

View File

@ -123,6 +123,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="com.bonus.common.biz.domain.BmStorageLog" useGeneratedKeys="true">
insert into bm_storage_log (model_title, `method`, task_id, type_id,
create_time, creator, remark, manage_type,
type_name, type_model_name, pre_store_num, in_num, out_num,
back_num, pass_num, repair_num, agreement_id,
scrap_num, `status`, post_store_num, result_code, result_msg, json_result
) values
<foreach item="item" index="index" collection="list" separator=",">
(
#{item.modelTitle}, #{item.method}, #{item.taskId}, #{item.typeId},
now(), #{item.creator}, #{item.remark}, #{item.manageType},#{item.typeName},
#{item.typeModelName}, #{item.preStoreNum}, #{item.inNum},#{item.outNum},
#{item.backNum}, #{item.passNum}, #{item.repairNum}, #{item.agreementId},
#{item.scrapNum}, #{item.status}, #{item.postStoreNum},
#{item.resultCode}, #{item.resultMsg}, #{item.jsonResult}
)
</foreach>
</insert>
<update id="updateBmStorageLog" parameterType="com.bonus.common.biz.domain.BmStorageLog">
update bm_storage_log
<trim prefix="SET" suffixOverrides=",">

View File

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.material.lease.mapper.LeaseApplyInfoMapper">
<resultMap type="com.bonus.material.lease.domain.LeaseApplyInfo" id="LeaseApplyInfoResult">
<resultMap type="com.bonus.common.biz.domain.lease.LeaseApplyInfo" id="LeaseApplyInfoResult">
<result property="id" column="id" />
<result property="code" column="code" />
<result property="taskId" column="task_id" />
@ -56,7 +56,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join bm_project bp on bp.pro_id = bai.project_id
</sql>
<select id="selectLeaseApplyInfoList" parameterType="com.bonus.material.lease.domain.LeaseApplyInfo" resultMap="LeaseApplyInfoResult">
<select id="selectLeaseApplyInfoList" parameterType="com.bonus.common.biz.domain.lease.LeaseApplyInfo" resultMap="LeaseApplyInfoResult">
<include refid="selectLeaseApplyInfoVo"/>
<where>
<if test="code != null and code != ''"> and lai.code = #{code}</if>
@ -105,7 +105,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where lai.id = #{id}
</select>
<insert id="insertLeaseApplyInfo" parameterType="com.bonus.material.lease.domain.LeaseApplyInfo" useGeneratedKeys="true" keyProperty="id">
<insert id="insertLeaseApplyInfo" parameterType="com.bonus.common.biz.domain.lease.LeaseApplyInfo" useGeneratedKeys="true" keyProperty="id">
insert into lease_apply_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="code != null">code,</if>
@ -161,7 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</insert>
<update id="updateLeaseApplyInfo" parameterType="com.bonus.material.lease.domain.LeaseApplyInfo">
<update id="updateLeaseApplyInfo" parameterType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
update lease_apply_info
<trim prefix="SET" suffixOverrides=",">
<if test="code != null">code = #{code},</if>

View File

@ -94,7 +94,7 @@
values (#{directId},#{typeId},#{maId}, #{directNum},NOW())
</insert>
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.bonus.material.lease.domain.LeaseApplyInfo" useGeneratedKeys="true">
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.bonus.common.biz.domain.lease.LeaseApplyInfo" useGeneratedKeys="true">
<!--@mbg.generated-->
insert into lease_apply_info
<trim prefix="(" suffix=")" suffixOverrides=",">