审核模块相关接口修改0721
This commit is contained in:
@@ -160,5 +160,4 @@ public class RkInfoController extends BaseController
|
|||||||
return toAjax(rkInfoService.refundMaterial(dto));
|
return toAjax(rkInfoService.refundMaterial(dto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,17 +36,12 @@ public class StockOutDTO {
|
|||||||
/** 领取项目描述*/
|
/** 领取项目描述*/
|
||||||
private String xmMsCk;
|
private String xmMsCk;
|
||||||
|
|
||||||
/** 出库列表 */
|
/** 出库明细 */
|
||||||
private List<StockOutItemDTO> ckList;
|
private List<StockOutItemDTO> ckList;
|
||||||
|
|
||||||
|
/** 发起人签字图 */
|
||||||
/** 审核签字图片(发起人签字) */
|
|
||||||
private String signatureUrl;
|
private String signatureUrl;
|
||||||
|
|
||||||
/** 审核照片列表(可多张) */
|
/** 审批人ID */
|
||||||
private List<String> photoUrls;
|
|
||||||
|
|
||||||
/** 审批人ID(用于记录签字流转) */
|
|
||||||
private String approverId;
|
private String approverId;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,19 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class StockOutItemDTO {
|
public class StockOutItemDTO {
|
||||||
|
|
||||||
/** 出库记录 ID(库存 ID) */
|
/** 出库记录ID(rk_info.id) */
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
/** 出库备注 */
|
/** 出库备注 */
|
||||||
private String ckRemark;
|
private String ckRemark;
|
||||||
|
|
||||||
|
/** 库位码 */
|
||||||
|
private String pcode;
|
||||||
|
|
||||||
|
/** 托盘码 */
|
||||||
|
private String trayCode;
|
||||||
|
|
||||||
|
/** 现场照片(单张) */
|
||||||
|
private String photoUrl; // ✅ 一物一图绑定
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.zg.project.wisdom.domain.vo;
|
package com.zg.project.wisdom.domain.vo;
|
||||||
|
|
||||||
|
import com.zg.framework.aspectj.lang.annotation.Excel;
|
||||||
import com.zg.project.wisdom.domain.AuditSignature;
|
import com.zg.project.wisdom.domain.AuditSignature;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@@ -36,6 +37,14 @@ public class AuditSignatureReviewVO {
|
|||||||
/** 是否当前记录(1是,0否) */
|
/** 是否当前记录(1是,0否) */
|
||||||
private String isCurrent;
|
private String isCurrent;
|
||||||
|
|
||||||
|
private String ckType;
|
||||||
|
|
||||||
|
private String ckTypeName;
|
||||||
|
|
||||||
|
private String teamCode;
|
||||||
|
|
||||||
|
private String teamName;
|
||||||
|
|
||||||
/** 审核时间 */
|
/** 审核时间 */
|
||||||
private Date signTime;
|
private Date signTime;
|
||||||
|
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ public interface AuditSignatureMapper
|
|||||||
/**
|
/**
|
||||||
* 查询现场图片URL(按入库ID)
|
* 查询现场图片URL(按入库ID)
|
||||||
*/
|
*/
|
||||||
AuditSignature selectPhotoUrlByRkId(@Param("rkId") Long rkId);
|
AuditSignature selectPhotoUrlByBillNo(@Param("billNo") String billNo);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询审批记录列表(按主表ID)
|
* 查询审批记录列表(按主表ID)
|
||||||
|
|||||||
@@ -85,11 +85,6 @@ public interface RkInfoMapper
|
|||||||
*/
|
*/
|
||||||
List<String> selectSapNoByBillNo(String billNo);
|
List<String> selectSapNoByBillNo(String billNo);
|
||||||
|
|
||||||
/**
|
|
||||||
* 根据单据编号删除入库单据
|
|
||||||
* @param billNo
|
|
||||||
*/
|
|
||||||
void deleteByBillNo(String billNo);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -187,4 +182,29 @@ public interface RkInfoMapper
|
|||||||
* 根据入库单据编号查询入库单据
|
* 根据入库单据编号查询入库单据
|
||||||
*/
|
*/
|
||||||
List<RkInfo> selectRkInfoListByBillNo(String billNo);
|
List<RkInfo> selectRkInfoListByBillNo(String billNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据出库单据编号查询入库单据
|
||||||
|
*/
|
||||||
|
List<RkInfo> selectRkInfoListByBillNoCk(String billNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除入库单据
|
||||||
|
*/
|
||||||
|
void markDeleteByBillNo(RkInfo rk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除出库单据
|
||||||
|
*/
|
||||||
|
void markDeleteByBillNoCk(RkInfo rk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除入库单据
|
||||||
|
*/
|
||||||
|
void deleteByBillNo(String billNo);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 出库驳回时恢复单据表数据状态
|
||||||
|
*/
|
||||||
|
void revertRkInfoStatusByBillNoCk(RkInfo revert);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -130,45 +130,84 @@ public class AuditSignatureServiceImpl implements IAuditSignatureService
|
|||||||
throw new ServiceException("该记录已审核,不能重复操作");
|
throw new ServiceException("该记录已审核,不能重复操作");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 更新审核状态
|
// 2.1 校验审核结果是否为空
|
||||||
audit.setAuditResult(audit.getAuditResult()); // 必须为 "1"(通过)或 "0"(驳回)
|
if (StringUtils.isBlank(audit.getAuditResult())) {
|
||||||
audit.setApproverId(userId); // 设置审核人
|
throw new ServiceException("审核结果不能为空");
|
||||||
audit.setRemark(audit.getRemark()); // 设置审核意见
|
|
||||||
audit.setUpdateBy(userId);
|
|
||||||
audit.setUpdateTime(DateUtils.getNowDate());
|
|
||||||
audit.setApproverSignUrl(audit.getApproverSignUrl());
|
|
||||||
|
|
||||||
auditSignatureMapper.updateAuditSignature(audit);
|
|
||||||
|
|
||||||
RkInfo rk = new RkInfo();
|
|
||||||
rk.setBillNo(audit.getBillNo());
|
|
||||||
rk.setUpdateBy(userId);
|
|
||||||
rk.setUpdateTime(DateUtils.getNowDate());
|
|
||||||
if ("1".equals(audit.getAuditResult())) {
|
|
||||||
// 审核通过:rk_info.status = 1(驳回)
|
|
||||||
rk.setStatus("1");
|
|
||||||
rk.setIsChuku("0");
|
|
||||||
// 获取该 bill_no 下所有 rk_info 记录
|
|
||||||
List<RkInfo> rkList = rkInfoMapper.selectRkInfoListByBillNo(audit.getBillNo());
|
|
||||||
// 提取所有非空的 gys_jh_id 并去重
|
|
||||||
Set<Long> jhIdSet = rkList.stream()
|
|
||||||
.map(RkInfo::getGysJhId)
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.collect(Collectors.toSet());
|
|
||||||
|
|
||||||
// 批量更新对应供应计划的状态
|
|
||||||
for (Long jhId : jhIdSet) {
|
|
||||||
gysJhMapper.updateStatusById(jhId);
|
|
||||||
}
|
|
||||||
} else if ("0".equals(audit.getAuditResult())) {
|
|
||||||
// 审核驳回:rk_info.status = 2(已入库)
|
|
||||||
rk.setStatus("2");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rkInfoMapper.updateStatusByBillNo(rk);
|
// ✅ 如果是驳回,设置当前记录 is_current = 0
|
||||||
|
if ("0".equals(audit.getAuditResult())) {
|
||||||
|
audit.setIsCurrent("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 更新审核记录本身
|
||||||
|
audit.setApproverId(userId);
|
||||||
|
audit.setUpdateBy(userId);
|
||||||
|
audit.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
auditSignatureMapper.updateAuditSignature(audit);
|
||||||
|
|
||||||
|
// 4. 构建更新 rk_info 的状态记录(或删除记录)
|
||||||
|
RkInfo rk = new RkInfo();
|
||||||
|
rk.setUpdateBy(userId);
|
||||||
|
rk.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
|
||||||
|
if ("0".equals(db.getBillType())) {
|
||||||
|
rk.setBillNo(db.getBillNo()); // 入库
|
||||||
|
} else if ("1".equals(db.getBillType())) {
|
||||||
|
rk.setBillNoCk(db.getBillNo()); // 出库
|
||||||
|
}
|
||||||
|
|
||||||
|
// 5. 处理审核结果
|
||||||
|
if ("1".equals(audit.getAuditResult())) {
|
||||||
|
rk.setStatus("1"); // 审核通过
|
||||||
|
if ("0".equals(db.getBillType())) {
|
||||||
|
rk.setIsChuku("0"); // 入库:已入库
|
||||||
|
} else if ("1".equals(db.getBillType())) {
|
||||||
|
rk.setIsChuku("1"); // 出库:已出库
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ 如果是入库且通过,更新供应计划状态
|
||||||
|
if ("0".equals(db.getBillType())) {
|
||||||
|
List<RkInfo> rkList = rkInfoMapper.selectRkInfoListByBillNo(audit.getBillNo());
|
||||||
|
Set<Long> jhIdSet = rkList.stream()
|
||||||
|
.map(RkInfo::getGysJhId)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
for (Long jhId : jhIdSet) {
|
||||||
|
gysJhMapper.updateStatusById(jhId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ✅ 更新 rk_info 状态
|
||||||
|
rkInfoMapper.updateStatusByBillNo(rk);
|
||||||
|
|
||||||
|
} else if ("0".equals(audit.getAuditResult())) {
|
||||||
|
rk.setStatus("2"); // 审核驳回
|
||||||
|
rk.setIsDelete("1"); // 逻辑删除
|
||||||
|
rk.setUpdateBy(userId);
|
||||||
|
rk.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
|
||||||
|
// ✅ 调用统一逻辑删除方法
|
||||||
|
if ("0".equals(db.getBillType())) {
|
||||||
|
rk.setBillNo(db.getBillNo());
|
||||||
|
rkInfoMapper.markDeleteByBillNo(rk);
|
||||||
|
} else if ("1".equals(db.getBillType())) {
|
||||||
|
rk.setBillNoCk(db.getBillNo());
|
||||||
|
rkInfoMapper.markDeleteByBillNoCk(rk);
|
||||||
|
// ✅ 恢复入库状态
|
||||||
|
RkInfo revert = new RkInfo();
|
||||||
|
revert.setBillNoCk(db.getBillNo()); // 出库单号
|
||||||
|
revert.setStatus("1"); // 入库通过
|
||||||
|
revert.setIsChuku("0"); // 未出库
|
||||||
|
revert.setUpdateBy(userId);
|
||||||
|
revert.setUpdateTime(DateUtils.getNowDate());
|
||||||
|
rkInfoMapper.revertRkInfoStatusByBillNoCk(revert);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<AuditSignatureReviewVO> selectAuditSignatureReviewList(AuditSignature filter) {
|
public List<AuditSignatureReviewVO> selectAuditSignatureReviewList(AuditSignature filter) {
|
||||||
|
|
||||||
@@ -186,7 +225,11 @@ public class AuditSignatureServiceImpl implements IAuditSignatureService
|
|||||||
if (!billNoSet.isEmpty()) {
|
if (!billNoSet.isEmpty()) {
|
||||||
List<RkInfo> rkInfoList = rkInfoMapper.selectOneForEachBillNo(new ArrayList<>(billNoSet));
|
List<RkInfo> rkInfoList = rkInfoMapper.selectOneForEachBillNo(new ArrayList<>(billNoSet));
|
||||||
rkInfoMap = rkInfoList.stream()
|
rkInfoMap = rkInfoList.stream()
|
||||||
.collect(Collectors.toMap(RkInfo::getBillNo, Function.identity(), (a, b) -> a));
|
.collect(Collectors.toMap(
|
||||||
|
rk -> StringUtils.isNotBlank(rk.getBillNoCk()) ? rk.getBillNoCk() : rk.getBillNo(),
|
||||||
|
Function.identity(),
|
||||||
|
(a, b) -> a
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 构造返回结果列表
|
// 3. 构造返回结果列表
|
||||||
@@ -202,6 +245,8 @@ public class AuditSignatureServiceImpl implements IAuditSignatureService
|
|||||||
vo.setCangkuName(rk.getCangkuName());
|
vo.setCangkuName(rk.getCangkuName());
|
||||||
vo.setWlTypeName(rk.getWlTypeName());
|
vo.setWlTypeName(rk.getWlTypeName());
|
||||||
vo.setLihuoYName(rk.getLihuoYName());
|
vo.setLihuoYName(rk.getLihuoYName());
|
||||||
|
vo.setCkTypeName(rk.getCkTypeName());
|
||||||
|
vo.setTeamName(rk.getTeamName());
|
||||||
vo.setLihuoY(rk.getLihuoY());
|
vo.setLihuoY(rk.getLihuoY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ public class RkInfoServiceImpl implements IRkInfoService
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 查询现场图片 + 审核结果(image_type = '1')
|
// 查询现场图片 + 审核结果(image_type = '1')
|
||||||
AuditSignature signature = auditSignatureMapper.selectPhotoUrlByRkId(info.getId());
|
AuditSignature signature = auditSignatureMapper.selectPhotoUrlByBillNo(info.getBillNo());
|
||||||
if (signature != null) {
|
if (signature != null) {
|
||||||
info.setScenePhotoUrl(signature.getSignUrl());
|
info.setScenePhotoUrl(signature.getSignUrl());
|
||||||
info.setAuditResult(signature.getAuditResult());
|
info.setAuditResult(signature.getAuditResult());
|
||||||
@@ -467,7 +467,7 @@ public class RkInfoServiceImpl implements IRkInfoService
|
|||||||
Date now = DateUtils.getNowDate();
|
Date now = DateUtils.getNowDate();
|
||||||
|
|
||||||
// Step 1: 判断是否需要审核
|
// Step 1: 判断是否需要审核
|
||||||
boolean needAudit = "1".equals(configService.selectConfigByKey("stock.audit.enabled"));
|
boolean needAudit = "1".equals(configService.selectConfigByKey("rk.audit.enabled"));
|
||||||
|
|
||||||
// Step 2: 生成出库单据号
|
// Step 2: 生成出库单据号
|
||||||
String billNo = BillNoUtil.generateTodayBillNo("CK");
|
String billNo = BillNoUtil.generateTodayBillNo("CK");
|
||||||
@@ -475,86 +475,88 @@ public class RkInfoServiceImpl implements IRkInfoService
|
|||||||
// Step 3: 批量更新 rk_info 出库字段
|
// Step 3: 批量更新 rk_info 出库字段
|
||||||
for (StockOutItemDTO item : dto.getCkList()) {
|
for (StockOutItemDTO item : dto.getCkList()) {
|
||||||
RkInfo update = new RkInfo();
|
RkInfo update = new RkInfo();
|
||||||
update.setId(item.getId()); // 主键ID
|
update.setId(item.getId());
|
||||||
update.setBillNoCk(billNo); // 出库单号
|
update.setBillNoCk(billNo);
|
||||||
update.setCkType(dto.getCkType()); // 出库类型
|
update.setCkType(dto.getCkType());
|
||||||
update.setTeamCode(dto.getTeamCode()); // 施工队编码
|
update.setTeamCode(dto.getTeamCode());
|
||||||
update.setLyTime(dto.getLyTime()); // 出库时间(领用时间)
|
update.setLyTime(dto.getLyTime());
|
||||||
update.setCkLihuoY(dto.getCkLihuoY()); // 出库理货员
|
update.setCkLihuoY(dto.getCkLihuoY());
|
||||||
update.setCkRemark(item.getCkRemark()); // 出库备注
|
update.setCkRemark(item.getCkRemark());
|
||||||
update.setXmNoCk(dto.getXmNoCk()); // 项目编号
|
update.setXmNoCk(dto.getXmNoCk());
|
||||||
update.setXmMsCk(dto.getXmMsCk()); // 项目描述
|
update.setXmMsCk(dto.getXmMsCk());
|
||||||
update.setUpdateBy(userId); // 修改人
|
update.setUpdateBy(userId);
|
||||||
update.setUpdateTime(now); // 修改时间
|
update.setUpdateTime(now);
|
||||||
|
|
||||||
if ("JLCK".equals(dto.getCkType())) {
|
if ("JLCK".equals(dto.getCkType())) {
|
||||||
update.setIsBorrowed("1"); // 是否借料
|
update.setIsBorrowed("1");
|
||||||
update.setBorrowTime(dto.getBorrowTime()); // 借用时间
|
update.setBorrowTime(dto.getBorrowTime());
|
||||||
update.setReturnTime(dto.getReturnTime()); // 归还时间
|
update.setReturnTime(dto.getReturnTime());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (needAudit) {
|
if (needAudit) {
|
||||||
update.setStatus("3"); // 出库待审核
|
update.setStatus("3"); // 出库待审核
|
||||||
update.setIsChuku("0"); // 不可直接出库,等待审批
|
update.setIsChuku("2");
|
||||||
} else {
|
} else {
|
||||||
update.setIsChuku("1"); // 审核关闭,直接出库
|
update.setIsChuku("1");
|
||||||
update.setStatus("1"); // 设置为审核通过
|
update.setStatus("1"); // 审核通过
|
||||||
}
|
}
|
||||||
|
|
||||||
rkInfoMapper.updateById(update);
|
rkInfoMapper.updateById(update);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 4: 如果开启审核,写入签字记录
|
// Step 4: 如果启用审核,写入签字记录
|
||||||
if (needAudit) {
|
if (needAudit) {
|
||||||
List<AuditSignature> recordList = new ArrayList<>();
|
List<AuditSignature> recordList = new ArrayList<>();
|
||||||
|
|
||||||
// === 判断是否是重新提交(存在发起人记录) ===
|
// 先检查是否已有发起人记录(逻辑规范化)
|
||||||
boolean hasOldSign = auditSignatureMapper.existsCurrentSigner(billNo, "0");
|
boolean hasOldSign = auditSignatureMapper.existsCurrentSigner(billNo, "0");
|
||||||
|
|
||||||
if (hasOldSign) {
|
if (hasOldSign) {
|
||||||
auditSignatureMapper.updateIsCurrentToZero(billNo, "0"); // 标记旧记录为历史
|
auditSignatureMapper.updateIsCurrentToZero(billNo, "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
// === 发起人签字记录 ===
|
// ✅ 插入发起人签字记录(无论是否有签字图)
|
||||||
AuditSignature sign = new AuditSignature();
|
AuditSignature sign = new AuditSignature();
|
||||||
sign.setBillNo(billNo); // 单据号(出库单号)
|
sign.setBillNo(billNo);
|
||||||
sign.setBillType("1"); // 单据类型:1=出库
|
sign.setBillType("1"); // 出库
|
||||||
sign.setSignerId(userId); // 签字人ID(发起人)
|
sign.setSignerId(userId);
|
||||||
sign.setSignerRole("0"); // 角色:0=发起人
|
sign.setSignerRole("0"); // 发起人
|
||||||
sign.setSignUrl(dto.getSignatureUrl()); // 签字图 URL
|
sign.setSignUrl(dto.getSignatureUrl()); // 允许为空
|
||||||
sign.setSignTime(now); // 签字时间
|
sign.setImageType("0"); // 签字图
|
||||||
sign.setImageType("0"); // 图片类型:0=签字图
|
sign.setSignTime(now);
|
||||||
sign.setApproverId(dto.getApproverId()); // 审批人ID
|
sign.setAuditResult("2");
|
||||||
sign.setIsCurrent("1"); // 当前记录
|
sign.setApproverId(dto.getApproverId());
|
||||||
sign.setIsDelete("0"); // 未删除
|
sign.setIsCurrent("1");
|
||||||
sign.setCreateBy(userId); // 创建人
|
sign.setIsDelete("0");
|
||||||
sign.setCreateTime(now); // 创建时间
|
sign.setCreateBy(userId);
|
||||||
|
sign.setCreateTime(now);
|
||||||
recordList.add(sign);
|
recordList.add(sign);
|
||||||
|
|
||||||
// === 多张现场照片记录 ===
|
// ✅ 插入每条出库明细的现场拍照记录(photoUrl不为空才插)
|
||||||
if (dto.getPhotoUrls() != null) {
|
for (StockOutItemDTO item : dto.getCkList()) {
|
||||||
for (String url : dto.getPhotoUrls()) {
|
if (StringUtils.isBlank(item.getPhotoUrl())) continue;
|
||||||
if (url == null || url.trim().isEmpty()) continue;
|
|
||||||
|
|
||||||
AuditSignature photo = new AuditSignature();
|
AuditSignature photo = new AuditSignature();
|
||||||
photo.setBillNo(billNo); // 单据号
|
photo.setBillNo(billNo);
|
||||||
photo.setBillType("1"); // 出库
|
photo.setBillType("1");
|
||||||
photo.setSignerId(userId); // 拍照人
|
photo.setSignerId(userId);
|
||||||
photo.setSignerRole("2"); // 角色:2=拍照人
|
photo.setSignerRole("2"); // 拍照人
|
||||||
photo.setSignUrl(url); // 照片URL
|
photo.setSignUrl(item.getPhotoUrl());
|
||||||
photo.setImageType("1"); // 图片类型:1=照片
|
photo.setImageType("1"); // 现场图
|
||||||
photo.setSignTime(now); // 拍照时间
|
photo.setSignTime(now);
|
||||||
photo.setApproverId(dto.getApproverId()); // 审批人ID
|
photo.setApproverId(dto.getApproverId());
|
||||||
photo.setIsCurrent("1"); // 当前记录
|
photo.setIsCurrent("1");
|
||||||
photo.setIsDelete("0"); // 未删除
|
photo.setAuditResult("2");
|
||||||
photo.setCreateBy(userId); // 创建人
|
photo.setIsDelete("0");
|
||||||
photo.setCreateTime(now); // 创建时间
|
photo.setCreateBy(userId);
|
||||||
recordList.add(photo);
|
photo.setCreateTime(now);
|
||||||
}
|
photo.setRkId(item.getId());
|
||||||
|
photo.setPcode(item.getPcode());
|
||||||
|
photo.setTrayCode(item.getTrayCode());
|
||||||
|
recordList.add(photo);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!recordList.isEmpty()) {
|
if (!recordList.isEmpty()) {
|
||||||
auditSignatureMapper.batchInsert(recordList); // 批量插入签字记录
|
auditSignatureMapper.batchInsert(recordList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,13 +91,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
AND is_delete = '0'
|
AND is_delete = '0'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectPhotoUrlByRkId"
|
<select id="selectPhotoUrlByBillNo"
|
||||||
resultMap="AuditSignatureResult"
|
resultMap="AuditSignatureResult"
|
||||||
parameterType="java.lang.Long">
|
parameterType="java.lang.String">
|
||||||
SELECT sign_url, audit_result
|
SELECT sign_url, audit_result
|
||||||
FROM audit_signature
|
FROM audit_signature
|
||||||
WHERE is_delete = '0'
|
WHERE is_delete = '0'
|
||||||
AND rk_id = #{rkId}
|
AND bill_no = #{billNo}
|
||||||
AND image_type = '1'
|
AND image_type = '1'
|
||||||
ORDER BY create_time DESC
|
ORDER BY create_time DESC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
@@ -177,7 +177,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
is_delete,
|
is_delete,
|
||||||
create_by,
|
create_by,
|
||||||
create_time,
|
create_time,
|
||||||
rk_id
|
rk_id,
|
||||||
|
pcode,
|
||||||
|
tray_code
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection="list" item="item" separator=",">
|
<foreach collection="list" item="item" separator=",">
|
||||||
@@ -195,7 +197,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
#{item.isDelete},
|
#{item.isDelete},
|
||||||
#{item.createBy},
|
#{item.createBy},
|
||||||
#{item.createTime},
|
#{item.createTime},
|
||||||
#{item.rkId}
|
#{item.rkId},
|
||||||
|
#{item.pcode},
|
||||||
|
#{item.trayCode}
|
||||||
)
|
)
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
@@ -209,6 +213,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="updateBy != null">update_by = #{updateBy},</if>
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
|
<if test="isCurrent != null">is_current = #{isCurrent},</if>
|
||||||
</set>
|
</set>
|
||||||
WHERE bill_no = #{billNo}
|
WHERE bill_no = #{billNo}
|
||||||
AND is_current = '1'
|
AND is_current = '1'
|
||||||
|
|||||||
@@ -142,9 +142,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
)
|
)
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<delete id="deleteByBillNo">
|
|
||||||
DELETE FROM rk_info WHERE bill_no = #{billNo}
|
|
||||||
</delete>
|
|
||||||
|
|
||||||
<update id="cancelStockOut">
|
<update id="cancelStockOut">
|
||||||
UPDATE rk_info
|
UPDATE rk_info
|
||||||
@@ -160,6 +157,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
update_time = NOW()
|
update_time = NOW()
|
||||||
WHERE bill_no_ck = #{billNoCk}
|
WHERE bill_no_ck = #{billNoCk}
|
||||||
</update>
|
</update>
|
||||||
|
<delete id="deleteByBillNo">
|
||||||
|
DELETE FROM rk_info
|
||||||
|
WHERE bill_no = #{billNo}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<select id="selectRkInfoList" parameterType="RkInfo" resultMap="RkInfoResult">
|
<select id="selectRkInfoList" parameterType="RkInfo" resultMap="RkInfoResult">
|
||||||
<include refid="selectRkInfoVo"/>
|
<include refid="selectRkInfoVo"/>
|
||||||
@@ -350,25 +351,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<select id="selectOneForEachBillNo" parameterType="java.util.List" resultType="com.zg.project.wisdom.domain.RkInfo">
|
<select id="selectOneForEachBillNo" parameterType="java.util.List" resultType="com.zg.project.wisdom.domain.RkInfo">
|
||||||
SELECT
|
SELECT
|
||||||
r.bill_no AS billNo,
|
COALESCE(r.bill_no_ck, r.bill_no) AS billNo,
|
||||||
MAX(r.lihuo_y) AS lihuoY,
|
MAX(r.lihuo_y) AS lihuoY,
|
||||||
MAX(u.user_name) AS lihuoYName,
|
MAX(u.user_name) AS lihuoYName,
|
||||||
MAX(rkType.type_name) AS rkTypeName,
|
MAX(rkType.type_name) AS rkTypeName,
|
||||||
MAX(cangku.warehouse_name) AS cangkuName,
|
MAX(cangku.warehouse_name) AS cangkuName,
|
||||||
MAX(wlType.type_name) AS wlTypeName
|
MAX(wlType.type_name) AS wlTypeName,
|
||||||
|
MAX(ckType.type_name) AS ckTypeName,
|
||||||
|
MAX(team.team_name) AS teamName
|
||||||
FROM rk_info r
|
FROM rk_info r
|
||||||
LEFT JOIN stock_in_type rkType ON r.rk_type = rkType.type_code
|
LEFT JOIN stock_in_type rkType ON r.rk_type = rkType.type_code
|
||||||
|
LEFT JOIN stock_out_type ckType ON r.ck_type = ckType.type_code
|
||||||
LEFT JOIN warehouse_info cangku ON r.cangku = cangku.warehouse_code
|
LEFT JOIN warehouse_info cangku ON r.cangku = cangku.warehouse_code
|
||||||
LEFT JOIN material_type wlType ON r.wl_type = wlType.type_code
|
LEFT JOIN material_type wlType ON r.wl_type = wlType.type_code
|
||||||
|
LEFT JOIN construction_team team ON r.team_code = team.team_code
|
||||||
LEFT JOIN sys_user u ON r.lihuo_y = u.user_id
|
LEFT JOIN sys_user u ON r.lihuo_y = u.user_id
|
||||||
WHERE r.is_delete = '0'
|
WHERE r.is_delete = '0'
|
||||||
AND r.bill_no IN
|
AND (
|
||||||
|
r.bill_no IN
|
||||||
<foreach collection="billNos" item="billNo" open="(" separator="," close=")">
|
<foreach collection="billNos" item="billNo" open="(" separator="," close=")">
|
||||||
#{billNo}
|
#{billNo}
|
||||||
</foreach>
|
</foreach>
|
||||||
GROUP BY r.bill_no
|
OR
|
||||||
|
r.bill_no_ck IN
|
||||||
|
<foreach collection="billNos" item="billNo" open="(" separator="," close=")">
|
||||||
|
#{billNo}
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
GROUP BY COALESCE(r.bill_no_ck, r.bill_no)
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<select id="selectRkInfoListByBillNo" resultMap="RkInfoResult"
|
<select id="selectRkInfoListByBillNo" resultMap="RkInfoResult"
|
||||||
parameterType="java.lang.String">
|
parameterType="java.lang.String">
|
||||||
SELECT
|
SELECT
|
||||||
@@ -378,6 +392,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
AND bill_no = #{billNo}
|
AND bill_no = #{billNo}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectRkInfoListByBillNoCk" resultMap="RkInfoResult" parameterType="java.lang.String">
|
||||||
|
SELECT *
|
||||||
|
FROM rk_info
|
||||||
|
WHERE is_delete = '0'
|
||||||
|
AND bill_no_ck = #{billNo}
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="updateRkInfo" parameterType="RkInfo">
|
<update id="updateRkInfo" parameterType="RkInfo">
|
||||||
update rk_info
|
update rk_info
|
||||||
<trim prefix="SET" suffixOverrides=",">
|
<trim prefix="SET" suffixOverrides=",">
|
||||||
@@ -458,18 +479,59 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
<if test="lyTime != null">ly_time = #{lyTime},</if>
|
<if test="lyTime != null">ly_time = #{lyTime},</if>
|
||||||
<if test="borrowTime != null">borrow_time = #{borrowTime},</if>
|
<if test="borrowTime != null">borrow_time = #{borrowTime},</if>
|
||||||
<if test="returnTime != null">return_time = #{returnTime},</if>
|
<if test="returnTime != null">return_time = #{returnTime},</if>
|
||||||
|
<if test="status != null">status = #{status},</if>
|
||||||
</set>
|
</set>
|
||||||
WHERE id = #{id}
|
WHERE id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateStatusByBillNo" parameterType="RkInfo">
|
<update id="updateStatusByBillNo" parameterType="RkInfo">
|
||||||
UPDATE rk_info
|
UPDATE rk_info
|
||||||
SET status = #{status},
|
<set>
|
||||||
update_by = #{updateBy},
|
<if test="status != null">status = #{status},</if>
|
||||||
is_chuku = #{isChuku},
|
<if test="isChuku != null">is_chuku = #{isChuku},</if>
|
||||||
update_time = #{updateTime}
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
||||||
WHERE bill_no = #{billNo}
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
AND is_delete = '0'
|
</set>
|
||||||
|
<where>
|
||||||
|
<if test="billNo != null">
|
||||||
|
bill_no = #{billNo}
|
||||||
|
</if>
|
||||||
|
<if test="billNo == null and billNoCk != null">
|
||||||
|
bill_no_ck = #{billNoCk}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="markDeleteByBillNo" parameterType="RkInfo">
|
||||||
|
UPDATE rk_info
|
||||||
|
SET is_delete = #{isDelete},
|
||||||
|
status = #{status},
|
||||||
|
update_by = #{updateBy},
|
||||||
|
update_time = #{updateTime}
|
||||||
|
WHERE bill_no = #{billNo}
|
||||||
|
AND status IN ('0', '2')
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="markDeleteByBillNoCk" parameterType="RkInfo">
|
||||||
|
UPDATE rk_info
|
||||||
|
SET is_delete = #{isDelete},
|
||||||
|
status = #{status},
|
||||||
|
update_by = #{updateBy},
|
||||||
|
update_time = #{updateTime}
|
||||||
|
WHERE bill_no_ck = #{billNoCk}
|
||||||
|
AND status IN ('0', '2')
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="revertRkInfoStatusByBillNoCk" parameterType="RkInfo">
|
||||||
|
UPDATE rk_info
|
||||||
|
SET status = #{status},
|
||||||
|
is_chuku = #{isChuku},
|
||||||
|
update_by = #{updateBy},
|
||||||
|
update_time = #{updateTime}
|
||||||
|
WHERE bill_no_ck = #{billNoCk}
|
||||||
|
AND is_delete = '0'
|
||||||
|
AND bill_no IS NOT NULL
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user