Browse Source

[fix]工程管理:

修改物料不能选择性导出的bug
dev
liuxiaoxu 5 months ago
parent
commit
b9c2107bf4
  1. 22
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java
  2. 13
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpMaterial.java
  3. 14
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpMaterialVo.java
  4. 4
      ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpMaterialMapper.java
  5. 8
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java
  6. 12
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java
  7. 8
      ruoyi-admin/src/main/resources/mapper/erp/ErpMaterialMapper.xml
  8. 173
      ruoyi-admin/src/main/resources/templates/erp/material/material.html

22
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpMaterialController.java

@ -8,7 +8,6 @@ import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.erp.domain.ErpBom;
import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterial;
import com.ruoyi.erp.domain.ErpMaterialVo; import com.ruoyi.erp.domain.ErpMaterialVo;
import com.ruoyi.erp.mapper.ErpMaterialMapper; import com.ruoyi.erp.mapper.ErpMaterialMapper;
@ -27,7 +26,7 @@ import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
@ -103,11 +102,20 @@ public class ErpMaterialController extends BaseController
@Log(title = "物料信息", businessType = BusinessType.EXPORT) @Log(title = "物料信息", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ResponseBody @ResponseBody
public AjaxResult export(ErpMaterialVo erpMaterialVo) public AjaxResult export(ErpMaterialVo erpMaterialVo, String ids) {
{
List<ErpMaterialVo> list = erpMaterialMapper.selectErpMaterialList(erpMaterialVo); if (StringUtils.isEmpty(ids)){
ExcelUtil<ErpMaterialVo> util = new ExcelUtil<ErpMaterialVo>(ErpMaterialVo.class); List<ErpMaterialVo> list = erpMaterialMapper.selectErpMaterialList(erpMaterialVo);
return util.exportExcel(list, "物料信息数据"); ExcelUtil<ErpMaterialVo> util = new ExcelUtil<>(ErpMaterialVo.class);
return util.exportExcel(list, "物料信息数据");
}else {
List<ErpMaterialVo> erpMaterialList = erpMaterialService.selectErpMaterialByIds(ids);
System.out.println("list:"+erpMaterialList);
ExcelUtil<ErpMaterialVo> util = new ExcelUtil<>(ErpMaterialVo.class);
return util.exportExcel(erpMaterialList, "物料信息数据");
}
} }
/** /**

13
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpMaterial.java

@ -29,7 +29,7 @@ public class ErpMaterial extends BaseEntity
@Excel(name = "料号",sort = 1) @Excel(name = "料号",sort = 1)
private String materialNo; private String materialNo;
/** 物料名称 */ /** 物料名称 */
@Excel(name = "物料名称",sort = 3) @Excel(name = "物料名称",sort = 4)
private String materialName; private String materialName;
/** 审核状态 0-待审核 1-审核通过 2-审核拒绝*/ /** 审核状态 0-待审核 1-审核通过 2-审核拒绝*/
@ -53,23 +53,23 @@ public class ErpMaterial extends BaseEntity
/** 物料类型 */ /** 物料类型 */
private String materialType; private String materialType;
/** 物料类型名称 */ /** 物料类型名称 */
@Excel(name = "物料类型名称",sort = 4) @Excel(name = "物料类型名称",sort = 5)
private String materialTypeName; private String materialTypeName;
/** 加工方式 */ /** 加工方式 */
@Excel(name = "加工方式",sort = 8,dictType = "processMethod") @Excel(name = "加工方式",sort = 9,dictType = "processMethod")
private String processMethod; private String processMethod;
/** 单位 */ /** 单位 */
@Excel(name = "单位",sort = 5) @Excel(name = "单位",sort = 6)
private String unit; private String unit;
/** 品牌 */ /** 品牌 */
@Excel(name = "品牌",sort = 6) @Excel(name = "品牌",sort = 7)
private String brand; private String brand;
/** 描述 */ /** 描述 */
@Excel(name = "描述",sort = 7) @Excel(name = "描述",sort = 8)
private String describe; private String describe;
/** 入库部门 */ /** 入库部门 */
@ -102,6 +102,7 @@ public class ErpMaterial extends BaseEntity
private Long photoAttachId; private Long photoAttachId;
/** 照片 */
private String photoUrl; private String photoUrl;
private String fileIdStr; private String fileIdStr;

14
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpMaterialVo.java

@ -30,6 +30,11 @@ public class ErpMaterialVo extends ErpMaterial {
*/ */
private String keyword; private String keyword;
/**
* 前端多选数据集合
* */
private String[] ids;
public String getApplyUserName() { public String getApplyUserName() {
return applyUserName; return applyUserName;
} }
@ -102,6 +107,14 @@ public class ErpMaterialVo extends ErpMaterial {
this.keyword = keyword; this.keyword = keyword;
} }
public String[] getIds() {
return ids;
}
public void setIds(String[] ids) {
this.ids = ids;
}
@Override @Override
public String toString() { public String toString() {
return "ErpMaterialVo{" + return "ErpMaterialVo{" +
@ -114,6 +127,7 @@ public class ErpMaterialVo extends ErpMaterial {
", todoUserId='" + todoUserId + '\'' + ", todoUserId='" + todoUserId + '\'' +
", instanceTypeName='" + instanceTypeName + '\'' + ", instanceTypeName='" + instanceTypeName + '\'' +
", keyword='" + keyword + '\'' + ", keyword='" + keyword + '\'' +
", keyword='" + ids + '\'' +
"} " + super.toString(); "} " + super.toString();
} }
} }

4
ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpMaterialMapper.java

@ -93,4 +93,8 @@ public interface ErpMaterialMapper
public int updateMaterialBomNo(ErpMaterial erpMaterial); public int updateMaterialBomNo(ErpMaterial erpMaterial);
ErpMaterialVo selectErpMaterialByMaterialNo(String materialNo); ErpMaterialVo selectErpMaterialByMaterialNo(String materialNo);
/**
* 批量查找物料信息
*/
List<ErpMaterialVo> selectErpMaterialByIds(String[] ids);
} }

8
ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpMaterialService.java

@ -55,6 +55,14 @@ public interface IErpMaterialService
*/ */
public int deleteErpMaterialByIds(String ids); public int deleteErpMaterialByIds(String ids);
/**
* 批量查找物料信息
*
* @param ids 需要查找的数据ID
* @return 结果
*/
public List<ErpMaterialVo> selectErpMaterialByIds(String ids);
/** /**
* 删除物料信息信息 * 删除物料信息信息
* *

12
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java

@ -247,6 +247,18 @@ public class ErpMaterialServiceImpl implements IErpMaterialService
return erpMaterialMapper.deleteErpMaterialByIds(Convert.toStrArray(ids)); return erpMaterialMapper.deleteErpMaterialByIds(Convert.toStrArray(ids));
} }
/**
* 批量查找物料信息
*
* @param ids 需要查找的数据ID
* @return 结果
*/
@Override
public List<ErpMaterialVo> selectErpMaterialByIds(String ids) {
return erpMaterialMapper.selectErpMaterialByIds(Convert.toStrArray(ids));
}
/** /**
* 删除物料信息信息 * 删除物料信息信息
* *

8
ruoyi-admin/src/main/resources/mapper/erp/ErpMaterialMapper.xml

@ -142,6 +142,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where erp.material_no = #{materialNo} where erp.material_no = #{materialNo}
</select> </select>
<select id="selectErpMaterialByIds" parameterType="String" resultMap="ErpMaterialResult">
<include refid="selectErpMaterialVo"/> where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</select>
<insert id="insertErpMaterial" parameterType="ErpMaterial" useGeneratedKeys="true" keyProperty="id"> <insert id="insertErpMaterial" parameterType="ErpMaterial" useGeneratedKeys="true" keyProperty="id">
insert into erp_material insert into erp_material
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

173
ruoyi-admin/src/main/resources/templates/erp/material/material.html

@ -109,13 +109,7 @@
<a class="btn btn-success" onclick="showItem()" shiro:hasPermission="erp:material:item"> <a class="btn btn-success" onclick="showItem()" shiro:hasPermission="erp:material:item">
<i class="fa fa-plus"></i> 技术团队配置 <i class="fa fa-plus"></i> 技术团队配置
</a> </a>
<!--<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="erp:material:edit"> <a class="btn btn-warning" onclick="exportSelect()" shiro:hasPermission="erp:material:export">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="erp:material:remove">
<i class="fa fa-remove"></i> 删除
</a>-->
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="erp:material:export">
<i class="fa fa-download"></i> 导出 <i class="fa fa-download"></i> 导出
</a> </a>
</div> </div>
@ -274,89 +268,101 @@
aria-hidden="true">×</span></button> aria-hidden="true">×</span></button>
<h4 class="modal-title">技术团队配置</h4> <h4 class="modal-title">技术团队配置</h4>
</div> </div>
<div class="modal-body" style="height: 180px"> <div class="modal-body">
<form id="form-product-material"> <form id="form-product-material row">
<div class="form-group"> <div class="form-group col-sm-6">
<label class="col-sm-3 control-label">料号:</label> <label class="col-sm-4 col-form-label">料号:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="materialNo" class="form-control" type="text" readonly> <input type="text" name="materialNo" class="form-control" readonly>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group col-sm-6">
<label class="col-sm-3 control-label">物料名称:</label> <label class="col-sm-4 col-form-label">物料名称:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<input name="materialName" class="form-control" type="text" readonly> <input type="text" name="materialName" class="form-control" readonly>
</div> </div>
</div> </div>
<input name="itemId" type="hidden"> <input name="itemId" type="hidden">
<div class="form-group"> <div class="form-group col-sm-6">
<label class="col-sm-3 control-label">生产团队id</label> <label class="col-sm-4 col-form-label">生产团队ID</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="id" class="form-control-sm" required> <select name="id" class="form-control-sm" required>
<option></option> <option></option>
<!-- 添加具体的团队ID选项 -->
</select> </select>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group col-sm-6">
<label class="col-sm-3 control-label">生产团队名称:</label> <label class="col-sm-4 col-form-label">生产团队名称:</label>
<div class="col-sm-8"> <div class="col-sm-8">
<select name="productItem" class="form-control-sm" required> <select name="productItem" class="form-control-sm" required>
<option></option> <option></option>
<!-- 添加具体的团队名称选项 -->
</select> </select>
</div> </div>
</div> </div>
<div class="form-group" >
<label class="col-sm-3 control-label">职能:</label>
<div class="col-sm-2">
<input name="functions" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" >
<label class="col-sm-3 control-label">电气技术人员:</label>
<div class="col-sm-2">
<input name="dianqi" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group" >
<label class="col-sm-3 control-label">结构技术人员:</label>
<div class="col-sm-2">
<input name="struct" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label">软件技术人员:</label> <div class="row">
<div class="col-sm-2"> <div class="col-sm-3">
<input name="soft" class="form-control" type="text" readonly> <label class="control-label">职能:</label>
</div> </div>
</div> <div class="col-sm-3">
<div class="form-group" readonly=""> <label class="control-label">电气技术人员:</label>
<label class="col-sm-3 control-label">测试技术人员:</label> </div>
<div class="col-sm-2"> <div class="col-sm-3">
<input name="test" class="form-control" type="text" readonly> <label class="control-label">结构技术人员:</label>
</div> </div>
</div> <div class="col-sm-3">
<div class="form-group"> <label class="control-label">软件技术人员:</label>
<label class="col-sm-3 control-label">主管1:</label> </div>
<div class="col-sm-2"> <div class="w-100"></div> <!-- Add a clearfix to wrap the next row -->
<input name="zhuguan1" class="form-control" type="text" readonly> <div class="col-sm-3">
</div> <label class="control-label">测试技术人员:</label>
</div> </div>
<div class="form-group"> <div class="col-sm-3">
<label class="col-sm-3 control-label">主管2:</label> <label class="control-label">主管1:</label>
<div class="col-sm-2"> </div>
<input name="zhuguan2" class="form-control" type="text" readonly> <div class="col-sm-3">
</div> <label class="control-label">主管2:</label>
</div> </div>
<div class="form-group"> <div class="col-sm-3">
<label class="col-sm-3 control-label">经理:</label> <label class="control-label">经理:</label>
<div class="col-sm-2"> </div>
<input name="manger" class="form-control" type="text" readonly> <div class="w-100"></div> <!-- Add a clearfix to wrap the next row -->
<div class="col-sm-3">
<label class="control-label">总监:</label>
</div>
</div> </div>
</div> <div class="row">
<div class="form-group"> <div class="col-sm-3">
<label class="col-sm-3 control-label">总监:</label> <input name="functions" class="form-control" type="text" readonly>
<div class="col-sm-2"> </div>
<input name="director" class="form-control" type="text" readonly> <div class="col-sm-3">
<input name="dianqi" class="form-control" type="text" readonly>
</div>
<div class="col-sm-3">
<input name="struct" class="form-control" type="text" readonly>
</div>
<div class="col-sm-3">
<input name="soft" class="form-control" type="text" readonly>
</div>
<div class="w-100"></div> <!-- Add a clearfix to wrap the next row -->
<div class="col-sm-3">
<input name="test" class="form-control" type="text" readonly>
</div>
<div class="col-sm-3">
<input name="zhuguan1" class="form-control" type="text" readonly>
</div>
<div class="col-sm-3">
<input name="zhuguan2" class="form-control" type="text" readonly>
</div>
<div class="col-sm-3">
<input name="manger" class="form-control" type="text" readonly>
</div>
<div class="w-100"></div> <!-- Add a clearfix to wrap the next row -->
<div class="col-sm-3">
<input name="director" class="form-control" type="text" readonly>
</div>
</div> </div>
</div> </div>
</form> </form>
@ -498,7 +504,6 @@
removeUrl: prefix + "/remove", removeUrl: prefix + "/remove",
cancelUrl: prefix + "/cancel/{id}", cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}", restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
detailUrl: prefix + "/detail/{id}", detailUrl: prefix + "/detail/{id}",
modalName: "物料信息", modalName: "物料信息",
fixedColumns: true, // 启用冻结列 fixedColumns: true, // 启用冻结列
@ -1427,8 +1432,28 @@
$("input[name='director']").val(productItems[i].director); $("input[name='director']").val(productItems[i].director);
} }
}); });
//技术团队选择赋值 //导出数据
function exportSelect() {
var ids = $.table.selectColumns("id");
var dataParam = $("#formId").serializeArray();
let tipMsg = "确定导出当前所有数据吗?";
if ($.common.isNotEmpty(ids)) {
tipMsg = `确定导出当前勾选的 ${ids.length} 条数据吗?`;
dataParam.push({ "name": "ids", "value": ids });
}
$.modal.loading("正在导出数据,请稍后...");
$.modal.confirm(tipMsg, function () {
$.post( prefix + "/export", dataParam, function (result) {
if (result.code === web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName="+ encodeURI(result.msg) + "&delete=" + true;
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
});
});
}
</script> </script>
</body> </body>
</html> </html>
Loading…
Cancel
Save