Browse Source

[fix]

品质管理 品质单
新增来料品质单导出来料品质管理品质单controller接口;
修改品质单实体类,调整导出字段,添加注解;
修改导出生产品质单controller接口,修改查询生产品质单列表、查询来料品质单列表controller接口;
新增查询生产品质单列表、查询来料品质单列表service接口;
新增查询生产品质单列表、查询来料品质单列表mapper接口;
dev
王晓迪 3 months ago
parent
commit
d15f4d172d
  1. 40
      ruoyi-admin/src/main/java/com/ruoyi/quality/controller/IqcQualityOrderController.java
  2. 29
      ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java
  3. 80
      ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityOrder.java
  4. 15
      ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityOrderMapper.java
  5. 10
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderService.java
  6. 21
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java
  7. 48
      ruoyi-admin/src/main/resources/mapper/quality/QualityOrderMapper.xml

40
ruoyi-admin/src/main/java/com/ruoyi/quality/controller/IqcQualityOrderController.java

@ -1,11 +1,26 @@
package com.ruoyi.quality.controller; package com.ruoyi.quality.controller;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.quality.domain.QualityOrder;
import com.ruoyi.quality.domain.VO.QualityOrderReportVO;
import com.ruoyi.quality.service.IQualityOrderService;
import org.apache.poi.util.StringUtil;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
import java.util.stream.Collectors;
/** /**
* 来料品质单Controller * 来料品质单Controller
@ -18,6 +33,9 @@ public class IqcQualityOrderController extends BaseController {
private String iqcPrefix = "quality/iqcQualityOrder"; private String iqcPrefix = "quality/iqcQualityOrder";
@Autowired
private IQualityOrderService qualityOrderService;
@RequiresPermissions("quality:iqcQualityOrder:view") @RequiresPermissions("quality:iqcQualityOrder:view")
@GetMapping() @GetMapping()
public String qualityOrder() public String qualityOrder()
@ -26,7 +44,27 @@ public class IqcQualityOrderController extends BaseController {
} }
/**
* 导出来料品质管理品质单列表
*/
@PostMapping("/export")
@ResponseBody
public AjaxResult export(QualityOrder qualityOrder,String ids)
{
if(StringUtils.isEmpty(ids)){
List<QualityOrder> list = qualityOrderService.selectQualityOrderList(qualityOrder);
List<QualityOrder> filterList = list.stream()//采购订单(入库)或委外订单(入库)
.filter(item ->(item.getQualityOrderType().equals("0")||item.getQualityOrderType().equals("2"))
&&(item.getQualityStorageStatus().equals("0")||item.getQualityStorageStatus().equals("2"))).collect(Collectors.toList());
ExcelUtil<QualityOrder> util = new ExcelUtil<QualityOrder>(QualityOrder.class);
return util.exportExcel(filterList, "来料品质单数据");
}else{
String[] qualityOrderCodes = ids.split(",");
List<QualityOrder> list = qualityOrderService.selectQualityOrderListByCodes(qualityOrderCodes);
ExcelUtil<QualityOrder> util = new ExcelUtil<QualityOrder>(QualityOrder.class);
return util.exportExcel(list, ids);
}
}
} }

29
ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java

@ -6,6 +6,7 @@ import java.util.stream.Collectors;
import com.ruoyi.aftersales.domain.AfterSalesShippingDevice; import com.ruoyi.aftersales.domain.AfterSalesShippingDevice;
import com.ruoyi.aftersales.service.IAfterSalesShippingDeviceService; import com.ruoyi.aftersales.service.IAfterSalesShippingDeviceService;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.quality.domain.QualityOrderDetail; import com.ruoyi.quality.domain.QualityOrderDetail;
import com.ruoyi.quality.domain.QualityOrderReport; import com.ruoyi.quality.domain.QualityOrderReport;
import com.ruoyi.quality.domain.QualityShippingDevice; import com.ruoyi.quality.domain.QualityShippingDevice;
@ -79,12 +80,9 @@ public class QualityOrderController extends BaseController
@ResponseBody @ResponseBody
public TableDataInfo iqcOrderList(QualityOrder qualityOrder) public TableDataInfo iqcOrderList(QualityOrder qualityOrder)
{ {
startPage(); startPage();//采购订单(入库)或委外订单(入库)
List<QualityOrder> list = qualityOrderService.selectQualityOrderList(qualityOrder); List<QualityOrder> list = qualityOrderService.selectIqcQualityOrderList(qualityOrder);
List<QualityOrder> filterList = list.stream()//采购订单(入库)或委外订单(入库) return getDataTable(list);
.filter(item ->(item.getQualityOrderType().equals("0")||item.getQualityOrderType().equals("2"))
&&(item.getQualityStorageStatus().equals("0")||item.getQualityStorageStatus().equals("2"))).collect(Collectors.toList());
return getDataTable(filterList);
} }
/** /**
@ -95,10 +93,8 @@ public class QualityOrderController extends BaseController
public TableDataInfo makeOrderList(QualityOrder qualityOrder) public TableDataInfo makeOrderList(QualityOrder qualityOrder)
{ {
startPage(); startPage();
List<QualityOrder> list = qualityOrderService.selectQualityOrderList(qualityOrder); List<QualityOrder> list = qualityOrderService.selectMakeQualityOrderList(qualityOrder);
List<QualityOrder> filterList = list.stream()//生产订单(入库) return getDataTable(list);
.filter(item ->item.getQualityOrderType().equals("1") &&item.getQualityStorageStatus().equals("4")).collect(Collectors.toList());
return getDataTable(filterList);
} }
/** /**
@ -108,11 +104,20 @@ public class QualityOrderController extends BaseController
@Log(title = "品质管理品质单", businessType = BusinessType.EXPORT) @Log(title = "品质管理品质单", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
@ResponseBody @ResponseBody
public AjaxResult export(QualityOrder qualityOrder) public AjaxResult export(QualityOrder qualityOrder,String ids)
{ {
if(StringUtils.isEmpty(ids)){
List<QualityOrder> list = qualityOrderService.selectQualityOrderList(qualityOrder); List<QualityOrder> list = qualityOrderService.selectQualityOrderList(qualityOrder);
List<QualityOrder> filterList = list.stream()//生产品质单
.filter(item ->item.getQualityOrderType().equals("1") &&item.getQualityStorageStatus().equals("4")).collect(Collectors.toList());
ExcelUtil<QualityOrder> util = new ExcelUtil<QualityOrder>(QualityOrder.class); ExcelUtil<QualityOrder> util = new ExcelUtil<QualityOrder>(QualityOrder.class);
return util.exportExcel(list, "品质管理品质单数据"); return util.exportExcel(filterList, "生产品质单数据");
}else{
String[] qualityOrderCodes = ids.split(",");
List<QualityOrder> list = qualityOrderService.selectQualityOrderListByCodes(qualityOrderCodes);
ExcelUtil<QualityOrder> util = new ExcelUtil<QualityOrder>(QualityOrder.class);
return util.exportExcel(list, ids);
}
} }
/** /**

80
ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityOrder.java

@ -24,48 +24,51 @@ public class QualityOrder extends BaseEntity
private Long qualityOrderId; private Long qualityOrderId;
/** 品质单号 */ /** 品质单号 */
@Excel(name = "品质单号") @Excel(name = "品质单号",sort = 1)
private String qualityOrderCode; private String qualityOrderCode;
/** 入库单号 */ /** 入库单号 */
@Excel(name = "入库单号") @Excel(name = "入库单号",sort = 3)
private String inStorageCode; private String inStorageCode;
/** 关联订单号 */ /** 关联订单号 */
@Excel(name = "关联订单号") @Excel(name = "关联订单号",sort = 4)
private String relatedOrderCode; private String relatedOrderCode;
/** 品质状态 */ /** 品质状态 */
@Excel(name = "品质状态") @Excel(name = "品质状态",sort = 2,dictType = "qualityStatus")
private String qualityStatus; private String qualityStatus;
/** 品质单订单类型 */ /** 品质单订单类型 */
@Excel(name = "品质单订单类型") @Excel(name = "订单类型",sort = 5,dictType = "quality_order_type")
private String qualityOrderType; private String qualityOrderType;
/** 品质单入库类型 */ /** 品质单入库类型 */
@Excel(name = "品质单入库类型") @Excel(name = "入库类型",sort = 6,dictType = "quality_storage_status")
private String qualityStorageStatus; private String qualityStorageStatus;
//料号 //料号
@Excel(name = "料号",sort = 7)
private String materialNo; private String materialNo;
//物料名称 //物料名称
@Excel(name = "物料名称",sort = 8)
private String materialName; private String materialName;
//待审核数 //待审核数
@Excel(name = "待审核数",sort = 12)
private int pendingReviewNum; private int pendingReviewNum;
/** 本次到货数量 */ /** 本次到货数量 */
@Excel(name = "本次到货数量") @Excel(name = "检验数",sort = 9)
private Integer thisArrivedNum; private Integer thisArrivedNum;
/** 品质合格数 */ /** 品质合格数 */
@Excel(name = "品质合格数") @Excel(name = "合格数",sort = 10)
private Integer qualityQualifiedNum; private Integer qualityQualifiedNum;
/** 品质不合格数 */ /** 品质不合格数 */
@Excel(name = "品质不合格数") @Excel(name = "不良数",sort = 11)
private Integer qualityUnqualifiedNum; private Integer qualityUnqualifiedNum;
/** 入库数 */ /** 入库数 */
@ -75,22 +78,33 @@ public class QualityOrder extends BaseEntity
private BigDecimal makeInTotalPrice; private BigDecimal makeInTotalPrice;
/** 仓库Id */ /** 仓库Id */
@Excel(name = "仓库Id")
private String warehouseCode; private String warehouseCode;
/** 仓库名称 */ /** 仓库名称 */
@Excel(name = "仓库名称")
private String warehouseName; private String warehouseName;
/** 交付质检时间 */ /** 交付质检时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "交付质检时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "交检时间", width = 30, dateFormat = "yyyy-MM-dd",sort = 13)
private Date deliveryInspectionTime; private Date deliveryInspectionTime;
/** 品质员工 */ /** 品质员工 */
@Excel(name = "品质员") @Excel(name = "品质员",sort = 14)
private String qualityEmployee; private String qualityEmployee;
@Excel(name = "录入人",sort = 15)
private String createBy;
@Excel(name = "录入时间",sort = 16,dateFormat = "yyyy-MM-dd")
private Date createTime;
@Excel(name = "更新人",sort = 17)
private String updateBy;
@Excel(name = "更新时间",sort = 18,dateFormat = "yyyy-MM-dd")
private Date updateTime;
/** 品质单详情*/ /** 品质单详情*/
private List<QualityOrderDetail> qualityOrderDetailList; private List<QualityOrderDetail> qualityOrderDetailList;
@ -268,6 +282,46 @@ public class QualityOrder extends BaseEntity
this.pendingReviewNum = pendingReviewNum; this.pendingReviewNum = pendingReviewNum;
} }
@Override
public String getCreateBy() {
return createBy;
}
@Override
public void setCreateBy(String createBy) {
this.createBy = createBy;
}
@Override
public Date getCreateTime() {
return createTime;
}
@Override
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public String getUpdateBy() {
return updateBy;
}
@Override
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
@Override
public Date getUpdateTime() {
return updateTime;
}
@Override
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

15
ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityOrderMapper.java

@ -89,4 +89,19 @@ public interface QualityOrderMapper
* 生产入库和委内入库相关品质单数据 * 生产入库和委内入库相关品质单数据
* */ * */
List<QualityOrder> selectAllMakeQualityOrderList(QualityOrder qualityOrder); List<QualityOrder> selectAllMakeQualityOrderList(QualityOrder qualityOrder);
/**
* 按单号批量查询
* */
public List<QualityOrder> selectQualityOrderListByCodes(String[] qualityOrderCodes);
/*
* 查询来料品质单*/
public List<QualityOrder> selectIqcQualityOrderList(QualityOrder qualityOrder);
/*
* 查询生产品质单*/
public List<QualityOrder> selectMakeQualityOrderList(QualityOrder qualityOrder);
} }

10
ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityOrderService.java

@ -117,4 +117,14 @@ public interface IQualityOrderService
* 修改保存生产入库品质单开始品质 * 修改保存生产入库品质单开始品质
*/ */
int updateMakeStartingQuality(QualityOrder qualityOrder); int updateMakeStartingQuality(QualityOrder qualityOrder);
List<QualityOrder> selectIqcQualityOrderList(QualityOrder qualityOrder);
//查询来料品质单列表
List<QualityOrder> selectMakeQualityOrderList(QualityOrder qualityOrder);
/**
* 按单号批量查询
* */
public List<QualityOrder> selectQualityOrderListByCodes(String[] qualityOrderCodes);
} }

21
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java

@ -104,6 +104,27 @@ public class QualityOrderServiceImpl implements IQualityOrderService
return qualityOrderMapper.selectQualityOrderList(qualityOrder); return qualityOrderMapper.selectQualityOrderList(qualityOrder);
} }
//查询来料品质单列表
@Override
public List<QualityOrder> selectIqcQualityOrderList(QualityOrder qualityOrder)
{
List<QualityOrder> qualityOrders = qualityOrderMapper.selectIqcQualityOrderList(qualityOrder);
return qualityOrders;
}
//查询来料品质单列表
@Override
public List<QualityOrder> selectMakeQualityOrderList(QualityOrder qualityOrder)
{
List<QualityOrder> qualityOrders = qualityOrderMapper.selectMakeQualityOrderList(qualityOrder);
return qualityOrders;
}
@Override
public List<QualityOrder> selectQualityOrderListByCodes(String[] qualityOrderCodes){
return qualityOrderMapper.selectQualityOrderListByCodes(qualityOrderCodes);
}
/** /**
* 新增品质管理品质单 * 新增品质管理品质单
* *

48
ruoyi-admin/src/main/resources/mapper/quality/QualityOrderMapper.xml

@ -60,11 +60,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectQualityOrderList" parameterType="QualityOrder" resultMap="QualityOrderResult"> <select id="selectQualityOrderList" parameterType="QualityOrder" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/> <include refid="selectQualityOrderVo"/>
<where> <where>
<if test="qualityOrderCode != null and qualityOrderCode != ''"> and quality_order_code = #{qualityOrderCode}</if> <if test="qualityOrderCode != null and qualityOrderCode != ''"> and quality_order_code like concat('%', #{qualityOrderCode}, '%')</if>
<if test="inStorageCode != null and inStorageCode != ''"> and in_storage_code = #{inStorageCode}</if> <if test="inStorageCode != null and inStorageCode != ''"> and in_storage_code like concat('%', #{inStorageCode}, '%')</if>
<if test="materialNo != null and materialNo != ''"> and material_no like concat('%', #{materialNo}, '%')</if> <if test="materialNo != null and materialNo != ''"> and material_no like concat('%', #{materialNo}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if> <if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code = #{relatedOrderCode}</if> <if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code like concat('%', #{relatedOrderCode}, '%')</if>
<if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if> <if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if>
<if test="qualityOrderType != null and qualityOrderType != ''"> and quality_order_type = #{qualityOrderType}</if> <if test="qualityOrderType != null and qualityOrderType != ''"> and quality_order_type = #{qualityOrderType}</if>
<if test="qualityStorageStatus != null and qualityStorageStatus != ''"> and quality_storage_status = #{qualityStorageStatus}</if> <if test="qualityStorageStatus != null and qualityStorageStatus != ''"> and quality_storage_status = #{qualityStorageStatus}</if>
@ -74,6 +74,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by create_time desc order by create_time desc
</select> </select>
<select id="selectMakeQualityOrderList" parameterType="QualityOrder" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/>
<where>
<if test="qualityOrderCode != null and qualityOrderCode != ''"> and quality_order_code like concat('%', #{qualityOrderCode}, '%')</if>
<if test="inStorageCode != null and inStorageCode != ''"> and in_storage_code like concat('%', #{inStorageCode}, '%')</if>
<if test="materialNo != null and materialNo != ''"> and material_no like concat('%', #{materialNo}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code like concat('%', #{relatedOrderCode}, '%')</if>
<if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if>
<if test="qualityStorageStatus != null and qualityStorageStatus != ''"> and quality_storage_status = #{qualityStorageStatus}</if>
<if test="qualityEmployee != null and qualityEmployee != ''"> and quality_employee = #{qualityEmployee}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and Date(create_time) between #{params.beginCreateTime} and #{params.endCreateTime}</if>
and quality_order_type = '1'
</where>
order by create_time desc
</select>
<select id="selectIqcQualityOrderList" parameterType="QualityOrder" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/>
<where>
<if test="qualityOrderCode != null and qualityOrderCode != ''"> and quality_order_code like concat('%', #{qualityOrderCode}, '%')</if>
<if test="inStorageCode != null and inStorageCode != ''"> and in_storage_code like concat('%', #{inStorageCode}, '%')</if>
<if test="materialNo != null and materialNo != ''"> and material_no like concat('%', #{materialNo}, '%')</if>
<if test="materialName != null and materialName != ''"> and material_name like concat('%', #{materialName}, '%')</if>
<if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code like concat('%', #{relatedOrderCode}, '%')</if>
<if test="qualityStatus != null and qualityStatus != ''"> and quality_status = #{qualityStatus}</if>
<if test="qualityStorageStatus != null and qualityStorageStatus != ''"> and quality_storage_status = #{qualityStorageStatus}</if>
<if test="qualityEmployee != null and qualityEmployee != ''"> and quality_employee = #{qualityEmployee}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and Date(create_time) between #{params.beginCreateTime} and #{params.endCreateTime}</if>
and (quality_order_type = '0' or quality_order_type = '2')
</where>
order by create_time desc
</select>
<select id="selectQualityOrderById" parameterType="Long" resultMap="QualityOrderResult"> <select id="selectQualityOrderById" parameterType="Long" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/> <include refid="selectQualityOrderVo"/>
where quality_order_id = #{qualityOrderId} where quality_order_id = #{qualityOrderId}
@ -229,4 +263,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update quality_order set del_flag = '0' where quality_order_id = #{qualityOrderId} update quality_order set del_flag = '0' where quality_order_id = #{qualityOrderId}
</update> </update>
<select id="selectQualityOrderListByCodes" parameterType="String" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/>
where quality_order_code in
<foreach item="qualityOrderCode" collection="array" open="(" separator="," close=")">
#{qualityOrderCode}
</foreach>
</select>
</mapper> </mapper>
Loading…
Cancel
Save