Browse Source

[fix]品质管理

品质单
暂存入库单前端少字段问题
新增根据入库单号修改仓库入库信息后端接口
新增如果点击品质 更改品质单的品质状态
修改品质开始品质的后端接口,加上条件如果 是采购订单,采购入库单品质完成后,数据生成到入库单中,后续进行入库操作后端接口
修改 品质单号的自动生成语句,使用redis自动生成单号
修复本次到货数空指针异常问题
修改开始品质前端列表页面
修改开始品质前端保存接口的方法
修改开始品质后端保存接口的方法
dev
liuxiaoxu 8 months ago
parent
commit
8a3015461f
  1. 6
      ruoyi-admin/src/main/java/com/ruoyi/quality/controller/QualityOrderController.java
  2. 8
      ruoyi-admin/src/main/java/com/ruoyi/quality/mapper/QualityOrderMapper.java
  3. 27
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java
  4. 85
      ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderServiceImpl.java
  5. 9
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java
  6. 5
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java
  7. 42
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java
  8. 8
      ruoyi-admin/src/main/resources/mapper/quality/QualityOrderMapper.xml
  9. 35
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml
  10. 43
      ruoyi-admin/src/main/resources/templates/quality/qualityOrder/startingQuality.html
  11. 4
      ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchase.html

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

@ -139,7 +139,7 @@ public class QualityOrderController extends BaseController
@Log(title = "品质管理品质单", businessType = BusinessType.UPDATE) @Log(title = "品质管理品质单", businessType = BusinessType.UPDATE)
@PostMapping("/startingQuality") @PostMapping("/startingQuality")
@ResponseBody @ResponseBody
public AjaxResult startingQualitySave(QualityOrder qualityOrder) public AjaxResult startingQualitySave(@RequestBody QualityOrder qualityOrder)
{ {
return toAjax(qualityOrderService.updateQualityOrder(qualityOrder)); return toAjax(qualityOrderService.updateQualityOrder(qualityOrder));
} }
@ -187,7 +187,7 @@ public class QualityOrderController extends BaseController
/** /**
* 修改品质报告 * 修改品质报告按钮
*/ */
@GetMapping("/qualityReport") @GetMapping("/qualityReport")
public String qualityReport( @RequestParam("materialNo") String materialNo, public String qualityReport( @RequestParam("materialNo") String materialNo,
@ -199,7 +199,7 @@ public class QualityOrderController extends BaseController
} }
/** /**
* 修改保存品质报告 * 修改保存品质报告按钮
*/ */
@RequiresPermissions("quality:qualityOrder:qualityReport") @RequiresPermissions("quality:qualityOrder:qualityReport")
@Log(title = "品质管理品质单", businessType = BusinessType.UPDATE) @Log(title = "品质管理品质单", businessType = BusinessType.UPDATE)

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

@ -74,4 +74,12 @@ public interface QualityOrderMapper
* @return 结果 * @return 结果
*/ */
public int restoreQualityOrderById(Long qualityOrderId); public int restoreQualityOrderById(Long qualityOrderId);
/**
* 根据品质单号查询品质管理品质单
*
* @param qualityOrderCode 品质管理品质单号
* @return 品质管理品质单
*/
public QualityOrder selectQualityOrderByCode(String qualityOrderCode);
} }

27
ruoyi-admin/src/main/java/com/ruoyi/quality/service/impl/QualityOrderReportServiceImpl.java

@ -5,6 +5,7 @@ import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.BusinessException; import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils; import com.ruoyi.common.utils.ShiroUtils;
@ -42,6 +43,9 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService
@Autowired @Autowired
private QualityRefundsExchangesOrderMapper refundsExchangesOrderMapper; private QualityRefundsExchangesOrderMapper refundsExchangesOrderMapper;
@Autowired
private RedisCache redisCache;
/** /**
* 查询品质管理品质单报告 * 查询品质管理品质单报告
* *
@ -126,22 +130,23 @@ public class QualityOrderReportServiceImpl implements IQualityOrderReportService
if (qualityOrderDetail.getQualityOrderType().equals("0") || qualityOrderDetail.getQualityOrderType().equals("2")){ if (qualityOrderDetail.getQualityOrderType().equals("0") || qualityOrderDetail.getQualityOrderType().equals("2")){
/*有品质不合格,需要在退换货入库前退货进行记录*/ /*有品质不合格,需要在退换货入库前退货进行记录*/
//更改日期格式,以提高可读性 //更改日期格式,以提高可读性
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); // SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String dataPart = df.format(new Date()); // String dataPart = df.format(new Date());
//
//移除日期中的分隔符以便于后续处理 // //移除日期中的分隔符以便于后续处理
String prefix = "ZCGX"+dataPart.replace("-",""); // String prefix = "ZCGX"+dataPart.replace("-","");
//
//查询数据库中退换货单号最大的编号 // //查询数据库中退换货单号最大的编号
String maxCode = refundsExchangesOrderMapper.findMaxRoundCode(prefix); // String maxCode = refundsExchangesOrderMapper.findMaxRoundCode(prefix);
String newCode = generateNewCode(prefix,maxCode); // String newCode = generateNewCode(prefix,maxCode);
String refundsExchangesCode = redisCache.generateBillNo("ZCGX");
QualityRefundsExchanges qualityRefundsExchanges = new QualityRefundsExchanges(); QualityRefundsExchanges qualityRefundsExchanges = new QualityRefundsExchanges();
qualityRefundsExchanges.setRefundsExchangesCode(newCode); qualityRefundsExchanges.setRefundsExchangesCode(refundsExchangesCode);
qualityRefundsExchanges.setRefundsExchangesStatus("0"); qualityRefundsExchanges.setRefundsExchangesStatus("0");
for (QualityOrderReportUnqualified tempQualityOrderReportUnqualified : unqualifiedDataList) { for (QualityOrderReportUnqualified tempQualityOrderReportUnqualified : unqualifiedDataList) {
QualityRefundsExchangesOrder qualityRefundsExchangesOrder = new QualityRefundsExchangesOrder(); QualityRefundsExchangesOrder qualityRefundsExchangesOrder = new QualityRefundsExchangesOrder();
qualityRefundsExchangesOrder.setRefundsExchangesCode(newCode); qualityRefundsExchangesOrder.setRefundsExchangesCode(refundsExchangesCode);
qualityRefundsExchangesOrder.setOkReportUrl(qualityOrderReport.getOkReportUrl()); qualityRefundsExchangesOrder.setOkReportUrl(qualityOrderReport.getOkReportUrl());
qualityRefundsExchangesOrder.setOkAcceptedNum(qualityOrderReport.getOkAcceptedNum()); qualityRefundsExchangesOrder.setOkAcceptedNum(qualityOrderReport.getOkAcceptedNum());
qualityRefundsExchangesOrder.setSpecialReportUrl(qualityOrderReport.getSpecialReportUrl()); qualityRefundsExchangesOrder.setSpecialReportUrl(qualityOrderReport.getSpecialReportUrl());

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

@ -15,12 +15,15 @@ import com.ruoyi.quality.mapper.QualityOrderReportMapper;
import com.ruoyi.quality.mapper.QualityOrderReportUnqualifiedMapper; import com.ruoyi.quality.mapper.QualityOrderReportUnqualifiedMapper;
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.service.IWarehouseStorageOrderService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.quality.mapper.QualityOrderMapper; import com.ruoyi.quality.mapper.QualityOrderMapper;
import com.ruoyi.quality.domain.QualityOrder; import com.ruoyi.quality.domain.QualityOrder;
import com.ruoyi.quality.service.IQualityOrderService; import com.ruoyi.quality.service.IQualityOrderService;
import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.core.text.Convert;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 品质管理品质单Service业务层处理 * 品质管理品质单Service业务层处理
@ -29,6 +32,7 @@ import com.ruoyi.common.core.text.Convert;
* @date 2024-05-20 * @date 2024-05-20
*/ */
@Service @Service
@Slf4j
public class QualityOrderServiceImpl implements IQualityOrderService public class QualityOrderServiceImpl implements IQualityOrderService
{ {
@Autowired @Autowired
@ -44,6 +48,9 @@ public class QualityOrderServiceImpl implements IQualityOrderService
@Autowired @Autowired
private QualityOrderReportUnqualifiedMapper orderReportUnqualifiedMapper; private QualityOrderReportUnqualifiedMapper orderReportUnqualifiedMapper;
@Autowired
private IWarehouseStorageOrderService warehouseStorageOrderService;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
@ -92,13 +99,30 @@ public class QualityOrderServiceImpl implements IQualityOrderService
* @param qualityOrder 品质管理品质单 * @param qualityOrder 品质管理品质单
* @return 结果 * @return 结果
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public int updateQualityOrder(QualityOrder qualityOrder) public int updateQualityOrder(QualityOrder qualityOrder)
{ {
String loginName = ShiroUtils.getLoginName(); String loginName = ShiroUtils.getLoginName();
qualityOrder.setUpdateBy(loginName); qualityOrder.setUpdateBy(loginName);
qualityOrder.setUpdateTime(DateUtils.getNowDate()); qualityOrder.setUpdateTime(DateUtils.getNowDate());
return qualityOrderMapper.updateQualityOrder(qualityOrder);
List<QualityOrderDetail> qualityOrderDetailList = qualityOrder.getQualityOrderDetailList();
//根据品质单号从数据库查询
QualityOrder tempQualityOrder = qualityOrderMapper.selectQualityOrderByCode(qualityOrder.getQualityOrderCode());
String qualityStatus = tempQualityOrder.getQualityStatus();
String qualityStorageStatus = tempQualityOrder.getQualityStorageStatus();
//采购订单,采购入库单品质完成后,数据生成到入库单中,后续进行入库操作
if ("0".equals(qualityStatus) && "0".equals(qualityStorageStatus) ){
warehouseStorageOrderService.updateWarehouseStorageOrderByQualityOrder(qualityOrder,qualityOrderDetailList);
}
//目前假设全部品质
qualityOrder.setQualityStatus("2");
int updateResult = qualityOrderMapper.updateQualityOrder(qualityOrder);
if (updateResult <= 0){
log.warn("更新品质单失败,未影响任何行");
}
return updateResult;
} }
/** /**
@ -203,7 +227,7 @@ public class QualityOrderServiceImpl implements IQualityOrderService
private void insertQualityOrderReportByWarehouseStorageOrder(WarehouseStorageOrderDetail warehouseStorageOrderDetail) { private void insertQualityOrderReportByWarehouseStorageOrder(WarehouseStorageOrderDetail warehouseStorageOrderDetail) {
QualityOrderReport qualityOrderReport = new QualityOrderReport(); QualityOrderReport qualityOrderReport = new QualityOrderReport();
//插入品质单报告开始品质单 //插入品质单报告开始品质单
qualityOrderReport.setSupplierCode(qualityOrderReport.getSupplierCode()); qualityOrderReport.setSupplierCode(warehouseStorageOrderDetail.getSupplierCode());
qualityOrderReport.setSupplierName(warehouseStorageOrderDetail.getSupplierName()); qualityOrderReport.setSupplierName(warehouseStorageOrderDetail.getSupplierName());
qualityOrderReport.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo()); qualityOrderReport.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo());
qualityOrderReport.setMaterialName(warehouseStorageOrderDetail.getMaterialName()); qualityOrderReport.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
@ -246,61 +270,4 @@ public class QualityOrderServiceImpl implements IQualityOrderService
} }
// /*
// * 根据仓库入库单采购入库 生成品质单
// * */
// private void insertQualityOrderByWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder, List<WarehouseStorageOrderDetail> storageOrderDetailList) {
//
//
//
//
// //插入数据到品质报告详情和 品质报告
// for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : storageOrderDetailList) {
// QualityOrderDetail qualityOrderDetail = new QualityOrderDetail();
// QualityOrderReport qualityOrderReport = new QualityOrderReport();
// QualityOrderReportUnqualified qualityOrderReportUnqualified = new QualityOrderReportUnqualified();
// qualityOrderDetail.setQualityOrderCode(qualityOrderCode);
// qualityOrderDetail.setInStorageCode(warehouseStorageOrder.getWarehouseStorageCode());
// qualityOrderDetail.setRelatedOrderCode(warehouseStorageOrder.getRelatedOrderCode());
// qualityOrderDetail.setQualityStatus("0");
// qualityOrderDetail.setQualityOrderType("0");
// qualityOrderDetail.setQualityStorageStatus("0");
// qualityOrderDetail.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo());
// qualityOrderDetail.setMaterialBrand(warehouseStorageOrderDetail.getMaterialBrand());
// qualityOrderDetail.setMaterialDescribe(warehouseStorageOrderDetail.getMaterialDescribe());
// qualityOrderDetail.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
// qualityOrderDetail.setMaterialProcessMethod(warehouseStorageOrderDetail.getMaterialProcessMethod());
// qualityOrderDetail.setMaterialPhotourl(warehouseStorageOrderDetail.getMaterialPhotourl());
// qualityOrderDetail.setMaterialUnit(warehouseStorageOrderDetail.getMaterialUnit());
// qualityOrderDetail.setMaterialType(warehouseStorageOrderDetail.getMaterialType());
// qualityOrderDetail.setMakeTotal(warehouseStorageOrderDetail.getMakeTotal());
// qualityOrderDetail.setSupplierCode(warehouseStorageOrderDetail.getSupplierCode());
// qualityOrderDetail.setSupplierName(warehouseStorageOrderDetail.getSupplierName());
// qualityOrderDetail.setSupplierAddress(warehouseStorageOrderDetail.getSupplierAddress());
// qualityOrderDetail.setCustomerContact(warehouseStorageOrderDetail.getCustomerContact());
// qualityOrderDetail.setContactNumber(warehouseStorageOrderDetail.getContactNumber());
// qualityOrderDetail.setQualityHasqualifiedNum(warehouseStorageOrderDetail.getQualityHasQualifiedNum());
// qualityOrderDetail.setCreateTime(new Date());
// qualityOrderDetail.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
// orderDetailMapper.insertQualityOrderDetail(qualityOrderDetail);
// //插入品质单报告开始品质单
// qualityOrderReport.setSupplierCode(warehouseStorageOrderDetail.getSupplierCode());
// qualityOrderReport.setSupplierName(warehouseStorageOrderDetail.getSupplierName());
// qualityOrderReport.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo());
// qualityOrderReport.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
// qualityOrderReport.setQualityHasqualifiedNum(warehouseStorageOrderDetail.getQualityHasQualifiedNum());
// qualityOrderDetail.setCreateTime(new Date());
// qualityOrderDetail.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
// orderReportMapper.insertQualityOrderReport(qualityOrderReport);
// //插入品质报告不合格数
// qualityOrderReportUnqualified.setSupplierCode(warehouseStorageOrderDetail.getSupplierCode());
// qualityOrderReportUnqualified.setSupplierName(warehouseStorageOrderDetail.getSupplierName());
// qualityOrderReportUnqualified.setMaterialNo(warehouseStorageOrderDetail.getMaterialNo());
// qualityOrderReportUnqualified.setMaterialName(warehouseStorageOrderDetail.getMaterialName());
// qualityOrderReportUnqualified.setCreateTime(new Date());
// qualityOrderReportUnqualified.setCreateBy(warehouseStorageOrderDetail.getCreateBy());
// orderReportUnqualifiedMapper.insertQualityOrderReportUnqualified(qualityOrderReportUnqualified);
// }
// }
} }

9
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java

@ -54,6 +54,15 @@ public interface WarehouseStorageOrderMapper
*/ */
public int updateWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder); public int updateWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder);
/**
* 根据入库单号修改仓库入库单
*
* @param warehouseStorageOrder 仓库入库单
* @return 结果
*/
public int updateWarehouseStorageOrderByCode(WarehouseStorageOrder warehouseStorageOrder);
/** /**
* 删除仓库入库单 * 删除仓库入库单
* *

5
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/IWarehouseStorageOrderService.java

@ -1,6 +1,9 @@
package com.ruoyi.warehouse.service; package com.ruoyi.warehouse.service;
import java.util.List; import java.util.List;
import com.ruoyi.quality.domain.QualityOrder;
import com.ruoyi.quality.domain.QualityOrderDetail;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder; import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
/** /**
@ -83,4 +86,6 @@ public interface IWarehouseStorageOrderService
* 修改保存暂收-采购单(采购入库) * 修改保存暂收-采购单(采购入库)
*/ */
int temporaryPurchaseWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder); int temporaryPurchaseWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder);
int updateWarehouseStorageOrderByQualityOrder(QualityOrder qualityOrder, List<QualityOrderDetail> qualityOrderDetailList);
} }

42
ruoyi-admin/src/main/java/com/ruoyi/warehouse/service/impl/WarehouseStorageOrderServiceImpl.java

@ -33,13 +33,13 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
/** /**
* 仓库入库单Service业务层处理 * 仓库入库单Service业务层处理
* *
* @author 刘晓旭 * @author 刘晓旭
* @date 2024-05-22 * @date 2024-05-22
*/ */
@Service @Service
@Slf4j @Slf4j
public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderService public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderService
{ {
@Autowired @Autowired
private WarehouseStorageOrderMapper warehouseStorageOrderMapper; private WarehouseStorageOrderMapper warehouseStorageOrderMapper;
@ -55,7 +55,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
/** /**
* 查询仓库入库单 * 查询仓库入库单
* *
* @param warehouseStorageId 仓库入库单ID * @param warehouseStorageId 仓库入库单ID
* @return 仓库入库单 * @return 仓库入库单
*/ */
@ -67,7 +67,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
/** /**
* 查询仓库入库单列表 * 查询仓库入库单列表
* *
* @param warehouseStorageOrder 仓库入库单 * @param warehouseStorageOrder 仓库入库单
* @return 仓库入库单 * @return 仓库入库单
*/ */
@ -79,7 +79,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
/** /**
* 新增仓库入库单 * 新增仓库入库单
* *
* @param warehouseStorageOrder 仓库入库单 * @param warehouseStorageOrder 仓库入库单
* @return 结果 * @return 结果
*/ */
@ -163,6 +163,34 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
return updateResult; return updateResult;
} }
/**
* 采购订单,采购入库单品质完成后,数据生成到入库单中,后续进行入库操作
* */
@Override
public int updateWarehouseStorageOrderByQualityOrder(QualityOrder qualityOrder, List<QualityOrderDetail> qualityOrderDetailList) {
WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder();
warehouseStorageOrder.setWarehouseStorageCode(qualityOrder.getInStorageCode());
warehouseStorageOrder.setWarehouseStorageStatus("2");
//目前假设全部品质
warehouseStorageOrder.setWarehouseQualityStatus("2");
for (QualityOrderDetail qualityOrderDetail : qualityOrderDetailList) {
WarehouseStorageOrderDetail storageOrderDetail = new WarehouseStorageOrderDetail();
storageOrderDetail.setWarehouseStorageCode(qualityOrder.getInStorageCode());
storageOrderDetail.setQualityQualifiedNum(qualityOrderDetail.getQualityQualifiedNum());
}
int updateResult = warehouseStorageOrderMapper.updateWarehouseStorageOrderByCode(warehouseStorageOrder);
if (updateResult <= 0){
log.warn("更新仓库入库单失败,未影响任何行");
}
return updateResult;
}
/* /*
* 更新仓库入库单详情的数据 * 更新仓库入库单详情的数据
* */ * */
@ -257,7 +285,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
/** /**
* 删除仓库入库单对象 * 删除仓库入库单对象
* *
* @param ids 需要删除的数据ID * @param ids 需要删除的数据ID
* @return 结果 * @return 结果
*/ */
@ -269,7 +297,7 @@ public class WarehouseStorageOrderServiceImpl implements IWarehouseStorageOrderS
/** /**
* 删除仓库入库单信息 * 删除仓库入库单信息
* *
* @param warehouseStorageId 仓库入库单ID * @param warehouseStorageId 仓库入库单ID
* @return 结果 * @return 结果
*/ */

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

@ -48,7 +48,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectQualityOrderVo"/> <include refid="selectQualityOrderVo"/>
where quality_order_id = #{qualityOrderId} where quality_order_id = #{qualityOrderId}
</select> </select>
<select id="selectQualityOrderByCode" parameterType="String" resultMap="QualityOrderResult">
<include refid="selectQualityOrderVo"/>
where quality_order_code = #{qualityOrderCode}
</select>
<insert id="insertQualityOrder" parameterType="QualityOrder" useGeneratedKeys="true" keyProperty="qualityOrderId"> <insert id="insertQualityOrder" parameterType="QualityOrder" useGeneratedKeys="true" keyProperty="qualityOrderId">
insert into quality_order insert into quality_order
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">

35
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml

@ -171,6 +171,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where warehouse_storage_id = #{warehouseStorageId} where warehouse_storage_id = #{warehouseStorageId}
</update> </update>
<update id="updateWarehouseStorageOrderByCode" parameterType="WarehouseStorageOrder">
update warehouse_storage_order
<trim prefix="SET" suffixOverrides=",">
<if test="warehouseStorageCode != null">warehouse_storage_code = #{warehouseStorageCode},</if>
<if test="relatedOrderCode != null">related_order_code = #{relatedOrderCode},</if>
<if test="warehouseStorageStatus != null">warehouse_storage_status = #{warehouseStorageStatus},</if>
<if test="warehouseQualityStatus != null">warehouse_quality_status = #{warehouseQualityStatus},</if>
<if test="warehouseStorageType != null">warehouse_storage_type = #{warehouseStorageType},</if>
<if test="warehouseOrderType != null">warehouse_order_type = #{warehouseOrderType},</if>
<if test="warehouseDeptType != null">warehouse_dept_type = #{warehouseDeptType},</if>
<if test="notifyArrivedNum != null">notify_arrived_num = #{notifyArrivedNum},</if>
<if test="actualArrivedNum != null">actual_arrived_num = #{actualArrivedNum},</if>
<if test="temporaryQualifiedNum != null">temporary_qualified_num = #{temporaryQualifiedNum},</if>
<if test="temporaryUnqualifiedNum != null">temporary_unqualified_num = #{temporaryUnqualifiedNum},</if>
<if test="qualityQualifiedNum != null">quality_qualified_num = #{qualityQualifiedNum},</if>
<if test="qualityUnqualifiedNum != null">quality_unqualified_num = #{qualityUnqualifiedNum},</if>
<if test="storageNum != null">storage_num = #{storageNum},</if>
<if test="arrivedTime != null">arrived_time = #{arrivedTime},</if>
<if test="temporaryTime != null">temporary_time = #{temporaryTime},</if>
<if test="deliveryInspectionTime != null">delivery_inspection_time = #{deliveryInspectionTime},</if>
<if test="qualityTime != null">quality_time = #{qualityTime},</if>
<if test="storageTime != null">storage_time = #{storageTime},</if>
<if test="warehouseEmployee != null">warehouse_employee = #{warehouseEmployee},</if>
<if test="warehouseCode != null">warehouse_code = #{warehouseCode},</if>
<if test="warehouseName != null">warehouse_name = #{warehouseName},</if>
<if test="warehouseDetailAddress != null">warehouse_detail_address = #{warehouseDetailAddress},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where warehouse_storage_code = #{warehouseStorageCode}
</update>
<delete id="deleteWarehouseStorageOrderById" parameterType="Long"> <delete id="deleteWarehouseStorageOrderById" parameterType="Long">
delete from warehouse_storage_order where warehouse_storage_id = #{warehouseStorageId} delete from warehouse_storage_order where warehouse_storage_id = #{warehouseStorageId}
</delete> </delete>

43
ruoyi-admin/src/main/resources/templates/quality/qualityOrder/startingQuality.html

@ -101,9 +101,44 @@
focusCleanup: true focusCleanup: true
}); });
//生成的不同table的id集合
var tableDatas = [];
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
$.operate.save(prefix + "/startingQuality", $('#form-qualityOrder-edit').serialize());
const qualityOrderData = $("#form-qualityOrder-edit").serializeArray().reduce((obj, item) => {
obj[item.name] = item.value;
return obj;
}, {});
// 初始化一个数组用于存放所有表格的数据
let allMaterialDataList = [];
for(let i in tableDatas){
$('#' + tableDatas[i]).each(function() {
const tableData = $(this).bootstrapTable('getData');
console.log(JSON.stringify(tableData));
// 将表数据转换成与qualityReportData格式一致的数组
var materialDataList = tableData.map(function (item) {
// 根据实际字段名调整
return {
"qualityHasqualifiedNum": item.qualityHasqualifiedNum,
"thisArrivedNum": item.thisArrivedNum,
"qualityQualifiedNum": item.qualityQualifiedNum,
"qualityUnqualifiedNum": item.qualityUnqualifiedNum
// ...其他字段
};
});
allMaterialDataList = allMaterialDataList.concat(materialDataList);
});
}
const combinedData = Object.assign({}, qualityOrderData, {
qualityOrderDetailList: allMaterialDataList
});
// 使用 JSON.stringify() 序列化数据
const jsonData = JSON.stringify(combinedData);
$.operate.saveJson(prefix + "/startingQuality", jsonData);
} }
} }
@ -224,12 +259,6 @@
$('#tablesContainer').append($tableWrapper); $('#tablesContainer').append($tableWrapper);
} }
/*品质报告*/
// function qualityReport(materialNo, supplierCode){
// var url = ctx + 'quality/qualityOrder/qualityReport/' + materialNo + '?supplierCode=' + encodeURIComponent(supplierCode);
// $.modal.open("品质报告", url);
// }
function qualityReport(materialNo, supplierCode) { function qualityReport(materialNo, supplierCode) {
var queryParams = new URLSearchParams(); var queryParams = new URLSearchParams();
queryParams.append('materialNo', materialNo); queryParams.append('materialNo', materialNo);

4
ruoyi-admin/src/main/resources/templates/warehouse/storageOrder/temporaryPurchase.html

@ -115,6 +115,10 @@
// 根据实际字段名调整 // 根据实际字段名调整
return { return {
"supplierCode": item.supplierCode, "supplierCode": item.supplierCode,
"supplierName":item.supplierName,
"customerContact":item.customerContact,
"contactNumber":item.contactNumber,
"supplierAddress":item.supplierAddress,
"materialNo": item.materialNo, "materialNo": item.materialNo,
"materialName": item.materialName, "materialName": item.materialName,
"materialType": item.materialType, "materialType": item.materialType,

Loading…
Cancel
Save