guoyuji
2024-03-01 7be1cd12e081cad2942c02b4c287d2562274d15f
订单相关程序
11个文件已修改
131 ■■■■■ 已修改文件
north-glass-erp/northglass-erp/src/hook/mouseMove.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderDetail.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/OrderDetail.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/target/classes/mapper/sd/OrderMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/hook/mouseMove.ts
@@ -426,9 +426,9 @@
            })
            return  {
                start:selectionStart.rowIndex,
                end : selectionEnd.rowIndex,
                cell:selectCols[0].field
                start:selectionStart.rowIndex,//开始行
                end : selectionEnd.rowIndex,//结束行
                cell:selectCols[0].field//选中列
            }
            //console.log("鼠标选中列:", JSON.stringify(selectCols))
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -194,6 +194,7 @@
      {'code': 'remarks', 'name': '加工要求'},
      {'code': 'Craft', 'name': '工艺',status: 'primary',disabled: true},
      {'code': 'review', 'name': '审核',status: 'primary',disabled: true},
      {'code': 'updateMoney', 'name': '金额重置',status: 'primary',disabled: true},
      {'code': 'saveOrder', 'name': '保存',status: 'primary',icon: 'vxe-icon-save',disabled: false}
    ],
    slots: {
@@ -229,6 +230,10 @@
      switch (code) {
        case 'remarks':  {
          dialogTableVisible.value=true
          break
        }
        case 'updateMoney': {
          updateMoney()
          break
        }
        case 'Craft': {
@@ -391,6 +396,8 @@
  productVisible.value = false
}
//初始化判断是否有id传入
onMounted(()=>{
  //启用表格拖动选中
@@ -401,12 +408,13 @@
  }
  request.post(`/order/getOrderById/${str}`).then((res) => {
    if(res.code==200){
      console.log(res.data.order)
      titleUploadData.value = res.data.order
      //取消工艺按钮禁用
      gridOptions.toolbarConfig.buttons[1].disabled = false
      //工艺审核后保存按钮禁用
      if(res.data.order.processReview === 2){
        gridOptions.toolbarConfig.buttons[3].disabled = true
        gridOptions.toolbarConfig.buttons[4].disabled = true
      }
      //取消审核按钮禁用
      if(res.data.order.processReview === 2 && res.data.order.orderReview === 0){
@@ -418,6 +426,7 @@
        gridOptions.toolbarConfig.buttons[2].disabled = false
        gridOptions.toolbarConfig.buttons[2].code='reviews'
        gridOptions.toolbarConfig.buttons[2].name='反审'
        gridOptions.toolbarConfig.buttons[3].disabled = false
      }
      if(res.data.order.productionOrder !==0 ){
        gridOptions.toolbarConfig.buttons[2].disabled = true
@@ -462,6 +471,24 @@
    }
  })
}
//更新金额
const updateMoney = () => {
  const updateData = {
    order: titleUploadData.value,
    detail: xGrid.value.getTableData().fullData
  }
  request.post(`/order/updateOrderMoney`,updateData).then(res => {
    if (res.code == 200){
      ElMessage.success('更新金额成功')
      router.push({path:'/main/order/createOrder',query:{orderId:titleUploadData.value.orderId,random:Math.random()}})
    }
  })
}
// 审核订单
const reviewOrder = (state) => {
  request.post(`/order/reviewOrderById/${titleUploadData.value.orderId}/${state}`).then(res =>{
@@ -640,7 +667,7 @@
        <el-col  :span="2"><el-text>计算方式:</el-text></el-col>
        <el-col  :span="2">
          <el-select v-model="titleUploadData.calculateType"  clearable placeholder=" " >
            <el-option value="1" label="面积金额(单片)"/>
            <el-option :value="1" label="面积金额(单片)"/>
          </el-select>
        </el-col>
        <el-col  :span="2"><el-text>*业务员:</el-text></el-col>
north-glass-erp/src/main/java/com/example/erp/controller/sd/OrderController.java
@@ -6,6 +6,8 @@
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.exception.ServiceException;
import com.example.erp.service.sd.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -15,6 +17,7 @@
@RestController
@RequestMapping("/order")
@Api(value="订单controller",tags={"订单操作接口"})
public class OrderController {
    private final OrderService orderService;
@@ -23,6 +26,7 @@
    }
    @ApiOperation("订单保存")
    @PostMapping("/saveOrder")
    public Result saveOrder(@RequestBody Map<String, Object> orderMap) throws Exception {
        if(orderService.saveOrder(orderMap))    {
@@ -31,34 +35,41 @@
            throw new ServiceException(Constants.Code_500,Constants.Code_msg);
        }
    }
    @ApiOperation("订单分页筛选查询")
    @PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}")
    public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Order order)  {
        return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType));
    }
    @ApiOperation("删除订单")
    @PostMapping("/deleteOrder/{id}")
    public Result deleteOrder(@PathVariable String id)  {
        return Result.seccess(orderService.deleteOrder(id));
    }
    @ApiOperation("根据id获取订单信息")
    @PostMapping("/getOrderById/{id}")
    public Result getOrderById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderById(id));
    }
    @ApiOperation("查询订单工艺")
    @PostMapping("/getOrderCraftById/{id}")
    public Result getOrderCraftById(@PathVariable String id)  {
        return  Result.seccess(orderService.getOrderCraftById(id));
    }
    @ApiOperation("审核订单")
    @PostMapping("/reviewOrderById/{id}/{status}")
    public Result reviewOrderById(@PathVariable String id,@PathVariable Integer status)  {
        return  Result.seccess(orderService.reviewOrderById(id,status));
    }
    @ApiOperation("审核工艺")
    @PostMapping("/reviewProcessById/{id}/{status}")
    public Result reviewProcessById(@PathVariable String id,@PathVariable Integer status,@RequestBody List<OrderGlassDetail> orderGlassDetails)  {
        return  Result.seccess(orderService.reviewProcessById(id,status,orderGlassDetails));
    }
    @ApiOperation("更新订单金额单价")
    @PostMapping("/updateOrderMoney")
    public Result updateOrderMoney(@RequestBody Map<String,Object> map)  {
        return  Result.seccess(orderService.updateOrderMoney(map));
    }
}
north-glass-erp/src/main/java/com/example/erp/controller/sd/ProductController.java
@@ -16,8 +16,13 @@
@Api(value="产品controller",tags={"产品操作接口"})
@RequestMapping("/product")
public class ProductController {
    @Autowired
    final
    ProductService productService;
    public ProductController(ProductService productService) {
        this.productService = productService;
    }
    @ApiOperation("产品查询接口")
    @PostMapping  ("/{pageNum}/{pageSize}/{glassType}")
    public Result defaultDateProduct(@PathVariable Integer pageNum, @PathVariable Integer pageSize, @PathVariable List<String> glassType, @RequestBody Product product){
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderDetailMapper.java
@@ -11,4 +11,6 @@
public interface OrderDetailMapper extends BaseMapper<OrderDetail> {
    boolean insertBatch(List<OrderDetail> orderDetails);
    boolean updateOrderMoney( List<OrderDetail> orderDetails);
}
north-glass-erp/src/main/java/com/example/erp/mapper/sd/OrderMapper.java
@@ -22,4 +22,6 @@
    boolean reviewOrderById(String id,Integer status);
    boolean reviewProcessById(String id, Integer status);
    boolean updateMoney(@Param("order") Order order);
}
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -217,4 +217,30 @@
        map.put("orderGlassDetails",orderGlassDetails);
        return map;
    }
    public boolean updateOrderMoney(Map<String, Object> map) {
        JSONObject jsonObject = new JSONObject(map);
        Order order = JSONObject.parseObject(JSONObject.toJSONString(jsonObject.get("order")), Order.class);
        List<OrderDetail> OrderDetails = JSONArray.parseArray(JSONObject.toJSONString(jsonObject.get("detail")), OrderDetail.class);
        double money = 0;
        for (OrderDetail orderDetail : OrderDetails) {
            orderDetail =  updateOrderMoneyComputed(orderDetail,order.getCalculateType());
            money+= orderDetail.getGrossAmount();
        }
        order.setMoney(money);
        orderMapper.updateMoney(order);
        orderDetailMapper.updateOrderMoney(OrderDetails);
        return false;
    }
    private OrderDetail updateOrderMoneyComputed(OrderDetail orderDetail, Integer calculateType) {
        if (calculateType == 3) {
            orderDetail.setGrossAmount(orderDetail.getPrice() * orderDetail.getQuantity());
        } else {
            orderDetail.setGrossAmount(orderDetail.getComputeGrossArea() * orderDetail.getPrice());
        }
        return orderDetail;
    }
}
north-glass-erp/src/main/resources/mapper/sd/OrderDetail.xml
@@ -53,5 +53,19 @@
             )
        </foreach>
    </insert>
    <update id="updateOrderMoney" parameterType="java.util.List">
        <foreach collection="orderDetails"  item="item" index="index" open="" close="" separator=";">
            update order_detail as a
            set
                a.price = #{item.price},
                a.gross_amount = #{item.grossAmount}
            where
                a.order_id = #{item.orderId} and
                a.order_number =  #{item.orderNumber}
        </foreach>
    </update>
</mapper>
north-glass-erp/src/main/resources/mapper/sd/OrderMapper.xml
@@ -169,4 +169,8 @@
        update `order` set process_review = #{status} where order_id = #{id}
    </update>
    <update id="updateMoney">
        update `order` set money = #{order.money} where order_id = #{order.orderId}
    </update>
</mapper>
north-glass-erp/target/classes/mapper/sd/OrderDetail.xml
@@ -53,5 +53,19 @@
             )
        </foreach>
    </insert>
    <update id="updateOrderMoney" parameterType="java.util.List">
        <foreach collection="orderDetails"  item="item" index="index" open="" close="" separator=";">
            update order_detail as a
            set
                a.price = #{item.price},
                a.gross_amount = #{item.grossAmount}
            where
                a.order_id = #{item.orderId} and
                a.order_number =  #{item.orderNumber}
        </foreach>
    </update>
</mapper>
north-glass-erp/target/classes/mapper/sd/OrderMapper.xml
@@ -169,4 +169,8 @@
        update `order` set process_review = #{status} where order_id = #{id}
    </update>
    <update id="updateMoney">
        update `order` set money = #{order.money} where order_id = #{order.orderId}
    </update>
</mapper>