Browse Source

[feat] 工程管理

按照万材要求,工程管理开发修改单领料新增导出功能,支持部分行和全部行导出,导出更多数据
新增 工程管理开发修改单领料导出明细实体类
新增导出所有和选择导出后端接口
新增 导出开发修改单领料明细方法
新增 根据开发修改单领料号数组查询开发修改单领料集合方法
新增 根据开发修改单领料号集合查询开发修改单领料详情数据方法
dev
liuxiaoxu 5 days ago
parent
commit
7711363650
  1. 27
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderPickingController.java
  2. 137
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ExportDevelopModifyorderPickingVo.java
  3. 5
      ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderPickingDetailMapper.java
  4. 5
      ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderPickingMapper.java
  5. 10
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderPickingService.java
  6. 77
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderPickingServiceImpl.java
  7. 8
      ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderPickingMapper.xml
  8. 57
      ruoyi-admin/src/main/resources/templates/erp/developModifyorderPicking/developModifyorderPicking.html

27
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderPickingController.java

@ -5,6 +5,7 @@ import java.util.List;
import com.ruoyi.erp.domain.*;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderPickingVo;
import com.ruoyi.erp.domain.vo.ExportDevelopModifyorderPickingVo;
import com.ruoyi.erp.service.IErpBomService;
import com.ruoyi.erp.service.IErpDevelopModifyorderDetailService;
import com.ruoyi.erp.service.IErpDevelopModifyorderPickingDetailService;
@ -99,15 +100,33 @@ public class ErpDevelopModifyorderPickingController extends BaseController
*/
@RequiresPermissions("erp:developModifyorderPicking:export")
@Log(title = "开发修改单领料", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@PostMapping("/exportAll")
@ResponseBody
public AjaxResult export(ErpDevelopModifyorderPickingVo erpDevelopModifyorderPickingVo)
public AjaxResult exportAll(ErpDevelopModifyorderPickingVo erpDevelopModifyorderPickingVo)
{
List<ErpDevelopModifyorderPickingVo> list = erpDevelopModifyorderPickingService.selectErpDevelopModifyorderPickingList(erpDevelopModifyorderPickingVo);
ExcelUtil<ErpDevelopModifyorderPickingVo> util = new ExcelUtil<ErpDevelopModifyorderPickingVo>(ErpDevelopModifyorderPickingVo.class);
return util.exportExcel(list, "开发修改单领料数据");
List<ExportDevelopModifyorderPickingVo> exportDevelopModifyorderPickingVos = erpDevelopModifyorderPickingService.exportDevelopModifyorderPickingList(list);
ExcelUtil<ExportDevelopModifyorderPickingVo> util = new ExcelUtil<ExportDevelopModifyorderPickingVo>(ExportDevelopModifyorderPickingVo.class);
return util.exportExcel(exportDevelopModifyorderPickingVos, "开发修改单领料数据");
}
/**
* 导出开发修改单领料列表
*/
@RequiresPermissions("erp:developModifyorderPicking:export")
@Log(title = "开发修改单领料", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(@RequestBody String[] pickingOrderCodes)
{
List<ErpDevelopModifyorderPickingVo> list = erpDevelopModifyorderPickingService.selectModifyorderPickingListByCodes(pickingOrderCodes);
List<ExportDevelopModifyorderPickingVo> exportDevelopModifyorderPickingVos = erpDevelopModifyorderPickingService.exportDevelopModifyorderPickingList(list);
ExcelUtil<ExportDevelopModifyorderPickingVo> util = new ExcelUtil<ExportDevelopModifyorderPickingVo>(ExportDevelopModifyorderPickingVo.class);
return util.exportExcel(exportDevelopModifyorderPickingVos, "开发修改单领料数据");
}
/**
* 新增开发修改单领料
*/

137
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ExportDevelopModifyorderPickingVo.java

@ -0,0 +1,137 @@
package com.ruoyi.erp.domain.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
/**
* 开发修改单领料导出明细
* */
@Data
public class ExportDevelopModifyorderPickingVo {
/** 开发修改单领料单号 */
@Excel(name = "开发修改单领料单号")
private String pickingOrderCode;
/** 开发修改单单号 */
@Excel(name = "开发修改单单号")
private String developOderCode;
/** 关联生产单号 */
@Excel(name = "关联生产单号")
private String makeNo;
/** 领料状态(0待领料、1部分领料、2全部领料) */
@Excel(name = "领料状态(0待领料、1部分领料、2全部领料)")
private String pickingStatus;
/** 审核状态(0待审核、1审核通过、2审核拒绝) */
@Excel(name = "审核状态",dictType = "auditStatus")
private String auditStatus;
/** 领料订单类型(0生产订单、1销售订单、2开发修改单) */
@Excel(name = "领料订单类型",dictType = "picking_order_type")
private String pickingOrderType;
/** 物料数合计 */
@Excel(name = "物料数合计")
private Integer materialSum;
/** 数量合计 */
@Excel(name = "数量合计")
private Integer enterpriseSum;
/** 领料员 */
@Excel(name = "领料员")
private String pickUser;
/** 业务员 */
@Excel(name = "业务员")
private String salesUser;
/** 料号 */
@Excel(name = "料号")
private String materialNo;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 物料型号 */
@Excel(name = "物料型号")
private String materialModel;
/** 物料规格 */
@Excel(name = "物料规格")
private String materialSpecification;
/** 物料单位 */
@Excel(name = "物料单位")
private String materialUnit;
/** 物料品牌 */
@Excel(name = "物料品牌")
private String materialBrand;
/** 物料描述 */
@Excel(name = "物料描述")
private String materialDescribe;
/** 加工方式 */
@Excel(name = "加工方式",dictType = "processMethod")
private String materialProcessMethod;
/** 客户期望交付时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "客户期望交付时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date deliveryTime;
/** 订单数量 */
@Excel(name = "订单数量")
private Integer materialNum;
/** 用量 */
@Excel(name = "用量")
private Integer useNum;
/** 损耗率 */
@Excel(name = "损耗率")
private String lossRate;
/** 领料数量 */
@Excel(name = "领料数量")
private Integer pickNum;
/** 已领料数量 */
@Excel(name = "已领料数量")
private Integer hasPickNum;
/** 订单用量(用量*订单数量) */
@Excel(name = "订单用量")
private Integer orderUseNum;
/** 可用库存数 */
@Excel(name = "可用库存数")
private Integer availableStockNum;
/** BOM号 */
@Excel(name = "BOM号")
private String bomNo;
/** 层级 */
@Excel(name = "层级")
private Integer level;
/** 排序 */
@Excel(name = "排序")
private Integer sortNo;
}

5
ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderPickingDetailMapper.java

@ -85,4 +85,9 @@ public interface ErpDevelopModifyorderPickingDetailMapper
* 通过领料单号查询领料单详情集合
* */
List<ErpDevelopModifyorderPickingDetail> selectDevelopModifyDetailMaterialByPickingCode(String pickingOrderCode);
/**
* 通过领料单号集合查询领料单详情集合
* */
List<ErpDevelopModifyorderPickingDetail> selectPickingDetailListByCodes(List<String> collectPickingOrderCodes);
}

5
ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderPickingMapper.java

@ -81,4 +81,9 @@ public interface ErpDevelopModifyorderPickingMapper
* 根据开发修改单号查询开发修改领料数据
* */
ErpDevelopModifyorderPicking selectErpDevelopModifyorderPickingByDevelopCode(String developOderCode);
/**
* 根据开发修改单号查询开发修改领料数据
* */
List<ErpDevelopModifyorderPickingVo> selectModifyorderPickingListByCodes(String[] pickingOrderCodes);
}

10
ruoyi-admin/src/main/java/com/ruoyi/erp/service/IErpDevelopModifyorderPickingService.java

@ -5,6 +5,7 @@ import java.util.List;
import com.ruoyi.erp.domain.ErpDevelopModifyorder;
import com.ruoyi.erp.domain.ErpDevelopModifyorderPicking;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderPickingVo;
import com.ruoyi.erp.domain.vo.ExportDevelopModifyorderPickingVo;
import org.activiti.engine.runtime.ProcessInstance;
/**
@ -83,4 +84,13 @@ public interface IErpDevelopModifyorderPickingService
* */
ProcessInstance submitApply(ErpDevelopModifyorder erpDevelopModifyorder);
/**
* 导出开发修改领料单明细
* */
List<ExportDevelopModifyorderPickingVo> exportDevelopModifyorderPickingList(List<ErpDevelopModifyorderPickingVo> list);
/**
* 根据领料单号数组查询领料单明细
* */
List<ErpDevelopModifyorderPickingVo> selectModifyorderPickingListByCodes(String[] pickingOrderCodes);
}

77
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderPickingServiceImpl.java

@ -1,6 +1,7 @@
package com.ruoyi.erp.service.impl;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import com.github.pagehelper.Page;
@ -14,6 +15,7 @@ import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.erp.domain.*;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderPickingVo;
import com.ruoyi.erp.domain.vo.ExportDevelopModifyorderPickingVo;
import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper;
import com.ruoyi.erp.mapper.ErpDevelopModifyorderPickingDetailMapper;
import com.ruoyi.erp.service.IErpBomService;
@ -88,6 +90,15 @@ public class ErpDevelopModifyorderPickingServiceImpl implements IErpDevelopModif
return erpDevelopModifyorderPickingMapper.selectErpDevelopModifyorderPickingById(developOrderPickingId);
}
/**
* 根据领料单号数组查询领料单明细
* */
@Override
public List<ErpDevelopModifyorderPickingVo> selectModifyorderPickingListByCodes(String[] pickingOrderCodes) {
List<ErpDevelopModifyorderPickingVo> list = erpDevelopModifyorderPickingMapper.selectModifyorderPickingListByCodes(pickingOrderCodes);
return list;
}
/**
* 查询开发修改单领料列表
*
@ -419,7 +430,71 @@ public class ErpDevelopModifyorderPickingServiceImpl implements IErpDevelopModif
/**
* 创建售后单审核流程
* 导出开发修改领料单明细
* */
@Override
public List<ExportDevelopModifyorderPickingVo> exportDevelopModifyorderPickingList(List<ErpDevelopModifyorderPickingVo> list) {
// 获取所有的开发修改单领料单号
List<String> collectPickingOrderCodes = list.stream().map(ErpDevelopModifyorderPickingVo::getPickingOrderCode).collect(Collectors.toList());
// 根据开发修改单领料单号查询对应的详情列表
List<ErpDevelopModifyorderPickingDetail> pickingDetailList = pickingDetailMapper.selectPickingDetailListByCodes(collectPickingOrderCodes);
// 创建一个开发修改订单领料VO的Map,键为开发修改单领料单号
Map<String, ErpDevelopModifyorderPickingVo> erpDevelopModifyorderPickingVoMap = list.stream()
.collect(Collectors.toMap(ErpDevelopModifyorderPickingVo::getPickingOrderCode, Function.identity()));
// 初始化导出列表
List<ExportDevelopModifyorderPickingVo> exportDevelopModifyorderPickingVos = new ArrayList<>();
for (ErpDevelopModifyorderPickingDetail detail : pickingDetailList) {
ExportDevelopModifyorderPickingVo exportVo = new ExportDevelopModifyorderPickingVo();
// 从ErpDevelopModifyorderPickingDetail填充数据
exportVo.setMaterialNo(detail.getMaterialNo());
exportVo.setMaterialName(detail.getMaterialName());
exportVo.setMaterialModel(detail.getMaterialModel());
exportVo.setMaterialSpecification(detail.getMaterialSpecification());
exportVo.setMaterialUnit(detail.getMaterialUnit());
exportVo.setMaterialBrand(detail.getMaterialBrand());
exportVo.setMaterialDescribe(detail.getMaterialDescribe());
exportVo.setMaterialProcessMethod(detail.getMaterialProcessMethod());
exportVo.setDeliveryTime(detail.getDeliveryTime());
exportVo.setMaterialNum(detail.getMaterialNum());
exportVo.setUseNum(detail.getUseNum());
exportVo.setLossRate(detail.getLossRate());
exportVo.setPickNum(detail.getPickNum());
exportVo.setHasPickNum(detail.getHasPickNum());
exportVo.setOrderUseNum(detail.getOrderUseNum());
exportVo.setAvailableStockNum(detail.getAvailableStockNum());
exportVo.setBomNo(detail.getBomNo());
exportVo.setLevel(detail.getLevel());
exportVo.setSortNo(detail.getSortNo());
// 从ErpDevelopModifyorderPicking填充数据,通过开发修改单领料单号进行关联
ErpDevelopModifyorderPickingVo pickingVo = erpDevelopModifyorderPickingVoMap.get(detail.getPickingOrderCode());
if (pickingVo != null) {
exportVo.setPickingOrderCode(pickingVo.getPickingOrderCode());
exportVo.setDevelopOderCode(pickingVo.getDevelopOderCode());
exportVo.setMakeNo(pickingVo.getMakeNo());
exportVo.setPickingStatus(pickingVo.getPickingStatus());
exportVo.setAuditStatus(pickingVo.getAuditStatus());
exportVo.setPickingOrderType(pickingVo.getPickingOrderType());
exportVo.setMaterialSum(pickingVo.getMaterialSum());
exportVo.setEnterpriseSum(pickingVo.getEnterpriseSum());
exportVo.setPickUser(pickingVo.getPickUser());
exportVo.setSalesUser(pickingVo.getSalesUser());
}
// 添加到结果列表
exportDevelopModifyorderPickingVos.add(exportVo);
}
return exportDevelopModifyorderPickingVos;
}
/**
* 创建领料单审核流程
* @param applyTitle
* @param instanceType
* @param user

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

@ -59,6 +59,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where develop_oder_code = #{developOderCode}
</select>
<select id="selectModifyorderPickingListByCodes" parameterType="String" resultMap="ErpDevelopModifyorderPickingResult">
<include refid="selectErpDevelopModifyorderPickingVo"/>
where picking_order_code in
<foreach item="pickingOrderCode" collection="array" open="(" separator="," close=")">
#{pickingOrderCode}
</foreach>
</select>
<insert id="insertErpDevelopModifyorderPicking" parameterType="ErpDevelopModifyorderPickingVo" useGeneratedKeys="true" keyProperty="developOrderPickingId">
insert into erp_develop_modifyorder_picking
<trim prefix="(" suffix=")" suffixOverrides=",">

57
ruoyi-admin/src/main/resources/templates/erp/developModifyorderPicking/developModifyorderPicking.html

@ -45,7 +45,7 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.table.exportExcel()" shiro:hasPermission="erp:developModifyorderPicking:export">
<a class="btn btn-success" onclick="exportExcel()" shiro:hasPermission="erp:developModifyorderPicking:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
@ -257,6 +257,61 @@
var url = prefix + '/detail/' +developOrderPickingId;
$.modal.open("详情",url);
}
//开发修改单导出
function exportExcel(formId) {
// $.table.set();
var pickingOrderCodeData = [];
var selections = $("#bootstrap-table").bootstrapTable("getSelections");
if(selections.length === 0){
$.modal.confirm("确定导出所有开发修改单领料吗?", function() {
var currentId = $.common.isEmpty(formId) ? $('form').attr('id') : formId;
var params = $("#bootstrap-table").bootstrapTable('getOptions');
var dataParam = $("#" + currentId).serializeArray();
dataParam.push({ "name": "orderByColumn", "value": params.sortName });
dataParam.push({ "name": "isAsc", "value": params.sortOrder });
$.modal.loading("正在导出数据,请稍后...");
$.post(prefix + '/exportAll', dataParam, function(result) {
if (result.code == web_status.SUCCESS) {
window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
} else if (result.code == web_status.WARNING) {
$.modal.alertWarning(result.msg)
} else {
$.modal.alertError(result.msg);
}
$.modal.closeLoading();
});
});
}else {
$.modal.confirm("确定导出选中的所有开发修改单领料吗?", function () {
//·拼接单号
for(let i=0;i<selections.length;i++){
pickingOrderCodeData.push(selections[i].pickingOrderCode);
}
var pickingOrderCodes = JSON.stringify(pickingOrderCodeData);
// console.log(bomNos);
$.modal.loading("正在导出数据,请稍后...");
var config = {
url: prefix + '/export',
type: "post",
dataType: "json",
contentType: "application/json;charset=utf-8",
data: pickingOrderCodes,
success: function(result) {
window.location.href = ctx + "common/download?fileName=" + encodeURI(result.msg) + "&delete=" + true;
$.modal.alertSuccess("导出成功!")
$.modal.closeLoading();
},
error: function (result){
$.modal.alertError(result.msg);
}
};
$.ajax(config)
});
}
};
</script>
</body>
</html>
Loading…
Cancel
Save