diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesComplaintNoticeController.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesComplaintNoticeController.java index b612781e..83ed581e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesComplaintNoticeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/controller/AftersalesComplaintNoticeController.java @@ -1,10 +1,12 @@ package com.ruoyi.aftersales.controller; +import java.util.Collections; import java.util.List; import com.ruoyi.aftersales.domain.AftersalesComplaintNoticeDetail; import com.ruoyi.aftersales.domain.vo.AftersalesMaterialVO; import com.ruoyi.aftersales.service.IAftersalesComplaintNoticeDetailService; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.manufacture.domain.MaterialRequisitionDetail; import com.ruoyi.system.domain.SysCustomer; import com.ruoyi.system.domain.SysMakeOrder; @@ -54,10 +56,10 @@ public class AftersalesComplaintNoticeController extends BaseController @RequiresPermissions("aftersales:complaintNotice:list") @PostMapping("/list") @ResponseBody - public TableDataInfo list(AftersalesComplaintNoticeDetail complaintNoticeDetail) + public TableDataInfo list(AftersalesComplaintNotice complaintNotice) { startPage(); - List list = complaintNoticeDetailService.selectAftersalesComplaintNoticeDetailList(complaintNoticeDetail); + List list = aftersalesComplaintNoticeService.selectAftersalesComplaintNoticeList(complaintNotice); return getDataTable(list); } @@ -114,9 +116,9 @@ public class AftersalesComplaintNoticeController extends BaseController @Log(title = "售后客诉通知单", businessType = BusinessType.UPDATE) @PostMapping("/edit") @ResponseBody - public AjaxResult editSave(AftersalesComplaintNotice aftersalesComplaintNotice) + public AjaxResult editSave(@RequestBody AftersalesComplaintNoticeDetail aftersalesComplaintNoticeDetail) { - return toAjax(aftersalesComplaintNoticeService.updateAftersalesComplaintNotice(aftersalesComplaintNotice)); + return toAjax(complaintNoticeDetailService.updateAftersalesComplaintNoticeDetail(aftersalesComplaintNoticeDetail)); } /** @@ -163,4 +165,15 @@ public class AftersalesComplaintNoticeController extends BaseController return getDataTable(list); } + /** + * 编辑操作的时候查询数据库中已有的物料信息 + * */ + @ResponseBody + @PostMapping("/getMaterialListByNoticeCode") + public TableDataInfo getMaterialListByNoticeCode(AftersalesComplaintNoticeDetail complaintNoticeDetail){ + startPage(); + List list = complaintNoticeDetailService.selectMaterialListByNoticeCode(complaintNoticeDetail.getComplaintNoticeCode()); + return getDataTable(list); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesComplaintNoticeDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesComplaintNoticeDetail.java index 9a08f579..add39e05 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesComplaintNoticeDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/domain/AftersalesComplaintNoticeDetail.java @@ -1,10 +1,13 @@ package com.ruoyi.aftersales.domain; +import com.ruoyi.aftersales.domain.vo.AftersalesMaterialVO; 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; +import java.util.List; + /** * 售后客诉通知单详情对象 aftersales_complaint_notice_detail * @@ -106,6 +109,8 @@ public class AftersalesComplaintNoticeDetail extends BaseEntity /** 数量合计 */ private String enterpriseSum; + /** 客诉通知相关物料数据 */ + private List aftersalesMaterialVOs; public void setComplaintNoticeDetailId(Long complaintNoticeDetailId) { this.complaintNoticeDetailId = complaintNoticeDetailId; @@ -341,6 +346,14 @@ public class AftersalesComplaintNoticeDetail extends BaseEntity return enterpriseSum; } + public List getAftersalesMaterialVOs() { + return aftersalesMaterialVOs; + } + + public void setAftersalesMaterialVOs(List aftersalesMaterialVOs) { + this.aftersalesMaterialVOs = aftersalesMaterialVOs; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -375,6 +388,7 @@ public class AftersalesComplaintNoticeDetail extends BaseEntity .append("updateBy", getUpdateBy()) .append("updateTime", getUpdateTime()) .append("remark", getRemark()) + .append("aftersalesMaterialVOs",getAftersalesMaterialVOs()) .toString(); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AftersalesComplaintNoticeDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AftersalesComplaintNoticeDetailMapper.java index 3e71cfde..f7f49b00 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AftersalesComplaintNoticeDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/mapper/AftersalesComplaintNoticeDetailMapper.java @@ -64,6 +64,15 @@ public interface AftersalesComplaintNoticeDetailMapper */ public int deleteAftersalesComplaintNoticeDetailByIds(String[] complaintNoticeDetailIds); + + /** + * 删除售后客诉通知单详情 + * + * @param complaintNoticeCode 售后客诉通知单号 + * @return 结果 + */ + public int deleteAftersalesComplaintNoticeDetailByCode(String complaintNoticeCode); + /** * 作废售后客诉通知单详情 * @@ -85,4 +94,10 @@ public interface AftersalesComplaintNoticeDetailMapper * @return 最大序号 */ String maxRoundCode(@Param("code") String code); + + /** + * 查找与客诉通知单号有关的物料信息 + * @param complainNoticeCode + * */ + List selectMaterialListByNoticeCode(String complainNoticeCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeDetailService.java index 5bf79d7d..a02ad391 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeDetailService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeDetailService.java @@ -2,6 +2,7 @@ package com.ruoyi.aftersales.service; import java.util.List; import com.ruoyi.aftersales.domain.AftersalesComplaintNoticeDetail; +import com.ruoyi.aftersales.domain.vo.AftersalesMaterialVO; /** * 售后客诉通知单详情Service接口 @@ -72,4 +73,10 @@ public interface IAftersalesComplaintNoticeDetailService * @return */ int restoreAftersalesComplaintNoticeDetailById(Long complaintNoticeDetailId); + + /** + * 查找与客诉通知单号有关的物料信息 + * @param complainNoticeCode + * */ + List selectMaterialListByNoticeCode(String complainNoticeCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeService.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeService.java index 9a162487..8aa7c7ed 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/IAftersalesComplaintNoticeService.java @@ -89,4 +89,5 @@ public interface IAftersalesComplaintNoticeService * @param makeNo * */ List selectMaterialInfoByMakeNo(String makeNo); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeDetailServiceImpl.java index 518a97be..364fc969 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeDetailServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeDetailServiceImpl.java @@ -2,11 +2,18 @@ package com.ruoyi.aftersales.service.impl; import java.text.DecimalFormat; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Date; import java.util.List; + +import com.ruoyi.aftersales.domain.AftersalesComplaintNotice; +import com.ruoyi.aftersales.domain.vo.AftersalesMaterialVO; +import com.ruoyi.aftersales.mapper.AftersalesComplaintNoticeMapper; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysMakeorderBom; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.ruoyi.aftersales.mapper.AftersalesComplaintNoticeDetailMapper; @@ -21,12 +28,16 @@ import org.springframework.transaction.annotation.Transactional; * @author 刘晓旭 * @date 2024-04-25 */ +@Slf4j @Service public class AftersalesComplaintNoticeDetailServiceImpl implements IAftersalesComplaintNoticeDetailService { @Autowired private AftersalesComplaintNoticeDetailMapper aftersalesComplaintNoticeDetailMapper; + @Autowired + private AftersalesComplaintNoticeMapper complaintNoticeMapper; + /** * 查询售后客诉通知单详情 * @@ -61,7 +72,7 @@ public class AftersalesComplaintNoticeDetailServiceImpl implements IAftersalesCo @Override public int insertAftersalesComplaintNoticeDetail(AftersalesComplaintNoticeDetail complaintNoticeDetail) { - + AftersalesComplaintNotice complaintNotice = new AftersalesComplaintNotice(); SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd"); String code = "KS"+df.format(new Date()); //模糊查询当前最大的编码 @@ -79,7 +90,36 @@ public class AftersalesComplaintNoticeDetailServiceImpl implements IAftersalesCo String loginName = ShiroUtils.getLoginName(); complaintNoticeDetail.setCreateBy(loginName); complaintNoticeDetail.setCreateTime(DateUtils.getNowDate()); - return aftersalesComplaintNoticeDetailMapper.insertAftersalesComplaintNoticeDetail(complaintNoticeDetail); + + //保存信息到AftersalesComplaintNotice数据表中 + complaintNotice.setComplaintNoticeCode(newCode); + complaintNotice.setCreateBy(loginName); + complaintNotice.setCreateTime(new Date()); + complaintNotice.setMakeNo(complaintNoticeDetail.getMakeNo()); + complaintNotice.setCustomerId(complaintNoticeDetail.getCustomerId()); + complaintNotice.setCustomerName(complaintNoticeDetail.getCustomerName()); + complaintNotice.setEmergencyDegree(complaintNoticeDetail.getEmergencyDegree()); + complaintNoticeMapper.insertAftersalesComplaintNotice(complaintNotice); + + List aftersalesMaterialVOs = complaintNoticeDetail.getAftersalesMaterialVOs(); + if (StringUtils.isEmpty(aftersalesMaterialVOs)){ + return aftersalesComplaintNoticeDetailMapper.insertAftersalesComplaintNoticeDetail(complaintNoticeDetail); + } + for (AftersalesMaterialVO aftersalesMaterialVO : aftersalesMaterialVOs) { + complaintNoticeDetail.setMaterialType(aftersalesMaterialVO.getMaterialType()); + complaintNoticeDetail.setMaterialUnit(aftersalesMaterialVO.getMaterialUnit()); + complaintNoticeDetail.setMaterialProcessMethod(aftersalesMaterialVO.getMaterialProcessMethod()); + complaintNoticeDetail.setMaterialName(aftersalesMaterialVO.getMaterialName()); + complaintNoticeDetail.setMaterialDescribe(aftersalesMaterialVO.getMaterialDescribe()); + complaintNoticeDetail.setMaterialNo(aftersalesMaterialVO.getMaterialNo()); + complaintNoticeDetail.setMaterialPhotourl(aftersalesMaterialVO.getMaterialPhotourl()); + complaintNoticeDetail.setMaterialBrand(aftersalesMaterialVO.getMaterialBrand()); + complaintNoticeDetail.setComplaintProblem(aftersalesMaterialVO.getComplaintProblem()); + complaintNoticeDetail.setSnCode(aftersalesMaterialVO.getSnCode()); + complaintNoticeDetail.setAdverseReportUrl(aftersalesMaterialVO.getAdverseReportUrl()); + aftersalesComplaintNoticeDetailMapper.insertAftersalesComplaintNoticeDetail(complaintNoticeDetail); + } + return 1; } /** @@ -88,13 +128,58 @@ public class AftersalesComplaintNoticeDetailServiceImpl implements IAftersalesCo * @param aftersalesComplaintNoticeDetail 售后客诉通知单详情 * @return 结果 */ + @Transactional @Override public int updateAftersalesComplaintNoticeDetail(AftersalesComplaintNoticeDetail aftersalesComplaintNoticeDetail) { + AftersalesComplaintNotice aftersalesComplaintNotice = new AftersalesComplaintNotice(); String loginName = ShiroUtils.getLoginName(); - aftersalesComplaintNoticeDetail.setUpdateBy(loginName); - aftersalesComplaintNoticeDetail.setUpdateTime(DateUtils.getNowDate()); - return aftersalesComplaintNoticeDetailMapper.updateAftersalesComplaintNoticeDetail(aftersalesComplaintNoticeDetail); + //更新主表内容 + aftersalesComplaintNotice.setComplaintNoticeCode(aftersalesComplaintNoticeDetail.getComplaintNoticeCode()); + aftersalesComplaintNotice.setUpdateBy(loginName); + aftersalesComplaintNotice.setUpdateTime(new Date()); + aftersalesComplaintNotice.setMakeNo(aftersalesComplaintNoticeDetail.getMakeNo()); + aftersalesComplaintNotice.setEmergencyDegree(aftersalesComplaintNoticeDetail.getEmergencyDegree()); + aftersalesComplaintNotice.setRemark(aftersalesComplaintNoticeDetail.getRemark()); + aftersalesComplaintNotice.setCustomerName(aftersalesComplaintNoticeDetail.getCustomerName()); + aftersalesComplaintNotice.setCustomerId(aftersalesComplaintNoticeDetail.getCustomerId()); + complaintNoticeMapper.updateAftersalesComplaintNotice(aftersalesComplaintNotice); + String complaintNoticeCode = aftersalesComplaintNoticeDetail.getComplaintNoticeCode(); + List aftersalesMaterialVOs = aftersalesComplaintNoticeDetail.getAftersalesMaterialVOs(); + //如果前面相关物料信息为空 + if (StringUtils.isEmpty(aftersalesMaterialVOs)){ + //删除子表中的数据 + int result = aftersalesComplaintNoticeDetailMapper.deleteAftersalesComplaintNoticeDetailByCode(complaintNoticeCode); + return result; + } + //如果有物料信息 + int result = aftersalesComplaintNoticeDetailMapper.deleteAftersalesComplaintNoticeDetailByCode(complaintNoticeCode); + for (AftersalesMaterialVO aftersalesMaterialVO : aftersalesMaterialVOs) { + AftersalesComplaintNoticeDetail complaintNoticeDetail = new AftersalesComplaintNoticeDetail(); + complaintNoticeDetail.setComplaintNoticeCode(complaintNoticeCode); + complaintNoticeDetail.setCreateBy(aftersalesComplaintNoticeDetail.getCreateBy()); + complaintNoticeDetail.setCreateTime(aftersalesComplaintNoticeDetail.getCreateTime()); + complaintNoticeDetail.setUpdateBy(loginName); + complaintNoticeDetail.setUpdateTime(new Date()); + complaintNoticeDetail.setCustomerId(aftersalesComplaintNoticeDetail.getCustomerId()); + complaintNoticeDetail.setCustomerName(aftersalesComplaintNoticeDetail.getCustomerName()); + complaintNoticeDetail.setEmergencyDegree(aftersalesComplaintNoticeDetail.getEmergencyDegree()); + complaintNoticeDetail.setMakeNo(aftersalesComplaintNoticeDetail.getMakeNo()); + complaintNoticeDetail.setRemark(aftersalesComplaintNoticeDetail.getRemark()); + complaintNoticeDetail.setMaterialType(aftersalesMaterialVO.getMaterialType()); + complaintNoticeDetail.setMaterialUnit(aftersalesMaterialVO.getMaterialUnit()); + complaintNoticeDetail.setMaterialProcessMethod(aftersalesMaterialVO.getMaterialProcessMethod()); + complaintNoticeDetail.setMaterialName(aftersalesMaterialVO.getMaterialName()); + complaintNoticeDetail.setMaterialDescribe(aftersalesMaterialVO.getMaterialDescribe()); + complaintNoticeDetail.setMaterialNo(aftersalesMaterialVO.getMaterialNo()); + complaintNoticeDetail.setMaterialPhotourl(aftersalesMaterialVO.getMaterialPhotourl()); + complaintNoticeDetail.setMaterialBrand(aftersalesMaterialVO.getMaterialBrand()); + complaintNoticeDetail.setComplaintProblem(aftersalesMaterialVO.getComplaintProblem()); + complaintNoticeDetail.setSnCode(aftersalesMaterialVO.getSnCode()); + complaintNoticeDetail.setAdverseReportUrl(aftersalesMaterialVO.getAdverseReportUrl()); + aftersalesComplaintNoticeDetailMapper.insertAftersalesComplaintNoticeDetail(complaintNoticeDetail); + } + return 1; } /** @@ -145,6 +230,39 @@ public class AftersalesComplaintNoticeDetailServiceImpl implements IAftersalesCo return aftersalesComplaintNoticeDetailMapper.restoreAftersalesComplaintNoticeDetailById(complaintNoticeDetailId); } + /** + * 查找与客诉通知单号有关的物料信息 + * @param complainNoticeCode + * */ + @Override + public List selectMaterialListByNoticeCode(String complainNoticeCode) { + ArrayList aftersalesMaterialVOs = new ArrayList<>(); + List complaintNoticeDetails=aftersalesComplaintNoticeDetailMapper.selectMaterialListByNoticeCode(complainNoticeCode); + + if (StringUtils.isEmpty(complaintNoticeDetails)){ + // 记录日志 + log.warn("未查找到与客诉通知单号关联的物料相关数据, 客诉通知号: {}", complainNoticeCode); + + } + for (AftersalesComplaintNoticeDetail complaintNoticeDetail : complaintNoticeDetails) { + AftersalesMaterialVO aftersalesMaterialVO = new AftersalesMaterialVO(); + aftersalesMaterialVO.setMaterialNo(complaintNoticeDetail.getMaterialNo()); + aftersalesMaterialVO.setMaterialBrand(complaintNoticeDetail.getMaterialBrand()); + aftersalesMaterialVO.setMaterialDescribe(complaintNoticeDetail.getMaterialDescribe()); + aftersalesMaterialVO.setMaterialName(complaintNoticeDetail.getMaterialName()); + aftersalesMaterialVO.setMaterialProcessMethod(complaintNoticeDetail.getMaterialProcessMethod()); + aftersalesMaterialVO.setMaterialPhotourl(complaintNoticeDetail.getMaterialPhotourl()); + aftersalesMaterialVO.setMaterialUnit(complaintNoticeDetail.getMaterialUnit()); + aftersalesMaterialVO.setMaterialType(complaintNoticeDetail.getMaterialType()); + aftersalesMaterialVO.setComplaintProblem(complaintNoticeDetail.getComplaintProblem()); + aftersalesMaterialVO.setSnCode(complaintNoticeDetail.getSnCode()); + aftersalesMaterialVO.setAdverseReportUrl(complaintNoticeDetail.getAdverseReportUrl()); + aftersalesMaterialVOs.add(aftersalesMaterialVO); + } + return aftersalesMaterialVOs; + } + + /** *客诉单号生成规则: diff --git a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeServiceImpl.java index 54d689c0..ba965045 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/aftersales/service/impl/AftersalesComplaintNoticeServiceImpl.java @@ -184,6 +184,7 @@ public class AftersalesComplaintNoticeServiceImpl implements IAftersalesComplain @Override public List selectMaterialInfoByMakeNo(String makeNo) { ArrayList aftersalesMaterialVOs = new ArrayList<>(); + List sysMakeorderBoms = sysMakeorderBomMapper.selectSysMakeorderBomByMakeNo(makeNo); if (StringUtils.isEmpty(sysMakeorderBoms)){ // 记录日志 diff --git a/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeDetailMapper.xml index 232d624f..d24ea381 100644 --- a/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeDetailMapper.xml @@ -40,6 +40,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select complaint_notice_detail_id, complaint_notice_code, make_no, user_id, delivery_goods_num, emergency_degree, complaint_problem, closing_procedures, adverse_report_url, customer_id, customer_name, device_model_code, device_model_name, sn_code, device_running_number, material_no, material_name, material_type, material_photoUrl, material_brand, material_unit, material_describe, material_process_method, shipped_goods_sum, material_sum, enterprise_sum, create_by, create_time, update_by, update_time, remark from aftersales_complaint_notice_detail + + + + - - + + + insert into aftersales_complaint_notice_detail @@ -177,6 +183,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + delete from aftersales_complaint_notice_detail where complaint_notice_code = #{complaintNoticeCode} + + update aftersales_complaint_notice_detail set del_flag = '1' where complaint_notice_detail_id = #{complaintNoticeDetailId} @@ -189,4 +200,5 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeMapper.xml b/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeMapper.xml index cdc8b5c1..85647715 100644 --- a/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/aftersales/AftersalesComplaintNoticeMapper.xml @@ -115,7 +115,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update_time = #{updateTime}, remark = #{remark}, - where complaint_notice_id = #{complaintNoticeId} + where complaint_notice_code = #{complaintNoticeCode} diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/add.html b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/add.html index bc0337d1..1379d6eb 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/add.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/add.html @@ -74,12 +74,21 @@ // 新增提交 function submitHandler() { // 获取表单数据 - const complaintNoticeData = $("#form-complaintNotice-add").serializeArray(); - // 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据 + const complaintNoticeData = $("#form-complaintNotice-add").serializeArray().reduce((obj, item) => { + obj[item.name] = item.value; + return obj; + }, {}); + // 获取bootstrap-table的数据,这里假设你使用bootstrap-table的API获取所有数据 var table = $('#bootstrap-table').bootstrapTable('getData'); + // 检查表格数据是否为空 + if (table.length===0){ + $.modal.alertWarning("请至少添加一条物料数据后再保存!"); + return; + } + console.log(table); // 将表数据转换成与complaintNoticeData格式一致的数组 - var materialData = table.map(function(item) { + var materialDataList = table.map(function(item) { // 根据实际字段名调整 return { "materialNo": item.materialNo, // 假设id对应materialId @@ -97,8 +106,9 @@ }; }); + const combinedData = Object.assign({}, complaintNoticeData, { aftersalesMaterialVOs: materialDataList }); // 合并表单数据和表格数据 - const combinedData = Object.assign({}, ...complaintNoticeData.map(item => ({ [item.name]: item.value })), ...materialData); + // const combinedData = Object.assign({}, ...complaintNoticeData.array(item => ({ [item.name]: item.value })), ...materialData); console.log(combinedData) // 使用 JSON.stringify() 序列化数据 const jsonData = JSON.stringify(combinedData); @@ -126,13 +136,13 @@ // 将获取到的客户名称填充到输入框 if(data.data == null){ // 如果返回的数据有问题,可以给出提示或处理 - alert('未能获取到客户名称!'); + $.modal.msgError("未能获取到客户名称!"); } $('input[name="customerName"]').val(data.data.customerName); }, error: function(jqXHR, textStatus, errorThrown) { console.error('Error:', textStatus, errorThrown); - alert('查询客户名称时发生错误!'); + $.modal.msgError("查询客户名称时发生错误!"); } }); } else { @@ -220,7 +230,7 @@ function insertRow() { var selectedMakeNo = $("#makeNo").val(); if (!selectedMakeNo) { - alert("请先选择生产单号。"); + $.modal.alertWarning("请先选择生产单号。"); return; } var encodedMakeNo = encodeURIComponent(selectedMakeNo); diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/complaintNotice.html b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/complaintNotice.html index e59dec99..c75893c1 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/complaintNotice.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/complaintNotice.html @@ -92,7 +92,7 @@ checkbox: true }, { - title: '客诉通知ID', + title: '客诉通知详情ID', field: 'complaintNoticeId', visible: false }, @@ -150,18 +150,23 @@ formatter: function(value, row, index) { var actions = []; actions.push('编辑 '); - // actions.push('删除 '); - // if(row.delFlag == '0'){ - // actions.push('作废 '); - // }else{ - // actions.push('恢复 '); - // } + return actions.join(''); } }] }; $.table.init(options); }); + + /*详情*/ + // function detail(aftersalesOrderId) { + // // 在这里编写派单操作的逻辑,使用传入的aftersalesOrderId参数 + // // 示例逻辑: + // var url = ctx + 'aftersales/aftersalesOrder/detail/'+aftersalesOrderId; + // console.log(url); + // $.modal.open("上传报告",url); + // } + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/edit.html b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/edit.html index ed08e1bb..604773d4 100644 --- a/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/edit.html +++ b/ruoyi-admin/src/main/resources/templates/aftersales/complaintNotice/edit.html @@ -6,27 +6,31 @@
- -
- + +
+
- +
-
- +
+
- +
-
- +
+
- +
- +
- - -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- -
-
-
- -
- +
-
- -
- + +
+
+
+ 选择物料 + + 选择物料 +
-
- -
- +
+
+
- +
+ + \ No newline at end of file