Browse Source

[fix]

品质管理 退换货
修改退换货出库页面和详情页面,实现出库功能;
修改退换货实体和详情类;
修改退换货controller、service,新增确认供应商生成入库单方法;
dev
王晓迪 2 months ago
parent
commit
dcc129668b
  1. 2
      ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java
  2. 10
      ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java
  3. 12
      ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java
  4. 2
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityRefundsExchangesService.java
  5. 122
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java
  6. 13
      ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesMapper.xml
  7. 33
      ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/refundsExchanges.html
  8. 11
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/refundsExchangesOutWarehouse.html
  9. 9
      ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/refundsExchangesOutWarehouseDetail.html

2
ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityRefundsExchangesController.java

@ -407,7 +407,7 @@ public class QualityRefundsExchangesController extends BaseController
public AjaxResult beforeHasConfirmSupplierSave(@RequestBody QualityRefundsExchanges qualityRefundsExchanges) public AjaxResult beforeHasConfirmSupplierSave(@RequestBody QualityRefundsExchanges qualityRefundsExchanges)
{ {
qualityRefundsExchanges.setQualityPurchaseStatus("1"); qualityRefundsExchanges.setQualityPurchaseStatus("1");
return toAjax(qualityRefundsExchangesService.updateQualityRefundsExchanges(qualityRefundsExchanges)); return toAjax(qualityRefundsExchangesService.updateBeforeConfirmSupplier(qualityRefundsExchanges));
} }
/** /**

10
ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchanges.java

@ -50,6 +50,8 @@ public class QualityRefundsExchanges extends BaseEntity
@Excel(name = "入库单号") @Excel(name = "入库单号")
private String inStorageCode; private String inStorageCode;
private String outStorageCode;
/** 入库类型 */ /** 入库类型 */
@Excel(name = "入库类型") @Excel(name = "入库类型")
private String warehouseStorageType; private String warehouseStorageType;
@ -213,6 +215,14 @@ public class QualityRefundsExchanges extends BaseEntity
this.refundsExchangesDetails = refundsExchangesDetails; this.refundsExchangesDetails = refundsExchangesDetails;
} }
public String getOutStorageCode() {
return outStorageCode;
}
public void setOutStorageCode(String outStorageCode) {
this.outStorageCode = outStorageCode;
}
@Override @Override
public String toString() { public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

12
ruoyi-admin/src/main/java/com/ruoyi/quality/domain/QualityRefundsExchangesDetail.java

@ -56,11 +56,11 @@ public class QualityRefundsExchangesDetail extends BaseEntity
/** 物料数合计 */ /** 物料数合计 */
@Excel(name = "物料数合计") @Excel(name = "物料数合计")
private Long materialTotal; private int materialTotal;
/** 数量合计 */ /** 数量合计 */
@Excel(name = "数量合计") @Excel(name = "数量合计")
private Long numTotal; private int numTotal;
/** 供应商Id */ /** 供应商Id */
@ -223,21 +223,21 @@ public class QualityRefundsExchangesDetail extends BaseEntity
{ {
return qualityReturnNode; return qualityReturnNode;
} }
public void setMaterialTotal(Long materialTotal) public void setMaterialTotal(int materialTotal)
{ {
this.materialTotal = materialTotal; this.materialTotal = materialTotal;
} }
public Long getMaterialTotal() public int getMaterialTotal()
{ {
return materialTotal; return materialTotal;
} }
public void setNumTotal(Long numTotal) public void setNumTotal(int numTotal)
{ {
this.numTotal = numTotal; this.numTotal = numTotal;
} }
public Long getNumTotal() public int getNumTotal()
{ {
return numTotal; return numTotal;
} }

2
ruoyi-admin/src/main/java/com/ruoyi/quality/service/IQualityRefundsExchangesService.java

@ -81,6 +81,8 @@ public interface IQualityRefundsExchangesService
int returnBeforeStorageDetail(QualityRefundsExchanges qualityRefundsExchanges); int returnBeforeStorageDetail(QualityRefundsExchanges qualityRefundsExchanges);
int updateBeforeConfirmSupplier(QualityRefundsExchanges qualityRefundsExchanges);
/** /**
* 保存入库后退货-选择供应商-无供应商 * 保存入库后退货-选择供应商-无供应商
*/ */

122
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityRefundsExchangesServiceImpl.java

@ -1,9 +1,7 @@
package com.ruoyi.quality.service.impl; package com.ruoyi.quality.service.impl;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.core.redis.RedisCache;
@ -16,9 +14,12 @@ import com.ruoyi.quality.domain.QualityRefundsExchangesUnqualified;
import com.ruoyi.quality.domain.VO.QualityRefundsExchangesExportVO; import com.ruoyi.quality.domain.VO.QualityRefundsExchangesExportVO;
import com.ruoyi.quality.mapper.QualityRefundsExchangesDetailMapper; import com.ruoyi.quality.mapper.QualityRefundsExchangesDetailMapper;
import com.ruoyi.quality.mapper.QualityRefundsExchangesUnqualifiedMapper; import com.ruoyi.quality.mapper.QualityRefundsExchangesUnqualifiedMapper;
import com.ruoyi.storehouse.domain.WarehousingInInfo; import com.ruoyi.warehouse.domain.WarehouseOutOrder;
import com.ruoyi.warehouse.domain.WarehouseOutOrderDetail;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder; import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail; import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail;
import com.ruoyi.warehouse.mapper.WarehouseOutOrderDetailMapper;
import com.ruoyi.warehouse.mapper.WarehouseOutOrderMapper;
import com.ruoyi.warehouse.mapper.WarehouseStorageOrderDetailMapper; import com.ruoyi.warehouse.mapper.WarehouseStorageOrderDetailMapper;
import com.ruoyi.warehouse.mapper.WarehouseStorageOrderMapper; import com.ruoyi.warehouse.mapper.WarehouseStorageOrderMapper;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -29,6 +30,7 @@ import com.ruoyi.quality.domain.QualityRefundsExchanges;
import com.ruoyi.quality.service.IQualityRefundsExchangesService; import com.ruoyi.quality.service.IQualityRefundsExchangesService;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
/** /**
* 品质管理退换货单Service业务层处理 * 品质管理退换货单Service业务层处理
@ -56,7 +58,10 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan
private WarehouseStorageOrderDetailMapper warehouseStorageOrderDetailMapper; private WarehouseStorageOrderDetailMapper warehouseStorageOrderDetailMapper;
@Autowired @Autowired
private WarehouseStorageOrderDetailMapper storageOrderDetailMapper; private WarehouseOutOrderMapper warehouseOutOrderMapper;
@Autowired
private WarehouseOutOrderDetailMapper warehouseOutOrderDetailMapper;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@ -91,6 +96,7 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan
* @param qualityRefundsExchanges 品质管理退换货单 * @param qualityRefundsExchanges 品质管理退换货单
* @return 结果 * @return 结果
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public int insertQualityRefundsExchanges(QualityRefundsExchanges qualityRefundsExchanges) public int insertQualityRefundsExchanges(QualityRefundsExchanges qualityRefundsExchanges)
{ {
@ -143,7 +149,7 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetails = createWarehouseStorageDetail(qualityRefundsExchanges,warehouseStorageOrder.getWarehouseStorageCode()); List<WarehouseStorageOrderDetail> warehouseStorageOrderDetails = createWarehouseStorageDetail(qualityRefundsExchanges,warehouseStorageOrder.getWarehouseStorageCode());
warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails); warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(warehouseStorageOrderDetails);
qualityRefundsExchanges.setQualityWarehouseStatus("0"); qualityRefundsExchanges.setQualityWarehouseStatus("1");
qualityRefundsExchanges.setInStorageCode(warehouseStorageOrder.getWarehouseStorageCode()); qualityRefundsExchanges.setInStorageCode(warehouseStorageOrder.getWarehouseStorageCode());
qualityRefundsExchangesMapper.insertQualityRefundsExchanges(qualityRefundsExchanges); qualityRefundsExchangesMapper.insertQualityRefundsExchanges(qualityRefundsExchanges);
return 1; return 1;
@ -281,10 +287,38 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan
return 1; return 1;
} }
/**
* 保存入库前退货-确认供应商-有供应商
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int updateBeforeConfirmSupplier(QualityRefundsExchanges qualityRefundsExchanges)
{
QualityRefundsExchanges refundsExchanges = qualityRefundsExchangesMapper.selectQualityRefundsExchangesById(qualityRefundsExchanges.getRefundsExchangesId());
List<QualityRefundsExchangesDetail> details = refundsExchangesDetailMapper.selectRefundsExchangesDetailListByCode(refundsExchanges.getRefundsExchangesCode());
if(CollectionUtils.isEmpty(details)){
throw new BusinessException("退换货详情为空!");
}
refundsExchanges.setRefundsExchangesDetails(details);
WarehouseOutOrder warehouseOutOrder = generateWarehouseOutOrder(refundsExchanges);
int insertOutResult = warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder);
if(insertOutResult<=0){
throw new BusinessException("新增退换货出库单失败!");
}
qualityRefundsExchanges.setQualityWarehouseStatus("2");
String loginName = ShiroUtils.getLoginName();
qualityRefundsExchanges.setUpdateBy(loginName);
qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate());
int updateResult = qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges);
return updateResult;
}
/** /**
* 保存入库后退货-选择供应商-无供应商 * 保存入库后退货-选择供应商-无供应商
*/ */
@Transactional @Transactional(rollbackFor = Exception.class)
@Override @Override
public int updateAfterNoConfirmSupplier(QualityRefundsExchanges qualityRefundsExchanges) { public int updateAfterNoConfirmSupplier(QualityRefundsExchanges qualityRefundsExchanges) {
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
@ -317,13 +351,85 @@ public class QualityRefundsExchangesServiceImpl implements IQualityRefundsExchan
//更新数据库记录 //更新数据库记录
updateRows += refundsExchangesDetailMapper.updateQualityRefundsExchangesDetail(refundsExchangesDetail); updateRows += refundsExchangesDetailMapper.updateQualityRefundsExchangesDetail(refundsExchangesDetail);
} }
WarehouseOutOrder warehouseOutOrder = generateWarehouseOutOrder(qualityRefundsExchanges);
int insertOutResult = warehouseOutOrderMapper.insertWarehouseOutOrder(warehouseOutOrder);
if(insertOutResult<=0){
throw new BusinessException("新增退换货出库单失败!");
}
qualityRefundsExchanges.setQualityPurchaseStatus("1"); qualityRefundsExchanges.setQualityPurchaseStatus("1");
qualityRefundsExchanges.setUpdateBy(loginName); qualityRefundsExchanges.setUpdateBy(loginName);
qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate()); qualityRefundsExchanges.setUpdateTime(DateUtils.getNowDate());
qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges); qualityRefundsExchanges.setOutStorageCode(warehouseOutOrder.getOutOrderCode());
int updateResult = qualityRefundsExchangesMapper.updateQualityRefundsExchanges(qualityRefundsExchanges);
if(updateResult<=0){
throw new BusinessException("更新退换货订单失败!");
}
return updateRows; return updateRows;
} }
// 根据退换货订单生成出库单
public WarehouseOutOrder generateWarehouseOutOrder(QualityRefundsExchanges refundsExchanges){
WarehouseOutOrder warehouseOutOrder = new WarehouseOutOrder();
String outOrderCode = redisCache.generateBillNo("CK");
warehouseOutOrder.setOutOrderCode(outOrderCode);
warehouseOutOrder.setWarehouseOutStatus("4");//出库状态:待出库
warehouseOutOrder.setWarehouseOrderType("4");//出库订单类型:退换货订单
warehouseOutOrder.setWarehouseOutType("4");//出库类型:公司退货
warehouseOutOrder.setRelatedOrderCode(refundsExchanges.getRefundsExchangesCode());
warehouseOutOrder.setBusinessName(ShiroUtils.getLoginName());
warehouseOutOrder.setMaterialSum(refundsExchanges.getMaterialTotal());
warehouseOutOrder.setEnterpriseSum(refundsExchanges.getNumTotal());
warehouseOutOrder.setApplyName(ShiroUtils.getLoginName());
warehouseOutOrder.setCreateBy(ShiroUtils.getLoginName());
warehouseOutOrder.setCreateTime(DateUtils.getNowDate());
int insertResult = 0;
List<QualityRefundsExchangesDetail> refundsExchangesDetails = refundsExchanges.getRefundsExchangesDetails();
if(CollectionUtils.isEmpty(refundsExchangesDetails)){
throw new BusinessException("新增出库单详情失败!退换货详情数据为空!");
}
for (QualityRefundsExchangesDetail detail:refundsExchangesDetails) {
insertResult += generateWarehouseOutOrderDetail(detail,outOrderCode);
}
if(insertResult!=refundsExchangesDetails.size()){
throw new BusinessException("新增出库单详情失败!");
}
return warehouseOutOrder;
}
// 根据退换货单详情生成出库单详情
public int generateWarehouseOutOrderDetail(QualityRefundsExchangesDetail exchangeDetail,String outOrderCode){
WarehouseOutOrderDetail outOrderDetail = new WarehouseOutOrderDetail();
outOrderDetail.setOutOrderCode(outOrderCode);
outOrderDetail.setRelatedOrderCode(exchangeDetail.getRefundsExchangesCode());
outOrderDetail.setWarehouseOutStatus("4");//出库状态:待出库
outOrderDetail.setWarehouseOrderType("4");//出库订单类型:退换货订单
outOrderDetail.setWarehouseOutType("4");//出库类型:公司退货
outOrderDetail.setBusinessName(ShiroUtils.getLoginName());
outOrderDetail.setMaterialNo(exchangeDetail.getMaterialNo());
outOrderDetail.setMaterialName(exchangeDetail.getMaterialName());
outOrderDetail.setMaterialType(exchangeDetail.getMaterialType());
outOrderDetail.setMaterialPhotourl(exchangeDetail.getMaterialPhotourl());
outOrderDetail.setMaterialBrand(exchangeDetail.getMaterialBrand());
outOrderDetail.setMaterialUnit(exchangeDetail.getMaterialUnit());
outOrderDetail.setMaterialDescribe(exchangeDetail.getMaterialDescribe());
outOrderDetail.setMaterialProcessMethod(exchangeDetail.getMaterialProcessMethod());
outOrderDetail.setMaterialSum(exchangeDetail.getMaterialTotal());
outOrderDetail.setEnterpriseSum(exchangeDetail.getNumTotal());
outOrderDetail.setApplyOutOrderSum(exchangeDetail.getRefundsExchangesNum());
outOrderDetail.setSupplierCode(exchangeDetail.getSupplierCode());
outOrderDetail.setSupplierName(exchangeDetail.getSupplierName());
outOrderDetail.setDeliveryName(exchangeDetail.getCustomerContact());
outOrderDetail.setDeliveryNumber(exchangeDetail.getContactNumber());
outOrderDetail.setDeliveryAddress(exchangeDetail.getSupplierAddress());
outOrderDetail.setApplyName(ShiroUtils.getLoginName());
outOrderDetail.setCreateBy(ShiroUtils.getLoginName());
outOrderDetail.setCreateTime(DateUtils.getNowDate());
int insertResult = warehouseOutOrderDetailMapper.insertWarehouseOutOrderDetail(outOrderDetail);
return insertResult;
}
/** /**
* 保存入库前退货-确认收货 * 保存入库前退货-确认收货
*/ */

13
ruoyi-admin/src/main/resources/mapper/quality/QualityRefundsExchangesMapper.xml

@ -13,6 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="qualityDeliveryStatus" column="quality_delivery_status" /> <result property="qualityDeliveryStatus" column="quality_delivery_status" />
<result property="relatedOrderCode" column="related_order_code" /> <result property="relatedOrderCode" column="related_order_code" />
<result property="inStorageCode" column="in_storage_code" /> <result property="inStorageCode" column="in_storage_code" />
<result property="outStorageCode" column="out_storage_code" />
<result property="warehouseStorageType" column="warehouse_storage_type" /> <result property="warehouseStorageType" column="warehouse_storage_type" />
<result property="qualityReturnNode" column="quality_return_node" /> <result property="qualityReturnNode" column="quality_return_node" />
<result property="materialTotal" column="material_total" /> <result property="materialTotal" column="material_total" />
@ -27,20 +28,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectQualityRefundsExchangesVo"> <sql id="selectQualityRefundsExchangesVo">
select refunds_exchanges_id, refunds_exchanges_code, refunds_exchanges_status, quality_warehouse_status, quality_purchase_status, quality_delivery_status ,related_order_code, in_storage_code, warehouse_storage_type ,quality_return_node, material_total, num_total, delivery_inspection_time, quality_remark, remark, create_by, create_time, update_by, update_time from quality_refunds_exchanges select refunds_exchanges_id, refunds_exchanges_code, refunds_exchanges_status, quality_warehouse_status, quality_purchase_status, quality_delivery_status ,related_order_code, in_storage_code, out_storage_code, warehouse_storage_type ,quality_return_node, material_total, num_total, delivery_inspection_time, quality_remark, remark, create_by, create_time, update_by, update_time from quality_refunds_exchanges
</sql> </sql>
<select id="selectQualityRefundsExchangesList" parameterType="QualityRefundsExchanges" resultMap="QualityRefundsExchangesResult"> <select id="selectQualityRefundsExchangesList" parameterType="QualityRefundsExchanges" resultMap="QualityRefundsExchangesResult">
<include refid="selectQualityRefundsExchangesVo"/> <include refid="selectQualityRefundsExchangesVo"/>
<where> <where>
<if test="refundsExchangesCode != null and refundsExchangesCode != ''"> and refunds_exchanges_code = #{refundsExchangesCode}</if> <if test="refundsExchangesCode != null and refundsExchangesCode != ''"> and refunds_exchanges_code like concat('%', #{refundsExchangesCode}, '%')</if>
<if test="refundsExchangesStatus != null and refundsExchangesStatus != ''"> and refunds_exchanges_status = #{refundsExchangesStatus}</if> <if test="refundsExchangesStatus != null and refundsExchangesStatus != ''"> and refunds_exchanges_status = #{refundsExchangesStatus}</if>
<if test="qualityWarehouseStatus != null and qualityWarehouseStatus != ''"> and quality_warehouse_status = #{qualityWarehouseStatus}</if> <if test="qualityWarehouseStatus != null and qualityWarehouseStatus != ''"> and quality_warehouse_status = #{qualityWarehouseStatus}</if>
<if test="qualityPurchaseStatus != null and qualityPurchaseStatus != ''"> and quality_purchase_status = #{qualityPurchaseStatus}</if> <if test="qualityPurchaseStatus != null and qualityPurchaseStatus != ''"> and quality_purchase_status = #{qualityPurchaseStatus}</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="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="qualityReturnNode != null and qualityReturnNode != ''"> and quality_return_node = #{qualityReturnNode}</if> <if test="qualityReturnNode != null and qualityReturnNode != ''"> and quality_return_node = #{qualityReturnNode}</if>
<if test="createTime != null "> and create_time = #{createTime}</if> <if test="createTime != null "> and create_time = #{createTime}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
</where> </where>
</select> </select>
@ -59,6 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="qualityDeliveryStatus != null">quality_delivery_status,</if> <if test="qualityDeliveryStatus != null">quality_delivery_status,</if>
<if test="relatedOrderCode != null">related_order_code,</if> <if test="relatedOrderCode != null">related_order_code,</if>
<if test="inStorageCode != null">in_storage_code,</if> <if test="inStorageCode != null">in_storage_code,</if>
<if test="outStorageCode != null">out_storage_code,</if>
<if test="warehouseStorageType != null">warehouse_storage_type,</if> <if test="warehouseStorageType != null">warehouse_storage_type,</if>
<if test="qualityReturnNode != null">quality_return_node,</if> <if test="qualityReturnNode != null">quality_return_node,</if>
<if test="materialTotal != null">material_total,</if> <if test="materialTotal != null">material_total,</if>
@ -79,6 +82,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="qualityDeliveryStatus != null">#{qualityDeliveryStatus},</if> <if test="qualityDeliveryStatus != null">#{qualityDeliveryStatus},</if>
<if test="relatedOrderCode != null">#{relatedOrderCode},</if> <if test="relatedOrderCode != null">#{relatedOrderCode},</if>
<if test="inStorageCode != null">#{inStorageCode},</if> <if test="inStorageCode != null">#{inStorageCode},</if>
<if test="outStorageCode != null">#{outStorageCode},</if>
<if test="warehouseStorageType != null">#{warehouseStorageType},</if> <if test="warehouseStorageType != null">#{warehouseStorageType},</if>
<if test="qualityReturnNode != null">#{qualityReturnNode},</if> <if test="qualityReturnNode != null">#{qualityReturnNode},</if>
<if test="materialTotal != null">#{materialTotal},</if> <if test="materialTotal != null">#{materialTotal},</if>
@ -103,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="qualityDeliveryStatus != null">quality_delivery_status = #{qualityDeliveryStatus},</if> <if test="qualityDeliveryStatus != null">quality_delivery_status = #{qualityDeliveryStatus},</if>
<if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if> <if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if>
<if test="inStorageCode != null">in_storage_code = #{inStorageCode},</if> <if test="inStorageCode != null">in_storage_code = #{inStorageCode},</if>
<if test="outStorageCode != null">out_storage_code = #{outStorageCode},</if>
<if test="warehouseStorageType != null">warehouse_storage_type = #{warehouseStorageType},</if> <if test="warehouseStorageType != null">warehouse_storage_type = #{warehouseStorageType},</if>
<if test="qualityReturnNode != null">quality_return_node = #{qualityReturnNode},</if> <if test="qualityReturnNode != null">quality_return_node = #{qualityReturnNode},</if>
<if test="materialTotal != null">material_total = #{materialTotal},</if> <if test="materialTotal != null">material_total = #{materialTotal},</if>

33
ruoyi-admin/src/main/resources/templates/quality/refundsExchanges/refundsExchanges.html

@ -52,7 +52,9 @@
</li> </li>
<li> <li>
<label>录入时间:</label> <label>录入时间:</label>
<input type="text" class="time-input" placeholder="请选择录入时间" name="createTime"/> <input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a> <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
@ -103,6 +105,7 @@
updateUrl: prefix + "/edit/{id}", updateUrl: prefix + "/edit/{id}",
exportUrl: prefix + "/export", exportUrl: prefix + "/export",
modalName: "品质管理退换货单", modalName: "品质管理退换货单",
showFooter: true,
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
@ -150,10 +153,24 @@
{ {
title: '物料合计', title: '物料合计',
field: 'materialTotal', field: 'materialTotal',
footerFormatter: function (value) {
var sum = 0;
for (var i in value) {
sum += parseFloat(value[i].materialTotal)|| 0;
}
return "总物料: " + sum;
}
}, },
{ {
title: '数量合计', title: '数量合计',
field: 'numTotal', field: 'numTotal',
footerFormatter: function (value) {
var sum = 0;
for (var i in value) {
sum += parseFloat(value[i].numTotal)|| 0;
}
return "总数量: " + sum;
}
}, },
{ {
title: '交付质检时间', title: '交付质检时间',
@ -182,7 +199,7 @@
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
// actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>编辑</a> '); // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>编辑</a> ');
if (row.refundsExchangesStatus == 0 && row.qualityPurchaseStatus == 4){ if (row.refundsExchangesStatus == 0 && row.qualityPurchaseStatus >= 3){
actions.push('<a class="btn btn-success btn-xs ' + closingProceduresFlag + '" href="javascript:void(0)" onclick="closingProcedures(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>结案</a> '); actions.push('<a class="btn btn-success btn-xs ' + closingProceduresFlag + '" href="javascript:void(0)" onclick="closingProcedures(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>结案</a> ');
} }
/*入库前退货详情*/ /*入库前退货详情*/
@ -194,17 +211,21 @@
actions.push('<a class="btn btn-success btn-xs ' + returnAfterStorageDetailFlag + '" href="javascript:void(0)" onclick="returnAfterStorageDetail(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>详情</a> '); actions.push('<a class="btn btn-success btn-xs ' + returnAfterStorageDetailFlag + '" href="javascript:void(0)" onclick="returnAfterStorageDetail(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>详情</a> ');
} }
/*入库前退换货-确认供应商-已有供应商*/ /*入库前退换货-确认供应商-已有供应商*/
if (row.qualityReturnNode == 0){ if (row.qualityReturnNode == 0 && row.qualityPurchaseStatus == 0 && row.qualityWarehouseStatus == 1){
actions.push('<a class="btn btn-success btn-xs ' + beforeHasConfirmSupplierFlag + '" href="javascript:void(0)" onclick="beforeHasConfirmSupplier(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认供应商</a> '); actions.push('<a class="btn btn-success btn-xs ' + beforeHasConfirmSupplierFlag + '" href="javascript:void(0)" onclick="beforeHasConfirmSupplier(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认供应商</a> ');
}
/*入库前退换货-确认收货-已有供应商*/
if (row.qualityReturnNode == 0 && row.qualityPurchaseStatus != 0 && row.qualityWarehouseStatus > 2 ){
actions.push('<a class="btn btn-success btn-xs ' + beforeConfirmDeliveryFlag + '" href="javascript:void(0)" onclick="beforeConfirmDelivery(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认收货</a> '); actions.push('<a class="btn btn-success btn-xs ' + beforeConfirmDeliveryFlag + '" href="javascript:void(0)" onclick="beforeConfirmDelivery(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认收货</a> ');
} }
/*入库后退货-确认供应商-没有供应商*/ /*入库后退货-确认供应商-没有供应商*/
if (row.qualityReturnNode == 1){ if (row.qualityReturnNode == 1 && row.qualityPurchaseStatus == 0 && row.qualityWarehouseStatus == 1){
actions.push('<a class="btn btn-success btn-xs ' + afterNoConfirmSupplierFlag + '" href="javascript:void(0)" onclick="afterNoConfirmSupplier(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认供应商</a> '); actions.push('<a class="btn btn-success btn-xs ' + afterNoConfirmSupplierFlag + '" href="javascript:void(0)" onclick="afterNoConfirmSupplier(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认供应商</a> ');
}
/*入库前退换货-确认收货-已有供应商*/
if (row.qualityReturnNode == 1 && row.qualityPurchaseStatus != 0 && row.qualityWarehouseStatus > 2 ){
actions.push('<a class="btn btn-success btn-xs ' + afterConfirmDeliveryFlag + '" href="javascript:void(0)" onclick="afterConfirmDelivery(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认收货</a> '); actions.push('<a class="btn btn-success btn-xs ' + afterConfirmDeliveryFlag + '" href="javascript:void(0)" onclick="afterConfirmDelivery(\'' + row.refundsExchangesId + '\')"><i class="fa fa-edit"></i>确认收货</a> ');
} }

11
ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/refundsExchangesOutWarehouse.html

@ -59,6 +59,8 @@
<script th:inline="javascript"> <script th:inline="javascript">
var outOrderCode = [[${warehouseOutOrder.outOrderCode}]] var outOrderCode = [[${warehouseOutOrder.outOrderCode}]]
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var prefix = ctx + "warehouse/warehouseOutOrder"; var prefix = ctx + "warehouse/warehouseOutOrder";
$("#form-refundsExchangesOutWarehouse-edit").validate({ $("#form-refundsExchangesOutWarehouse-edit").validate({
@ -85,9 +87,10 @@
return { return {
"supplierCode": item.supplierCode, "supplierCode": item.supplierCode,
"materialNo": item.materialNo, "materialNo": item.materialNo,
"actualOutOrderSum":item.actualOutOrderSum,
"outOrderDetailId":item.outOrderDetailId, "outOrderDetailId":item.outOrderDetailId,
"outOrderCode":item.outOrderCode, "outOrderCode":item.outOrderCode,
"actualOutOrderSum":item.actualOutOrderSum,
"applyOutOrderSum": item.applyOutOrderSum
// ...其他字段 // ...其他字段
}; };
}); });
@ -168,6 +171,9 @@
{ {
title: '物料类型', title: '物料类型',
field: 'materialType', field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
}, },
{ {
title: '描述', title: '描述',
@ -184,6 +190,9 @@
{ {
title: '加工方式', title: '加工方式',
field: 'materialProcessMethod', field: 'materialProcessMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
}, },
{ {
title: '订单数量', title: '订单数量',

9
ruoyi-admin/src/main/resources/templates/warehouse/warehouseOutOrder/refundsExchangesOutWarehouseDetail.html

@ -59,7 +59,8 @@
<script th:inline="javascript"> <script th:inline="javascript">
var outOrderCode = [[${warehouseOutOrder.outOrderCode}]] var outOrderCode = [[${warehouseOutOrder.outOrderCode}]]
var processMethodDatas = [[${@dict.getType('processMethod')}]];
var materialTypeDatas = [[${@category.getChildByCode('materialType')}]];
var prefix = ctx + "warehouse/warehouseOutOrder"; var prefix = ctx + "warehouse/warehouseOutOrder";
$("#form-refundsExchangesOutWarehouse-edit").validate({ $("#form-refundsExchangesOutWarehouse-edit").validate({
focusCleanup: true focusCleanup: true
@ -168,6 +169,9 @@
{ {
title: '物料类型', title: '物料类型',
field: 'materialType', field: 'materialType',
formatter: function(value, row, index) {
return $.table.selectCategoryLabel(materialTypeDatas, value);
}
}, },
{ {
title: '描述', title: '描述',
@ -184,6 +188,9 @@
{ {
title: '加工方式', title: '加工方式',
field: 'materialProcessMethod', field: 'materialProcessMethod',
formatter: function(value, row, index) {
return $.table.selectDictLabel(processMethodDatas, value);
}
}, },
{ {
title: '订单数量', title: '订单数量',

Loading…
Cancel
Save