领料接口优化
This commit is contained in:
parent
b205004268
commit
04fee2f74a
|
|
@ -4,6 +4,7 @@ import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import com.bonus.common.log.enums.OperaType;
|
import com.bonus.common.log.enums.OperaType;
|
||||||
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||||
|
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -81,9 +82,9 @@ public class LeaseApplyInfoController extends BaseController {
|
||||||
@RequiresPermissions("lease:info:add")
|
@RequiresPermissions("lease:info:add")
|
||||||
@SysLog(title = "领料任务", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增领料任务")
|
@SysLog(title = "领料任务", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增领料任务")
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody LeaseApplyInfo leaseApplyInfo) {
|
public AjaxResult add(@RequestBody LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||||
try {
|
try {
|
||||||
return toAjax(leaseApplyInfoService.insertLeaseApplyInfo(leaseApplyInfo));
|
return leaseApplyInfoService.insertLeaseApplyInfo(leaseApplyRequestVo);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return error("系统错误, " + e.getMessage());
|
return error("系统错误, " + e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.bonus.material.lease.domain.vo;
|
||||||
|
|
||||||
|
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.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 领料任务对象 lease_apply_info
|
||||||
|
*
|
||||||
|
* @author xsheng
|
||||||
|
* @date 2024-10-16
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@ToString
|
||||||
|
public class LeaseApplyRequestVo extends BaseEntity {
|
||||||
|
|
||||||
|
private LeaseApplyInfo leaseApplyInfo;
|
||||||
|
|
||||||
|
private List<LeaseApplyDetails> leaseApplyDetailsList;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -34,6 +34,8 @@ public interface LeaseApplyDetailsMapper {
|
||||||
*/
|
*/
|
||||||
public int insertLeaseApplyDetails(LeaseApplyDetails leaseApplyDetails);
|
public int insertLeaseApplyDetails(LeaseApplyDetails leaseApplyDetails);
|
||||||
|
|
||||||
|
public int insertLeaseApplyDetailsList(List<LeaseApplyDetails> leaseApplyDetails);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改领料任务详细
|
* 修改领料任务详细
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,10 @@
|
||||||
package com.bonus.material.lease.service;
|
package com.bonus.material.lease.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.material.lease.domain.LeaseApplyInfo;
|
import com.bonus.material.lease.domain.LeaseApplyInfo;
|
||||||
|
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领料任务Service接口
|
* 领料任务Service接口
|
||||||
|
|
@ -29,10 +32,10 @@ public interface ILeaseApplyInfoService {
|
||||||
/**
|
/**
|
||||||
* 新增领料任务
|
* 新增领料任务
|
||||||
*
|
*
|
||||||
* @param leaseApplyInfo 领料任务
|
* @param leaseApplyRequestVo 领料任务
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertLeaseApplyInfo(LeaseApplyInfo leaseApplyInfo);
|
public AjaxResult insertLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改领料任务
|
* 修改领料任务
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,30 @@
|
||||||
package com.bonus.material.lease.service.impl;
|
package com.bonus.material.lease.service.impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
|
||||||
|
import com.bonus.common.biz.enums.TmTaskTypeEnum;
|
||||||
import com.bonus.common.core.exception.ServiceException;
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
import com.bonus.common.core.utils.DateUtils;
|
import com.bonus.common.core.utils.DateUtils;
|
||||||
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
|
import com.bonus.common.security.utils.SecurityUtils;
|
||||||
|
import com.bonus.material.basic.domain.BmFileInfo;
|
||||||
|
import com.bonus.material.lease.domain.LeaseApplyDetails;
|
||||||
|
import com.bonus.material.lease.domain.vo.LeaseApplyRequestVo;
|
||||||
|
import com.bonus.material.lease.mapper.LeaseApplyDetailsMapper;
|
||||||
|
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
|
||||||
|
import com.bonus.material.purchase.domain.dto.PurchaseCheckDto;
|
||||||
|
import com.bonus.material.task.domain.TmTask;
|
||||||
|
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.dao.DataAccessException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.bonus.material.lease.mapper.LeaseApplyInfoMapper;
|
import com.bonus.material.lease.mapper.LeaseApplyInfoMapper;
|
||||||
import com.bonus.material.lease.domain.LeaseApplyInfo;
|
import com.bonus.material.lease.domain.LeaseApplyInfo;
|
||||||
import com.bonus.material.lease.service.ILeaseApplyInfoService;
|
import com.bonus.material.lease.service.ILeaseApplyInfoService;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 领料任务Service业务层处理
|
* 领料任务Service业务层处理
|
||||||
|
|
@ -20,6 +37,14 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private LeaseApplyInfoMapper leaseApplyInfoMapper;
|
private LeaseApplyInfoMapper leaseApplyInfoMapper;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LeaseApplyDetailsMapper leaseApplyDetailsMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private TmTaskMapper tmTaskMapper;
|
||||||
|
|
||||||
|
public static final String LEASE_TASK_TYPE_LABEL = "L";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询领料任务
|
* 查询领料任务
|
||||||
*
|
*
|
||||||
|
|
@ -45,19 +70,63 @@ public class LeaseApplyInfoServiceImpl implements ILeaseApplyInfoService {
|
||||||
/**
|
/**
|
||||||
* 新增领料任务
|
* 新增领料任务
|
||||||
*
|
*
|
||||||
* @param leaseApplyInfo 领料任务
|
* @param leaseApplyRequestVo 领料任务
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int insertLeaseApplyInfo(LeaseApplyInfo leaseApplyInfo) {
|
public AjaxResult insertLeaseApplyInfo(LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||||
leaseApplyInfo.setCreateTime(DateUtils.getNowDate());
|
leaseApplyRequestVo.getLeaseApplyInfo().setCreateTime(DateUtils.getNowDate());
|
||||||
|
leaseApplyRequestVo.getLeaseApplyInfo().setCreateBy(SecurityUtils.getUsername());
|
||||||
try {
|
try {
|
||||||
return leaseApplyInfoMapper.insertLeaseApplyInfo(leaseApplyInfo);
|
int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId());
|
||||||
|
String taskCode = genderTaskCode(thisMonthMaxOrder);
|
||||||
|
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_LEASE.getTaskTypeId(),
|
||||||
|
PurchaseTaskStatusEnum.TO_NOTICE.getStatus(),
|
||||||
|
leaseApplyRequestVo.getLeaseApplyInfo().getCompanyId(), "1", thisMonthMaxOrder + 1, taskCode);
|
||||||
|
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||||
|
tmTaskMapper.insertTmTask(tmTask);
|
||||||
|
Long taskId = tmTask.getTaskId();
|
||||||
|
leaseApplyRequestVo.getLeaseApplyInfo().setTaskId(taskId);
|
||||||
|
int count = leaseApplyInfoMapper.insertLeaseApplyInfo(leaseApplyRequestVo.getLeaseApplyInfo());
|
||||||
|
if (count > 0) {
|
||||||
|
return insertPurchaseCheckDetails(leaseApplyRequestVo.getLeaseApplyDetailsList(), taskId);
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error("新增任务失败,lease_apply_info表插入0条");
|
||||||
|
}
|
||||||
|
} catch (DataAccessException e) {
|
||||||
|
return AjaxResult.error("数据库操作失败:" + e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new ServiceException("错误信息描述");
|
return AjaxResult.error("新增任务失败:" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AjaxResult insertPurchaseCheckDetails(List<LeaseApplyDetails> leaseApplyDetailsList, Long taskId) {
|
||||||
|
if (!CollectionUtils.isEmpty(leaseApplyDetailsList)) {
|
||||||
|
for (LeaseApplyDetails details : leaseApplyDetailsList) {
|
||||||
|
details.setParenntId(taskId); // 设置领料taskId
|
||||||
|
//details.setStatus(PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
||||||
|
}
|
||||||
|
// 批量插入详情数据
|
||||||
|
int count = leaseApplyDetailsMapper.insertLeaseApplyDetailsList(leaseApplyDetailsList);
|
||||||
|
if (count > 0) {
|
||||||
|
return AjaxResult.success("新增任务成功");
|
||||||
|
} else {
|
||||||
|
return AjaxResult.error("新增任务失败,lease_apply_detail详情表插入0条");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return AjaxResult.success("新增任务成功");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生成任务编号并构造Tm_Task任务对象
|
||||||
|
* @param thisMonthMaxOrder 当月最大单号
|
||||||
|
* @return 任务对象
|
||||||
|
*/
|
||||||
|
private static String genderTaskCode(Integer thisMonthMaxOrder) {
|
||||||
|
return LEASE_TASK_TYPE_LABEL + DateUtils.getCurrentYear() + DateUtils.getCurrentMonth() + String.format("%06d", thisMonthMaxOrder + 1);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改领料任务
|
* 修改领料任务
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -73,6 +73,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<insert id="insertLeaseApplyDetailsList" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
|
||||||
|
insert into lease_apply_details
|
||||||
|
(parennt_id, type_id, pre_num, al_num, `status`, create_by, create_time, update_by,
|
||||||
|
update_time, remark, company_id)
|
||||||
|
values
|
||||||
|
<foreach collection="list" item="item" separator=",">
|
||||||
|
(#{item.parenntId,jdbcType=INTEGER}, #{item.typeId,jdbcType=INTEGER}, #{item.preNum,jdbcType=INTEGER},
|
||||||
|
#{item.alNum,jdbcType=INTEGER}, #{item.status,jdbcType=VARCHAR}, #{item.createBy,jdbcType=VARCHAR},
|
||||||
|
NOW(), #{item.updateBy,jdbcType=VARCHAR}, NOW(),
|
||||||
|
#{item.remark,jdbcType=VARCHAR}, #{item.companyId,jdbcType=INTEGER})
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
|
|
||||||
<update id="updateLeaseApplyDetails" parameterType="com.bonus.material.lease.domain.LeaseApplyDetails">
|
<update id="updateLeaseApplyDetails" parameterType="com.bonus.material.lease.domain.LeaseApplyDetails">
|
||||||
update lease_apply_details
|
update lease_apply_details
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue