Browse Source

2025-12-11

生产订单列表工艺路线增加批量修改功能,增加三个字段:生产总数、总卷数、每卷总数
master
fengyuan_yang 6 months ago
parent
commit
cd4e97c524
  1. 20
      src/main/java/com/gaotao/modules/oa/dao/SoRoutingMapper.java
  2. 78
      src/main/java/com/gaotao/modules/shopOrder/controller/SoRoutingController.java
  3. 28
      src/main/java/com/gaotao/modules/shopOrder/entity/RouteInShopOrderData.java
  4. 12
      src/main/resources/mapper/oa/SoRoutingMapper.xml
  5. 4
      src/main/resources/mapper/productionInbound/ProductionInboundMapper.xml
  6. 3
      src/main/resources/mapper/shopOrder/ShopOrderMapper.xml

20
src/main/java/com/gaotao/modules/oa/dao/SoRoutingMapper.java

@ -4,6 +4,8 @@ import com.gaotao.modules.base.entity.SORoutingData;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.math.BigDecimal;
/**
* 生产订单工艺路线 Mapper接口
*/
@ -42,4 +44,22 @@ public interface SoRoutingMapper {
SORoutingData findSoRouting(@Param("site") String site,
@Param("orderNo") String orderNo,
@Param("itemNo") Double itemNo);
/**
* 批量更新工艺路线字段生产总数总卷数每卷总数备注
* @param site 站点
* @param orderNo 订单号
* @param itemNo 工序序号
* @param productionQty 生产总数
* @param totalRollQty 总卷数
* @param totalPerVolume 每卷总数
* @param remark 备注
*/
void batchUpdateRoutingFields(@Param("site") String site,
@Param("orderNo") String orderNo,
@Param("itemNo") Double itemNo,
@Param("productionQty") BigDecimal productionQty,
@Param("totalRollQty") BigDecimal totalRollQty,
@Param("totalPerVolume") BigDecimal totalPerVolume,
@Param("remark") String remark);
}

78
src/main/java/com/gaotao/modules/shopOrder/controller/SoRoutingController.java

@ -0,0 +1,78 @@
package com.gaotao.modules.shopOrder.controller;
import com.gaotao.common.constant.SysMsgConstant;
import com.gaotao.common.utils.R;
import com.gaotao.modules.oa.dao.SoRoutingMapper;
import com.gaotao.modules.sys.controller.AbstractController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
/**
* 生产订单工艺路线Controller
*
* @author sxm
* @date 2024-12-11
*/
@RestController
@RequestMapping("shoporder/sorouting")
public class SoRoutingController extends AbstractController {
@Autowired
private SoRoutingMapper soRoutingMapper;
/**
* 批量更新工艺路线生产总数总卷数每卷总数备注
* @param params 工艺路线数据列表
* @return R
*/
@PostMapping("/batchUpdateSORouting")
public R batchUpdateSORouting(@RequestBody List<Map<String, Object>> params) {
try {
for (Map<String, Object> item : params) {
String site = (String) item.get("site");
String orderNo = (String) item.get("orderNo");
Object itemNoObj = item.get("itemNo");
Double itemNo = null;
if (itemNoObj instanceof Number) {
itemNo = ((Number) itemNoObj).doubleValue();
} else if (itemNoObj instanceof String) {
itemNo = Double.parseDouble((String) itemNoObj);
}
Object productionQtyObj = item.get("productionQty");
BigDecimal productionQty = null;
if (productionQtyObj instanceof Number) {
productionQty = new BigDecimal(productionQtyObj.toString());
}
Object totalRollQtyObj = item.get("totalRollQty");
BigDecimal totalRollQty = null;
if (totalRollQtyObj instanceof Number) {
totalRollQty = new BigDecimal(totalRollQtyObj.toString());
}
Object totalPerVolumeObj = item.get("totalPerVolume");
BigDecimal totalPerVolume = null;
if (totalPerVolumeObj instanceof Number) {
totalPerVolume = new BigDecimal(totalPerVolumeObj.toString());
}
String remark = (String) item.get("remark");
soRoutingMapper.batchUpdateRoutingFields(site, orderNo, itemNo,
productionQty, totalRollQty, totalPerVolume, remark);
}
return R.ok(getLanguageMsg(SysMsgConstant.OBJECT_ID_200000));
} catch (Exception e) {
return R.error("批量更新失败:" + e.getMessage());
}
}
}

28
src/main/java/com/gaotao/modules/shopOrder/entity/RouteInShopOrderData.java

@ -3,6 +3,7 @@ package com.gaotao.modules.shopOrder.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.util.Date;
public class RouteInShopOrderData {
@ -17,6 +18,9 @@ public class RouteInShopOrderData {
private Double factorUnit_DB;
private String factorUnit;
private Double qtyRequired;
private BigDecimal productionQty; // 生产总数
private BigDecimal totalRollQty; // 总卷数
private BigDecimal totalPerVolume; // 每卷总数
private Double qtyReported;
private Double qtyApprove;
private Double timeRequired;
@ -273,4 +277,28 @@ public class RouteInShopOrderData {
public void setAvailResource(String availResource) {
this.availResource = availResource;
}
public BigDecimal getProductionQty() {
return productionQty;
}
public void setProductionQty(BigDecimal productionQty) {
this.productionQty = productionQty;
}
public BigDecimal getTotalRollQty() {
return totalRollQty;
}
public void setTotalRollQty(BigDecimal totalRollQty) {
this.totalRollQty = totalRollQty;
}
public BigDecimal getTotalPerVolume() {
return totalPerVolume;
}
public void setTotalPerVolume(BigDecimal totalPerVolume) {
this.totalPerVolume = totalPerVolume;
}
}

12
src/main/resources/mapper/oa/SoRoutingMapper.xml

@ -131,6 +131,18 @@
AND ItemNo = #{itemNo}
</delete>
<!-- 批量更新工艺路线(生产总数、总卷数、每卷总数、备注) -->
<update id="batchUpdateRoutingFields" parameterType="map">
UPDATE SORouting SET
production_qty = #{productionQty, jdbcType=DECIMAL},
total_roll_qty = #{totalRollQty, jdbcType=DECIMAL},
total_per_volume = #{totalPerVolume, jdbcType=DECIMAL},
Remark = #{remark}
WHERE Site = #{site}
AND OrderNo = #{orderNo}
AND ItemNo = #{itemNo, jdbcType=DOUBLE}
</update>
<!-- 查询生产订单工艺路线信息 -->
<select id="findSoRouting" resultType="com.gaotao.modules.base.entity.SORoutingData">
SELECT

4
src/main/resources/mapper/productionInbound/ProductionInboundMapper.xml

@ -173,8 +173,8 @@
FROM ScannedRollTempTable
WHERE site = #{site}
AND bu_no = #{buNo}
AND NotifyNo = #{relatedOrderNo}
AND OrderNo = #{inboundNo}
AND NotifyNo = #{inboundNo}
AND OrderNo = #{relatedOrderNo}
ORDER BY RollNo DESC
</select>

3
src/main/resources/mapper/shopOrder/ShopOrderMapper.xml

@ -575,6 +575,9 @@
, R.FactorUnit_DB
, R.FactorUnit
, R.QtyRequired
, R.production_qty as productionQty
, R.total_roll_qty as totalRollQty
, R.total_per_volume as totalPerVolume
, R.QtyReported
, R.QtyApprove
, R.TimeRequired

Loading…
Cancel
Save