Browse Source

[fix] 工程管理

新增开发修改单新增页面前端提交方法
修改开发修改端新增页面前端列表展示,加上加工方式和物料类型字典
修改开发修改单的前端列表页面加上加工方式和物料类型字典
修改开发修改单物料选择页面加上加工方式和物料类型字典
修改开发修改单采购物料选择页面加上加工方式和物料类型字典
新增开发修改单物料Vo类
开发修改单实体类新增开发修改单物料Vo类集合
修改开发修改单后端接口方法:新增物料数据的插入和开发修改单详情数据的插入
dev
liuxiaoxu 7 months ago
parent
commit
f3ecd538b6
  1. 2
      ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java
  2. 14
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/ErpDevelopModifyorder.java
  3. 40
      ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderMaterialVo.java
  4. 29
      ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java
  5. 99
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html
  6. 20
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html
  7. 9
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrderMaterialSelect.html
  8. 9
      ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/purchaseOrderMaterialSelect.html

2
ruoyi-admin/src/main/java/com/ruoyi/erp/controller/ErpDevelopModifyorderController.java

@ -115,7 +115,7 @@ public class ErpDevelopModifyorderController extends BaseController
@Log(title = "开发修改单", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(ErpDevelopModifyorder erpDevelopModifyorder)
public AjaxResult addSave(@RequestBody ErpDevelopModifyorder erpDevelopModifyorder)
{
return toAjax(erpDevelopModifyorderService.insertErpDevelopModifyorder(erpDevelopModifyorder));
}

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

@ -1,6 +1,7 @@
package com.ruoyi.erp.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
@ -95,6 +96,7 @@ public class ErpDevelopModifyorder extends BaseEntity
private String userName;
/** 修改完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
private Date updateFinishTime;
/** 修改前说明 */
@ -140,6 +142,9 @@ public class ErpDevelopModifyorder extends BaseEntity
/** 开发修改单详情 */
private List<ErpDevelopModifyorderDetail> developModifyorderDetailList;
/** 开发修改单物料Vo */
private List<ErpDevelopModifyorderMaterialVo> developModifyorderMaterialVoList;
public String getMakeNo() {
return makeNo;
}
@ -409,6 +414,14 @@ public class ErpDevelopModifyorder extends BaseEntity
this.developModifyorderDetailList = developModifyorderDetailList;
}
public List<ErpDevelopModifyorderMaterialVo> getDevelopModifyorderMaterialVoList() {
return developModifyorderMaterialVoList;
}
public void setDevelopModifyorderMaterialVoList(List<ErpDevelopModifyorderMaterialVo> developModifyorderMaterialVoList) {
this.developModifyorderMaterialVoList = developModifyorderMaterialVoList;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
@ -448,6 +461,7 @@ public class ErpDevelopModifyorder extends BaseEntity
.append("cancelInstanceId", getCancelInstanceId())
.append("restoreInstanceId", getRestoreInstanceId())
.append("developModifyorderDetailList",getDevelopModifyorderDetailList())
.append("developModifyorderMaterialVoList",getDevelopModifyorderMaterialVoList())
.toString();
}
}

40
ruoyi-admin/src/main/java/com/ruoyi/erp/domain/vo/ErpDevelopModifyorderMaterialVo.java

@ -0,0 +1,40 @@
package com.ruoyi.erp.domain.vo;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
@Data
//开发修改单物料数据Vo类
public class ErpDevelopModifyorderMaterialVo{
/** 料号 */
@Excel(name = "料号")
private String materialNo;
/** 物料名称 */
@Excel(name = "物料名称")
private String materialName;
/** 物料类型 */
@Excel(name = "物料类型")
private String materialType;
/** 图片 */
@Excel(name = "图片")
private String materialPhotoUrl;
/** 单位 */
@Excel(name = "单位")
private String materialUnit;
/** 品牌 */
@Excel(name = "品牌")
private String materialBrand;
/** 描述 */
@Excel(name = "描述")
private String materialDescribe;
/** 加工方式 */
@Excel(name = "加工方式")
private String materialProcessMethod;
}

29
ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpDevelopModifyorderServiceImpl.java

@ -1,8 +1,13 @@
package com.ruoyi.erp.service.impl;
import java.util.List;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.erp.domain.ErpDevelopModifyorderDetail;
import com.ruoyi.erp.domain.vo.ErpDevelopModifyorderMaterialVo;
import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.erp.mapper.ErpDevelopModifyorderMapper;
@ -22,6 +27,12 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS
@Autowired
private ErpDevelopModifyorderMapper erpDevelopModifyorderMapper;
@Autowired
private ErpDevelopModifyorderDetailMapper developModifyorderDetailMapper;
@Autowired
private RedisCache redisCache;
/**
* 查询开发修改单
*
@ -58,6 +69,24 @@ public class ErpDevelopModifyorderServiceImpl implements IErpDevelopModifyorderS
String loginName = ShiroUtils.getLoginName();
erpDevelopModifyorder.setCreateBy(loginName);
erpDevelopModifyorder.setCreateTime(DateUtils.getNowDate());
String developOderCode = redisCache.generateBillNo("KF");
erpDevelopModifyorder.setDevelopOderCode(developOderCode);
ErpDevelopModifyorderMaterialVo erpDevelopModifyorderMaterialVo = erpDevelopModifyorder.getDevelopModifyorderMaterialVoList().get(0);
erpDevelopModifyorder.setMaterialNo(erpDevelopModifyorderMaterialVo.getMaterialNo());
erpDevelopModifyorder.setMaterialName(erpDevelopModifyorderMaterialVo.getMaterialName());
erpDevelopModifyorder.setMaterialBrand(erpDevelopModifyorderMaterialVo.getMaterialBrand());
erpDevelopModifyorder.setMaterialType(erpDevelopModifyorderMaterialVo.getMaterialType());
erpDevelopModifyorder.setMaterialProcessMethod(erpDevelopModifyorderMaterialVo.getMaterialProcessMethod());
erpDevelopModifyorder.setMaterialUnit(erpDevelopModifyorderMaterialVo.getMaterialUnit());
//添加采购物料相关数据
ErpDevelopModifyorderDetail erpDevelopModifyorderDetail = erpDevelopModifyorder.getDevelopModifyorderDetailList().get(0);
erpDevelopModifyorderDetail.setDevelopOderCode(developOderCode);
developModifyorderDetailMapper.insertErpDevelopModifyorderDetail(erpDevelopModifyorderDetail);
return erpDevelopModifyorderMapper.insertErpDevelopModifyorder(erpDevelopModifyorder);
}

99
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/add.html

@ -39,16 +39,16 @@
<table id="bootstrap-table-developModify"></table>
</div>
</div>
<div class="form-group my-5"> <!-- 添加my-4类 -->
<div class="form-group">
<label class="col-sm-4 control-label is-required">修改前说明:</label>
<div class="col-sm-6">
<textarea name="beforeUpdateRemark" class="form-control" required>[[*{beforeUpdateRemark}]]</textarea>
<textarea id="beforeUpdateRemark" name="beforeUpdateRemark" class="form-control" required></textarea>
</div>
</div>
<div class="form-group my-5"> <!-- 添加my-4类 -->
<div class="form-group">
<label class="col-sm-4 control-label is-required">修改后说明:</label>
<div class="col-sm-6">
<textarea name="afterUpdateRemark" class="form-control" required>[[*{afterUpdateRemark}]]</textarea>
<textarea id="afterUpdateRemark" name="afterUpdateRemark" class="form-control" required></textarea>
</div>
</div>
</div>
@ -85,6 +85,7 @@
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: bootstrap-table-editable-js" />
<th:block th:include="include :: datetimepicker-js" />
<th:block th:include="include :: select2-js" />
<script th:inline="javascript">
var prefix = ctx + "erp/developModifyOrder";
@ -99,6 +100,83 @@
var userName = [[${@permission.getPrincipalProperty('userName')}]];
$("#form-developModifyOrder-add").validate({ focusCleanup: true});
$("input[name='updateFinishTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
// 新增提交
function submitHandler() {
// 获取表单数据
const developModifyOrderData = $("#form-developModifyOrder-add").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
var beforeUpdateRemark = $("#beforeUpdateRemark").val();
var afterUpdateRemark = $("#afterUpdateRemark").val();
// 开发修改物料
var developModifyTable = $('#bootstrap-table-developModify').bootstrapTable('getData');
// 采购修改物料
var purchaseTable = $('#bootstrap-table-purchase').bootstrapTable('getData');
// 将表数据转换成与developModifyOrderData格式一致的数组
var developModifyMaterialDataList = developModifyTable.map(function(item) {
// 根据实际字段名调整
return {
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
// ...其他字段
};
});
// 将表数据转换成与developModifyOrderData格式一致的数组
var purchaseMaterialDataList = purchaseTable.map(function(item) {
// 根据实际字段名调整
return {
"materialNo": item.materialNo,
"materialName": item.materialName,
"materialType": item.materialType,
"materialPhotourl": item.materialPhotourl,
"materialDescribe": item.materialDescribe,
"materialBrand": item.materialBrand,
"materialUnit": item.materialUnit,
"materialProcessMethod": item.materialProcessMethod,
"bomId":item.bomId,
"materialNum":item.materialNum
// ...其他字段
};
});
const combinedData = Object.assign({}, developModifyOrderData, {
developModifyorderMaterialVoList: developModifyMaterialDataList,
developModifyorderDetailList:purchaseMaterialDataList,
beforeUpdateRemark:beforeUpdateRemark,
afterUpdateRemark:afterUpdateRemark
});
// 合并表单数据和表格数据
console.log(combinedData)
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
// 发送 AJAX 请求到后端接口
$.operate.saveJson(prefix + "/add", jsonData);
}
/*加载所有的关联生产单号*/
loadAllMakeNos();
@ -174,6 +252,9 @@
{
title: '物料类型',
field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{
title: '品牌',
@ -187,6 +268,15 @@
title: '单位',
field: 'materialUnit',
},
{
field: 'materialProcessMethod',
align: 'center',
title: '物料加工方式',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{
title: '操作',
align: 'center',
@ -233,6 +323,7 @@
materialDescribe: rowData.describe,
materialBrand: rowData.brand,
materialUnit: rowData.unit,
materialProcessMethod: rowData.processMethod,
}
})
layer.close(index);

20
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrder.html

@ -33,7 +33,6 @@
<label>工程员:</label>
<select name="userId">
<option value="">所有</option>
<option value="-1">代码生成请选择字典属性</option>
</select>
</li>
<li>
@ -73,12 +72,17 @@
var removeFlag = [[${@permission.hasPermi('erp:developModifyOrder:remove')}]];
var cancelFlag = [[${@permission.hasPermi('erp:developModifyOrder:cancel')}]];
var restoreFlag = [[${@permission.hasPermi('erp:developModifyOrder:restore')}]];
var purchaseStorageStatusDatas = [[${@dict.getType('eceiptStatus')}]];
var qualityStatusDatas = [[${@dict.getType('qualityStatus')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var completeStatusDatas = [[${@dict.getType('completeStatus')}]];
var finshStatusDatas = [[${@dict.getType('finshStatus')}]];
var useStatusDatas = [[${@dict.getType('useStatus')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var prefix = ctx + "erp/developModifyOrder";
$(function() {
var options = {
@ -90,7 +94,6 @@
cancelUrl: prefix + "/cancel/{id}",
restoreUrl: prefix + "/restore/{id}",
exportUrl: prefix + "/export",
pageSize: 10,
modalName: "开发修改单",
columns: [
{checkbox: true},
@ -125,11 +128,20 @@
{title: '料号',field: 'materialNo',},
{title: '图片',field: 'materialPhotoUrl',},
{title: '物料名称',field: 'materialName',},
{title: '物料类型',field: 'materialType',},
{title: '物料类型',field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{title: '单位',field: 'materialUnit',},
{title: '品牌',field: 'materialBrand',},
{title: '描述',field: 'materialDescribe',},
{title: '半成品类型',field: 'materialProcessMode',},
{title: '加工方式',
field: 'materialProcessMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
{title: '录入时间',field: 'createTime',},
{title: '更新人',field: 'updateBy',},
{title: '上次更新时间',field: 'updateTime',},

9
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/developModifyOrderMaterialSelect.html

@ -13,6 +13,9 @@
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var prefix = ctx + "erp/developModifyOrder";
// 从后端拿到传入的makeNo
var makeNo = /*[[${makeNo}]]*/ '';
@ -45,6 +48,9 @@
{
title: '类型',
field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
},
{
title: '描述',
@ -61,6 +67,9 @@
{
title: '加工方式',
field: 'processMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
},
]
};

9
ruoyi-admin/src/main/resources/templates/erp/developModifyOrder/purchaseOrderMaterialSelect.html

@ -34,7 +34,7 @@
var prefix = ctx + "erp/developModifyOrder";
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var processMethodDatas = [[${@dict.getType('processMethod')}]];
// 从后端拿到传入的makeNo
var makeNo = /*[[${makeNo}]]*/ '';
$(function() {
@ -85,6 +85,13 @@
title: '单位',
field: 'unit',
},
{
title: '加工方式',
field: 'processMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
}
]
};
$.table.init(options);

Loading…
Cancel
Save