diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseReturnOrderDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseReturnOrderDetailController.java new file mode 100644 index 00000000..c6ed3fde --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseReturnOrderDetailController.java @@ -0,0 +1,151 @@ +package com.ruoyi.system.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.domain.BaseReturnOrderDetail; +import com.ruoyi.system.service.IBaseReturnOrderDetailService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 员工退料详情Controller + * + * @author ruoyi + * @date 2024-12-24 + */ +@Controller +@RequestMapping("/system/baseReturnOrderDetail") +public class BaseReturnOrderDetailController extends BaseController +{ + private String prefix = "system/baseReturnOrderDetail"; + + @Autowired + private IBaseReturnOrderDetailService baseReturnOrderDetailService; + + @RequiresPermissions("system:detail:view") + @GetMapping() + public String detail() + { + return prefix + "/detail"; + } + + /** + * 查询员工退料详情列表 + */ + @RequiresPermissions("system:detail:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(BaseReturnOrderDetail baseReturnOrderDetail) + { + startPage(); + List list = baseReturnOrderDetailService.selectBaseReturnOrderDetailList(baseReturnOrderDetail); + return getDataTable(list); + } + + /** + * 导出员工退料详情列表 + */ + @RequiresPermissions("system:detail:export") + @Log(title = "员工退料详情", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(BaseReturnOrderDetail baseReturnOrderDetail) + { + List list = baseReturnOrderDetailService.selectBaseReturnOrderDetailList(baseReturnOrderDetail); + ExcelUtil util = new ExcelUtil(BaseReturnOrderDetail.class); + return util.exportExcel(list, "员工退料详情数据"); + } + + /** + * 新增员工退料详情 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存员工退料详情 + */ + @RequiresPermissions("system:detail:add") + @Log(title = "员工退料详情", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(BaseReturnOrderDetail baseReturnOrderDetail) + { + return toAjax(baseReturnOrderDetailService.insertBaseReturnOrderDetail(baseReturnOrderDetail)); + } + + /** + * 修改员工退料详情 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + BaseReturnOrderDetail baseReturnOrderDetail = baseReturnOrderDetailService.selectBaseReturnOrderDetailById(id); + mmap.put("baseReturnOrderDetail", baseReturnOrderDetail); + return prefix + "/edit"; + } + + /** + * 修改保存员工退料详情 + */ + @RequiresPermissions("system:detail:edit") + @Log(title = "员工退料详情", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(BaseReturnOrderDetail baseReturnOrderDetail) + { + return toAjax(baseReturnOrderDetailService.updateBaseReturnOrderDetail(baseReturnOrderDetail)); + } + + /** + * 删除员工退料详情 + */ + @RequiresPermissions("system:detail:remove") + @Log(title = "员工退料详情", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(baseReturnOrderDetailService.deleteBaseReturnOrderDetailByIds(ids)); + } + + /** + * 作废员工退料详情 + */ + @RequiresPermissions("system:detail:cancel") + @Log(title = "员工退料详情", businessType = BusinessType.CANCEL) + @GetMapping( "/cancel/{id}") + @ResponseBody + public AjaxResult cancel(@PathVariable("id") Long id){ + return toAjax(baseReturnOrderDetailService.cancelBaseReturnOrderDetailById(id)); + } + + /** + * 恢复员工退料详情 + */ + @RequiresPermissions("system:detail:restore") + @Log(title = "员工退料详情", businessType = BusinessType.RESTORE) + @GetMapping( "/restore/{id}") + @ResponseBody + public AjaxResult restore(@PathVariable("id")Long id) + { + return toAjax(baseReturnOrderDetailService.restoreBaseReturnOrderDetailById(id)); + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseReturnOrderDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseReturnOrderDetail.java new file mode 100644 index 00000000..3033095e --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/BaseReturnOrderDetail.java @@ -0,0 +1,251 @@ +package com.ruoyi.system.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 员工退料详情对象 base_return_order_detail + * + * @author ruoyi + * @date 2024-12-24 + */ +public class BaseReturnOrderDetail extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + private Long id; + + /** 员工退料单号 */ + @Excel(name = "员工退料单号") + private String baseReturnOrderCode; + + /** 关联领料单号 */ + @Excel(name = "关联领料单号") + private String pickNo; + + /** 料号 */ + @Excel(name = "料号") + private String materialNo; + + /** 物料名称 */ + @Excel(name = "物料名称") + private String materialName; + + /** 图片 */ + @Excel(name = "图片") + private String photoUrl; + + /** 物料型号 */ + @Excel(name = "物料型号") + private String materialModel; + + /** 加工方式 */ + @Excel(name = "加工方式") + private String processMethod; + + /** 品牌 */ + @Excel(name = "品牌") + private String brand; + + /** 单位 */ + @Excel(name = "单位") + private String unit; + + /** 描述 */ + @Excel(name = "描述") + private String describe; + + /** 已领料数 */ + @Excel(name = "已领料数") + private Integer hasPickNum; + + /** 已退料数 */ + @Excel(name = "已退料数") + private Integer hasReturnNum; + + /** 本次退料数 */ + @Excel(name = "本次退料数") + private Integer returnNum; + + /** 用量 */ + @Excel(name = "用量") + private Integer useNum; + + /** 审核状态(0待审核,1审核通过,2审核拒绝) */ + @Excel(name = "审核状态", readConverterExp = "0=待审核,1审核通过,2审核拒绝") + private String auditStatus; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setBaseReturnOrderCode(String baseReturnOrderCode) + { + this.baseReturnOrderCode = baseReturnOrderCode; + } + + public String getBaseReturnOrderCode() + { + return baseReturnOrderCode; + } + public void setPickNo(String pickNo) + { + this.pickNo = pickNo; + } + + public String getPickNo() + { + return pickNo; + } + public void setMaterialNo(String materialNo) + { + this.materialNo = materialNo; + } + + public String getMaterialNo() + { + return materialNo; + } + public void setMaterialName(String materialName) + { + this.materialName = materialName; + } + + public String getMaterialName() + { + return materialName; + } + public void setPhotoUrl(String photoUrl) + { + this.photoUrl = photoUrl; + } + + public String getPhotoUrl() + { + return photoUrl; + } + public void setMaterialModel(String materialModel) + { + this.materialModel = materialModel; + } + + public String getMaterialModel() + { + return materialModel; + } + public void setProcessMethod(String processMethod) + { + this.processMethod = processMethod; + } + + public String getProcessMethod() + { + return processMethod; + } + public void setBrand(String brand) + { + this.brand = brand; + } + + public String getBrand() + { + return brand; + } + public void setUnit(String unit) + { + this.unit = unit; + } + + public String getUnit() + { + return unit; + } + public void setDescribe(String describe) + { + this.describe = describe; + } + + public String getDescribe() + { + return describe; + } + public void setHasPickNum(Integer hasPickNum) + { + this.hasPickNum = hasPickNum; + } + + public Integer getHasPickNum() + { + return hasPickNum; + } + public void setHasReturnNum(Integer hasReturnNum) + { + this.hasReturnNum = hasReturnNum; + } + + public Integer getHasReturnNum() + { + return hasReturnNum; + } + public void setReturnNum(Integer returnNum) + { + this.returnNum = returnNum; + } + + public Integer getReturnNum() + { + return returnNum; + } + public void setUseNum(Integer useNum) + { + this.useNum = useNum; + } + + public Integer getUseNum() + { + return useNum; + } + public void setAuditStatus(String auditStatus) + { + this.auditStatus = auditStatus; + } + + public String getAuditStatus() + { + return auditStatus; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("baseReturnOrderCode", getBaseReturnOrderCode()) + .append("pickNo", getPickNo()) + .append("materialNo", getMaterialNo()) + .append("materialName", getMaterialName()) + .append("photoUrl", getPhotoUrl()) + .append("materialModel", getMaterialModel()) + .append("processMethod", getProcessMethod()) + .append("brand", getBrand()) + .append("unit", getUnit()) + .append("describe", getDescribe()) + .append("hasPickNum", getHasPickNum()) + .append("hasReturnNum", getHasReturnNum()) + .append("returnNum", getReturnNum()) + .append("useNum", getUseNum()) + .append("auditStatus", getAuditStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseReturnOrderDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseReturnOrderDetailMapper.java new file mode 100644 index 00000000..36ed7348 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/BaseReturnOrderDetailMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.system.mapper; + +import java.util.List; +import com.ruoyi.system.domain.BaseReturnOrderDetail; + +/** + * 员工退料详情Mapper接口 + * + * @author ruoyi + * @date 2024-12-24 + */ +public interface BaseReturnOrderDetailMapper +{ + /** + * 查询员工退料详情 + * + * @param id 员工退料详情ID + * @return 员工退料详情 + */ + public BaseReturnOrderDetail selectBaseReturnOrderDetailById(Long id); + + /** + * 查询员工退料详情列表 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 员工退料详情集合 + */ + public List selectBaseReturnOrderDetailList(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 新增员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + public int insertBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 修改员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + public int updateBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 删除员工退料详情 + * + * @param id 员工退料详情ID + * @return 结果 + */ + public int deleteBaseReturnOrderDetailById(Long id); + + /** + * 批量删除员工退料详情 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteBaseReturnOrderDetailByIds(String[] ids); + + /** + * 作废员工退料详情 + * + * @param id 员工退料详情ID + * @return 结果 + */ + public int cancelBaseReturnOrderDetailById(Long id); + + /** + * 恢复员工退料详情 + * + * @param id 员工退料详情ID + * @return 结果 + */ + public int restoreBaseReturnOrderDetailById(Long id); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseReturnOrderDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseReturnOrderDetailService.java new file mode 100644 index 00000000..f91e1f1b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseReturnOrderDetailService.java @@ -0,0 +1,78 @@ +package com.ruoyi.system.service; + +import java.util.List; +import com.ruoyi.system.domain.BaseReturnOrderDetail; + +/** + * 员工退料详情Service接口 + * + * @author ruoyi + * @date 2024-12-24 + */ +public interface IBaseReturnOrderDetailService +{ + /** + * 查询员工退料详情 + * + * @param id 员工退料详情ID + * @return 员工退料详情 + */ + public BaseReturnOrderDetail selectBaseReturnOrderDetailById(Long id); + + /** + * 查询员工退料详情列表 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 员工退料详情集合 + */ + public List selectBaseReturnOrderDetailList(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 新增员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + public int insertBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 修改员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + public int updateBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail); + + /** + * 批量删除员工退料详情 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteBaseReturnOrderDetailByIds(String ids); + + /** + * 删除员工退料详情信息 + * + * @param id 员工退料详情ID + * @return 结果 + */ + public int deleteBaseReturnOrderDetailById(Long id); + + /** + * 作废员工退料详情 + * @param id 员工退料详情ID + * @return + */ + int cancelBaseReturnOrderDetailById(Long id); + + /** + * 恢复员工退料详情 + * @param id 员工退料详情ID + * @return + */ + int restoreBaseReturnOrderDetailById(Long id); + + /** 查询关联领料单物料信息*/ + List getRelatedMaterialList(String pickNo); +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseReturnOrderDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseReturnOrderDetailServiceImpl.java new file mode 100644 index 00000000..e49845c5 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseReturnOrderDetailServiceImpl.java @@ -0,0 +1,197 @@ +package com.ruoyi.system.service.impl; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import com.ruoyi.common.exception.BusinessException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ShiroUtils; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.OutsourceRequisition; +import com.ruoyi.system.domain.OutsourceRequisitionDetail; +import com.ruoyi.system.mapper.OutsourceRequisitionMapper; +import org.apache.poi.util.StringUtil; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.system.mapper.BaseReturnOrderDetailMapper; +import com.ruoyi.system.domain.BaseReturnOrderDetail; +import com.ruoyi.system.service.IBaseReturnOrderDetailService; +import com.ruoyi.common.core.text.Convert; +import org.springframework.transaction.annotation.Transactional; + +/** + * 员工退料详情Service业务层处理 + * + * @author ruoyi + * @date 2024-12-24 + */ +@Service +public class BaseReturnOrderDetailServiceImpl implements IBaseReturnOrderDetailService +{ + @Autowired + private BaseReturnOrderDetailMapper baseReturnOrderDetailMapper; + + @Autowired + private OutsourceRequisitionMapper outRequisitionMapper; + + /** + * 查询员工退料详情 + * + * @param id 员工退料详情ID + * @return 员工退料详情 + */ + @Override + public BaseReturnOrderDetail selectBaseReturnOrderDetailById(Long id) + { + return baseReturnOrderDetailMapper.selectBaseReturnOrderDetailById(id); + } + + /** + * 查询员工退料详情列表 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 员工退料详情 + */ + @Override + public List selectBaseReturnOrderDetailList(BaseReturnOrderDetail baseReturnOrderDetail) + { + return baseReturnOrderDetailMapper.selectBaseReturnOrderDetailList(baseReturnOrderDetail); + } + + /** + * 新增员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + @Override + public int insertBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail) + { + String loginName = ShiroUtils.getLoginName(); + baseReturnOrderDetail.setCreateBy(loginName); + baseReturnOrderDetail.setCreateTime(DateUtils.getNowDate()); + return baseReturnOrderDetailMapper.insertBaseReturnOrderDetail(baseReturnOrderDetail); + } + + /** + * 修改员工退料详情 + * + * @param baseReturnOrderDetail 员工退料详情 + * @return 结果 + */ + @Override + public int updateBaseReturnOrderDetail(BaseReturnOrderDetail baseReturnOrderDetail) + { + String loginName = ShiroUtils.getLoginName(); + baseReturnOrderDetail.setUpdateBy(loginName); + baseReturnOrderDetail.setUpdateTime(DateUtils.getNowDate()); + return baseReturnOrderDetailMapper.updateBaseReturnOrderDetail(baseReturnOrderDetail); + } + + /** + * 删除员工退料详情对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteBaseReturnOrderDetailByIds(String ids) + { + return baseReturnOrderDetailMapper.deleteBaseReturnOrderDetailByIds(Convert.toStrArray(ids)); + } + + /** + * 删除员工退料详情信息 + * + * @param id 员工退料详情ID + * @return 结果 + */ + @Override + public int deleteBaseReturnOrderDetailById(Long id) + { + return baseReturnOrderDetailMapper.deleteBaseReturnOrderDetailById(id); + } + + /** + * 作废员工退料详情 + * + * @param id 员工退料详情ID + * @return 结果 + */ + @Override + public int cancelBaseReturnOrderDetailById(Long id) + { + return baseReturnOrderDetailMapper.cancelBaseReturnOrderDetailById(id); + } + + /** + * 恢复员工退料详情信息 + * + * @param id 员工退料详情ID + * @return 结果 + */ + @Override + public int restoreBaseReturnOrderDetailById(Long id) + { + return baseReturnOrderDetailMapper.restoreBaseReturnOrderDetailById(id); + } + + /** 查询关联领料单物料信息*/ + @Transactional(rollbackFor = Exception.class) + @Override + public List getRelatedMaterialList(String pickNo){ + List returnOrderDetails = new ArrayList<>(); + if(pickNo.startsWith("WWLL")){ + OutsourceRequisition outRequisition = outRequisitionMapper.selectOutsourceRequisitionByNo(pickNo); + if(outRequisition == null){ + throw new BusinessException("关联委外领料单不存在,请检查"); + } + OutsourceRequisitionDetail tempOutDetail = new OutsourceRequisitionDetail(); + tempOutDetail.setOutsourceRequisitionNo(pickNo); + tempOutDetail.setLevel(1); + List details = outRequisitionMapper.selectOutsourceRequisitionDetailList(tempOutDetail); + + if(StringUtils.isNotEmpty(details)){ + for (OutsourceRequisitionDetail detail: details) { + BaseReturnOrderDetail returnOrderDetail = createReturnOrderDetailByOutDetail(detail); + returnOrderDetails.add(returnOrderDetail); + } + } + }else if(pickNo.startsWith("YGLL")){ + + }else{ + throw new BusinessException("领料号不存在"); + } + return returnOrderDetails; + } + + public BaseReturnOrderDetail createReturnOrderDetailByOutDetail(OutsourceRequisitionDetail detail){ + BaseReturnOrderDetail returnOrderDetail = new BaseReturnOrderDetail(); + returnOrderDetail.setMaterialNo(detail.getMaterialNo()); + returnOrderDetail.setMaterialName(detail.getMaterialName()); + returnOrderDetail.setPhotoUrl(detail.getMaterialPhotoUrl()); + returnOrderDetail.setProcessMethod(detail.getProcessMethod()); + returnOrderDetail.setBrand(detail.getBrand()); + returnOrderDetail.setUnit(detail.getUnit()); + returnOrderDetail.setDescribe(detail.getDescription()); + returnOrderDetail.setHasPickNum(detail.getTakingMaterial()); + returnOrderDetail.setReturnNum(0); + + BaseReturnOrderDetail tempDetail = new BaseReturnOrderDetail(); + tempDetail.setPickNo(detail.getOutsourceRequisitionNo()); + tempDetail.setMaterialNo(detail.getMaterialNo()); + List returnList = baseReturnOrderDetailMapper.selectBaseReturnOrderDetailList(tempDetail); + List filtList = returnList.stream() + .filter(item ->item.getAuditStatus().equals("0") + ||item.getAuditStatus().equals("1")).collect(Collectors.toList()); + + if(StringUtils.isEmpty(filtList)){ + returnOrderDetail.setHasReturnNum(0); + }else{ + int hasReturnNum = filtList.stream().mapToInt(item ->item.getReturnNum()).sum(); + returnOrderDetail.setHasReturnNum(hasReturnNum); + } + return returnOrderDetail; + } +} diff --git a/ruoyi-admin/src/main/resources/mapper/system/BaseReturnOrderDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/BaseReturnOrderDetailMapper.xml new file mode 100644 index 00000000..ec6a9f6e --- /dev/null +++ b/ruoyi-admin/src/main/resources/mapper/system/BaseReturnOrderDetailMapper.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, base_return_order_code, pick_no, material_no, material_name, photo_url, + material_model, process_method, brand, unit, `describe`, has_pick_num, + has_return_num, return_num, use_num, audit_status, create_by, create_time, + update_by, update_time from base_return_order_detail + + + + + + + + insert into base_return_order_detail + + base_return_order_code, + pick_no, + material_no, + material_name, + photo_url, + material_model, + process_method, + brand, + unit, + `describe`, + has_pick_num, + has_return_num, + return_num, + use_num, + audit_status, + create_by, + create_time, + update_by, + update_time, + + + #{baseReturnOrderCode}, + #{pickNo}, + #{materialNo}, + #{materialName}, + #{photoUrl}, + #{materialModel}, + #{processMethod}, + #{brand}, + #{unit}, + #{describe}, + #{hasPickNum}, + #{hasReturnNum}, + #{returnNum}, + #{useNum}, + #{auditStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update base_return_order_detail + + base_return_order_code = #{baseReturnOrderCode}, + pick_no = #{pickNo}, + material_no = #{materialNo}, + material_name = #{materialName}, + photo_url = #{photoUrl}, + material_model = #{materialModel}, + process_method = #{processMethod}, + brand = #{brand}, + unit = #{unit}, + `describe` = #{describe}, + has_pick_num = #{hasPickNum}, + has_return_num = #{hasReturnNum}, + return_num = #{returnNum}, + use_num = #{useNum}, + audit_status = #{auditStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from base_return_order_detail where id = #{id} + + + + delete from base_return_order_detail where id in + + #{id} + + + + + update base_return_order_detail set del_flag = '1' where id = #{id} + + + + update base_return_order_detail set del_flag = '0' where id = #{id} + + + \ No newline at end of file