Browse Source

[feat]

委外加工 委外订单
新增委外订单页面作废恢复按钮,修改按钮显示逻辑,修改表格行显示样式;
新增委外订单mapper、service及其接口中作废恢复方法;
新增委外订单后端作废、恢复接口;
修改委外订单、委外领料、委外报价列表查询方法,新增按审核状态不同设置当前状态方法;
修改委外领料、委外报价页面显示效果;
dev
王晓迪 7 months ago
parent
commit
af47a5cf89
  1. 33
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java
  2. 20
      ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java
  3. 14
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java
  4. 31
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java
  5. 7
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java
  6. 7
      ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml
  7. 42
      ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html
  8. 40
      ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html
  9. 39
      ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html

33
ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java

@ -159,6 +159,8 @@ public class OutsourceOrderController extends BaseController
public AjaxResult addSave(@RequestBody OutsourceOrderVO outsourceOrderVO)
{
// System.out.println(outsourceOrderVO);
// 使用状态-否
outsourceOrderVO.setUseStatus("0");
outsourceOrderVO.setAuditStatus("0");
outsourceOrderService.submitApply(outsourceOrderVO);
return AjaxResult.success();
@ -219,22 +221,24 @@ public class OutsourceOrderController extends BaseController
// 提交
if("submit".equals(instanceType)){
// 使用状态-是
// erpBomVo.setUseStatus("1");
outsourceOrderVO.setUseStatus("1");
}
// 作废
else if("cancel".equals(instanceType)){
// 使用状态-已作废
// erpBomVo.setUseStatus("2");
outsourceOrderVO.setUseStatus("2");
}
// 恢复
else if("restore".equals(instanceType)){
// 使用状态-是
// erpBomVo.setUseStatus("1");
outsourceOrderVO.setUseStatus("1");
}
}
outsourceOrderService.updateOutsourceOrder(outsourceOrderVO);
// 驳回申请后继续申请,可能修改表单
if (saveEntityBoolean) {
outsourceOrderVO.setAuditStatus("0");
outsourceOrderVO.setUseStatus("0");
outsourceOrderService.updateOutsourceOrder(outsourceOrderVO);
}
return success("任务已完成");
@ -274,4 +278,27 @@ public class OutsourceOrderController extends BaseController
{
return toAjax(outsourceOrderService.deleteOutsourceOrderByOutsourceOrderIds(ids));
}
/**
* 作废委外订单
*/
@RequiresPermissions("system:outsourceOrder:cancel")
@Log(title = "委外订单", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(outsourceOrderService.cancelOutsourceOrderById(id));
}
/**
* 恢复委外订单
*/
@RequiresPermissions("system:outsourceOrder:restore")
@Log(title = "委外订单", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(outsourceOrderService.restoreOutsourceOrderIdById(id));
}
}

20
ruoyi-admin/src/main/java/com/ruoyi/system/mapper/OutsourceOrderMapper.java

@ -35,7 +35,7 @@ public interface OutsourceOrderMapper
/**
* 查询委外订单列表
*
* @param outsourceOrder 委外订单
* @param outsourceOrderVO 委外订单
* @return 委外订单集合
*/
public List<OutsourceOrderVO> selectOutsourceOrderList(OutsourceOrderVO outsourceOrderVO);
@ -50,7 +50,7 @@ public interface OutsourceOrderMapper
/**
* 新增委外订单
*
* @param outsourceOrder 委外订单
* @param outsourceOrderVO 委外订单
* @return 结果
*/
public int insertOutsourceOrder(OutsourceOrderVO outsourceOrderVO);
@ -109,4 +109,20 @@ public interface OutsourceOrderMapper
* @return 结果
*/
public int deleteOutsourceOrderDetailByOutsourceOrderNo(String outsourceOrderNo);
/**
* 作废委外订单
*
* @param outsourceOrderId 委外订单ID
* @return 结果
*/
public int cancelOutsourceOrderById(Long outsourceOrderId);
/**
* 恢复委外订单
*
* @param outsourceOrderId 委外订单ID
* @return 结果
*/
public int restoreOutsourceOrderById(Long outsourceOrderId);
}

14
ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java

@ -74,4 +74,18 @@ public interface IOutsourceOrderService
* 审批流程启动
* */
ProcessInstance submitApply(OutsourceOrderVO outsourceOrderVO);
/**
* 作废售后单
* @param outsourceOrderId 售后单ID
* @return
*/
int cancelOutsourceOrderById(Long outsourceOrderId);
/**
* 恢复售后单
* @param outsourceOrderId 售后单ID
* @return
*/
int restoreOutsourceOrderIdById(Long outsourceOrderId);
}

31
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java

@ -139,6 +139,13 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
} else {
tempOutsourceOrderVO.setTaskName("未启动");
}
if(tempOutsourceOrderVO.getAuditStatus()!=null){
if(tempOutsourceOrderVO.getAuditStatus().equals("1")){
tempOutsourceOrderVO.setTaskName("审核通过");
}else if(tempOutsourceOrderVO.getAuditStatus().equals("2")){
tempOutsourceOrderVO.setTaskName("审核拒绝");
}
}
returnList.add(tempOutsourceOrderVO);
}
returnList.setTotal(org.springframework.util.CollectionUtils.isEmpty(list) ? 0 : list.getTotal());
@ -159,6 +166,7 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
{
String loginName = ShiroUtils.getLoginName();
outsourceOrderVO.setCreateBy(loginName);
outsourceOrderVO.setOutsourceStaff(loginName);
outsourceOrderVO.setCreateTime(DateUtils.getNowDate());
outsourceOrderVO.setOutsourceOrderNo(redisCache.generateBillNo("WW"));
outsourceOrderVO.setClosedStatus("0");
@ -198,6 +206,29 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
return processInstance;
}
/**
* 作废售后单
*
* @param outsourceOrderId 售后单ID
* @return 结果
*/
@Override
public int cancelOutsourceOrderById(Long outsourceOrderId)
{
return outsourceOrderMapper.cancelOutsourceOrderById(outsourceOrderId);
}
/**
* 恢复售后单信息
*
* @param outsourceOrderId 售后单ID
* @return 结果
*/
@Override
public int restoreOutsourceOrderIdById(Long outsourceOrderId)
{
return outsourceOrderMapper.restoreOutsourceOrderById(outsourceOrderId);
}
/**
* 创建委外报价审核流程
* @param applyTitle

7
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceRequisitionServiceImpl.java

@ -135,6 +135,13 @@ public class OutsourceRequisitionServiceImpl implements IOutsourceRequisitionSer
} else {
tempOutsourceRequisitionVO.setTaskName("未启动");
}
if(tempOutsourceRequisitionVO.getAuditStatus()!=null){
if(tempOutsourceRequisitionVO.getAuditStatus().equals("1")){
tempOutsourceRequisitionVO.setTaskName("审核通过");
}else if(tempOutsourceRequisitionVO.getAuditStatus().equals("2")){
tempOutsourceRequisitionVO.setTaskName("审核拒绝");
}
}
returnList.add(tempOutsourceRequisitionVO);
}
returnList.setTotal(org.springframework.util.CollectionUtils.isEmpty(list) ? 0 : list.getTotal());

7
ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml

@ -276,4 +276,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</insert>
<update id="cancelOutsourceOrderById" parameterType="Long">
update outsource_order set use_status = '2' where id = #{id}
</update>
<update id="restoreOutsourceOrderById" parameterType="Long">
update outsource_order set use_status = '1' where id = #{id}
</update>
</mapper>

42
ruoyi-admin/src/main/resources/templates/system/outsource_order/outsource_order.html

@ -63,10 +63,10 @@
var detailFlag = [[${@permission.hasPermi('system:outsource_order:detail')}]];
var auditStatusDatas = [[${@dict.getType('auditStatus')}]];
var useStatusDatas = [[${@dict.getType('use_status')}]];
var useStatusDatas = [[${@dict.getType('useStatus')}]];
var receiveStatusDatas = [[${@dict.getType('receiveStatus')}]];
var remitStatusDatas = [[${@dict.getType('remitStatus')}]];
var closedStatusDatas = [[${@dict.getType('closedStatus')}]];
var closedStatusDatas = [[${@dict.getType('sys_pay_close')}]];
var prefix = ctx + "system/outsource_order";
@ -156,15 +156,22 @@
},
{
field: 'taskName',
title: '当前任务名称',
title: '当前状态',
align: 'center',
formatter: function(value, row, index) {
formatter: function(value, row, index) {
if(row.auditStatus!="1"&&value != "未启动"){
return '<span class="badge badge-danger">' + value + '</span>';
}
if(value === "未启动"){
return '<span class="badge badge-primary">' + value + '</span>';
}
return '<span class="badge badge-primary">' + value + '</span>';
}
},
{
field: 'auditStatus',
title: '审核状态',
visible: false,
formatter: function(value, row, index) {
return $.table.selectDictLabel(auditStatusDatas, value);
}
@ -243,11 +250,22 @@
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceOrderId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// 审核状态-审核通过
if(row.auditStatus=="1"){
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceOrderId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// 审核状态-审核通过 使用状态-是 未发起作废流程
if(row.auditStatus=="1" && row.useStatus=="1" && !row.cancelInstanceId){
// 作废
actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i> 作废</a>');
// 编辑
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceOrderId + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
actions.push('<a class="btn btn-success btn-xs" onclick="addRequisition(\''+row.outsourceOrderNo+'\')"><i class="fa fa-edit"></i>委外领料</a> ');
actions.push('<a class="btn btn-warning btn-xs" onclick="addStorage(\''+row.outsourceOrderNo+'\')"><i class="fa fa-edit"></i>入库通知</a> ');
}else{
actions.push('<a class="btn btn-default btn-xs" disabled href="javascript:void(0)"><i class="fa fa-edit"></i> 编辑</a> ');
}
// 已作废
if(row.useStatus=="2" && !row.restoreInstanceId){
// 恢复
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i> 恢复</a> ');
}
// 有流程实例id
if (row.instanceId) {
@ -267,7 +285,15 @@
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.outsourceOrderId + '\')"><i class="fa fa-detail"></i>详情</a>');
return actions.join('');
}
}]
}],
rowStyle: function (row, index) {
if (row.auditStatus=="0") {
// 如果审核状态为待审核,则设置为红色
return {css:{"color":"red"}};
}
// 否则使用默认样式
return {};
}
};
$.table.init(options);
});

40
ruoyi-admin/src/main/resources/templates/system/outsource_quote/outsource_quote.html

@ -187,6 +187,12 @@
title: '当前状态',
align: 'center',
formatter: function(value, row, index) {
if(row.auditStatus!="1"&&value != "未启动"){
return '<span class="badge badge-danger">' + value + '</span>';
}
if(value === "未启动"){
return '<span class="badge badge-primary">' + value + '</span>';
}
return '<span class="badge badge-primary">' + value + '</span>';
}
},
@ -208,18 +214,20 @@
align: 'center',
formatter: function(value, row, index) {
var actions = [];
// 审核状态-审核通过
// if(row.auditStatus=="1"){
// // 编辑
// // actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
// actions.push('<a class="btn btn-success btn-xs ' + sendOrdersFlag + '" href="javascript:void(0)" onclick="sendOrders(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i>派单</a> ');
// actions.push('<a class="btn btn-success btn-xs ' + uploadReportFlag + '" href="javascript:void(0)" onclick="uploadReport(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i>上传报告</a> ');
// }
// 审核状态-审核拒绝
if(row.auditStatus=="2"){
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// 审核状态-审核通过 使用状态-是 未发起作废流程
if(row.auditStatus=="1"){
// 作废
// actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i> 作废</a>');
// 编辑
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
}else{
actions.push('<a class="btn btn-default btn-xs" disabled href="javascript:void(0)"><i class="fa fa-edit"></i> 编辑</a> ');
}
// 已作废
// if(row.useStatus=="2" && !row.restoreInstanceId){
// // 恢复
// actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.restore(\'' + row.id + '\')"><i class="fa fa-window-restore"></i> 恢复</a> ');
// }
// 有流程实例id
if (row.instanceId) {
// 有待办人展示审批按钮,
@ -238,7 +246,15 @@
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:;" onclick="$.operate.detail(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-search"></i>详情</a> ');
return actions.join('');
}
}]
}],
rowStyle: function (row, index) {
if (row.auditStatus=="0") {
// 如果审核状态为待审核,则设置为红色
return {css:{"color":"red"}};
}
// 否则使用默认样式
return {};
}
};
$.table.init(options);
});

39
ruoyi-admin/src/main/resources/templates/system/outsource_requisition/outsource_requisition.html

@ -72,6 +72,7 @@
{
field: 'auditStatus',
title: '审核状态',
visible: false,
formatter: function(value, row, index) {
return $.table.selectDictLabel(auditStatusDatas, value);
}
@ -135,9 +136,15 @@
},
{
field: 'taskName',
title: '当前任务名称',
title: '当前状态',
align: 'center',
formatter: function(value, row, index) {
formatter: function(value, row, index) {
if(row.auditStatus!="1"&&value != "未启动"){
return '<span class="badge badge-danger">' + value + '</span>';
}
if(value === "未启动"){
return '<span class="badge badge-primary">' + value + '</span>';
}
return '<span class="badge badge-primary">' + value + '</span>';
}
},
@ -183,16 +190,14 @@
align: 'center',
formatter: function(value, row, index) {
var actions = [];
// 审核状态-审核通过
// if(row.auditStatus=="1"){
// // 编辑
// // actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
// actions.push('<a class="btn btn-success btn-xs ' + sendOrdersFlag + '" href="javascript:void(0)" onclick="sendOrders(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i>派单</a> ');
// actions.push('<a class="btn btn-success btn-xs ' + uploadReportFlag + '" href="javascript:void(0)" onclick="uploadReport(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i>上传报告</a> ');
// }
// 审核状态-审核拒绝
if(row.auditStatus=="2"){
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceRequisitionId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
// 审核状态-审核通过 使用状态-是 未发起作废流程
if(row.auditStatus=="1"){
// 作废
// actions.push('<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="$.operate.cancel(\'' + row.id + '\')"><i class="fa fa-remove"></i> 作废</a>');
// 编辑
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceQuoteId + '\')"><i class="fa fa-edit"></i> 编辑</a> ');
}else{
actions.push('<a class="btn btn-default btn-xs" disabled href="javascript:void(0)"><i class="fa fa-edit"></i> 编辑</a> ');
}
// 有流程实例id
if (row.instanceId) {
@ -212,7 +217,15 @@
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.outsourceRequisitionId + '\')"><i class="fa fa-detail"></i>详情</a>');
return actions.join('');
}
}]
}],
rowStyle: function (row, index) {
if (row.auditStatus=="0") {
// 如果审核状态为待审核,则设置为红色
return {css:{"color":"red"}};
}
// 否则使用默认样式
return {};
}
};
$.table.init(options);
});

Loading…
Cancel
Save