后台-退料申请与审核

This commit is contained in:
bns_han 2023-12-22 00:13:15 +08:00
parent 5c50ce4706
commit a428cf7658
6 changed files with 166 additions and 86 deletions

View File

@ -85,7 +85,7 @@ public class BackApplyController extends BaseController {
@Log(title = "领料申请提交", businessType = BusinessType.INSERT) @Log(title = "领料申请提交", businessType = BusinessType.INSERT)
@PostMapping("submitBackApply") @PostMapping("/submitBackApply")
public AjaxResult submitBackApply(@RequestBody BackApplyInfo bean) { public AjaxResult submitBackApply(@RequestBody BackApplyInfo bean) {
if (StringUtils.isNull(bean)) { if (StringUtils.isNull(bean)) {
return AjaxResult.error("参数错误"); return AjaxResult.error("参数错误");
@ -97,6 +97,8 @@ public class BackApplyController extends BaseController {
return AjaxResult.error("后台退料编号生成异常,请重试!"); return AjaxResult.error("后台退料编号生成异常,请重试!");
} }
bean.setCode(code); bean.setCode(code);
bean.setTaskType(36);
bean.setTaskStatus("37");
// 创建任务 // 创建任务
boolean addTaskResult = backApplyService.insertSelective(bean) > 0; boolean addTaskResult = backApplyService.insertSelective(bean) > 0;
if (addTaskResult && bean.getTaskId() != null) { if (addTaskResult && bean.getTaskId() != null) {
@ -137,4 +139,15 @@ public class BackApplyController extends BaseController {
} }
} }
@ApiOperation("退料审核-审核")
@Log(title = "退料审核列表-审核", businessType = BusinessType.UPDATE)
@PostMapping("/audit")
public AjaxResult audit(@RequestBody BackApplyInfo record)
{
return backApplyService.audit(record);
}
} }

View File

@ -21,6 +21,10 @@ public class BackApplyInfo extends BaseEntity {
@ApiModelProperty(value = "退料ID") @ApiModelProperty(value = "退料ID")
private Long id; private Long id;
/** 退料ID-字符串 */
@ApiModelProperty(value = "退料ID-字符串")
private String ids;
/** 退料单号 */ /** 退料单号 */
@Excel(name = "退料单号") @Excel(name = "退料单号")
@ApiModelProperty(value = "退料单号") @ApiModelProperty(value = "退料单号")
@ -30,8 +34,11 @@ public class BackApplyInfo extends BaseEntity {
@ApiModelProperty(value = "任务ID") @ApiModelProperty(value = "任务ID")
private Integer taskId; private Integer taskId;
/** 任务ID */
@ApiModelProperty(value = "任务类型")
private Integer taskType;
/** 签订日期 */ /** 签订日期 */
@Excel(name = "签订日期")
@ApiModelProperty(value = "签订日期") @ApiModelProperty(value = "签订日期")
private String signTime; private String signTime;
@ -41,7 +48,7 @@ public class BackApplyInfo extends BaseEntity {
private String backPerson; private String backPerson;
/** 联系电话 */ /** 联系电话 */
@Excel(name = "联系电话") @Excel(name = "退料人联系电话")
@ApiModelProperty(value = "联系电话") @ApiModelProperty(value = "联系电话")
private String phone; private String phone;
@ -88,21 +95,64 @@ public class BackApplyInfo extends BaseEntity {
@ApiModelProperty(value = "工程id") @ApiModelProperty(value = "工程id")
private Integer lotId; private Integer lotId;
@Excel(name = "退料工程名称")
@ApiModelProperty(value = "工程名称") @ApiModelProperty(value = "工程名称")
private String lotName; private String lotName;
@ApiModelProperty(value = "单位id") @ApiModelProperty(value = "单位id")
private Integer unitId; private Integer unitId;
@Excel(name = "退料单位名称")
@ApiModelProperty(value = "单位名称") @ApiModelProperty(value = "单位名称")
private String unitName; private String unitName;
@Excel(name = "退料申请时间")
@ApiModelProperty(value = "退料日期") @ApiModelProperty(value = "退料日期")
private String backTime; private String backTime;
@Excel(name = "协议号")
@ApiModelProperty(value = "协议编号")
private String agreementCode;
@Excel(name = "退料状态")
@ApiModelProperty(value = "任务状态")
private String taskStatus;
@ApiModelProperty(value = "协议id")
private Integer agreementId;
@ApiModelProperty(value = "类型id")
private String typeId; private String typeId;
@Excel(name = "退料工机具类型")
@ApiModelProperty(value = "类型名称")
private String typeName;
@ApiModelProperty(value = "规格编号")
private String typeCode; private String typeCode;
@ApiModelProperty(value = "数量")
private String num; private String num;
private String typeByNum;
@ApiModelProperty(value = "详情id和数量")
private String detailsIdByNum;
@ApiModelProperty(value = "类型id和数量")
private String typeIdByNum;
@ApiModelProperty(value = "详情id")
private String detailsId;
@ApiModelProperty(value = "编码")
private String maCode;
@ApiModelProperty(value = "在用数量")
private String useNum;
@ApiModelProperty(value = "操作人")
private String createName;
@ApiModelProperty(value = "审核人")
private String examineName;
} }

View File

@ -36,7 +36,9 @@ public interface BackApplyMapper {
List<BackApplyInfo> getView(BackApplyInfo bean); List<BackApplyInfo> getView(BackApplyInfo bean);
int setModify(@Param("detailsId") int detailsId, @Param("num") int num); int setModify(@Param("detailsId") String detailsId, @Param("num") String num);
int del(BackApplyInfo bean); int del(BackApplyInfo bean);
int audit(BackApplyInfo bean);
} }

View File

@ -35,4 +35,6 @@ public interface BackApplyService {
AjaxResult setModify(BackApplyInfo bean); AjaxResult setModify(BackApplyInfo bean);
AjaxResult del(BackApplyInfo bean); AjaxResult del(BackApplyInfo bean);
AjaxResult audit(BackApplyInfo record);
} }

View File

@ -1,15 +1,10 @@
package com.bonus.sgzb.material.service.impl; package com.bonus.sgzb.material.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.StringUtils; import com.bonus.sgzb.common.core.utils.StringUtils;
import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.AgreementInfo;
import com.bonus.sgzb.material.domain.BackApplyInfo; import com.bonus.sgzb.material.domain.BackApplyInfo;
import com.bonus.sgzb.material.mapper.BackApplyMapper; import com.bonus.sgzb.material.mapper.BackApplyMapper;
import com.bonus.sgzb.material.service.AgreementInfoService;
import com.bonus.sgzb.material.service.BackApplyService; import com.bonus.sgzb.material.service.BackApplyService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -82,21 +77,16 @@ public class BackApplyServiceImpl implements BackApplyService {
@Override @Override
public AjaxResult setModify(BackApplyInfo bean) { public AjaxResult setModify(BackApplyInfo bean) {
if (!StringUtils.isEmpty(bean.getTypeByNum())){ if (!StringUtils.isEmpty(bean.getDetailsId()) && !StringUtils.isEmpty(bean.getNum())){
// 使用 parseArray 方法解析 JSON 字符串为 JSONArray 对象 String[] detailsId = bean.getDetailsId().split(",");
JSONArray jsonArray = JSON.parseArray(bean.getTypeByNum()); String[] num = bean.getNum().split(",");
// 遍历 JSONArray for (int i=0;i< detailsId.length;i++){
for (int i = 0; i < jsonArray.size(); i++) { String detailsIds=detailsId[i];
// 获取当前 JSONObject String nums=num[i];
JSONObject jsonObject = jsonArray.getJSONObject(i); int re =backApplyMapper.setModify(detailsIds,nums);
// 获取 JSONObject 中的属性值 if (re<1){
int detailsId = jsonObject.getIntValue("detailsId");
int num = jsonObject.getIntValue("num");
int res=backApplyMapper.setModify(detailsId,num);
if (res<1){
return AjaxResult.error("修改失败"); return AjaxResult.error("修改失败");
} }
} }
return AjaxResult.success("修改成功"); return AjaxResult.success("修改成功");
}else { }else {
@ -114,4 +104,22 @@ public class BackApplyServiceImpl implements BackApplyService {
} }
} }
@Override
public AjaxResult audit(BackApplyInfo bean) {
if (!StringUtils.isEmpty(bean.getIds())){
String[] ids = bean.getDetailsId().split(",");
for (int i=0;i< ids.length;i++){
String id=ids[i];
bean.setId(Long.valueOf(id));
int re =backApplyMapper.audit(bean);
if (re<1){
return AjaxResult.error("审核失败");
}
}
return AjaxResult.success("审核成功");
}else {
return AjaxResult.error("审核失败,未获取到参数");
}
}
} }

View File

@ -26,59 +26,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="fileUrl" column="file_url"/> <result property="fileUrl" column="file_url"/>
</resultMap> </resultMap>
<insert id="insertTask" keyColumn="task_id" keyProperty="taskId" parameterType="com.bonus.sgzb.material.domain.BackApplyInfo" useGeneratedKeys="true"> <insert id="insertTask" keyColumn="task_id" keyProperty="taskId" parameterType="com.bonus.sgzb.material.domain.BackApplyInfo" useGeneratedKeys="true">
insert into tm_task insert into tm_task (
( <if test="taskType != null">task_type, </if>
<if test="taskType != null"> <if test="taskStatus != null">task_status, </if>
task_type, <if test="code != null and code != ''">code, </if>
</if> <if test="createBy != null and createBy != ''">create_by, </if>
<if test="taskStatus != null"> <if test="updateBy != null and updateBy != ''">update_by, </if>
task_status, <if test="updateTime != null">update_time, </if>
</if> <if test="remark != null and remark != ''">remark, </if>
<if test="code != null and code != ''"> <if test="companyId != null">company_id, </if>
code,
</if>
<if test="createBy != null and createBy != ''">
create_by,
</if>
<if test="updateBy != null and updateBy != ''">
update_by,
</if>
<if test="updateTime != null">
update_time,
</if>
<if test="remark != null and remark != ''">
remark,
</if>
<if test="companyId != null">
company_id,
</if>
create_time create_time
) values ( ) values (
<if test="taskType != null"> <if test="taskType != null">#{taskType}, </if>
#{taskType}, <if test="taskStatus != null">#{taskStatus}, </if>
</if> <if test="code != null and code != ''">#{code}, </if>
<if test="taskStatus != null"> <if test="createBy != null and createBy != ''">#{createBy}, </if>
#{taskStatus}, <if test="updateBy != null and updateBy != ''">#{updateBy}, </if>
</if> <if test="updateTime != null">#{updateTime}, </if>
<if test="code != null and code != ''"> <if test="remark != null and remark != ''">#{remark}, </if>
#{code}, <if test="companyId != null">#{companyId}, </if>
</if>
<if test="createBy != null and createBy != ''">
#{createBy},
</if>
<if test="updateBy != null and updateBy != ''">
#{updateBy},
</if>
<if test="updateTime != null">
#{updateTime},
</if>
<if test="remark != null and remark != ''">
#{remark},
</if>
<if test="companyId != null">
#{companyId},
</if>
NOW() NOW()
)
</insert> </insert>
<insert id="insertTaskAgreement"> <insert id="insertTaskAgreement">
@ -280,24 +248,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
set pre_num =#{num} set pre_num =#{num}
where id = #{detailsId} where id = #{detailsId}
</update> </update>
<update id="audit">
UPDATE tm_task tt
LEFT JOIN back_apply_info bai ON bai.task_id = tt.task_id
LEFT JOIN back_apply_details bad on bad.parent_id=bai.id
SET tt.task_status = '38',bad.audit_num=bad.pre_num,bai.direct_audit_by=#{createBy},bai.direct_audit_time=NOW()
WHERE
bai.id = #{id}
</update>
<delete id="del"> <delete id="del">
DELETE DELETE
FROM tm_task_agreement tta LEFT JOIN back_apply_info bai FROM tm_task_agreement
ON bai.task_id = tta.task_id WHERE task_id IN (SELECT task_id FROM back_apply_info WHERE id = #{id});
WHERE
bai.id = #{id};
DELETE DELETE
FROM tm_task tt LEFT JOIN back_apply_info bai FROM tm_task
ON bai.task_id = tt.task_id WHERE task_id IN (SELECT task_id FROM back_apply_info WHERE id = #{id});
WHERE
bai.id = #{id};
DELETE DELETE
FROM back_apply_details bad LEFT JOIN back_apply_info bai FROM back_apply_details
ON bai.id = bad.parent_id WHERE parent_id IN (SELECT id FROM back_apply_info WHERE id = #{id});
WHERE
bai.id = #{id};
DELETE DELETE
FROM back_apply_info FROM back_apply_info
@ -340,6 +312,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and bai.back_person like concat('%', #{keyWord}, '%') or and bai.back_person like concat('%', #{keyWord}, '%') or
and bai.phone like concat('%', #{keyWord}, '%') and bai.phone like concat('%', #{keyWord}, '%')
</if> </if>
<if test="unitId != null and unitId != ''">
and bui.unit_id = #{unitId}
</if>
<if test="lotId != null and lotId != ''">
and bpl.lot_id = #{lotId}
</if>
<if test="taskStatus != null and taskStatus != ''">
and tt.task_status = #{taskStatus}
</if>
<if test="agreementCode != null and agreementCode != ''">
and bagi.agreement_code like concat('%', #{agreementCode}, '%')
</if>
GROUP BY bai.id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time GROUP BY bai.id, us.user_name, bai.phone, bpl.lot_name, bui.unit_name, bagi.plan_start_time
</select> </select>
@ -368,6 +352,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN ma_machine mm on mm.ma_id = lod.ma_id LEFT JOIN ma_machine mm on mm.ma_id = lod.ma_id
WHERE tta.agreement_id = #{agreementId} WHERE tta.agreement_id = #{agreementId}
and tt.task_type = '29' and tt.task_type = '29'
and mt.type_id is not null
<if test="keyWord != null and keyWord != ''">
and mt.type_name like concat('%', #{keyWord}, '%') or
and mt3.type_name like concat('%', #{keyWord}, '%') or
and mm.ma_code like concat('%', #{keyWord}, '%')
</if>
) AS subquery1 ) AS subquery1
LEFT JOIN LEFT JOIN
( (
@ -387,6 +377,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id LEFT JOIN ma_type mt4 ON mt4.type_id = mt3.parent_id
WHERE tta.agreement_id = #{agreementId} WHERE tta.agreement_id = #{agreementId}
and tt.task_type = '36' and tt.task_type = '36'
and mt.type_id is not null
) AS subquery2 ) AS subquery2
ON subquery1.type_id = subquery2.type_id ON subquery1.type_id = subquery2.type_id
</select> </select>
@ -408,6 +399,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bagi.agreement_code as agreementCode, bagi.agreement_code as agreementCode,
bai.back_person as backPerson, bai.back_person as backPerson,
bai.phone, bai.phone,
bai.back_time as backTime,
bai.`code`,
bai.remark,
us.user_name as createName,
us2.user_name as examineName,
bad.type_id as typeId, bad.type_id as typeId,
mt.type_name typeCode, mt.type_name typeCode,
CONCAT_WS( CONCAT_WS(
@ -428,8 +424,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id LEFT JOIN bm_agreement_info bagi ON bagi.agreement_id = tta.agreement_id
LEFT JOIN bm_project_lot bpl ON bpl.lot_id = bagi.project_id LEFT JOIN bm_project_lot bpl ON bpl.lot_id = bagi.project_id
LEFT JOIN bm_unit_info bui ON bui.unit_id = bagi.unit_id LEFT JOIN bm_unit_info bui ON bui.unit_id = bagi.unit_id
LEFT JOIN sys_user us on us.user_id=bai.create_by
LEFT JOIN sys_user us2 on us2.user_id=bai.direct_audit_by
WHERE WHERE
bai.id = #{id} bai.id = #{id}
<if test="keyWord != null and keyWord != ''">
and mt.type_name like concat('%', #{keyWord}, '%') or
and mt3.type_name like concat('%', #{keyWord}, '%') or
and mm.ma_code like concat('%', #{keyWord}, '%')
</if>
) AS result1 ) AS result1
LEFT JOIN LEFT JOIN
( (
@ -453,6 +456,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE WHERE
tta.agreement_id = #{agreementId} tta.agreement_id = #{agreementId}
AND tt.task_type = '29' AND tt.task_type = '29'
and mt.type_id is not null
) AS subquery1 ) AS subquery1
LEFT JOIN (-- 第二个查询作为子查询 LEFT JOIN (-- 第二个查询作为子查询
SELECT SELECT
@ -468,8 +472,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE WHERE
tta.agreement_id = #{agreementId} tta.agreement_id = #{agreementId}
AND tt.task_type = '36' AND tt.task_type = '36'
and mt.type_id is not null
) AS subquery2 ON subquery1.type_id = subquery2.type_id ) AS subquery2 ON subquery1.type_id = subquery2.type_id
) AS result2 ON result1.typeId = result2.typeId; ) AS result2 ON result1.typeId = result2.typeId
</select> </select>
</mapper> </mapper>