Commit b459a680 authored by 温志超's avatar 温志超

允许条码在不良状态下,多次重复报工

parent b638b169
...@@ -189,7 +189,8 @@ pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2} ...@@ -189,7 +189,8 @@ pro.schedule.error.fail=\u6392\u4EA7\u5931\u8D25{0},{1},{2}
pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1 pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u6392\u4EA7\u4EFB\u52A1
pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF
#pro.feedback #pro.feedback
pro.feedback.error.not.data=\u672A\u627E\u5230\u62A5\u5DE5\u8BB0\u5F55 pro.feedback.error.not.data=\u672A\u627E\u5230\u62A5\u5DE5\u8BB0\u5F55.
pro.feedback.error.notTheLatest = \u4e0d\u662f\u6700\u65b0\u7684\u8bb0\u5f55\u65e0\u6cd5\u4fee\u6539
pro.feedback.error.repeat.serialNo.report=\u8BE5\u5E8F\u5217\u53F7\u4EFB\u52A1\u5DF2\u62A5\u5DE5 pro.feedback.error.repeat.serialNo.report=\u8BE5\u5E8F\u5217\u53F7\u4EFB\u52A1\u5DF2\u62A5\u5DE5
pro.feedback.error.serialNo.not.bind.workOrder=\u5E8F\u5217\u53F7\u4E0D\u5C5E\u6027\u8BE5\u5DE5\u5355\u4EFB\u52A1 pro.feedback.error.serialNo.not.bind.workOrder=\u5E8F\u5217\u53F7\u4E0D\u5C5E\u6027\u8BE5\u5DE5\u5355\u4EFB\u52A1
pro.feedback.error.min.quantity=\u62A5\u5DE5\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E\u7B49\u4E8E0 pro.feedback.error.min.quantity=\u62A5\u5DE5\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E\u7B49\u4E8E0
......
...@@ -187,6 +187,7 @@ pro.schedule.error.not.exist.main.task=No main production scheduling task found. ...@@ -187,6 +187,7 @@ pro.schedule.error.not.exist.main.task=No main production scheduling task found.
pro.schedule.error.split.quantity.lack=The split quantity must be less than the production scheduling quantity. pro.schedule.error.split.quantity.lack=The split quantity must be less than the production scheduling quantity.
#pro.feedback #pro.feedback
pro.feedback.error.not.data=No reporting records found. pro.feedback.error.not.data=No reporting records found.
pro.feedback.error.notTheLatest = Not the latest record cannot be modified
pro.feedback.error.repeat.serialNo.report=The task with this serial number has been reported. pro.feedback.error.repeat.serialNo.report=The task with this serial number has been reported.
pro.feedback.error.serialNo.not.bind.workOrder=The serial number does not belong to this work order task. pro.feedback.error.serialNo.not.bind.workOrder=The serial number does not belong to this work order task.
pro.feedback.error.min.quantity=The reported quantity cannot be less than or equal to 0. pro.feedback.error.min.quantity=The reported quantity cannot be less than or equal to 0.
......
...@@ -192,6 +192,7 @@ pro.schedule.error.not.exist.main.task=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E20\u0E3 ...@@ -192,6 +192,7 @@ pro.schedule.error.not.exist.main.task=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E20\u0E3
pro.schedule.error.split.quantity.black=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E2D\u0E2D\u0E01\u0E21\u0E32 pro.schedule.error.split.quantity.black=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E41\u0E1A\u0E48\u0E07\u0E08\u0E30\u0E15\u0E49\u0E2D\u0E07\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E17\u0E35\u0E48\u0E1B\u0E25\u0E48\u0E2D\u0E22\u0E2D\u0E2D\u0E01\u0E21\u0E32
#pro.feedback #pro.feedback
pro.feedback.error.not.data=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19 pro.feedback.error.not.data=\u0E44\u0E21\u0E48\u0E1E\u0E1A\u0E1A\u0E31\u0E19\u0E17\u0E36\u0E01\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19
pro.feedback.error.notTheLatest = \u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e41\u0e01\u0e49\u0e44\u0e02\u0e44\u0e14\u0e49
pro.feedback.error.repeat.serialno.report=\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E0B\u0E35\u0E40\u0E23\u0E35\u0E22\u0E25\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E41\u0E25\u0E49\u0E27 pro.feedback.error.repeat.serialno.report=\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E0B\u0E35\u0E40\u0E23\u0E35\u0E22\u0E25\u0E19\u0E35\u0E49\u0E44\u0E14\u0E49\u0E23\u0E31\u0E1A\u0E01\u0E32\u0E23\u0E41\u0E08\u0E49\u0E07\u0E40\u0E15\u0E37\u0E2D\u0E19\u0E41\u0E25\u0E49\u0E27
pro.feedback.error.serialno.not.bind.workOrder=\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E0B\u0E35\u0E40\u0E23\u0E35\u0E22\u0E25\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2A\u0E4D\u0E32\u0E2B\u0E23\u0E31\u0E1A\u0E07\u0E32\u0E19\u0E19\u0E35\u0E49 pro.feedback.error.serialno.not.bind.workOrder=\u0E2B\u0E21\u0E32\u0E22\u0E40\u0E25\u0E02\u0E0B\u0E35\u0E40\u0E23\u0E35\u0E22\u0E25\u0E44\u0E21\u0E48\u0E21\u0E35\u0E04\u0E38\u0E13\u0E2A\u0E21\u0E1A\u0E31\u0E15\u0E34\u0E2A\u0E4D\u0E32\u0E2B\u0E23\u0E31\u0E1A\u0E07\u0E32\u0E19\u0E19\u0E35\u0E49
pro.feedback.error.min.quantity=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E07\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E44\u0E21\u0E48\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E17\u0E48\u0E32\u0E01\u0E31\u0E1A0 pro.feedback.error.min.quantity=\u0E08\u0E4D\u0E32\u0E19\u0E27\u0E19\u0E07\u0E32\u0E19\u0E15\u0E49\u0E2D\u0E07\u0E44\u0E21\u0E48\u0E19\u0E49\u0E2D\u0E22\u0E01\u0E27\u0E48\u0E32\u0E2B\u0E23\u0E37\u0E2D\u0E40\u0E17\u0E48\u0E32\u0E01\u0E31\u0E1A0
......
...@@ -190,6 +190,7 @@ pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u639 ...@@ -190,6 +190,7 @@ pro.schedule.error.not.exist.main.task=\u6CA1\u6709\u67E5\u5230\u4E3B\u8981\u639
pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF pro.schedule.error.split.quantity.lack=\u62C6\u5206\u6570\u91CF\u5FC5\u9700\u5C0F\u4E8E\u6392\u4EA7\u6570\u91CF
#pro.feedback #pro.feedback
pro.feedback.error.not.data=\u672A\u627E\u5230\u62A5\u5DE5\u8BB0\u5F55 pro.feedback.error.not.data=\u672A\u627E\u5230\u62A5\u5DE5\u8BB0\u5F55
pro.feedback.error.notTheLatest = \u4e0d\u662f\u6700\u65b0\u7684\u8bb0\u5f55\u65e0\u6cd5\u4fee\u6539
pro.feedback.error.repeat.serialNo.report=\u8BE5\u5E8F\u5217\u53F7\u4EFB\u52A1\u5DF2\u62A5\u5DE5 pro.feedback.error.repeat.serialNo.report=\u8BE5\u5E8F\u5217\u53F7\u4EFB\u52A1\u5DF2\u62A5\u5DE5
pro.feedback.error.serialNo.not.bind.workOrder=\u5E8F\u5217\u53F7\u4E0D\u5C5E\u6027\u8BE5\u5DE5\u5355\u4EFB\u52A1 pro.feedback.error.serialNo.not.bind.workOrder=\u5E8F\u5217\u53F7\u4E0D\u5C5E\u6027\u8BE5\u5DE5\u5355\u4EFB\u52A1
pro.feedback.error.min.quantity=\u62A5\u5DE5\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E\u7B49\u4E8E0 pro.feedback.error.min.quantity=\u62A5\u5DE5\u6570\u91CF\u4E0D\u80FD\u5C0F\u4E8E\u7B49\u4E8E0
......
...@@ -323,6 +323,7 @@ public class ProFeedback extends BaseEntity { ...@@ -323,6 +323,7 @@ public class ProFeedback extends BaseEntity {
/** 异常原因 备注*/ /** 异常原因 备注*/
private String abnormalRemark; private String abnormalRemark;
private Boolean lastFeedback;
public void initValue(ProWorkorder workorder) { public void initValue(ProWorkorder workorder) {
......
...@@ -19,4 +19,6 @@ public class FeedbackValidateSerialNoParams { ...@@ -19,4 +19,6 @@ public class FeedbackValidateSerialNoParams {
@ApiModelProperty("工单序列号") @ApiModelProperty("工单序列号")
private String qrcode; private String qrcode;
private Long taskId;
} }
...@@ -111,4 +111,6 @@ public interface ProFeedbackMapper { ...@@ -111,4 +111,6 @@ public interface ProFeedbackMapper {
ProProcessTaskVo selectProFeedbackFeedback(@Param("taskId") Long taskId, @Param("processId") Long processId); ProProcessTaskVo selectProFeedbackFeedback(@Param("taskId") Long taskId, @Param("processId") Long processId);
void updateAbnormal(@Param("abnormalId") Long abnormalId, @Param("abnormalReason")String abnormalReason, @Param("abnormalRemark")String abnormalRemark,@Param("abnormalType") String abnormalType,@Param("recordId") Long recordId); void updateAbnormal(@Param("abnormalId") Long abnormalId, @Param("abnormalReason")String abnormalReason, @Param("abnormalRemark")String abnormalRemark,@Param("abnormalType") String abnormalType,@Param("recordId") Long recordId);
void updateLastFeedback(@Param("qrcode")String qrcode, @Param("taskId")Long taskId);
} }
...@@ -316,12 +316,13 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -316,12 +316,13 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
//验证是否报工 //验证是否报工
QueryWrapper<ProFeedback> feedbackQuery = new QueryWrapper<>(); QueryWrapper<ProFeedback> feedbackQuery = new QueryWrapper<>();
feedbackQuery.eq("qrcode", validateSerialNoParams.getQrcode()); feedbackQuery.eq("qrcode", validateSerialNoParams.getQrcode());
feedbackQuery.eq("task_workunit_id",validateSerialNoParams.getTaskWorkunitId()); feedbackQuery.eq("task_id",validateSerialNoParams.getTaskId());
List<ProFeedback> feedbackList = proFeedbackService.selectProFeedbackList(feedbackQuery); List<ProFeedback> feedbackList = proFeedbackService.selectProFeedbackList(feedbackQuery);
if(feedbackList.size()>0){ if(feedbackList.size()>0){
if(feedbackList.stream().filter(proFeedback -> proFeedback.getQuantityQualify().compareTo(BigDecimal.ZERO) > 0).count() > 0){ if(feedbackList.stream().filter(proFeedback -> proFeedback.getQuantityQualify().compareTo(BigDecimal.ZERO) > 0).count() > 0){
throw new ServiceException(MessageUtils.message("pro.feedback.error.repeat.serialNo.report")); throw new ServiceException(MessageUtils.message("pro.feedback.error.repeat.serialNo.report"));
}else{ }else{
proFeedbackMapper.updateLastFeedback(validateSerialNoParams.getQrcode(),validateSerialNoParams.getTaskId());
return true; return true;
} }
} }
...@@ -365,7 +366,9 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -365,7 +366,9 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
for (ProFeedback proFeedback : proFeedbacks) { for (ProFeedback proFeedback : proFeedbacks) {
ProTask proTask = proTaskService.selectProTaskByTaskId(proFeedback.getTaskId()); ProTask proTask = proTaskService.selectProTaskByTaskId(proFeedback.getTaskId());
ExceptionUtil.checkTrueThrowException(proTask.getIsLastProcess() == 1, MessageUtils.message("pro.feedback.error.cannot.delete.last.process")); ExceptionUtil.checkTrueThrowException(proTask.getIsLastProcess() == 1, MessageUtils.message("pro.feedback.error.cannot.delete.last.process"));
ExceptionUtil.checkTrueThrowException(
StringUtils.isNotEmpty(proFeedback.getQrcode()) && (proFeedback.getLastFeedback() == null || !proFeedback.getLastFeedback()),
MessageUtils.message("pro.feedback.error.notTheLatest"));
proTask.setQuantityWait(proTask.getQuantityWait().add(proFeedback.getQuantityFeedback())); proTask.setQuantityWait(proTask.getQuantityWait().add(proFeedback.getQuantityFeedback()));
proTask.setQuantityUnqualify(proTask.getQuantityUnqualify().subtract(proFeedback.getQuantityUnqualify())); proTask.setQuantityUnqualify(proTask.getQuantityUnqualify().subtract(proFeedback.getQuantityUnqualify()));
proTask.setQuantityQualify(proTask.getQuantityQualify().subtract(proFeedback.getQuantityQualify())); proTask.setQuantityQualify(proTask.getQuantityQualify().subtract(proFeedback.getQuantityQualify()));
...@@ -481,7 +484,7 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -481,7 +484,7 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
mainFeedBackVal.setTaskCode(proTask.getTaskCode()); mainFeedBackVal.setTaskCode(proTask.getTaskCode());
long diffInSecond = (DateUtils.getNowDate().getTime() - normalDate.getTime()) / (1000); long diffInSecond = (DateUtils.getNowDate().getTime() - normalDate.getTime()) / (1000);
long itemSecond = diffInSecond / quantityFeedback.longValue(); long itemSecond = diffInSecond / (quantityFeedback.longValue() == 0 ? 1 : quantityFeedback.longValue());
String arrangeCode = proTask.getArrangeCode(); String arrangeCode = proTask.getArrangeCode();
QueryWrapper<ProWorkorder> wrapper = new QueryWrapper<>(); QueryWrapper<ProWorkorder> wrapper = new QueryWrapper<>();
...@@ -512,7 +515,7 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -512,7 +515,7 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
mainFeedBackVal.setQuantityFeedback(quantityFeedback); mainFeedBackVal.setQuantityFeedback(quantityFeedback);
mainFeedBackVal.setQuantityQualify(qualifySize); mainFeedBackVal.setQuantityQualify(qualifySize);
mainFeedBackVal.setQuantityUnqualify(unQualifySize); mainFeedBackVal.setQuantityUnqualify(unQualifySize);
mainFeedBackVal.setAttr1("工用时" + itemSecond * quantityFeedback.longValue() + "秒"); mainFeedBackVal.setAttr1("工用时" + itemSecond * (quantityFeedback.longValue() == 0 ? 1 : quantityFeedback.longValue()) + "秒");
ProFeedbackSplitInfo feedbackSplitInfo = new ProFeedbackSplitInfo(); ProFeedbackSplitInfo feedbackSplitInfo = new ProFeedbackSplitInfo();
feedbackSplitInfo.setQuantityQualify(qualifySize); feedbackSplitInfo.setQuantityQualify(qualifySize);
...@@ -681,6 +684,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService { ...@@ -681,6 +684,11 @@ public class ProFeedbackServiceImpl implements IProFeedbackService {
List<ProFeedback> proFeedbacks = proFeedbackMapper.selectListByQw(new QueryWrapper<ProFeedback>().eq("record_id", proFeedback.getRecordId())); List<ProFeedback> proFeedbacks = proFeedbackMapper.selectListByQw(new QueryWrapper<ProFeedback>().eq("record_id", proFeedback.getRecordId()));
ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(proFeedbacks), MessageUtils.message("pro.feedback.error.not.data")); ExceptionUtil.checkTrueThrowException(CollectionUtil.isEmpty(proFeedbacks), MessageUtils.message("pro.feedback.error.not.data"));
ProFeedback oldFeedback = proFeedbacks.get(0); ProFeedback oldFeedback = proFeedbacks.get(0);
//条码报工时只允许修改最新的报工记录(因为一个条码可以多次报工)
ExceptionUtil.checkTrueThrowException(
StringUtils.isNotEmpty(oldFeedback.getQrcode()) && (oldFeedback.getLastFeedback() == null || !oldFeedback.getLastFeedback()),
MessageUtils.message("pro.feedback.error.notTheLatest"));
proFeedback.setFeedbackCode(oldFeedback.getFeedbackCode()); proFeedback.setFeedbackCode(oldFeedback.getFeedbackCode());
// BigDecimal feedbackQuantitySubtract = quantityFeedback.subtract(oldFeedback.getQuantityFeedback()); // BigDecimal feedbackQuantitySubtract = quantityFeedback.subtract(oldFeedback.getQuantityFeedback());
// //
......
...@@ -785,6 +785,7 @@ public class ProTaskServiceImpl implements IProTaskService { ...@@ -785,6 +785,7 @@ public class ProTaskServiceImpl implements IProTaskService {
FeedbackValidateSerialNoParams feedbackValidateSerialNoParams = new FeedbackValidateSerialNoParams(); FeedbackValidateSerialNoParams feedbackValidateSerialNoParams = new FeedbackValidateSerialNoParams();
feedbackValidateSerialNoParams.setQrcode(feedback.getQrcode()); feedbackValidateSerialNoParams.setQrcode(feedback.getQrcode());
feedbackValidateSerialNoParams.setTaskWorkunitId(feedback.getTaskWorkunitId()); feedbackValidateSerialNoParams.setTaskWorkunitId(feedback.getTaskWorkunitId());
feedbackValidateSerialNoParams.setTaskId(feedback.getTaskId());
addOneQuantityWait = proFeedbackService.validateSerialNo(feedbackValidateSerialNoParams); addOneQuantityWait = proFeedbackService.validateSerialNo(feedbackValidateSerialNoParams);
} }
...@@ -798,15 +799,15 @@ public class ProTaskServiceImpl implements IProTaskService { ...@@ -798,15 +799,15 @@ public class ProTaskServiceImpl implements IProTaskService {
if(addOneQuantityWait){ if(addOneQuantityWait){
//addOneQuantityWait为true时说明该条吗已经存在过报工记录且为不良品 此时可能 不良品-》不良品 不良品-》良品 //addOneQuantityWait为true时说明该条吗已经存在过报工记录且为不良品 此时可能 不良品-》不良品 不良品-》良品
//增加一个可加工数,后续计算中会减1,抵消以后相当于QuantityWait可加工数不变 //增加一个可加工数,后续计算中会减1,抵消以后相当于QuantityWait可加工数不变
task.setQuantityWait(task.getQuantity().add(new BigDecimal(1))); task.setQuantityWait(task.getQuantityWait().add(new BigDecimal(1)));
//减少一个不良加工数,后续计算中根据报工是不合格增加1,如果为合格则不再增加 //减少一个不良加工数,后续计算中根据报工是不合格增加1,如果为合格则不再增加
task.setQuantityUnqualify(task.getQuantityUnqualify().subtract(new BigDecimal(1))); task.setQuantityUnqualify(task.getQuantityUnqualify().subtract(new BigDecimal(1)));
//减少一个已加工数,抵消以后增加一个相当于已加工数不变 //减少一个已加工数,抵消以后增加一个相当于已加工数不变
task.setQuantityProduced(task.getQuantityProduced().subtract(new BigDecimal(1))); task.setQuantityProduced(task.getQuantityProduced().subtract(new BigDecimal(1)));
taskWorkunit.setQuantityUnqualify(task.getQuantityUnqualify().subtract(new BigDecimal(1))); taskWorkunit.setQuantityUnqualify(taskWorkunit.getQuantityUnqualify().subtract(new BigDecimal(1)));
taskWorkunit.setQuantityProduced(task.getQuantityProduced().subtract(new BigDecimal(1))); taskWorkunit.setQuantityProduced(taskWorkunit.getQuantityProduced().subtract(new BigDecimal(1)));
} }
BigDecimal taskQuantityWaitConst = task.getQuantityWait(); BigDecimal taskQuantityWaitConst = task.getQuantityWait();
......
...@@ -355,6 +355,9 @@ ...@@ -355,6 +355,9 @@
<update id="updateAbnormal"> <update id="updateAbnormal">
update pro_feedback set abnormal_id = #{abnormalId}, abnormal_type = #{abnormalType},abnormal_reason = #{abnormalReason},abnormal_remark = #{abnormalRemark} where record_id = #{recordId} update pro_feedback set abnormal_id = #{abnormalId}, abnormal_type = #{abnormalType},abnormal_reason = #{abnormalReason},abnormal_remark = #{abnormalRemark} where record_id = #{recordId}
</update> </update>
<update id="updateLastFeedback">
update pro_feedback set last_feedback = false where qrcode = #{qrcode} and task_id = #{taskId}
</update>
<delete id="deleteProFeedbackByRecordId" parameterType="Long"> <delete id="deleteProFeedbackByRecordId" parameterType="Long">
delete delete
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment