申请发布
This commit is contained in:
parent
97213e6e60
commit
96985a751d
|
|
@ -88,6 +88,11 @@ public class MaterialConstants {
|
|||
/** 配件领料单号的开头字母 */
|
||||
public static final String PART_LEASE_TASK_TYPE_LEASE = "LP";
|
||||
|
||||
/**
|
||||
* 领用发布
|
||||
*/
|
||||
public static final String LEASE_PUBLISH = "LF";
|
||||
|
||||
/**
|
||||
* 内部单位协议
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ public enum LeaseTaskStatusEnum {
|
|||
LEASE_TASK_ZERO(0, "待审核"),
|
||||
LEASE_TASK_SUBMIT(5, "待提交"),
|
||||
LEASE_TASK_TO_PUBLISHED(1, "待发布"),
|
||||
LEASE_TASK_TO_AUDIT(2, "待审核"),
|
||||
LEASE_TASK_TO_AUDIT(2, "已终结"),
|
||||
LEASE_TASK_IN_PROGRESS(3, "出库进行中"),
|
||||
LEASE_TASK_FINISHED(4, "出库已完成");
|
||||
private final Integer status;
|
||||
|
|
|
|||
|
|
@ -144,6 +144,17 @@ public class LeaseTaskController extends BaseController {
|
|||
return success(service.getDetailsById(leaseApplyInfo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "发布数据保存")
|
||||
@PostMapping("/addPublish")
|
||||
public AjaxResult addPublish(@RequestBody LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
return service.addPublish(leaseApplyRequestVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出领料发布列表
|
||||
* @param response
|
||||
|
|
|
|||
|
|
@ -49,6 +49,9 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "规格型号id")
|
||||
private Long typeId;
|
||||
|
||||
@ApiModelProperty(value = "规格型号id")
|
||||
private Long newTypeId;
|
||||
|
||||
@ApiModelProperty(value = "三级id")
|
||||
private Long thirdTypeId;
|
||||
|
||||
|
|
@ -82,6 +85,9 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "待发布数量")
|
||||
private BigDecimal pendingNum;
|
||||
|
||||
@ApiModelProperty(value = "本次发布数量")
|
||||
private BigDecimal num;
|
||||
|
||||
/** 预领料数 */
|
||||
@Excel(name = "预领数量")
|
||||
@ApiModelProperty(value = "预领料数")
|
||||
|
|
@ -128,6 +134,24 @@ public class LeaseApplyDetails extends BaseEntity {
|
|||
@ApiModelProperty(value = "编码类型集合")
|
||||
private List<MaCodeVo> maCodeVoList;
|
||||
|
||||
@ApiModelProperty(value = "往来单位id")
|
||||
private Long unitId;
|
||||
|
||||
@ApiModelProperty(value = "工程id")
|
||||
private Long projectId;
|
||||
|
||||
@ApiModelProperty(value = "领料人")
|
||||
private String leasePerson;
|
||||
|
||||
@ApiModelProperty(value = "联系方式")
|
||||
private String phone;
|
||||
|
||||
@ApiModelProperty(value = "任务当月序号 例如:1 插入及查询时请携带任务类型")
|
||||
private Integer monthOrder;
|
||||
|
||||
@ApiModelProperty(value = "发布批次")
|
||||
private String publishTask;
|
||||
|
||||
public LeaseApplyDetails(Long id, Long parentId, Long typeId, BigDecimal preNum, BigDecimal auditNum, BigDecimal alNum, String status, Long companyId) {
|
||||
this.id = id;
|
||||
this.parentId = parentId;
|
||||
|
|
|
|||
|
|
@ -112,4 +112,33 @@ public interface LeaseTaskMapper {
|
|||
* @return
|
||||
*/
|
||||
List<LeaseApplyDetails> selectPublishDetails(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 根据taskId查询领用申请详情
|
||||
* @param parentId
|
||||
* @return
|
||||
*/
|
||||
List<LeaseApplyDetails> selectLeaseApplyDetailsById(Long parentId);
|
||||
|
||||
/**
|
||||
* 领用申请发布详情保存
|
||||
* @param applyDetails
|
||||
* @return
|
||||
*/
|
||||
int addPublish(LeaseApplyDetails applyDetails);
|
||||
|
||||
/**
|
||||
* 领用申请发布详情修改
|
||||
* @param applyDetails
|
||||
* @return
|
||||
*/
|
||||
int updatePublish(LeaseApplyDetails applyDetails);
|
||||
|
||||
/**
|
||||
* 根据当前年月查询最大序号
|
||||
* @param year
|
||||
* @param month
|
||||
* @return
|
||||
*/
|
||||
int getMonthMaxOrderByDate(@Param("year") String year, @Param("month") String month);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -107,5 +107,12 @@ public interface ILeaseTaskService {
|
|||
* @return
|
||||
*/
|
||||
LeaseApplyRequestVo getDetailsById(LeaseApplyInfo leaseApplyInfo);
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -596,4 +596,80 @@ public class LeaseTaskServiceImpl implements ILeaseTaskService {
|
|||
throw new RuntimeException("Failed to select lease apply info", e);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发布数据保存
|
||||
* @param leaseApplyRequestVo
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult addPublish(LeaseApplyRequestVo leaseApplyRequestVo) {
|
||||
if (leaseApplyRequestVo == null || leaseApplyRequestVo.getLeaseApplyInfo() == null
|
||||
|| CollectionUtils.isEmpty(leaseApplyRequestVo.getLeaseApplyDetailsList())) {
|
||||
return AjaxResult.error("参数不能为空");
|
||||
}
|
||||
try {
|
||||
int result = 0;
|
||||
LeaseApplyInfo leaseApplyInfo = leaseApplyRequestVo.getLeaseApplyInfo();
|
||||
List<LeaseApplyDetails> leaseApplyDetailsList = leaseApplyRequestVo.getLeaseApplyDetailsList();
|
||||
Long parentId = leaseApplyDetailsList.get(0).getParentId();
|
||||
int thisMonthMaxOrder = mapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth());
|
||||
for (LeaseApplyDetails applyDetails : leaseApplyDetailsList) {
|
||||
// 根据parentId及typeId更新lease_apply_details表的发布数量
|
||||
result = mapper.updatePublish(applyDetails);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
applyDetails.setUnitId(leaseApplyInfo.getUnitId());
|
||||
applyDetails.setProjectId(leaseApplyInfo.getProjectId());
|
||||
applyDetails.setLeasePerson(leaseApplyInfo.getLeasePerson() != null ? leaseApplyInfo.getLeasePerson() : "");
|
||||
applyDetails.setPhone(leaseApplyInfo.getPhone() != null ? leaseApplyInfo.getPhone() : "");
|
||||
applyDetails.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
applyDetails.setCreateTime(DateUtils.getNowDate());
|
||||
applyDetails.setMonthOrder(thisMonthMaxOrder + 1);
|
||||
String publishTask = genderPublishTask(thisMonthMaxOrder);
|
||||
applyDetails.setPublishTask(publishTask);
|
||||
result = mapper.addPublish(applyDetails);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
List<LeaseApplyDetails> leaseApplyDetails = mapper.selectLeaseApplyDetailsById(parentId);
|
||||
boolean allMatch = true;
|
||||
if (!CollectionUtils.isEmpty(leaseApplyDetails)) {
|
||||
for (LeaseApplyDetails leaseApplyDetail : leaseApplyDetails) {
|
||||
if (leaseApplyDetail.getPreNum().compareTo(leaseApplyDetail.getPublishNum()) != 0) {
|
||||
allMatch = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (allMatch) {
|
||||
TmTask tmTask = new TmTask();
|
||||
tmTask.setTaskId(leaseApplyInfo.getTaskId());
|
||||
tmTask.setTaskStatus(LeaseTaskStatusEnum.LEASE_TASK_IN_PROGRESS.getStatus());
|
||||
result = tmTaskMapper.updateTmTask(tmTask);
|
||||
if (result == 0) {
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
return AjaxResult.success("发布成功");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage());
|
||||
return AjaxResult.error("发布失败,请联系管理员");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成发布批次任务
|
||||
* @param thisMonthMaxOrder
|
||||
* @return
|
||||
*/
|
||||
private String genderPublishTask(int thisMonthMaxOrder) {
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date nowDate = DateUtils.getNowDate();
|
||||
String format = dateFormat.format(nowDate);
|
||||
String result = format.replace("-", "");
|
||||
return MaterialConstants.LEASE_PUBLISH + result + String.format("-%03d", thisMonthMaxOrder + 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -262,6 +262,44 @@
|
|||
</foreach>
|
||||
</insert>
|
||||
|
||||
<insert id="addPublish">
|
||||
insert into lease_publish_details
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="parentId != null">parent_id,</if>
|
||||
<if test="typeId != null">type_id,</if>
|
||||
<if test="newTypeId != null">new_type,</if>
|
||||
<if test="num != null">num,</if>
|
||||
<if test="leasePerson != null">lease_person,</if>
|
||||
<if test="phone != null">phone,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="createTime != null">create_time,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="updateTime != null">update_time,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
<if test="unitId != null">unit_id,</if>
|
||||
<if test="projectId != null">project_id,</if>
|
||||
<if test="monthOrder != null">month_order,</if>
|
||||
<if test="publishTask != null and publishTask != ''">publish_task,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="parentId != null">#{parentId},</if>
|
||||
<if test="typeId != null">#{typeId},</if>
|
||||
<if test="newTypeId != null">#{newTypeId},</if>
|
||||
<if test="num != null">#{num},</if>
|
||||
<if test="leasePerson != null">#{leasePerson},</if>
|
||||
<if test="phone != null">#{phone},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="createTime != null">#{createTime},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="updateTime != null">#{updateTime},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
<if test="unitId != null">#{unitId},</if>
|
||||
<if test="projectId != null">#{projectId},</if>
|
||||
<if test="monthOrder != null">#{monthOrder},</if>
|
||||
<if test="publishTask != null and publishTask != ''">#{publishTask},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateLeaseApplyInfo">
|
||||
update lease_apply_info
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
|
|
@ -611,6 +649,14 @@
|
|||
where task_Id = #{taskId}
|
||||
</update>
|
||||
|
||||
<update id="updatePublish">
|
||||
update lease_apply_details
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="num != null">publish_num = IFNULL(publish_num, 0) + #{num},</if>
|
||||
</trim>
|
||||
where parent_id = #{parentId} and type_id = #{typeId}
|
||||
</update>
|
||||
|
||||
<select id="getApplyInfo" resultType="com.bonus.common.biz.domain.lease.LeaseApplyInfo">
|
||||
select
|
||||
lai.code as code,lai.lease_person as leasePerson,lai.phone as phone,lai.create_by as createBy,
|
||||
|
|
@ -699,11 +745,9 @@
|
|||
lai.unit_id,lai.project_id,bu.unit_name, bp.pro_name, tt.task_status as taskStatus,
|
||||
|
||||
case tt.task_status
|
||||
when 0 then '待审核'
|
||||
when 1 then '待审核'
|
||||
when 2 then '审核中'
|
||||
when 1 then '未完成'
|
||||
when 2 then '已终结'
|
||||
when 3 then '已完成'
|
||||
when 4 then '已完成'
|
||||
end as taskStatusName,
|
||||
IFNULL(sum(lad.pre_num),0) as preCountNum,
|
||||
IFNULL(sum(lad.al_num),0) as alNum,
|
||||
|
|
@ -723,7 +767,7 @@
|
|||
left join ma_type mt on lad.type_id = mt.type_id and mt.del_flag = '0'
|
||||
left join ma_type mt1 on mt.parent_id = mt1.type_id and mt1.del_flag = '0'
|
||||
where tt.task_type = '19'
|
||||
and tt.task_status = '1'
|
||||
and tt.task_status in (1, 2, 3)
|
||||
<if test="taskId != null ">and lai.task_id = #{taskId}</if>
|
||||
<if test="statusList != null and statusList.size() > 0">
|
||||
and tt.task_status in
|
||||
|
|
@ -739,4 +783,24 @@
|
|||
GROUP BY lai.id
|
||||
ORDER BY tt.task_status,tt.create_time desc
|
||||
</select>
|
||||
|
||||
<select id="selectLeaseApplyDetailsById" resultType="com.bonus.material.lease.domain.LeaseApplyDetails">
|
||||
SELECT
|
||||
parent_id AS parentId,
|
||||
type_id AS typeId,
|
||||
IFNULL( SUM(pre_num), 0 ) AS preNum,
|
||||
IFNULL( SUM(publish_num), 0 ) AS publishNum
|
||||
FROM
|
||||
lease_apply_details
|
||||
WHERE
|
||||
parent_id = #{parentId}
|
||||
GROUP BY
|
||||
parent_id
|
||||
</select>
|
||||
|
||||
<select id="getMonthMaxOrderByDate" resultType="java.lang.Integer">
|
||||
select COALESCE(max(month_order), 0) from lease_publish_details
|
||||
where
|
||||
month(create_time) = #{month} and year(create_time) = #{year}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue