禅道bug修复

This commit is contained in:
hongchao 2025-06-17 11:22:36 +08:00
parent b1906e1263
commit 1cf2bf7fb9
9 changed files with 458 additions and 10 deletions

View File

@ -0,0 +1,419 @@
package com.bonus.sgzb.base.api.domain;
import com.bonus.sgzb.common.core.annotation.Excel;
import com.bonus.sgzb.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import java.util.List;
/**
* 退料
* @author bns_han
*/
@Data
public class BackApplyInfoCt extends BaseEntity {
/**
* 是否完成退料0 1
*/
@ApiModelProperty(value = "是否完成退料0 否1 是)")
private Integer isFinishBack;
/**
* 退料id
*/
@ApiModelProperty(value = "退料ID")
private Long id;
@ApiModelProperty(value="工程id")
private Long projectId;
@ApiModelProperty(value="工程名称")
private String proName;
/** 退料ID-字符串 */
@ApiModelProperty(value = "退料ID-字符串")
private String ids;
private String applyStatus;
/**
* 装备管理方式(0编号 1计数)
*/
@ApiModelProperty(value = "装备管理方式名称")
private String manageTypeName;
@ApiModelProperty(value = "退料接收文件")
private List<FileInfo> fileList;
private String uid;
/**
* 机具管理方式
*/
private String manageType;
private BackApplyInfoCt[] arr;
private Integer maId;
private Integer directNum;
/** 任务ID */
@ApiModelProperty(value = "任务ID")
private Integer taskId;
/** 任务ID */
@ApiModelProperty(value = "任务ID")
private String taskIds;
/** 任务ID */
@ApiModelProperty(value = "任务类型")
private Integer taskType;
/** 签订日期 */
@ApiModelProperty(value = "签订日期")
private String signTime;
/**
* 退料人
*/
private String userName;
private String badId;
private String[] split;
private String[] typeIds;
private String taskName;
/**
* 联系人
*/
@Excel(name = "联系电话",sort = 6)
@ApiModelProperty(value = "联系电话")
private String phone;
/**
* 工程名称
*/
@Excel(name = "退料工程",sort = 3)
@ApiModelProperty(value = "工程名称")
private String lotName;
/**
* 单位名称
*/
@Excel(name = "退料单位",sort = 2)
@ApiModelProperty(value = "单位名称")
private String unitName;
/**
* 开始时间
*/
private String planStartTime;
private String modelId;
private List<MachinePart> maTypeDetails;
/**
* 类型名称
*/
@Excel(name = "退料类型名称",sort = 4)
@ApiModelProperty(value = "类型名称")
private String typeName;
/**
* 协议号
*/
@Excel(name = "协议号",sort = 8)
@ApiModelProperty(value = "协议编号")
private String agreementCode;
/**
* 规格编号
*/
@ApiModelProperty(value = "规格编号")
private String typeCode;
@ApiModelProperty(value = "退料单号")
private String code;
@Excel(name = "退料人员",sort = 5)
@ApiModelProperty(value = "退料人员")
private String backPerson;
@Excel(name = "退料时间",sort = 7)
@ApiModelProperty(value = "退料日期")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private String backTime;
private String type;
/**
* 合格数量
*/
private Integer passNum;
/**
* 维修数量
*/
private Integer maintenanceNum;
/**
* 报废数量
*/
private Integer scrapNum;
/**
* 退料数量
*/
private Integer backNum;
/**
* 退料状态(1合格2维修3待报废)
*/
private String backStatus;
/**
* 合格入库数量
*/
private String inputNum;
private BackApplyInfoCt info;
private Long parentId;
private String sdStatus;
private String sdId;
/**
* 二维码编码
*/
private String qrCode;
/**
* rfid编码
*/
private String rfidCode;
private Integer repairedNum;
private String backId;
private String repairer;
private Integer flag;
private Integer partNum;
/**
* 合格数量
*/
private Integer hgNum;
/**
* 维修数量
*/
private Integer wxNum;
/**
* 报废数量
*/
private Integer bfNum;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date backReceiveTime;
@ApiModelProperty(value = "任务状态")
private String taskStatus;
/** 机具公司审核人 */
@ApiModelProperty(value = "机具公司审核人")
private Integer directAuditBy;
/** 机具公司审批时间 */
@ApiModelProperty(value = "机具公司审批时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date directAuditTime;
/** 机具公司审批备注 */
@ApiModelProperty(value = "机具公司审批备注")
private String directAuditRemark;
/** 创建者 */
@ApiModelProperty(value = "创建者")
private String createBy;
/** 创建时间 */
@ApiModelProperty(value = "创建时间")
private Date createTime;
/** 更新者 */
@ApiModelProperty(value = "更新者")
private String updateBy;
/** 更新时间 */
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/** 备注 */
@ApiModelProperty(value = "备注")
private String remark;
/** 数据所属组织 */
@ApiModelProperty(value = "数据所属组织")
private String companyId;
@ApiModelProperty(value = "关键字")
private String keyWord;
@ApiModelProperty(value = "工程id")
private Integer lotId;
@ApiModelProperty(value = "单位id")
private Integer unitId;
@ApiModelProperty(value = "计量单位")
private String unitNames;
@ApiModelProperty(value = "协议id")
private Integer agreementId;
@ApiModelProperty(value = "类型id")
private String typeId;
@ApiModelProperty(value = "数量")
private Integer num;
/**
* 已完成的退料数量
*/
private Integer finishedBackNum;
/**
* 未完成的退料数量
*/
private Integer inCompletedBackNum;
/**
* 此协议号最大剩余退料数 (前台显示 slt_agreement_info 表减去 back_check_details)
*/
private Integer maxBackNum;
/**
* 此协议号最大剩余退料数 (后台计算,只查 slt_agreement_info )
*/
private Integer maxBackNumBackend;
@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;
@ApiModelProperty(value = "开始时间")
private String startTime;
@ApiModelProperty(value = "结束时间")
private String endTime;
@ApiModelProperty(value = "等级")
private String level;
/**
* 退料任务实体
*/
@ApiModelProperty(value="退料任务实体")
private BackApplyInfoCt backApplyInfo;
/**
* 退料任务实体集合
*/
@ApiModelProperty(value="退料任务实体集合")
private List<BackApplyInfoCt> backApplyInfoList;
/**
* 退料任务实体集合
*/
@ApiModelProperty(value="退料任务实体集合")
private List<BackApplyInfoCt> backApplyDetails;
/**审核状态*/
@ApiModelProperty(value="同一退料单中不同器具状态")
private String status;
private String guigeCn;
/**
* 退料数量
*/
private Integer preNum;
private Integer auditNum;
private String typeCn;
/** 前端条件查询所传工程id */
private String proId;
/** 前端条件查询所传退料时间 */
private String time;
private int viewWeb;
/** 操作后库存 */
private int postStoreNum;
/** 维修备注 */
private String repairRemark;
/** 报废备注 */
private String scrapRemark;
/** 报废原因1人为 2自然损坏 */
private Integer scrapReason;
/** 库管员 */
private long userId;
/**
* 退料合格编码集合
*/
private List<MaCodeDto> passMaCodeDtoList;
/**
* 退料维修编码集合
*/
private List<MaCodeDto> repairMaCodeDtoList;
/**
* 退料编码集合
*/
private List<MaCodeDto> numList;
@ApiModelProperty(value = "数据字典")
private Long dicId;
private String maStatus;
@ApiModelProperty(value = "物资类型")
private String materialType;
private String materialName;
@Excel(name = "退料单号",sort = 1)
@ApiModelProperty(value = "退料单号")
private String backCode;
}

View File

@ -2,6 +2,7 @@ package com.bonus.sgzb.material.controller;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert; import cn.hutool.core.convert.Convert;
import com.bonus.sgzb.base.api.domain.BackApplyInfoCt;
import com.bonus.sgzb.base.api.domain.CtBackApplyInfo; import com.bonus.sgzb.base.api.domain.CtBackApplyInfo;
import com.bonus.sgzb.common.core.utils.DateUtils; import com.bonus.sgzb.common.core.utils.DateUtils;
import com.bonus.sgzb.common.core.utils.ListPagingUtil; import com.bonus.sgzb.common.core.utils.ListPagingUtil;
@ -100,10 +101,10 @@ public class BackApplyController extends BaseController {
@Log(title = "退料接收列表", businessType = BusinessType.QUERY) @Log(title = "退料接收列表", businessType = BusinessType.QUERY)
@GetMapping("getBackCtList") @GetMapping("getBackCtList")
// @RequiresPermissions("return:receive:list") // @RequiresPermissions("return:receive:list")
public AjaxResult getBackCtList(BackApplyInfo record) { public AjaxResult getBackCtList(BackApplyInfoCt record) {
try { try {
startPage(); startPage();
List<BackApplyInfo> list = backApplyService.getBackCtList(record); List<BackApplyInfoCt> list = backApplyService.getBackCtList(record);
return AjaxResult.success(getDataTable(list)); return AjaxResult.success(getDataTable(list));
} catch (Exception e) { } catch (Exception e) {
@ -111,6 +112,18 @@ public class BackApplyController extends BaseController {
} }
} }
/**
* 成套设备退料明细导出
*/
@ApiOperation("成套设备退料明细导出")
@Log(title = "成套设备退料明细导出", businessType = BusinessType.EXPORT)
@PostMapping("/exportCt")
public void exportCt(HttpServletResponse response, BackApplyInfoCt bean) {
List<BackApplyInfoCt> list = backApplyService.getBackCtList(bean);
ExcelUtil<BackApplyInfoCt> util = new ExcelUtil<BackApplyInfoCt>(BackApplyInfoCt.class);
util.exportExcel(response, list, "成套设备退料明细");
}
@ApiOperation(value = "查看成套退料明细") @ApiOperation(value = "查看成套退料明细")
@GetMapping("/getCtDetailList") @GetMapping("/getCtDetailList")
public AjaxResult getCtDetailList(BackApplyInfo dto) { public AjaxResult getCtDetailList(BackApplyInfo dto) {

View File

@ -1,5 +1,6 @@
package com.bonus.sgzb.material.mapper; package com.bonus.sgzb.material.mapper;
import com.bonus.sgzb.base.api.domain.BackApplyInfoCt;
import com.bonus.sgzb.base.api.domain.CtBackInfoTwo; import com.bonus.sgzb.base.api.domain.CtBackInfoTwo;
import com.bonus.sgzb.base.api.domain.MaCodeDto; import com.bonus.sgzb.base.api.domain.MaCodeDto;
import com.bonus.sgzb.material.domain.*; import com.bonus.sgzb.material.domain.*;
@ -235,7 +236,7 @@ public interface BackApplyMapper {
int insertBackCtDetailsFJ(CtBackInfoTwo backApplyDetail); int insertBackCtDetailsFJ(CtBackInfoTwo backApplyDetail);
List<BackApplyInfo> getBackCtList(BackApplyInfo bean); List<BackApplyInfoCt> getBackCtList(BackApplyInfoCt bean);
BackApplyInfo getBackApplyDetailsUp(BackApplyInfo bean); BackApplyInfo getBackApplyDetailsUp(BackApplyInfo bean);

View File

@ -1,5 +1,6 @@
package com.bonus.sgzb.material.service; package com.bonus.sgzb.material.service;
import com.bonus.sgzb.base.api.domain.BackApplyInfoCt;
import com.bonus.sgzb.base.api.domain.CtBackApplyInfo; import com.bonus.sgzb.base.api.domain.CtBackApplyInfo;
import com.bonus.sgzb.common.core.web.domain.AjaxResult; import com.bonus.sgzb.common.core.web.domain.AjaxResult;
import com.bonus.sgzb.material.domain.BackApplyDto; import com.bonus.sgzb.material.domain.BackApplyDto;
@ -113,7 +114,7 @@ public interface BackApplyService {
AjaxResult getCtDetailList(BackApplyInfo dto); AjaxResult getCtDetailList(BackApplyInfo dto);
List<BackApplyInfo> getBackCtList(BackApplyInfo bean); List<BackApplyInfoCt> getBackCtList(BackApplyInfoCt bean);
/** /**
* 退料申请导出 * 退料申请导出
* @param bean * @param bean

View File

@ -534,9 +534,9 @@ public class BackApplyServiceImpl implements BackApplyService {
} }
@Override @Override
public List<BackApplyInfo> getBackCtList(BackApplyInfo bean) { public List<BackApplyInfoCt> getBackCtList(BackApplyInfoCt bean) {
List<BackApplyInfo> list = backApplyMapper.getBackCtList(bean); List<BackApplyInfoCt> list = backApplyMapper.getBackCtList(bean);
return list; return list;
} }

View File

@ -484,7 +484,7 @@ public class ScrapApplyDetailsServiceImpl implements IScrapApplyDetailsService {
extracted(scrapApplyDetails); extracted(scrapApplyDetails);
TmTask tmTask = new TmTask(); TmTask tmTask = new TmTask();
tmTask.setTaskId(scrapApplyDetails.getTaskId()); tmTask.setTaskId(scrapApplyDetails.getTaskId());
tmTask.setTaskStatus(0); tmTask.setTaskStatus(3);
result = taskMapper.updateTmTask(tmTask); result = taskMapper.updateTmTask(tmTask);
result = getScrapResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId()); result = getScrapResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId());
result = getFileResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId()); result = getFileResult(scrapApplyDetails, result, scrapApplyDetails.getTaskId());

View File

@ -1300,7 +1300,21 @@
d.id AS examineStatusId, d.id AS examineStatusId,
bai.agreement_code AS agreementCode, bai.agreement_code AS agreementCode,
tt.create_time AS createTimes, tt.create_time AS createTimes,
IFNULL(sum(lad.pre_num),0) as preCountNum, -- IFNULL(sum(lad.pre_num),0) as preCountNum,
IFNULL((
SELECT SUM(CASE
WHEN lad1.is_ct = 1 THEN lad1.pre_num
WHEN lad1.is_ct = 0 AND EXISTS (
SELECT 1 FROM lease_apply_details lad2
WHERE lad2.parennt_id = lai.id
AND lad2.ct_parent_id = lad1.type_id
AND lad2.is_ct = 0
) THEN lad1.pre_num
ELSE 0
END)
FROM lease_apply_details lad1
WHERE lad1.parennt_id = lai.id
), 0) as preCountNum,
IFNULL(sum(lad.al_num),0) as alNum, IFNULL(sum(lad.al_num),0) as alNum,
tt.update_time AS updateTimes tt.update_time AS updateTimes
from from

View File

@ -1295,7 +1295,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
) )
</insert> </insert>
<select id="getBackCtList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfo"> <select id="getBackCtList" resultType="com.bonus.sgzb.base.api.domain.BackApplyInfoCt">
SELECT SELECT
bci.id, bci.id,
bci.back_code as backCode, bci.back_code as backCode,

View File

@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN ma_type mt on mt.type_id = sad.type_id LEFT JOIN ma_type mt on mt.type_id = sad.type_id
LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id LEFT JOIN ma_type mt2 on mt2.type_id = mt.parent_id
LEFT JOIN ma_machine mm on mm.ma_id = sad.ma_id LEFT JOIN ma_machine mm on mm.ma_id = sad.ma_id
WHERE sad.scrap_source = 2 and tt.task_status in (1,2) WHERE sad.scrap_source = 2 and tt.task_status = 1
<if test="keyWord != null and keyWord != ''"> <if test="keyWord != null and keyWord != ''">
and ( and (
tt.`code` like concat('%',#{keyWord},'%') or tt.`code` like concat('%',#{keyWord},'%') or