Browse Source

[fix]

委外加工 委外订单
修改委外订单实体类、委外订单vo类、详情类;
修改委外订单service、controller、mapper;
修改委外计划实体类、详情类、service;
修改委外报价vo类、委外物料实体类;
dev
王晓迪 4 days ago
parent
commit
61e4dedc25
  1. 46
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceOrderController.java
  2. 9
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java
  3. 24
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrder.java
  4. 102
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrderDetail.java
  5. 25
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java
  6. 19
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java
  7. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceOrderVO.java
  8. 3
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceQuoteVO.java
  9. 25
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceOrderService.java
  10. 144
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceOrderServiceImpl.java
  11. 16
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java
  12. 22
      ruoyi-admin/src/main/resources/mapper/system/OutsourceOrderMapper.xml

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

@ -2,9 +2,12 @@ package com.ruoyi.system.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.erp.domain.ErpMaterial;
import com.ruoyi.process.general.service.IProcessService;
import com.ruoyi.system.domain.OutsourceOrder;
import com.ruoyi.system.domain.OutsourceOrderDetail;
@ -81,13 +84,14 @@ public class OutsourceOrderController extends BaseController
return getDataTable(list);
}
/**
* 表格细节视图
* 委外订单详情
*/
@RequiresPermissions("system:outsource_order:detail")
@GetMapping("/detail/{outsourceOrderId}")
public String detail(@PathVariable("outsourceOrderId") long outsourceOrderId, ModelMap mmap)
{
mmap.put("outsourceOrder", outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId));
OutsourceOrderVO outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId);
mmap.put("outsourceOrder", outsourceOrderVO);
return prefix + "/detail";
}
/**
@ -99,6 +103,9 @@ public class OutsourceOrderController extends BaseController
{
OutsourceOrderVO outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId);
List<OutsourceOrderDetail> list = outsourceOrderVO.getOutsourceOrderDetailList();
Map<Integer, Long> processTypeCounts = list.stream()
.collect(Collectors.groupingBy(OutsourceOrderDetail::getOutsourceProcessType, Collectors.counting()));
return getDataTable(list);
}
/**
@ -122,9 +129,7 @@ public class OutsourceOrderController extends BaseController
public String addOutsourceOrder(@PathVariable("outsourceOrderNos") String outsourceOrderNos, ModelMap mmap)
{
List<OutsourceOrderVO> outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNos);
// System.out.println(outsourceOrderNos);
mmap.put("outsourceOrderList", outsourceOrderVO);
// System.out.println(outsourceOrder);
return prefix + "/addRequisition";
}
/**
@ -135,9 +140,7 @@ public class OutsourceOrderController extends BaseController
public String addOutsourceStorage(@PathVariable("outsourceOrderNo") String outsourceOrderNo, ModelMap mmap)
{
List<OutsourceOrderVO> outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNo);
// System.out.println(outsourceOrderNos);
mmap.put("outsourceOrderList", outsourceOrderVO);
// System.out.println(outsourceOrder);
return prefix + "/addStorage";
}
/**
@ -234,12 +237,12 @@ public class OutsourceOrderController extends BaseController
outsourceOrderVO.setUseStatus("1");
}
}
outsourceOrderService.updateOutsourceOrder(outsourceOrderVO);
outsourceOrderService.updateAuditOutsourceOrder(outsourceOrderVO);
// 驳回申请后继续申请,可能修改表单
if (saveEntityBoolean) {
outsourceOrderVO.setAuditStatus("0");
outsourceOrderVO.setUseStatus("0");
outsourceOrderService.updateOutsourceOrder(outsourceOrderVO);
outsourceOrderService.updateAuditOutsourceOrder(outsourceOrderVO);
}
return success("任务已完成");
}
@ -262,7 +265,7 @@ public class OutsourceOrderController extends BaseController
@Log(title = "委外订单", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(OutsourceOrderVO outsourceOrderVO)
public AjaxResult editSave(@RequestBody OutsourceOrderVO outsourceOrderVO)
{
return toAjax(outsourceOrderService.updateOutsourceOrder(outsourceOrderVO));
}
@ -278,27 +281,38 @@ public class OutsourceOrderController extends BaseController
{
return toAjax(outsourceOrderService.deleteOutsourceOrderByOutsourceOrderIds(ids));
}
/**
* 加载作废委外订单信息弹窗
*/
@GetMapping("/cancel/{id}")
public String cancel(@PathVariable("id") Long id, ModelMap mmap) {
OutsourceOrderVO outsourceOrderVO = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(id);
mmap.put("outsourceOrder", outsourceOrderVO);
return prefix + "/cancel";
}
/**
* 作废委外订单
* 作废委外订单信息
*/
@RequiresPermissions("system:outsourceOrder:cancel")
@RequiresPermissions("system:outsource_order:cancel")
@Log(title = "委外订单", businessType = BusinessType.CANCEL)
@GetMapping( "/cancel/{id}")
@PostMapping( "/cancel")
@ResponseBody
public AjaxResult cancel(@PathVariable("id") Long id){
return toAjax(outsourceOrderService.cancelOutsourceOrderById(id));
public AjaxResult cancel(OutsourceOrderVO outsourceOrderVO){
return toAjax(outsourceOrderService.cancelOutsourceOrderByObject(outsourceOrderVO));
}
/**
* 恢复委外订单
*/
@RequiresPermissions("system:outsourceOrder:restore")
@RequiresPermissions("system:outsource_order:restore")
@Log(title = "委外订单", businessType = BusinessType.RESTORE)
@GetMapping( "/restore/{id}")
@ResponseBody
public AjaxResult restore(@PathVariable("id")Long id)
{
return toAjax(outsourceOrderService.restoreOutsourceOrderIdById(id));
outsourceOrderService.restoreOutsourceOrderById(id);
return AjaxResult.success();
}
}

9
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceMaterial.java

@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.system.domain.Vo.OutsourceProcessVo;
import org.apache.poi.hpsf.Decimal;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@ -20,7 +21,7 @@ public class OutsourceMaterial extends BaseEntity {
/** 委外物料表id */
private Long outsourceMaterialId;
/** 委外物料编号 */
/** 委外物料编号 */
private String materialNo;
/** 物料名称 */
@ -45,7 +46,7 @@ public class OutsourceMaterial extends BaseEntity {
private String processMethod;
/** 计划委外数 */
private int plannedOutsourceAmount;
private BigDecimal plannedOutsourceAmount;
/** 委外工序列表 */
private List<OutsourceProcessVo> outsourceProcessList;
@ -108,11 +109,11 @@ public class OutsourceMaterial extends BaseEntity {
this.processMethod = processMethod;
}
public int getPlannedOutsourceAmount() {
public BigDecimal getPlannedOutsourceAmount() {
return plannedOutsourceAmount;
}
public void setPlannedOutsourceAmount(int plannedOutsourceAmount) {
public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) {
this.plannedOutsourceAmount = plannedOutsourceAmount;
}

24
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrder.java

@ -41,7 +41,7 @@ public class OutsourceOrder extends BaseEntity
/** 委外物料数量合计 */
@Excel(name = "委外物料数量合计")
private Long outsourceMaterialAmount;
private BigDecimal outsourceMaterialAmount;
/** 委外工序种类 */
@Excel(name = "委外工序种类")
@ -85,7 +85,7 @@ public class OutsourceOrder extends BaseEntity
/** 实际委外物料合计 */
@Excel(name = "实际委外物料合计")
private Long actualMaterialAmount;
private BigDecimal actualMaterialAmount;
/** 实际委外工序合计 */
@Excel(name = "实际委外工序合计")
@ -135,6 +135,8 @@ public class OutsourceOrder extends BaseEntity
/** 流程恢复实例ID */
private String restoreInstanceId;
// 作废理由
private String cancelRemark;
/** 委外订单详情信息 */
private List<OutsourceOrderDetail> outsourceOrderDetailList;
@ -272,12 +274,12 @@ public class OutsourceOrder extends BaseEntity
return materialAmount;
}
public void setOutsourceMaterialAmount(Long outsourceMaterialAmount)
public void setOutsourceMaterialAmount(BigDecimal outsourceMaterialAmount)
{
this.outsourceMaterialAmount = outsourceMaterialAmount;
}
public Long getOutsourceMaterialAmount()
public BigDecimal getOutsourceMaterialAmount()
{
return outsourceMaterialAmount;
}
@ -382,12 +384,12 @@ public class OutsourceOrder extends BaseEntity
return auditStatus;
}
public void setActualMaterialAmount(Long actualMaterialAmount)
public void setActualMaterialAmount(BigDecimal actualMaterialAmount)
{
this.actualMaterialAmount = actualMaterialAmount;
}
public Long getActualMaterialAmount()
public BigDecimal getActualMaterialAmount()
{
return actualMaterialAmount;
}
@ -462,6 +464,16 @@ public class OutsourceOrder extends BaseEntity
this.outsourceOrderDetailList = outsourceOrderDetailList;
}
@Override
public String getCancelRemark() {
return cancelRemark;
}
@Override
public void setCancelRemark(String cancelRemark) {
this.cancelRemark = cancelRemark;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

102
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceOrderDetail.java

@ -50,18 +50,16 @@ public class OutsourceOrderDetail extends BaseEntity
/** 交付时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "交付时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date deliveryTime;
private String deliveryTime;
/** 实际委外数 */
@Excel(name = "实际委外数")
private Long actualOutsourceAmount;
private BigDecimal actualOutsourceAmount;
/** 含税委外总价(RMB) */
@Excel(name = "含税委外总价(RMB) ")
@Excel(name = "含税委外单价(RMB) ")
private BigDecimal materialRmb;
/** 不含税委外总价(RMB) */
@Excel(name = "不含税委外总价(RMB)")
@Excel(name = "不含税委外单价(RMB)")
private BigDecimal materialNoRmb;
/** 供应商编号 */
@ -80,7 +78,25 @@ public class OutsourceOrderDetail extends BaseEntity
@Excel(name = "打款状态")
private String remitStatus;
// 关联单号
private String correlationCodes;
OutsourceMaterial outsourcematerial;
/** 含税委外总价(RMB) */
private BigDecimal rmbSum;
/** 不含税委外总价(RMB) */
private BigDecimal noRmbSum;
// 计划委外数
private BigDecimal plannedOutsourceAmount;
// 委外工序种类
private int outsourceProcessType;
// 委外工序数量
private int outsourceProcessAmount;
public void setOutsourceOrderDetailId(Long outsourceOrderDetailId)
{
@ -145,21 +161,23 @@ public class OutsourceOrderDetail extends BaseEntity
{
return singleMaterial;
}
public void setDeliveryTime(Date deliveryTime)
public void setDeliveryTime(String deliveryTime)
{
this.deliveryTime = deliveryTime;
}
public Date getDeliveryTime()
public String getDeliveryTime()
{
return deliveryTime;
}
public void setActualOutsourceAmount(Long actualOutsourceAmount)
public void setActualOutsourceAmount(BigDecimal actualOutsourceAmount)
{
this.actualOutsourceAmount = actualOutsourceAmount;
}
public Long getActualOutsourceAmount()
public BigDecimal getActualOutsourceAmount()
{
return actualOutsourceAmount;
}
@ -218,6 +236,70 @@ public class OutsourceOrderDetail extends BaseEntity
return remitStatus;
}
public int getOutsourceProcessType() {
return outsourceProcessType;
}
public void setOutsourceProcessType(int outsourceProcessType) {
this.outsourceProcessType = outsourceProcessType;
}
public int getOutsourceProcessAmount() {
return outsourceProcessAmount;
}
public void setOutsourceProcessAmount(int outsourceProcessAmount) {
this.outsourceProcessAmount = outsourceProcessAmount;
}
public OutsourceMaterial getOutsourceMaterial() {
return outsourcematerial;
}
public void setOutsourceMaterial(OutsourceMaterial outsourcematerial) {
this.outsourcematerial = outsourcematerial;
}
public OutsourceMaterial getOutsourcematerial() {
return outsourcematerial;
}
public void setOutsourcematerial(OutsourceMaterial outsourcematerial) {
this.outsourcematerial = outsourcematerial;
}
public BigDecimal getRmbSum() {
return rmbSum;
}
public void setRmbSum(BigDecimal rmbSum) {
this.rmbSum = rmbSum;
}
public BigDecimal getNoRmbSum() {
return noRmbSum;
}
public void setNoRmbSum(BigDecimal noRmbSum) {
this.noRmbSum = noRmbSum;
}
public String getCorrelationCodes() {
return correlationCodes;
}
public void setCorrelationCodes(String correlationCodes) {
this.correlationCodes = correlationCodes;
}
public BigDecimal getPlannedOutsourceAmount() {
return plannedOutsourceAmount;
}
public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) {
this.plannedOutsourceAmount = plannedOutsourceAmount;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

25
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlan.java

@ -1,5 +1,6 @@
package com.ruoyi.system.domain;
import java.math.BigDecimal;
import java.util.List;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@ -37,19 +38,19 @@ public class OutsourcePlan extends BaseEntity
/** 物料总计 */
@Excel(name = "物料总计")
private Long materialAmount;
private int materialAmount;
/** 数量总计 */
@Excel(name = "数量总计")
private Long totalAmount;
private BigDecimal totalAmount;
/** 委外工序种类 */
@Excel(name = "委外工序种类")
private Long outsourceProcessType;
private int outsourceProcessType;
/** 委外工序合计 */
@Excel(name = "委外工序合计")
private Long outsourceProcessAmount;
private int outsourceProcessAmount;
/** 来源 */
@Excel(name = "来源")
@ -108,42 +109,42 @@ public class OutsourcePlan extends BaseEntity
return status;
}
public void setMaterialAmount(Long materialAmount)
public void setMaterialAmount(int materialAmount)
{
this.materialAmount = materialAmount;
}
public Long getMaterialAmount()
public int getMaterialAmount()
{
return materialAmount;
}
public void setTotalAmount(Long totalAmount)
public void setTotalAmount(BigDecimal totalAmount)
{
this.totalAmount = totalAmount;
}
public Long getTotalAmount()
public BigDecimal getTotalAmount()
{
return totalAmount;
}
public void setOutsourceProcessType(Long outsourceProcessType)
public void setOutsourceProcessType(int outsourceProcessType)
{
this.outsourceProcessType = outsourceProcessType;
}
public Long getOutsourceProcessType()
public int getOutsourceProcessType()
{
return outsourceProcessType;
}
public void setOutsourceProcessAmount(Long outsourceProcessAmount)
public void setOutsourceProcessAmount(int outsourceProcessAmount)
{
this.outsourceProcessAmount = outsourceProcessAmount;
}
public Long getOutsourceProcessAmount()
public int getOutsourceProcessAmount()
{
return outsourceProcessAmount;
}

19
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourcePlanDetail.java

@ -5,6 +5,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.List;
/**
@ -66,15 +67,15 @@ public class OutsourcePlanDetail extends BaseEntity
/** 计划委外数 */
@Excel(name = "计划委外数")
private Long plannedOutsourceAmount;
private BigDecimal plannedOutsourceAmount;
/** 委外工序种类 */
@Excel(name = "委外工序种类")
private Long outsourceProcessType;
private int outsourceProcessType;
/** 委外工序合计 */
@Excel(name = "委外工序合计")
private Long outsourceProcessAmount;
private int outsourceProcessAmount;
private OutsourceMaterial material;
@ -168,30 +169,30 @@ public class OutsourcePlanDetail extends BaseEntity
{
return unit;
}
public void setPlannedOutsourceAmount(Long plannedOutsourceAmount)
public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount)
{
this.plannedOutsourceAmount = plannedOutsourceAmount;
}
public Long getPlannedOutsourceAmount()
public BigDecimal getPlannedOutsourceAmount()
{
return plannedOutsourceAmount;
}
public void setOutsourceProcessType(Long outsourceProcessType)
public void setOutsourceProcessType(int outsourceProcessType)
{
this.outsourceProcessType = outsourceProcessType;
}
public Long getOutsourceProcessType()
public int getOutsourceProcessType()
{
return outsourceProcessType;
}
public void setOutsourceProcessAmount(Long outsourceProcessAmount)
public void setOutsourceProcessAmount(int outsourceProcessAmount)
{
this.outsourceProcessAmount = outsourceProcessAmount;
}
public Long getOutsourceProcessAmount()
public int getOutsourceProcessAmount()
{
return outsourceProcessAmount;
}

2
ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceOrderVO.java

@ -14,6 +14,8 @@ public class OutsourceOrderVO extends OutsourceOrder {
private String taskId;
/** 任务名称 */
private String taskName;
// 当前状态
private String taskStatus;
/** 办理时间 */
private Date doneTime;
/** 创建人 */

3
ruoyi-admin/src/main/java/com/ruoyi/system/domain/Vo/OutsourceQuoteVO.java

@ -18,6 +18,9 @@ public class OutsourceQuoteVO extends OutsourceQuote {
private String taskId;
/** 任务名称 */
private String taskName;
// 当前状态
private String taskStatus;
/** 办理时间 */
private Date doneTime;
/** 创建人 */

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

@ -1,9 +1,11 @@
package com.ruoyi.system.service;
import com.ruoyi.erp.domain.ErpMaterial;
import com.ruoyi.system.domain.OutsourceOrder;
import com.ruoyi.system.domain.Vo.OutsourceOrderVO;
import com.ruoyi.system.domain.Vo.OutsourceQuoteVO;
import org.activiti.engine.runtime.ProcessInstance;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -47,6 +49,10 @@ public interface IOutsourceOrderService
* @return 结果
*/
public int updateOutsourceOrder(OutsourceOrderVO outsourceOrderVO);
// 审批更新委外订单
int updateAuditOutsourceOrder(OutsourceOrderVO outsourceOrderVO);
/**
* 查询委外订单
*
@ -75,17 +81,20 @@ public interface IOutsourceOrderService
* */
ProcessInstance submitApply(OutsourceOrderVO outsourceOrderVO);
// 作废委外订单
@Transactional(rollbackFor = Exception.class)
ProcessInstance cancelOutsourceOrderById(Long id);
/**
* 作废售后单
* @param outsourceOrderId 售后单ID
* @return
*/
int cancelOutsourceOrderById(Long outsourceOrderId);
* 通过委外订单信息作废订单
* */
int cancelOutsourceOrderByObject(OutsourceOrderVO outsourceOrderVO);
/**
* 恢复售后
* @param outsourceOrderId 售后单ID
* 恢复委外订
* @param id
* @return
*/
int restoreOutsourceOrderIdById(Long outsourceOrderId);
@Transactional(rollbackFor = Exception.class)
ProcessInstance restoreOutsourceOrderById(Long id);
}

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

@ -10,21 +10,25 @@ import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.erp.domain.ErpMaterial;
import com.ruoyi.erp.domain.ErpMaterialVo;
import com.ruoyi.process.general.service.IProcessService;
import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper;
import com.ruoyi.system.domain.OutsourceMaterial;
import com.ruoyi.system.domain.OutsourceOrder;
import com.ruoyi.system.domain.OutsourceOrderDetail;
import com.ruoyi.system.domain.Vo.OutsourceOrderVO;
import com.ruoyi.system.domain.Vo.OutsourceQuoteVO;
import com.ruoyi.system.domain.Vo.OutsourceRequisitionVO;
import com.ruoyi.system.mapper.OutsourceOrderMapper;
import com.ruoyi.system.mapper.SysUserMapper;
import com.ruoyi.system.service.IOutsourceOrderService;
import com.ruoyi.system.service.IOutsourcePlanService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.TaskService;
import org.activiti.engine.impl.persistence.entity.TaskEntityImpl;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.task.Task;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.utils.StringUtils;
@ -44,6 +48,9 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
@Autowired
private OutsourceOrderMapper outsourceOrderMapper;
@Autowired
private IOutsourcePlanService outsourcePlanService;
@Autowired
private RedisCache redisCache;
@ -75,7 +82,13 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
{
OutsourceOrderVO outsourceOrderVO = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId);
List<OutsourceOrderDetail> details = outsourceOrderMapper.selectOutsourceOrderDetailList(outsourceOrderVO.getOutsourceOrderNo());
outsourceOrderVO.setOutsourceOrderDetailList(details);
if(StringUtils.isNotEmpty(details)){
outsourceOrderVO.setOutsourceOrderDetailList(details);
for (OutsourceOrderDetail detail: details) {
OutsourceMaterial material = outsourcePlanService.selectMaterialByCode(detail.getMaterialNo());
detail.setOutsourceMaterial(material);
}
}
return outsourceOrderVO;
}
@ -139,11 +152,12 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
} else {
tempOutsourceOrderVO.setTaskName("未启动");
}
tempOutsourceOrderVO.setTaskStatus(tempOutsourceOrderVO.getTaskName());
if(tempOutsourceOrderVO.getAuditStatus()!=null){
if(tempOutsourceOrderVO.getAuditStatus().equals("1")){
tempOutsourceOrderVO.setTaskName("审核通过");
tempOutsourceOrderVO.setTaskStatus("审核通过");
}else if(tempOutsourceOrderVO.getAuditStatus().equals("2")){
tempOutsourceOrderVO.setTaskName("审核拒绝");
tempOutsourceOrderVO.setTaskStatus("审核拒绝");
}
}
returnList.add(tempOutsourceOrderVO);
@ -190,7 +204,7 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
// 保存
insertOutsourceOrder(outsourceOrderVO);
// 启动流程
String applyTitle = user.getUserName()+"发起了委外报价提交审批-"+DateUtils.dateTimeNow();
String applyTitle = user.getUserName()+"发起了委外订单提交审批-"+DateUtils.dateTimeNow();
String instanceType = "submit";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,outsourceOrderVO, user);
String processInstanceId = processInstance.getProcessInstanceId();
@ -207,30 +221,7 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
}
/**
* 作废售后单
*
* @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
* @param instanceType
* @param user
@ -285,20 +276,30 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
return rows;
}
// 审批更新委外订单
@Override
public int updateAuditOutsourceOrder(OutsourceOrderVO outsourceOrderVO)
{
outsourceOrderVO.setUpdateTime(DateUtils.getNowDate());
String loginName = ShiroUtils.getLoginName();
outsourceOrderVO.setUpdateBy(loginName);
int rows = outsourceOrderMapper.updateOutsourceOrder(outsourceOrderVO);
return rows;
}
// 根据订单号查询委外订单(用以委外领料或入库)
@Override
public List<OutsourceOrderVO> selectOutsourceOrderByOutsourceOrderNo(String outsourceOrderNo) {
List<OutsourceOrderVO> outsourceOrders = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNo);
for (OutsourceOrderVO order:outsourceOrders) {
List<OutsourceOrderDetail> details= outsourceOrderMapper.selectOutsourceOrderDetailList(order.getOutsourceOrderNo());
for (OutsourceOrderDetail detail:details
) {
OutsourceMaterial material = outsourceOrderMapper.selectMaterialByCode(detail.getMaterialNo());
for (OutsourceOrderDetail detail:details) {
OutsourceMaterial material = outsourcePlanService.selectMaterialByCode(detail.getMaterialNo());
// 确保 material 的 OrderDetails 集合已初始化
if (material.getOrderDetails() == null) {
material.setOrderDetails(new ArrayList<>());
}
material.getOrderDetails().add(detail);
material.setPlannedOutsourceAmount(detail.getPlannedOutsourceAmount());
// 确保 order 的 Materials 集合已初始化
if (order.getMaterials() == null) {
order.setMaterials(new ArrayList<>());
@ -362,4 +363,81 @@ public class OutsourceOrderServiceImpl implements IOutsourceOrderService
}
}
}
// 委外订单作废审批流程
@Override
public ProcessInstance cancelOutsourceOrderById(Long id) {
OutsourceOrderVO outsourceOrderVO = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderId(id);
// 审核状态-待审核
outsourceOrderVO.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();
// 启动流程
String applyTitle = user.getUserName()+"发起了委外订单作废审批-"+DateUtils.dateTimeNow();
String instanceType = "cancel";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,outsourceOrderVO, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 作废实例id
outsourceOrderVO.setCancelInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
outsourceOrderVO.setAuditStatus("1");
// 使用状态-已作废
outsourceOrderVO.setUseStatus("2");
}
outsourceOrderMapper.updateOutsourceOrder(outsourceOrderVO);
return processInstance;
}
@Override
public int cancelOutsourceOrderByObject(OutsourceOrderVO outsourceOrder) {
OutsourceOrderVO outsourceOrderVO = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderId(outsourceOrder.getOutsourceOrderId());
// 审核状态-待审核
outsourceOrderVO.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();
// 启动流程
String applyTitle = user.getUserName()+"发起了委外订单作废审批-"+DateUtils.dateTimeNow();
String instanceType = "cancel";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,outsourceOrderVO, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 作废实例id
outsourceOrderVO.setCancelInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
outsourceOrderVO.setAuditStatus("1");
// 使用状态-已作废
outsourceOrderVO.setUseStatus("2");
}
outsourceOrderVO.setCancelRemark(outsourceOrder.getCancelRemark());
return outsourceOrderMapper.updateOutsourceOrder(outsourceOrderVO);
}
// 委外订单恢复审批流程
@Override
public ProcessInstance restoreOutsourceOrderById(Long id) {
OutsourceOrderVO outsourceOrderVO = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderId(id);
// 审核状态-待审核
outsourceOrderVO.setAuditStatus("0");
SysUser user = ShiroUtils.getSysUser();
// 启动流程
String applyTitle = user.getUserName()+"发起了委外订单恢复审批-"+DateUtils.dateTimeNow();
String instanceType = "restore";
ProcessInstance processInstance = startProcessInstance(applyTitle,instanceType,outsourceOrderVO, user);
String processInstanceId = processInstance.getProcessInstanceId();
// 恢复实例id
outsourceOrderVO.setRestoreInstanceId(processInstanceId);
// 存在提交完就流程结束的情况
boolean processIsFinish = processService.judgeProcessIsFinish(processInstanceId);
if(processIsFinish){
// 审核状态-审核通过
outsourceOrderVO.setAuditStatus("1");
// 使用状态-是
outsourceOrderVO.setUseStatus("1");
}
outsourceOrderMapper.updateOutsourceOrder(outsourceOrderVO);
return processInstance;
}
}

16
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourcePlanServiceImpl.java

@ -111,15 +111,25 @@ public class OutsourcePlanServiceImpl implements IOutsourcePlanService
plan.setOutsourcePlanDetailList(details);
}
}
System.out.println(outsourcePlans);
// System.out.println(outsourcePlans);
return outsourcePlans;
}
// 获取物料信息
@Override
public OutsourceMaterial selectMaterialByCode(String materialNo) {
OutsourceMaterial material = outsourcePlanMapper.selectMaterialByCode(materialNo);
List<OutsourceMaterial> materialList = outsourcePlanMapper.selectProcessNoByNo(materialNo);
OutsourceMaterial shareMaterial = materialList.get(0);
OutsourceMaterial material = new OutsourceMaterial();
material.setMaterialNo(shareMaterial.getMaterialNo());
material.setMaterialName(shareMaterial.getMaterialName());
material.setMaterialType(shareMaterial.getMaterialType());
material.setMaterialPhotourl(shareMaterial.getMaterialPhotourl());
material.setBrand(shareMaterial.getBrand());
material.setUnit(shareMaterial.getUnit());
material.setChargeUnit(shareMaterial.getChargeUnit());
material.setDescription(shareMaterial.getDescription());
material.setProcessMethod(shareMaterial.getProcessMethod());
// 获取委外计划表中的物料信息中的工序编号,以查询同料号的所有工序
List<OutsourceMaterial> materials = outsourcePlanMapper.selectProcessNoByNo(material.getMaterialNo());
List<String> noList = materials.stream().map(OutsourceMaterial::getOutsourceProcessNo).collect(Collectors.toList());

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

@ -41,7 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="applyUser" column="apply_user" />
<result property="cancelInstanceId" column="cancel_instance_id" />
<result property="restoreInstanceId" column="restore_instance_id" />
<result property="cancelRemark" column="cancel_remark" />
</resultMap>
<resultMap id="OutsourceOrderOutsourceOrderDetailResult" type="OutsourceOrderVO" extends="OutsourceOrderResult">
@ -64,6 +64,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="supplierName" column="supplier_name" />
<result property="closedStatus" column="closed_status" />
<result property="remitStatus" column="remit_status" />
<result property="rmbSum" column="rmb_sum" />
<result property="noRmbSum" column="no_rmb_sum" />
<result property="correlationCodes" column="correlation_codes" />
<result property="plannedOutsourceAmount" column="planned_outsource_amount" />
</resultMap>
<!-- 委外物料-->
@ -83,7 +87,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap>
<sql id="selectOutsourceOrderVo">
select outsource_order_id, outsource_order_no, outsource_plan_code, outsource_staff, supplier_amount, material_amount, outsource_material_amount, outsource_process_type, outsource_process_amount, outsource_total_price, outsource_no_price, create_by, create_time, update_by, update_time, use_status, receive_status, warehouse_status, closed_status, remit_status, audit_status, actual_material_amount, actual_process_amount, stock_no, stock_name, receive_person, receive_telephone, receive_address,instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id from outsource_order
select outsource_order_id, outsource_order_no, outsource_plan_code, outsource_staff, supplier_amount,
material_amount, outsource_material_amount, outsource_process_type, outsource_process_amount, outsource_total_price,
outsource_no_price, create_by, create_time, update_by, update_time, use_status, receive_status, warehouse_status, closed_status,
remit_status, audit_status, actual_material_amount, actual_process_amount, stock_no, stock_name, receive_person, receive_telephone,
receive_address,instance_id, instance_type, submit_instance_id, apply_title, apply_time, apply_user, cancel_instance_id, restore_instance_id, cancel_remark
from outsource_order
</sql>
<select id="selectOutsourceOrderList" parameterType="OutsourceOrderVO" resultMap="OutsourceOrderResult">
@ -122,7 +131,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectOutsourceOrderDetailList" resultType="OutsourceOrderDetail" resultMap="OutsourceOrderDetailResult">
select outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status
select outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status, rmb_sum, no_rmb_sum, correlation_codes, planned_outsource_amount
from outsource_order_detail
where outsource_order_no = #{outsource_order_no}
</select>
@ -165,6 +174,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyUser != null">apply_user,</if>
<if test="cancelInstanceId != null">cancel_instance_id,</if>
<if test="restoreInstanceId != null">restore_instance_id,</if>
<if test="cancelRemark != null">cancel_remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="outsourceOrderNo != null and outsourceOrderNo != ''">#{outsourceOrderNo},</if>
@ -202,6 +212,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyUser != null">#{applyUser},</if>
<if test="cancelInstanceId != null">#{cancelInstanceId},</if>
<if test="restoreInstanceId != null">#{restoreInstanceId},</if>
<if test="cancelRemark != null">#{cancelRemark},</if>
</trim>
</insert>
@ -243,6 +254,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="applyUser != null">apply_user = #{applyUser},</if>
<if test="cancelInstanceId != null">cancel_instance_id = #{cancelInstanceId},</if>
<if test="restoreInstanceId != null">restore_instance_id = #{restoreInstanceId},</if>
<if test="cancelRemark != null">cancel_remark = #{cancelRemark},</if>
</trim>
where outsource_order_id = #{outsourceOrderId}
</update>
@ -270,9 +282,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<insert id="batchOutsourceOrderDetail">
insert into outsource_order_detail( outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status) values
insert into outsource_order_detail( outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status, rmb_sum, no_rmb_sum, correlation_codes,planned_outsource_amount) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.outsourceOrderDetailId}, #{item.outsourceOrderNo}, #{item.materialNo}, #{item.outsourceProcessNo}, #{item.outsourceProcessName}, #{item.chargeUnit}, #{item.singleMaterial}, #{item.deliveryTime}, #{item.actualOutsourceAmount}, #{item.materialRmb}, #{item.materialNoRmb}, #{item.supplierCode}, #{item.supplierName}, #{item.closedStatus}, #{item.remitStatus})
( #{item.outsourceOrderDetailId}, #{item.outsourceOrderNo}, #{item.materialNo}, #{item.outsourceProcessNo}, #{item.outsourceProcessName}, #{item.chargeUnit}, #{item.singleMaterial}, #{item.deliveryTime}, #{item.actualOutsourceAmount}, #{item.materialRmb}, #{item.materialNoRmb}, #{item.supplierCode}, #{item.supplierName}, #{item.closedStatus}, #{item.remitStatus}, #{item.rmbSum}, #{item.noRmbSum}, #{item.correlationCodes},#{item.plannedOutsourceAmount})
</foreach>
</insert>

Loading…
Cancel
Save